
/* v17 — one corporate system across every approved template. */
:root{--v17-accent:#ff4d00;--v17-ink:#090909;--v17-paper:#f3f0e8;--v17-line:rgba(9,9,9,.16)}
body[data-v15]{--display:'Manrope',system-ui,sans-serif;--blue:var(--v17-accent);background:var(--v17-paper)}
body[data-v15] .heading-lead,body[data-v15] .heading-accent{display:block;max-width:100%}
body[data-v15] .heading-accent{font-family:'Manrope',system-ui,sans-serif!important;font-style:normal!important;font-weight:900!important;color:var(--v17-accent)!important;letter-spacing:-.075em}
body[data-v15] .hero h1 .heading-accent{font-weight:900!important;text-shadow:0 1px 0 rgba(0,0,0,.25)}
body[data-v15] .head h2{font-size:clamp(2.45rem,5vw,5.8rem);line-height:.91;max-width:17ch;text-wrap:balance}
body[data-v15] .head p{grid-column:2;font-size:clamp(1rem,1.2vw,1.18rem);margin-top:-1.3rem}
body[data-v15] .sect{padding:clamp(76px,8vw,126px) 0}
body[data-v15] .sect::before{font-size:clamp(8rem,17vw,19rem);top:.02em;right:.025em;color:rgba(17,16,14,.026)}

/* Full-width, undimmed hero video.  Readability comes from a local copy panel,
   never from a filter laid over the complete film. */
body[data-v15] .hero{min-height:100svh}
body[data-v15] .hero__media{inset:0!important;width:100%!important;height:100%!important;clip-path:none!important;opacity:1!important}
body[data-v15] .hero__media video{width:100%;height:100%;object-fit:cover;filter:none!important}
body[data-v15] .hero__media::after,body[data-v15] .hero__veil{display:none!important;background:none!important}
body[data-v15] .hero__in{position:relative;z-index:2;width:100%;padding-top:132px;padding-bottom:86px}
body[data-v15] .hero__in>.wrap{width:min(900px,calc(100% - clamp(36px,9vw,150px)));margin:0 0 0 clamp(22px,4vw,64px)!important;padding:clamp(34px,5vw,72px)!important;background:rgba(9,9,9,.82);border-left:5px solid var(--v17-accent);backdrop-filter:blur(2px)}
body[data-v15] .hero h1{font-size:clamp(3rem,5.2vw,6.5rem);line-height:.88;max-width:100%;letter-spacing:-.078em;text-wrap:balance;overflow-wrap:break-word}
body[data-v15] .hero .lede{max-width:58ch;color:#f2f0ea}
body[data-v15] .hero__facts{position:static;max-width:none;margin-top:32px;border-color:rgba(255,255,255,.34)}
.v15-rail__page{font-size:12px!important;letter-spacing:.15em!important;color:#d8d8d8!important}

/* Trust and partner reels are intentionally borderless. */
.v17-trust-title{padding-top:30px!important;padding-bottom:8px!important}
.v17-trust-title h2{font:900 clamp(1.55rem,2.4vw,2.4rem)/1 var(--display);letter-spacing:-.045em;margin:0}
body[data-v15] .marks{border:0!important;background:transparent!important;padding:14px 0}
body[data-v15] .marks::before,body[data-v15] .marks::after{display:none!important}
body[data-v15] .marks__i{border:0!important;background:transparent!important}

/* Cards: one quiet frame, generous inner space, no unexplained top strokes. */
body[data-v15] .card{border:1px solid var(--v17-line)!important;background:rgba(255,255,255,.28);overflow:hidden;transform:none}
body[data-v15] .card:hover{border-color:var(--v17-accent)!important;background:var(--v17-accent);transform:translateY(-3px)}
body[data-v15] .item__body{padding:clamp(24px,3vw,38px)!important}
body[data-v15] .item__body h3{font-size:clamp(1.35rem,2vw,2.35rem);line-height:1.03;text-wrap:balance;overflow-wrap:anywhere}
body[data-v15] .svc{padding:clamp(28px,3.4vw,48px);min-height:260px}
body[data-v15] .svc h3{font-size:clamp(1.45rem,2.2vw,2.7rem);text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
body[data-v15] .mini{border:1px solid var(--v17-line);border-left:4px solid var(--v17-accent);background:rgba(255,255,255,.32)}

/* Project covers use the evidence itself.  No synthetic title inside a crop. */
body[data-v15] .v15-case-cover{aspect-ratio:16/10;background:#d8d2c6;isolation:isolate}
body[data-v15] .v15-cover__node,body[data-v15] .v15-cover__rail{display:none!important}
body[data-v15] .v15-cover__screen{position:absolute!important;inset:0!important;border:0!important;background:#d8d2c6!important;transform:none!important}
body[data-v15] .v15-cover__screen img{width:100%!important;height:100%!important;object-fit:cover!important;filter:grayscale(.12) sepia(.18) saturate(.8) contrast(1.08)!important;mix-blend-mode:multiply}
body[data-v15] .v15-cover__index{right:18px!important;bottom:16px!important;top:auto!important;left:auto!important;color:#fff!important;background:var(--v17-ink);padding:8px 11px;font-size:12px!important}

/* Process blocks, tables, FAQ and filters share the same contemporary logic. */
body[data-v15] .steps{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;background:transparent!important;overflow-x:auto;padding-bottom:8px}
body[data-v15] .step{min-width:170px;border:1px solid var(--v17-line);border-left:4px solid var(--v17-accent);background:rgba(255,255,255,.35);padding:clamp(26px,3vw,38px)}
body[data-v15] .step::before,body[data-v15] .step::after{display:none!important}
body[data-v15] .tbl{border:0!important;background:#fff;box-shadow:0 18px 52px rgba(9,9,9,.08);overflow:auto}
body[data-v15] .tbl table{border-collapse:separate;border-spacing:0;width:100%}
body[data-v15] .tbl th{background:var(--v17-ink);color:#fff;text-align:left;font:600 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:18px 22px;border:0}
body[data-v15] .tbl td{padding:18px 22px;border:0;border-bottom:1px solid rgba(9,9,9,.09)}
body[data-v15] .tbl tr:nth-child(even) td{background:#f4f1e9}
body[data-v15] .qa{border:1px solid var(--v17-line)!important;margin-top:10px;background:rgba(255,255,255,.3)}
body[data-v15] .qa[open]{border-left:5px solid var(--v17-accent)!important;background:#fff}
body[data-v15] .qa__q{padding:22px 24px;font-weight:750}
body[data-v15] .qa__a{padding:4px 24px 24px;background:transparent!important}
body[data-v15] .filters{border:0!important;padding:0!important;gap:8px!important;background:transparent!important;width:auto!important}
body[data-v15] .chip{border:1px solid rgba(9,9,9,.2)!important;background:rgba(255,255,255,.44);padding:12px 16px!important;transition:background .2s,border-color .2s,color .2s}
body[data-v15] .chip:hover{border-color:var(--v17-accent)!important}
body[data-v15] .chip[aria-pressed=true]{background:var(--v17-accent)!important;border-color:var(--v17-accent)!important;color:#fff!important}

/* Sticky document navigation and precise active focus. */
body[data-v15] .rail{position:sticky!important;top:104px!important;align-self:start;border-top:0!important;border-left:4px solid var(--v17-accent);padding:18px 0 18px 20px;background:rgba(243,240,232,.94);backdrop-filter:blur(12px);z-index:8}
body[data-v15] .toc a{border-left:0!important;padding:10px 12px;color:#666;transition:color .2s,background .2s,transform .2s}
body[data-v15] .toc a.on,body[data-v15] .toc a[aria-current]{background:var(--v17-ink);color:#fff;transform:translateX(6px)}
body[data-v15] .rail__cta h2{font-size:1.25rem!important;line-height:1.08!important;letter-spacing:-.035em!important;overflow-wrap:anywhere}
body[data-v15] .step h3{font-size:1.15rem!important;line-height:1.08!important;overflow-wrap:anywhere;hyphens:auto}
body[data-v15] .mini h3,body[data-v15] .item__body h3{overflow-wrap:anywhere;hyphens:auto}

/* Legal is a clean corporate dossier, not a wall of old-fashioned boxes. */
body[data-v15] .legal{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;counter-reset:v17-legal}
body[data-v15] .legal article{grid-column:span 6;position:relative;padding:clamp(30px,4vw,52px);background:#fff;border:1px solid var(--v17-line);counter-increment:v17-legal}
body[data-v15] .legal article::before{content:'0' counter(v17-legal);display:block;font:900 3.2rem/1 var(--display);color:var(--v17-accent);margin-bottom:32px}
body[data-v15] .legal article>.chip{display:none}
body[data-v15] .legal article h3,body[data-v15] .legal article h4{font-size:clamp(1.2rem,1.7vw,1.8rem);line-height:1.05;margin:0 0 16px;overflow-wrap:anywhere;hyphens:auto}
body[data-v15] .legal article li{padding:8px 0;border-top:1px solid rgba(9,9,9,.09)}
body[data-v15] .legal__note{border-left:5px solid var(--v17-accent);padding:22px 26px;background:var(--v17-ink);color:#fff}

/* The team becomes a deliberate portrait system despite legacy inline styles. */
body[data-v15-page='home'] #team>.wrap>.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
body[data-v15-page='home'] #team>.wrap>.grid>div{display:grid!important;grid-template-columns:84px 1fr;align-items:center!important;gap:18px!important;min-height:112px;padding:14px;background:#fff;border:1px solid var(--v17-line)}
body[data-v15-page='home'] #team>.wrap>.grid img{width:84px!important;height:84px!important;border-radius:0!important;filter:grayscale(1) contrast(1.08);transition:filter .25s}
body[data-v15-page='home'] #team>.wrap>.grid>div:hover img{filter:grayscale(0) saturate(.82)}
body[data-v15-page='home'] #team>.wrap>.grid b{font-size:1rem!important;line-height:1.15}

/* CTA film stays saturated and untouched; type sits directly on the film. */
body[data-v15] #contact .hero__media::after,body[data-v15] #contact .hero__veil,body[data-v15] .pitch .hero__veil,body[data-v15] .faceband__scrim{display:none!important;background:none!important}
body[data-v15] #contact>.wrap{background:transparent!important;backdrop-filter:none!important}
body[data-v15] #contact h2,body[data-v15] #contact p,body[data-v15] #contact .tag{text-shadow:0 2px 18px rgba(0,0,0,.92),0 1px 3px #000}
body[data-v15] #contact h2{font-weight:900!important}
body[data-v15] .faceband__body{background:rgba(9,9,9,.78);padding:clamp(30px,5vw,70px);max-width:900px}

@media(max-width:1100px){
  body[data-v15-page='home'] #team>.wrap>.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-v15] .legal article{grid-column:1/-1}
}
@media(max-width:760px){
  body[data-v15] .head{grid-template-columns:1fr;gap:18px}
  body[data-v15] .head p{grid-column:1;margin-top:0}
  body[data-v15] .hero__in>.wrap{width:calc(100% - 24px);margin:0 12px!important;padding:28px 22px!important}
  body[data-v15] .hero h1{font-size:clamp(2.75rem,13vw,5rem)}
  body[data-v15-page='home'] #team>.wrap>.grid{grid-template-columns:1fr!important}
  body[data-v15] .steps{grid-template-columns:repeat(5,minmax(240px,76vw))}
}
@media(prefers-reduced-motion:reduce){body[data-v15] *{scroll-behavior:auto!important}}
