/* Practice Accelerator — Homepage V2 */
:root{
  --emerald:#0B3D2E;--deep:#062a22;--deeper:#041d17;--teal:#007d68;--sage:#1F7A5A;--mint:#36d5b6;--mint-soft:#9ff0de;--pale:#e8faf7;--stone:#f6f4ee;
  --ink:#0d2a24;--body:#4b605b;--muted:#7d8f8a;--line:rgba(11,61,46,.12);--line-dark:rgba(255,255,255,.12);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --container:1280px;--gutter:clamp(1.25rem,4vw,3rem);
  --r-xl:36px;--r-lg:28px;--r-md:20px;--r-sm:14px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow-lg:0 40px 90px -40px rgba(4,29,23,.45);
  --shadow-md:0 22px 50px -26px rgba(4,29,23,.35);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--body);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{margin:0;color:var(--ink);font-weight:500;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.005em}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px}
::selection{background:var(--mint);color:var(--deep)}
.container{width:min(100% - var(--gutter)*2,var(--container));margin-inline:auto}
.i{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;top:-5rem;left:1rem;z-index:200;padding:.7rem 1rem;border-radius:10px;background:#fff;color:var(--emerald)}
.skip-link:focus{top:1rem}

/* ---------- Type helpers ---------- */
.h2{font-size:clamp(2.25rem,4.6vw,4.1rem)}
.h2 em,.cta__title em{color:var(--sage)}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1.4rem;color:var(--teal);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.eyebrow--light{color:var(--mint)}
.lead{font-size:1.125rem;line-height:1.65}
.prose{display:grid;gap:1.15rem;font-size:1.0625rem}
.label{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.center{display:flex;justify-content:center;margin-top:clamp(2.5rem,5vw,4rem)}

/* ---------- Buttons ---------- */
.btn{--bg:var(--emerald);--fg:#fff;--ic-bg:var(--mint);--ic-fg:var(--deep);position:relative;display:inline-flex;align-items:center;gap:.9rem;min-height:54px;padding:.4rem .45rem .4rem 1.45rem;border:1px solid transparent;border-radius:999px;background:var(--bg);color:var(--fg);font:500 .95rem/1.1 var(--sans);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background-color .3s,border-color .3s}
.btn__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ic-bg);color:var(--ic-fg);transition:transform .5s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px -16px rgba(4,29,23,.5)}
.btn:hover .btn__icon{transform:rotate(-45deg)}
.btn--dark{--bg:var(--emerald)}
.btn--dark:hover{--bg:var(--deep)}
.btn--mint{--bg:var(--mint);--fg:var(--deep);--ic-bg:var(--deep);--ic-fg:var(--mint)}
.btn--mint:hover{--bg:#4fe0c3}
.btn--ghost{--bg:transparent;padding-right:1.45rem;border-color:rgba(255,255,255,.28)}
.btn--ghost:hover{--bg:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);box-shadow:none}
.btn--sm{min-height:48px;padding-left:1.2rem;font-size:.88rem}
.btn--sm .btn__icon{width:36px;height:36px}
.link-arrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--teal);font-weight:500;font-size:.98rem}
.link-arrow .i{transition:transform .4s var(--ease)}
.link-arrow:hover .i{transform:translateX(5px)}

/* ---------- Progress + Nav ---------- */
.progress{position:fixed;inset:0 0 auto;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--teal),var(--mint))}
.nav{position:fixed;inset:14px 0 auto;z-index:110;transition:transform .6s var(--ease)}
.nav.is-hidden{transform:translateY(calc(-100% - 24px))}
.nav__inner{width:min(100% - 1.5rem,1340px);height:70px;margin-inline:auto;padding:0 .55rem 0 1.5rem;display:flex;align-items:center;gap:1.5rem;border-radius:999px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);box-shadow:0 12px 40px -18px rgba(4,29,23,.45);transition:background-color .4s,box-shadow .4s}
.nav.is-scrolled .nav__inner{background:rgba(255,255,255,.97);box-shadow:0 14px 44px -18px rgba(4,29,23,.32)}
.nav__brand{flex:none;width:150px}
.nav__brand img{width:100%}
.nav__links{display:flex;align-items:center;gap:.2rem;margin-inline:auto}
.nav__links>a,.nav__item>a{position:relative;display:inline-flex;align-items:center;gap:.3rem;padding:.6rem 1rem;border-radius:999px;color:var(--ink);font-size:.93rem;transition:background-color .3s,color .3s}
.nav__links>a:hover,.nav__item>a:hover,.nav__item:focus-within>a{background:var(--pale)}
.nav__links a[aria-current]{background:var(--pale);color:var(--teal)}
.nav__item{position:relative}
.nav__item::after{content:"";position:absolute;left:0;right:0;top:100%;height:28px}
.nav__chev{width:15px;height:15px;transition:transform .4s var(--ease)}
.nav__item:hover .nav__chev,.nav__item:focus-within .nav__chev{transform:rotate(180deg)}
.nav__drop{position:absolute;top:calc(100% + 24px);left:50%;z-index:2;display:grid;gap:.15rem;width:max-content;min-width:340px;padding:.5rem;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px -24px rgba(4,29,23,.35);opacity:0;visibility:hidden;translate:-50% 10px;transition:opacity .3s,translate .45s var(--ease),visibility .3s}
.nav__item:hover .nav__drop,.nav__item:focus-within .nav__drop{opacity:1;visibility:visible;translate:-50% 0}
.nav__drop a{display:flex;align-items:center;gap:.85rem;padding:.6rem .9rem .6rem .6rem;border-radius:15px;color:var(--ink);font-size:.92rem;transition:background-color .25s}
.nav__drop a:hover{background:var(--pale)}
.nav__drop .icon-badge{width:38px;height:38px;border-radius:11px;transition:background-color .25s,color .25s}
.nav__drop .icon-badge .i{width:19px;height:19px}
.nav__drop a:hover .icon-badge{background:var(--emerald);color:var(--mint)}
.nav__toggle{display:none;margin-left:auto;align-items:center;gap:.7rem;height:48px;padding:0 1.15rem;border:0;border-radius:999px;background:var(--pale);color:var(--ink);font:500 .9rem var(--sans);cursor:pointer}
.nav__toggle i,.nav__toggle i::before{display:block;width:18px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.nav__toggle i{position:relative;transform:translateY(3px)}
.nav__toggle i::before{content:"";position:absolute;top:-6px}
.nav__toggle[aria-expanded="true"] i{transform:rotate(45deg)}
.nav__toggle[aria-expanded="true"] i::before{transform:translateY(6px) rotate(-90deg)}
.menu{position:fixed;inset:0;z-index:105;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:8rem var(--gutter) 2.5rem;overflow-y:auto;background:var(--deep);color:#fff;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.menu.is-open{opacity:1;visibility:visible}
.menu nav>a,.menu__sub summary{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid var(--line-dark);font-size:clamp(1.8rem,7vw,2.6rem);letter-spacing:-.03em;cursor:pointer;list-style:none}
.menu nav>a,.menu__sub{transform:translateY(16px);opacity:0;transition:transform .6s var(--ease),opacity .6s}
.menu.is-open nav>*{transform:none;opacity:1}
.menu.is-open nav>:nth-child(2){transition-delay:.05s}.menu.is-open nav>:nth-child(3){transition-delay:.1s}.menu.is-open nav>:nth-child(4){transition-delay:.15s}
.menu nav .i{color:var(--mint)}
.menu__sub summary::-webkit-details-marker{display:none}
.menu__sub summary .i{transition:transform .4s var(--ease)}
.menu__sub[open] summary .i{transform:rotate(45deg)}
.menu__sub div{display:grid;padding:.5rem 0 1rem;border-bottom:1px solid var(--line-dark)}
.menu__sub div a{padding:.65rem 0;color:rgba(255,255,255,.75);font-size:1.1rem}
.menu__sub div a:hover{color:#fff}
.menu .btn{align-self:flex-start;white-space:normal}

/* ---------- Shared bits ---------- */
.section{position:relative;padding-block:clamp(5.5rem,11vw,10rem)}
.frame{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--pale)}
.frame img{width:100%;height:100%;object-fit:cover}
[data-parallax]{transform:translate3d(0,var(--py,0px),0) scale(1.14);will-change:transform}
.icon-badge{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:var(--pale);color:var(--teal)}
.icon-badge .i{width:24px;height:24px}
.icon-badge--glow{background:rgba(54,213,182,.12);color:var(--mint)}
.avatars{display:flex}
.avatars span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2px solid var(--deep);background:var(--mint);color:var(--deep);font-weight:600;font-size:.95rem}
.avatars span+span{margin-left:-12px;background:var(--pale)}
.avatars--lg span{width:56px;height:56px;font-size:1.15rem;border-color:#fff}
.split-head{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:clamp(3rem,6vw,5rem)}
.head{max-width:66rem}

/* ---------- Reveal ---------- */
.js .reveal{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1.1s var(--ease),translate .6s var(--ease),box-shadow .6s var(--ease);transition-delay:var(--rd,0s),var(--rd,0s),0s,0s}
.js .reveal.is-visible{opacity:1;transform:none}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:#fff;padding-top:clamp(8.5rem,15vw,11rem)}
.hero__bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 60% at 88% 8%,rgba(54,213,182,.22),transparent 62%),radial-gradient(45% 55% at -5% 100%,rgba(0,125,104,.45),transparent 65%),linear-gradient(160deg,#073226 0%,var(--deep) 45%,var(--deeper) 100%)}
.hero__bg::after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.09;mix-blend-mode:overlay}
.hero__grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 15%,transparent 70%)}
.hero__swoosh{position:absolute;inset:0;width:100%;height:100%}
.hero__swoosh path{fill:none;stroke:var(--mint);stroke-width:1.2;stroke-dasharray:1800;stroke-dashoffset:1800;opacity:.2;transition:stroke-dashoffset 3.2s var(--ease) .4s}
.hero__swoosh path+path{opacity:.09;transition-delay:.7s}
.is-loaded .hero__swoosh path{stroke-dashoffset:0}
.hero__layout{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,5.5rem);align-items:center;padding-bottom:clamp(4rem,8vw,6.5rem)}
.pill{display:inline-flex;align-items:center;gap:.65rem;padding:.5rem 1rem .5rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--mint-soft);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--mint)}
.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mint);animation:ping 2.2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}
.hero__title{margin-top:1.75rem;color:#fff;font-size:clamp(2.9rem,7vw,6.75rem);line-height:.98;letter-spacing:-.055em}
.hero__title em{display:inline-block;color:var(--mint);font-size:1.07em;letter-spacing:-.025em;padding-right:.06em}
.line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.line>span{display:block}
.js .line>span{transform:translateY(110%);transition:transform 1.2s var(--ease);transition-delay:calc(var(--d)*.12s + .1s)}
.js .is-loaded .line>span{transform:none}
.js .hero__in{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--d)*.12s + .15s)}
.js .is-loaded .hero__in{opacity:1;transform:none}
.hero__intro{max-width:35rem;margin-top:1.75rem;color:rgba(255,255,255,.74);font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6}
.hero__proof{display:flex;align-items:center;gap:1rem;max-width:32rem;margin-top:1.75rem;color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.45}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}
.hero__micro{margin-top:1.4rem;color:rgba(255,255,255,.5);font-size:.88rem}
.hero__media{position:relative;justify-self:end;width:100%;max-width:520px}
.hero__frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:260px 260px var(--r-lg) var(--r-lg);background:#0d4a3b;box-shadow:var(--shadow-lg)}
.hero__frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);background:linear-gradient(180deg,transparent 60%,rgba(4,29,23,.35))}
.hero__frame img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.float{position:absolute;display:flex;align-items:center;gap:.8rem;padding:.8rem 1.15rem .8rem .8rem;border-radius:18px;background:rgba(255,255,255,.92);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 26px 50px -22px rgba(0,0,0,.55);translate:calc(var(--mx,0)*var(--depth)*2px) calc(var(--my,0)*var(--depth)*2px);transition:translate .8s var(--ease);animation:bob 7s ease-in-out infinite}
.float strong{display:block;font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.float small{display:block;color:var(--body);font-size:.82rem}
.float__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--emerald);color:var(--mint)}
.float--a{left:-16%;top:20%}
.float--b{right:-7%;top:52%;flex-direction:column;align-items:flex-start;gap:.15rem;padding:1rem 1.2rem;animation-delay:-2.5s}
.float--b strong{font-size:2.3rem;line-height:1;letter-spacing:-.05em;color:var(--emerald);font-weight:500}
.float--c{left:-6%;bottom:7%;gap:.4rem;padding:.55rem;background:rgba(6,42,34,.62);border:1px solid rgba(255,255,255,.14);color:#fff;animation-delay:-4.5s}
.float--c span{padding:.35rem .7rem;border-radius:999px;background:rgba(255,255,255,.1);font-size:.78rem;white-space:nowrap}
.float--c span:first-child{background:var(--mint);color:var(--deep)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.marquee{position:relative;padding:1.5rem 0;border-top:1px solid var(--line-dark);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__group{display:flex;gap:3.25rem;padding-right:3.25rem}
.marquee__group li{display:inline-flex;align-items:center;gap:.75rem;color:rgba(255,255,255,.78);font-size:1.05rem;white-space:nowrap}
.marquee__group .i{color:var(--mint)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Strategy ---------- */
.strategy__layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,7vw,7rem);align-items:start;margin-top:clamp(3rem,6vw,5rem)}
.strategy__media{position:sticky;top:120px}
.frame--tall{aspect-ratio:4/5}
.frame--tall img{object-position:40% 50%}
.strategy__body .prose{font-size:1.125rem;max-width:38rem}
.questions{margin-top:3.25rem}
.questions .label{padding-bottom:1rem;border-bottom:1px solid var(--line)}
.questions li{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:.75rem;padding:1.2rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:clamp(1.05rem,1.5vw,1.25rem);letter-spacing:-.015em;line-height:1.35;transition:padding .5s var(--ease),color .3s}
.q__num{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.questions li .i{color:var(--teal);transition:transform .5s var(--ease)}
.questions li:hover{padding-left:.75rem;color:var(--teal)}
.questions li:hover .i{transform:rotate(90deg)}
.statement{max-width:24em;margin-top:clamp(5rem,10vw,8.5rem);color:var(--ink);font-size:clamp(1.9rem,4.2vw,3.75rem);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.statement em{color:var(--sage)}
.js .statement .w{opacity:.14;transition:opacity .35s ease}
.js .statement .w.on{opacity:1}

/* ---------- Why (bento) ---------- */
.why{background:var(--stone)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}
.card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:clamp(1.6rem,3vw,2.5rem);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);transition:translate .6s var(--ease),box-shadow .6s var(--ease),opacity 1s var(--ease),transform 1.1s var(--ease)}
.card:hover{translate:0 -4px;box-shadow:var(--shadow-md)}
.card h3{font-size:clamp(1.45rem,2.1vw,1.85rem);margin-bottom:.8rem}
.card p{font-size:1rem}
.card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;padding-bottom:2.5rem}
.card--photo{grid-column:span 7;min-height:560px;justify-content:flex-end;border:0;color:rgba(255,255,255,.82);background:var(--deep)}
.card--photo img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.card--photo:hover img{transform:scale(1.04)}
.card--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,29,23,0) 25%,rgba(4,29,23,.55) 55%,rgba(4,29,23,.94) 100%)}
.card--photo h3{color:#fff;font-size:clamp(1.6rem,2.4vw,2.1rem)}
.card__content{max-width:30rem}
.big-num{display:block;margin-bottom:.35rem;color:var(--mint);font-size:clamp(4.5rem,9vw,7.5rem);font-weight:400;line-height:.85;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.card--metrics{grid-column:span 5}
.card--metrics .card__top{padding-bottom:1.75rem}
.card--founders{grid-column:span 5}
.card--built{grid-column:span 7}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px dashed var(--line)}
.metrics__label{display:block;margin-bottom:.75rem;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.metrics__group--out .metrics__label{color:var(--teal)}
.bars{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;align-items:end;height:120px;padding-bottom:1px;border-bottom:1px solid var(--line)}
.bars i{display:block;height:var(--h);border-radius:8px 8px 3px 3px;background:#e3e8e6;transform:scaleY(0);transform-origin:bottom;transition:transform 1.3s var(--ease) calc(var(--n)*.09s + .2s)}
.metrics__group--out .bars i{background:linear-gradient(180deg,var(--mint),var(--teal))}
.is-visible .bars i{transform:none}
.bars__names{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.5rem;color:var(--muted);font-size:.68rem;text-align:center;letter-spacing:-.005em}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}
.chips li{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;background:var(--pale);color:var(--emerald);font-size:.85rem;transition:transform .4s var(--ease),background-color .3s}
.chips li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
.chips li:hover{transform:translateY(-2px);background:#d5f5ee}
.chips .chip--no{background:transparent;border:1px dashed rgba(11,61,46,.25);color:var(--muted);text-decoration:line-through}
.chips .chip--no::before{background:#c9d2cf}

/* ---------- Journey ---------- */
.journey{overflow:hidden;isolation:isolate;background:var(--deep);color:rgba(255,255,255,.72)}
.journey::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(45% 55% at 85% 50%,rgba(54,213,182,.16),transparent 70%),radial-gradient(40% 50% at 0% 0%,rgba(0,125,104,.3),transparent 70%)}
.journey::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--grain);opacity:.07;mix-blend-mode:overlay}
.journey .h2{color:#fff}
.journey .h2 em,.industries .h2 em,.cta__title em{color:var(--mint)}
.journey__rings{position:absolute;right:-12%;top:50%;z-index:-1;width:min(1000px,90vw);aspect-ratio:1;transform:translateY(-50%)}
.journey__rings span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.07)}
.journey__rings span:nth-child(2){inset:15%}
.journey__rings span:nth-child(3){inset:30%}
.journey__rings span::after{content:"";position:absolute;top:50%;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 18px 4px rgba(54,213,182,.45)}
.journey__rings span{animation:spin 40s linear infinite}
.journey__rings span:nth-child(2){animation-duration:28s;animation-direction:reverse}
.journey__rings span:nth-child(3){animation-duration:20s}
@keyframes spin{to{transform:rotate(360deg)}}
.journey__layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.journey__copy>p:not(.eyebrow){max-width:32rem;margin-top:1.5rem;font-size:1.125rem}
.journey__copy .journey__note{display:flex;align-items:center;gap:1rem;margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--line-dark);color:#fff;font-size:1rem}
.search-ui{padding:clamp(1.1rem,2.4vw,1.6rem);border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.search-ui__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;font-size:.88rem;color:rgba(255,255,255,.75)}
.live{display:inline-flex;align-items:center;gap:.5rem;flex:none;padding:.35rem .75rem;border-radius:999px;background:rgba(54,213,182,.13);color:var(--mint);font-size:.75rem;font-weight:500}
.live i{position:relative;width:7px;height:7px;border-radius:50%;background:var(--mint)}
.live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--mint);animation:ping 2s var(--ease) infinite}
.search-ui__field{display:flex;align-items:center;gap:.8rem;height:66px;padding:0 1.35rem;border-radius:18px;background:#fff;color:var(--ink);font-size:clamp(1rem,1.5vw,1.15rem);box-shadow:0 18px 40px -20px rgba(0,0,0,.5)}
.search-ui__field .i{color:var(--teal)}
.search-ui__field [data-query]{overflow:hidden;white-space:nowrap}
.caret{flex:none;width:2px;height:1.35em;margin-left:-.55rem;background:var(--teal);animation:blink 1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:.9rem}
.channel{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:.95rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:rgba(255,255,255,.7);font-size:.88rem;font-weight:500;transition:transform .6s var(--ease),background-color .5s,color .5s,border-color .5s}
.channel__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.08);transition:background-color .5s}
.channel.is-active{transform:translateY(-4px);border-color:var(--mint);background:var(--mint);color:var(--deep)}
.channel.is-active .channel__ic{background:rgba(6,42,34,.12)}
.jsteps{position:relative;margin-top:.9rem;padding:1.2rem 1.25rem 1.35rem;border-radius:18px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06)}
.jsteps__label{display:block;margin-bottom:1rem;color:rgba(255,255,255,.55);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.jsteps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.jstep{position:relative;display:flex;flex-direction:column;align-items:center;gap:.65rem;color:rgba(255,255,255,.4);font-size:clamp(.92rem,1.3vw,1.05rem);font-weight:500;letter-spacing:-.01em;text-align:center;transition:color .5s}
.jstep:not(:last-child)::before,.jstep:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 24px);width:calc(100% - 48px + .5rem);height:1px;background:rgba(255,255,255,.14)}
.jstep:not(:last-child)::after{background:var(--mint);transform-origin:0 50%;transform:scaleX(0);transition:transform .5s var(--ease)}
.jstep.is-linked::after{transform:none}
.jstep__dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:var(--deep);color:transparent;transition:background-color .5s,border-color .5s,color .5s,transform .6s var(--ease)}
.jstep__dot .i{width:15px;height:15px;stroke-width:2.4}
.jstep.is-on{color:#fff}
.jstep.is-on .jstep__dot{background:var(--mint);border-color:var(--mint);color:var(--deep);transform:scale(1.06)}

/* ---------- About ---------- */
.about__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.about__media{position:relative}
.frame--about{aspect-ratio:5/6;border-radius:var(--r-lg) 220px var(--r-lg) var(--r-lg)}
.frame--about img{object-position:35% 50%}
.stat{position:absolute;right:clamp(-2rem,-2vw,-1rem);bottom:2.5rem;display:grid;gap:.35rem;width:250px;padding:1.4rem 1.5rem;border-radius:22px;background:#fff;box-shadow:var(--shadow-lg)}
.stat .icon-badge{width:44px;height:44px;border-radius:12px;margin-bottom:.4rem}
.stat strong{color:var(--emerald);font-size:3.6rem;font-weight:500;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.stat>span:last-child{color:var(--body);font-size:.92rem;line-height:1.4}
.about__copy .prose{margin:1.75rem 0 2.5rem}

/* ---------- Services (stacking cards) ---------- */
.services{background:var(--stone)}
.stack{display:grid;gap:clamp(1.25rem,3vw,2rem)}
.stack__card{position:sticky;top:calc(112px + var(--i)*24px);display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(1.75rem,4vw,4rem);align-items:stretch;min-height:min(560px,calc(100vh - 170px));padding:clamp(1.5rem,3.2vw,2.75rem);border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:0 -24px 60px -36px rgba(4,29,23,.35);transform-origin:50% 0;transform:scale(var(--s,1));will-change:transform}
.stack__text{display:flex;flex-direction:column;padding:.5rem 0}
.stack__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;padding-bottom:2.5rem}
.stack__num{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.stack__card h3{margin-bottom:1.1rem;font-size:clamp(1.85rem,3vw,2.7rem)}
.stack__card p{max-width:32rem}
.stack__card .link-arrow{margin-top:2rem;align-self:flex-start}
.stack__card--mint{background:var(--pale);border-color:rgba(0,125,104,.12)}
.stack__card--mint .icon-badge{background:#fff}
.stack__card--dark,.stack__card--deep{border-color:transparent;color:rgba(255,255,255,.72)}
.stack__card--dark{background:var(--emerald)}
.stack__card--deep{background:var(--deeper)}
.stack__card--dark h3,.stack__card--deep h3{color:#fff}
.stack__card--dark .icon-badge,.stack__card--deep .icon-badge{background:rgba(54,213,182,.12);color:var(--mint)}
.stack__card--dark .stack__num,.stack__card--deep .stack__num{color:rgba(255,255,255,.45)}
.stack__card--dark .link-arrow,.stack__card--deep .link-arrow{color:var(--mint)}
.stack__visual{position:relative;overflow:hidden;min-height:340px;border-radius:24px}
.stack__visual--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stack__visual--seo{display:grid;place-items:center;padding:2rem;background:radial-gradient(70% 70% at 70% 20%,#fff,transparent 70%),linear-gradient(135deg,#c9f1e6,#9fe6d4)}
.stack__visual--ads{display:grid;align-content:center;gap:1rem;padding:clamp(1.5rem,3vw,2.5rem);background:radial-gradient(60% 70% at 80% 10%,rgba(54,213,182,.3),transparent 70%),linear-gradient(160deg,#0f5743,#08392c)}
.stack__visual--ai{background:radial-gradient(50% 50% at 50% 50%,rgba(54,213,182,.25),transparent 70%),linear-gradient(160deg,#073226,#03140f)}
.mock{border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -30px rgba(4,29,23,.5)}
.serp{width:min(100%,400px);padding:1rem}
.mock__search{display:flex;align-items:center;gap:.6rem;height:46px;padding:0 1rem;border-radius:999px;background:var(--stone);font-size:.9rem}
.mock__search .i{color:var(--teal)}
.serp__map{position:relative;height:110px;margin:.85rem 0;overflow:hidden;border-radius:12px;background:#eef3f1;background-image:linear-gradient(rgba(11,61,46,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,61,46,.05) 1px,transparent 1px);background-size:18px 18px}
.serp__road{position:absolute;background:#fff;border-radius:6px}
.serp__road--a{left:-5%;right:-5%;top:55%;height:10px;transform:rotate(-8deg)}
.serp__road--b{top:-10%;bottom:-10%;left:38%;width:9px;transform:rotate(14deg)}
.serp__pin{position:absolute;width:12px;height:12px;border-radius:50%;background:#b8c6c1;border:2px solid #fff}
.serp__pin--b{left:70%;top:24%}.serp__pin--c{left:20%;top:70%}
.serp__pin--you{left:46%;top:18%;display:grid;place-items:center;width:38px;height:38px;border:0;background:var(--emerald);color:var(--mint);box-shadow:0 0 0 6px rgba(54,213,182,.3);animation:pinPulse 2.4s var(--ease) infinite}
.serp__pin--you .i{width:18px;height:18px}
@keyframes pinPulse{0%,100%{box-shadow:0 0 0 0 rgba(54,213,182,.45)}60%{box-shadow:0 0 0 12px rgba(54,213,182,0)}}
.serp__row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px}
.serp__row+.serp__row{margin-top:.25rem}
.serp__row--you{background:var(--pale);box-shadow:inset 0 0 0 1px rgba(0,125,104,.18)}
.serp__fav{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#eef1f0}
.serp__row--you .serp__fav{background:#fff}
.serp__fav svg{width:22px;height:22px;color:var(--emerald)}
.serp__txt{display:grid;flex:1;gap:.35rem}
.serp__txt strong{font-size:.92rem;font-weight:600}
.serp__txt small{color:var(--body);font-size:.78rem}
.serp__tag{padding:.35rem .75rem;border-radius:999px;background:var(--emerald);color:#fff;font-size:.75rem}
.skel{display:block;width:var(--w);height:8px;border-radius:6px;background:#e6ebe9}
.ad{display:grid;gap:.3rem;padding:1.2rem 1.3rem}
.ad__tag{justify-self:start;margin-bottom:.35rem;padding:.2rem .55rem;border-radius:6px;background:var(--pale);color:var(--teal);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ad strong{font-size:1.05rem;font-weight:600;letter-spacing:-.015em}
.ad small{color:var(--body);font-size:.85rem}
.ad__cta{display:inline-flex;align-items:center;gap:.45rem;justify-self:start;margin-top:.7rem;padding:.55rem .95rem;border-radius:999px;background:var(--emerald);color:#fff;font-size:.82rem}
.funnel{display:grid;gap:.8rem;padding:1.2rem 1.3rem;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none}
.funnel__row{display:grid;grid-template-columns:5.5rem 1fr;align-items:center;gap:.8rem;font-size:.85rem;color:rgba(255,255,255,.75)}
.funnel__row i{display:block;height:10px;width:var(--w);border-radius:999px;background:rgba(255,255,255,.22);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.4s var(--ease) .2s}
.funnel__row:nth-child(2) i{transition-delay:.35s}.funnel__row:nth-child(3) i{transition-delay:.5s}
.funnel__row--hl{color:#fff;font-weight:500}
.funnel__row--hl i{background:linear-gradient(90deg,var(--mint),var(--mint-soft));box-shadow:0 0 18px rgba(54,213,182,.5)}
.stack__card.is-visible .funnel__row i{transform:none}
.nodes__lines{position:absolute;inset:0;width:100%;height:100%}
.nodes__lines path{fill:none;stroke:rgba(54,213,182,.55);stroke-width:1.4;stroke-dasharray:3 7;vector-effect:non-scaling-stroke;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-20}}
.node{position:absolute;left:var(--x);top:var(--y);display:inline-flex;align-items:center;gap:.5rem;padding:.6rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(10,60,47,.75);color:#fff;font-size:.85rem;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);translate:-50% -50%;animation:bob 6s ease-in-out infinite}
.node .i{color:var(--mint)}
.node:nth-of-type(3){animation-delay:-1.5s}.node:nth-of-type(4){animation-delay:-3s}.node:nth-of-type(5){animation-delay:-4.5s}
.node--core{left:50%;top:50%;padding:1rem 1.3rem;background:var(--mint);border-color:var(--mint);color:var(--deep);font-weight:600;box-shadow:0 0 0 10px rgba(54,213,182,.12),0 0 0 22px rgba(54,213,182,.06),0 20px 50px -10px rgba(54,213,182,.5);animation:none}
.node--core .i{color:var(--deep)}

/* ---------- Approach ---------- */
.approach__layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,8vw,8rem);align-items:start}
.approach__head{position:sticky;top:130px}
.approach__head .lead{margin:1.5rem 0 2.25rem;max-width:30rem}
.steps{position:relative}
.step{display:grid;grid-template-columns:72px 1fr;gap:clamp(1.25rem,3vw,2rem);padding-bottom:clamp(3rem,6vw,4.75rem)}
.step:last-child{padding-bottom:0}
.step__node{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);transition:background-color .6s var(--ease),color .6s,border-color .6s,transform .6s var(--ease)}
.step__node .i{width:26px;height:26px}
.step.is-active .step__node{background:var(--emerald);border-color:var(--emerald);color:var(--mint);transform:scale(1.04)}
.step__num{display:block;margin-top:.4rem;color:var(--teal);font-size:.8rem;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.step h3{margin:.5rem 0 .8rem;font-size:clamp(1.55rem,2.5vw,2.15rem);transition:color .5s}
.step p{max-width:32rem;transition:color .5s}
.js .step:not(.is-active) h3{color:#9aa9a5}
.js .step:not(.is-active) p{color:#a3b0ad}
.steps__line{position:absolute;left:36px;top:36px;width:1px;height:var(--lh,0px);background:var(--line)}
.steps__line span{display:block;height:100%;transform-origin:50% 0;transform:scaleY(var(--sp,0));background:linear-gradient(180deg,var(--teal),var(--mint))}

/* ---------- Industries (horizontal) ---------- */
.industries{position:relative;background:var(--deep);color:rgba(255,255,255,.72);padding-block:clamp(5.5rem,10vw,8rem)}
.industries::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 50% at 10% 10%,rgba(54,213,182,.12),transparent 70%)}
.industries .h2{color:#fff}
.industries__pin{position:relative}
.industries__head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.industries__head p:not(.eyebrow){max-width:36rem;margin-top:1.2rem;font-size:1.05rem}
.industries__meta{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem}
.counter{display:flex;align-items:center;gap:.9rem;color:rgba(255,255,255,.55);font-size:.9rem;font-variant-numeric:tabular-nums}
.counter [data-counter]{color:#fff}
.counter__bar{position:relative;width:150px;height:2px;border-radius:2px;background:rgba(255,255,255,.15);overflow:hidden}
.counter__bar span{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--hp,.1667));background:var(--mint);transition:transform .2s linear}
.industries__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:-4px}
.industries__viewport::-webkit-scrollbar{display:none}
.industries__track{display:flex;gap:1.25rem;width:max-content;padding-inline:max(var(--gutter),calc((100vw - var(--container))/2))}
.ind{flex:none;display:flex;flex-direction:column;width:clamp(280px,min(30vw,50vh),410px);overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);scroll-snap-align:center;transition:border-color .4s,background-color .4s,transform .6s var(--ease)}
.ind:hover{border-color:rgba(54,213,182,.45);background:rgba(255,255,255,.07);transform:translateY(-6px)}
.ind figure{position:relative;aspect-ratio:16/10.5;overflow:hidden;margin:.5rem .5rem 0;border-radius:20px}
.ind img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ind:hover img{transform:scale(1.07)}
.ind__body{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:1.35rem 1.4rem 1.5rem}
.ind__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.15rem}
.ind .icon-badge{width:44px;height:44px;border-radius:12px;background:rgba(54,213,182,.12);color:var(--mint)}
.ind .icon-badge .i{width:21px;height:21px}
.ind__num{color:rgba(255,255,255,.35);font-size:.85rem;font-variant-numeric:tabular-nums}
.ind h3{color:#fff;font-size:1.45rem}
.ind p{font-size:.95rem;line-height:1.55}
.ind .link-arrow{margin-top:auto;padding-top:.5rem;color:var(--mint);font-size:.92rem}
.industries.is-pinned{padding-block:0}
.industries.is-pinned .industries__pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:72px}
.industries.is-pinned .industries__viewport{overflow:visible;scroll-snap-type:none}
.industries.is-pinned .industries__track{will-change:transform}

/* ---------- Ownership ---------- */
.ownership__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.ownership__copy .prose{margin:1.75rem 0 2.5rem}
.vault{padding:clamp(1.4rem,3vw,2.25rem);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--stone)}
.vault__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;margin-bottom:.4rem;border-bottom:1px solid var(--line)}
.vault__title{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);font-weight:500}
.vault__title .i{color:var(--teal)}
.vault__status{padding:.35rem .8rem;border-radius:999px;background:#fff;color:var(--teal);font-size:.78rem;font-weight:500}
.own{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1rem;line-height:1.4}
.own:last-child{border-bottom:0;padding-bottom:0}
.own .icon-badge{width:46px;height:46px;border-radius:13px;background:#fff}
.own .icon-badge .i{width:21px;height:21px}
.own__check{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(11,61,46,.07);color:transparent;transform:scale(.7);transition:background-color .5s,color .5s,transform .6s var(--ease);transition-delay:calc(var(--n)*.14s + .4s)}
.own__check .i{width:15px;height:15px;stroke-width:2.4}
.vault.is-visible .own__check{background:var(--mint);color:var(--deep);transform:none}

/* ---------- CTA ---------- */
.cta{padding-bottom:clamp(5rem,9vw,8rem)}
.cta--page{padding-top:clamp(5rem,9vw,8rem)}
.cta__panel{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2.25rem,6vw,5.5rem);border-radius:var(--r-xl);background:var(--emerald);color:rgba(255,255,255,.75)}
.cta__panel>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;opacity:.32}
.cta__panel::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,rgba(6,42,34,.97) 0%,rgba(6,42,34,.88) 50%,rgba(6,42,34,.6) 100%)}
.cta__panel::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--gx,80%) var(--gy,20%),rgba(54,213,182,.28),transparent 70%);transition:background .2s}
.cta__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.cta__title{color:#fff;font-size:clamp(2.5rem,5.6vw,5.1rem);letter-spacing:-.05em;line-height:1}
.cta__copy{display:grid;gap:1.1rem}
.cta__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.cta__note{display:flex;align-items:center;gap:.9rem;margin-top:.75rem;padding:.9rem 1.1rem .9rem .9rem;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff;font-size:.95rem;line-height:1.45}
.cta__note .icon-badge{width:44px;height:44px;border-radius:12px}

/* ---------- Footer ---------- */
.footer{position:relative;overflow:hidden;background:var(--deeper);color:rgba(255,255,255,.6);padding-top:clamp(4.5rem,8vw,6.5rem);font-size:.95rem}
.footer__top{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-bottom:clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--line-dark)}
.footer__ready{max-width:17ch;color:#fff;font-size:clamp(1.9rem,3.6vw,3.2rem);font-weight:500;line-height:1.05;letter-spacing:-.04em}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.25fr;gap:2.5rem;padding:clamp(2.5rem,5vw,3.75rem) 0}
.footer__brand img{width:170px;margin-bottom:1.25rem;filter:brightness(0) invert(1)}
.footer__brand p{max-width:22rem}
.footer h2,.footer .footer__heading{margin-bottom:1.1rem;line-height:1.3;color:var(--mint);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.footer nav{display:grid;gap:.6rem;justify-items:start}
.footer nav a{transition:color .3s}
.footer nav a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line-dark);font-size:.85rem}
.footer__bottom nav{display:flex;gap:1.5rem}
.footer__word{display:block;width:100%;height:auto;margin-top:1rem;font-family:var(--sans);font-size:118px;font-weight:600;letter-spacing:-.04em}

/* ---------- Inner page hero ---------- */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(8rem,12vw,9.5rem) clamp(3.5rem,7vw,5.5rem);background:var(--deep);color:#fff}
.crumbs{display:flex;align-items:center;gap:.55rem;margin-bottom:1.75rem;color:rgba(255,255,255,.55);font-size:.85rem}
.crumbs a{transition:color .3s}
.crumbs a:hover{color:#fff}
.crumbs .i{width:14px;height:14px;transform:rotate(-90deg)}
.crumbs [aria-current]{color:var(--mint-soft)}
.page-hero__layout{display:grid;grid-template-columns:1fr minmax(0,24rem);column-gap:clamp(2rem,5vw,5rem);row-gap:1.5rem;align-items:end}
.page-hero__title{margin-top:1.5rem;color:#fff;font-size:clamp(2.6rem,4.8vw,4.5rem);line-height:.98;letter-spacing:-.055em}
.page-hero__title em{display:inline-block;color:var(--mint);font-size:1.06em;letter-spacing:-.025em;padding-right:.06em}
.page-hero__aside{padding-bottom:.4rem}
.page-hero__aside p{color:rgba(255,255,255,.75);font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6}
.about--page .about__copy .prose{margin-bottom:0}
.ownership--stone{background:var(--stone)}
.ownership--stone .vault{background:#fff}
.ownership--stone .own .icon-badge{background:var(--pale)}
.ownership--stone .vault__status{background:var(--pale)}

/* ---------- Service page ---------- */
.nav__item>a.is-active{background:var(--pale);color:var(--teal)}
.menu__sub div a[aria-current]{color:var(--mint)}
.web-story__layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
.web-story__media{position:sticky;top:120px}
.web-story__frame{position:relative;margin-top:clamp(2rem,4vw,3rem)}
.web-story__frame .frame{aspect-ratio:16/10.5}
.web-story__frame .float--c{left:1.25rem;bottom:1.25rem}
.prose--story p:first-child{color:var(--ink);font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.4;letter-spacing:-.015em}
.prose .pivot{color:var(--ink);font-weight:500}
.pull{position:relative;isolation:isolate;overflow:hidden;margin-top:2.5rem;padding:clamp(1.75rem,3vw,2.5rem);border-radius:var(--r-lg);background:var(--emerald);color:#fff}
.pull::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 100% 0%,rgba(54,213,182,.25),transparent 70%)}
.pull .i{display:block;width:36px;height:36px;margin-bottom:1rem;color:var(--mint);stroke-width:1.3}
.pull blockquote{margin:0;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:500;line-height:1.2;letter-spacing:-.025em}
.pull em{color:var(--mint)}
.web-purpose{overflow:hidden;isolation:isolate;background:var(--deep);color:rgba(255,255,255,.72)}
.web-purpose::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(45% 55% at 0% 0%,rgba(0,125,104,.35),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(54,213,182,.12),transparent 70%)}
.web-purpose .h2{color:#fff}
.web-purpose .h2 em{color:var(--mint)}
.web-purpose__layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
.web-purpose__head{position:sticky;top:130px}
.web-purpose__head .lead{max-width:28rem;margin-top:1.5rem;color:rgba(255,255,255,.75)}
.points li{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid var(--line-dark);color:#fff;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.35;letter-spacing:-.015em}
.points li:first-child{padding-top:0}
.statement--light{color:#fff}
.statement--light em{color:var(--mint)}
.js .statement--light .w{opacity:.2}
.web-caps{background:var(--stone)}
.web-caps .head,.web-process .head{margin-bottom:clamp(2.5rem,5vw,4rem)}
.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.cap{display:flex;flex-direction:column;padding:clamp(1.4rem,2.4vw,1.9rem);border-radius:24px;border:1px solid var(--line);background:#fff;transition:translate .6s var(--ease),box-shadow .6s var(--ease),opacity 1s var(--ease),transform 1.1s var(--ease)}
.cap:hover{translate:0 -4px;box-shadow:var(--shadow-md)}
.cap__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(2rem,4vw,3rem)}
.cap__num{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.cap .icon-badge{transition:background-color .4s,color .4s}
.cap:hover .icon-badge{background:var(--emerald);color:var(--mint)}
.cap h3{margin-bottom:.7rem;font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.15;letter-spacing:-.025em}
.cap p{font-size:.95rem;line-height:1.55}
.track{position:relative}
.track__list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.track__node{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1.5rem;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);transition:background-color .5s,border-color .5s,color .5s;transition-delay:calc(var(--n)*.4s + .3s)}
.track__node .i{width:24px;height:24px}
.track.is-visible .track__node{background:var(--emerald);border-color:var(--emerald);color:var(--mint)}
.track__num{display:block;color:var(--teal);font-size:.8rem;font-weight:600;letter-spacing:.14em}
.track__step h3{margin:.45rem 0 .65rem;font-size:clamp(1.2rem,1.6vw,1.4rem)}
.track__step p{max-width:15rem;font-size:.95rem;line-height:1.55}
.track__line{position:absolute;top:32px;left:32px;width:calc(80% + 1.2rem);height:1px;background:var(--line)}
.track__line span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--teal),var(--mint));transition:transform 1.6s linear .3s}
.track.is-visible .track__line span{transform:none}
.web-practices{background:var(--stone)}
.web-practices__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.web-practices__media{position:relative}
.web-practices__media .frame--about{aspect-ratio:5/5.4}
.web-practices__media .frame--about img{object-position:55% 50%}
.frame-tag{position:absolute;left:1.5rem;bottom:1.5rem;display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.15rem;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md)}
.frame-tag .i{color:var(--teal)}
.web-practices__copy .prose{margin:1.75rem 0 2rem}
.disciplines{display:flex;flex-wrap:wrap;gap:.5rem}
.disciplines li{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem .5rem .65rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--emerald);font-size:.88rem}
.disciplines .i{width:18px;height:18px;color:var(--teal)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .nav__links{display:none}
  .nav__toggle{display:inline-flex}
  .nav__cta{margin-left:auto}
  .nav__toggle{margin-left:0}
}
@media (max-width:1100px){
  .float--a{left:-6%}
  .float--b{right:-3%}
  .float--c{left:-2%}
}
@media (max-width:980px){
  .web-story__layout,.web-purpose__layout,.web-practices__layout{grid-template-columns:1fr}
  .web-story__media,.web-purpose__head{position:relative;top:auto}
  .caps{grid-template-columns:repeat(2,1fr)}
  .track__list{grid-template-columns:1fr;gap:2rem}
  .track__step{display:grid;grid-template-columns:64px 1fr;column-gap:1.25rem}
  .track__node{grid-row:1/span 3;margin-bottom:0}
  .track__step>:not(.track__node){grid-column:2}
  .track__step p{max-width:none}
  .track__line{display:none}
  .web-practices__media{max-width:560px}
  .hero__layout,.strategy__layout,.split-head,.journey__layout,.about__layout,.approach__layout,.ownership__layout,.cta__layout,.page-hero__layout{grid-template-columns:1fr}
  .page-hero__layout{align-items:start}
  .hero__media{justify-self:center;max-width:460px;margin-top:1rem}
  .strategy__media,.approach__head{position:relative;top:auto}
  .frame--tall{aspect-ratio:16/11}
  .bento>.card{grid-column:span 12}
  .card--photo{min-height:480px}
  .about__media{max-width:560px}
  .stack__card{position:relative;top:auto;grid-template-columns:1fr;min-height:0;transform:none}
  .stack__visual{min-height:320px}
  .industries__head{grid-template-columns:1fr}
  .industries__meta{flex-direction:row-reverse;justify-content:space-between;align-items:center}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:640px){
  .nav{inset:10px 0 auto}
  .nav__inner{height:62px;padding-left:1.1rem}
  .nav__brand{width:128px}
  .nav__cta{display:none}
  .nav__toggle{margin-left:auto}
  .hero__actions .btn,.cta__actions .btn{width:100%;justify-content:space-between}
  .hero__actions .btn--ghost,.cta__actions .btn--ghost{justify-content:center}
  .hero__proof{align-items:flex-start}
  .float--a{left:-3%;top:8%;padding:.6rem .9rem .6rem .6rem}
  .float--b{right:-3%;top:auto;bottom:22%}
  .float--c{display:none}
    .channels{grid-template-columns:repeat(2,1fr)}
  .search-ui__field{height:58px;padding:0 1rem}
  .metrics{grid-template-columns:1fr}
  .caps{grid-template-columns:1fr}
  .stat{position:relative;right:auto;bottom:auto;width:auto;margin:-3.5rem 1rem 0}
  .industries__meta{flex-direction:column-reverse;align-items:flex-start}
  .ind{width:84vw}
  .stack__visual--seo{padding:1rem}
  .serp{padding:.7rem}
  .serp__row{gap:.6rem;padding:.6rem}
  .mock__search{font-size:.82rem}
  .node{font-size:.75rem;padding:.45rem .7rem}
  .node--core{padding:.75rem .95rem}
  .footer__top{flex-direction:column;align-items:flex-start}
  .footer__top .btn{width:100%;justify-content:space-between}
  .footer__grid{grid-template-columns:1fr}
  .btn{white-space:normal;text-align:left}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .reveal,.js .hero__in,.js .line>span{opacity:1;transform:none}
  [data-parallax]{transform:none}
  .js .statement .w{opacity:1}
  .bars i,.funnel__row i{transform:none}
}

/* ---------- SEO: hero eyebrow folded into the single H1 (visual design unchanged) ---------- */
.hero__h1,.page-hero__h1{margin:0;color:inherit;font:inherit;letter-spacing:normal;line-height:normal}
.hero__h1 .hero__title,.page-hero__h1 .page-hero__title{display:block}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.disciplines a{display:inline-flex;align-items:center;gap:.5rem;color:inherit}
.disciplines li{transition:border-color .3s,background-color .3s}
.disciplines li:has(a:hover){border-color:var(--teal);background:var(--pale)}

/* Work and industry hero headings: eyebrow above a two-part headline. */
.work-page .page-hero__h1,.industry-page .page-hero__h1{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.work-page .page-hero__h1>.pill,.industry-page .page-hero__h1>.pill{display:inline-flex;width:fit-content;flex:none;margin:0 0 1.5rem;font-size:.78rem;line-height:1.4;letter-spacing:.08em}
.work-page .page-hero__h1>.page-hero__title,.industry-page .page-hero__h1>.page-hero__title{display:block;width:100%;margin:0;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:1.04;letter-spacing:-.055em}
.work-page .page-hero__h1>.page-hero__title em,.industry-page .page-hero__h1>.page-hero__title em{display:block;margin-top:.06em;color:var(--mint)}
.industry-page .growth-hero{height:auto;min-height:60svh;max-height:none;padding:140px 0 64px}
@media(max-width:980px){.industry-page .growth-hero{padding:126px 0 48px}}
@media(max-width:640px){.industry-page .growth-hero{padding:108px 0 40px}.work-page .page-hero__h1>.page-hero__title,.industry-page .page-hero__h1>.page-hero__title{font-size:clamp(2rem,8vw,2.8rem)}.work-page .page-hero__h1>.pill,.industry-page .page-hero__h1>.pill{font-size:.66rem;margin-bottom:1rem}}

/* Requested Industries spacing. */
#industries:not(.is-pinned){padding-top:85px;padding-bottom:85px}
#industries .industries__pin{padding-top:85px;padding-bottom:85px}
#industries:not(.is-pinned) .industries__pin{padding-top:0;padding-bottom:0}

#industries.is-pinned .industries__pin{height:auto;min-height:100svh;flex-shrink:0;justify-content:flex-start;overflow:hidden;top:var(--industries-pin-top,0px)}
#industries .industries__head,#industries .industries__viewport{flex-shrink:0}

/* SEO and Contact heroes follow the stacked eyebrow and headline structure. */
.seo-page .page-hero__h1,.contact-page .page-hero__h1{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.seo-page .page-hero__h1>.pill,.contact-page .page-hero__h1>.pill{display:inline-flex;width:fit-content;flex:none;margin:0 0 1.5rem;font-size:.78rem;line-height:1.4;letter-spacing:.08em}
.seo-page .page-hero__h1>.page-hero__title,.contact-page .page-hero__h1>.page-hero__title{display:block;width:100%;margin:0;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:1.04;letter-spacing:-.055em}
.seo-page .page-hero__h1>.page-hero__title em,.contact-page .page-hero__h1>.page-hero__title em{display:block;margin-top:.06em;color:var(--mint)}
@media(max-width:640px){.seo-page .page-hero__h1>.page-hero__title,.contact-page .page-hero__h1>.page-hero__title{font-size:clamp(2rem,8vw,2.8rem)}.seo-page .page-hero__h1>.pill,.contact-page .page-hero__h1>.pill{font-size:.66rem;margin-bottom:1rem}}

/* Growth Strategy hero: label above the white headline and mint italic line. */
.growth-strategy-page .page-hero__h1{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.growth-strategy-page .page-hero__h1>.pill{display:inline-flex;width:fit-content;flex:none;margin:0 0 1.5rem;font-size:.78rem;line-height:1.4;letter-spacing:.08em}
.growth-strategy-page .page-hero__h1>.page-hero__title{display:block;width:100%;margin:0;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:1.04;letter-spacing:-.055em}
.growth-strategy-page .page-hero__h1>.page-hero__title em{display:block;margin-top:.06em;color:var(--mint)}
@media(max-width:640px){.growth-strategy-page .page-hero__h1>.page-hero__title{font-size:clamp(2rem,8vw,2.8rem)}.growth-strategy-page .page-hero__h1>.pill{font-size:.66rem;margin-bottom:1rem}}
