/* SW Mediaproducties V51 — visual clarity layer
   Loaded after the existing public styles. No business logic lives here. */
:root{
  --v51-surface:#0d0d14;
  --v51-surface-2:#12121b;
  --v51-surface-3:#171721;
  --v51-border:rgba(255,255,255,.10);
  --v51-border-strong:rgba(193,164,255,.28);
  --v51-shadow:0 24px 70px rgba(0,0,0,.34);
  --v51-radius:22px;
  --v51-radius-sm:14px;
  --v51-copy:70ch;
}

/* Global rhythm and readability */
body{background:
  radial-gradient(circle at 12% 8%,rgba(142,92,255,.055),transparent 28%),
  radial-gradient(circle at 88% 18%,rgba(255,107,53,.035),transparent 26%),
  var(--bg)}
main{isolation:isolate}
.section{padding-block:clamp(72px,8vw,122px)}
.section + .section{border-top:1px solid rgba(255,255,255,.035)}
.eyebrow,.section-code{letter-spacing:.13em}
p{max-width:var(--v51-copy)}
.v25-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:28px;margin-bottom:clamp(30px,4vw,54px)}
.v25-section-head>div{min-width:0}.v25-section-head h2{max-width:14ch;line-height:.98}.v25-section-head>p,.v25-section-head>div>p:last-child{color:var(--muted);line-height:1.72}

/* Header: clearer hierarchy, less visual noise */
.site-header{border-bottom-color:rgba(255,255,255,.075)}
.site-header.scrolled{box-shadow:0 16px 45px rgba(0,0,0,.22)}
.main-nav{gap:6px}.main-nav>a,.nav-dropdown>a{padding:10px 12px;border-radius:10px}.main-nav>a:hover,.nav-dropdown>a:hover{background:rgba(255,255,255,.045)}
.header-cta{box-shadow:0 10px 28px rgba(142,92,255,.18)}
.availability{padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025)}

/* Page heroes: compact, consistent and easier to scan */
.page-hero-v25,.portfolio-hero-v25,.about-hero-v25,.local-hero-v25,.simple-contact-hero,.legal-hero-v8{
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-hero-v25 .shell,.portfolio-hero-v25 .shell,.about-hero-v25 .shell,.local-hero-v25 .shell{
  position:relative;z-index:2;
}
.page-hero-v25 h1,.portfolio-hero-v25 h1,.about-hero-v25 h1,.local-hero-v25 h1,.simple-contact-hero h1,.legal-hero-v8 h1{
  max-width:12ch;
  text-wrap:balance;
}
.page-hero-v25 p,.portfolio-hero-v25 p,.about-hero-v25 p,.local-hero-v25 p,.simple-contact-hero p,.legal-hero-v8 p{max-width:62ch;color:var(--muted)}

/* Universal content cards */
.audience-card,.quality-grid>article,.needs-grid-v25>article,.delivery-grid-v25>article,.sample-card,.t112-feature,
.local-focus-v252>article,.legal-block,.image-rate-card-v251,.contact-route-tabs>a,.contact-direct-v256,
.media-partnership-v256,.urgent-panel-v25,.service-detail-v25,.final-card{
  border-radius:var(--v51-radius);
  border-color:var(--v51-border);
  box-shadow:0 0 0 1px rgba(255,255,255,.01);
}
.quality-grid>article,.needs-grid-v25>article,.delivery-grid-v25>article,.sample-card,.t112-feature,.local-focus-v252>article,
.image-rate-card-v251,.service-detail-v25{
  background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.audience-card,.sample-card,.service-detail-v25,.image-rate-card-v251{overflow:hidden}
.audience-card:hover,.sample-card:hover,.image-rate-card-v251:hover,.service-detail-v25:hover{
  border-color:var(--v51-border-strong);
  transform:translateY(-2px);
  box-shadow:var(--v51-shadow);
}

/* Lists become visual rows instead of walls of text */
.service-list-v25{display:grid;gap:10px}
.service-row-v25{border:1px solid var(--v51-border)!important;border-radius:16px!important;padding:20px 22px!important;background:rgba(255,255,255,.018);transition:.2s ease}
.service-row-v25:hover{background:rgba(142,92,255,.07);border-color:rgba(193,164,255,.26)!important;transform:translateX(3px)}
.service-row-v25 h3{font-size:clamp(1.2rem,2vw,1.7rem)}
.service-row-v25 p{color:var(--muted);margin:0}

/* Homepage */
.hero-v25-copy{max-width:900px}.hero-v25-copy>p:not(.kicker){max-width:58ch;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75}
.urgent-quick-actions{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 12px;background:rgba(6,6,10,.62);backdrop-filter:blur(14px)}
.audience-grid{gap:18px}.audience-card>div{padding:clamp(24px,3vw,38px)}.audience-card ul{display:grid;gap:8px;padding-left:1.1rem}
.quality-grid{gap:14px}.quality-grid>article{padding:26px}.quality-grid>article span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(142,92,255,.10);color:var(--purple2);font-weight:850}
.home-portfolio-grid-v25,.sample-grid{gap:14px}
.coverage-v25-grid{gap:22px}.coverage-tags{gap:8px}.coverage-tags span{border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.028);border:1px solid var(--v51-border)}
.about-v25-grid{gap:clamp(28px,5vw,70px)}

/* Portfolio */
.portfolio-toolbar-v25{position:sticky;top:calc(var(--header) - 1px);z-index:30;background:rgba(7,7,11,.88);backdrop-filter:blur(18px);border-block:1px solid rgba(255,255,255,.07)}
.filter-bar{gap:8px;overflow:auto;scrollbar-width:none;padding-block:10px}.filter-bar::-webkit-scrollbar{display:none}
.filter-btn{white-space:nowrap;border:1px solid var(--v51-border);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.02)}
.filter-btn.active{background:var(--purple);border-color:var(--purple);color:#fff}
.portfolio-large-grid-v25{gap:14px}.portfolio-large-item-v25{border-radius:18px;overflow:hidden;border:1px solid var(--v51-border)}

/* Contact + forms */
.contact-layout-v25,.simple-contact-grid{gap:clamp(28px,5vw,72px)}
.simple-form-card,.contact-aside-v25{border-radius:var(--v51-radius)!important;box-shadow:var(--v51-shadow)}
.simple-form-card form,.pv48-form{gap:18px!important}
.simple-form-card label,.pv48-form label{font-size:.78rem;letter-spacing:.01em}
.simple-form-card input,.simple-form-card select,.simple-form-card textarea,
.pv48-form input,.pv48-form select,.pv48-form textarea{
  min-height:50px;border-radius:12px!important;border-color:rgba(255,255,255,.14)!important;background:#090910!important;
}
.simple-form-card textarea,.pv48-form textarea{min-height:150px}
.simple-form-card input:focus,.simple-form-card select:focus,.simple-form-card textarea:focus,
.pv48-form input:focus,.pv48-form select:focus,.pv48-form textarea:focus{outline:none;border-color:var(--purple2)!important;box-shadow:0 0 0 3px rgba(142,92,255,.13)}
.form-note{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--v51-border)}

/* Legal pages: make long documents readable */
.legal-layout{align-items:start;gap:clamp(28px,5vw,70px)}
.legal-toc{position:sticky;top:calc(var(--header) + 24px);max-height:calc(100vh - var(--header) - 48px);overflow:auto;border:1px solid var(--v51-border);border-radius:18px;padding:18px;background:rgba(15,15,22,.86);backdrop-filter:blur(16px)}
.legal-toc a{display:block;padding:9px 10px;border-radius:9px;color:var(--muted)}.legal-toc a:hover{background:rgba(142,92,255,.08);color:#fff}
.legal-copy{max-width:920px}.legal-block{padding:clamp(22px,3vw,34px);margin-bottom:14px;background:rgba(255,255,255,.018)}
.legal-block h2,.legal-block h3{text-wrap:balance}.legal-block p,.legal-block li{line-height:1.75}
.legal-table-wrap{border-radius:14px;overflow:auto;border:1px solid var(--v51-border)}

/* Work area / about */
.workmap-grid-v25,.story-grid-v25,.about-v25-grid{align-items:start}
.workarea-summary-v255,.about-facts{border:1px solid var(--v51-border);border-radius:18px;padding:22px;background:rgba(255,255,255,.02)}

/* Platform pages: align V50 with the main SW visual language */
body.platform-public{--pgold:var(--purple2);--pbg:var(--bg);--ppanel:var(--v51-surface);--pline:var(--v51-border);--ptext:var(--ink);--pmuted:var(--muted);background:var(--bg)}
.platform-public .site-header{background:rgba(7,7,11,.92)}
.pv48-hero{padding:clamp(62px,8vw,100px) 0 40px;background:radial-gradient(circle at 85% 0,rgba(142,92,255,.12),transparent 38%)}
.pv48-hero h1{font-size:clamp(3.6rem,8vw,7rem);max-width:10ch;text-wrap:balance}
.pv48-hero p{font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.75}
.pv50-search-panel{border-radius:18px!important;background:rgba(13,13,20,.92)!important;box-shadow:0 22px 65px rgba(0,0,0,.26)}
.pv50-filter-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.pv50-filter-grid label{min-width:0}
.pv48-grid,.pv50-media-grid{gap:16px!important}.pv48-card{border-radius:18px!important;min-height:320px}.pv48-card .copy{padding-right:12px}.pv48-card strong{font-size:clamp(1.1rem,2vw,1.45rem)}
.pv48-detail{gap:26px!important}.pv48-panel{border-radius:20px!important;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.016))!important}.pv48-meta div{align-items:start}.pv48-meta strong{text-align:right}
.pv50-rights-note{border-radius:12px!important}.pv50-site-results a,.pv50-api-usecases article{transition:.2s ease}.pv50-site-results a:hover,.pv50-api-usecases article:hover{transform:translateY(-2px);border-color:rgba(193,164,255,.28)}
.pv50-pagination a{transition:.15s ease}.pv50-pagination a:hover{border-color:var(--purple2);color:#fff}.pv50-pagination a.active{background:var(--purple);color:#fff}
.pv50-delivery>.pv48-panel{box-shadow:var(--v51-shadow)}
.sw-v50-availability{background:linear-gradient(90deg,rgba(142,92,255,.07),rgba(255,255,255,.012))!important}

/* Footer */
.site-footer{background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(0,0,0,.16));border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{gap:clamp(28px,5vw,70px)}.footer-links{gap:8px}.footer-links strong{margin-bottom:8px}.footer-links a{color:#b9b3c2}.footer-links a:hover{color:#fff}

/* Accessibility */
:focus-visible{outline:2px solid var(--purple2);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.audience-card:hover,.sample-card:hover,.image-rate-card-v251:hover,.service-detail-v25:hover,.service-row-v25:hover,.pv50-site-results a:hover,.pv50-api-usecases article:hover{transform:none}}

@media(max-width:1180px){
  .v25-section-head{grid-template-columns:1fr}
  .pv50-filter-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:920px){
  .section{padding-block:72px}
  .portfolio-toolbar-v25{top:var(--header)}
  .legal-layout{grid-template-columns:1fr!important}.legal-toc{position:relative;top:auto;max-height:none}
  .pv50-filter-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:680px){
  :root{--v51-radius:16px}
  .section{padding-block:58px}
  .v25-section-head{margin-bottom:28px}
  .service-row-v25{display:grid!important;grid-template-columns:40px 1fr auto!important;gap:8px 10px!important;padding:17px!important}.service-row-v25 p{grid-column:2/-1}
  .quality-grid>article,.needs-grid-v25>article,.delivery-grid-v25>article{padding:20px}
  .pv50-filter-grid{grid-template-columns:1fr!important}
  .pv48-detail{padding-top:34px!important}.pv48-panel{padding:20px!important}
  .legal-block{padding:20px 16px}
}

/* V52.3 — public consistency pass
   Home now follows the same visual grammar as the other V25/V51 pages. */
.home-main-v53{padding-top:var(--header)}
.page-home .sw-v50-availability{position:relative;z-index:4;border-block:1px solid rgba(255,255,255,.075);background:linear-gradient(90deg,rgba(142,92,255,.075),rgba(255,255,255,.012))!important}
.page-home .sw-v50-availability .shell{display:flex;align-items:center;gap:10px;min-height:46px;font-size:13px}
.page-home .sw-v50-availability span:not(.sw-v50-status-dot){color:#aaa5b1}
.page-home .sw-v50-availability a{margin-left:auto;color:#d6c0ff;font-weight:850}
.page-home .sw-v50-status-dot{width:8px;height:8px;border-radius:50%;background:#5bd67f;box-shadow:0 0 0 5px rgba(91,214,127,.09);flex:0 0 auto}
.page-home .sw-v50-limited .sw-v50-status-dot{background:#e3b858}.page-home .sw-v50-unavailable .sw-v50-status-dot{background:#ff7171}

.home-hero-v53{position:relative;padding:clamp(58px,7vw,94px) 0 clamp(64px,8vw,112px);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 78% 10%,rgba(142,92,255,.15),transparent 34%),radial-gradient(circle at 18% 80%,rgba(255,107,53,.045),transparent 28%)}
.home-hero-v53-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,.78fr);gap:clamp(38px,6vw,92px);align-items:center}
.home-hero-v53-copy{min-width:0}
.home-hero-v53 h1{font-size:clamp(4.7rem,8.4vw,8.5rem);line-height:.86;max-width:8ch;margin:22px 0 28px;text-wrap:balance}
.home-hero-lead-v53{max-width:60ch!important;color:#d7d2dc!important;font-size:clamp(1.02rem,1.35vw,1.18rem)!important;line-height:1.75!important}
.home-hero-actions-v53{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.home-hero-tags-v53{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.home-hero-tags-v53 span{padding:8px 11px;border:1px solid var(--v51-border);border-radius:999px;background:rgba(255,255,255,.022);color:#c8c2cc;font-size:.72rem;font-weight:760}
.home-urgent-v53{display:flex;flex-wrap:wrap;align-items:center;gap:8px 13px;margin-top:18px;max-width:680px!important}
.home-urgent-v53>span{font-weight:850;color:#fff}.home-urgent-v53 a{font-size:.78rem;color:#d6c0ff;font-weight:800}.home-urgent-v53 a:hover{color:#fff}
.home-hero-media-v53{position:relative;margin:0;min-width:0;border:1px solid var(--v51-border);border-radius:var(--v51-radius);overflow:hidden;background:#0c0c12;box-shadow:var(--v51-shadow)}
.home-hero-media-v53::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,8,.92) 0%,rgba(5,5,8,.2) 48%,transparent 72%);pointer-events:none}
.home-hero-media-v53 picture,.home-hero-media-v53 img{display:block;width:100%}
.home-hero-media-v53 img{aspect-ratio:4/5;object-fit:cover;object-position:center;transition:transform .8s var(--ease)}
.home-hero-media-v53:hover img{transform:scale(1.018)}
.home-hero-media-v53 figcaption{position:absolute;z-index:2;left:clamp(22px,3vw,34px);right:clamp(22px,3vw,34px);bottom:clamp(22px,3vw,34px);display:grid;gap:7px}
.home-hero-media-v53 figcaption span{color:var(--purple2);font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.home-hero-media-v53 figcaption strong{font-size:clamp(1.35rem,2.2vw,2.15rem);line-height:1.02;letter-spacing:-.035em;max-width:18ch}
.home-hero-media-v53 figcaption small{color:#c3bdc8;font-size:.76rem}

/* Homepage sections now use the same restrained proportions as service/detail pages. */
.page-home .audience-card{min-height:560px}
.page-home .audience-card h3{font-size:clamp(2rem,3.4vw,3.8rem)}
.page-home .core-quality.section{padding-top:0}
.page-home .quality-grid>article{min-height:245px}
.page-home .t112-feature{min-height:620px}
.page-home .t112-copy h2{font-size:clamp(4rem,8vw,8rem)}
.page-home .final-card{border-radius:var(--v51-radius)}

@media(max-width:980px){
  .home-hero-v53-grid{grid-template-columns:1fr;gap:34px}
  .home-hero-v53-copy{max-width:780px}
  .home-hero-v53 h1{max-width:9ch}
  .home-hero-media-v53{max-width:760px}
  .home-hero-media-v53 img{aspect-ratio:16/11}
}
@media(max-width:680px){
  .home-main-v53{padding-top:var(--header)}
  .home-hero-v53{padding:42px 0 64px}
  .home-hero-v53 h1{font-size:clamp(4.1rem,19vw,6rem);max-width:8ch;margin:18px 0 22px}
  .home-hero-actions-v53 .button{width:100%}
  .home-hero-media-v53{border-radius:16px}
  .home-hero-media-v53 img{aspect-ratio:4/3}
  .home-hero-media-v53 figcaption{left:18px;right:18px;bottom:18px}
  .home-urgent-v53{align-items:flex-start}
  .page-home .sw-v50-availability .shell{padding:9px 0;flex-wrap:wrap}
  .page-home .sw-v50-availability a{margin-left:18px;width:100%}
  .page-home .audience-card{min-height:540px}
  .page-home .t112-feature{min-height:540px}
}
