/* ============ CHOOSE - interior pages layer (v3, light body) ============
   Loads AFTER style.css. Interiors: dark cinematic .phero (accent-tinted via
   --c) -> WHITE editorial body sections (.lsec inside .pg) -> dark full-bleed
   .band statements as punctuation -> dark .cta--flat + footer. Light-surface
   text always uses the --l-* tokens (dark-bg alphas are invisible on light).
   Nav, footer, buttons, .case/.ins/.ind tiles come from style.css - reused,
   never forked. */

body.page{
  --l-ink:   #0f0f1c;
  --l-muted: rgba(15,15,28,.64);
  --l-line:  rgba(15,15,28,.14);
  --l-card:  #fff;
}

/* interior pages: sections size to content, not full viewport */
body.page .section{min-height:0}
/* anchored tiles/sections land below the fixed nav */
body.page [id]{scroll-margin-top:110px}

/* ---------- page hero (dark band, Accenture-scale title) ---------- */
.phero{position:relative;z-index:1;overflow:hidden;background:var(--ink);
  padding:calc(96px + clamp(56px,10vh,130px)) var(--pad) clamp(72px,11vh,130px);isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(90% 120% at 85% -20%,color-mix(in srgb,var(--c,var(--purple)) 34%,transparent),transparent 60%),
    radial-gradient(70% 100% at 0% 110%,rgba(11,43,102,.5),transparent 60%)}
.phero__inner{max-width:var(--maxw);margin:0 auto}
.phero__crumb{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.phero__crumb a{color:var(--muted);transition:.2s}
.phero__crumb a:hover{color:#fff}
.phero__crumb .sep{color:var(--c,var(--magenta))}
.phero h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.028em;line-height:.98;
  font-size:clamp(46px,7.4vw,120px);max-width:15ch}
.phero__lead{font-size:clamp(17px,1.5vw,23px);color:var(--muted);max-width:58ch;margin-top:28px}
.phero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.phero .deco{z-index:-1}

/* photo hero variant (case detail, article) */
.phero--photo .phero__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.phero--photo::before{background:
  linear-gradient(180deg,rgba(10,10,20,.62),rgba(10,10,20,.4) 45%,rgba(10,10,20,.88)),
  linear-gradient(120deg,color-mix(in srgb,var(--c,var(--magenta)) 42%,transparent),transparent 60%)}

/* hero art (orb cluster, CSS-only) */
.phero--art .phero__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,72px);align-items:center}
.phero__art{position:relative;aspect-ratio:1;max-width:520px;justify-self:end;width:100%}
.phero__art .ring{position:absolute;inset:-8%;width:116%;opacity:.16;mix-blend-mode:screen}
.orb{position:absolute;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.92),var(--o) 68%);
  box-shadow:0 0 70px -12px var(--o),0 30px 60px -30px rgba(0,0,0,.6);
  animation:orb-float 7s ease-in-out infinite}
@keyframes orb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4.5%)}}
@media(prefers-reduced-motion:reduce){.orb{animation:none}}

/* meta line inside a dark hero (article / case detail) */
.article-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--muted);margin-top:26px}
.article-meta strong{color:#fff;font-weight:600}

/* ---------- light main ---------- */
.pg{position:relative;z-index:1;background:var(--paper);color:var(--l-ink)}
.lsec{position:relative;padding:clamp(84px,12vh,150px) var(--pad)}
.lsec--alt{background:var(--l-card)}
.lsec__inner{max-width:var(--maxw);margin:0 auto}
.lsec__head{max-width:var(--maxw);margin:0 auto clamp(40px,7vh,76px)}
.lsec__head .lead{margin-top:20px}
.lsec .lead,.pg .lead{color:var(--l-muted)}
/* shared dark-bg link component flipped for light sections (band/ecoband keep white) */
.pg .lsec .section__link{color:var(--l-ink)}
.lsec__foot{max-width:74ch;margin:clamp(40px,6vh,64px) auto 0;text-align:center;
  font-size:clamp(15px,1.2vw,17.5px);color:var(--l-muted);line-height:1.7}
.note-placeholder{display:inline-block;margin-top:18px;font-size:12.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--magenta);border:1px dashed color-mix(in srgb,var(--magenta) 50%,transparent);
  border-radius:var(--radius);padding:6px 12px}

/* ---------- pillar line (capability switcher, text only) ---------- */
.pillarline{display:flex;flex-wrap:wrap;gap:8px 30px;padding-bottom:20px;margin-bottom:clamp(48px,7vh,72px);
  border-bottom:1px solid var(--l-line)}
.pillarline a{position:relative;font-family:var(--font-display);font-weight:700;font-size:15.5px;
  color:var(--l-muted);padding:6px 0;transition:color .25s}
.pillarline a::after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:2px;
  background:var(--pc,var(--magenta));transform:scaleX(0);transform-origin:left;
  transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.pillarline a:hover,.pillarline a.is-active{color:var(--l-ink)}
.pillarline a.is-active::after,.pillarline a:hover::after{transform:scaleX(1)}

/* ---------- duo (editorial two-col: text + tinted photo) ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,88px);align-items:center}
.duo__media{position:relative;overflow:hidden;border-radius:var(--radius);isolation:isolate;
  min-height:340px;height:100%}
.duo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duo__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(140deg,color-mix(in srgb,var(--c,var(--purple)) 75%,transparent),transparent 62%);
  opacity:.45;mix-blend-mode:multiply}
.duo .h2{margin-bottom:24px}
.manifesto{max-width:58ch}
.manifesto p{font-size:clamp(19px,1.7vw,27px);line-height:1.45;color:var(--l-ink);font-weight:500}
.manifesto p + p{margin-top:1.15em;color:var(--l-muted);font-weight:400;font-size:clamp(16px,1.3vw,20px);line-height:1.6}

/* ---------- capabilities index (own component - links each pillar page) ---------- */
.capdex{border-top:1px solid var(--l-line)}
.capdex__row{display:grid;grid-template-columns:minmax(280px,1.05fr) 1.35fr auto;
  gap:clamp(20px,3.5vw,64px);align-items:center;
  padding:clamp(30px,4.5vh,52px) 0;border-bottom:1px solid var(--l-line)}
.capdex__row h3{display:flex;align-items:baseline;gap:16px;
  font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(24px,2.5vw,40px);line-height:1.06;color:var(--l-ink);transition:color .3s ease}
.capdex__row h3::before{content:"";flex:0 0 auto;width:15px;aspect-ratio:1;border-radius:50%;
  background:var(--c);transform:translateY(-2px);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.capdex__row:hover h3{color:var(--c)}
.capdex__row:hover h3::before{transform:translateY(-2px) scale(1.25)}
.capdex__body p{color:var(--l-muted);font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;max-width:58ch}
.capdex__tags{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px}
.capdex__tags li{font-size:13.5px;color:var(--l-muted)}
.capdex__tags li:not(:last-child)::after{content:"·";margin-left:14px;color:var(--c)}
.capdex__go{width:56px;aspect-ratio:1;border-radius:50%;border:1px solid var(--l-line);
  display:grid;place-items:center;color:var(--l-ink);
  transition:.35s cubic-bezier(.2,.7,.2,1)}
.capdex__go .iarrow{width:20px;height:20px}
.capdex__row:hover .capdex__go{background:var(--c);border-color:var(--c);color:#fff;transform:translateX(8px)}

/* ---------- sub-capability accordion (native details) ---------- */
.acc{max-width:1040px}
.acc__item{border-top:1px solid var(--l-line)}
.acc__item:last-child{border-bottom:1px solid var(--l-line)}
.acc__item summary{list-style:none;display:flex;align-items:center;gap:18px;
  padding:26px 0;cursor:pointer;color:var(--l-muted);transition:color .3s ease}
.acc__item summary::-webkit-details-marker{display:none}
.acc__item summary::before{content:"";flex:0 0 auto;width:16px;aspect-ratio:1;border-radius:50%;
  background:var(--c,var(--magenta));opacity:.4;transition:.3s cubic-bezier(.2,.7,.2,1)}
.acc__item summary::after{content:"+";margin-left:auto;font-size:26px;font-weight:400;
  color:var(--l-muted);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.acc__item[open] summary::after{transform:rotate(45deg);color:var(--l-ink)}
.acc__item summary:hover,.acc__item[open] summary{color:var(--l-ink)}
.acc__item summary:hover::before,.acc__item[open] summary::before{opacity:1;transform:scale(1.15)}
.acc__item h3{font-family:var(--font-display);font-weight:700;font-size:clamp(19px,1.7vw,26px);line-height:1.12}
.acc__body{padding:0 0 30px 34px}
.acc__item[open] .acc__body{animation:stepIn .45s cubic-bezier(.2,.7,.2,1)}
.acc__body p{color:var(--l-muted);font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;max-width:62ch}
@media(prefers-reduced-motion:reduce){.acc__item[open] .acc__body{animation:none}}

/* ---------- full-bleed photo statement band (dark island) ---------- */
.band{position:relative;isolation:isolate;overflow:hidden;min-height:64vh;
  display:flex;align-items:center;padding:14vh var(--pad);background:var(--ink);color:#fff}
.band__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,10,20,.7),rgba(10,10,20,.5)),
    linear-gradient(120deg,color-mix(in srgb,var(--c,var(--magenta)) 34%,transparent),transparent 65%)}
.band__inner{max-width:var(--maxw);margin:0 auto;width:100%}
.band h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1.02;
  font-size:clamp(36px,6vw,96px);max-width:17ch}
.band h2 em{font-style:italic;color:var(--c,var(--magenta))}
.band p{color:rgba(255,255,255,.82);font-size:clamp(16px,1.4vw,21px);max-width:56ch;margin-top:24px}
.band .btn{margin-top:36px}

/* ---------- ecosystem band (about: how we work; dark island) ---------- */
.ecoband{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;
  padding:clamp(84px,15vh,156px) var(--pad)}
.ecoband::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(58% 80% at 12% 6%,rgba(77,71,255,.26),transparent 60%),
    radial-gradient(52% 72% at 90% 26%,rgba(255,0,102,.20),transparent 60%),
    radial-gradient(70% 80% at 62% 116%,rgba(35,198,198,.15),transparent 60%)}
.ecoband__inner{max-width:var(--maxw);margin:0 auto}
.ecoband__head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end}
.ecoband h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.02;
  font-size:clamp(34px,5vw,74px)}
.ecoband h2 em{font-style:italic;color:var(--orange)}
.ecoband__lead{color:var(--muted);font-size:clamp(16px,1.3vw,20px);line-height:1.65;max-width:56ch}
.ecoband__close{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(21px,2.4vw,36px);line-height:1.18;max-width:26ch;color:#fff}
.ecoband__close em{font-style:italic;color:var(--orange)}

/* connected pipeline (static, per-node accents; lives on dark ecoband) */
.pipe{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0 16px;position:relative;
  margin:clamp(60px,9vh,96px) 0 clamp(44px,6vh,64px)}
.pipe::before{content:"";position:absolute;top:14px;left:8.333%;right:8.333%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#4d47ff,var(--purple),var(--magenta),#1598ff,#00e676,#9bc5ff)}
.pipe__node{position:relative;text-align:center;padding-top:42px}
.pipe__node::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:28px;height:28px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95),var(--nc) 68%);
  box-shadow:0 0 24px -3px var(--nc),0 0 0 8px rgba(255,255,255,.045)}
.pipe__node b{display:block;font-family:var(--font-display);font-weight:700;
  font-size:clamp(15px,1.3vw,21px);line-height:1.1}
.pipe__node:nth-child(1){--nc:#4d47ff}.pipe__node:nth-child(2){--nc:var(--purple)}
.pipe__node:nth-child(3){--nc:var(--magenta)}.pipe__node:nth-child(4){--nc:#1598ff}
.pipe__node:nth-child(5){--nc:#00e676}.pipe__node:nth-child(6){--nc:#9bc5ff}

/* ---------- pillar pager (prev / next) ---------- */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pager a{display:flex;flex-direction:column;gap:10px;padding:clamp(24px,2.6vw,40px);
  background:var(--l-card);border:1px solid var(--l-line);border-radius:var(--radius);
  transition:.35s cubic-bezier(.2,.7,.2,1)}
.pager a:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--pc,var(--magenta)) 55%,var(--l-line))}
.pager a:last-child{text-align:right;align-items:flex-end}
.pager span{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--l-muted)}
.pager strong{font-family:var(--font-display);font-weight:700;font-size:clamp(19px,1.7vw,26px);color:var(--l-ink)}

/* ---------- pillar cards (about: ecosystem bridge, light) ---------- */
.pillars{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.pillar{grid-column:span 2;position:relative;display:flex;flex-direction:column;gap:14px;
  background:var(--l-card);border:1px solid var(--l-line);border-radius:var(--radius);
  padding:clamp(26px,2.6vw,40px);overflow:hidden;isolation:isolate;
  transition:.4s cubic-bezier(.2,.7,.2,1)}
.pillars .pillar:nth-child(1),.pillars .pillar:nth-child(2){grid-column:span 3}
.pillar::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.6;transition:opacity .4s;
  background:radial-gradient(90% 90% at 100% 0%,color-mix(in srgb,var(--c) 12%,transparent),transparent 65%)}
.pillar:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 55%,var(--l-line))}
.pillar:hover::after{opacity:1}
.pillar h3{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,1.9vw,30px);line-height:1.08;color:var(--l-ink)}
.pillar p{color:var(--l-muted);font-size:16px;max-width:46ch}
.pillar .pillar__cta{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--l-ink);margin-top:auto;padding-top:12px}
.pillar .pillar__cta span{color:var(--c);transition:transform .25s;display:inline-block}
.pillar:hover .pillar__cta span{transform:translateX(5px)}

/* ---------- filters (case studies / insights; text underline, no pills) ---------- */
.filters{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(40px,6vh,60px)}
.filters__group{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 26px}
.filters__label{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--l-muted);margin-right:6px;min-width:88px}
.chip{position:relative;font-family:var(--font-body);font-size:15.5px;font-weight:600;
  padding:8px 0;border:0;background:none;color:var(--l-muted);cursor:pointer;transition:color .25s}
.chip::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;
  background:var(--magenta);transform:scaleX(0);transform-origin:left;
  transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.chip:hover,.chip.is-active{color:var(--l-ink)}
.chip.is-active::after{transform:scaleX(1)}
.filters__empty{display:none;color:var(--l-muted);font-size:16px;padding:40px 0}
.filters__empty.is-visible{display:block}

/* cases / insights index grids (dark photo tiles sit fine on light) */
/* dark photo tiles keep white text even inside the light .pg */
.pg .case,.pg .ins,.pg .ind{color:#fff}
.cases-index{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cases-index--2{grid-template-columns:repeat(2,1fr)}
.cases-index .case{min-height:440px}
.cases-index .case.is-hidden{display:none}
.cases-index .case h3{font-size:23px;text-shadow:0 1px 16px rgba(6,6,14,.5)}
/* index cards always show description + CTA (scannability > reveal) */
.cases-index .case p,.cases-index .case .case__cta{opacity:1;transform:none;max-height:none}
.cases-index .case .tile-clip::after{
  background:linear-gradient(to top,rgba(6,6,14,.96) 28%,rgba(6,6,14,.58) 60%,rgba(6,6,14,.15)),
             linear-gradient(140deg,color-mix(in srgb,var(--c) 60%,transparent),transparent 55%)}
.insights-index{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.insights-index .ins.is-hidden{display:none}
.ins__meta{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:14px}

/* ---------- case detail ---------- */
.glance{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.glance__cell{background:var(--l-card);border:1px solid var(--l-line);border-radius:var(--radius);padding:28px}
.glance__cell h4{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--l-muted);margin-bottom:14px}
.glance__cell p{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.3;color:var(--l-ink)}
.glance__metrics{display:flex;flex-direction:column;gap:14px}
.glance__metrics span{font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,2.4vw,40px);line-height:1;color:var(--c)}
.glance__metrics small{display:block;margin-top:6px;font-family:var(--font-body);font-weight:400;
  font-size:13.5px;color:var(--l-muted)}

.casebody{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.casebody__block{background:var(--l-card);border:1px solid var(--l-line);border-radius:var(--radius);
  padding:clamp(26px,2.8vw,44px);position:relative;overflow:hidden}
.casebody__block::before{content:"";position:absolute;top:0;left:0;width:72px;height:2px;background:var(--c)}
.casebody__block h3{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,1.9vw,30px);
  margin-bottom:16px;color:var(--l-ink)}
.casebody__block p{color:var(--l-muted);font-size:16.5px;line-height:1.6}

.testimonial{max-width:56ch;margin:0 auto;text-align:center}
.testimonial blockquote{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(26px,3vw,44px);line-height:1.22;color:var(--l-ink)}
.testimonial blockquote::before{content:"\201C";color:var(--c,var(--magenta))}
.testimonial blockquote::after{content:"\201D";color:var(--c,var(--magenta))}
.testimonial cite{display:block;margin-top:24px;font-style:normal;font-size:15px;color:var(--l-muted)}

/* ---------- article prose (light editorial) ---------- */
.prose{max-width:70ch;margin:0 auto}
.prose p{font-size:clamp(17px,1.3vw,19.5px);line-height:1.75;color:var(--l-ink);margin-bottom:1.4em}
.prose h2{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.01em;margin:1.8em 0 .7em;color:var(--l-ink)}
.prose blockquote{margin:1.8em auto;max-width:26ch;text-align:center;
  font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.2vw,32px);line-height:1.3;color:var(--l-ink)}
.prose blockquote::before{content:"\201C";color:var(--c,var(--magenta))}
.prose blockquote::after{content:"\201D";color:var(--c,var(--magenta))}
.prose ul{list-style:disc;padding-left:1.2em;margin-bottom:1.4em;color:var(--l-ink)}
.prose li{margin-bottom:.5em;font-size:17px;line-height:1.6}

/* ---------- about ---------- */
.statement__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.statement--hero{padding-top:120px}
.statement .philosophy .lead{color:var(--muted)}
.philosophy{text-align:center}
.philosophy h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.06;
  font-size:clamp(36px,5.6vw,84px)}
.philosophy h1 span{display:block}
.philosophy h1 .a1{color:var(--strat)}
.philosophy h1 .a2{color:var(--magenta)}
.philosophy h1 .a3{color:var(--orange)}
.philosophy .lead{margin:30px auto 0;max-width:52ch;
  font-family:var(--font-body);font-weight:400;letter-spacing:0;line-height:1.5;
  font-size:clamp(17px,1.5vw,23px)}
/* hero stat strip (lives on the dark about hero) */
.herostat{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,4vw,56px);
  margin-top:clamp(44px,7vh,72px)}
.herostat div{max-width:22ch;text-align:center;padding-left:clamp(10px,2vw,28px);
  border-left:1px solid var(--line)}
.herostat div:first-child{border-left:0;padding-left:0}
.herostat b{display:block;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;
  line-height:1;font-size:clamp(38px,4.6vw,62px);color:#fff}
.herostat span{display:block;margin-top:12px;font-size:13px;color:var(--muted);line-height:1.45}

/* who we are: editorial two-column (light) */
.whowe{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.whowe__body p{color:var(--l-muted);font-size:clamp(16.5px,1.3vw,20px);line-height:1.7}
.whowe__body p + p{margin-top:1.1em}
.whowe__story{margin-top:1.6em!important;padding-top:1.6em;
  border-top:1px solid var(--l-line);color:var(--l-ink)!important;font-weight:500}

/* philosophy: think / design / deliver momentum (light) */
.tdd{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.tdd__step{position:relative;padding-top:26px;border-top:2px solid var(--l-line)}
.tdd__step::before{content:"";position:absolute;top:-2px;left:0;width:72px;height:2px;background:var(--c)}
.tdd h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(26px,2.6vw,42px);line-height:1.02;margin:14px 0 16px;color:var(--l-ink)}
.tdd h3 em{font-style:italic;color:var(--c)}
.tdd p{color:var(--l-muted);font-size:clamp(15.5px,1.2vw,18px);line-height:1.65;max-width:32ch}

/* how-we-work principles ledger (light) */
.principles{display:grid;gap:0;max-width:1040px}
.principle{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(16px,3vw,48px);
  align-items:baseline;padding:24px 0;border-top:1px solid var(--l-line)}
.principle:last-child{border-bottom:1px solid var(--l-line)}
.principle__k{position:relative;font-family:var(--font-display);font-weight:700;color:var(--l-ink);
  font-size:clamp(19px,1.7vw,26px);line-height:1.1;padding-left:26px}
.principle__k::before{content:"";position:absolute;left:0;top:.32em;width:12px;height:12px;
  border-radius:50%;background:var(--c)}
.principle p{color:var(--l-muted);font-size:clamp(15.5px,1.2vw,18px);line-height:1.6}

/* culture values (light cards) */
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.value{background:var(--l-card);border:1px solid var(--l-line);border-radius:var(--radius);
  padding:clamp(26px,2.6vw,40px)}
.value h3{font-family:var(--font-display);font-weight:700;font-size:clamp(20px,1.8vw,27px);line-height:1.15;color:var(--l-ink)}
.value h3 em{font-style:normal;color:var(--c)}
.value p{color:var(--l-muted);font-size:16px;margin-top:12px}

/* ---------- contact (light form + office panel) ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px,5vw,88px);align-items:start}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.cform .cform__field--full{grid-column:1/-1}
.cform label{display:block;font-size:15px;font-weight:700;color:var(--l-ink);margin-bottom:8px}
.cform label .req{font-weight:400;color:var(--l-muted)}
.cform input:not([type=checkbox]),.cform textarea,.cform select{width:100%;font:inherit;font-size:16px;
  color:var(--l-ink);background:var(--l-card);border:1px solid var(--l-line);
  border-radius:var(--radius);padding:15px 16px;outline:none;transition:border-color .25s}
.cform input:focus,.cform textarea:focus,.cform select:focus{
  border-color:color-mix(in srgb,var(--magenta) 70%,transparent)}
.cform ::placeholder{color:var(--l-muted)}
.cform textarea{min-height:170px;resize:vertical}
.cform__select{position:relative}
.cform__select::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--l-ink);border-bottom:2px solid var(--l-ink);
  transform:translateY(-70%) rotate(45deg);pointer-events:none}
.cform select{appearance:none;cursor:pointer}
.cform select:invalid{color:var(--l-muted)}
.cform option{color:var(--l-ink);background:#fff}
.cform__error{display:none;font-size:14px;color:#d6244f;margin-top:8px}
.cform .is-error input,.cform .is-error textarea,.cform .is-error select{border-color:#d6244f}
.cform .is-error .cform__error{display:block}
.cform__check{display:flex;gap:14px;align-items:flex-start}
.cform__check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--magenta);cursor:pointer}
.cform__check label{font-weight:400;font-size:15px;line-height:1.55;margin:0;color:var(--l-muted)}
.cform__check label a{color:var(--l-ink);text-decoration:underline;text-underline-offset:3px}
.cform__check.is-error label{color:#d6244f}
.cform__submit{background:var(--ink);color:#fff;border:0;cursor:pointer}
.cform__submit:hover{background:var(--magenta);color:#fff}
.cform__foot{grid-column:1/-1;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.cform__note{font-size:14px;color:var(--l-muted)}
.office{position:sticky;top:120px;background:var(--l-card);border:1px solid var(--l-line);
  border-radius:var(--radius);padding:clamp(26px,2.6vw,40px)}
.office dl{display:grid;gap:18px}
.office dt{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--l-muted)}
.office dd{font-size:16px;margin-top:4px;color:var(--l-ink)}
.office dd a{color:var(--l-ink);text-decoration:underline;text-underline-offset:3px}
.office__careers{margin-top:26px;padding-top:22px;border-top:1px solid var(--l-line);
  font-size:15px;color:var(--l-muted)}
.office__careers strong{color:var(--l-ink)}
.office__careers a{color:var(--l-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- compact CTA band (interior pages; dark, gradient, no video) ---------- */
.cta--flat{min-height:56vh;padding:14vh var(--pad)}
.cta--flat::before{content:none}
.cta--flat .cta__title{font-size:clamp(40px,7vw,104px)}
.cta--flat{background:
  radial-gradient(80% 130% at 80% -10%,color-mix(in srgb,var(--purple) 45%,transparent),transparent 60%),
  radial-gradient(70% 120% at 10% 110%,color-mix(in srgb,var(--magenta) 30%,transparent),transparent 55%),
  var(--ink)}

/* ---------- industries index (bento, dark photo tiles on light) ---------- */
.industries-index{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:clamp(280px,34vh,380px)}
.industries-index .ind:nth-child(1),.industries-index .ind:nth-child(7){grid-column:span 2}
.industries-index .ind:nth-child(11){grid-column:1/-1}
.industries-index .ind p{max-width:40ch}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .phero--art .phero__inner{grid-template-columns:1fr}
  .phero__art{display:none}
  .duo{grid-template-columns:1fr}
  .duo__media{min-height:300px}
  .capdex__row{grid-template-columns:1fr auto}
  .capdex__body{grid-column:1/-1}
  .pillars{grid-template-columns:1fr 1fr}
  .pillars .pillar,.pillars .pillar:nth-child(1),.pillars .pillar:nth-child(2){grid-column:auto}
  .cases-index{grid-template-columns:1fr 1fr}
  .insights-index{grid-template-columns:1fr 1fr}
  .glance{grid-template-columns:1fr}
  .casebody{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .ecoband__head{grid-template-columns:1fr;gap:22px;align-items:start}
  .office{position:static}
  .industries-index{grid-template-columns:1fr 1fr}
  .industries-index .ind:nth-child(n){grid-column:auto}
}
@media(max-width:760px){
  .phero{padding:calc(76px + 8vh) var(--pad) 64px}
  .phero h1{font-size:clamp(42px,13vw,62px);max-width:12ch}
  .phero__lead{font-size:17px;max-width:34ch}
  .phero__crumb{align-items:flex-start;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.4}
  .lsec{padding:72px var(--pad)}
  .lsec__head{margin-bottom:34px}
  .pillarline{gap:4px 22px;margin-bottom:44px}
  .pillarline a::after{bottom:-1px}
  .manifesto p{font-size:19px}
  .capdex__row{padding:26px 0;gap:14px 18px}
  .capdex__row h3{gap:12px;font-size:24px}
  .capdex__row h3::before{width:12px}
  .capdex__go{width:44px}
  .capdex__go .iarrow{width:16px;height:16px}
  .acc__body{padding-left:0}
  .acc__item summary{gap:14px;padding:22px 0}
  .band{min-height:52vh;padding:88px var(--pad)}
  .band h2{font-size:clamp(34px,10vw,52px)}
  .pillars,.cases-index,.insights-index,.values,.industries-index,.whowe,.tdd{grid-template-columns:1fr}
  .tdd{gap:34px}
  .principle{grid-template-columns:1fr;gap:8px}
  .herostat div{border-left:0;padding-left:0;text-align:left;max-width:none}
  .herostat{gap:24px}
  .pipe{grid-template-columns:1fr;gap:24px;margin:48px 0 40px;padding:4px 0 0 30px}
  .pipe::before{top:8px;bottom:8px;left:9px;right:auto;width:2px;height:auto;
    background:linear-gradient(180deg,#4d47ff,var(--purple),var(--magenta),#1598ff,#00e676,#9bc5ff)}
  .pipe__node{text-align:left;padding-top:0}
  .pipe__node::before{top:1px;left:-30px;transform:none;width:20px;height:20px}
  .ecoband__close{max-width:none}
  .pillar,.value,.glance__cell,.casebody__block,.office{padding:26px}
  .filters{gap:12px;margin-bottom:34px}
  .filters__group{gap:0 20px}
  .filters__label{min-width:0;width:100%}
  .pager{grid-template-columns:1fr}
  .pager a:last-child{text-align:left;align-items:flex-start}
  .cform{grid-template-columns:1fr}
  .contact-grid{gap:38px}
  .cform__foot{align-items:stretch}
  .cform__submit{width:100%;justify-content:center}
  .office dl{gap:16px}
}
@media(max-width:560px){
  .industries-index{grid-auto-rows:minmax(320px,auto)}
  .philosophy h1{font-size:clamp(40px,14vw,58px)}
}
