/* Innate AI Consulting: shared stylesheet for the website and the insight articles. Order matters, later blocks override earlier ones. */
/* ===== base ===== */
:root{
  --ink:#10120f; --forest:#153f37; --paper:#f7f5ee; --paper-2:#ebe8df; --white:#fffefa;
  --mint:#78e6b6; --mint-deep:#153f37; --muted:#60645d; --line:rgba(16,18,15,.15);
  --serif:"DM Sans",Arial,sans-serif; --sans:"DM Sans",Arial,sans-serif; --mono:"Syne","DM Sans",Arial,sans-serif;
  --gutter:clamp(20px,5vw,112px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-size:18px;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:100%;margin:0 auto;padding:0 var(--gutter)}

/* bands */
.dark{background:var(--ink);color:#fff}
.forest{background:var(--forest);color:#fff}
.light{background:var(--paper);color:var(--ink)}
.cream{background:var(--paper-2);color:var(--ink)}
section.band{padding:88px 0}

/* type */
.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.dark .eyebrow,.forest .eyebrow{color:var(--mint)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1}
h1{font-size:clamp(44px,5.6vw,104px);font-weight:700;letter-spacing:-.045em;line-height:.95}
h2{font-size:clamp(32px,3.2vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1}
h3{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.1}
h1 em,h2 em{font-style:normal;color:var(--mint)}
em{font-style:normal}
.light h2 em,.cream h2 em{color:var(--forest)}
.lede{font-size:clamp(19px,1.25vw,23px);max-width:44ch;color:rgba(255,255,255,.72);margin-top:28px}
.light .lede,.cream .lede{color:var(--muted)}
.muted{color:var(--muted)}
.dark .muted{color:rgba(255,255,255,.6)}
.head-row{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;margin-bottom:56px}
.head-row p{color:var(--muted);font-size:clamp(16px,1vw,19px);max-width:52ch}
.dark .head-row p,.forest .head-row p{color:rgba(255,255,255,.62)}

/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(16,18,15,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
header .wrap{display:flex;align-items:center;height:66px;gap:20px}
header nav{margin-left:auto}
.brand{font-size:12px;font-weight:800;letter-spacing:.18em;white-space:nowrap}
.brand span{color:var(--mint)}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand-mark{height:26px;width:auto;display:block}
.foot-brand{display:inline-flex;align-items:center;gap:10px}
.foot-brand .brand-mark{height:20px;opacity:.8}
@media (max-width:760px){.brand-mark{height:22px}}
nav{display:flex;align-items:center;gap:4px}
nav a{font-size:12px;color:rgba(255,255,255,.66);padding:8px 13px;transition:color .2s;position:relative}
nav a:hover{color:#fff}
nav a.active{color:#fff}
nav a.active::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:1px;background:var(--mint)}
.nav-cta{background:var(--mint);color:var(--ink);font-weight:700;padding:11px 15px;margin-left:12px}
.nav-cta:hover{background:#fff}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:700;height:44px;padding:0 18px;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.btn-mint{background:var(--mint);color:var(--ink)}
.btn-mint:hover{background:#fff}
.btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}
.btn-ghost:hover{border-color:#fff}
.light .btn-ghost,.cream .btn-ghost{border-color:var(--line);color:var(--ink)}
.arrow{width:14px;height:14px}

/* pages */
.page{display:none}
.page.active{display:block;animation:fade .35s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* hero */
.hero{position:relative;overflow:hidden;padding:104px 0 72px;background:radial-gradient(circle at 82% 18%,rgba(120,230,182,.17),transparent 29%),var(--ink)}
[data-bg]{position:relative;overflow:hidden}
[data-bg]>canvas.bg-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
[data-bg]>.wrap{position:relative;z-index:1}
.hero .wrap{position:relative}
.hero h1{max-width:20ch}
.hero-sm{padding:92px 0 78px}
.hero-sm h1{font-size:clamp(42px,5.6vw,66px)}

/* proof strip */
.proof{border-top:1px solid rgba(255,255,255,.1)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.proof .wrap>div{padding:28px 0 32px 28px;border-right:1px solid rgba(255,255,255,.1)}
.proof .wrap>div:first-child{padding-left:0}
.proof .wrap>div:last-child{border-right:0}
.proof b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.045em;line-height:1;color:#fff;margin-bottom:6px;white-space:nowrap}
.proof span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* outcomes (forest band) */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.outcome{padding:26px 30px 30px 0;display:flex;flex-direction:column;min-height:280px}
.outcome+.outcome{padding-left:28px;border-left:1px solid rgba(255,255,255,.18)}
.outcome .num{font-family:var(--mono);font-size:10px;color:var(--mint)}
.outcome h3{margin:44px 0 12px;color:#fff}
.outcome p{font-size:18px;color:rgba(255,255,255,.68);margin-bottom:22px}
.outcome .tag{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mint)}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quote{background:var(--white);border:1px solid var(--line);padding:30px 28px;display:flex;flex-direction:column}
.quote blockquote{font-family:var(--serif);font-size:24px;letter-spacing:-.03em;line-height:1.18}
.quote blockquote::before{content:"“";display:block;font-size:44px;line-height:.8;color:var(--forest);margin-bottom:6px}
.quote cite{margin-top:auto;padding-top:24px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* closing cta */
.closing{text-align:center;background:radial-gradient(circle at 84% 18%,rgba(120,230,182,.15),transparent 30%),var(--ink)}
.closing h2{max-width:22ch;margin:0 auto}
.closing .btns{justify-content:center}

/* founder call */
.founder{padding:88px 0;border-bottom:1px solid var(--line)}
.founder .wrap{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.founder.no-photo .wrap{grid-template-columns:1fr}
.founder .f-bio a,.person-bio a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(16,18,15,.3)}
.f-photo{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--forest)}
.f-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.f-copy h2{font-size:clamp(40px,5vw,60px)}
.f-role{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.f-bio{font-size:19px;color:#3f423b;max-width:600px;margin-top:22px}
.f-creds{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.f-creds>img{height:30px;width:auto}
.f-creds>img[alt^="McKinsey"]{height:48px}
.f-creds .stats span{background:var(--white)}
.btn-dark{background:var(--ink);color:#fff;flex-shrink:0}
.btn-dark:hover{background:var(--forest)}

/* testimonials */
.book-quote{margin-top:32px;padding-left:18px;border-left:1px solid var(--mint)}
.book-quote blockquote{font-family:var(--serif);font-size:21px;letter-spacing:-.02em;line-height:1.25;color:#fff}
.book-quote cite{display:block;margin-top:10px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
/* nav cta */
.nav-cta{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:13px 18px;display:inline-flex;gap:10px;align-items:center}
.nav-arrow{transition:transform .2s}
.nav-cta:hover .nav-arrow{transform:translateX(4px)}

/* shared */
.round-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:18px;transition:background .2s}
.round-btn:hover{background:rgba(16,18,15,.06)}
.dark .round-btn{border-color:rgba(255,255,255,.22);color:#fff}
.dark .round-btn:hover{background:rgba(255,255,255,.1)}
.chev{font-family:var(--mono);font-size:19px;line-height:1;transition:transform .3s,color .2s;flex-shrink:0}
[aria-expanded="true"] .chev{transform:rotate(45deg)}
.ulink{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* tools */
.tools .head-row{margin-bottom:44px}
.tools-marquee{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)}
.tools-track{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;padding:8px 0;cursor:grab;touch-action:pan-x pan-y}
.tools-track::-webkit-scrollbar{display:none}
.tools-track.dragging,.t-track.dragging{cursor:grabbing}
.tool-badge{width:140px;height:92px;background:var(--white);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px;flex-shrink:0;transition:transform .2s,border-color .2s}
.tool-badge:hover{transform:translateY(-4px);border-color:var(--ink)}
.tool-badge img{max-width:100%;max-height:100%;object-fit:contain}
.tool-dark{background:#0c0c0c}
.tools-foot{display:flex;justify-content:center;margin-top:26px}

/* how we work: full-bleed, visual */
.how{padding-bottom:0}
.phases{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;position:relative;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.rail{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(3,1fr);pointer-events:none;z-index:2}
.rail span{position:relative}
.rail span::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--mint);transition:width .9s cubic-bezier(.16,1,.3,1)}
.how.seen .rail span::before{width:100%}
.how.seen .rail span:nth-child(2)::before{transition-delay:.5s}
.how.seen .rail span:nth-child(3)::before{transition-delay:1s}
.phase{display:grid;grid-template-rows:subgrid;grid-row:span 6;align-content:start;justify-items:stretch;text-align:left;color:#fff;padding:44px clamp(24px,3.2vw,56px) 48px;min-height:620px;border-left:1px solid rgba(255,255,255,.12);position:relative;transition:background .4s}
.phase:first-of-type{border-left:0;padding-left:var(--gutter)}
.phase:last-of-type{padding-right:var(--gutter)}
.phase::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(120,230,182,.12),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.phase:hover::after,.phase[aria-expanded="true"]::after{opacity:1}
.phase-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.phase-num{font-family:var(--serif);font-size:clamp(72px,8vw,120px);line-height:.8;letter-spacing:-.06em;color:rgba(255,255,255,.14);transition:color .4s}
.phase:hover .phase-num,.phase[aria-expanded="true"] .phase-num{color:var(--mint)}
.phase-tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.22);padding:5px 9px;color:rgba(255,255,255,.75);text-align:right;max-width:170px}
.pv{width:100%;height:auto;max-height:190px;margin:40px 0 36px;overflow:visible}
.pv text{font-family:var(--mono);font-size:10px;fill:rgba(255,255,255,.4)}
.pv-map .route{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1.5;stroke-dasharray:5 6}
.pv-map .node{fill:var(--ink);stroke:rgba(255,255,255,.5);stroke-width:1.5;transition:fill .4s,stroke .4s}
.how.seen .pv-map .node{fill:var(--mint);stroke:var(--mint)}
.how.seen .pv-map .node:nth-of-type(2){transition-delay:.25s}.how.seen .pv-map .node:nth-of-type(3){transition-delay:.5s}
.pv-map .goal{fill:var(--mint)}
.pv-map .goal-ring{fill:none;stroke:var(--mint);stroke-width:1;opacity:.5;transform-origin:196px 26px;animation:ring 2.4s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.5);opacity:0}}
.pv-build rect{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.2;transition:stroke .4s}
.pv-build rect.core{fill:var(--mint);stroke:var(--mint)}
.pv-build text{font-family:var(--serif);font-size:19px;fill:var(--ink);letter-spacing:-.03em}
.pv-link{fill:none;stroke:var(--mint);stroke-width:1.2;stroke-dasharray:4 4;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-16}}
.phase:hover .pv-build rect:not(.core){stroke:var(--mint)}
@keyframes pulse{50%{opacity:.35}}
.phase-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.phase-title h3{font-size:clamp(34px,3.4vw,48px)}
.phase .chev{color:rgba(255,255,255,.4);font-size:22px}
.phase[aria-expanded="true"] .chev{color:var(--mint)}
.phase-sum{font-size:18px;color:rgba(255,255,255,.75);margin-top:12px}
.phase-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1),margin .3s}
.phase-body>span{overflow:hidden;font-size:18px;line-height:1.7;color:rgba(255,255,255,.62)}
.phase[aria-expanded="true"] .phase-body{grid-template-rows:1fr;margin-top:16px}
.phase-deliv{align-self:start;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mint)}
@media (prefers-reduced-motion:reduce){.pv-link{animation:none}.pv-map .goal-ring{animation:none}}
/* testimonials carousel */
.t-track{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;padding:0 var(--gutter);cursor:grab;touch-action:pan-x pan-y}
.t-track::-webkit-scrollbar{display:none}
.t-track.dragging{cursor:grabbing}
.t-card{flex:0 0 min(560px,86vw);min-height:300px;background:#fff;border:0;padding:44px 40px 36px;position:relative;display:flex;flex-direction:column;justify-content:center}
.t-card::before{content:"“";position:absolute;top:6px;left:24px;font-family:var(--serif);font-size:110px;line-height:1;color:#000;opacity:.07}
.t-card blockquote{font-family:var(--serif);font-size:clamp(20px,1.9vw,24px);letter-spacing:-.025em;line-height:1.3;color:#000;position:relative}
.t-card blockquote+blockquote{margin-top:18px;padding-top:18px;border-top:1px solid #e5e5e5}
.t-card figcaption{display:flex;align-items:center;gap:12px;margin-top:26px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555}
.t-card figcaption::before{content:"";width:22px;height:1px;background:#000}
.t-nav{display:flex;justify-content:center;gap:12px;margin-top:30px}

/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);align-items:start}
.ind{display:flex;flex-direction:column;justify-content:flex-start;width:100%;text-align:left;background:var(--paper);transition:background .2s;align-self:stretch}
.ind:hover,.ind[aria-expanded="true"]{background:var(--white)}
.ind-head{display:flex;align-items:center;gap:16px;padding:22px 24px}
.ind-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:rgba(247,245,238,.6);border:1px solid rgba(16,18,15,.18);transition:border-color .3s,background .3s}
.ind-icon svg{width:20px;height:20px;fill:none;stroke:#8a8c84;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.ind:hover .ind-icon,.ind[aria-expanded="true"] .ind-icon{border-color:var(--forest);background:transparent}
.ind:hover .ind-icon svg,.ind[aria-expanded="true"] .ind-icon svg{stroke:var(--forest)}
.ind-name{flex:1;font-family:var(--serif);font-size:23px;letter-spacing:-.03em}
.ind[aria-expanded="true"] .chev{color:var(--forest)}
.ind-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1)}
.ind-body ul{overflow:hidden;list-style:none;padding:0 24px}
.ind[aria-expanded="true"] .ind-body ul{padding:0 24px 20px}
.ind[aria-expanded="true"] .ind-body{grid-template-rows:1fr}
.ind-body li{font-size:17px;color:var(--muted);padding:5px 0 5px 20px;position:relative}
.ind-body li::before{content:"→";position:absolute;left:0;color:var(--forest);font-size:12px}

/* insights */
.ins-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ins{background:var(--white);border:1px solid var(--line);padding:28px 24px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
a.ins:hover{border-color:var(--ink);transform:translateY(-3px)}
.ins-meta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ins h3{font-size:24px;margin:14px 0 10px}
.ins p{font-size:17px;color:var(--muted)}
.ins-go{margin-top:auto;padding-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--forest)}
.ins.soon{background:transparent;border-style:dashed}
.ins.soon .ins-go{color:var(--muted)}

/* faq */
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.faq-list{border-top:1px solid var(--ink)}
.faq{border-bottom:1px solid var(--line)}
.faq-q{display:flex;width:100%;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;text-align:left;font-size:19px;font-weight:500}
.faq-q:hover{color:var(--forest)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}
.faq-a p{overflow:hidden;font-size:18px;line-height:1.7;color:var(--muted)}
.faq.open .faq-a{grid-template-rows:1fr}
.faq.open .faq-a p{padding-bottom:24px}

/* team: engineers band */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.eng{padding:28px 28px 8px 0}
.eng+.eng{padding-left:28px;border-left:1px solid rgba(255,255,255,.18)}
.eng-n{font-family:var(--mono);font-size:10px;color:var(--mint)}
.eng h3{margin:40px 0 10px;font-size:26px}
.eng p{font-size:18px;color:rgba(255,255,255,.7)}

/* forms */
.form-layout{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:clamp(40px,6vw,120px);align-items:start}
.steps{list-style:none;border-top:1px solid var(--ink)}
.steps li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.steps b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--forest);padding-top:6px}
.steps h3{font-size:24px;margin-bottom:4px}
.steps p{color:var(--muted);font-size:18px}
.aside-alt{margin-top:26px;color:var(--muted);font-size:18px}
.looking{list-style:none;border-top:1px solid var(--ink)}
.looking li{font-family:var(--serif);font-size:24px;letter-spacing:-.03em;padding:16px 0;border-bottom:1px solid var(--line)}
.looking li::before{content:"→ ";color:var(--forest)}
.site-form{background:var(--white);border:1px solid var(--line);padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:18px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.site-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.site-form input:not([type=file]),.site-form select,.site-form textarea{font:inherit;font-family:var(--sans);font-size:18px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;padding:13px 14px;width:100%;transition:border-color .2s,background .2s}
.site-form textarea{resize:vertical;min-height:130px}
.site-form input:focus,.site-form select:focus,.site-form textarea:focus{outline:none;border-color:var(--forest);background:#fff}
.site-form .invalid{border-color:#b4442f!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.file-drop{flex-direction:row!important;align-items:center;gap:16px!important;border:1px dashed #bdb9aa;padding:18px;cursor:pointer;position:relative;transition:border-color .2s,background .2s}
.file-drop:hover,.file-drop.has-file{border-color:var(--forest);background:#f0f5f2}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fd-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0}
.fd-icon svg{width:18px;height:18px;fill:none;stroke:var(--forest);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fd-text{display:flex;flex-direction:column;gap:4px}
.fd-text b{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.fd-text small{font-size:10px}
.f-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.f-note{font-size:16px;color:var(--muted)}
.f-status{font-size:18px;min-height:1px}
.f-status.ok{color:var(--forest);background:#e6f2ec;padding:14px 16px}
.f-status.err{color:#8a2f1f;background:#f7e8e4;padding:14px 16px}
.f-status a{color:inherit;text-decoration:underline}
.site-form button[disabled]{opacity:.6;cursor:wait}

/* advisors */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.adv{border:1px dashed #bdb9aa;padding:32px 28px 30px;display:flex;flex-direction:column;min-height:280px;position:relative}
.adv-tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.adv-ph{width:84px;height:84px;border-radius:50%;border:1px dashed #bdb9aa;display:grid;place-items:center;font-family:var(--mono);font-size:22px;color:#a9a597;margin:28px 0 auto}
.adv h3{margin-top:28px;color:var(--muted)}
.adv p{font-size:17px;color:var(--muted);margin-top:8px}


/* case cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .25s,transform .25s;text-align:left;padding:10px}
.card:hover{border-color:var(--ink);transform:translateY(-2px)}
.card .shot{aspect-ratio:16/10;background:var(--paper-2);overflow:hidden}
.card .shot img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:object-position 3.2s ease-in-out,transform .5s}
.card:hover .shot img{transform:scale(1.03)}
.card .body{padding:20px 12px 10px;display:flex;flex-direction:column;flex:1}
.card .sector{font-size:10px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.card h3{margin-bottom:10px}
.card p{font-size:18px;color:var(--muted)}
.card .foot{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.card .go{color:var(--forest);flex-shrink:0}
.stats{display:flex;flex-wrap:wrap;gap:6px}
.stats span{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:6px 8px;background:var(--paper-2);color:var(--forest)}
.section-gap{margin-top:96px}
.note{margin-top:28px;font-size:16px;color:var(--muted)}

/* case studies: industry picker */
.cs-results{padding-top:72px}
.card .shot{position:relative}
.kind{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;background:rgba(16,18,15,.85);color:#fff}
.kind-build{background:var(--mint);color:var(--ink)}
.kind-collection{background:var(--forest);color:var(--mint)}
.card .plus{font-family:var(--mono);font-size:20px;color:var(--forest);flex-shrink:0}
.open-ext{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--forest)}

.collections{border-top:1px solid rgba(255,255,255,.18)}
.collection{display:grid;grid-template-columns:70px 1fr 1.2fr 40px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.18);transition:padding .25s}
.collection:hover{padding-left:12px}
.collection .n{font-family:var(--mono);font-size:11px;color:var(--mint)}
.collection h3{font-size:32px}
.collection p{font-size:18px;color:rgba(255,255,255,.66)}
.collection svg{color:var(--mint)}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.team-2{grid-template-columns:repeat(4,1fr)}
.member{text-align:left;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);padding:10px 10px 18px;transition:border-color .25s}
.member:hover{border-color:var(--ink)}
.member .ph{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--forest);position:relative}
.member .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .4s}
.member:hover .ph img{transform:scale(1.1)}
.member .mono{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:52px;color:#fff;background:var(--forest)}
.member h3{margin:18px 8px 0;font-size:25px}
.member .role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:6px 8px 0}
.member .more{margin:16px 8px 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--forest);padding-top:14px;border-top:1px solid var(--line)}
.member .more .chev{font-size:18px}
.member[aria-expanded="true"]{border-color:var(--forest);box-shadow:inset 0 -3px 0 var(--forest)}
.bio-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),margin .3s}
.bio-panel-inner{overflow:hidden}
.bio-panel.open{grid-template-rows:1fr;margin-top:16px}
.bp{position:relative;display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:center;background:var(--forest);color:#fff;padding:44px 48px}
.bio-panel.open .bp{animation:fade .5s ease}
.bp-photo{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--forest);box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.bp-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.bp-copy .eyebrow{color:var(--mint)}
.bp-copy h3{font-size:clamp(36px,4vw,50px)}
.bp-role{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:10px 0 20px}
.bp-text{font-size:18px;line-height:1.65;color:rgba(255,255,255,.82);max-width:640px;margin-bottom:12px}
.bp .stats{margin-top:20px}
.bp .stats span{background:rgba(255,255,255,.08);color:var(--mint)}
.bp-creds{display:flex;gap:26px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.bp-creds img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.85}
.bp-creds img.mck{height:44px}
.bp-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;color:rgba(255,255,255,.7);font-size:18px}
.bp-close:hover{background:rgba(255,255,255,.1);color:#fff}

/* modal */

/* book */
.book{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
.book .who{display:flex;gap:16px;align-items:center;margin-top:40px}
.book .who .ph{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--forest)}
.book .who .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.book .who b{display:block;font-size:18px}
.book .who span{font-size:16px;color:rgba(255,255,255,.6)}
.book ul{list-style:none;margin-top:36px;border-top:1px solid rgba(255,255,255,.14)}
.book li{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:18px;color:rgba(255,255,255,.8)}
.book li b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--mint);width:22px}
.cal{background:#fff;overflow:hidden;min-height:640px;border:1px solid rgba(255,255,255,.14)}
.cal iframe{width:100%;height:680px;border:0;display:block}
.cal-fallback{font-size:16px;color:rgba(255,255,255,.6);margin-top:14px}
.cal-fallback a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}

.book-sec{background:var(--ink);padding:88px 0 80px}
@media (max-width:760px){.book-sec{padding:56px 0}}
footer{overflow:hidden;background:var(--ink);color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.1);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
footer .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:30px;flex-wrap:wrap}
footer a:hover{color:#fff}

/* responsive */
@media (max-width:1020px){
  .form-layout{grid-template-columns:1fr}
  .eng-grid{grid-template-columns:repeat(2,1fr)}
  .eng:nth-child(3){padding-left:0;border-left:0}
  .eng:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}
  .phases{grid-template-columns:1fr}
  .rail{display:none}
  .phase{grid-row:auto;display:flex;flex-direction:column;min-height:0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .phase:first-of-type{border-top:0}
  .pv{max-width:340px}
  .bp{grid-template-columns:180px 1fr;gap:32px}
  .founder .wrap{grid-template-columns:200px 1fr;gap:40px}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .ins-grid{grid-template-columns:repeat(2,1fr)}
  .faq-wrap{grid-template-columns:1fr;gap:32px}
  .adv-grid{grid-template-columns:1fr}
  .adv{min-height:0}
  .team{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .outcome:nth-child(3){padding-left:0;border-left:0}
  .outcome:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .quotes{grid-template-columns:1fr}
  .book{grid-template-columns:1fr;gap:48px}
}
@media (max-width:760px){
  .f-row{grid-template-columns:1fr}
  .eng-grid{grid-template-columns:1fr}
  .eng,.eng+.eng{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .eng:first-child{border-top:0}
  .eng h3{margin-top:18px}
  .bp{grid-template-columns:1fr;gap:24px;padding:36px 22px}
  .bp-photo{width:140px}
  .founder{padding:64px 0}
  .founder .wrap{grid-template-columns:1fr;gap:28px}
  .f-photo{width:160px}
  .ind-grid,.ins-grid{grid-template-columns:1fr}
  .t-track{padding:0 16px}
  .t-card{padding:36px 24px 28px}
  .tool-badge{width:112px;height:76px;padding:14px}
  .nav-cta{padding:10px 14px}
    .wrap{padding:0 16px}
  section.band{padding:72px 0}
  header .wrap{height:auto;flex-wrap:wrap;gap:8px 12px;padding-top:12px;padding-bottom:8px}
  .brand{order:1}
  .nav-cta{order:2;margin-left:auto}
  header nav{order:3;width:calc(100% + 10px);overflow-x:auto;gap:0;margin-left:-10px;scrollbar-width:none}
  header nav::-webkit-scrollbar{display:none}
  nav a{padding:8px 10px;white-space:nowrap}
  .hero{padding:76px 0 68px}
  .head-row{grid-template-columns:1fr;gap:16px;margin-bottom:36px}
  .proof .wrap{grid-template-columns:repeat(2,1fr)}
  .proof .wrap>div{padding:20px 0 20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
  .proof .wrap>div:nth-child(odd){padding-left:0}
  .proof .wrap>div:nth-child(2){border-right:0}
  .proof b{font-size:30px}
  .grid-4,.cards{grid-template-columns:1fr}
  .outcome,.outcome+.outcome{min-height:0;padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .outcome:first-child{border-top:0}
  .outcome h3{margin-top:24px}
  .team{grid-template-columns:repeat(2,1fr);gap:10px}
  .member h3{font-size:21px}
  .collection{grid-template-columns:44px 1fr 24px;gap:14px}
  .collection p{grid-column:2/3}
  .collection svg{grid-row:1;grid-column:3}
  }
/* Lis photo was circle-cropped at source: zoom in to hide the cut edge */
.ph img[src*="lis-garcia"],.ph img[src*="advisors/"]{transform:scale(1.2) translateY(4%)}
.member:hover .ph img[src*="lis-garcia"],.member:hover .ph img[src*="advisors/"]{transform:scale(1.24) translateY(4%)}
/* large screens: scale body copy with the wider layout */
@media (min-width:1500px){
  body{font-size:19px}
  h3{font-size:32px}
  .outcome p,.phase-sum,.card p,.ins p,.faq-a p,.eng p,.ind-body li{font-size:19px}
  .faq-q{font-size:20px}
  .ind-name{font-size:26px}
  .t-card{flex-basis:min(680px,86vw)}
  .t-card blockquote{font-size:27px}
  .bp-text{font-size:19px;max-width:760px}
  .f-bio{font-size:20px;max-width:720px}
  .tool-badge{width:176px;height:112px}
  .member h3{font-size:30px}
}
/* ---- feedback round 2026-09-18 ---- */
/* softer section changes: a gentle slant instead of a hard straight edge */
.slant{position:relative;z-index:1;margin-top:calc(-1 * clamp(24px,3.5vw,56px));padding-top:calc(104px + clamp(24px,3.5vw,56px));clip-path:polygon(0 clamp(24px,3.5vw,56px),100% 0,100% 100%,0 100%)}
/* outcomes: icon + headline number */
.o-top{display:flex;align-items:center;justify-content:space-between}
.o-icon{width:26px;height:26px;fill:none;stroke:var(--mint);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.85;transition:transform .35s,opacity .35s}
.outcome{transition:background .35s}
.outcome:hover{background:rgba(255,255,255,.04)}
.outcome:hover .o-icon{transform:translateY(-3px);opacity:1}
/* build visual */
.pv-build rect{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.2}
.pv-build rect.core{fill:var(--mint);stroke:var(--mint)}
.pv-build rect.out{stroke:var(--mint);fill:rgba(120,230,182,.08)}
.pv-build text{font-family:var(--mono);font-size:11px;letter-spacing:.08em;fill:rgba(255,255,255,.6)}
.pv-build text.core-t{font-family:var(--serif);font-size:19px;letter-spacing:-.02em;fill:var(--ink)}
/* industries: focused list of five */
.ind-grid.ind-5{grid-template-columns:repeat(5,1fr);align-items:start;background:transparent;border:0;gap:10px}
.ind-5 .ind{border:1px solid var(--line);align-self:start}
.ind-5 .ind-head{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 22px}
.ind-5 .ind-head .chev{position:absolute;right:20px;top:24px}
.ind-5 .ind{position:relative}
/* team & partners: text-only profiles */
.people-block{display:grid;grid-template-columns:minmax(220px,.7fr) 2fr;gap:clamp(32px,5vw,96px);align-items:start}
.pb-head{position:sticky;top:110px}
.pb-head p.muted{margin-top:16px;max-width:34ch}
.people{border-top:1px solid var(--ink)}
.person{display:grid;grid-template-columns:minmax(200px,.8fr) 2fr;gap:clamp(20px,3vw,56px);padding:34px 0;border-bottom:1px solid var(--line)}
.person-id h3{font-size:clamp(28px,2.4vw,38px)}
.person-role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-top:10px}
.person-bio p{font-size:18px;line-height:1.65;color:#3f423b;margin-bottom:10px;max-width:70ch}
.person-bio .stats{margin-top:14px}
/* case study demos in a modal */
.card .plus{font-family:var(--mono);font-size:19px;color:var(--forest)}
.demo-note{padding:10px 24px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
/* jobs: same list pattern as the FAQ, form without a separate box */
.jobs-h{margin:0 0 6px}
.jobs{border-top:1px solid var(--ink)}
.job{border-bottom:1px solid var(--line)}
.job-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;width:100%;text-align:left;padding:24px 0}
.job-title{font-family:var(--serif);font-size:clamp(24px,2vw,30px);letter-spacing:-.03em}
.job-tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.job-head:hover .job-title{color:var(--forest)}
.job-head[aria-expanded="true"] .chev{color:var(--forest)}
.job-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,1,.3,1)}
.job-body>div{overflow:hidden}
.job-head[aria-expanded="true"]+.job-body{grid-template-rows:1fr}
.job-head[aria-expanded="true"]+.job-body>div{padding-bottom:28px}
.job-body p{font-size:18px;color:#3f423b;max-width:62ch;margin-bottom:18px}
.job.applying .job-apply{display:none}
.apply-form{background:transparent;border:0;padding:0}
@media (max-width:1020px){
  .ind-grid.ind-5{grid-template-columns:repeat(2,1fr)}
  .people-block{grid-template-columns:1fr;gap:24px}
  .pb-head{position:static}
}
@media (max-width:760px){
  .ind-grid.ind-5{grid-template-columns:1fr}
  .ind-5 .ind-head{flex-direction:row;align-items:center}
  .ind-5 .ind-head .chev{position:static;margin-left:auto}
  .person{grid-template-columns:1fr;gap:12px}
  .job-head{grid-template-columns:1fr auto}
  .job-tag{display:none}
}
/* redesign round: lighter sections, text link, closing sub */
.text-link{display:inline-flex;align-items:center;font-size:17px;color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35);padding:0 6px}
.text-link:hover{color:#fff;text-decoration-color:var(--mint)}
.closing-sub{margin:18px auto 0;color:rgba(255,255,255,.72);font-size:18px}
.testimonials .t-card{background:var(--ink)}
.testimonials .t-card::before{color:#fff;opacity:.1}
.testimonials .t-card blockquote{color:#fff}
.testimonials .t-card blockquote+blockquote{border-top-color:rgba(255,255,255,.15)}
.testimonials .t-card figcaption{color:rgba(255,255,255,.6)}
.testimonials .t-card figcaption::before{background:#fff}
/* team: headshots + secondary credentials */
.person-id{display:flex;flex-direction:column;gap:18px;align-items:flex-start;align-self:start}
.person-ph{width:min(200px,100%);aspect-ratio:1;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--forest)}
.person-ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.person-ph img[src*="lis-garcia"],.person-ph img[src*="advisors/"]{transform:scale(1.2) translateY(4%)}
.person-bio a,.person-creds a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(16,18,15,.3)}
.person-creds{margin-top:14px!important;font-family:var(--mono);font-size:11px!important;letter-spacing:.04em;color:var(--muted)!important;line-height:1.6}
/* featured case studies */
@media (max-width:1020px){.fc-big{grid-template-columns:1fr}.fc-shot{max-height:320px}.feat-grid{grid-template-columns:1fr}}
@media (max-width:760px){.fc-steps{grid-template-columns:1fr}.fc-results{grid-template-columns:1fr}}
/* industries: six equal cards, each opens that sector's case studies */
.ind-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind-card{background:rgba(255,254,250,.7);border:1px solid var(--line);padding:30px 30px 26px;display:flex;flex-direction:column;transition:background .3s,border-color .3s,transform .3s}
.ind-card:hover{background:var(--white);border-color:var(--forest);transform:translateY(-3px)}
.ind-card .ind-icon{margin-bottom:26px}
.ind-card:hover .ind-icon{border-color:var(--forest)}
.ind-card:hover .ind-icon svg{stroke:var(--forest)}
.ind-card h3{font-size:clamp(24px,2vw,30px);margin-bottom:16px}
.ind-card ul{list-style:none;margin-top:auto;border-top:1px solid var(--line);padding-top:14px}
.ind-card li{font-size:17px;color:var(--muted);padding:5px 0 5px 20px;position:relative}
.ind-card li::before{content:"→";position:absolute;left:0;color:var(--forest);font-size:12px}
@media (max-width:1020px){.ind-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.ind-cards{grid-template-columns:1fr}}
/* Maintain & Secure: support cycle */
.pv-cycle .orbit{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.2}
.pv-cycle .orbit-live{fill:none;stroke:var(--mint);stroke-width:1.6;stroke-dasharray:70 282;stroke-linecap:round;transform-origin:120px 75px;animation:orbit 6s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.pv-cycle .shield{fill:rgba(120,230,182,.1);stroke:var(--mint);stroke-width:1.5;stroke-linejoin:round}
.pv-cycle .tick{fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .8s ease .6s}
.how.seen .pv-cycle .tick{stroke-dashoffset:0}
.pv-cycle .node{fill:var(--ink);stroke:var(--mint);stroke-width:1.5}
.pv-cycle text{font-family:var(--mono);font-size:11px;letter-spacing:.08em;fill:rgba(255,255,255,.55)}
@media (prefers-reduced-motion:reduce){.pv-cycle .orbit-live{animation:none}.pv-cycle .tick{stroke-dashoffset:0}}
/* testimonials: short and visual */
.testimonials .t-card{flex:0 0 min(420px,82vw);min-height:300px;justify-content:space-between;padding:30px 32px 28px}
.testimonials .t-card::before{content:"“";top:auto;bottom:-30px;left:auto;right:18px;font-size:190px;opacity:.08}
.t-sector{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);border:1px solid rgba(120,230,182,.35);border-radius:999px;padding:6px 12px 6px 8px}
.t-sector svg{width:16px;height:16px;fill:none;stroke:var(--mint);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.testimonials .t-card blockquote{font-size:clamp(24px,2.1vw,30px);line-height:1.2;letter-spacing:-.03em;margin:26px 0 22px}
.t-card mark{background:none;color:var(--mint);font-style:normal}
/* lead-qualification diagnostic */
.quiz-sec{padding-top:72px}
.qz{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,4vw,64px);align-items:start}
.qz-main{min-height:520px;background:var(--white);border:1px solid var(--line);padding:clamp(24px,3.4vw,52px)}
.qz-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:34px}
.qz-top[hidden]{display:none}
.qz-dots{display:flex;gap:6px;flex:1;max-width:420px}
.qz-dots i{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .3s}
.qz-dots i.done{background:var(--forest)}
.qz-dots i.now{background:var(--mint)}
.qz-left{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.qz-stage.in{animation:qzIn .38s cubic-bezier(.16,1,.3,1)}
@keyframes qzIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.qz-count{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.qz-ic,.qp-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper-2);flex-shrink:0}
.qz-ic svg,.qp-ic svg{width:15px;height:15px;fill:none;stroke:var(--forest);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.qz-q{font-size:clamp(30px,3.2vw,46px);margin-bottom:30px;max-width:22ch}
.qz-sub{color:var(--muted);margin:-16px 0 24px}
.qz-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.qz-opts.many{grid-template-columns:repeat(3,1fr)}
.qz-opt{display:flex;align-items:center;gap:14px;text-align:left;min-height:68px;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:18px;line-height:1.3;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.qz-opt kbd{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1px solid var(--line);border-radius:6px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--white);transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.qz-opt:hover{border-color:var(--forest);transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(16,18,15,.5)}
.qz-opt:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.qz-opt.on{background:var(--forest);border-color:var(--forest);color:#fff}
.qz-opt.on kbd{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.qz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.qz-back{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qz-back:hover{color:var(--ink)}
.qz-hint{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.qz-intro{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-block:20px}
.qz-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.qz-intro h2{font-size:clamp(34px,3.8vw,56px);max-width:18ch}
.qz-bullets{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.qz-bullets li{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:17px;color:var(--muted)}
.qz-bullets b{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--ink)}
.qz-start{font-size:18px;height:52px;padding:0 26px}
.qz-fine{font-size:16px;color:var(--muted)}
.qz-form{background:transparent;border:0;padding:0;max-width:620px}
.qz-side{position:sticky;top:96px;background:var(--forest);color:#fff;padding:26px 24px}
.qz-side-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:16px}
.qz-profile{list-style:none;display:grid;gap:8px}
.qz-profile li{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;opacity:.45;transition:opacity .3s}
.qz-profile li.on{opacity:1}
.qz-profile .qp-ic{grid-row:span 2;background:rgba(255,255,255,.1)}
.qz-profile .qp-ic svg{stroke:var(--mint)}
.qp-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.qp-v{font-size:17px;line-height:1.25}
.qz-meter{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.qz-meter-bar{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.qz-meter-bar i{display:block;height:100%;width:0;background:var(--mint);transition:width .5s cubic-bezier(.16,1,.3,1)}
.qz-side-note{margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.6)}
.qz-res-head{display:flex;align-items:center;gap:26px;margin-bottom:22px}
.qz-res-head .qz-q{margin-bottom:0}
.qz-ring{--p:0;width:120px;height:120px;flex-shrink:0;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--white) 79%,transparent 81% 100%),conic-gradient(var(--forest) calc(var(--p)*1%),var(--line) 0)}
.qz-ring b{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1;letter-spacing:-.04em}
.qz-ring span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.qz-res-type{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:8px}
.qz-ladder{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:24px}
.qz-ladder li{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-align:center;padding:9px 6px;background:var(--paper-2);color:var(--muted)}
.qz-ladder li.on{background:var(--forest);color:var(--mint)}
.qz-res-copy{font-size:19px;line-height:1.55;max-width:60ch;margin-bottom:18px}
.qz-next{background:var(--paper);border-left:3px solid var(--forest);padding:16px 20px;margin-bottom:24px}
.qz-next-label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.qz-next p{margin-top:6px;font-size:18px}
.qz-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.qz-note{margin-top:14px;font-size:17px;color:var(--muted)}
@media (max-width:1020px){.qz{grid-template-columns:1fr}.qz-side{position:static;order:-1;padding:18px 20px}.qz-profile{grid-template-columns:repeat(2,1fr)}.qz-side-note{display:none}}
@media (max-width:760px){.qz-side{order:1}.qz-profile{grid-template-columns:repeat(2,1fr);gap:10px 8px}.qz-profile .qp-ic{display:none}.qz-profile li{grid-template-columns:1fr}.qz-opts,.qz-opts.many{grid-template-columns:1fr}.qz-hint{display:none}.qz-main{min-height:0}.qz-res-head{flex-direction:column;align-items:flex-start}.qz-ladder{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.qz-stage.in{animation:none}}
.person-now{font-family:var(--serif);font-size:clamp(20px,1.7vw,24px)!important;letter-spacing:-.02em;line-height:1.3!important;color:var(--ink)!important}
.qz-book{margin-top:6px}
.qz-book-h{font-family:var(--serif);font-size:24px;letter-spacing:-.02em;margin-bottom:12px}
.qz-cal{border:1px solid var(--line);background:#fff;overflow:hidden}
.qz-cal iframe{display:block;width:100%;height:620px;border:0}
.qz-more{margin-top:16px;font-size:18px}
/* ---- feedback 22 Sep: light outcomes, quote testimonials, editorial insights, visual jobs ---- */
.outcomes-light .grid-4{border-top-color:var(--line)}
.outcomes-light .outcome+.outcome{border-left-color:var(--line)}
.outcomes-light .outcome h3{color:var(--ink)}
.outcomes-light .outcome p{color:var(--muted)}
.outcomes-light .outcome .num{color:var(--forest)}
.outcomes-light .o-icon{stroke:var(--forest)}
.outcomes-light .outcome .tag{color:var(--forest);border-top-color:var(--line)}
.outcomes-light .outcome:hover{background:rgba(21,63,55,.05)}
/* testimonials as quotes on dark, no boxes */
.testimonials .t-card{background:transparent;border-left:1px solid rgba(255,255,255,.14);min-height:0;padding:8px 36px 8px 32px;flex-basis:min(440px,82vw)}
.testimonials .t-card::before{content:"\201C";position:static;display:block;font-family:var(--sans);font-weight:700;font-size:72px;line-height:.7;color:var(--mint);opacity:1;margin-bottom:10px}
.testimonials .t-card blockquote{color:#fff;font-weight:500;font-size:clamp(22px,1.9vw,27px);line-height:1.25;letter-spacing:-.02em;margin:18px 0 20px}
.testimonials .t-card blockquote::after{content:"\201D";color:var(--mint)}
.testimonials .t-card figcaption{color:rgba(255,255,255,.6)}
.testimonials .t-card figcaption::before{background:var(--mint)}
.testimonials .t-sector{order:-1}
/* editorial insights */
.ins-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:clamp(16px,2vw,24px)}
.ins-card{display:flex;flex-direction:column;gap:14px;min-height:300px;padding:clamp(26px,3vw,42px);border-radius:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:transform .3s var(--ease-out),box-shadow .3s}
.ins-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -26px rgba(16,18,15,.45)}
.ins-tag{align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);background:rgba(21,63,55,.1);padding:5px 12px;border-radius:999px}
.ins-card h3{font-size:clamp(26px,2.4vw,36px);line-height:1.1;letter-spacing:-.03em;margin-top:6px}
.ins-card p{font-size:18px;line-height:1.5;color:var(--muted);max-width:40ch}
.ins-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ins-card .ins-go{margin-top:0;padding-top:0;color:var(--forest);font-weight:700}
/* green cards: 1 and 4 on desktop (checkerboard), 1 and 3 on phones (alternating down the column) */
.ins-card:nth-child(1),.ins-card:nth-child(4){background:var(--forest);border-color:var(--forest);color:#fff}
.ins-card:nth-child(1) p,.ins-card:nth-child(4) p{color:rgba(255,255,255,.76)}
.ins-card:nth-child(1) .ins-tag,.ins-card:nth-child(4) .ins-tag{color:var(--mint);background:rgba(120,230,182,.14)}
.ins-card:nth-child(1) .ins-foot,.ins-card:nth-child(4) .ins-foot{border-top-color:rgba(255,255,255,.2);color:rgba(255,255,255,.6)}
.ins-card:nth-child(1) .ins-go,.ins-card:nth-child(4) .ins-go{color:var(--mint)}
@media (max-width:760px){
  .ins-cards{grid-template-columns:1fr;grid-auto-rows:auto}.ins-card{min-height:0}
  .ins-card:nth-child(n){background:var(--paper);border-color:var(--line);color:var(--ink)}
  .ins-card:nth-child(n) p{color:var(--muted)}
  .ins-card:nth-child(n) .ins-tag{color:var(--forest);background:rgba(21,63,55,.1)}
  .ins-card:nth-child(n) .ins-foot{border-top-color:var(--line);color:var(--muted)}
  .ins-card:nth-child(n) .ins-go{color:var(--forest)}
  .ins-card:nth-child(odd){background:var(--forest);border-color:var(--forest);color:#fff}
  .ins-card:nth-child(odd) p{color:rgba(255,255,255,.76)}
  .ins-card:nth-child(odd) .ins-tag{color:var(--mint);background:rgba(120,230,182,.14)}
  .ins-card:nth-child(odd) .ins-foot{border-top-color:rgba(255,255,255,.2);color:rgba(255,255,255,.6)}
  .ins-card:nth-child(odd) .ins-go{color:var(--mint)}
}
.ed-feature{display:grid;grid-template-columns:1fr;gap:22px}
.ed-cover{background:var(--forest);color:#fff;aspect-ratio:21/9;padding:22px 26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .4s}
.ed-feature:hover .ed-cover{transform:translateY(-3px)}
.ed-cover-k{position:absolute;top:20px;left:26px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.ed-cover-n{font-weight:700;font-size:clamp(46px,5vw,76px);letter-spacing:-.05em;line-height:.9;color:var(--mint)}
.ed-cover-c{font-size:clamp(15px,1.25vw,17px);margin-top:8px;max-width:34ch;color:rgba(255,255,255,.88)}
.ed-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ed-body h3{font-size:clamp(26px,2.4vw,36px);margin:10px 0 10px;transition:color .2s}
.ed-feature:hover h3{color:var(--forest)}
.ed-dek{font-size:18px;color:#3f423b;max-width:52ch}
.ed-by{margin-top:14px;font-size:17px;color:var(--muted)}
.ed-by span{color:var(--forest);font-weight:600}
.ed-list{list-style:none;border-top:1px solid var(--ink)}
.ed-list li{border-bottom:1px solid var(--line)}
.ed-list a{display:grid;gap:6px;padding:22px 0;transition:padding .25s}
.ed-list a:hover{padding-left:10px}
.ed-t{font-weight:700;font-size:clamp(20px,1.7vw,24px);letter-spacing:-.02em;line-height:1.2}
.ed-list a:hover .ed-t{color:var(--forest)}
.ed-d{font-size:18px;color:var(--muted)}
/* join us: one column, icon per role */
.jobs-wrap{max-width:1000px}
.job-head{grid-template-columns:44px 1fr auto auto}
.job-ic{width:44px;height:44px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;transition:background .25s}
.job-ic svg{width:20px;height:20px;fill:none;stroke:var(--forest);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s}
.job-head[aria-expanded="true"] .job-ic,.job-head:hover .job-ic{background:var(--forest)}
.job-head[aria-expanded="true"] .job-ic svg,.job-head:hover .job-ic svg{stroke:var(--mint)}
.job-body>div{padding-left:64px}
/* industries: lighter, less boxy */
.ind-card{background:transparent;border:0;border-top:2px solid var(--ink);padding:24px 4px 8px}
.ind-card:hover{background:transparent;transform:none;border-top-color:var(--forest)}
.ind-card ul{border-top:0;padding-top:4px}
/* team: monogram when no photo */
.person-mono{display:grid;place-items:center;width:100%;height:100%;font-weight:700;font-size:22px;color:var(--mint)}
@media (max-width:760px){.job-head{grid-template-columns:40px 1fr auto}.job-body>div{padding-left:0}.testimonials .t-card{padding:4px 22px 4px 20px}}

/* outcomes visuals */
.outcomes-light .outcome{min-height:0;padding-bottom:26px}
.outcomes-light .outcome h3{margin:22px 0 8px}
.outcomes-light .outcome p{margin-bottom:0}
.o-vis{display:block;width:100%;max-width:220px;height:auto;margin-top:22px;overflow:visible}
.o-vis .b{fill:rgba(21,63,55,.16)}
.o-vis .hi{fill:var(--mint)}
.o-vis .bar-bg{fill:rgba(16,18,15,.14)}
.o-vis text{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;fill:var(--muted)}
.o-vis .ln{fill:none;stroke:var(--forest);stroke-width:2.5;stroke-linecap:round}
.o-vis .hi-ln{stroke:var(--forest)}
.o-vis .dash{stroke:rgba(16,18,15,.3);stroke-dasharray:5 6;stroke-width:1.5}
.o-vis .area{fill:rgba(120,230,182,.35)}
.o-vis .dot{fill:var(--mint);stroke:var(--forest);stroke-width:2}
.outcomes-light.seen .o-vis .b,.outcomes-light.seen .o-vis .bar{transform-box:fill-box;animation:oGrowY .9s cubic-bezier(.2,.7,.2,1) both}
.outcomes-light.seen .o-vis .bar{animation-name:oGrowX}
.outcomes-light.seen .o-vis .b:nth-of-type(2){animation-delay:.08s}.outcomes-light.seen .o-vis .b:nth-of-type(3){animation-delay:.16s}.outcomes-light.seen .o-vis .b:nth-of-type(4){animation-delay:.24s}.outcomes-light.seen .o-vis .b:nth-of-type(5){animation-delay:.32s}
.outcomes-light.seen .o-vis .ln:not(.dash){stroke-dasharray:260;animation:oDraw 1.3s ease-out both}
@keyframes oGrowY{from{transform:scaleY(.15);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
@keyframes oGrowX{from{transform:scaleX(.1);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@keyframes oDraw{from{stroke-dashoffset:260}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.outcomes-light.seen .o-vis *{animation:none!important}}
/* industries note */
.ind-note{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 24px;align-items:baseline;justify-content:space-between;color:var(--muted);font-size:18px}
.ind-note strong{color:var(--ink);font-weight:600}
/* engineers band */
.eng-grid.eng-3{grid-template-columns:repeat(3,1fr);margin-top:44px}
@media (max-width:760px){.eng-grid.eng-3{grid-template-columns:1fr}.eng-grid.eng-3 .eng+.eng{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.18)}}
.eng h3{margin-top:26px}

/* motion polish (Emil Kowalski design-engineering rules) */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.btn,.round-btn,.fp,.qz-opt,.nav-cta,.faq-q .chev{transition-timing-function:var(--ease-out)}
.btn,.round-btn,.fp{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .16s var(--ease-out)}
.nav-cta{transition:background-color .2s ease,transform .16s var(--ease-out)}
.btn:active,.round-btn:active,.fp:active,.nav-cta:active{transform:scale(.97)}
.qz-opt{transition:background-color .2s ease,border-color .2s ease,transform .16s var(--ease-out)}
.qz-opt:hover{transform:none;box-shadow:none}
.qz-opt:active{transform:scale(.98)}
.chev{transition:transform .22s var(--ease-out),color .2s ease}
.phase-body{transition:grid-template-rows .3s var(--ease-out),margin .3s var(--ease-out)}
.ind-body,.bio-panel{transition:grid-template-rows .3s var(--ease-out)}
@keyframes modalIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
/* hover lifts only on real pointers; touch taps fire false hovers */
@media (hover:none),(pointer:coarse){
  .tool-badge:hover,a.ins:hover,.card:hover,.ind-card:hover,.rv-card:hover,.ed-feature:hover .ed-cover,.outcome:hover .o-icon{transform:none}
  .card:hover .shot img{transform:none}
}
/* staggered group entrance, once per visit; content stays visible without JS */
.js-stagger .st-item{opacity:0;transform:translateY(12px)}
.js-stagger.st-in .st-item{opacity:1;transform:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i,0) * 60ms)}
@media (prefers-reduced-motion:reduce){
  .js-stagger .st-item{transform:none}
  .js-stagger.st-in .st-item{transition:opacity .2s ease;transition-delay:0s}
  .btn:active,.round-btn:active,.fp:active,.nav-cta:active,.qz-opt:active{transform:none}
}

/* polish (impeccable craft floor): browser surfaces, type, touch targets */
::selection{background:var(--mint);color:var(--ink)}
html{scrollbar-color:rgba(21,63,55,.45) transparent;-webkit-tap-highlight-color:rgba(120,230,182,.25)}
input,textarea{caret-color:var(--forest)}
.dark :focus-visible,.forest :focus-visible,.hero :focus-visible,header :focus-visible,.testimonials :focus-visible{outline-color:var(--mint)}
h1,h2,h3,.rv-card h3{text-wrap:balance}
p,blockquote,li{text-wrap:pretty}
.num,.rv-big,.ed-cover-n,.qz-meter,.score{font-variant-numeric:tabular-nums}
a{text-underline-offset:3px}
.round-btn{width:44px;height:44px}
@media (max-width:760px){nav a{padding-top:12px;padding-bottom:12px}}

/* insights list: outline article icon */
.ed-list a{grid-template-columns:34px 1fr;align-items:start;column-gap:16px}
.ed-txt{display:grid;gap:6px}
.ed-ic{width:26px;height:26px;margin-top:2px;fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.35;transition:opacity .25s ease,stroke .25s ease}
.ed-list a:hover .ed-ic{opacity:1;stroke:var(--forest)}
@media (max-width:520px){.ed-list a{grid-template-columns:26px 1fr;column-gap:12px}.ed-ic{width:22px;height:22px}}

/* case studies: category blocks */
.cs-cat-h span::before{content:"("}.cs-cat-h span::after{content:")"}

/* media page */
.pod{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,54px);align-items:center}
.pod-body h2{margin:10px 0 14px}
.pod-body p{font-size:18px;color:var(--muted);max-width:44ch}
.pod-links{margin-top:18px}
.vid-play{display:block;width:100%;position:relative;padding:0;border:0;background:var(--ink);overflow:hidden;cursor:pointer;aspect-ratio:16/9;border-radius:6px}
.vid-play img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:opacity .3s ease,transform .5s var(--ease-out)}
.vid-play:hover img{opacity:1;transform:scale(1.02)}
.vid-btn{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:var(--mint);display:grid;place-items:center;transition:transform .2s var(--ease-out)}
.vid-play:hover .vid-btn{transform:scale(1.06)}
.vid-btn svg{width:26px;height:26px;fill:var(--ink);margin-left:3px}
.vid-frame{width:100%;aspect-ratio:16/9;border:0;display:block;border-radius:6px}
.reels-head{margin:clamp(46px,6vw,78px) auto 30px;padding-top:30px;border-top:1px solid var(--line);text-align:center;max-width:1100px}
.reels-head h2{margin-top:8px}
.reels-rail{position:relative;max-width:1100px;margin-inline:auto}
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.reels::-webkit-scrollbar{display:none}
.reel{scroll-snap-align:start}
.reels-nav{display:flex;justify-content:center;gap:12px;margin-top:26px}
.reels-nav[hidden]{display:none}
.reel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.reel-shot{position:relative;display:block;width:100%;aspect-ratio:9/16;background:var(--ink);overflow:hidden;border-radius:10px}
.reel-shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out),opacity .3s ease;opacity:.92}
.reel:hover .reel-shot img{transform:scale(1.03);opacity:1}
.reel-play{position:absolute;inset:0;margin:auto;width:48px;height:48px;border-radius:50%;background:var(--mint);display:grid;place-items:center;transition:transform .2s var(--ease-out)}
.reel:hover .reel-play{transform:scale(1.08)}
.reel-play svg{width:20px;height:20px;fill:var(--ink);margin-left:2px}
.reel-t{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-top:4px}
.reel-d{font-size:17px;color:var(--muted);line-height:1.45}
.reel-frame{width:100%;aspect-ratio:9/16;border:0;display:block;border-radius:10px}
.fl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fl{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 26px 22px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);color:#fff;transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-out)}
.fl:hover{background:rgba(255,255,255,.07);border-color:var(--mint);transform:translateY(-3px)}
.fl-ic svg{width:26px;height:26px;fill:none;stroke:var(--mint);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fl-t{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:10px}
.fl-d{font-size:18px;color:rgba(255,255,255,.66)}
.fl-go{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.closing-light{text-align:center}
.closing-light .lede{margin:18px auto 26px}
@media (max-width:900px){.pod{grid-template-columns:1fr}}
@media (max-width:860px){.fl-grid{grid-template-columns:1fr}}
@media (max-width:640px){.reels{grid-auto-columns:78%}}
/* media: softer transitions and one big CTA */
.media-hero{padding-bottom:clamp(88px,10vw,130px)}
.media-main{padding-top:clamp(56px,7vw,92px);background:transparent}
.media-main>.wrap{position:relative;z-index:2}
.pod{align-items:end}
.pod-video{box-shadow:0 30px 60px -40px rgba(16,18,15,.6)}
.pod-body{padding-bottom:6px}
.reels-head{border-top:0;padding-top:0}
.media-social{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:clamp(40px,5vw,64px)}
.soc{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:16px;font-weight:600;color:var(--ink);transition:border-color .2s,transform .2s}
.soc:hover{border-color:var(--ink);transform:translateY(-1px)}
.soc svg{width:22px;height:22px;flex:none}
.media-follow{margin:18px auto 0;text-align:center;font-size:18px;color:var(--muted)}
.media-follow a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(16,18,15,.3)}
.media-follow a:hover{color:var(--forest)}
.cta-band{padding-top:clamp(40px,5vw,64px)}
.cta-box{position:relative;overflow:hidden;background:var(--forest);color:#fff;border-radius:16px;padding:clamp(28px,3.4vw,44px) clamp(22px,4vw,48px);text-align:center;max-width:860px;margin:0 auto}
.cta-box h2{font-size:clamp(26px,2.4vw,38px)}
.cta-box .eyebrow{color:var(--mint)}
.cta-box h2{margin:14px auto 16px;max-width:20ch;color:#fff}
.cta-box h2 em{color:var(--mint)}
.cta-box>p{max-width:52ch;margin:0 auto 22px;font-size:17px;color:rgba(255,255,255,.75)}
.btn-xl{height:60px;padding:0 34px;font-size:18px}
@media (max-width:760px){.btn-xl{width:100%;justify-content:center}}

/* our story */
.story{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(34px,6vw,90px);align-items:start}
.story-body h2{margin:10px 0 22px}
.story-body p{font-size:19px;line-height:1.55;color:#3f423b;max-width:60ch}
.story-body p+p{margin-top:16px}
.story-founder{border-top:1px solid var(--line);padding-top:24px}
.story-ph{display:block;width:100%;max-width:230px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--paper-2)}
.story-ph img{width:100%;height:100%;object-fit:cover}
.sf-name{margin-top:22px;font-size:24px;font-weight:700;letter-spacing:-.02em}
.sf-role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-top:4px}
.sf-creds{margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);line-height:1.6}
.sf-creds a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(16,18,15,.3)}
.story-founder blockquote{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:19px;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
@media (max-width:900px){.story{grid-template-columns:1fr}.story-ph{max-width:170px}}

/* case cards: a live look at the product instead of one static frame */
@media (hover:hover) and (pointer:fine){
  .card:hover .shot img,.card:focus-visible .shot img{object-position:center bottom}
}
.card:hover .shot-live,.card:focus-visible .shot-live{opacity:1;transform:none}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.card .shot img{transition:none}.shot-live i{animation:none}}
@media (max-width:760px){.shot-live{opacity:1;transform:none}}

/* voice note step */
.vn{margin:6px 0 22px;padding:20px;background:var(--white);border:1px solid var(--line)}
.vn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vn-rec .vn-dot{width:10px;height:10px;border-radius:50%;background:#e4574b;flex:none}
.vn-rec.on .vn-dot{animation:livePulse 1.2s ease-in-out infinite}
.vn-time{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:42px}
.vn-clear{font-size:16px;height:38px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--muted)}
.vn-audio{width:100%;margin-top:14px}
.vn-hint{margin-top:12px;font-size:16px;color:var(--muted)}
.vn-text{display:block;margin-bottom:22px}
.vn-text textarea{width:100%;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);margin-top:8px}

.qz-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.qz-dl span{font-size:17px;color:var(--muted)}
/* case studies: category blocks */
.cs-cat-h span::before{content:"("}.cs-cat-h span::after{content:")"}

/* media page */
.vid-feature{margin-top:8px}
.vid-play{display:block;width:100%;position:relative;padding:0;border:0;background:var(--ink);overflow:hidden;cursor:pointer;aspect-ratio:16/9}
.vid-play img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .3s ease,transform .5s var(--ease-out)}
.vid-play:hover img{opacity:1;transform:scale(1.02)}
.vid-btn{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;background:var(--mint);display:grid;place-items:center;transition:transform .2s var(--ease-out)}
.vid-play:hover .vid-btn{transform:scale(1.06)}
.vid-btn svg{width:30px;height:30px;fill:var(--ink);margin-left:3px}
.vid-meta{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:28px 30px;background:linear-gradient(transparent,rgba(16,18,15,.85))}
.vid-ep{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.vid-t{font-size:clamp(22px,2.2vw,32px);font-weight:700;letter-spacing:-.03em;color:#fff}
.vid-frame{width:100%;aspect-ratio:16/9;border:0;display:block}
.fl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fl{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 26px 22px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);color:#fff;transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-out)}
.fl:hover{background:rgba(255,255,255,.07);border-color:var(--mint);transform:translateY(-3px)}
.fl-ic svg{width:26px;height:26px;fill:none;stroke:var(--mint);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fl-t{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-top:10px}
.fl-d{font-size:18px;color:rgba(255,255,255,.66)}
.fl-go{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.closing-light{text-align:center}
.closing-light .lede{margin:18px auto 26px}
@media (max-width:860px){.fl-grid{grid-template-columns:1fr}.vid-btn{width:60px;height:60px}.vid-meta{padding:20px}}

/* quiz: dynamic scorecard breakdown */
.qz-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0 30px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.qz-dim-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.qz-dim-n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qz-dim-top b{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.qz-dim-bar{display:block;height:4px;margin:10px 0 10px;background:var(--paper-2);border-radius:2px;overflow:hidden}
.qz-dim-bar i{display:block;height:100%;background:var(--forest);border-radius:2px;animation:qzBar .7s var(--ease-out) both}
@keyframes qzBar{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.qz-dim-note{display:block;font-size:17px;color:var(--muted);line-height:1.45}
@media (max-width:760px){.qz-dims{grid-template-columns:1fr;gap:18px}}

/* scorecard landing (quiz tab) */
.sc-ribbon{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:26px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.sc-ribbon span{display:inline-flex;align-items:center;gap:8px}
.sc-ribbon span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--mint);opacity:.6}
.sc-hero .btns{margin-top:30px}
.sc-fine{margin-top:16px;font-size:17px;color:rgba(255,255,255,.55)}
.sc-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18);margin-top:8px}
.sc-steps li{padding:26px 30px 30px 0;color:#fff}
.sc-steps li+li{padding-left:30px;border-left:1px solid rgba(255,255,255,.18)}
.sc-steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--mint);color:var(--mint);font-family:var(--mono);font-size:11px}
.sc-steps h3{margin:26px 0 8px;font-size:22px;color:#fff}
.sc-steps p{font-size:18px;color:rgba(255,255,255,.68)}
.sc-quote{margin-top:52px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18);max-width:72ch}
.sc-quote blockquote{font-size:clamp(20px,1.9vw,26px);font-weight:500;line-height:1.3;letter-spacing:-.02em;color:#fff}
.sc-quote figcaption{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.sc-faq .narrow{max-width:820px}
.sc-faq h2{margin-bottom:26px}
.btns.center{justify-content:center;margin-top:34px}
@media (max-width:860px){
  .sc-cards,.sc-steps{grid-template-columns:1fr}
  .sc-card+.sc-card,.sc-steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .sc-steps li+li{border-top-color:rgba(255,255,255,.18)}
  .sc-card,.sc-steps li{padding-right:0}
}

/* quiz: write-in answer for "other" */
.qz-other{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);animation:oFade .3s ease both}
.qz-other-l{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.qz-other-row{display:flex;gap:10px;flex-wrap:wrap}
.qz-other-row input{flex:1 1 240px;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);color:var(--ink)}
.qz-other-row input:focus-visible{outline:2px solid var(--forest);outline-offset:1px}
.qz-other-row .btn{flex:0 0 auto}
@media (max-width:520px){.qz-other-row .btn{width:100%;justify-content:center}}

/* mobile polish */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,.qz-opt,.faq-q,.job-head{touch-action:manipulation}
nav{scroll-padding-inline:16px}
@media (max-width:760px){
  nav{padding-right:16px}
  .reel-t{font-size:20px}
  .qz-dims{gap:20px}
  .sc-ribbon{gap:8px 14px;font-size:10px}
}

/* our story */
.story{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(34px,6vw,90px);align-items:start}
.story-body h2{margin:10px 0 22px}
.story-body p{font-size:19px;line-height:1.55;color:#3f423b;max-width:60ch}
.story-body p+p{margin-top:16px}
.story-founder{border-top:1px solid var(--line);padding-top:24px}
.story-ph{display:block;width:100%;max-width:230px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--paper-2)}
.story-ph img{width:100%;height:100%;object-fit:cover}
.sf-name{margin-top:22px;font-size:24px;font-weight:700;letter-spacing:-.02em}
.sf-role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-top:4px}
.sf-creds{margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);line-height:1.6}
.sf-creds a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(16,18,15,.3)}
.story-founder blockquote{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:19px;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
@media (max-width:900px){.story{grid-template-columns:1fr}.story-ph{max-width:170px}}

/* case cards: a live look at the product instead of one static frame */
@media (hover:hover) and (pointer:fine){
  .card:hover .shot img,.card:focus-visible .shot img{object-position:center bottom}
}
.card:hover .shot-live,.card:focus-visible .shot-live{opacity:1;transform:none}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.card .shot img{transition:none}.shot-live i{animation:none}}
@media (max-width:760px){.shot-live{opacity:1;transform:none}}

/* voice note step */
.vn{margin:6px 0 22px;padding:20px;background:var(--white);border:1px solid var(--line)}
.vn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vn-rec .vn-dot{width:10px;height:10px;border-radius:50%;background:#e4574b;flex:none}
.vn-rec.on .vn-dot{animation:livePulse 1.2s ease-in-out infinite}
.vn-time{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:42px}
.vn-clear{font-size:16px;height:38px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--muted)}
.vn-audio{width:100%;margin-top:14px}
.vn-hint{margin-top:12px;font-size:16px;color:var(--muted)}
.vn-text{display:block;margin-bottom:22px}
.vn-text textarea{width:100%;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);margin-top:8px}

.qz-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.qz-dl span{font-size:17px;color:var(--muted)}

/* case cards: a live look at the product instead of one static frame */
@media (hover:hover) and (pointer:fine){
  .card:hover .shot img,.card:focus-visible .shot img{object-position:center bottom}
}
.card:hover .shot-live,.card:focus-visible .shot-live{opacity:1;transform:none}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.card .shot img{transition:none}.shot-live i{animation:none}}
@media (max-width:760px){.shot-live{opacity:1;transform:none}}

/* voice note step */
.vn{margin:6px 0 22px;padding:20px;background:var(--white);border:1px solid var(--line)}
.vn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vn-rec .vn-dot{width:10px;height:10px;border-radius:50%;background:#e4574b;flex:none}
.vn-rec.on .vn-dot{animation:livePulse 1.2s ease-in-out infinite}
.vn-time{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:42px}
.vn-clear{font-size:16px;height:38px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--muted)}
.vn-audio{width:100%;margin-top:14px}
.vn-hint{margin-top:12px;font-size:16px;color:var(--muted)}
.vn-text{display:block;margin-bottom:22px}
.vn-text textarea{width:100%;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);margin-top:8px}

.qz-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.qz-dl span{font-size:17px;color:var(--muted)}

/* homepage hero: the founder on mute behind the headline */
.home-hero{isolation:isolate}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease}
.hero-video.on{opacity:.28}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none}
.home-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(16,18,15,.95) 0%,rgba(16,18,15,.85) 42%,rgba(16,18,15,.62) 100%)}
.home-hero>.wrap{position:relative;z-index:2}
.home-hero canvas{z-index:1}
@media (max-width:760px){.hero-video{display:none}}
@media (prefers-reduced-motion:reduce){.hero-video{display:none}}

/* voice note step */
.vn{margin:6px 0 22px;padding:20px;background:var(--white);border:1px solid var(--line)}
.vn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vn-rec .vn-dot{width:10px;height:10px;border-radius:50%;background:#e4574b;flex:none}
.vn-rec.on .vn-dot{animation:livePulse 1.2s ease-in-out infinite}
.vn-time{font-family:var(--mono);font-size:12px;color:var(--muted);min-width:42px}
.vn-clear{font-size:16px;height:38px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--muted)}
.vn-audio{width:100%;margin-top:14px}
.vn-hint{margin-top:12px;font-size:16px;color:var(--muted)}
.vn-text{display:block;margin-bottom:22px}
.vn-text textarea{width:100%;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);margin-top:8px}

.qz-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.qz-dl span{font-size:17px;color:var(--muted)}

.qz-dl{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--line)}
.qz-dl span{font-size:17px;color:var(--muted)}

/* case cards: the real demo runs inside the card on hover */
.card:hover .shot-live,.card:focus-visible .shot-live{opacity:1;transform:none}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (hover:hover) and (pointer:fine){
  .card:hover .shot img,.card:focus-visible .shot img{object-position:center bottom}
}
@media (prefers-reduced-motion:reduce){.card .shot img{transition:none}.shot-live i{animation:none}}
@media (max-width:760px){.shot-live{opacity:1;transform:none}}

/* the three faces under the founder */
.mini-team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,56px);max-width:860px}
.mini{text-align:center}
.mini-ph{display:block;width:100%;max-width:200px;margin:0 auto;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--paper-2);display:grid;place-items:center}
.mini-ph img{width:100%;height:100%;object-fit:cover}
.mini-name{margin-top:18px;font-size:20px;font-weight:700;letter-spacing:-.02em}
.mini-role{margin-top:4px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
@media (max-width:640px){.mini-team{grid-template-columns:1fr 1fr;gap:26px}.mini-ph{max-width:140px}}

.apply-form .tech-only[hidden]{display:none}
.apply-form[hidden]{display:none}
.mini-ph-new{background:transparent;border:1.5px dashed rgba(21,63,55,.35)}
.mini-ph-new .person-mono{color:var(--forest);font-size:34px;font-weight:400}
.person-ph-new{background:transparent;border:1.5px dashed rgba(21,63,55,.35)}
.person-ph-new .person-mono{color:var(--forest);font-size:28px;font-weight:400}

/* team row: the three faces beside the engineering card */
.team-row{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.team-lede{margin:12px 0 34px;max-width:46ch}
.mini-team{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.5vw,40px);max-width:none}

.eng-band{padding:clamp(48px,6vw,80px) 0}
.eng-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.eng-band .eyebrow{color:var(--mint)}
.eng-band h3{margin:14px 0 0;font-size:clamp(28px,3vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#fff}
.eng-band h3 em{color:var(--mint)}
.eng-band p{font-size:19px;line-height:1.55;color:rgba(255,255,255,.72)}
@media (max-width:760px){.eng-wrap{grid-template-columns:1fr;text-align:center}.eng-band h3{margin-bottom:6px}.eng-band .dev-foot{margin-top:16px}}
.dev-foot{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--mono);font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--mint)!important}
@media (max-width:900px){.mini-team{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 16px}.mini{flex:0 0 calc(33.333% - 11px)}}
@media (max-width:640px){.mini-name{font-size:17px}.mini-role{font-size:11px;letter-spacing:.06em}.mini-ph{max-width:104px}}

/* reels: the question on a green card, the video only when you press play */
.reel-shot{position:relative;display:block;width:100%;aspect-ratio:9/16;background:var(--ink);overflow:hidden;border-radius:14px;transition:transform .4s var(--ease-out)}
.reel-shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out),opacity .3s ease;opacity:.95}
.reel:hover .reel-shot img{transform:scale(1.03);opacity:1}
.reel:hover .reel-shot{transform:translateY(-3px)}



.reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:58px;height:58px;border-radius:50%;background:var(--mint);display:grid;place-items:center;transition:transform .2s var(--ease-out)}
.reel:hover .reel-play{transform:translate(-50%,-50%) scale(1.08)}
.reel-play svg{width:22px;height:22px;fill:var(--ink);margin-left:2px}
.reel-t{display:block;margin-top:14px;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.reel-d{display:block;font-size:17px;color:var(--muted);line-height:1.45;margin-top:6px}

.vn-prompts{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.vn-prompts li{position:relative;padding-left:22px;font-size:18px;color:var(--muted);line-height:1.45}
.vn-prompts li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--mint)}

/* industries: big names, click to open details, photo follows the open industry */
.ix{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.ix-list{border-top:1px solid var(--ink)}
.ix-item{border-bottom:1px solid var(--line)}
.ix-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.ix-name{font-size:clamp(30px,3.6vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--ink);transition:color .25s,transform .35s var(--ease-out)}
.ix-head:hover .ix-name{color:var(--forest);transform:translateX(6px)}
.ix-item.open .ix-name{color:var(--forest)}
.ix-plus{position:relative;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;transition:background .25s,border-color .25s,transform .35s var(--ease-out)}
.ix-plus::before,.ix-plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s var(--ease-out),background .25s}
.ix-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.ix-head:hover .ix-plus{border-color:var(--forest)}
.ix-item.open .ix-plus{background:var(--forest);border-color:var(--forest);transform:rotate(180deg)}
.ix-item.open .ix-plus::before,.ix-item.open .ix-plus::after{background:#fff}
.ix-item.open .ix-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.ix-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.ix-item.open .ix-panel{grid-template-rows:1fr}
.ix-panel-in{overflow:hidden;min-height:0}
.ix-panel ul{list-style:none;padding:2px 0 6px}
.ix-panel li{position:relative;font-size:19px;color:var(--muted);padding:6px 0 6px 24px}
.ix-panel li::before{content:"→";position:absolute;left:0;color:var(--forest);font-size:13px;top:9px}
.ix-link{display:inline-block;margin:6px 0 24px;font-weight:600;color:var(--forest)}
.ix-mimg{display:none}
.ix-photo{position:sticky;top:96px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:0 30px 60px -40px rgba(16,18,15,.6)}
.ix-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .7s var(--ease-out),transform 1.2s var(--ease-out)}
.ix-photo img.on{opacity:1;transform:none}
@media (max-width:900px){
  .ix{grid-template-columns:1fr}
  .ix-photo{display:none}
  .ix-mimg{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px;margin:2px 0 16px}
  .ix-name{font-size:clamp(28px,8vw,38px)}
  .ix-head{min-height:64px}
}
@media (prefers-reduced-motion:reduce){.ix-panel,.ix-photo img,.ix-name,.ix-plus,.ix-plus::before,.ix-plus::after{transition:none}}

/* ===== mobile layout v2: hamburger menu, centred headings, larger tap targets ===== */
.nav-toggle{display:none}
@media (max-width:760px){
  /* header: one row (logo, Book a Call, menu button) instead of a sideways-scrolling strip */
  header .wrap{flex-wrap:nowrap;height:60px;gap:10px;padding-top:0;padding-bottom:0}
  .brand{order:1;font-size:11px;gap:10px}
  .nav-cta{order:2;margin-left:auto;padding:0 13px;min-height:44px;font-size:10.5px;letter-spacing:.1em;gap:8px}
  .nav-toggle{order:3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-right:-8px;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s var(--ease-out),opacity .2s}
  header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.nav-open .nav-toggle span:nth-child(2){opacity:0}
  header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header nav{position:absolute;top:100%;left:0;right:0;order:unset;width:auto;margin:0;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.12);padding:0 16px;max-height:0;opacity:0;visibility:hidden;transition:max-height .3s var(--ease-out),opacity .2s,visibility 0s .3s}
  header.nav-open nav{max-height:calc(100vh - 60px);opacity:1;visibility:visible;padding:4px 16px 18px;transition:max-height .3s var(--ease-out),opacity .2s}
  header nav a{font-size:19px;font-weight:500;color:rgba(255,255,255,.78);padding:0;min-height:56px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
  header nav a:last-child{border-bottom:0}
  header nav a.active{color:#fff}
  header nav a.active::after{left:0;right:auto;bottom:auto;top:50%;width:6px;height:6px;border-radius:50%;transform:translate(-14px,-50%);margin-left:0}
  header nav a.active{padding-left:0;text-indent:0}

  /* centred headings and short copy, so sections line up with the centred closing blocks */
  .hero .wrap,.hero-sm .wrap{text-align:center}
  .hero h1,.hero .lede,.hero-sm h1{margin-left:auto;margin-right:auto}
  .hero .btns,.sc-ribbon{justify-content:center}
  .sc-fine{text-align:center}
  .head-row{text-align:center}
  .head-row p{margin-left:auto;margin-right:auto}
  .eyebrow{font-size:11px}
  .outcome{align-items:center;text-align:center}
  .outcome .o-vis{width:100%;max-width:260px;margin:0 auto}
  .outcome .tag{align-self:stretch}
  .story-body,.story-founder{text-align:center}
  .story-body p{margin-left:auto;margin-right:auto}
  .story-ph{margin-left:auto;margin-right:auto;max-width:190px}
  .story-founder blockquote{text-align:center}
  .team-left,.pb-head{text-align:center}
  .person{text-align:center;justify-items:center}
  .person-id{align-items:center}
  .person-bio p{margin-left:auto;margin-right:auto}
  .team-left .team-lede,.pb-head p.muted{margin-left:auto;margin-right:auto}
  .faq-wrap>div:first-child{text-align:center}
  .cs-picker .wrap>.eyebrow,.cs-picker .more-h,.fn-row{text-align:center}
  .pod-body{text-align:center}
  .pod-body p{margin-left:auto;margin-right:auto}
  .book-sec .book>div:first-child>.eyebrow,.book-sec .book>div:first-child>h1{text-align:center}
  .book-sec .book>div:first-child>h1{margin-left:auto;margin-right:auto}
  .book-sec .book ul{margin-top:28px}
  .book li b{flex:none}
  footer .wrap{flex-direction:column;align-items:center;text-align:center;gap:14px}

  /* readable text and comfortable tap targets */
  .outcome .num,.phase-num,.sc-n,.proof span,.fn-label,.sf-creds,.person-creds,.sc-ribbon,.qz-side-label,.dev-foot,.book li b,.book-quote cite{font-size:12px!important}
  .ulink,.cal-fallback a,.media-follow a,footer a{display:inline-block;padding:12px 4px}
  .cal-fallback{text-align:center}
  .media-follow{margin-top:8px}
  .f-status a{padding:8px 0;display:inline-block}
  .qz-back,.vn-clear{min-height:44px}
  .faq-q,.job-head,.phase{min-height:56px}
}

/* ===== v2 ===== */
/* ================= v2: refined, cinematic layer (appended last so it wins the cascade) ================= */
:root{--ease-x:cubic-bezier(.22,1,.36,1);--r-lg:22px;--r-md:16px}
html.intro-on,html.intro-on body{overflow:hidden}

/* ---------- type: lighter, calmer, smaller ---------- */
h1{font-weight:500;letter-spacing:-.045em}
h2{font-size:clamp(30px,2.9vw,46px);font-weight:500;letter-spacing:-.035em;line-height:1.06}
h3{letter-spacing:-.02em}
section.band{padding:clamp(76px,8.5vw,132px) 0}
.head-row{margin-bottom:clamp(36px,4vw,60px)}
.head-row p{font-size:clamp(16px,1.05vw,18px);line-height:1.6}
.lede{line-height:1.55}

/* ---------- header: frosted, quiet ---------- */
header{background:rgba(9,12,10,.88);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid rgba(255,255,255,.07)}
header .wrap{height:72px}
header nav{gap:2px}
header nav a{font-size:13.5px;font-weight:500;letter-spacing:0;white-space:nowrap;color:rgba(255,255,255,.7);padding:9px 14px;border-radius:999px;transition:color .2s,background-color .2s}
header nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
header nav a.active{color:#fff;background:rgba(255,255,255,.1)}
header nav a.active::after{display:none}
header .nav-cta{white-space:nowrap;font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;border-radius:999px;padding:0 20px;height:42px;margin-left:12px;box-shadow:0 8px 28px -10px rgba(120,230,182,.6)}

/* ---------- buttons: pills ---------- */
.btn{border-radius:999px;height:50px;padding:0 26px;font-size:15.5px;font-weight:600;letter-spacing:-.005em}
.btn-mint{box-shadow:0 10px 34px -12px rgba(120,230,182,.7)}
.btn-ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* ---------- hands (shared by intro + hero) ---------- */
.hands,.hh{position:relative;width:100%;aspect-ratio:840/430;transform-style:preserve-3d}
.hand{position:absolute;inset:0;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;background:linear-gradient(115deg,#fff 0%,#d9fbe9 48%,#78e6b6 100%)}
.h-human{--m:url(img/hand-human.png)}
.h-robot{--m:url(img/hand-robot.png)}
.h-dash{--m:url(img/hand-dash.png)}
.contact{position:absolute;left:49.5%;top:39.3%;width:0;height:0;transform-style:preserve-3d}
.contact::before{content:"";position:absolute;left:-14%;top:-14%;width:0;height:0}

/* ---------- INTRO ---------- */
#intro{display:none;position:fixed;inset:0;z-index:1000;background:#070a08;color:#fff;cursor:pointer;overflow:hidden}
html.intro-on #intro{display:grid;place-items:center}
#introAurora{position:absolute;inset:0;width:100%;height:100%}
#intro::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 48%,transparent 40%,rgba(5,8,6,.7) 100%)}
.intro-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3vh,34px);width:100%;perspective:1400px;transition:transform 1s var(--ease-x),opacity .7s ease,filter .8s ease}
.intro-stage .hands{width:min(84vw,1020px);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s ease-out;filter:drop-shadow(0 0 46px rgba(120,230,182,.28))}
.intro-stage .hand{opacity:0;filter:blur(16px)}
.intro-stage .h-human{transform:translate3d(-14%,2%,40px);animation:iHuman 1.9s .25s var(--ease-x) forwards}
.intro-stage .h-robot{transform:translate3d(14%,-3%,-12px);animation:iRobot 1.9s .25s var(--ease-x) forwards}
.intro-stage .h-dash{animation:iDash 2.4s .25s ease forwards}
@keyframes iHuman{0%{opacity:0;filter:blur(16px);transform:translate3d(-14%,2%,40px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;filter:blur(0);transform:translate3d(2.6%,0,40px)}}
@keyframes iRobot{0%{opacity:0;filter:blur(16px);transform:translate3d(14%,-3%,-12px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;filter:blur(0);transform:translate3d(-2.6%,0,-12px)}}
@keyframes iDash{0%{opacity:0;filter:blur(10px)}45%{opacity:.9;filter:blur(0);transform:scaleX(1)}80%{opacity:.9;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.9)}}
.intro-stage .contact::before{left:-110px;top:-110px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#fff 0 5%,rgba(160,255,215,.8) 16%,rgba(120,230,182,.3) 38%,transparent 66%);opacity:0;transform:scale(.1);animation:iFlash 2.6s 1.95s var(--ease-x) forwards}
@keyframes iFlash{0%{opacity:0;transform:scale(.1)}12%{opacity:1;transform:scale(1.5)}100%{opacity:.5;transform:scale(1)}}
.orbit{position:absolute;left:49.5%;top:39.3%;width:62%;aspect-ratio:1;margin:-31% 0 0 -31%;border:1px solid rgba(120,230,182,.4);border-radius:50%;opacity:0;transform:rotateX(74deg) scale(.15);animation:iOrbit 2.6s 2s var(--ease-x) forwards}
.orbit.o2{animation-delay:2.25s;border-color:rgba(255,255,255,.28)}
@keyframes iOrbit{0%{opacity:0;transform:rotateX(74deg) scale(.15)}15%{opacity:.9}100%{opacity:0;transform:rotateX(74deg) scale(1.15)}}
.intro-word{font-family:var(--mono);font-weight:700;font-size:clamp(16px,1.9vw,28px);letter-spacing:.7em;text-indent:.7em;text-transform:uppercase;opacity:0;transform:translateY(10px);animation:iWord 1.5s 2.2s var(--ease-x) forwards}
.intro-word b{color:var(--mint);font-weight:700}
@keyframes iWord{0%{opacity:0;letter-spacing:.9em;transform:translateY(10px)}100%{opacity:1;letter-spacing:.5em;transform:none}}
.intro-hint{font-size:12.5px;letter-spacing:.04em;color:rgba(255,255,255,.45);opacity:0;animation:iHint 1s 3.1s ease forwards}
@keyframes iHint{to{opacity:1}}
.intro-bar{position:absolute;left:50%;bottom:34px;width:min(240px,50vw);height:2px;margin-left:calc(min(240px,50vw) / -2);background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;z-index:3}
.intro-bar i{display:block;height:100%;width:100%;background:var(--mint);transform-origin:left;transform:scaleX(0);animation:iBar 5.2s linear forwards}
@keyframes iBar{to{transform:scaleX(1)}}
#intro.leaving{transform:translateY(-100%);transition:transform 1.05s cubic-bezier(.76,0,.24,1) .12s;pointer-events:none}
#intro.leaving .intro-stage{transform:scale(.9);opacity:0;filter:blur(12px)}

/* ---------- HERO ---------- */
.v2-hero{position:relative;min-height:min(100svh,940px);display:flex;align-items:center;margin-top:-72px;padding:calc(72px + clamp(40px,8vh,110px)) 0 clamp(80px,11vh,130px);background:#080b09;overflow:hidden;isolation:isolate}
.v2-hero .aurora{position:absolute;inset:0;width:100%;height:100%;z-index:-3}
.v2-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(8,11,9,0) 62%,rgba(8,11,9,.8) 100%),radial-gradient(100% 90% at 0% 52%,rgba(8,11,9,.72),transparent 60%)}
.v2-hero .hero-copy{position:relative;z-index:2;max-width:min(700px,100%)}
.v2-hero h1{font-size:clamp(42px,6vw,90px);line-height:1;max-width:13ch}
.v2-hero .lede{max-width:42ch;font-size:clamp(17px,1.3vw,21px);color:rgba(255,255,255,.72);margin-top:26px}
.v2-hero .btns{margin-top:38px;align-items:center}
.hero-hands{position:absolute;right:-4vw;top:52%;width:min(58vw,980px);z-index:0;pointer-events:none;perspective:1500px;transform:translateY(-50%) rotate(-5deg);filter:drop-shadow(0 0 60px rgba(120,230,182,.22))}
.hero-hands .hh{transform:rotateY(calc(var(--px,0) * 9deg)) rotateX(calc(var(--py,0) * -6deg));transition:transform .5s ease-out}
.hero-hands .hand{opacity:.92}
.hero-hands .h-human{transform:translate3d(0,0,30px);animation:hDriftA 9s ease-in-out infinite}
.hero-hands .h-robot{transform:translate3d(0,0,-10px);animation:hDriftB 9s ease-in-out infinite}
@keyframes hDriftA{0%,100%{transform:translate3d(-1.4%,0.6%,30px)}50%{transform:translate3d(1.8%,-0.5%,30px)}}
@keyframes hDriftB{0%,100%{transform:translate3d(1.4%,-0.6%,-10px)}50%{transform:translate3d(-1.8%,0.5%,-10px)}}
.hero-hands .contact::before{left:-120px;top:-120px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0 4%,rgba(150,255,215,.7) 14%,rgba(120,230,182,.22) 40%,transparent 66%);animation:hPulse 4.5s ease-in-out infinite}
@keyframes hPulse{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:.95;transform:scale(1.15)}}
.scroll-cue{position:absolute;left:50%;bottom:26px;width:1px;height:46px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);transform-origin:top;animation:cue 2.4s ease-in-out infinite;z-index:2}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.v2-hero .hero-copy>*,.v2-hero .hero-hands,.v2-hero .scroll-cue{transition:opacity 1s var(--ease-x),transform 1s var(--ease-x),filter 1s var(--ease-x)}
.v2-hero .hero-copy>*:nth-child(2){transition-delay:.12s}
.v2-hero .hero-copy>*:nth-child(3){transition-delay:.24s}
html.intro-on .v2-hero .hero-copy>*{opacity:0;transform:translateY(20px);filter:blur(8px)}
html.intro-on .v2-hero .hero-hands{opacity:0}
html.intro-on .v2-hero .scroll-cue{opacity:0}

/* ---------- outcomes: soft cards ---------- */
#page-home .outcomes-light{background:var(--paper)}
#page-home .outcomes-light .grid-4{border-top:0;gap:16px}
#page-home .outcomes-light .outcome,#page-home .outcomes-light .outcome+.outcome{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px 26px;transition:transform .5s var(--ease-x),box-shadow .5s var(--ease-x),border-color .3s}
#page-home .outcomes-light .outcome:hover{background:#fff;transform:translateY(-4px);box-shadow:0 26px 52px -30px rgba(16,40,34,.38);border-color:rgba(21,63,55,.32)}

/* ---------- how we work: quieter numerals ---------- */
.phase-num{font-size:clamp(54px,5.6vw,88px)}
.phase-title h3{font-size:clamp(28px,2.6vw,38px)}

/* ---------- tools ---------- */
.tool-badge{border-radius:16px;height:84px}

/* ---------- testimonials ---------- */
.testimonials .t-card blockquote{font-size:clamp(20px,1.7vw,25px)}

/* ---------- closing: aurora bookend ---------- */
.closing{position:relative;overflow:hidden;isolation:isolate;background:#080b09}
.closing .aurora{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.closing::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(90% 80% at 50% 50%,rgba(8,11,9,.3),rgba(8,11,9,.82))}
.closing h2{font-size:clamp(32px,3.8vw,58px)}

/* ---------- scroll reveals ---------- */
[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-x),transform .9s var(--ease-x);transition-delay:calc(var(--d,0) * 70ms)}
[data-rv].in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){header nav a{padding:8px 10px;font-size:13px}header .nav-cta{padding:0 16px;margin-left:6px}.brand{letter-spacing:.14em}.hero-hands{width:60vw;right:-6vw;top:58%;opacity:.9}}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  [data-rv]{opacity:1;transform:none;transition:none}
  .hero-hands .hand,.hero-hands .contact::before,.scroll-cue{animation:none!important}
}


/* ---------- SELECTED SECTORS: calmer type, diffused imagery ---------- */
.ix-name{font-size:clamp(21px,1.7vw,27px)!important;font-weight:600!important;letter-spacing:-.02em!important}
.ix-item{border-top:1px solid rgba(16,18,15,.1)}
.ix-head{padding:18px 0!important}
.ix-plus{opacity:.55;transform:scale(.9)}
.ix-item.open .ix-plus{opacity:1}
.ix-panel .ix-panel-in li,.ix-panel .ix-panel-in p{font-size:16px}
.ix-media,.ix figure,.ix-visual{position:relative}
/* the big picture on the right: softened, tinted, with a diffused halo behind it */
.ix-art,.ix>figure,.ix-visual,.ix-photo{position:relative;border-radius:20px;overflow:hidden}
.ix img{border-radius:18px;filter:saturate(.72) contrast(1.02) brightness(.96)}
.ix-art::after,.ix>figure::after,.ix-visual::after,.ix-photo::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:18px;
  background:radial-gradient(120% 80% at 70% 10%,rgba(120,230,182,.18),transparent 55%),linear-gradient(180deg,rgba(16,18,15,.06),rgba(16,18,15,.42))}
.ix-art::before,.ix>figure::before,.ix-visual::before,.ix-photo::before{content:"";position:absolute;inset:-14% -8% -18%;z-index:-1;border-radius:40px;
  background:radial-gradient(60% 60% at 50% 40%,rgba(21,63,55,.28),transparent 70%);filter:blur(42px)}
.ix-photo{border-radius:20px!important}
.ix-mimg{filter:saturate(.72) brightness(.96);border-radius:14px}
@media (max-width:860px){.ix-name{font-size:19px!important}}


/* the founder clip lives on the Media tab; the home hero stays clean */
.v2-hero .hero-video{display:none!important}
#intro{background:#0a0c09}


/* ---------- INTRO: pure black, white hands ---------- */
#intro{background:#000!important}
#introAurora{display:none!important}
#intro::after{background:radial-gradient(75% 65% at 50% 46%,transparent 45%,rgba(0,0,0,.85) 100%)!important}
.intro-stage .hand{background:linear-gradient(115deg,#fff 0%,#fff 55%,#eef3ef 100%)!important}
.intro-stage .hands{width:min(60vw,780px)!important;filter:drop-shadow(0 0 46px rgba(255,255,255,.12))!important}
@media (max-width:760px){.intro-stage .hands{width:78vw!important}}
.intro-stage .contact::before{background:radial-gradient(circle,#fff 0 8%,rgba(255,255,255,.85) 20%,rgba(255,255,255,.22) 42%,transparent 68%)!important}
.intro-stage .orbit{border-color:rgba(255,255,255,.3)!important}
.intro-stage .orbit.o2{border-color:rgba(255,255,255,.16)!important}
.intro-word{color:#fff!important}
.intro-word b{color:#fff!important}
.intro-hint{color:rgba(255,255,255,.5)!important}
.intro-bar i{background:#fff!important}


/* ---------- HERO: founder clip only, no hands ---------- */
.v2-hero .hero-video{display:block!important}
.v2-hero .hero-hands{display:none!important}
.v2-hero .aurora{display:none!important}


.v2-hero .hero-video{opacity:.5!important}
.v2-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,10,8,.94) 0%,rgba(7,10,8,.78) 42%,rgba(7,10,8,.45) 72%,rgba(7,10,8,.6) 100%),
             radial-gradient(90% 70% at 78% 40%,rgba(120,230,182,.14),transparent 60%)}
.v2-hero>.wrap{position:relative;z-index:2}


/* ---------- SELECTED SECTORS: diffused image panels ---------- */
.sectors{background:var(--paper)}
.sectors .head-row{margin-bottom:clamp(30px,3.4vw,48px)}
.sec-rail{display:flex;gap:12px;padding:0 var(--gutter);height:clamp(480px,50vw,640px)}
.sec-panel{position:relative;flex:1 1 0;min-width:0;border-radius:var(--r-lg);overflow:hidden;color:#fff;isolation:isolate;display:block;background:#0b100d;transition:flex-grow .75s var(--ease-x);outline-offset:3px}
.sec-panel.open{flex-grow:4.4}
.sp-bg{position:absolute;inset:0;background:var(--img) center/cover no-repeat;transform:scale(1.14);transition:transform 1.3s var(--ease-x),filter .7s;filter:saturate(.85) brightness(.8)}
.sec-panel.open .sp-bg{transform:scale(1);filter:none}
.sec-panel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,11,9,.3) 0%,rgba(8,11,9,0) 32%,rgba(8,11,9,.86) 100%)}
.sp-ic{position:absolute;top:20px;left:20px;z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22)}
.sp-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sp-label{position:absolute;left:22px;bottom:24px;z-index:2;writing-mode:vertical-rl;transform:rotate(180deg);font-size:15px;font-weight:600;white-space:nowrap;transition:opacity .35s}
.sec-panel.open .sp-label{opacity:0}
.sp-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px clamp(22px,2.4vw,36px) 30px;opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease-x),transform .6s var(--ease-x)}
.sec-panel.open .sp-body{opacity:1;transform:none;transition-delay:.2s}
.sp-body h3{font-size:clamp(24px,2vw,30px);font-weight:600;letter-spacing:-.03em;margin-bottom:14px;line-height:1.1}
.sp-body ul{list-style:none;display:grid;gap:7px;margin-bottom:20px}
.sp-body li{font-size:15px;color:rgba(255,255,255,.8);padding-left:18px;position:relative;line-height:1.4}
.sp-body li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--mint)}
.sp-go{font-size:14px;font-weight:600;color:var(--mint)}
.sectors .ind-note{font-size:16px}



/* the clip has captions burnt into it, so the frame sits above them */
.v2-hero .hero-video{overflow:hidden}
.v2-hero .hero-video iframe{transform:translate(-50%,-26%) scale(2.3)!important;transform-origin:center!important}
.v2-hero::after{background:linear-gradient(90deg,rgba(7,10,8,.95) 0%,rgba(7,10,8,.82) 44%,rgba(7,10,8,.5) 74%,rgba(7,10,8,.66) 100%),
  linear-gradient(180deg,rgba(7,10,8,.35) 0%,transparent 26%,rgba(7,10,8,.72) 82%,rgba(7,10,8,.95) 100%)!important}


/* ---------- INTRO: vector hands, no dash ---------- */
.intro-stage .h-human{--m:url(img/hand-human.svg)!important}
.intro-stage .h-robot{--m:url(img/hand-robot.svg)!important}
.intro-stage .h-dash{display:none!important}
.intro-stage .hands{aspect-ratio:828/420!important}
/* the vector art keeps the logo's own coordinates, so both hands share one box */
.intro-stage .hand{-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important}


/* ---------- clients: quiet greyscale grid ---------- */
.clients-band{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.clients-head{text-align:center;font-size:17px;color:var(--muted);margin-bottom:clamp(24px,3vw,38px)}
.cl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cl-cell{display:grid;place-items:center;min-height:104px;padding:18px 20px;border-radius:14px;background:rgba(16,18,15,.035);transition:background .3s ease}
.cl-cell:hover{background:rgba(16,18,15,.06)}
.cl-name{font-size:17px;font-weight:600;letter-spacing:.02em;color:rgba(16,18,15,.42);text-align:center}
.cl-cell img{max-width:150px;max-height:46px;object-fit:contain;filter:grayscale(1);opacity:.45;transition:opacity .3s ease}
.cl-cell:hover img{opacity:.7}
@media (max-width:860px){.cl-grid{grid-template-columns:repeat(2,1fr)}.cl-cell{min-height:88px}}


/* ---------- lighter palette: white and beige, black type, green as an accent ---------- */
:root{--paper:#fbfaf7;--paper-2:#f2f0ea;--white:#fff;--line:rgba(16,18,15,.1)}
body{background:#fbfaf7}
.band.light{background:#fff}
.band.cream{background:#f6f4ef}
.band.light+.band.light{border-top:1px solid rgba(16,18,15,.07)}
/* green only where it earns it: small labels, links and one CTA */
h1 em,h2 em,h3 em{color:#153f37}
.dark h1 em,.dark h2 em,.forest h2 em,.v2-hero h1 em,#intro em{color:#78e6b6}
.btn-dark,.btn-mint{border-radius:999px}
.band.light .btn-mint,.band.cream .btn-mint{background:#10120f;color:#fff}
.band.light .btn-mint:hover,.band.cream .btn-mint:hover{background:#23261f}
.band.light .btn-mint .arrow,.band.cream .btn-mint .arrow{stroke:#fff}
.eyebrow{color:rgba(16,18,15,.42)}
.dark .eyebrow,.forest .eyebrow{color:#78e6b6}
/* the closing band: beige with dark type instead of a full green block */
.closing.forest{background:#f6f4ef!important;color:var(--ink)!important}
.closing.forest h2{color:var(--ink)!important}
.closing.forest h2 em{color:#153f37!important}
.closing.forest .lede,.closing.forest p{color:var(--muted)!important}
.closing.forest::before,.closing.forest::after{display:none!important}
.closing.forest canvas{display:none!important}
.closing.forest .btn-mint{background:#10120f;color:#fff}
/* clients grid, matched to the rest */
.clients-band .head-row{margin-bottom:clamp(22px,3vw,34px)}
.cl-grid{gap:12px}
.cl-cell{background:#faf9f6;border:1px solid rgba(16,18,15,.06);border-radius:16px}
.cl-cell:hover{background:#f4f2ec}
.cl-name{color:rgba(16,18,15,.38)}
.cl-cell img{max-height:38px;filter:grayscale(1) contrast(.9);opacity:.5}
.cl-cell:hover img{opacity:.75}


/* ---------- 3D opening scene (js/intro-3d.js); without WebGL the flat hands above are used ---------- */
#intro3d{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
html.intro-3d #intro .intro-stage .hands{visibility:hidden}
html.intro-3d #intro .intro-word,html.intro-3d #intro .intro-hint{animation:none;opacity:0}
html.intro-3d #intro .intro-bar i{animation:none;transform:scaleX(0)}
html.intro-3d.intro-play #intro .intro-word{animation:iWord 1.5s 2.5s var(--ease-x) forwards}
html.intro-3d.intro-play #intro .intro-hint{animation:iHint 1s 3.5s ease forwards}
html.intro-3d.intro-play #intro .intro-bar i{animation:iBar 5.4s linear forwards}

/* ===== fix-tablet-header ===== */
/* The redesign's full header needs about 980px: below that the logo overlapped "Home" and, under 900px, "Book a Call" ran off the
   right edge so every tab scrolled sideways. From 761px to 980px, use the same menu button phones get. Wider screens and phones are untouched. */
@media (min-width:761px) and (max-width:980px){
  header .wrap{flex-wrap:nowrap;gap:10px}
  header .nav-cta{order:2;margin-left:auto}
  .nav-toggle{order:3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s var(--ease-x),opacity .2s}
  header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.nav-open .nav-toggle span:nth-child(2){opacity:0}
  header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  header nav{position:absolute;top:100%;left:0;right:0;order:unset;width:auto;margin:0;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;background:#0b0e0c;border-bottom:1px solid rgba(255,255,255,.12);padding:0 var(--gutter);max-height:0;opacity:0;visibility:hidden;transition:max-height .3s var(--ease-x),opacity .2s,visibility 0s .3s}
  header.nav-open nav{max-height:calc(100vh - 72px);opacity:1;visibility:visible;padding:4px var(--gutter) 18px;transition:max-height .3s var(--ease-x),opacity .2s}
  header nav a{font-size:19px;font-weight:500;color:rgba(255,255,255,.78);padding:0;min-height:56px;display:flex;align-items:center;border-radius:0;background:none;border-bottom:1px solid rgba(255,255,255,.1)}
  header nav a:hover,header nav a.active{background:none;color:#fff}
  header nav a:last-child{border-bottom:0}
}

/* ===== v3 ===== */
/* ================= v3: final polish: depth, light and motion (kept in its own block so it is easy to review or remove) ================= */
:root{--shadow-sm:0 1px 2px rgba(16,18,15,.04),0 10px 28px -14px rgba(16,40,34,.16);--shadow-md:0 2px 4px rgba(16,18,15,.04),0 28px 56px -26px rgba(16,40,34,.32)}

/* a quiet fade-in when switching tabs */
@media (prefers-reduced-motion:no-preference){
  .page.active{animation:v3PageIn .6s var(--ease-x) both}
  @keyframes v3PageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* buttons: lift and glow */
.btn{transition:transform .35s var(--ease-x),box-shadow .35s var(--ease-x),background-color .2s ease,border-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-mint:hover{box-shadow:0 18px 44px -14px rgba(120,230,182,.9)}
.band.light .btn-mint:hover,.band.cream .btn-mint:hover{box-shadow:0 18px 40px -16px rgba(16,18,15,.55)}
.btn:active{transform:translateY(0) scale(.98)}

/* cards: one shadow system */
#page-home .outcomes-light .outcome,.ins-card,.cl-cell,.card{box-shadow:var(--shadow-sm)}
.ins-card:hover,#page-home .outcomes-light .outcome:hover{box-shadow:var(--shadow-md)}

/* atmosphere: soft mint light behind key sections */
#page-home .outcomes-light{position:relative;overflow:hidden}
#page-home .outcomes-light::before{content:"";position:absolute;right:-14%;top:-34%;width:min(64vw,920px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(120,230,182,.16),transparent 66%);pointer-events:none}
#page-home .outcomes-light>.wrap{position:relative}
.band.dark.how{background:radial-gradient(70% 90% at 85% 0%,rgba(21,63,55,.55),transparent 62%),radial-gradient(60% 80% at 0% 100%,rgba(21,63,55,.3),transparent 60%),#0d110f}
.insights-sec{position:relative;overflow:hidden}
.insights-sec::before{content:"";position:absolute;left:-10%;bottom:-30%;width:min(60vw,860px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(21,63,55,.08),transparent 65%);pointer-events:none}
.insights-sec>.wrap{position:relative}


/* 3D tilt (set by the script below, only while the pointer is over a card) */
[data-tilt]{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ly,0px))!important;transition:transform .12s linear,box-shadow .2s!important;will-change:transform;
  box-shadow:calc(var(--ry,0deg) * -2.2) calc(var(--rx,0deg) * 2.2 + 26px) 50px -26px rgba(16,40,34,.42)!important}

/* ===== v5-clients ===== */
/* Company boxes: unchanged at rest; on hover the full-colour logo fills the box */
.cl-cell{position:relative;overflow:hidden}
.cl-cell.has-hd{cursor:default}
.cl-hd{position:absolute;inset:0;background:var(--hd-bg,#fff);border-radius:inherit;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s;pointer-events:none}
.cl-cell .cl-hd img{position:absolute;left:20px;top:12px;width:calc(100% - 40px);height:calc(100% - 24px);max-width:none;max-height:none;object-fit:contain;filter:none;opacity:1;image-rendering:auto}
.cl-cell.has-hd:hover .cl-hd,.cl-cell.has-hd:focus-visible .cl-hd,.cl-cell.has-hd:focus-within .cl-hd{opacity:1;visibility:visible;transition:opacity .35s ease}
.cl-cell.has-hd:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
/* resting logos stay clearly visible, just desaturated */
.cl-cell>img.cl-logo{max-width:min(170px,78%);max-height:50px;object-fit:contain;filter:grayscale(1) contrast(1.15);opacity:.85;mix-blend-mode:multiply}
.cl-cell>img.cl-logo.sq{max-height:68px}
.cl-cell:hover>img.cl-logo{opacity:.85}

@media (max-width:860px){.cl-cell .cl-hd img{left:16px;top:10px;width:calc(100% - 32px);height:calc(100% - 20px)}}
@media (prefers-reduced-motion:reduce){.cl-hd{transition:none}}

/* ===== case-studies ===== */
/* Case studies: copied as a whole from the case-study vault (maxbergman01-cmd/innate-vault, site/styles.css) */
/* ===== Vault V3: featured products ===== */
/* ===== Case studies grid (v4: photo cover, sector eyebrow, stat-first title) ===== */
.vault-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:64px 32px}
.vc{grid-column:span 4;min-width:0}
.vc.vc-lead{grid-column:span 6}
.vc-link-wrap{display:flex;flex-direction:column;height:100%;color:inherit}
.vc-shot{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--forest)}
.vc-shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .4s}
.vc-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,18,15,.28));pointer-events:none}
.vc-link-wrap:hover .vc-shot img{transform:scale(1.035)}
.vc-badge{position:absolute;z-index:1;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(16,18,15,.82);backdrop-filter:blur(6px);color:#fff;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px 8px 10px}
.vc-badge svg{width:12px;height:12px;fill:var(--mint)}
.vc-body{display:flex;flex-direction:column;flex:1;padding:22px 0 0}
.vc-body .sector{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:12px}
.vc-body .sector i{font-style:normal;color:var(--muted)}
.vc-title{display:block;font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.2;color:var(--ink);text-wrap:balance}
.vc-lead .vc-title{font-size:clamp(24px,2.1vw,32px);letter-spacing:-.03em;line-height:1.12;max-width:30ch}
.vc-client{display:block;margin-top:12px;font-size:15px;color:var(--muted)}
.vc-more{display:inline-flex;gap:8px;margin-top:auto;padding-top:18px;font-size:15px;font-weight:600;color:var(--forest)}
.vc-more span{transition:transform .25s}
.vc-link-wrap:hover .vc-more span{transform:translateX(4px)}
.vc-link-wrap:hover .vc-title{color:var(--forest)}
.vc-link-wrap:focus-visible{outline:3px solid var(--forest);outline-offset:6px}
#page-case-studies .cs-results{padding-bottom:120px}
#page-case-studies .cs-films .vault-grid,#page-case-studies .cs-results .vault-grid{margin-top:8px}
@media(max-width:999px){.vc,.vc.vc-lead{grid-column:span 6}.vault-grid{gap:48px 24px}}
/* films: 3 + 2 on desktop; on tablets the first film spans the row, then 2 + 2 */
@media(min-width:1000px){.films-grid .vc:nth-child(-n+3){grid-column:span 4}.films-grid .vc:nth-child(n+4){grid-column:span 6}}
@media(max-width:999px){.films-grid .vc,.films-grid .vc.vc-lead{grid-column:span 6}.films-grid .vc:first-child{grid-column:span 12}}
@media(max-width:640px){.films-grid .vc,.films-grid .vc.vc-lead,.films-grid .vc:first-child{grid-column:auto}.vault-grid{grid-template-columns:1fr;gap:44px}.vc,.vc.vc-lead{grid-column:auto}.vc-title,.vc-lead .vc-title{font-size:22px}}

/* ===== Case study page (flagship film + written) ===== */
.cp-head{padding:56px 0 0;background:var(--ink)}
.cp-back{display:inline-block;margin-bottom:40px;font-size:15px;color:rgba(255,255,255,.66)}
.cp-back:hover{color:var(--mint)}
.cp-eyebrow{display:flex;flex-wrap:wrap;gap:0 10px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:22px}
.cp-eyebrow i{font-style:normal;color:rgba(255,255,255,.4)}
.cp-title{font-size:clamp(34px,4.2vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.02;color:#fff;max-width:22ch;text-wrap:balance}
.cp-client{margin-top:22px;font-size:18px;color:rgba(255,255,255,.66)}
.cp-media{margin-top:48px;position:relative;top:0}
.cp-cover,.cp-film{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;margin-bottom:-1px}
.cp-cover img{width:100%;height:100%;object-fit:cover}
.cp-film video{width:100%;height:100%;display:block;object-fit:cover;background:#000}
.cp-film video:fullscreen{object-fit:contain}
.cp-film video:-webkit-full-screen{object-fit:contain}
.cp-film-soon{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:14px;padding:clamp(20px,3vw,40px);background:linear-gradient(180deg,transparent 45%,rgba(16,18,15,.7))}
.cp-film-soon .vc-badge{position:static}
.cp-film-soon p{color:#fff;font-size:17px;max-width:40ch}
.cp-film-soon[hidden]{display:none}
.cp-live{background:var(--ink);padding:0 0 88px}
.cp-head + .cp-live{padding-top:28px}
.cp-embed{border:1px solid rgba(120,230,182,.28);background:var(--white);box-shadow:0 30px 80px -40px rgba(0,0,0,.6)}
.cp-embed-bar{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 18px;background:var(--forest);color:rgba(255,255,255,.75);font-size:14px}
.cp-embed-bar b{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.cp-embed-bar em{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.cp-embed-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(120,230,182,.18)}
.cp-embed iframe{display:block;width:100%;height:clamp(640px,80vh,860px);border:0;background:var(--white)}
.cp-live[hidden]{display:none}
.cp-head:has(+ .cp-live[hidden]){padding-bottom:88px}
@media(max-width:640px){.cp-head:has(+ .cp-live[hidden]){padding-bottom:0}}
.cp-story{padding:104px 0 112px}
.cp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:clamp(40px,7vw,120px);align-items:start}
.cp-meta{position:sticky;top:110px}
.cp-meta dl div{padding:16px 0;border-top:1px solid var(--line)}
.cp-meta dl div:last-child{border-bottom:1px solid var(--line)}
.cp-meta dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.cp-meta dd{font-size:16px;line-height:1.4}
.cp-cta{margin-top:28px}
.cp-body{max-width:760px}
.cp-body section+section{margin-top:72px}
.cp-h{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:22px;line-height:1.2}
.cp-body p{font-size:clamp(19px,1.3vw,22px);line-height:1.55;letter-spacing:-.01em;color:var(--ink)}
.cp-body p+p{margin-top:18px}
.cp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.cp-stat{background:var(--white);padding:28px 26px 26px}
.cp-stat b{display:block;font-size:clamp(30px,2.8vw,44px);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--forest)}
.cp-stat span{display:block;margin-top:12px;font-size:15px;line-height:1.4;color:var(--muted)}
.cp-body .cp-note{margin-top:18px;font-size:14px;color:var(--muted);letter-spacing:0}
.cp-quote{margin-top:44px;padding-left:24px;border-left:2px solid var(--mint)}
.cp-body .cp-quote p{font-size:clamp(21px,1.7vw,26px);line-height:1.35;letter-spacing:-.02em}
.cp-quote cite{display:block;margin-top:14px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cp-body .cp-private{margin-top:28px;font-size:16px;color:var(--muted);padding:18px 20px;background:var(--paper-2)}
.cp-more{padding:96px 0 104px}
.cp-more-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:44px}
.cp-more-head h2{font-size:clamp(28px,2.6vw,44px)}
.cp-more-head .ulink{font-size:15px;color:var(--forest);white-space:nowrap}
.cp-more-grid .vc{grid-column:span 4}
@media(max-width:999px){.cp-grid{grid-template-columns:1fr}.cp-meta{position:static;order:2}.cp-meta dl{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.cp-meta dl div:last-child{border-bottom:0}.cp-more-grid .vc:nth-child(3){display:none}.cp-more-grid .vc{grid-column:span 6}}
@media(max-width:640px){.cp-head{padding-top:32px}.cp-back{margin-bottom:28px}.cp-media{margin-top:32px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.cp-cover,.cp-film{aspect-ratio:4/3}.cp-live{padding-bottom:56px}.cp-live .wrap{padding:0 12px}.cp-embed iframe{height:78vh;min-height:560px}.cp-embed-bar em{display:none}.cp-story{padding:64px 0 72px}.cp-body section+section{margin-top:52px}.cp-meta dl{grid-template-columns:1fr}.cp-more{padding:64px 0 72px}.cp-more-grid .vc{grid-column:auto}.cp-more-grid .vc:nth-child(n+3){display:none}.cp-more-head{flex-direction:column;align-items:flex-start}}

/* pop-up viewer: anything in this section that would open a new page opens over the page instead */
.demo-view{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,40px);background:rgba(8,10,9,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:dvIn .25s ease}
.demo-view[hidden]{display:none}
.dv-panel{display:flex;flex-direction:column;width:min(1280px,100%);height:min(860px,100%);background:#10120f;border-radius:20px;overflow:hidden;box-shadow:0 40px 120px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08)}
@keyframes dvIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.demo-view{animation:none}}
.dv-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px 8px clamp(16px,2.4vw,26px);min-height:60px;background:#10120f;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.dv-title{font-family:var(--serif);font-size:18px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-close{flex:0 0 auto;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s}
.dv-close:hover,.dv-close:focus-visible{background:var(--mint);border-color:var(--mint);color:#10120f;outline:none}
@media (max-width:640px){.demo-view{padding:0}.dv-panel{width:100%;height:100%;border-radius:0}}
.dv-body{position:relative;flex:1 1 auto;min-height:0;background:#fff}
.dv-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.dv-loading{position:absolute;inset:0;display:grid;place-items:center;background:#10120f;color:rgba(255,255,255,.7);font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;z-index:1}
.dv-loading[hidden]{display:none}

/* ===== v9-sectors-phone ===== */
/* Industries we have worked with, on phones: a vertical list of picture cards. Tap one to open it and read it properly,
   tap the button to see that industry's case studies, scroll for the next card. Laptops and desktops keep the hover strip. */
@media (max-width:760px){
  .sec-rail{flex-direction:column;height:auto;gap:12px}
  .sec-panel{flex:none;height:116px;scroll-margin-top:90px;transition:height .55s var(--ease-x);-webkit-tap-highlight-color:transparent;cursor:pointer}
  .sec-panel.open{flex-grow:0;height:420px}
  .sec-panel:not(.open)::after{background:linear-gradient(90deg,rgba(8,11,9,.82) 0%,rgba(8,11,9,.5) 55%,rgba(8,11,9,.25) 100%)}
  .sp-ic{top:50%;left:18px;transform:translateY(-50%);transition:top .55s var(--ease-x),transform .55s var(--ease-x)}
  .sec-panel.open .sp-ic{top:20px;transform:none}
  .sp-label{writing-mode:horizontal-tb;transform:translateY(-50%);left:80px;right:70px;top:50%;bottom:auto;white-space:normal;font-size:20px;line-height:1.15;letter-spacing:-.02em}
  .sec-panel::before{content:"+";position:absolute;right:18px;top:50%;width:38px;height:38px;margin-top:-19px;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:24px;font-weight:300;line-height:1;color:#fff;transition:transform .4s var(--ease-x),opacity .3s,top .55s var(--ease-x),margin-top .55s var(--ease-x)}
  .sec-panel.open::before{top:20px;margin-top:0;transform:rotate(45deg);opacity:.85}
  .sp-body{padding:0 22px 24px}
  .sec-panel:not(.open) .sp-body{pointer-events:none}
  .sp-body h3{font-size:30px;margin-bottom:14px}
  .sp-body ul{gap:10px;margin-bottom:22px}
  .sp-body li{font-size:16.5px;line-height:1.35;color:rgba(255,255,255,.9)}
  .sp-go{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--mint);color:#10120f;font-size:15px;font-weight:600}
}
@media (prefers-reduced-motion:reduce){.sec-panel,.sp-ic,.sec-panel::before{transition:none}}

/* ===== v10-linkedin ===== */
.li-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;min-height:40px;padding:0 16px 0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.li-link svg{width:16px;height:16px;flex:none;fill:currentColor}
.li-link:hover,.li-link:focus-visible{background:var(--forest);border-color:var(--forest);color:#fff;outline:none}
.mini .li-link{margin-top:10px}
.person-bio .li-link{margin-top:18px}

/* ===== v11-covers ===== */
/* "What it covers": one slim row of three line-icon items above the scorecard */
.band.sc-strip{padding-block:30px 0}
.sc-strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.sc-strip-head .eyebrow{margin:0}
.sc-strip-note{margin:0;font-size:15px;color:var(--muted)}
.sc-items{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sc-items li{display:flex;gap:16px;align-items:center;padding:20px 24px 20px 0;min-width:0}
.sc-items li+li{padding-left:24px;border-left:1px solid var(--line)}
.sc-ic{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2,#f2f0ea);display:grid;place-items:center;color:var(--forest)}
.sc-ic svg{width:22px;height:22px}
.sc-items h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0 0 4px}
.sc-items p{margin:0;font-size:15.5px;line-height:1.4;color:var(--muted)}
.band.sc-strip + .band.quiz-sec{padding-top:30px}
@media (max-width:860px){
  .band.sc-strip{padding-block:22px 0}
  .sc-items{grid-template-columns:1fr}
  .sc-items li{padding:16px 0}
  .sc-items li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .sc-ic{width:42px;height:42px}
  .sc-ic svg{width:20px;height:20px}
}


/* ===== article icon (restored): the document line icon on every article card ===== */
.ins-card{position:relative}
.ins-ic{position:absolute;top:clamp(26px,3vw,42px);right:clamp(26px,3vw,42px);width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.35;transition:opacity .25s ease,stroke .25s ease}
.ins-card:hover .ins-ic,.ins-card:focus-visible .ins-ic{opacity:1;stroke:var(--forest)}
.ins-card:nth-child(1) .ins-ic,.ins-card:nth-child(4) .ins-ic{stroke:#fff;opacity:.5}
.ins-card:nth-child(1):hover .ins-ic,.ins-card:nth-child(4):hover .ins-ic{stroke:var(--mint);opacity:1}
@media (max-width:760px){.ins-card:nth-child(n) .ins-ic{stroke:var(--ink);opacity:.35}.ins-card:nth-child(odd) .ins-ic{stroke:#fff;opacity:.5}}

/* ===== insights pages: the articles and the article list, on the site's own header, hero and footer ===== */
.insights-page{background:var(--paper)}
.hero.art-hero{padding-block:64px 56px}
.art-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.04em;max-width:22ch;color:#fff}
.art-hero .lede{max-width:60ch;margin-top:18px}
.art-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;font-size:14px;color:rgba(255,255,255,.6)}
.art-crumbs a{color:rgba(255,255,255,.75)}
.art-crumbs a:hover{color:var(--mint)}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:18px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.art-tag{color:var(--mint);border:1px solid rgba(120,230,182,.4);border-radius:999px;padding:5px 12px}
.band.art-main{padding-block:64px 72px}
.prose{max-width:740px;margin-inline:auto;font-size:18.5px;line-height:1.72;color:#2b2f29}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.1em}
.prose h2{font-size:clamp(26px,2.6vw,34px);line-height:1.15;letter-spacing:-.03em;color:var(--ink);margin:1.9em 0 .55em}
.prose h3,.prose h4{font-size:21px;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:1.5em 0 .45em}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em}
.prose li{margin-bottom:.5em}
.prose a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose blockquote,.prose .pull-quote{margin:1.7em 0;padding:.3em 0 .3em 1.2em;border-left:3px solid var(--mint);font-size:22px;line-height:1.42;letter-spacing:-.01em;color:var(--ink)}
.prose .pull-quote p{margin:0}
.prose .table-wrap{overflow-x:auto;margin:1.5em 0;border:1px solid var(--line);border-radius:14px;background:var(--white)}
.prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:16px;line-height:1.5}
.prose th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 16px;background:var(--paper-2)}
.prose td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top}
.prose .stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1.6em 0}
.prose .stat-cell{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px}
.prose .stat-num{display:block;font-size:clamp(28px,3vw,38px);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--forest)}
.prose .stat-label{display:block;margin-top:8px;font-size:14px;line-height:1.35;color:var(--muted)}
.prose .failure-list,.prose .phase-list{list-style:none;padding:0;margin:1.6em 0}
.prose .failure-item{padding:24px 0;border-top:1px solid var(--line);margin:0}
.prose .failure-item:last-child{border-bottom:1px solid var(--line)}
.prose .failure-num,.prose .phase-duration,.prose .failure-fix-label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest)}
.prose .failure-title{font-size:clamp(21px,2vw,25px);margin:8px 0 10px}
.prose .failure-fix{margin-top:12px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--mint);border-radius:10px}
.prose .failure-fix p{margin:6px 0 0}
.prose .phase-item{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);margin:0}
.prose .phase-dot{width:40px;height:40px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700}
.prose .phase-content h4{margin:6px 0 6px}
.prose .phase-content p{margin:0 0 8px}
.prose .author-card{display:flex;gap:16px;align-items:center;margin-top:2.4em;padding-top:24px;border-top:1px solid var(--line)}
.prose .author-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.prose .author-name{font-weight:700;color:var(--ink);font-size:16px}
.prose .author-bio{font-size:15px;line-height:1.5;color:var(--muted)}
/* compact bottom section: three short cards, then a slim call to action */
.band.art-related{padding-block:48px 52px}
.art-related-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.art-related-head h2{font-size:clamp(24px,2.4vw,30px)}
.art-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto}
.art-cards .ins-card{min-height:0;padding:22px;gap:10px}
.art-cards .ins-card h3{font-size:clamp(19px,1.6vw,22px);line-height:1.15;padding-right:34px}
.art-cards .ins-card p{font-size:15.5px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.art-cards .ins-card .ins-ic{top:22px;right:22px;width:24px;height:24px}
.art-cards .ins-card:nth-child(n){background:var(--white);border-color:var(--line);color:var(--ink)}
.art-cards .ins-card:nth-child(n) p{color:var(--muted)}
.art-cards .ins-card:nth-child(n) .ins-tag{color:var(--forest);background:rgba(21,63,55,.1)}
.art-cards .ins-card:nth-child(n) .ins-foot{border-top-color:var(--line);color:var(--muted)}
.art-cards .ins-card:nth-child(n) .ins-go{color:var(--forest)}
.art-cards .ins-card:nth-child(n) .ins-ic{stroke:var(--ink);opacity:.35}
.art-cards .ins-card:nth-child(n):hover .ins-ic{stroke:var(--forest);opacity:1}
.band.art-closing{padding-block:56px 64px}
.art-closing h2{font-size:clamp(26px,3vw,40px)}
.art-closing .btns{margin-top:22px}
/* the article list on the Insights page: the original list style, with the document icon */
.art-list{max-width:900px;margin-inline:auto}
.art-list a{grid-template-columns:34px 1fr 24px;align-items:start}
.art-list .ed-go{color:var(--forest);font-size:20px;opacity:0;transition:opacity .2s ease,transform .2s ease;align-self:center}
.art-list a:hover .ed-go{opacity:1;transform:translateX(3px)}
@media (max-width:900px){.art-cards{grid-template-columns:1fr}}
@media (max-width:760px){.art-crumbs,.art-meta{justify-content:center}.art-hero h1,.art-hero .lede{margin-inline:auto}}
@media (max-width:640px){
  .hero.art-hero{padding-block:44px 40px}
  .band.art-main{padding-block:40px 48px}
  .band.art-related{padding-block:36px 40px}
  .band.art-closing{padding-block:44px 48px}
  .prose{font-size:17.5px}
  .prose .stat-row{grid-template-columns:1fr}
  .art-list a{grid-template-columns:28px 1fr}
  .art-list .ed-go{display:none}
}

/* ===== header with seven links: keep the logo whole and the links on one line between 981px and 1180px ===== */
@media (min-width:981px) and (max-width:1180px){
  header .brand{flex:none}
  header nav a{padding-left:7px;padding-right:7px;font-size:13px}
}

/* ===== client logos link to each company's website ===== */
a.cl-cell{color:inherit;text-decoration:none;cursor:pointer}

/* ===== phone / tablet header and menu ===== */
@media (max-width:980px){
  /* logo on the left, Book a Call in the middle, menu button on the right edge (its three lines line up with the page margin) */
  header .nav-cta{margin-left:auto;margin-right:auto}
  header .nav-toggle{margin-right:-11px}
  /* every link, active or not, sits the same distance in from the left; the active page keeps its highlight and gets the green marker in that space */
  header nav a,header nav a.active{padding-left:32px;padding-right:16px;text-indent:0;border-radius:0}
  header nav a:hover,header nav a:focus-visible,header nav a.active{background:rgba(255,255,255,.06);border-radius:12px;border-bottom-color:transparent;color:#fff}
  header nav a.active::after{display:block;content:"";position:absolute;left:14px;right:auto;bottom:auto;top:50%;width:6px;height:6px;margin:0;border-radius:50%;background:var(--mint);transform:translateY(-50%)}
}

/* phones: logo, Book a Call and the menu button are spaced evenly across the header (equal gaps, the button's lines on the page margin) */
@media (max-width:760px){
  header .wrap{justify-content:space-between}
  header .nav-cta{margin-left:0;margin-right:0}
  header .nav-toggle{margin-left:-11px;margin-right:-11px}
}

/* ===== scorecard v2: six questions (some multi-select), instant results, then the email for the bespoke report ===== */
.qz-pick{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:-14px 0 20px}
.qz-opts.multi .qz-opt kbd{border-radius:5px;font-size:0}
.qz-opts.multi .qz-opt.on kbd::after{content:"";width:5px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.qz-opts.many .qz-opt{min-height:62px;font-size:17px}
.qz-other[hidden]{display:none}
.qz-other input{width:100%;font:inherit;font-size:18px;padding:12px 14px;background:var(--white);border:1px solid var(--line);color:var(--ink)}
.qz-other input:focus{outline:2px solid var(--forest);outline-offset:1px}
.qz-nav-r{display:flex;align-items:center;gap:18px}
.qz-skip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.qz-skip:hover{color:var(--ink)}
.qz-next-btn[disabled]{opacity:.45;cursor:not-allowed}
.qz-vn-opt{margin-left:6px;color:var(--muted)}
/* results */
.rs-h{max-width:26ch;font-size:clamp(28px,3vw,42px);margin-bottom:16px}
.rs-lead{font-size:19px;line-height:1.55;max-width:62ch;color:var(--ink);margin-bottom:26px}
.rs-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:12px}
.rs-band{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:26px}
.rs-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}
.rs-steps li{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.rs-steps i{display:block;height:8px;border-radius:4px;background:var(--paper-2)}
.rs-steps li.past i{background:var(--mint)}
.rs-steps li.on i{background:var(--forest)}
.rs-steps li.on{color:var(--ink);font-weight:600}
.rs-bandline{font-size:17px;color:var(--ink);max-width:60ch}
.rs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:26px}
.rs-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px}
.rs-ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--white);border:1px solid var(--line);margin-bottom:12px}
.rs-ic svg{width:16px;height:16px;fill:none;stroke:var(--forest);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rs-card h3{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}
.rs-card p{font-size:16px;line-height:1.5;color:var(--muted)}
.rs-est{display:flex;align-items:center;gap:22px;background:var(--forest);color:#fff;border-radius:14px;padding:22px 26px;margin-bottom:26px}
.rs-est-n{flex:none;display:flex;flex-direction:column;gap:4px}
.rs-est-n b{font-size:clamp(32px,4vw,48px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--mint)}
.rs-est-n span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.rs-est p{font-size:16px;line-height:1.5;color:rgba(255,255,255,.82)}
.rs-ex{margin-bottom:18px}
.rs-ex ul{list-style:none;display:grid;gap:10px}
.rs-ex li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--mint);border-radius:10px}
.rs-ex li b{font-size:18px;font-weight:600;letter-spacing:-.02em}
.rs-ex li span{font-size:16px;color:var(--muted);line-height:1.45}
.rs-ex li em{font-style:normal;font-size:14px;color:var(--forest);font-weight:600}
.rs-fine{font-size:14.5px;color:var(--muted);margin-bottom:26px;max-width:66ch}
/* email capture */
.rs-capture{background:var(--forest);color:#fff;border-radius:18px;padding:clamp(24px,3vw,40px);position:relative;overflow:hidden}
.rs-capture::before{content:"";position:absolute;right:-12%;top:-40%;width:360px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(120,230,182,.22),transparent 66%);pointer-events:none}
.rs-capture>*{position:relative}
.rs-cap-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:12px}
.rs-capture h3{font-size:clamp(24px,2.6vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.12;max-width:24ch;margin-bottom:16px}
.rs-cap-list{list-style:none;display:grid;gap:8px;margin-bottom:22px}
.rs-cap-list li{position:relative;padding-left:26px;font-size:16.5px;color:rgba(255,255,255,.86);line-height:1.4}
.rs-cap-list li::before{content:"";position:absolute;left:3px;top:5px;width:6px;height:11px;border:solid var(--mint);border-width:0 2px 2px 0;transform:rotate(45deg)}
.rs-capture .site-form{background:transparent;border:0;padding:0;max-width:none;gap:16px}
.rs-capture .site-form label{color:rgba(255,255,255,.75)}
.rs-capture .site-form input:not([type=checkbox]),.rs-capture .site-form select{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:#fff}
.rs-capture .site-form select option{color:var(--ink)}
.rs-capture .site-form input:focus,.rs-capture .site-form select:focus{background:rgba(255,255,255,.16);border-color:var(--mint)}
.rs-capture .site-form .invalid{border-color:#ff9a86!important}
.rs-capture .f-status{color:#fff}
.rs-capture .f-status.err{background:rgba(255,154,134,.15);color:#ffd3c9}
.rs-more{border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.rs-more summary{cursor:pointer;font-size:15px;color:var(--mint);list-style:none}
.rs-more summary::-webkit-details-marker{display:none}
.rs-more summary::after{content:" +";}
.rs-more[open] summary::after{content:" \2212"}
.rs-more>*{margin-top:14px}
.rs-more summary{margin-top:0}
.rs-check{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-family:var(--sans)!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important}
.rs-check input{margin-top:4px;accent-color:var(--mint)}
.rs-consent{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.62)}
.rs-book{margin-top:14px;font-size:16px;color:rgba(255,255,255,.8)}
.rs-book .ulink{color:var(--mint)}
.rs-done{display:flex;gap:20px;align-items:flex-start;background:var(--forest);color:#fff;border-radius:18px;padding:clamp(24px,3vw,40px)}
.rs-done-ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--mint)}
.rs-done-ic svg{width:24px;height:24px;fill:none;stroke:var(--forest);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rs-done h3{font-size:clamp(24px,2.6vw,32px);font-weight:500;letter-spacing:-.03em;margin-bottom:10px}
.rs-done p{font-size:17px;line-height:1.5;color:rgba(255,255,255,.85);max-width:56ch;margin-bottom:18px}
.rs-done .btn-dark{background:var(--mint);color:var(--ink)}
.rs-done .ulink{color:var(--mint)}
.rs-fail{background:#3a1d17}
.rs-actions{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}
@media (max-width:900px){
  .rs-cards{grid-template-columns:1fr}
  .rs-est{flex-direction:column;align-items:flex-start;gap:12px}
}
@media (max-width:640px){
  .rs-steps{grid-template-columns:repeat(2,1fr);gap:12px 8px}
  .rs-done{flex-direction:column}
  .qz-nav{flex-wrap:wrap;gap:14px}
  .qz-nav-r{width:100%;justify-content:space-between}
  .rs-actions{flex-direction:column;align-items:flex-start}
  .rs-h{max-width:none}
}
.rs-capture .site-form .btn-mint{background:var(--mint);color:var(--ink);align-self:flex-start}
.rs-capture .site-form .btn-mint:hover{background:#fff}
@media (max-width:640px){.rs-capture .site-form .btn-mint{align-self:stretch}}

/* ===== team page: "The people behind Innate" is centred (heading, line, photos, names and LinkedIn links) ===== */
.team-left{text-align:center}
.team-left .team-lede{margin-left:auto;margin-right:auto}
@media (min-width:901px){
  .mini-team{display:flex;flex-wrap:wrap;justify-content:center;gap:36px clamp(28px,4vw,64px);max-width:none;margin-inline:auto}
  .mini{flex:0 0 clamp(180px,19vw,240px)}
}
.mini .li-link{display:inline-flex;justify-content:center}
.story-founder .li-link{margin-top:16px}

/* case study films: the whole frame is always visible. On phones the player used to be 4:3 with the picture cropped to fill it,
   which cut the sides off the 16:9 films; it is now 16:9 and the picture is never cropped. */
.cp-film video{object-fit:contain}
@media (max-width:640px){.cp-cover,.cp-film{aspect-ratio:16/9}}
