
/* Layout: editorial single page, 1280px column, alternating light and petrol bands, the two partners as the visual anchor */
:root{
  --bg:#FAFAF7; --surface:#FFFFFF; --stone:#EEECE6; --line:#E4E1DA; --line-strong:#C9C5BC;
  --fg:#15171C; --fg-2:#3A3B40; --muted:#5E5F63;
  --petrol:#0F2A33; --petrol-2:#2A4650; --on-petrol:#F2F0EA; --on-petrol-2:#C7CFD1; --on-petrol-3:#A9B6BA;
  --orange:#E2702A; --orange-text:#B4510E; --orange-soft:#F59A55;
  --vt-a:#0F2A33; --vt-b:#E2702A; --logo-circle:#0F2A33; --logo-dot:#E2702A; --logo-dot-r:17; --logo-word-2:#0F2A33;
  --btn-bg:#15171C; --btn-fg:#FAFAF7;
  --placeholder:#E7E3DB;
  --display:'Schibsted Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
  --gutter:clamp(16px, 4vw, 56px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0D1A1F; --surface:#13242B; --stone:#172C34; --line:#243A42; --line-strong:#35505A;
  --fg:#EDEBE6; --fg-2:#C9CDCF; --muted:#9BA6AA;
  --petrol:#081619; --petrol-2:#22383F; --on-petrol:#F2F0EA; --on-petrol-2:#C7CFD1; --on-petrol-3:#9FAEB2;
  --orange:#EC7D36; --orange-text:#F59A55; --orange-soft:#F59A55;
  --vt-a:#C7CFD1; --vt-b:#EC7D36; --logo-circle:#E2702A; --logo-dot:#0F2A33; --logo-word-2:#C7CFD1;
  --btn-bg:#F2F0EA; --btn-fg:#0D1A1F;
  --placeholder:#1C333B;
  color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0D1A1F; --surface:#13242B; --stone:#172C34; --line:#243A42; --line-strong:#35505A;
  --fg:#EDEBE6; --fg-2:#C9CDCF; --muted:#9BA6AA;
  --petrol:#081619; --petrol-2:#22383F; --on-petrol:#F2F0EA; --on-petrol-2:#C7CFD1; --on-petrol-3:#9FAEB2;
  --orange:#EC7D36; --orange-text:#F59A55; --orange-soft:#F59A55;
  --vt-a:#C7CFD1; --vt-b:#EC7D36; --logo-circle:#E2702A; --logo-dot:#0F2A33; --logo-word-2:#C7CFD1;
  --btn-bg:#F2F0EA; --btn-fg:#0D1A1F;
  --placeholder:#1C333B;
  color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{background:var(--bg); color:var(--fg); font-family:var(--display); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%; height:auto; display:block}
:focus-visible{outline:2px solid var(--orange); outline-offset:3px; border-radius:4px}
h1,h2,h3{text-wrap:balance; margin:0; font-weight:600}
p{margin:0}
.serif{font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:0}
.wrap{max-width:1280px; margin:0 auto}
.band{padding-inline:var(--gutter)}
.eyebrow{font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-text)}
.sec-title{font-size:clamp(34px, 4.6vw, 54px); line-height:1.04; letter-spacing:-.035em}
.lede{font-size:18px; line-height:1.6; color:var(--fg-2); max-width:60ch}
.btn{display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 28px; border-radius:999px; font-weight:600; font-size:16px; text-decoration:none; border:1.5px solid transparent; cursor:pointer; font-family:inherit; transition:transform .15s ease, background .15s ease}
.btn-solid{background:var(--btn-bg); color:var(--btn-fg)}
.btn-ghost{border-color:var(--line-strong); color:var(--fg)}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px; height:18px}

/* Header */
.site-head{position:sticky; top:env(safe-area-inset-top, 0px); z-index:20; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.head-row{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:78px}
.logo{display:flex; align-items:center; gap:14px; text-decoration:none; padding-block:10px}
.logo svg{flex:none}
.logo-words{display:flex; flex-direction:column; align-items:flex-start; border-left:1.5px solid var(--orange); padding-left:14px}
.logo-kicker{font-size:8.5px; font-weight:600; letter-spacing:.35em; text-transform:uppercase; color:var(--orange-text)}
.logo-l1{margin-top:4px; font-size:15px; font-weight:600; letter-spacing:.1em; line-height:1; text-transform:uppercase; color:var(--fg)}
.logo-l2{margin-top:2px; display:flex; align-items:baseline; gap:5px; font-size:15px; font-weight:500; letter-spacing:.1em; line-height:1; text-transform:uppercase; color:var(--logo-word-2)}
.logo-l2 .amp{font-family:var(--serif); font-style:italic; font-size:20px; letter-spacing:0; text-transform:none; color:var(--orange)}
.nav{display:flex; align-items:center; gap:4px 28px; font-size:15px; font-weight:500}
.nav a{text-decoration:none; padding-block:12px}
.nav a:hover{color:var(--orange-text)}
.nav .nav-cta{padding:11px 20px; border:1.5px solid var(--fg); border-radius:999px}
.nav .nav-cta:hover{background:var(--fg); color:var(--bg)}
.menu-btn{display:none; align-items:center; justify-content:center; width:48px; height:48px; border-radius:999px; border:1.5px solid var(--line-strong); background:transparent; color:var(--fg); cursor:pointer}
@media (max-width: 960px){
  .menu-btn{display:inline-flex}
  .nav{display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:8px var(--gutter) 20px; background:var(--bg); border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:14px 0; border-bottom:1px solid var(--line); font-size:17px}
  .nav .nav-cta{margin-top:16px; text-align:center; border-bottom:1.5px solid var(--fg)}
}
@media (max-width: 420px){ .logo-l1,.logo-l2{font-size:13px} .logo svg{width:40px; height:40px} }

/* Hero */
.hero{padding-block:clamp(56px, 8vw, 104px) clamp(56px, 7vw, 96px)}
.hero-grid{display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr); gap:clamp(32px, 5vw, 72px); align-items:end}
.hero h1{font-size:clamp(46px, 6.6vw, 90px); line-height:.98; letter-spacing:-.045em; margin-top:26px}
.hero h1 .serif{color:var(--orange-text); letter-spacing:-.02em}
.hero .lede{margin-top:32px; font-size:clamp(18px, 1.6vw, 21px)}
.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:40px}
.hero-photo{margin:0; position:relative}
.hero-photo img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:46% 30%; border-radius:6px}
.hero-photo figcaption{margin-top:14px; font-size:14px; color:var(--muted); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap}
.hero-photo figcaption strong{color:var(--fg); font-weight:600}
.hero-dot{position:absolute; top:-18px; right:-18px; width:64px; height:64px; border-radius:50%; background:var(--orange)}
@media (max-width: 860px){ .hero-grid{grid-template-columns:1fr} .hero-photo img{aspect-ratio:4/3} .hero-dot{right:8px; width:48px; height:48px; top:-14px} }

/* Credentials strip */
.creds{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); border-top:1px solid var(--fg); border-bottom:1px solid var(--line)}
.creds div{padding:26px 24px; font-size:15px; line-height:1.5; color:var(--fg-2)}
.creds div:first-child{padding-left:0}
.creds div + div{border-left:1px solid var(--line)}
.creds strong{display:block; color:var(--fg); font-weight:600}
@media (max-width: 860px){ .creds{grid-template-columns:repeat(2, minmax(0,1fr))} .creds div{padding-left:0 !important; border-left:0 !important; border-bottom:1px solid var(--line); padding-right:16px} .creds div:nth-last-child(-n+2){border-bottom:0} }
@media (max-width: 460px){ .creds{grid-template-columns:1fr} .creds div:nth-last-child(2){border-bottom:1px solid var(--line)} }

/* Section heads */
.sec{padding-block:clamp(72px, 9vw, 120px)}
.sec-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px 64px; margin-bottom:56px}
.sec-head > div{flex:1 1 520px; min-width:0}
.sec-head .eyebrow{margin-bottom:16px}
.sec-head > p{flex:1 1 340px; max-width:420px; color:var(--fg-2); font-size:17px; line-height:1.6}

/* Services */
.services{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px}
.svc{border-radius:10px; padding:clamp(28px, 4vw, 48px); min-width:0}
.svc-num{font-size:14px; font-weight:600; font-variant-numeric:tabular-nums}
.svc h3{font-size:clamp(26px, 2.6vw, 34px); letter-spacing:-.03em; margin:12px 0 16px; line-height:1.15}
.svc-a{background:var(--petrol); color:var(--on-petrol)}
.svc-a .svc-num{color:var(--orange-soft)}
.svc-a > p{color:var(--on-petrol-2)}
.svc-b{background:var(--stone)}
.svc-b .svc-num{color:var(--orange-text)}
.svc-b > p{color:var(--fg-2)}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:32px}
.chips span{padding:9px 16px; border:1px solid var(--petrol-2); border-radius:999px; font-size:15px}
.formats{margin-top:40px; padding-top:28px; border-top:1px solid var(--petrol-2); display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px}
.formats b{display:block; font-weight:600; font-size:16px; margin-bottom:6px}
.formats p{font-size:14px; line-height:1.5; color:var(--on-petrol-3)}
.svc-list{margin:32px 0 0; padding:0; list-style:none}
.svc-list li{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:16px 0; border-top:1px solid var(--line-strong)}
.svc-list li:last-child{border-bottom:1px solid var(--line-strong)}
.svc-list b{font-weight:600}
.svc-list span{color:var(--muted); font-size:15px}
@media (max-width: 900px){ .services{grid-template-columns:1fr} }
@media (max-width: 560px){ .formats{grid-template-columns:1fr} }

/* Method */
.pddf{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); border-top:1px solid var(--fg)}
.pddf > div{padding:32px 28px}
.pddf > div:first-child{padding-left:0}
.pddf > div + div{border-left:1px solid var(--line)}
.pddf .letter{font-family:var(--serif); font-style:italic; font-size:68px; line-height:1; color:var(--orange)}
.pddf h3{font-size:21px; margin:20px 0 10px}
.pddf h3 small{display:block; font-size:13px; font-weight:500; color:var(--muted); letter-spacing:.02em; margin-top:2px}
.pddf p{font-size:16px; line-height:1.55; color:var(--fg-2)}
.tools{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:40px}
.tools > span:first-child{font-size:14px; font-weight:600; color:var(--muted); margin-right:8px}
.tools .tag{padding:9px 15px; background:var(--stone); border-radius:999px; font-size:14px}
@media (max-width: 900px){ .pddf{grid-template-columns:repeat(2, minmax(0,1fr))} .pddf > div{padding-left:0 !important; border-left:0 !important; border-bottom:1px solid var(--line); padding-right:20px} }
@media (max-width: 480px){ .pddf{grid-template-columns:1fr} }

/* Manifesto */
.manifesto{background:var(--petrol); color:var(--on-petrol)}
.mani-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(40px, 6vw, 80px)}
.mani-grid .eyebrow{color:var(--orange-soft); margin-bottom:20px}
.mani-quote{font-size:clamp(28px, 3.2vw, 40px); line-height:1.2; letter-spacing:-.02em; font-weight:500}
.mani-quote .serif{color:var(--orange-soft)}
.mani-body{margin-top:32px; color:var(--on-petrol-2); max-width:56ch}
.reasons{margin:0; padding:0; list-style:none; counter-reset:r}
.reasons li{display:grid; grid-template-columns:36px 1fr; gap:16px; padding:22px 0; border-top:1px solid var(--petrol-2); counter-increment:r}
.reasons li:last-child{border-bottom:1px solid var(--petrol-2)}
.reasons li::before{content:counter(r); font-family:var(--serif); font-style:italic; font-size:24px; line-height:1.2; color:var(--orange-soft)}
.reasons b{display:block; font-size:18px; font-weight:600; margin-bottom:4px}
.reasons p{font-size:15px; line-height:1.5; color:var(--on-petrol-2)}
@media (max-width: 900px){ .mani-grid{grid-template-columns:1fr} }

/* Science */
.science{display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(40px, 6vw, 80px); align-items:center}
.sci-visual{aspect-ratio:1/1; max-width:100%; background:var(--stone); border-radius:10px; position:relative; overflow:hidden}
.sci-visual svg{position:absolute; inset:0; width:100%; height:100%}
.sci-text h2{margin:16px 0 24px; font-size:clamp(32px, 4vw, 48px); line-height:1.06; letter-spacing:-.035em}
.sci-text p + p{margin-top:18px}
.sci-text p{color:var(--fg-2)}
.pillars{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px 24px; margin-top:32px; padding-top:28px; border-top:1px solid var(--line)}
.pillars b{display:block; font-weight:600}
.pillars span{font-size:15px; color:var(--muted); line-height:1.45}
@media (max-width: 860px){ .science{grid-template-columns:1fr} .sci-visual{aspect-ratio:16/10} }
@media (max-width: 460px){ .pillars{grid-template-columns:1fr} }

/* Partners */
.partners{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(32px, 4vw, 56px)}
.partner{display:grid; grid-template-columns:minmax(0, 220px) minmax(0, 1fr); gap:28px; align-items:start}
.partner img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:6px; background:var(--placeholder)}
.partner h3{font-size:26px; letter-spacing:-.02em; line-height:1.2}
.partner .role{margin:6px 0 16px; font-size:15px; font-weight:600; color:var(--orange-text)}
.partner p{font-size:16px; line-height:1.6; color:var(--fg-2)}
.partner .links{margin-top:16px; display:flex; flex-wrap:wrap; gap:6px 18px; font-size:15px; font-weight:600}
.partner .links a{text-underline-offset:4px}
@media (max-width: 1040px){ .partners{grid-template-columns:1fr} }
@media (max-width: 520px){ .partner{grid-template-columns:1fr} .partner img{max-width:280px} }

/* Press */
.press{background:var(--stone)}
.press-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px}
.press-card{display:flex; flex-direction:column; justify-content:space-between; gap:40px; background:var(--surface); border-radius:10px; padding:28px; min-height:220px; text-decoration:none}
.press-card .meta{font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.press-card .t{font-size:21px; line-height:1.3; font-weight:600; letter-spacing:-.01em}
.press-card .go{font-size:14px; font-weight:600; color:var(--orange-text)}
.press-card:hover .t{text-decoration:underline; text-underline-offset:4px}
.kit{margin-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px 32px; padding:24px 28px; border:1px solid var(--line-strong); border-radius:10px}
.kit p{color:var(--fg-2); max-width:60ch}
.kit b{color:var(--fg)}
@media (max-width: 900px){ .press-grid{grid-template-columns:1fr} .press-card{min-height:0} }

/* Contact */
.contact{display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:clamp(40px, 6vw, 80px)}
.contact h2 .serif{display:block; color:var(--fg)}
.contact .lede{margin-top:24px}
.channels{margin-top:40px; display:flex; flex-direction:column; gap:14px}
.channel{display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:17px}
.channel svg{width:20px; height:20px; flex:none; color:var(--orange-text)}
.channel .val{user-select:all}
.copy{font:inherit; font-size:13px; font-weight:600; padding:6px 12px; min-height:32px; border-radius:999px; border:1px solid var(--line-strong); background:transparent; color:var(--fg); cursor:pointer}
form.card{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:clamp(24px, 3.5vw, 40px); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px}
.field{display:flex; flex-direction:column; gap:8px; min-width:0}
.field.full{grid-column:1 / -1}
.field label{font-size:14px; font-weight:600}
.field input,.field select,.field textarea{font:inherit; font-size:16px; color:var(--fg); background:var(--bg); border:1px solid var(--line-strong); border-radius:6px; padding:12px 14px; min-height:48px; width:100%}
.field textarea{resize:vertical; min-height:130px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--orange); outline-offset:1px; border-color:transparent}
.form-foot{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:16px}
.form-note{font-size:14px; color:var(--muted)}
.form-ok{grid-column:1 / -1; padding:14px 16px; border-radius:6px; background:var(--stone); font-size:15px}
@media (max-width: 900px){ .contact{grid-template-columns:1fr} }
@media (max-width: 520px){ form.card{grid-template-columns:1fr} }

/* Footer */
.foot{background:var(--petrol); color:var(--on-petrol-2); padding-block:56px 40px}
.foot-row{display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px}
.foot .logo-words{border-left-width:2px}
.foot .logo-kicker{color:var(--orange-soft); font-size:10px}
.foot .logo-l1{color:var(--on-petrol); font-size:19px}
.foot .logo-l2{color:var(--on-petrol-2); font-size:19px}
.foot .logo-l2 .amp{font-size:25px}
.foot-tag{margin-top:16px; font-size:14px; max-width:320px; line-height:1.5}
.foot nav{display:flex; flex-wrap:wrap; gap:4px 28px; font-size:15px}
.foot nav a{color:var(--on-petrol); text-decoration:none; padding-block:10px}
.foot nav a:hover{color:var(--orange-soft)}
.foot-legal{margin-top:40px; padding-top:24px; border-top:1px solid var(--petrol-2); font-size:13px; color:var(--on-petrol-3); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px}

/* ---- v2 additions ---- */
.nav a[aria-current="page"]{color:var(--orange-text)}
.hero-mark{position:absolute; top:-26px; right:-26px; width:84px; height:84px; z-index:1}
@media (max-width: 860px){ .hero-mark{right:8px; top:-20px; width:60px; height:60px} }
.hero-photo figcaption a{color:var(--orange-text); font-weight:600; text-underline-offset:4px}

/* Clients marquee */
.clients{padding-block:clamp(48px, 6vw, 72px); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.clients-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px; margin-bottom:28px}
.clients-head p:last-child{font-size:15px; color:var(--muted)}
.marquee{position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.marquee-track{display:flex; width:max-content; animation:marquee 60s linear infinite}
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track, .marquee.paused .marquee-track{animation-play-state:paused}
.marquee ul{display:flex; align-items:center; gap:0; margin:0; padding:0; list-style:none}
.marquee li{flex:none; display:flex; align-items:center; justify-content:center; min-width:190px; height:88px; padding:0 28px; border-left:1px solid var(--line)}
.wordmark{font-family:var(--display); font-size:21px; font-weight:600; letter-spacing:.02em; color:var(--muted); white-space:nowrap}
@keyframes marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.marquee-ctrl{margin-top:16px; display:flex; justify-content:flex-end}
.marquee-ctrl button{font:inherit; font-size:13px; font-weight:600; min-height:36px; padding:0 14px; border-radius:999px; border:1px solid var(--line-strong); background:transparent; color:var(--fg); cursor:pointer}
@media (prefers-reduced-motion: reduce){
  .marquee{-webkit-mask-image:none; mask-image:none}
  .marquee-track{animation:none; width:auto}
  .marquee ul{flex-wrap:wrap}
  .marquee ul[aria-hidden="true"], .marquee-ctrl{display:none}
  .marquee li{min-width:0; flex:1 1 180px; border:1px solid var(--line); margin:-1px 0 0 -1px}
}

/* Method: diagram + resources */
.method{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:clamp(40px, 6vw, 88px); align-items:start}
.diagram{margin:0}
.diagram svg{display:block; width:100%; height:auto; max-width:640px; margin-inline:auto}
.diagram figcaption{margin-top:20px; font-size:15px; color:var(--muted); text-align:center; max-width:46ch; margin-inline:auto}
.dg-ring{fill:none; stroke:var(--line-strong); stroke-width:1.5; stroke-dasharray:2 7; stroke-linecap:round}
.dg-arc{fill:none; stroke:var(--orange); stroke-width:2.5; stroke-linecap:round}
.dg-head{fill:var(--orange)}
.dg-node{fill:var(--surface); stroke:var(--fg); stroke-width:1.5}
.dg-letter{font-family:var(--serif); font-style:italic; font-size:38px; fill:var(--orange-text)}
.dg-name{font-family:var(--display); font-size:24px; font-weight:600; fill:var(--fg)}
.dg-sub{font-family:var(--display); font-size:18px; fill:var(--muted)}
.dg-core{fill:var(--logo-circle)}
.dg-dot{fill:var(--logo-dot)}
.dg-core-label{font-family:var(--display); font-size:14px; font-weight:600; letter-spacing:.28em; fill:var(--muted)}
.resources h3{font-size:22px; letter-spacing:-.01em; margin-bottom:8px}
.resources > p{color:var(--fg-2); font-size:16px; margin-bottom:20px}
.res-list{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr}
.res-list li{display:grid; grid-template-columns:12px 1fr; gap:14px; padding:14px 0; border-top:1px solid var(--line)}
.res-list li:last-child{border-bottom:1px solid var(--line)}
.res-list li::before{content:""; width:10px; height:10px; margin-top:8px; border-radius:50%; background:var(--orange)}
.res-list b{display:block; font-weight:600; font-size:16px; line-height:1.35}
.res-list span{display:block; margin-top:4px; font-size:14px; line-height:1.45; color:var(--muted)}
@media (max-width: 1100px){ .method{grid-template-columns:1fr} }

/* Partners teaser on home */
.teaser{display:grid; grid-template-columns:auto minmax(0, 1fr) auto; gap:24px 40px; align-items:center; padding:32px; border:1px solid var(--line-strong); border-radius:10px}
.teaser-faces{display:flex}
.teaser-faces img{width:84px; height:84px; border-radius:50%; object-fit:cover; border:3px solid var(--bg)}
.teaser-faces img + img{margin-left:-18px}
.teaser h3{font-size:24px; letter-spacing:-.02em}
.teaser p{color:var(--fg-2); margin-top:6px}
@media (max-width: 760px){ .teaser{grid-template-columns:1fr} }

/* Quem somos page */
.qs-hero{padding-block:clamp(56px, 8vw, 104px) clamp(40px, 5vw, 64px)}
.qs-hero h1{font-size:clamp(42px, 5.8vw, 80px); line-height:1; letter-spacing:-.045em; margin-top:22px; max-width:16ch}
.qs-hero h1 .serif{color:var(--orange-text)}
.qs-hero .lede{margin-top:28px}
.qs-photo{margin:0}
.qs-photo img{width:100%; aspect-ratio:16/8; object-fit:cover; object-position:50% 28%; border-radius:6px}
.facts{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-top:1px solid var(--fg)}
.facts div{padding:28px 28px 28px 0}
.facts div + div{padding-left:28px; border-left:1px solid var(--line)}
.facts b{display:block; font-size:20px; font-weight:600; letter-spacing:-.01em; margin-bottom:8px}
.facts p{font-size:16px; color:var(--fg-2); line-height:1.55}
@media (max-width: 860px){ .facts{grid-template-columns:1fr} .facts div{padding-left:0 !important; border-left:0 !important; border-bottom:1px solid var(--line)} }
.bio{display:grid; grid-template-columns:minmax(0, 340px) minmax(0, 1fr); gap:clamp(28px, 5vw, 64px); align-items:start; padding-block:48px; border-top:1px solid var(--line)}
.bio:first-of-type{border-top:0; padding-top:0}
.bio img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:6px}
.bio h3{font-size:clamp(28px, 3vw, 36px); letter-spacing:-.03em; line-height:1.1}
.bio .role{margin:8px 0 22px; font-size:15px; font-weight:600; color:var(--orange-text)}
.bio .txt p{color:var(--fg-2); max-width:62ch}
.bio .txt p + p{margin-top:14px}
.bio .creds-list{margin:24px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px}
.bio .creds-list li{padding:8px 14px; background:var(--stone); border-radius:999px; font-size:14px}
.bio .links{margin-top:22px; display:flex; flex-wrap:wrap; gap:6px 20px; font-size:15px; font-weight:600}
.bio .links a{text-underline-offset:4px}
@media (max-width: 760px){ .bio{grid-template-columns:1fr} .bio img{max-width:320px} }
.press-box{display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:20px 40px; align-items:center; padding:clamp(24px, 4vw, 40px); background:var(--stone); border-radius:10px}
.press-box h2{font-size:clamp(26px, 3vw, 34px); letter-spacing:-.025em}
.press-box p{margin-top:10px; color:var(--fg-2); max-width:60ch}
@media (max-width: 760px){ .press-box{grid-template-columns:1fr} }

.back{display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-bottom:28px; padding:0 16px 0 12px; border:1px solid var(--line-strong); border-radius:999px; font-size:14px; font-weight:600; text-decoration:none; color:var(--fg)}
.back svg{width:18px; height:18px}
.back:hover{border-color:var(--fg)}
.qs-photo img{object-position:50% 50%}

/* v4 */
.dg-icon{fill:none; stroke:var(--orange-text); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.sci-visual{aspect-ratio:auto; background:var(--stone); border-radius:10px; margin:0; padding:clamp(12px, 2vw, 24px); overflow:visible}
.sci-visual svg{position:static; display:block; width:100%; height:auto; overflow:visible}
.sci-visual figcaption{margin-top:8px; font-size:13px; color:var(--muted); text-align:center}
.vt-band{fill:none; stroke-width:14; stroke-linecap:round}
.vt-band.vt-a{stroke:var(--vt-a)} .vt-band.vt-b{stroke:var(--vt-b)}
.vt-dot.vt-a{fill:var(--vt-a)} .vt-dot.vt-b{fill:var(--vt-b)}
.vt-tick{stroke:var(--line-strong); stroke-width:1}
.vt-name{font-family:var(--display); font-size:12px; font-weight:600; letter-spacing:.06em; fill:var(--fg)}
.vt-str{font-family:var(--display); font-size:11px; fill:var(--fg-2)}
.channel.wa{align-items:center}
.wa-txt{display:flex; flex-direction:column; line-height:1.3}
.wa-label{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--orange-text)}
a.copy{display:inline-flex; align-items:center; text-decoration:none}
.foot-links{display:flex; flex-wrap:wrap; gap:4px 20px}
.foot-links a{color:var(--on-petrol-2); text-decoration:none}
.foot-links a:hover{color:var(--orange-soft); text-decoration:underline; text-underline-offset:3px}
.legal{padding-block:clamp(48px, 7vw, 88px) clamp(72px, 9vw, 120px)}
.legal-wrap{max-width:760px}
.legal h1{font-size:clamp(36px, 5vw, 56px); letter-spacing:-.04em; line-height:1.05; margin-top:16px}
.legal-date{margin-top:14px; font-size:14px; color:var(--muted)}
.legal-body{margin-top:40px; border-top:1px solid var(--line)}
.legal-body section{padding-block:24px; border-bottom:1px solid var(--line)}
.legal-body h2{font-size:20px; letter-spacing:-.01em; margin-bottom:10px}
.legal-body p, .legal-body li{color:var(--fg-2); font-size:16px; line-height:1.65}
.legal-body p + p{margin-top:10px}
.legal-body ul{margin:8px 0 10px; padding-left:20px}
.legal-body a{color:var(--orange-text); text-underline-offset:3px}
.nowrap{overflow-wrap:anywhere}

.seal{display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; margin-top:32px}
.seal-logo{display:inline-flex; align-items:center; padding:8px 14px; background:#FFFFFF; border-radius:8px}
.seal-logo img{height:44px; width:auto}
.seal p{font-size:15px; font-weight:500; color:var(--fg-2)}

.diagram figcaption.dg-text{margin-top:28px; max-width:560px; text-align:left; font-size:16px; color:var(--fg-2); padding-top:24px; border-top:1px solid var(--line)}
.dg-text h3{font-size:20px; letter-spacing:-.01em; color:var(--fg); margin-bottom:10px}
.dg-text p{line-height:1.6}
.dg-text p + p{margin-top:12px}

/* v6: client logos */
.marquee li{min-width:0; height:112px; padding:0 clamp(28px, 3.6vw, 52px); border-left:0}
.marquee li img{display:block; width:auto; max-width:none; opacity:.58; transition:opacity .25s ease}
.marquee li:hover img{opacity:1}
.marquee-track{animation-duration:70s}
@media (max-width: 640px){ .marquee li{height:88px; padding:0 22px} .marquee li img{transform:scale(.82)} }
@media (prefers-reduced-motion: reduce){
  .marquee li{border:0; margin:0; flex:0 1 auto; padding:16px 24px}
  .marquee ul{justify-content:center}
}

/* Tema único: sempre escuro */
:root{
  --bg:#0D1A1F; --surface:#13242B; --stone:#172C34; --line:#243A42; --line-strong:#35505A;
  --fg:#EDEBE6; --fg-2:#C9CDCF; --muted:#9BA6AA;
  --petrol:#081619; --petrol-2:#22383F; --on-petrol:#F2F0EA; --on-petrol-2:#C7CFD1; --on-petrol-3:#9FAEB2;
  --orange:#EC7D36; --orange-text:#F59A55; --orange-soft:#F59A55;
  --vt-a:#C7CFD1; --vt-b:#EC7D36; --logo-circle:#E2702A; --logo-dot:#0F2A33; --logo-word-2:#C7CFD1;
  --btn-bg:#F2F0EA; --btn-fg:#0D1A1F;
  --placeholder:#1C333B;
  color-scheme:dark }
html{background:var(--bg)}
