:root{
  --ink:#17252B; --ink-2:#1F3139; --ink-3:#2B434C;
  --ivory:#F6F3EC; --paper:#FFFDF8;
  --teal:#147D78; --teal-lt:#6FC3BA; --teal-bg:#E3F0EE;
  --sand:#D8CBB5; --sand-lt:#EDE5D6;
  --muted:#5A6A70; --line:#E2DCCF;
  --radius:14px; --max:1160px;
  --head:"Sora",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--ivory);color:var(--ink);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--head);line-height:1.15;letter-spacing:-.02em;font-weight:600}
h2{font-size:clamp(1.9rem,4vw,2.8rem)}
h3{font-size:1.2rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:96px 0}
.eyebrow{font-family:var(--head);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.lead{font-size:1.15rem;color:var(--muted);max-width:640px}
.sec-head{margin-bottom:52px;max-width:720px}
.sec-head h2{margin-bottom:14px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:600;font-size:.98rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease;font-family:var(--body)}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:#0F6A66}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-light{background:var(--ivory);color:var(--ink)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--teal-lt);outline-offset:3px;border-radius:6px}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s ease,box-shadow .3s ease}
.nav.scrolled{background:rgba(23,37,43,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ivory);font-family:var(--head);font-weight:600;font-size:1.1rem;letter-spacing:-.01em}
.brand svg{width:30px;height:30px}
.brand .dim{opacity:.6;font-weight:500}
.nav-links{display:flex;gap:28px;align-items:center;list-style:none}
.nav-links a{color:rgba(246,243,236,.8);text-decoration:none;font-size:.95rem;font-weight:500}
.nav-links a:hover{color:#fff}
.nav-links .btn{padding:10px 18px;color:#fff}
.menu-btn{display:none;background:none;border:0;color:var(--ivory);cursor:pointer;padding:8px}
@media (max-width:920px){
  .nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--ink);padding:8px 20px 20px;display:none;border-top:1px solid rgba(255,255,255,.08)}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
  .nav-links .btn{margin-top:14px;display:inline-flex;border:0}
  .menu-btn{display:block}
}

/* HERO */
.hero{background:var(--ink);color:var(--ivory);padding:150px 0 110px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 400px at 85% 20%,rgba(20,125,120,.35),transparent 70%),
  radial-gradient(500px 300px at 10% 90%,rgba(216,203,181,.10),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.1rem);margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--teal-lt)}
.hero .lead{color:rgba(246,243,236,.75);margin-bottom:34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-ctas .btn-ghost{color:var(--ivory)}
.hero-note{margin-top:28px;font-size:.9rem;color:rgba(246,243,236,.55);display:flex;gap:18px;flex-wrap:wrap}
.hero-note span::before{content:"✓";color:var(--teal-lt);margin-right:6px}

.stack{position:relative;display:grid;gap:12px}
.layer{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:var(--radius);padding:16px 18px;display:flex;align-items:center;gap:14px;transform:translateX(var(--x,0));animation:rise .8s ease both;animation-delay:var(--d,0s)}
.layer .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(111,195,186,.14);color:var(--teal-lt);flex:none}
.layer b{font-family:var(--head);font-weight:600;font-size:.98rem;display:block}
.layer small{color:rgba(246,243,236,.55);font-size:.82rem}
.layer .pulse{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--teal-lt);box-shadow:0 0 0 0 rgba(111,195,186,.6);animation:pulse 2s infinite;animation-delay:var(--d,0s)}
.feed{margin-top:6px;background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:rise .8s ease .5s both}
.feed-head{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.feed-head .tag{background:var(--sand-lt);padding:3px 8px;border-radius:6px;letter-spacing:.06em}
.feed ol{list-style:none;display:grid;gap:10px}
.feed li{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:.9rem;opacity:.25;transition:opacity .5s ease}
.feed li.on{opacity:1}
.feed time{font-variant-numeric:tabular-nums;color:var(--teal);font-weight:600}
@keyframes rise{from{opacity:0;transform:translate(var(--x,0),16px)}to{opacity:1;transform:translate(var(--x,0),0)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(111,195,186,.6)}70%{box-shadow:0 0 0 10px rgba(111,195,186,0)}100%{box-shadow:0 0 0 0 rgba(111,195,186,0)}}

/* HERO: lead travelling through the layers */
.layer{transition:border-color .35s ease,box-shadow .35s ease,background .35s ease}
.layer .ico{transition:background .35s ease,color .35s ease,transform .35s ease}
.layer.hit{border-color:rgba(111,195,186,.7);background:rgba(111,195,186,.08);box-shadow:0 0 0 4px rgba(111,195,186,.12)}
.layer.hit .ico{background:var(--teal);color:#fff;transform:scale(1.08)}
.lead-token{position:absolute;left:0;top:0;width:26px;height:18px;border-radius:4px;background:var(--teal);box-shadow:0 0 0 3px rgba(111,195,186,.25),0 6px 16px -4px rgba(20,125,120,.9);display:grid;place-items:center;opacity:0;pointer-events:none;z-index:3;will-change:transform,opacity}
.lead-token svg{width:14px;height:10px}
.feed.hit{box-shadow:0 0 0 4px rgba(111,195,186,.25),0 30px 60px -20px rgba(0,0,0,.5);transition:box-shadow .35s ease}

/* PROBLEMS */
.problems{background:var(--paper);border-bottom:1px solid var(--line)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.problems .card{background:var(--ivory)}
.card .num{font-family:var(--head);font-weight:700;font-size:.85rem;color:var(--teal);margin-bottom:16px;display:block}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:.97rem}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.svc:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(23,37,43,.35)}
.svc .ico{width:48px;height:48px;border-radius:12px;background:var(--teal-bg);color:var(--teal);display:grid;place-items:center;margin-bottom:20px}
.svc p{margin-bottom:18px}
.svc ul{list-style:none;display:grid;gap:8px;margin-top:auto;padding-top:18px;border-top:1px dashed var(--line);font-size:.92rem}
.svc li{padding-left:22px;position:relative}
.svc li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--sand)}
.svc.feature{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.svc.feature p{color:rgba(246,243,236,.7)}
.svc.feature .ico{background:rgba(111,195,186,.14);color:var(--teal-lt)}
.svc.feature ul{border-color:rgba(255,255,255,.15)}
.svc.feature li::before{background:var(--teal)}
.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--teal);color:#fff;margin-bottom:14px;align-self:flex-start}

.svc-tag{margin-top:18px;align-self:flex-start;font-size:.8rem;font-weight:600;color:var(--teal);background:var(--teal-bg);padding:5px 12px;border-radius:999px}
.svc.feature .svc-tag{background:rgba(111,195,186,.15);color:var(--teal-lt)}
.custom-band{margin-top:22px;border:1.5px dashed var(--sand);border-radius:var(--radius);padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--paper)}
.custom-band h3{margin-bottom:6px}
.custom-band p{color:var(--muted);max-width:620px}
.custom-band .eyebrow{margin-bottom:8px}
.pricing-note b{color:var(--ink)}
.price-sub{font-size:.82rem;line-height:1.45;color:rgba(246,243,236,.7);margin:-8px 0 20px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18)}

/* VIDEO STUDIO */
.studio{background:var(--ink);color:var(--ivory);position:relative;overflow:hidden}
.studio .lead{color:rgba(246,243,236,.7)}
.studio-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:start}
.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tab{font-family:var(--body);font-weight:600;font-size:.92rem;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--ivory);cursor:pointer}
.tab[aria-selected="true"]{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.screen{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0C1519;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);isolation:isolate}
.screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 18%,transparent 82%,rgba(0,0,0,.35));z-index:5}
.screen .rec{position:absolute;top:14px;left:16px;z-index:6;font-size:.72rem;letter-spacing:.14em;font-weight:600;display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.8)}
.screen .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:#E5484D;animation:blink 1.2s steps(2) infinite}
.screen .ratio{position:absolute;top:14px;right:16px;z-index:6;font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.6)}
.screen .bar{position:absolute;left:0;bottom:0;height:3px;background:var(--teal-lt);z-index:6;width:0}
.scene{position:absolute;inset:0;display:none}
.scene.active{display:block}
.scene.active .bar{animation:progress var(--len,9s) linear infinite}
@keyframes blink{50%{opacity:0}}
@keyframes progress{from{width:0}to{width:100%}}

/* Explainer scene */
.sc-explainer{background:radial-gradient(circle at 30% 40%,#1D3A40,#0C1519 70%)}
.sc-explainer .node{position:absolute;width:23%;aspect-ratio:1.5;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(111,195,186,.4);display:grid;place-items:center;text-align:center;font-family:var(--head);font-size:clamp(.6rem,1.5vw,.95rem);color:var(--ivory);top:32%;opacity:0;animation:ex-node 9s ease infinite}
.sc-explainer .n1{left:6%;animation-delay:0s}
.sc-explainer .n2{left:38.5%;animation-delay:.9s}
.sc-explainer .n3{left:71%;animation-delay:1.8s}
.sc-explainer .wire{position:absolute;top:calc(32% + 7.5%);height:2px;background:linear-gradient(90deg,var(--teal-lt),var(--teal));transform-origin:left;transform:scaleX(0);animation:ex-wire 9s ease infinite}
.sc-explainer .w1{left:29%;width:9.5%;animation-delay:.6s}
.sc-explainer .w2{left:61.5%;width:9.5%;animation-delay:1.5s}
.sc-explainer .dot{position:absolute;top:calc(32% + 7.5% - 5px);left:17%;width:12px;height:12px;border-radius:50%;background:var(--teal-lt);box-shadow:0 0 18px var(--teal-lt);opacity:0;animation:ex-dot 9s ease-in-out infinite}
.sc-explainer .cap{position:absolute;left:0;right:0;bottom:12%;text-align:center;font-family:var(--head);font-size:clamp(.8rem,2.2vw,1.35rem);color:#fff}
.sc-explainer .cap span{display:block;opacity:0;position:absolute;left:0;right:0;animation:cap3 9s ease infinite}
.sc-explainer .cap span:nth-child(2){animation-delay:3s}
.sc-explainer .cap span:nth-child(3){animation-delay:6s}
@keyframes ex-node{0%{opacity:0;transform:translateY(12px)}8%,88%{opacity:1;transform:none}100%{opacity:0}}
@keyframes ex-wire{0%{transform:scaleX(0)}10%,88%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
@keyframes ex-dot{0%,25%{opacity:0;left:17%}30%{opacity:1;left:17%}55%{left:50%}80%{left:82%;opacity:1}90%,100%{left:82%;opacity:0}}
@keyframes cap3{0%{opacity:0;transform:translateY(8px)}5%,28%{opacity:1;transform:none}33%,100%{opacity:0}}

/* Promo scene */
.sc-promo{background:#0C1519;overflow:hidden}
.sc-promo .bg{position:absolute;inset:-10%;background:
  repeating-linear-gradient(115deg,rgba(111,195,186,.08) 0 2px,transparent 2px 60px),
  radial-gradient(circle at 70% 30%,rgba(20,125,120,.55),transparent 55%),
  radial-gradient(circle at 20% 80%,rgba(216,203,181,.25),transparent 50%);animation:kenburns 9s ease-in-out infinite alternate}
.sc-promo .kinetic{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.sc-promo .kinetic span{position:absolute;font-family:var(--head);font-weight:700;letter-spacing:-.03em;color:#fff;font-size:clamp(1.4rem,5.5vw,3.6rem);opacity:0;animation:kin 9s cubic-bezier(.2,.8,.2,1) infinite}
.sc-promo .kinetic span:nth-child(2){animation-delay:3s;color:var(--teal-lt)}
.sc-promo .kinetic span:nth-child(3){animation-delay:6s}
.sc-promo .lower{position:absolute;left:5%;bottom:10%;z-index:4;display:flex;align-items:center;gap:10px;font-size:clamp(.6rem,1.4vw,.85rem);color:rgba(255,255,255,.85);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.sc-promo .lower i{width:4px;height:22px;background:var(--teal-lt);display:block}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,1%)}}
@keyframes kin{0%{opacity:0;transform:scale(1.25);filter:blur(8px)}6%{opacity:1;transform:scale(1);filter:blur(0)}27%{opacity:1;transform:scale(.97)}33%,100%{opacity:0;transform:scale(.94)}}

/* Ad scene (vertical social) */
.sc-ad{background:linear-gradient(135deg,#132126,#0C1519)}
.phone{position:absolute;top:8%;left:50%;transform:translateX(-50%);height:84%;aspect-ratio:9/16;border-radius:18px;background:linear-gradient(180deg,#1E3B41,#12262B);border:2px solid rgba(255,255,255,.12);overflow:hidden}
.phone .hook{position:absolute;top:10%;left:8%;right:8%;font-family:var(--head);font-weight:700;color:#fff;font-size:clamp(.62rem,1.6vw,1rem);line-height:1.2;animation:hook 6s ease infinite}
.phone .stat{position:absolute;top:47%;left:8%;right:8%;text-align:center;font-family:var(--head);font-weight:700;color:var(--teal-lt);font-size:clamp(1.3rem,4vw,2.4rem);opacity:0;animation:stat 6s ease infinite}
.phone .stat small{display:block;font-size:.3em;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.phone .cta{position:absolute;bottom:8%;left:8%;right:8%;text-align:center;background:var(--teal);color:#fff;border-radius:999px;padding:6% 0;font-weight:600;font-size:clamp(.55rem,1.3vw,.8rem);opacity:0;animation:cta 6s ease infinite}
.sc-ad .side{position:absolute;right:6%;top:50%;transform:translateY(-50%);display:grid;gap:10px;font-size:clamp(.55rem,1.2vw,.78rem);color:rgba(255,255,255,.7);text-align:right}
.sc-ad .side b{color:#fff;font-family:var(--head);display:block;font-size:1.3em}
.sc-ad .side-l{position:absolute;left:6%;top:50%;transform:translateY(-50%);display:grid;gap:10px;font-size:clamp(.55rem,1.2vw,.78rem);color:rgba(255,255,255,.7)}
.sc-ad .side-l b{color:#fff;font-family:var(--head);display:block;font-size:1.3em}
@keyframes hook{0%{opacity:0;transform:translateY(10px)}8%,90%{opacity:1;transform:none}100%{opacity:0}}
@keyframes stat{0%,25%{opacity:0;transform:scale(.8)}35%,90%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes cta{0%,55%{opacity:0;transform:translateY(10px)}65%,90%{opacity:1;transform:none}100%{opacity:0}}

.video-types{display:grid;gap:14px}
.vt{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:20px;cursor:pointer;transition:border-color .2s ease,background .2s ease;text-align:left;background:transparent;color:inherit;font:inherit;width:100%}
.vt:hover{border-color:rgba(111,195,186,.5)}
.vt.on{border-color:var(--teal-lt);background:rgba(111,195,186,.07)}
.vt h3{font-size:1.05rem;margin-bottom:6px;display:flex;justify-content:space-between;gap:10px}
.vt h3 small{font-family:var(--body);font-weight:500;font-size:.78rem;color:var(--teal-lt);white-space:nowrap}
.vt-link{display:block;text-decoration:none;border-style:dashed}
.vt p{font-size:.92rem;color:rgba(246,243,236,.65)}
.studio-foot{margin-top:18px;font-size:.85rem;color:rgba(246,243,236,.5)}

/* FEATURED FILM */
.film{margin-bottom:72px;display:grid;gap:16px}
.film-frame{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:18px;overflow:hidden;background:#0C1519;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0C1519}
.film-cover{position:absolute;inset:0;border:0;padding:0;cursor:pointer;color:#fff;font:inherit;text-align:left;
  background:linear-gradient(180deg,rgba(12,21,25,.15) 0%,rgba(12,21,25,0) 40%,rgba(12,21,25,.75) 100%);display:grid;place-items:center}
.film-cover[hidden]{display:none}
.film-play{display:inline-flex;align-items:center;gap:14px;background:rgba(246,243,236,.95);color:var(--ink);border-radius:999px;padding:10px 24px 10px 10px;font-weight:600;font-size:1rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);transition:transform .2s ease}
.film-play i{width:52px;height:52px;border-radius:50%;background:var(--teal);display:grid;place-items:center;color:#fff}
.film-cover:hover .film-play{transform:scale(1.04)}
.film-title{position:absolute;left:28px;bottom:24px;right:28px;pointer-events:none}
.film-title small{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-lt);font-weight:600;margin-bottom:6px}
.film-title b{font-family:var(--head);font-size:clamp(1.2rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;display:block}
.film-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.92rem;color:rgba(246,243,236,.65)}
.film-meta .specs{display:flex;gap:18px;flex-wrap:wrap}
.film-meta .specs span{font-variant-numeric:tabular-nums}
.film-meta .btn{padding:10px 18px}
@media (max-width:620px){.film-title{left:16px;right:16px;bottom:12px}.film-title small{display:none}.film-cover{padding-bottom:28px}.film-play{padding:0;background:none;box-shadow:none}.film-play i{width:48px;height:48px;box-shadow:0 10px 24px -6px rgba(0,0,0,.6)}#filmLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

.real-film{position:absolute;inset:0;z-index:7;background:#0C1519}
.real-film[hidden]{display:none}
.real-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* LOOP */
.loop-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.ring{position:relative;aspect-ratio:1;max-width:440px;width:100%;margin:0 auto}
.ring svg{width:100%;height:100%}
.ring .orbit{transform-origin:200px 200px;transition:transform .9s cubic-bezier(.6,0,.2,1)}
.ring .node{transition:r .3s ease,fill .3s ease}
.ring .node.on{fill:var(--teal);r:8px}
.ring .lbl{transition:fill .3s ease}
.ring .lbl.on{fill:var(--teal)}
.ring-hit{position:absolute;width:22%;height:12%;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;border-radius:10px;padding:0}
.ring-hit:focus-visible{outline:3px solid var(--teal-lt)}
.ring-media{position:absolute;left:50%;top:50%;width:59%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.ring-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ring-media video[hidden]{display:none}
.ring-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,253,248,0) 30%,rgba(255,253,248,.88) 58%,rgba(255,253,248,.96) 100%)}
.ring-media.no-video::after{background:none}
.ring-center{position:absolute;left:50%;top:50%;width:52%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding-bottom:13%;pointer-events:none;z-index:2}
.ring-media.no-video + .ring-center{justify-content:center;padding-bottom:0}
.ring-center .rc-eyebrow{font-family:var(--head);font-weight:700;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.ring-center b{font-family:var(--head);font-size:1.25rem;display:block;margin:2px 0 4px;letter-spacing:-.01em}
.ring-center small{color:var(--ink-3);font-size:.8rem;line-height:1.35;display:block;min-height:2.7em;transition:opacity .3s ease}
.ring-center small.fade{opacity:0}
.steps{list-style:none;display:grid;gap:4px;counter-reset:s}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);counter-increment:s}
.steps li::before{content:"0" counter(s);font-family:var(--head);font-weight:700;color:var(--teal);font-size:.95rem;padding-top:2px}
.steps h3{font-size:1.05rem;margin-bottom:4px}
.steps p{color:var(--muted);font-size:.94rem}
.steps li:last-child{border-bottom:0}
.steps li{cursor:pointer;border-radius:10px;padding-left:10px;padding-right:10px;margin:0 -10px;transition:background .3s ease}
.steps li.on{background:var(--teal-bg)}
.steps li.on h3{color:var(--teal)}

/* LIVE DEMO */
.live{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.demo-flag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:6px;background:var(--sand-lt);color:var(--ink);margin-bottom:14px}
.live-stage{background:var(--ink);border-radius:22px;padding:22px;display:grid;grid-template-columns:.8fr 1.6fr;gap:18px;box-shadow:0 40px 80px -40px rgba(23,37,43,.6)}
.pane{background:var(--paper);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.pane-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--sand-lt);font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.04em}
.pane-bar i{width:9px;height:9px;border-radius:50%;background:var(--sand);display:block}
.pane-bar span{margin-left:6px}
.pane-body{padding:18px;flex:1}
.demo-form{display:grid;gap:12px;grid-template-columns:1fr}
.demo-form label{font-size:.8rem}
.demo-form input,.demo-form select{padding:10px 12px;font-size:.92rem}
.demo-form .btn{justify-content:center;padding:12px 18px}
.demo-form .btn[disabled]{opacity:.6;cursor:default;transform:none}
.sent-note{font-size:.82rem;color:var(--teal);font-weight:600;min-height:1.2em}
.live-right{display:grid;grid-template-columns:.85fr 1.3fr;gap:18px;min-width:0}
.phone-ui{background:#0C1519;border-radius:26px;padding:10px;display:flex;flex-direction:column;min-height:360px}
.phone-top{color:rgba(246,243,236,.7);font-size:.72rem;display:flex;justify-content:space-between;padding:6px 10px 10px}
.thread{background:var(--ivory);border-radius:18px;flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:8px;overflow:hidden;justify-content:flex-end}
.bubble{max-width:88%;padding:8px 11px;border-radius:14px;font-size:.8rem;line-height:1.4;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;display:none}
.bubble.show{display:block;opacity:1;transform:none}
.bubble.biz{background:var(--teal);color:#fff;align-self:flex-start;border-bottom-left-radius:4px}
.bubble.lead{background:#fff;border:1px solid var(--line);align-self:flex-end;border-bottom-right-radius:4px}
.bubble.sys{align-self:center;background:transparent;color:var(--muted);font-size:.7rem;padding:2px}
.typing{align-self:flex-start;background:var(--teal);border-radius:14px;padding:9px 12px;display:none;gap:4px}
.typing.show{display:inline-flex}
.typing i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.5;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{opacity:1;transform:translateY(-2px)}}
.crm{display:grid;grid-template-rows:auto 1fr;min-width:0}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;height:100%}
.col{background:var(--ivory);border-radius:8px;padding:8px 6px;display:flex;flex-direction:column;gap:6px;min-width:0}
.col h5{font-family:var(--body);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col .ghost{height:30px;border-radius:6px;background:var(--line);opacity:.55}
.lead-card{background:var(--teal);color:#fff;border-radius:8px;padding:7px 8px;font-size:.72rem;line-height:1.3;box-shadow:0 8px 16px -8px rgba(20,125,120,.8);animation:pop .35s ease}
.lead-card b{display:block;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-card .tag{display:inline-block;margin-top:4px;background:rgba(255,255,255,.2);border-radius:4px;padding:1px 5px;font-size:.62rem}
@keyframes pop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.booked-chip{margin-top:auto;background:var(--ink);color:var(--teal-lt);border-radius:8px;padding:8px;font-size:.72rem;display:none}
.booked-chip.show{display:block;animation:pop .35s ease}
.caption-bar{grid-column:1/-1;background:#0A1216;border-radius:12px;padding:14px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.caption-bar time{font-family:var(--head);font-weight:700;color:var(--teal-lt);font-variant-numeric:tabular-nums;min-width:74px}
.caption-bar p{color:#fff;font-size:1.02rem;flex:1;min-width:200px}
.demo-controls{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.demo-controls .btn{padding:9px 16px;font-size:.88rem}
.demo-controls .btn-ghost{color:var(--ivory)}
.steps-dots{display:flex;gap:8px;margin-left:auto}
.steps-dots button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:rgba(246,243,236,.7);font-size:.72rem;font-weight:600;cursor:pointer;font-family:var(--body)}
.steps-dots button[aria-current="step"]{background:var(--teal);border-color:var(--teal);color:#fff}
.feed-link{font-size:.78rem;color:var(--teal);font-weight:600;text-decoration:none;margin-top:12px;display:inline-block}

/* PRICING */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.care-strip{margin-top:18px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:22px 28px}
.care-strip .cs-amt{font-family:var(--head);font-weight:700;font-size:1.6rem;white-space:nowrap}
.care-strip .cs-amt small{font-size:.55em;font-weight:500}
.care-strip .cs-txt{flex:1;min-width:220px}
.care-strip .cs-txt b{display:block;margin-bottom:2px}
.care-strip .cs-txt span{color:var(--muted);font-size:.92rem}
.care-strip .btn{flex:none}
.price .amt{white-space:nowrap}
.price{display:flex;flex-direction:column}
.price .from{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.price .amt{font-family:var(--head);font-weight:700;font-size:2rem;margin:4px 0 2px}
.price .per{font-size:.88rem;color:var(--muted);margin-bottom:16px}
.price ul{list-style:none;display:grid;gap:8px;font-size:.92rem;margin-bottom:24px}
.price li{padding-left:22px;position:relative}
.price li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.price .btn{margin-top:auto;justify-content:center;white-space:nowrap}
.price.hl{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.price.hl .from,.price.hl .per{color:rgba(246,243,236,.6)}
.price.hl li::before{color:var(--teal-lt)}
.pricing-note{margin-top:22px;font-size:.9rem;color:var(--muted)}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:20px;background:linear-gradient(160deg,var(--sand) 0%,var(--sand-lt) 100%);position:relative;overflow:hidden;display:grid;place-items:end start;padding:22px}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait .strata{position:absolute;inset:auto 0 0 0;height:45%;background:
  linear-gradient(180deg,transparent 0 30%,rgba(20,125,120,.18) 30% 55%,rgba(20,125,120,.32) 55% 78%,rgba(23,37,43,.55) 78%)}
.portrait .ph{position:relative;z-index:2;font-size:.85rem;color:var(--ink);background:rgba(255,253,248,.85);padding:8px 12px;border-radius:8px}
.about-grid h2{margin-bottom:18px}
.about-grid p{margin-bottom:16px;color:var(--ink-3)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.fact{border-left:3px solid var(--teal);padding-left:14px}
.fact b{font-family:var(--head);display:block;font-size:1rem}
.fact span{font-size:.88rem;color:var(--muted)}

/* WHO */
.who{background:var(--paper);border-top:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{border:1px solid var(--line);background:var(--ivory);border-radius:999px;padding:12px 20px;font-weight:500;font-size:.96rem}
.chip b{color:var(--teal);font-weight:600;margin-right:6px}

.re-block{margin-top:40px;background:var(--ink);color:var(--ivory);border-radius:20px;padding:36px;display:grid;gap:26px}
.re-head h3{font-size:clamp(1.3rem,2.6vw,1.75rem);margin-bottom:10px;max-width:760px}
.re-head p{color:rgba(246,243,236,.72);max-width:720px}
.re-head .eyebrow{color:var(--teal-lt)}
.re-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.re-col{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:22px}
.re-col h4{font-family:var(--head);font-size:1.05rem;margin-bottom:12px;color:var(--teal-lt)}
.re-col ul{list-style:none;display:grid;gap:10px;font-size:.95rem;color:rgba(246,243,236,.85)}
.re-col li{padding-left:22px;position:relative}
.re-col li::before{content:"✓";position:absolute;left:0;color:var(--teal-lt);font-weight:700}
.re-block .btn{justify-self:start}
@media (max-width:760px){.re-cols{grid-template-columns:1fr}.re-block{padding:24px 18px}}

/* FAQ */
.faq-list{max-width:820px;display:grid;gap:12px}
details{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:0 24px}
summary{cursor:pointer;list-style:none;padding:20px 0;font-family:var(--head);font-weight:600;font-size:1.05rem;display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;color:var(--teal);transition:transform .2s ease;flex:none}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 22px;color:var(--muted)}

/* CONTACT */
.contact{background:var(--ink);color:var(--ivory)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.contact .lead{color:rgba(246,243,236,.7);margin:16px 0 28px}
.contact-points{list-style:none;display:grid;gap:14px}
.contact-points li{display:flex;gap:12px;align-items:flex-start;color:rgba(246,243,236,.85)}
.contact-points li::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:5px;background:var(--teal)}
form{background:var(--paper);color:var(--ink);border-radius:20px;padding:32px;display:grid;gap:16px;grid-template-columns:1fr 1fr}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
label{font-size:.88rem;font-weight:600}
input,select,textarea{font:inherit;font-size:.96rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal)}
textarea{min-height:110px;resize:vertical}
form .btn{grid-column:1/-1;justify-content:center;font-size:1rem}
.form-msg{grid-column:1/-1;font-size:.92rem;display:none;padding:12px 14px;border-radius:10px}
.form-msg.ok{display:block;background:var(--teal-bg);color:#0B4F4B}
.form-msg.err{display:block;background:#FBE9E9;color:#8A1F1F}

/* FOOTER */
footer{background:#101B20;color:rgba(246,243,236,.6);padding:48px 0;font-size:.9rem}
.foot-mark{display:grid;justify-items:center;gap:14px;padding:12px 0 40px;margin-bottom:36px;border-bottom:1px solid rgba(255,255,255,.07);text-align:center}
.foot-mark svg{width:84px;height:84px;overflow:visible}
.foot-mark rect{transition:transform .7s cubic-bezier(.2,.9,.25,1.15),opacity .5s ease}
.foot-mark .l-bot{transform:translateX(-40px);opacity:0}
.foot-mark .c-bot{transform:scaleY(0);transform-origin:50% 100%;opacity:0}
.foot-mark .l-mid{transform:translateX(40px);opacity:0}
.foot-mark .c-top{transform:scaleY(0);transform-origin:50% 100%;opacity:0}
.foot-mark .l-top{transform:translateX(-40px);opacity:0}
.foot-mark p{font-family:var(--head);font-size:1.15rem;color:var(--ivory);letter-spacing:-.01em;opacity:0;transform:translateY(8px);transition:opacity .6s ease 1.5s,transform .6s ease 1.5s}
.foot-mark.stacked rect{transform:none;opacity:1}
.foot-mark.stacked .c-bot{transition-delay:.3s}
.foot-mark.stacked .l-mid{transition-delay:.45s}
.foot-mark.stacked .c-top{transition-delay:.8s}
.foot-mark.stacked .l-top{transition-delay:.95s}
.foot-mark.stacked p{opacity:1;transform:none}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot a{text-decoration:none}
.foot a:hover{color:#fff}

/* REVEAL */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* RESPONSIVE */
@media (max-width:1020px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .pricing-grid{grid-template-columns:repeat(2,1fr)}
  .studio-grid{grid-template-columns:1fr}
  .video-types{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  section{padding:72px 0}
  .hero{padding:120px 0 80px}
  .hero-grid,.loop-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .grid-3{grid-template-columns:1fr}
  .video-types{grid-template-columns:1fr}
  .live-stage{grid-template-columns:1fr;padding:14px}
  .portrait{max-width:380px}
  .layer{--x:0 !important}
}
@media (max-width:620px){
  body{font-size:16px}
  .services-grid,.pricing-grid{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:22px}
  .facts{grid-template-columns:1fr}
  .sc-ad .side,.sc-ad .side-l{display:none}
  .live-right{grid-template-columns:1fr}
  .phone-ui{min-height:300px}
  .steps-dots{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .ring .orbit{transition:none}
  .foot-mark rect,.foot-mark p{transform:none !important;opacity:1 !important}
  .lead-token{display:none}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition:none !important}
  .reveal{opacity:1;transform:none}
  .sc-explainer .node,.sc-explainer .dot,.sc-promo .kinetic span:first-child,.sc-explainer .cap span:first-child,.phone .stat,.phone .cta{opacity:1}
}

/* Video quote builder */
.vq{margin-top:72px;border:1px solid rgba(246,243,236,.14);border-radius:24px;padding:clamp(22px,4vw,44px);background:linear-gradient(160deg,rgba(111,195,186,.08),rgba(246,243,236,.02) 55%)}
.vq-head h3{font-family:var(--head);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.2;margin:0 0 28px;max-width:26ch}
.vq-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(22px,4vw,48px);align-items:start}
.vq-step{border:0;padding:0;margin:0 0 24px;min-width:0}
.vq-step legend{font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:10px;padding:0}
.vq-step legend b{width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.78rem;font-family:var(--head)}
.vq-step legend small{font-weight:400;color:rgba(246,243,236,.55)}
.vq-opts{display:flex;flex-wrap:wrap;gap:10px}
.vq-opt{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1.5px solid rgba(246,243,236,.2);background:transparent;color:var(--ivory);font:inherit;font-size:.93rem;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.vq-opt:disabled{opacity:.35;cursor:not-allowed}
.vq-opt:hover{border-color:var(--teal-lt);transform:translateY(-1px)}
.vq-opt.on{border-color:var(--teal-lt);background:rgba(111,195,186,.16);color:#fff}
.vq-opt.on::after{content:"✓";color:var(--teal-lt);font-weight:700;margin-left:2px}
.vq-ic{font-size:1.05rem;line-height:1}
.ar{display:inline-block;border:1.5px solid currentColor;border-radius:2px;opacity:.8}
.ar-w{width:18px;height:10px}.ar-v{width:9px;height:15px}.ar-s{width:12px;height:12px}
.vq-count{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.vq-pm{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(246,243,236,.25);background:transparent;color:var(--ivory);font-size:1.3rem;cursor:pointer;line-height:1}
.vq-pm:hover{border-color:var(--teal-lt)}
.vq-count output{font-family:var(--head);font-weight:700;font-size:1.6rem;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}
.vq-hint{color:rgba(246,243,236,.6);font-size:.9rem}
.vq-card{position:sticky;top:96px;background:var(--ivory);color:var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.vq-preview{background:#0E1A1F;height:170px;display:grid;place-items:center;position:relative;overflow:hidden}
.vq-preview::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(111,195,186,.25),transparent 60%)}
.vq-frames{display:flex;gap:12px;align-items:center;position:relative}
.vq-frame{border:2px solid var(--teal-lt);border-radius:6px;display:grid;place-items:center;color:var(--teal-lt);font-size:.7rem;font-weight:600;letter-spacing:.05em;background:rgba(111,195,186,.08);animation:vqIn .35s ease both;position:relative;overflow:hidden}
.vq-frame::after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--teal-lt);animation:vqBar var(--dur,3s) linear infinite}
.vq-frame.w{width:150px;height:84px}.vq-frame.v{width:58px;height:103px}.vq-frame.s{width:84px;height:84px}
@keyframes vqIn{from{opacity:0;transform:scale(.85)}}
@keyframes vqBar{from{width:0}to{width:100%}}
.vq-sum{padding:22px 24px 24px}
.vq-line{font-size:.9rem;color:var(--muted);margin-bottom:6px}
.vq-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.vq-price span{font-family:var(--head);font-weight:700;font-size:2.6rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.vq-price span.bump{animation:bump .35s ease}
@keyframes bump{50%{transform:scale(1.08);color:var(--teal)}}
.vq-price small{color:var(--muted);font-size:.88rem}
.vq-inc{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:6px;font-size:.9rem}
.vq-inc li::before{content:"✓";color:var(--teal);font-weight:700;margin-right:8px}
.vq-go{width:100%;justify-content:center}
.vq-note{font-size:.78rem;color:var(--muted);margin:10px 0 0;text-align:center}
@media (max-width:860px){.vq-grid{grid-template-columns:1fr}.vq-card{position:static}}

/* Sticky call to action */
.sticky-cta{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);z-index:60;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 20px;border-radius:999px;background:rgba(23,37,43,.94);color:var(--ivory);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(111,195,186,.3);box-shadow:0 18px 40px -12px rgba(0,0,0,.55);transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s;opacity:0;max-width:calc(100% - 32px)}
.sticky-cta.show{transform:translate(-50%,0);opacity:1}
.sc-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-lt);flex:none;animation:pulse 2s infinite}
.sc-text{font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .25s}
.sc-text.swap{opacity:0}
.sticky-cta .btn{padding:11px 20px;white-space:nowrap;flex:none}
@media (max-width:640px){
  .sticky-cta{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateY(140%);max-width:none;padding:6px 6px 6px 16px;gap:10px}
  .sticky-cta.show{transform:translateY(0)}
  .sc-text{font-size:.84rem;flex:1;min-width:0}
  .sticky-cta .btn{padding:10px 16px;font-size:.9rem}
  footer{padding-bottom:96px}
}
@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}.vq-frame,.vq-frame::after{animation:none}}

/* About: three kids as the three strata */
.kids{margin:0;position:relative;display:grid;gap:14px;padding:10px 0 34px}
.kid{position:relative;height:clamp(120px,15vw,168px);border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#1F343B,var(--ink));box-shadow:0 22px 40px -24px rgba(23,37,43,.7);transform:translateX(var(--x,0));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.k1{--x:0;--c:var(--teal-lt)} .k2{--x:22px;--c:var(--teal)} .k3{--x:44px;--c:var(--ink)}
.k3{outline:1px solid rgba(246,243,236,.18);outline-offset:-1px}
.kids:hover .kid{--x:11px}
.kid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.8);opacity:.62;mix-blend-mode:luminosity}
.kid::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(23,37,43,.15),rgba(23,37,43,.55) 70%,rgba(23,37,43,.9)),linear-gradient(0deg,rgba(20,125,120,.28),rgba(20,125,120,.28))}
.kid i{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--c);z-index:2}
.k3 i{background:var(--ivory)}
.kid::after{content:"";position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(111,195,186,.05) 22px 23px)}
.kid:has(img)::after{display:none}
.kids figcaption{position:absolute;left:0;bottom:0;font-family:var(--head);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.about-grid p.about-lead{font-size:1.15rem;line-height:1.55;color:var(--ink)}
.about-grid p.why{font-family:var(--head);font-weight:600;font-size:1.12rem;line-height:1.5;color:var(--ink);border-left:3px solid var(--teal);padding-left:16px}
@media (max-width:640px){.k2{--x:12px}.k3{--x:24px}.kid{height:120px;margin-right:24px}}
@media (prefers-reduced-motion:reduce){.kid{transition:none}}

/* Agent client portal */
.portal{background:var(--ink);color:var(--ivory)}
.pd-frame{border-radius:18px;overflow:hidden;border:1px solid rgba(246,243,236,.16);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);background:#0E1A1F}
.pd-bar{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#22343B;font-size:.82rem}
.pd-dots{display:flex;gap:6px}.pd-dots i{width:10px;height:10px;border-radius:50%;background:rgba(246,243,236,.25)}
.pd-url{flex:1;text-align:center;background:rgba(0,0,0,.25);border-radius:999px;padding:5px 12px;color:rgba(246,243,236,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-open{color:var(--teal-lt);text-decoration:none;font-weight:600;white-space:nowrap}
.pd-stage{position:relative;height:min(720px,78vh);background:#FBF7F5}
.pd-stage iframe{width:100%;height:100%;border:0;display:block}
.pd-tip{position:absolute;right:16px;bottom:16px;background:var(--teal);color:#fff;font-size:.84rem;padding:9px 14px;border-radius:999px;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);pointer-events:none;animation:tipIn .6s 1.2s both,tipBob 2.4s 2s ease-in-out infinite;transition:opacity .4s}
.pd-tip.gone{opacity:0}
.tip-m{display:none}
@media (max-width:640px){.tip-d{display:none}.tip-m{display:inline}.pd-tip{right:auto;left:50%;bottom:12px;transform:translateX(-50%);animation:tipIn .6s 1.2s both;font-size:.8rem}}
@keyframes tipIn{from{opacity:0;transform:translateY(10px)}}
@keyframes tipBob{50%{transform:translateY(-4px)}}
.pd-foot{font-size:.85rem;color:rgba(246,243,236,.55);margin:14px 0 56px}
.pd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pd-col{border:1px solid rgba(246,243,236,.12);border-radius:18px;padding:26px}
.pd-col h3{font-family:var(--head);font-size:1.1rem;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.pd-col h3 span{width:26px;height:26px;border-radius:50%;background:var(--teal);display:grid;place-items:center;font-size:.8rem}
.pd-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.93rem;color:rgba(246,243,236,.78)}
.pd-col li::before{content:"✓";color:var(--teal-lt);margin-right:8px;font-weight:700}
.pd-col b{color:#fff;font-weight:600}
.pd-offer{margin-top:28px;display:grid;grid-template-columns:1fr auto 1fr auto;gap:22px;align-items:center;background:var(--ivory);color:var(--ink);border-radius:20px;padding:28px 32px}
.pd-price .from{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:600}
.pd-price .amt{font-family:var(--head);font-weight:700;font-size:2.4rem;line-height:1.1;margin:4px 0}
.pd-price .amt-sm{font-size:1.45rem;padding:6px 0}
.pd-price .per{color:var(--muted);font-size:.9rem}
.pd-plus{font-family:var(--head);font-size:1.8rem;color:var(--teal)}
.pd-cta{display:grid;gap:8px;justify-items:center}
.pd-cta small{color:var(--muted);font-size:.8rem}
@media (max-width:920px){.pd-grid{grid-template-columns:1fr}.pd-offer{grid-template-columns:1fr;text-align:center}.pd-cta .btn{width:100%;justify-content:center}}
@media (max-width:640px){.pd-stage{height:640px}.pd-url{display:none}.pd-bar{justify-content:space-between}}

/* Recent work */
.work{padding-top:40px;overflow-x:clip}
.work-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}
.work-head h2{margin:0}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.work-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}
.work-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(23,37,43,.55)}
.wc-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.wc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.work-card:hover .wc-media img{transform:scale(1.05)}
.wc-tag{position:absolute;left:14px;bottom:14px;background:rgba(23,37,43,.85);color:#fff;font-size:.78rem;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.wc-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.wc-body small{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:600}
.wc-body h3{font-family:var(--head);font-size:1.2rem;margin:8px 0}
.wc-body p{color:var(--muted);font-size:.93rem;margin:0 0 16px;flex:1}
.wc-link{font-weight:600;color:var(--teal)}
@media (max-width:920px){.work-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.work-card,.wc-media img{transition:none}}

/* Recent work: make it obvious the cards are interactive */
.work-grid{perspective:1400px;position:relative}
.work-card{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;will-change:transform;position:relative}
.work-card.tilting{transition:transform .08s linear,box-shadow .3s ease}
.work-card:hover{--ty:-6px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.work-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.35),transparent 45%);opacity:0;transition:opacity .3s;z-index:3;mix-blend-mode:soft-light}
.work-card:hover::after{opacity:1}
.wc-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}
.work-card.playing .wc-prev{opacity:1}
.wc-live{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:5px 11px;border-radius:999px;z-index:2;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.wc-live em{font-style:normal}.wc-live .tp{display:none}@media (hover:none){.wc-live .hv{display:none}.wc-live .tp{display:inline}}
.wc-live i{width:7px;height:7px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 0 rgba(229,72,77,.6);animation:livePulse 1.6s infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 7px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}
.wc-try{position:absolute;left:50%;top:50%;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--teal);color:#fff;font-weight:700;font-size:.95rem;transform:translate(-50%,-50%) translateZ(40px);box-shadow:0 14px 30px -10px rgba(20,125,120,.9),0 0 0 0 rgba(111,195,186,.7);animation:tryPulse 2.2s ease-in-out infinite;transition:opacity .3s,transform .3s}
.wc-try b{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:.85rem;font-weight:400}
@keyframes tryPulse{0%,100%{box-shadow:0 14px 30px -10px rgba(20,125,120,.9),0 0 0 0 rgba(111,195,186,.6)}50%{box-shadow:0 14px 30px -10px rgba(20,125,120,.9),0 0 0 14px rgba(111,195,186,0)}}
.work-card.playing .wc-try{opacity:0;transform:translate(-50%,-50%) scale(.8)}
.work-card.playing .wc-live{opacity:.95}
.wc-hand{position:absolute;z-index:6;pointer-events:none;left:0;top:0;animation:handTap 4.2s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}
.wc-hand.stop{animation:none;opacity:0;transition:opacity .4s}
.wc-ripple{position:absolute;left:14px;top:2px;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:3px solid #fff;opacity:0;animation:handRip 4.2s ease-out infinite}
@keyframes handTap{0%{transform:translate(calc(var(--hx) + 130px),calc(var(--hy) + 110px)) rotate(-12deg);opacity:0}15%{opacity:1}40%{transform:translate(var(--hx),var(--hy)) rotate(-12deg)}47%{transform:translate(var(--hx),var(--hy)) rotate(-12deg) scale(.86)}54%{transform:translate(var(--hx),var(--hy)) rotate(-12deg) scale(1)}78%{transform:translate(var(--hx),var(--hy)) rotate(-12deg);opacity:1}100%{transform:translate(calc(var(--hx) + 40px),calc(var(--hy) + 50px)) rotate(-12deg);opacity:0}}
@keyframes handRip{0%,46%{opacity:0;transform:scale(.3)}48%{opacity:1}70%{opacity:0;transform:scale(2.2)}100%{opacity:0}}
@media (hover:none){.work-card.inview{animation:cardSway 5s ease-in-out infinite}}
@keyframes cardSway{0%,100%{transform:rotateY(-4deg) rotateX(2deg)}50%{transform:rotateY(4deg) rotateX(-1deg)}}
@media (prefers-reduced-motion:reduce){.work-card,.work-card.inview{transform:none!important;animation:none!important}.wc-try,.wc-live i{animation:none}.wc-hand{display:none}}

.field label i{color:var(--teal);font-style:normal}
.field .opt{font-weight:400;opacity:.6}
.pref{border:0;padding:0;margin:0;min-width:0;min-inline-size:0;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pref legend{font-weight:600;font-size:.88rem;margin-bottom:6px;width:100%;padding:0}
.pref label{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:.86rem!important;border-radius:999px;border:1.5px solid var(--line);cursor:pointer;font-size:.92rem}
.pref label:has(input:checked){border-color:var(--teal);background:var(--teal-bg)}
.pref input{accent-color:var(--teal);width:auto;padding:0;margin:0}
.pref label{flex:1 1 calc(50% - 7px);justify-content:flex-start}
.consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:.82rem;line-height:1.45;color:var(--muted);cursor:pointer}
.consent input{margin-top:3px;accent-color:var(--teal);flex:none;width:18px;height:18px;padding:0}
.consent label{flex:1;min-width:0;cursor:pointer;font-size:.82rem;font-weight:400}
#leadForm>*{min-width:0}
#leadForm .field{align-content:start}
#leadForm input:not([type=radio]):not([type=checkbox]),#leadForm select,#leadForm textarea{width:100%;min-width:0;box-sizing:border-box}

.about-id{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.about-id h2{margin:0}
.founder{width:88px;height:88px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 4px var(--ivory),0 0 0 6px var(--teal),0 16px 30px -14px rgba(23,37,43,.6)}
.reply-card{display:flex;align-items:center;gap:14px;margin:22px 0 6px;padding:12px 16px;border-radius:16px;background:rgba(246,243,236,.06);border:1px solid rgba(246,243,236,.14);max-width:440px}
.reply-card img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--teal-lt)}
.reply-card b{display:block;font-size:.95rem}
.reply-card span{font-size:.85rem;opacity:.7}
.re-ctas{display:flex;gap:12px;flex-wrap:wrap}

.pd-video[hidden]{display:none}
.pd-video{margin:0 0 56px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.pd-video video{width:100%;border-radius:16px;background:#000;aspect-ratio:16/9;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.pd-video figcaption b{display:block;font-family:var(--head);font-size:1.3rem;margin-bottom:6px}
.pd-video figcaption span{color:rgba(246,243,236,.6);font-size:.9rem}
@media (max-width:860px){.pd-video{grid-template-columns:1fr}}

.ph-hint{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.ph-hint.ok{color:var(--teal);font-weight:600}
.ph-hint.bad{color:#B42318;font-weight:600}
#leadForm input.ph-ok{border-color:var(--teal)}
#leadForm input.ph-bad{border-color:#B42318}

/* =========================================================
   v2: three pages, contact bar, 3D, free build
   ========================================================= */
.nav{top:0}
.topbar{background:#0E181C;color:rgba(246,243,236,.75);font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.06);transition:margin .3s ease}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;height:38px}
.topbar a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.topbar a:hover{color:#fff}
.topbar svg{width:14px;height:14px;color:var(--teal-lt);flex:none}
.tb-left,.tb-right{display:flex;gap:20px;align-items:center;min-width:0}
.tb-free{color:var(--teal-lt);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{transition:background .3s ease,box-shadow .3s ease,transform .35s ease}
.nav.scrolled{transform:translateY(-38px)}
.nav-links a[aria-current="page"]{color:#fff;position:relative}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--teal-lt)}
@media (max-width:920px){
  .nav-links{top:110px}
  .nav-links a[aria-current="page"]::after{display:none}
}
@media (max-width:760px){
  .tb-free{display:none}
  .topbar .wrap{justify-content:center}
  .tb-left{gap:16px}.tb-right{display:none}
  .tb-left .tb-hide-sm{display:none}
}
.nav-cta-ph{display:none}
.free .btn-ghost,.paper-ghost{color:var(--ink)!important}
.nav.scrolled .nav-links{max-height:calc(100vh - 72px);overflow:auto}

/* Page hero (portfolio / pricing) */
.page-hero{background:var(--ink);color:var(--ivory);padding:190px 0 90px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 85% 10%,rgba(20,125,120,.38),transparent 70%),radial-gradient(520px 320px at 5% 100%,rgba(216,203,181,.10),transparent 70%);pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(2.3rem,5.4vw,4rem);margin-bottom:20px;max-width:16ch}
.page-hero h1 em{font-style:normal;color:var(--teal-lt)}
.page-hero .lead{color:rgba(246,243,236,.75)}
.tagline{display:inline-flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-family:var(--head);font-weight:600;font-size:clamp(.82rem,1.6vw,1rem);color:var(--ivory);margin-bottom:22px;letter-spacing:-.005em}
.tagline span{display:inline-flex;align-items:center;gap:8px}
.tagline span+span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal-lt)}
.tagline b{color:var(--teal-lt);font-weight:700}

/* HOME HERO v2 */
.hero2{background:var(--ink);color:var(--ivory);padding:178px 0 0;position:relative;overflow:hidden}
.hero2::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 520px at 80% 8%,rgba(20,125,120,.42),transparent 70%),radial-gradient(600px 360px at 0% 60%,rgba(216,203,181,.10),transparent 70%);pointer-events:none}
.hero2-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative}
.hero2 h1{font-size:clamp(2.5rem,6vw,4.6rem);margin-bottom:22px;letter-spacing:-.035em}
.hero2 h1 em{font-style:normal;color:var(--teal-lt);position:relative;white-space:nowrap}
.hero2 h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.12em;border-radius:4px;background:linear-gradient(90deg,var(--teal),rgba(111,195,186,.2));transform-origin:left;animation:underline 1.2s .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes underline{from{transform:scaleX(0)}}
.hero2 .lead{color:rgba(246,243,236,.78);margin-bottom:32px;max-width:600px}
.hero2 .lead b{color:#fff}
.zero{display:inline-flex;align-items:center;gap:12px;background:rgba(111,195,186,.1);border:1px solid rgba(111,195,186,.3);border-radius:999px;padding:6px 16px 6px 6px;margin-bottom:22px;font-size:.9rem}
.zero b{background:var(--teal);color:#fff;border-radius:999px;padding:4px 12px;font-family:var(--head);font-weight:700}
.hero-note{margin-top:26px}

/* 3D strata logo */
.logo3d{position:relative;height:420px;perspective:1100px;display:grid;place-items:center}
.l3-scene{position:relative;width:260px;height:260px;transform-style:preserve-3d;transform:rotateX(var(--rx,58deg)) rotateZ(var(--rz,-40deg));transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.l3-scene.idle{animation:l3spin 14s ease-in-out infinite}
@keyframes l3spin{0%,100%{transform:rotateX(58deg) rotateZ(-40deg)}50%{transform:rotateX(52deg) rotateZ(-20deg)}}
.l3-layer{position:absolute;inset:0;transform-style:preserve-3d;animation:l3float 6s ease-in-out infinite}
.l3-layer:nth-child(1){--z:0px;animation-delay:0s}
.l3-layer:nth-child(2){--z:56px;animation-delay:-.4s}
.l3-layer:nth-child(3){--z:112px;animation-delay:-.8s}
@keyframes l3float{0%,100%{transform:translateZ(var(--z))}50%{transform:translateZ(calc(var(--z) * 1.22 + 6px))}}
.l3-slab{position:absolute;border-radius:10px;transform-style:preserve-3d}
.l3-slab::before,.l3-slab::after{content:"";position:absolute;left:0;right:0;height:14px;bottom:0;transform-origin:bottom;transform:rotateX(-90deg);background:inherit;filter:brightness(.62);border-radius:0 0 6px 6px}
.l3-slab::after{left:auto;right:0;top:0;width:14px;height:auto;transform-origin:right;transform:rotateY(90deg);filter:brightness(.78);border-radius:0 6px 6px 0}
.s-bar{left:8%;width:84%;height:24%}
.l3-1 .s-bar{top:70%;background:#F6F3EC}.l3-1 .s-stub{left:68%;top:52%;width:24%;height:18%;background:#F6F3EC;border-radius:4px}
.l3-2 .s-bar{top:38%;background:#147D78}
.l3-3 .s-bar{top:6%;background:#6FC3BA}.l3-3 .s-stub{left:8%;top:30%;width:24%;height:14%;background:#6FC3BA;border-radius:4px}
.l3-shadow{position:absolute;inset:6% 4%;border-radius:20px;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);transform:translateZ(-30px);filter:blur(16px)}
.l3-tag{position:absolute;font-family:var(--head);font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--ivory);background:rgba(23,37,43,.82);border:1px solid rgba(111,195,186,.35);padding:7px 12px;border-radius:999px;white-space:nowrap;backdrop-filter:blur(6px);box-shadow:0 10px 24px -10px rgba(0,0,0,.6);animation:tagIn .8s ease both}
.l3-tag i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal-lt);margin-right:8px;vertical-align:middle}
.l3-t1{right:2%;top:16%;animation-delay:.9s}.l3-t2{left:0;top:46%;animation-delay:1.1s}.l3-t3{right:6%;bottom:14%;animation-delay:1.3s}
@keyframes tagIn{from{opacity:0;transform:translateY(10px)}}

/* Big cinematic screen */
.bigscreen{position:relative;margin-top:70px;padding-bottom:90px}
.bs-stage{perspective:1600px}
.bs-frame{position:relative;border-radius:22px;overflow:hidden;background:#05090B;aspect-ratio:16/9;box-shadow:0 60px 120px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);transform:rotateX(var(--tilt,14deg)) scale(var(--sc,.94));transform-origin:50% 100%;will-change:transform;transition:transform .12s linear}
.bs-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bs-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 22%,transparent 70%,rgba(0,0,0,.7))}
.bs-glow{position:absolute;left:8%;right:8%;bottom:40px;height:120px;background:radial-gradient(closest-side,rgba(111,195,186,.35),transparent);filter:blur(30px);pointer-events:none}
.bs-top{position:absolute;top:18px;left:22px;right:22px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;color:rgba(255,255,255,.85);font-size:.75rem;letter-spacing:.14em;font-weight:600;text-transform:uppercase}
.bs-top .rec{display:inline-flex;align-items:center;gap:8px}.bs-top .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:#E5484D;animation:blink 1.2s steps(2) infinite}
.bs-bottom{position:absolute;left:28px;right:28px;bottom:24px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.bs-title small{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-lt);font-weight:600;margin-bottom:6px}
.bs-title b{font-family:var(--head);font-size:clamp(1.1rem,2.6vw,1.9rem);font-weight:600;letter-spacing:-.02em;color:#fff}
.bs-ctrls{display:flex;gap:8px;flex-wrap:wrap}
.bs-ch{font:inherit;font-size:.82rem;font-weight:600;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(10,18,22,.55);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,border-color .2s}
.bs-ch:hover{border-color:var(--teal-lt)}
.bs-ch[aria-pressed="true"]{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.bs-sound{background:var(--teal);border-color:var(--teal)}
.bs-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--teal-lt);z-index:4;width:0}
@media (max-width:640px){.bs-bottom{left:14px;right:14px;bottom:12px}.bs-title small{display:none}.bs-ch{padding:7px 11px;font-size:.74rem}.bs-top{top:10px;left:14px;right:14px;font-size:.62rem}.bs-frame{border-radius:14px;aspect-ratio:4/5}.bigscreen{margin-top:46px;padding-bottom:60px}}

/* Sector marquee */
.marquee{background:var(--ink-2);color:rgba(246,243,236,.75);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;padding:18px 0}
.mq-track{display:flex;gap:44px;width:max-content;animation:mq 40s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:var(--head);font-weight:600;font-size:1rem;white-space:nowrap;display:inline-flex;align-items:center;gap:14px}
.mq-track span::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--teal-lt);transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(-50%)}}

/* Free build: exploding 3D stack */
.free{background:var(--paper);border-bottom:1px solid var(--line)}
.free-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.fstack{position:relative;height:520px;perspective:1300px;display:grid;place-items:center}
.fs-scene{position:relative;width:320px;height:320px;transform-style:preserve-3d;transform:rotateX(60deg) rotateZ(-42deg)}
.fs-l{position:absolute;inset:0;border-radius:18px;transform-style:preserve-3d;transform:translateZ(calc(var(--i) * var(--gap,18px)));transition:transform .2s linear;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 50px -30px rgba(23,37,43,.8)}
.fs-l span{font-family:var(--head);font-weight:700;font-size:1rem;color:#fff;letter-spacing:.02em;transform:rotateZ(42deg);text-align:center;line-height:1.2}
.fs-l span small{display:block;font-family:var(--body);font-weight:500;font-size:.72rem;opacity:.8;margin-top:3px;letter-spacing:0}
.fs-l:nth-child(1){--i:0;background:linear-gradient(135deg,#17252B,#22363E)}
.fs-l:nth-child(2){--i:1;background:linear-gradient(135deg,#1F3B42,#2B434C)}
.fs-l:nth-child(3){--i:2;background:linear-gradient(135deg,#0F5E5A,#147D78)}
.fs-l:nth-child(4){--i:3;background:linear-gradient(135deg,#2E8E87,#6FC3BA)}
.fs-l:nth-child(5){--i:4;background:linear-gradient(135deg,#D8CBB5,#EDE5D6)}
.fs-l:nth-child(5) span{color:var(--ink)}
.fs-price{position:absolute;right:0;top:8%;background:var(--ink);color:var(--ivory);border-radius:18px;padding:16px 20px;box-shadow:0 20px 40px -20px rgba(23,37,43,.8);text-align:center}
.fs-price s{color:rgba(246,243,236,.5);font-size:.9rem}
.fs-price b{display:block;font-family:var(--head);font-size:2.4rem;line-height:1;color:var(--teal-lt)}
.fs-price small{font-size:.75rem;color:rgba(246,243,236,.65)}
.free-list{list-style:none;display:grid;gap:12px;margin:26px 0 30px}
.free-list li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.free-list li::before{content:"✓";width:26px;height:26px;border-radius:8px;background:var(--teal-bg);color:var(--teal);display:grid;place-items:center;font-weight:700;font-size:.9rem}
.free-list b{display:block;font-family:var(--head);font-size:1rem}
.free-list span{color:var(--muted);font-size:.93rem}
.how3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;counter-reset:h}
.how3 .card{position:relative;padding-top:34px}
.how3 .card::before{counter-increment:h;content:counter(h);position:absolute;top:-18px;left:24px;width:40px;height:40px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:var(--head);font-weight:700;box-shadow:0 10px 20px -8px rgba(20,125,120,.8)}
.how3 .card .tag{display:inline-block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:8px}
@media (max-width:860px){.free-grid{grid-template-columns:1fr}.fstack{height:420px}.fs-scene{width:240px;height:240px}.how3{grid-template-columns:1fr;gap:34px}.fs-price{top:0}}

/* Sector cards */
.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1400px}
.sector{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ivory);background:var(--ink);min-height:300px;isolation:isolate;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.sector.tilting{transition:transform .08s linear}
.sector:hover{box-shadow:0 30px 60px -30px rgba(23,37,43,.8)}
.sector img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease;opacity:.55}
.sector:hover img{transform:scale(1.06)}
.sector::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,37,43,.2) 0%,rgba(23,37,43,.75) 55%,rgba(23,37,43,.96) 100%)}
.sector::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.22),transparent 45%);opacity:0;transition:opacity .3s}
.sector:hover::after{opacity:1}
.sector-body{margin-top:auto;padding:24px;transform:translateZ(40px)}
.sector-body small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-lt);font-weight:700}
.sector-body h3{font-size:1.35rem;margin:6px 0 8px}
.sector-body p{font-size:.92rem;color:rgba(246,243,236,.78);margin-bottom:12px}
.sector-body .go{font-weight:600;color:var(--teal-lt);font-size:.92rem}
.sector .count{position:absolute;top:16px;right:16px;font-size:.75rem;font-weight:700;background:rgba(246,243,236,.92);color:var(--ink);border-radius:999px;padding:5px 11px;transform:translateZ(30px)}
@media (max-width:960px){.sectors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.sectors{grid-template-columns:1fr}.sector{min-height:260px}}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;perspective:1400px}
.plan{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px 28px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s;transform-style:preserve-3d}
.plan.tilting{transition:transform .08s linear}
.plan:hover{box-shadow:0 30px 60px -36px rgba(23,37,43,.6)}
.plan h3{font-size:1.4rem}
.plan .p-sub{color:var(--muted);font-size:.92rem;margin:6px 0 18px;min-height:2.8em}
.plan .p-setup{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--teal-bg);color:#0B4F4B;font-weight:700;font-size:.8rem;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.plan .p-amt{font-family:var(--head);font-weight:700;font-size:3rem;line-height:1;letter-spacing:-.03em}
.plan .p-amt small{font-size:.32em;font-weight:500;color:var(--muted);letter-spacing:0}
.plan ul{list-style:none;display:grid;gap:10px;margin:22px 0 26px;font-size:.94rem}
.plan li{padding-left:26px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.plan li.plus{font-weight:600}
.plan li.plus::before{content:"+"}
.plan .btn{margin-top:auto;justify-content:center}
.plan.star{background:var(--ink);color:var(--ivory);border-color:var(--ink);--ty:-14px;box-shadow:0 40px 80px -40px rgba(23,37,43,.9)}
.plan.star .p-sub,.plan.star .p-amt small{color:rgba(246,243,236,.65)}
.plan.star .p-setup{background:rgba(111,195,186,.16);color:var(--teal-lt)}
.plan.star li::before{color:var(--teal-lt)}
.plan .ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%) translateZ(30px);background:var(--teal);color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 20px -8px rgba(20,125,120,.8)}
@media (max-width:960px){.plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}.plan.star{--ty:0}}

/* Showcase / featured work (home) */
.showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;perspective:1400px}
.show{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.show.tilting{transition:transform .08s linear}
.show:hover{box-shadow:0 30px 60px -34px rgba(23,37,43,.6)}
.show-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.show-media img,.show-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s ease}
.show:hover .show-media img{transform:scale(1.04)}
.show-media .phone-peek{position:absolute;right:5%;bottom:-6%;width:24%;aspect-ratio:9/19.5;border-radius:18px;overflow:hidden;border:4px solid #0D1418;box-shadow:0 20px 40px -10px rgba(0,0,0,.6);transform:translateZ(50px) rotate(-4deg);background:#000}
.show-media .phone-peek img{object-position:top}
.show-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.show-body small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:700}
.show-body h3{font-size:1.25rem;margin:8px 0}
.show-body p{color:var(--muted);font-size:.94rem;flex:1;margin-bottom:14px}
.show-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.show-tags span{font-size:.75rem;font-weight:600;background:var(--teal-bg);color:#0B4F4B;padding:4px 10px;border-radius:999px}
.show .wc-link{font-weight:600;color:var(--teal)}
.show .wc-live{z-index:3}
@media (max-width:860px){.showcase{grid-template-columns:1fr}}

/* Services v2 */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc2{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.svc2:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(23,37,43,.45)}
.svc2 .ico{width:46px;height:46px;border-radius:12px;background:var(--teal-bg);color:var(--teal);display:grid;place-items:center;margin-bottom:16px}
.svc2 h3{margin-bottom:8px}
.svc2 p{color:var(--muted);font-size:.94rem;margin-bottom:14px;flex:1}
.svc2 .svc-tag{margin-top:0}
.svc2.dark{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.svc2.dark p{color:rgba(246,243,236,.7)}
.svc2.dark .ico{background:rgba(111,195,186,.15);color:var(--teal-lt)}
.svc2.dark .svc-tag{background:rgba(111,195,186,.15);color:var(--teal-lt)}
.svc2.soon{border-style:dashed;background:transparent}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}}

/* PORTFOLIO */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.filter{font:inherit;font-weight:600;font-size:.9rem;padding:10px 18px;border-radius:999px;border:1px solid rgba(246,243,236,.22);background:transparent;color:var(--ivory);cursor:pointer;transition:background .2s,border-color .2s}
.filter:hover{border-color:var(--teal-lt)}
.filter[aria-pressed="true"]{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.filter i{font-style:normal;opacity:.6;margin-left:6px;font-size:.82em}
.filter-bar{position:sticky;top:72px;z-index:20;background:rgba(23,37,43,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);padding:12px 0;display:none}
.filter-bar.show{display:block}
.filter-bar .filters{margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.filter-bar .filters::-webkit-scrollbar{display:none}
.filter-bar .filter{white-space:nowrap;padding:8px 14px;font-size:.84rem}
.case{padding:90px 0;border-bottom:1px solid var(--line)}
.case[hidden]{display:none}
.case.dark{background:var(--ink);color:var(--ivory);border-bottom-color:rgba(255,255,255,.06)}
.case.paper{background:var(--paper)}
.case-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:40px}
.case-head h2{margin:6px 0 14px}
.case.dark .lead,.case.dark .muted{color:rgba(246,243,236,.72)}
.case-meta{display:grid;gap:10px;font-size:.92rem}
.case-meta div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line)}
.case.dark .case-meta div{border-color:rgba(255,255,255,.14)}
.case-meta span{color:var(--muted)}
.case.dark .case-meta span{color:rgba(246,243,236,.6)}
.case-meta b{text-align:right}
.sector-chip{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--teal);background:var(--teal-bg);padding:5px 12px;border-radius:999px}
.case.dark .sector-chip{background:rgba(111,195,186,.14);color:var(--teal-lt)}
.private{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);margin-left:10px}
.case.dark .private{color:rgba(246,243,236,.55)}
@media (max-width:860px){.case-head{grid-template-columns:1fr;gap:22px}.case{padding:70px 0}}

/* Device mockups */
.devices{position:relative;perspective:1800px;padding:10px 0 40px}
.laptop{position:relative;width:82%;transform:rotateY(var(--ry,-8deg)) rotateX(var(--rx,4deg));transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.laptop .scr{border-radius:16px 16px 0 0;background:#0D1418;padding:12px 12px 0;box-shadow:0 50px 90px -40px rgba(0,0,0,.7)}
.laptop .scr img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:6px 6px 0 0;display:block}
.laptop .base{height:16px;margin:0 -5%;background:linear-gradient(180deg,#C9CED1,#8D9599);border-radius:0 0 18px 18px;box-shadow:0 30px 40px -20px rgba(0,0,0,.6)}
.phone2{position:absolute;width:20%;aspect-ratio:9/19.5;border-radius:28px;background:#0D1418;padding:7px;box-shadow:0 40px 70px -24px rgba(0,0,0,.75);transform:translateZ(80px) rotateY(var(--pry,-14deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.phone2 img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:22px;display:block}
.phone2::before{content:"";position:absolute;top:12px;left:50%;width:30%;height:5px;margin-left:-15%;border-radius:4px;background:#000;z-index:2}
.phone2.p1{right:6%;bottom:2%}
.phone2.p2{right:-2%;bottom:14%;width:17%;--pry:-22deg;opacity:.97}
.devices:hover .laptop{--ry:-3deg;--rx:2deg}
.devices:hover .phone2{--pry:-6deg}
@media (max-width:620px){.phone2{border-radius:16px;padding:4px}.phone2 img{border-radius:12px}.laptop .scr{padding:6px 6px 0;border-radius:10px 10px 0 0}}

.case-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.case-grid.flip{grid-template-columns:.9fr 1.1fr}
.case-grid.flip > :first-child{order:2}
.feat{list-style:none;display:grid;gap:12px;margin:18px 0 26px}
.feat li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:.95rem}
.feat li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:5px;background:var(--teal);box-shadow:inset 0 0 0 5px var(--teal-bg)}
.case.dark .feat li::before{box-shadow:inset 0 0 0 5px var(--ink)}
.feat b{font-weight:600}
.case.dark .feat li{color:rgba(246,243,236,.85)}
.case.dark .feat b{color:#fff}
.case-ctas{display:flex;gap:12px;flex-wrap:wrap}
.case.dark .btn-ghost{color:var(--ivory)}
.price-pill{display:inline-flex;flex-wrap:wrap;max-width:100%;align-items:baseline;gap:4px 8px;background:var(--ink);color:var(--ivory);padding:10px 16px;border-radius:14px;margin-bottom:22px;font-size:.88rem}
.price-pill b{font-family:var(--head);font-size:1.35rem;color:var(--teal-lt)}
.case.dark .price-pill{background:rgba(111,195,186,.1);border:1px solid rgba(111,195,186,.3)}
@media (max-width:960px){.case-grid,.case-grid.flip{grid-template-columns:1fr;gap:30px}.case-grid.flip > :first-child{order:0}}

/* Suite (investment firm) */
.suite{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.suite-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;cursor:zoom-in;transition:transform .3s ease,border-color .3s}
.suite-item:hover{transform:translateY(-4px);border-color:rgba(111,195,186,.5)}
.suite-item .si-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#05090B}
.suite-item .si-media img,.suite-item .si-media video{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.suite-item .si-body{padding:18px 20px 20px}
.suite-item h4{font-family:var(--head);font-size:1.05rem;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.suite-item h4 span{width:24px;height:24px;border-radius:7px;background:var(--teal);display:grid;place-items:center;font-size:.72rem;color:#fff;flex:none}
.suite-item p{font-size:.88rem;color:rgba(246,243,236,.7)}
.suite-item.wide{grid-column:span 2}
.suite-item.wide .si-media{aspect-ratio:21/9}
@media (max-width:960px){.suite{grid-template-columns:1fr 1fr}.suite-item.wide{grid-column:span 2}}
@media (max-width:620px){.suite{grid-template-columns:1fr}.suite-item.wide{grid-column:auto}.suite-item.wide .si-media{aspect-ratio:16/10}}
.ad-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:20px}
.ad-strip figure{margin:0;border-radius:12px;overflow:hidden;background:#05090B;position:relative;aspect-ratio:4/5;cursor:zoom-in}
.ad-strip img,.ad-strip video{width:100%;height:100%;object-fit:cover;display:block}
.ad-strip figcaption{position:absolute;left:8px;bottom:8px;font-size:.68rem;font-weight:700;letter-spacing:.06em;background:rgba(10,18,22,.75);color:#fff;padding:3px 8px;border-radius:6px}
@media (max-width:860px){.ad-strip{grid-template-columns:repeat(3,1fr)}}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,14,17,.92);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s}
.lb.open{opacity:1;pointer-events:auto}
.lb img,.lb video{max-width:min(1200px,100%);max-height:86vh;border-radius:12px;box-shadow:0 40px 80px -30px #000}
.lb button{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.4rem;cursor:pointer}
.lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.9rem;padding:0 20px}

/* Demo modal (iframe) */
.demo-modal{position:fixed;inset:0;z-index:100;background:rgba(8,14,17,.88);display:none;padding:20px}
.demo-modal.open{display:grid;place-items:center}
.dm-box{width:min(1280px,100%);height:min(860px,92vh);background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 80px -30px #000}
.dm-bar{display:flex;align-items:center;gap:12px;background:#22343B;color:#fff;padding:10px 14px;font-size:.85rem}
.dm-bar b{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-bar a{color:var(--teal-lt);font-weight:600;text-decoration:none;white-space:nowrap}
.dm-bar button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit}
.dm-box iframe{flex:1;border:0;width:100%}
.dm-dev{display:flex;gap:6px}
.dm-dev button[aria-pressed="true"]{background:var(--teal)}
.dm-box.mobile iframe{width:390px;max-width:100%;margin:0 auto;border-left:1px solid #ddd;border-right:1px solid #ddd}
.dm-box.mobile{background:#E9EEF1}
@media (max-width:640px){.demo-modal{padding:0}.dm-box{height:100%;border-radius:0}.dm-dev{display:none}}

/* Engineering Loop teaser */
.eloop{border-radius:22px;padding:34px;background:linear-gradient(135deg,#17252B 0%,#1F3B42 60%,#147D78 140%);color:var(--ivory);display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.eloop::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:2px dashed rgba(111,195,186,.35);animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.eloop h3{font-size:clamp(1.3rem,2.6vw,1.8rem);margin:8px 0 10px}
.eloop p{color:rgba(246,243,236,.75)}
.eloop .tbd{justify-self:end;text-align:right;position:relative;z-index:2}
.eloop .tbd b{display:block;font-family:var(--head);font-size:2.4rem;color:var(--teal-lt);line-height:1}
.eloop .tbd small{display:block;margin:6px 0 14px;color:rgba(246,243,236,.6)}
@media (max-width:760px){.eloop{grid-template-columns:1fr}.eloop .tbd{justify-self:start;text-align:left}}

/* Pricing page */
.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.addon{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column}
.addon .from{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:700}
.addon h3{margin:6px 0 10px}
.addon .amt{font-family:var(--head);font-weight:700;font-size:2rem;line-height:1.1}
.addon .amt small{font-size:.45em;font-weight:500;color:var(--muted)}
.addon .per{color:var(--muted);font-size:.88rem;margin:4px 0 14px}
.addon ul{list-style:none;display:grid;gap:8px;font-size:.92rem;margin-bottom:20px}
.addon li{padding-left:22px;position:relative}
.addon li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.addon .btn{margin-top:auto;justify-content:center}
.addon.new{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-bg)}
.addon .new-tag{align-self:flex-start;background:var(--teal);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:10px}
@media (max-width:960px){.addons{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.addons{grid-template-columns:1fr}}
.compare{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:.94rem}
.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.compare thead th{background:var(--ink);color:var(--ivory);font-family:var(--head);font-weight:600}
.compare thead th small{display:block;font-family:var(--body);font-weight:500;color:var(--teal-lt);font-size:.8rem}
.compare td:not(:first-child),.compare th:not(:first-child){text-align:center}
.compare tr:last-child td{border-bottom:0}
.compare .y{color:var(--teal);font-weight:700}
.compare .n{color:#B7B0A2}
.compare .grp td{background:var(--sand-lt);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.compare .star-col{background:rgba(20,125,120,.06)}
.table-wrap{overflow-x:auto;border-radius:18px}
.policy{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.policy .card{padding:22px}
.policy b{display:block;font-family:var(--head);margin-bottom:6px}
.policy span{color:var(--muted);font-size:.92rem}
@media (max-width:860px){.policy{grid-template-columns:1fr}}

/* Footer v2 */
.foot-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:30px;padding-bottom:34px;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07)}
.foot-cols h4{font-family:var(--head);color:var(--ivory);font-size:.95rem;margin-bottom:14px}
.foot-cols ul{list-style:none;display:grid;gap:9px}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:#fff}
.foot-cols p{max-width:300px;margin-top:12px;line-height:1.55}
.fc-contact li{display:flex;gap:10px;align-items:center}
.fc-contact svg{width:16px;height:16px;color:var(--teal-lt);flex:none}
.foot-cta{display:inline-flex;margin-top:16px;padding:10px 18px;font-size:.9rem}
@media (max-width:860px){.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-cols{grid-template-columns:1fr}}

.contact-direct{display:grid;gap:10px;margin:22px 0}
.contact-direct a{display:flex;align-items:center;gap:12px;color:var(--ivory);text-decoration:none;background:rgba(246,243,236,.06);border:1px solid rgba(246,243,236,.12);border-radius:14px;padding:12px 16px;transition:border-color .2s,background .2s}
.contact-direct a:hover{border-color:var(--teal-lt);background:rgba(111,195,186,.08)}
.contact-direct svg{width:20px;height:20px;color:var(--teal-lt);flex:none}
.contact-direct small{display:block;font-size:.76rem;color:rgba(246,243,236,.55)}
[data-phone-wrap][hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){
  .l3-scene,.l3-layer,.mq-track,.eloop::after{animation:none!important}
  .bs-frame{transform:none!important}
  .fs-l{transform:translateZ(calc(var(--i) * 34px))!important}
}
@media (max-width:900px){
  .hero2{padding-top:150px}
  .hero2-grid{grid-template-columns:1fr;gap:10px}
  .logo3d{height:300px;order:-1;margin:-30px 0 -20px}
  .l3-scene{width:190px;height:190px}
  .l3-layer:nth-child(2){--z:40px}.l3-layer:nth-child(3){--z:80px}
  .l3-t1{right:0;top:8%}.l3-t2{left:0;top:44%}.l3-t3{right:0;bottom:6%}
  .l3-tag{font-size:.7rem;padding:6px 10px}
}
@media (max-width:420px){.hero2 h1{font-size:2.35rem}.tagline{font-size:.8rem;gap:6px 10px}}
.case-grid>*,.case-head>*,.free-grid>*,.hero2-grid>*,.suite>*,.showcase>*{min-width:0}
.ad-strip.five{grid-template-columns:repeat(5,1fr)}
.suite-item.full{grid-column:1/-1;flex-direction:row}
.suite-item.full .si-media{flex:1.4;aspect-ratio:auto;min-height:260px}
.suite-item.full .si-body{flex:1;align-self:center;padding:28px}
@media (max-width:860px){.ad-strip.five{grid-template-columns:repeat(3,1fr)}.suite-item.full{flex-direction:column}.suite-item.full .si-media{aspect-ratio:16/10;min-height:0}}
.ad-strip.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:620px){.ad-strip.four,.ad-strip.five{grid-template-columns:repeat(2,1fr)}}
.plan .p-dev{font-size:.9rem;color:var(--muted);margin-top:8px}
.plan .p-dev b{color:var(--ink);font-family:var(--head)}
.plan.star .p-dev{color:rgba(246,243,236,.65)}.plan.star .p-dev b{color:#fff}
.addons-note{text-align:center;margin-top:26px;color:var(--muted);font-size:.95rem;font-weight:600}

/* =========================================================
   v3 home hero: Apple-style stage, spotlight, revolving phones
   ========================================================= */
.hero3{position:relative;background:#000;color:#F5F5F7;padding:150px 0 70px;overflow:hidden;isolation:isolate}
.hero3::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(1200px 700px at 50% 70%,rgba(20,125,120,.10),transparent 70%)}
.spot{position:absolute;inset:0;pointer-events:none;z-index:0}
.spot .lamp{position:absolute;left:50%;top:96px;width:150px;height:22px;margin-left:-75px;border-radius:50%;background:radial-gradient(closest-side,#fff,rgba(255,255,255,.75) 45%,rgba(255,255,255,0));filter:blur(1px);box-shadow:0 0 50px 18px rgba(255,255,255,.18)}
.spot .lamp::before{content:"";position:absolute;left:-14px;right:-14px;top:-16px;height:22px;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#2a2d30,#0b0c0d)}
.spot .beam{position:absolute;left:50%;top:104px;bottom:150px;width:min(1100px,150vw);transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10) 45%,rgba(255,255,255,.04) 80%,rgba(255,255,255,0));
  clip-path:polygon(46.5% 0,53.5% 0,86% 100%,14% 100%);filter:blur(14px);animation:beamPulse 7s ease-in-out infinite}
.spot .beam::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 55%);clip-path:polygon(49% 0,51% 0,62% 100%,38% 100%);filter:blur(10px)}
@keyframes beamPulse{0%,100%{opacity:.92}50%{opacity:1}}
.h3-text{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.h3-eyebrow{font-family:var(--head);font-weight:600;font-size:1.05rem;color:#F5F5F7;opacity:.9;margin-bottom:8px;letter-spacing:-.01em}
.hero3 h1{font-size:clamp(2.9rem,8.4vw,6.4rem);line-height:1.02;letter-spacing:-.045em;font-weight:700;margin-bottom:22px}
.hero3 h1 span{background:linear-gradient(90deg,#6FC3BA,#E9F6F4 55%,#9fd9d2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero3 .tagline{justify-content:center;color:#F5F5F7}
.h3-price{color:rgba(245,245,247,.72);font-size:1.08rem;margin:-4px 0 26px}
.h3-ctas{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap}
.h3-ctas .btn{padding:12px 26px}
.h3-link{color:#6FC3BA;text-decoration:none;font-weight:600;font-size:1.05rem}
.h3-link:hover{text-decoration:underline}

.orbit3{--pw:250px;--ph:520px;--R:340px;--d:12px;position:relative;z-index:1;margin-top:40px}
.o3-stage{position:relative;height:calc(var(--ph) + 90px);perspective:2000px;perspective-origin:50% 35%;touch-action:pan-y;cursor:grab}
.o3-stage.drag{cursor:grabbing}
.o3-stage::after{content:"";position:absolute;left:50%;bottom:0;width:min(760px,120vw);height:120px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,255,255,.30),rgba(255,255,255,.08) 55%,transparent);filter:blur(6px);z-index:-1}
.o3-ring{position:absolute;left:50%;top:18px;width:0;height:var(--ph);transform-style:preserve-3d;transform:translateZ(calc(var(--R) * -1)) rotateX(-4deg) rotateY(var(--a,0deg))}
.o3-phone{position:absolute;left:calc(var(--pw) / -2);top:0;width:var(--pw);height:var(--ph);transform-style:preserve-3d;transform:rotateY(calc(var(--i) * 90deg)) translateZ(var(--R))}
.o3-face{position:absolute;inset:0;border-radius:calc(var(--pw) * .17);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.o3-front{transform:translateZ(calc(var(--d) / 2));background:#0b0c0e;padding:calc(var(--pw) * .035);box-shadow:inset 0 0 0 2px #4a4f55,inset 0 0 0 4px #17191c,0 40px 80px -30px rgba(0,0,0,.9);transition:filter .8s ease}
.o3-phone:not(.front) .o3-front{filter:brightness(.38) saturate(.7)}
.o3-screen{position:relative;width:100%;height:100%;border-radius:calc(var(--pw) * .14);overflow:hidden;background:#111}
.o3-island{position:absolute;top:calc(var(--pw) * .06);left:50%;width:30%;height:calc(var(--pw) * .085);margin-left:-15%;border-radius:999px;background:#000;z-index:5}
.o3-back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:linear-gradient(145deg,#3a3f44,#1d2124 45%,#2b3034);box-shadow:inset 0 0 0 2px #50565c;display:grid;place-items:center}
.o3-back svg{width:22%;height:auto;opacity:.92}
.o3-cam{position:absolute;top:5%;left:7%;width:34%;aspect-ratio:1;border-radius:24%;background:linear-gradient(145deg,#2d3236,#1a1d20);box-shadow:inset 0 0 0 1px #555b61}
.o3-cam::before,.o3-cam::after{content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,#3b4a52,#05080a 60%);box-shadow:0 0 0 3px #22262a}
.o3-cam::before{left:8%;top:8%}.o3-cam::after{left:8%;bottom:8%}
.o3-edge{position:absolute;top:calc(var(--pw) * .16);bottom:calc(var(--pw) * .16);left:50%;width:var(--d);margin-left:calc(var(--d) / -2);background:linear-gradient(90deg,#2a2e32,#6b7178 50%,#2a2e32)}
.o3-l{transform:rotateY(-90deg) translateZ(calc(var(--pw) / 2))}
.o3-r{transform:rotateY(90deg) translateZ(calc(var(--pw) / 2))}
.o3-caption{position:relative;z-index:2;text-align:center;margin-top:6px;display:grid;gap:4px;justify-items:center;min-height:86px}
.o3-caption small{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#6FC3BA;font-weight:600}
.o3-caption b{font-family:var(--head);font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:600;letter-spacing:-.02em;color:#F5F5F7}
.o3-caption a{color:#6FC3BA;text-decoration:none;font-weight:600}
.o3-caption a:hover{text-decoration:underline}
.o3-caption.swap>*{opacity:0;transform:translateY(6px)}
.o3-caption>*{transition:opacity .4s ease,transform .4s ease}
.o3-dots{display:flex;gap:10px;justify-content:center;margin-top:14px;position:relative;z-index:2}
.o3-dots button{width:9px;height:9px;padding:0;border-radius:999px;border:0;background:rgba(245,245,247,.3);cursor:pointer;transition:width .4s ease,background .4s}
.o3-dots button[aria-pressed="true"]{width:30px;background:#F5F5F7}

/* phone screens */
.scr-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.scr-live,.scr-web,.scr-loop{position:absolute;inset:0;font-family:var(--body)}
.sl-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.scr-live::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 25%,transparent 45%,rgba(0,0,0,.75))}
.sl-top{position:absolute;top:calc(var(--pw) * .17);left:8px;right:8px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:calc(var(--pw) * .042)}
.sl-shop{display:flex;align-items:center;gap:5px;color:#fff;font-weight:700;background:rgba(0,0,0,.35);border-radius:999px;padding:3px 8px 3px 3px}
.sl-shop b{width:1.9em;height:1.9em;border-radius:50%;background:#D6246E;display:grid;place-items:center;font-size:.7em}
.sl-on{background:#E3245F;color:#fff;font-weight:800;border-radius:6px;padding:3px 7px;letter-spacing:.04em;animation:livePulse 1.6s infinite}
.sl-views{position:absolute;top:calc(var(--pw) * .27);left:8px;z-index:2;font-size:calc(var(--pw) * .038);color:#fff;background:rgba(0,0,0,.35);border-radius:999px;padding:3px 8px}
.sl-comments{position:absolute;left:8px;right:28%;bottom:calc(var(--pw) * .44);z-index:2;display:flex;flex-direction:column;gap:5px;justify-content:flex-end;height:42%;overflow:hidden;font-size:calc(var(--pw) * .042);line-height:1.3}
.sl-comments p{color:#fff;background:rgba(0,0,0,.38);border-radius:10px;padding:4px 8px;animation:cmtIn .5s ease both;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.sl-comments p b{color:#FFB3CF;margin-right:4px}
.sl-comments p.sys{background:rgba(214,36,110,.85)}
.sl-comments p.sys b{color:#fff}
@keyframes cmtIn{from{opacity:0;transform:translateY(10px)}}
.sl-item{position:absolute;left:8px;right:8px;bottom:12px;z-index:2;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.95);color:#2B1020;border-radius:14px;padding:7px;font-size:calc(var(--pw) * .04)}
.sl-item img{width:24%;aspect-ratio:1;object-fit:cover;border-radius:9px}
.sl-item b{display:block;font-size:1.02em}
.sl-item small{display:block;color:#7a5a6a;margin:1px 0 3px}
.sl-item em{font-style:normal;font-weight:800;color:#D6246E}
.scr-web video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scr-web::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 30%,transparent 55%,rgba(0,0,0,.8))}
.sw-nav{position:absolute;top:calc(var(--pw) * .17);left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:2;color:#fff;font-weight:700;font-size:calc(var(--pw) * .048)}
.sw-nav span{display:flex;align-items:center;gap:6px}
.sw-nav svg{width:1.3em;height:1.3em}
.sw-nav i{width:1.4em;height:2px;background:#fff;box-shadow:0 -5px 0 #fff,0 5px 0 #fff}
.sw-copy{position:absolute;left:14px;right:14px;bottom:22px;z-index:2;color:#fff}
.sw-copy small{display:block;font-size:calc(var(--pw) * .036);letter-spacing:.14em;text-transform:uppercase;color:#6FC3BA;font-weight:700;margin-bottom:4px}
.sw-copy b{display:block;font-family:var(--head);font-size:calc(var(--pw) * .09);line-height:1.1;letter-spacing:-.02em;margin-bottom:10px}
.sw-btn{display:inline-block;background:#fff;color:#111;font-weight:700;font-size:calc(var(--pw) * .042);border-radius:999px;padding:6px 12px}
.scr-loop{background:radial-gradient(circle at 50% 30%,#14302F,#07100F 70%);color:#E8F4F2;padding:calc(var(--pw) * .19) 12px 12px;display:flex;flex-direction:column;gap:10px}
.el-head{display:flex;justify-content:space-between;align-items:center;font-size:calc(var(--pw) * .046)}
.el-head b{font-family:var(--head)}
.el-head span{color:#6FC3BA;font-size:.85em;font-weight:700}
.el-ring{position:relative;width:62%;margin:4px auto 0;aspect-ratio:1}
.el-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.el-arc{transform-origin:60px 60px;animation:arcSpin 6s linear infinite}
@keyframes arcSpin{to{transform:rotate(360deg)}}
.el-ring span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.el-ring b{font-family:var(--head);font-size:calc(var(--pw) * .085)}
.el-ring small{font-size:calc(var(--pw) * .034);color:rgba(232,244,242,.6)}
.el-log{list-style:none;display:grid;gap:6px;font-size:calc(var(--pw) * .041)}
.el-log li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:7px 9px;transition:transform .5s ease,opacity .5s ease}
.el-log li.ok{border-left:3px solid #6FC3BA}.el-log li.wait{border-left:3px solid #E7B54A}.el-log li.no{border-left:3px solid #E5484D}
.el-log li.new{animation:cmtIn .5s ease both}

.screen-sec{background:#000;color:#F5F5F7;padding:30px 0 0;overflow:hidden}
.h3-sub{text-align:center;margin-bottom:-30px;position:relative;z-index:2}
.h3-sub h2{font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.04em;font-weight:700}
.h3-sub p{color:rgba(245,245,247,.7);margin-top:8px}
.screen-sec .bigscreen{margin-top:60px}

@media (max-width:760px){
  .hero3{padding:130px 0 50px}
  .orbit3{--pw:190px;--ph:396px;--R:250px;--d:10px;margin-top:26px}
  .spot .lamp{top:80px}.spot .beam{top:88px;bottom:120px}
  .h3-price{font-size:.98rem;padding:0 10px}
}
@media (prefers-reduced-motion:reduce){.spot .beam,.el-arc,.sl-on{animation:none}}

/* 11-agent AI team */
.agents{background:#05090B;color:var(--ivory);position:relative;overflow:hidden}
.agents::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 30% 50%,rgba(20,125,120,.18),transparent 70%);pointer-events:none}
.agents .wrap{position:relative}
.ag-head{max-width:760px;margin-bottom:40px}
.ag-head h2{margin:6px 0 14px}
.ag-head .lead{color:rgba(246,243,236,.72)}
.ag-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.ag-grid>*{min-width:0}
.ag-ring{position:relative;width:100%;max-width:600px;aspect-ratio:1;margin:0 auto}
.ag-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ag-spin{transform-origin:300px 300px;animation:spin 60s linear infinite}
.ag-phlabel{font-family:var(--head);font-size:11px;font-weight:700;letter-spacing:.12em}
.ag-link{fill:none;stroke:rgba(111,195,186,.55);stroke-width:2;stroke-dasharray:5 6;animation:dash 1.2s linear infinite}
.ag-link.hot{stroke:#6FC3BA;stroke-width:3}
@keyframes dash{to{stroke-dashoffset:-22}}
.ag-node{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:6px;background:none;border:0;color:var(--ivory);cursor:pointer;font:inherit;width:96px;padding:0;z-index:2}
.ag-node i{font-style:normal;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.55rem;background:#132126;border:2px solid var(--c,#6FC3BA);box-shadow:0 10px 24px -10px rgba(0,0,0,.8);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s}
.ag-node b{font-size:.74rem;font-weight:600;line-height:1.2;text-align:center;color:rgba(246,243,236,.82)}
.ag-node:hover i{transform:translateY(-3px) scale(1.06)}
.ag-node.on i{transform:scale(1.18);background:var(--c,#6FC3BA);box-shadow:0 0 0 6px rgba(111,195,186,.15),0 0 34px var(--c,#6FC3BA)}
.ag-node.on b{color:#fff}
.ag-node.to i{box-shadow:0 0 0 4px rgba(111,195,186,.25),0 10px 24px -10px rgba(0,0,0,.8)}
.ag-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;z-index:2}
.ag-owner{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(246,243,236,.1);border:1px solid rgba(246,243,236,.2);border-radius:999px;padding:5px 12px;white-space:nowrap}
.ag-lead{position:static;transform:none;--c:#F6F3EC;width:auto}
.ag-lead i{width:78px;height:78px;font-size:2rem;border-radius:24px}
.ag-panel{background:rgba(246,243,236,.04);border:1px solid rgba(246,243,236,.12);border-radius:22px;padding:30px;min-height:430px;display:flex;flex-direction:column}
.ag-phase{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.ag-panel h3{font-size:1.55rem;margin:8px 0 8px;display:flex;align-items:center;gap:12px}
.ag-panel h3 i{font-style:normal;font-size:1.6rem}
.ag-owns{color:rgba(246,243,236,.75);margin-bottom:16px}
.ag-panel ul{list-style:none;display:grid;gap:10px;margin-bottom:18px}
.ag-panel li{padding-left:24px;position:relative;font-size:.95rem;color:rgba(246,243,236,.88)}
.ag-panel li::before{content:"✓";position:absolute;left:0;color:#6FC3BA;font-weight:700}
.ag-hand{font-size:.9rem;color:rgba(246,243,236,.7);border-top:1px dashed rgba(246,243,236,.18);padding-top:14px;margin-bottom:20px}
.ag-hand b{display:block;color:#6FC3BA;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.ag-ctrls{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ag-ctrls .btn[disabled]{opacity:.6;cursor:default;transform:none}
.ag-relay-cap{font-size:.9rem;color:#6FC3BA;min-height:1.4em;font-weight:600}
.ag-rules{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.ag-rules li{font-size:.88rem;color:rgba(246,243,236,.7);border-left:3px solid #6FC3BA;padding:4px 0 4px 14px}
.ag-rules b{color:#fff}
@media (max-width:960px){.ag-grid{grid-template-columns:1fr}.ag-rules{grid-template-columns:1fr 1fr}.ag-panel{min-height:0}}
@media (max-width:620px){
  .ag-node{width:64px}.ag-node i{width:40px;height:40px;font-size:1.1rem;border-radius:12px}.ag-node b{font-size:.6rem}
  .ag-lead i{width:56px;height:56px;font-size:1.5rem}.ag-owner{font-size:.6rem}
  .ag-phlabel{font-size:16px}
  .ag-rules{grid-template-columns:1fr}
  .ag-ring{width:calc(100% - 20px)}
}
@media (prefers-reduced-motion:reduce){.ag-spin,.ag-link{animation:none}}
.ag-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:18px;font-size:.8rem;font-weight:600;color:rgba(246,243,236,.75)}
.ag-legend li{display:inline-flex;align-items:center;gap:7px}
.ag-legend li::before{content:"";width:18px;height:4px;border-radius:2px;background:var(--c)}
@media (max-width:620px){.ag-ring{width:calc(100% - 44px)}}
.ag-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:18px;font-size:.8rem;font-weight:600;color:rgba(246,243,236,.75)}
.ag-legend li{display:inline-flex;align-items:center;gap:7px}
.ag-legend li::before{content:"";width:18px;height:4px;border-radius:2px;background:var(--c)}
@media (max-width:620px){.ag-ring{width:calc(100% - 44px)}}

/* Custom builds page */
.cb-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;perspective:1200px}
.cb-card{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:16/10;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.12);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cb-card.tilting{transition:transform .08s linear}
.cb-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform .8s ease,opacity .3s}
.cb-card:hover img{transform:scale(1.05);opacity:.7}
.cb-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,18,22,.92))}
.cb-card span{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.cb-card small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6FC3BA;font-weight:700}
.cb-card b{font-family:var(--head);font-size:1.2rem}
@media (max-width:760px){.cb-jump{grid-template-columns:1fr}}
.crawl{background:var(--paper);border-bottom:1px solid var(--line)}
.flow3{display:grid;grid-template-columns:1fr 46px 1fr 46px .9fr 46px 1.2fr;align-items:center;gap:0;background:var(--ink);color:var(--ivory);border-radius:24px;padding:34px 30px;box-shadow:0 40px 80px -40px rgba(23,37,43,.7)}
.flow3>*{min-width:0}
.fl-col{display:grid;gap:10px}
.fl-h{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6FC3BA;font-weight:700;margin-bottom:4px}
.fl-chip{background:rgba(246,243,236,.06);border:1px solid rgba(246,243,236,.12);border-radius:10px;padding:9px 12px;font-size:.86rem}
.fl-pipe{height:4px;position:relative;background:rgba(111,195,186,.15);border-radius:4px;overflow:hidden}
.fl-pipe i{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,#6FC3BA,transparent);animation:pipe 1.6s linear infinite}
@keyframes pipe{to{left:100%}}
.fl-core{justify-items:center;text-align:center}
.fl-engine{position:relative;width:120px;height:120px;display:grid;place-content:center;text-align:center}
.fl-engine svg{position:absolute;inset:0}
.fl-spin{transform-origin:50px 50px;animation:spin 2.4s linear infinite}
.fl-engine b{font-family:var(--head);font-size:1.4rem}
.fl-engine small{font-size:.7rem;color:rgba(246,243,236,.6)}
.fl-note{font-size:.78rem;color:rgba(246,243,236,.65);line-height:1.4}
.fl-crm{background:linear-gradient(160deg,#147D78,#0F5753);border-radius:16px;padding:18px;text-align:center}
.fl-crm b{display:block;font-family:var(--head);font-size:2.2rem;line-height:1}
.fl-crm small{display:block;font-size:.8rem;margin:4px 0 8px;color:#CDEDEA}
.fl-crm span{font-size:.74rem;background:rgba(0,0,0,.2);border-radius:999px;padding:3px 10px}
.fl-ch{display:flex;gap:10px;align-items:center;background:rgba(246,243,236,.05);border:1px solid rgba(246,243,236,.12);border-left:4px solid var(--c);border-radius:12px;padding:9px 12px;animation:chPulse 4s ease-in-out infinite}
.fl-ch:nth-of-type(2){animation-delay:1s}.fl-ch:nth-of-type(3){animation-delay:2s}.fl-ch:nth-of-type(4){animation-delay:3s}
@keyframes chPulse{0%,70%,100%{background:rgba(246,243,236,.05)}10%,25%{background:rgba(111,195,186,.16)}}
.fl-ch i{font-style:normal;width:32px;height:32px;border-radius:9px;background:var(--c);display:grid;place-items:center;font-weight:800;font-size:.95rem;flex:none;color:#fff}
.fl-ch b{display:block;font-size:.9rem}
.fl-ch small{font-size:.76rem;color:rgba(246,243,236,.62)}
@media (max-width:1020px){.flow3{grid-template-columns:1fr;gap:6px;padding:24px 20px}.fl-pipe{width:4px;height:34px;justify-self:center}.fl-pipe i{left:0;top:-40%;width:100%;height:40%;background:linear-gradient(180deg,transparent,#6FC3BA,transparent);animation-name:pipeV}.fl-core{justify-items:start;text-align:left}}
@keyframes pipeV{to{top:100%}}
.cb-channels{display:grid;gap:12px;margin-bottom:8px}
.cb-channels div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.cb-channels b{display:block;font-family:var(--head);font-size:.98rem;margin-bottom:3px}
.cb-channels span{color:var(--muted);font-size:.9rem}
@media (prefers-reduced-motion:reduce){.fl-pipe i,.fl-spin,.fl-ch{animation:none}}
/* 24-hour guarantee */
.promise{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:2px 0 14px;padding:10px 20px 10px 10px;border-radius:999px;background:linear-gradient(90deg,rgba(111,195,186,.18),rgba(111,195,186,.06));border:1px solid rgba(111,195,186,.45);box-shadow:0 0 40px -8px rgba(111,195,186,.45);font-family:var(--head);font-size:clamp(1rem,2.1vw,1.3rem);color:#fff;letter-spacing:-.01em;animation:promiseGlow 3.2s ease-in-out infinite}
.promise b{font-weight:700}
.promise b:first-of-type{color:#6FC3BA}
.pr-badge{font-family:var(--body);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:#6FC3BA;color:#0B2B29;border-radius:999px;padding:5px 10px}
.pr-or{font-weight:500;opacity:.7;font-style:italic}
.promise.left{margin-top:4px}
@keyframes promiseGlow{50%{box-shadow:0 0 60px -6px rgba(111,195,186,.65)}}
.promise-note{font-size:.78rem;color:rgba(245,245,247,.5);margin-top:14px;text-align:center}
#plans .promise-note{color:var(--muted)}
@media (max-width:620px){.promise{border-radius:18px;padding:12px 14px}.pr-badge{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){.promise{animation:none}}
/* explainers grid */
.exp-grid{display:grid;grid-template-columns:1fr 1fr .62fr;gap:20px;align-items:end}
.exp{margin:0}
.exp video{width:100%;border-radius:16px;background:#000;aspect-ratio:16/9;display:block;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.exp.tall video{aspect-ratio:4/5}
.exp figcaption{margin-top:12px}
.exp figcaption b{display:block;font-family:var(--head)}
.exp figcaption span{font-size:.86rem;color:rgba(246,243,236,.6)}
.cb-jump{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.exp-grid{grid-template-columns:1fr 1fr}.cb-jump{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.exp-grid,.cb-jump{grid-template-columns:1fr}}

/* Mobile-first touch and form ergonomics */
@media (max-width:620px){
  input,select,textarea{font-size:16px!important}
  .btn{min-height:46px}
  .o3-dots button{position:relative}
  .o3-dots button::before{content:"";position:absolute;inset:-14px -6px}
  .nav-links a{min-height:44px}
  .faq-list summary{min-height:52px}
  .hero3 .h3-ctas .btn{width:100%;justify-content:center}
  .hero3 .h3-ctas{flex-direction:column;gap:12px;width:100%;padding:0 6px}
}

/* Optimized shared layout: clear hierarchy, consistent controls and resilient content. */
[hidden]{display:none!important}
html{scroll-padding-top:126px}
section[id]{scroll-margin-top:124px}
.nav{background:rgba(10,18,22,.96)}
.nav-links{gap:22px}.nav-links a[aria-current=page]{color:var(--teal-lt)}
.hero3{padding-top:168px;padding-bottom:42px}
.hero3 h1{font-size:clamp(2.45rem,5.4vw,4.8rem);max-width:20ch;margin:0 auto 22px;line-height:1.08}
.h3-eyebrow{color:var(--teal-lt);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}
.hero-intro{max-width:660px;margin:0 auto 24px;font-size:clamp(1.02rem,1.8vw,1.2rem);color:#D5DFDF;line-height:1.65}
.hero-detail{font-size:.85rem;line-height:1.6;color:#ADBDBE;max-width:580px;margin:22px auto 0}
.hero3 .tagline{font-size:.82rem;color:#C4D5D4;justify-content:center}
.hero3 .spot .beam{opacity:.35}.hero3 .spot .lamp{opacity:.6}
.o3-dots{align-items:center;flex-wrap:wrap;padding:10px 20px}
.o3-dots button.o3-pause{width:auto;height:auto;padding:7px 12px;border:1px solid #547372;border-radius:999px;font:500 .76rem var(--body);background:transparent;color:#C7DEDC;order:5;min-height:38px}
.o3-dots button.o3-pause::before{display:none}
.o3-dots button[data-go]{min-width:20px;min-height:20px}
.o3-caption{min-height:86px}.o3-caption small{color:#AACBC6}
.text-link{display:inline-block;color:var(--teal);font-weight:600;font-size:.9rem;margin-top:20px;text-decoration:none}
.needs-section{padding:66px 0;background:var(--sand-lt)}
.needs-section .sec-head{margin-bottom:30px}
.needs-section .card{background:transparent;border-color:#C7BDAA}
.loop-preview{background:radial-gradient(ellipse at 50% 25%,#224D4B,#101D23 75%);padding:28px;color:var(--ivory);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:20px}
.preview-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#ACD6CF}
.loop-preview-mark{text-align:center;font:600 4rem var(--head);color:var(--teal-lt)}
.loop-preview-mark span{display:block;font-size:1.2rem;color:var(--ivory);margin-top:6px}
.preview-flow{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.preview-flow span{padding:6px 12px;border:1px solid #4B6B68;border-radius:6px;color:#CDE7E2;font-size:.75rem}
.portfolio-index{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:20px;font-size:.85rem;color:var(--teal-lt)}
.filter-status{font-size:.82rem;color:#B8CECA;min-height:1.5em;margin-top:16px}
.filters{flex-wrap:wrap;gap:10px}.filters .filter{min-height:44px}
.case-story{display:grid;gap:16px;margin:24px 0 30px;font-size:.95rem;color:#CDDBDA}
.case-story b{display:block;color:var(--teal-lt);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.loop-board{padding:30px;border:1px solid #4B6B68;border-radius:22px;background:#12272C}
.loop-board ol{list-style:none;display:grid;gap:20px;margin-top:28px}
.loop-board li{display:flex;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid #3C5558}
.loop-board li:last-child{border:0;padding-bottom:0}.loop-board li>span{color:var(--teal-lt);font-size:.75rem;letter-spacing:.12em}
.loop-board b{display:block;font-family:var(--head);font-size:1.1rem}.loop-board small{color:#B4CBC9;font-size:.85rem}
.guarantee-scope{font-size:.83rem;color:#C5D9D5;margin:24px 0 10px}
.form-note{font-size:.78rem;line-height:1.6;color:#BDD0CC}
.contact input,.contact select,.contact textarea{min-width:0}.contact .lead{color:#D5E0DD}
.form-msg.err{color:#FFCFCA}.ph-hint.bad{color:#FFCFCA}.contact .opt{color:#BDCFCA}
.reveal{opacity:1;transform:none}
.table-wrap{max-width:100%;overflow-x:auto}.compare{min-width:620px}
.lb,.demo-modal{padding:24px;border:0;max-width:none;max-height:none;margin:0;color:var(--ivory);width:100%;height:100%}
.lb:not([open]),.demo-modal:not([open]){display:none}
.lb::backdrop,.demo-modal::backdrop{background:rgba(0,0,0,.85)}
.bs-frame #bsPlay{min-width:60px}.bs-ch{min-height:38px}
.btn:disabled,.vq-pm:disabled{opacity:.5;cursor:default;transform:none}
.foot-cols p{max-width:36ch}
@media(min-width:921px){.nav-links{gap:20px}.nav-links a{font-size:.88rem}}
@media(max-width:920px){.nav-links{top:110px}.nav.scrolled .nav-links{top:72px}}
@media(max-width:760px){
  section{padding:64px 0}.wrap{padding-left:22px;padding-right:22px}
  .hero3{padding:142px 0 30px}.hero3 h1{font-size:clamp(2.3rem,7.3vw,3.6rem);max-width:18ch}
  .hero-intro{max-width:38ch}.hero-detail{max-width:35ch;margin-top:18px}
  .hero3 .h3-eyebrow{font-size:.68rem;margin-bottom:18px}.hero3 .tagline{font-size:.74rem;gap:7px 12px}
  .page-hero{padding:154px 0 58px}.page-hero h1{font-size:clamp(2.2rem,7vw,3.5rem);max-width:18ch}
  .sec-head{margin-bottom:30px}.case-head{gap:24px}.loop-preview{padding:20px}
  .needs-section .grid-3{grid-template-columns:1fr;gap:16px}.needs-section .card{padding:24px}
  .loop-board{padding:24px}.contact-grid{gap:32px}.portfolio-index{gap:12px 18px}
  .bs-bottom{position:static;padding:16px;background:#101D22}.bs-title b{font-size:1rem}.bs-ctrls{gap:6px;flex-wrap:wrap}
  .bs-frame{aspect-ratio:auto}.bs-frame video{aspect-ratio:16/9}.bs-title{margin-bottom:12px}
  .form-note{font-size:.8rem}.loop-preview-mark{font-size:3rem}
}
@media(max-width:380px){.wrap{padding-left:18px;padding-right:18px}.hero3 h1{font-size:2.2rem}.tagline span+span::before{display:none}.hero3 .tagline{gap:6px 10px}.page-hero h1{font-size:2.2rem}.dm-bar{gap:6px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.o3-pause{display:none!important}}

/* Light form surfaces need dark helper and validation text. */
.contact form .form-note{color:#526369}
.contact form .opt{color:#526369}
.contact form .form-msg.err{color:#982E32;background:#FCE8E8}
.contact form .ph-hint.bad{color:#982E32}
.contact form .ph-hint.ok{color:#116A5D}
.contact form input:focus-visible,.contact form textarea:focus-visible,.contact form select:focus-visible{outline-color:var(--teal)}

/* Lead with the free review and the zero setup fee, with development costs visible. */
.zero-offer{display:flex;align-items:center;justify-content:center;gap:14px;max-width:510px;margin:0 auto 26px;padding:16px 24px;background:rgba(111,195,186,.10);border:1px solid #6FC3BA;border-radius:20px;box-shadow:0 0 44px -20px rgba(111,195,186,.6);color:var(--teal-lt);text-align:left}
.zero-offer>strong{font:700 clamp(3.2rem,5vw,4.5rem)/1 var(--head);letter-spacing:-.07em}
.zero-offer>span{font:600 1.12rem/1.2 var(--head)}
.zero-offer small{display:block;color:#CADFD9;font:400 .72rem/1.5 var(--body);margin-top:4px}
.zero-offer .offer-free{border-left:1px solid #567F77;padding-left:22px;margin-left:8px;letter-spacing:.06em;color:var(--ivory);font-size:1.4rem}
.zero-offer .offer-free small{letter-spacing:0}
.zero-inline{color:var(--teal)}
.pricing-offer{margin:0 0 30px;justify-content:flex-start;max-width:460px}
.plan .p-setup{padding:8px 16px;font-size:.88rem}.plan .p-setup b{font:700 1.5rem/1 var(--head)}
.hero3 .h3-eyebrow{margin-bottom:16px}
@media(max-width:620px){.zero-offer{padding:14px 16px;gap:12px;margin-bottom:24px}.zero-offer>strong{font-size:3.2rem}.zero-offer>span{font-size:.85rem}.zero-offer .offer-free{font-size:1.05rem;padding-left:14px;margin-left:0}.zero-offer small{font-size:.64rem}.hero3 h1{font-size:clamp(2rem,7vw,3rem)}}

/* Free GHL/system package; one-time and recurring fees remain equally visible. */
.agency-comparison{color:#D3E4DF;margin:-12px 0 22px;font-size:.9rem;max-width:42ch;line-height:1.6}
.agency-comparison s{color:#B1C5BF}.agency-comparison b{color:var(--teal-lt)}
.zero-offer{max-width:600px}.zero-offer>span{font-size:1rem}
.ghl-offer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;max-width:960px;align-items:start}
.ghl-offer-grid .plan{padding:34px}.ghl-offer-grid .p-amt small{font-size:.24em;white-space:nowrap}
.offer-breakdown{padding:22px 0}.offer-breakdown h3{font-size:1.8rem;line-height:1.2;margin-bottom:22px}
.offer-breakdown dl{display:grid;gap:0;margin-bottom:18px}
.offer-breakdown dl>div{display:flex;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.offer-breakdown dt{color:var(--muted);font-size:.95rem}.offer-breakdown dd{font:600 1.35rem var(--head);white-space:nowrap;color:var(--teal)}
.offer-breakdown dd small{font:500 .8rem var(--body);margin-left:4px}.offer-breakdown>p{font-size:.87rem;color:var(--muted);line-height:1.7}
@media(max-width:760px){.ghl-offer-grid{grid-template-columns:1fr;gap:18px}.ghl-offer-grid .plan{padding:28px}.offer-breakdown{padding:10px 0}.zero-offer>span{font-size:.8rem}.zero-offer>strong{font-size:2.8rem}.zero-offer small{font-size:.61rem}.agency-comparison{font-size:.8rem;max-width:36ch}.zero-offer .offer-free{font-size:1rem}}

.zero-offer{width:100%}.zero-offer>strong,.zero-offer .offer-free{flex:none}.zero-offer>span:not(.offer-free){flex:1;min-width:0}.zero-offer small{white-space:normal}

/* Flagship Agent Portal: two audiences, three logical server layers. */
.anchor-target{display:block;position:relative;top:-120px;visibility:hidden}
.portal-heading{max-width:860px;margin-bottom:36px}.portal-heading h2 em{font-style:normal;color:var(--teal-lt)}
.portal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 32px}
.portal-side{display:flex;flex-direction:column;padding:30px;border:1px solid #426562;border-radius:20px;background:#172F33;color:#F6F3EC;min-width:0}
.client-side{background:#153A39;border-color:#6FC3BA}.admin-side{background:#1D2C38;border-color:#7895A3}
.portal-side-label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#9DDED2;margin-bottom:16px}
.admin-side .portal-side-label{color:#B9D5E7}.portal-side h3{font-size:1.6rem;margin-bottom:14px;line-height:1.2}
.portal-side>p{font-size:.95rem;color:#D2E3DF;line-height:1.7;margin-bottom:20px;max-width:48ch}
.portal-side ul{padding-left:19px;display:grid;gap:10px;margin-bottom:28px;color:#E3EEEA;font-size:.9rem}
.portal-side li::marker{color:var(--teal-lt)}.portal-side .btn{margin-top:auto;align-self:flex-start;font-size:.88rem}
.portal-architecture{padding:30px;border:1px solid #4B6969;border-radius:20px;background:#0F2027;margin-bottom:44px}
.portal-architecture-head{max-width:730px}.portal-architecture-head .eyebrow{color:var(--teal-lt);margin-bottom:12px}
.portal-architecture-head h3{font-size:1.6rem;margin-bottom:12px}.portal-architecture-head>p{font-size:.94rem;color:#CCDCD9}
.server-layers{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 20px}
.server-layers li{position:relative;padding:22px 18px;background:#1C343C;border:1px solid #4C6E70;border-radius:14px;min-width:0}
.server-layers li+li::before{content:"→";position:absolute;left:-17px;top:44%;color:#9DDACD;font-weight:700;z-index:2}
.layer-number{display:block;font:600 .8rem var(--head);color:#9DDACD;margin-bottom:16px}
.server-layers small{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#9DDACD}
.server-layers h4{font-size:1rem;line-height:1.3;margin:8px 0 10px}.server-layers p{font-size:.83rem;line-height:1.65;color:#D0E0DD}
.architecture-note{font-size:.8rem;color:#AEC9C4;max-width:86ch}
.portal-demo-heading{margin:36px 0 22px}.portal-demo-heading .eyebrow{color:var(--teal-lt);margin-bottom:10px}
.portal-demo-heading h3{font-size:1.4rem;margin-bottom:10px}.portal-demo-heading>p{font-size:.9rem;color:#D0E0DD}
.portfolio-index .featured-project-link{font-weight:700;text-underline-offset:5px}
.portal-spotlight .case-ctas{margin-top:8px}
@media(max-width:760px){.portal-summary{grid-template-columns:1fr;gap:18px}.portal-side{padding:24px}.portal-side h3{font-size:1.4rem}.portal-architecture{padding:24px}.server-layers{grid-template-columns:1fr;gap:20px}.server-layers li+li::before{content:"↓";left:50%;top:-22px}.portal-heading{margin-bottom:28px}.portal-side .btn{white-space:normal}.portal-architecture-head h3{font-size:1.4rem}}
.anchor-target{top:0;height:0;scroll-margin-top:0}.portal-heading .lead{color:#CFDFDC}

/* Scope-based add-on pricing */
.addon .amt.discuss,.pd-price .amt.discuss{font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2;white-space:normal}
.vq-price #vqPrice{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}
.agency-comparison a{text-underline-offset:3px;color:inherit}
@media(max-width:640px){.sticky-cta{width:calc(100% - 32px);max-width:calc(100% - 32px)}}

/* Victory Rock Capital project highlights and approved client feedback */
.vrc-projects{background:#10282c;color:var(--ivory);border-block:1px solid #345352}
.vrc-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.vrc-heading .eyebrow{color:var(--teal-lt)}.vrc-heading .lead{color:#bfd0cc;font-size:1rem;max-width:39ch}
.vrc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vrc-project{min-width:0;display:flex;flex-direction:column;border:1px solid #4e6962;border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#264b46,#193338 70%)}
.vrc-project:nth-child(2){background:linear-gradient(145deg,#344a49,#192e34 70%)}
.vrc-project-top{display:flex;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid #547068;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#c9d7cc}
.vrc-project-top span:last-child{white-space:nowrap;color:#9ec4b4}
.vrc-project-body{padding:36px 28px 40px;flex:1}.vrc-service{display:inline-block;padding:5px 12px;border:1px solid #698b7f;border-radius:999px;color:#c9e7d7;font-size:.75rem;margin-bottom:26px}
.vrc-project h3{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.15;letter-spacing:-.045em;overflow-wrap:break-word}
.vrc-project p{color:#bfd0cc;margin-top:20px;max-width:36ch;font-size:.94rem;line-height:1.7}
.vrc-project-bottom{border-top:1px solid #4d6862;display:flex;justify-content:space-between;align-items:end;gap:24px;padding:22px 28px;font-size:.72rem;color:#b9ccc3}
.vrc-project-bottom b{font-weight:500;color:#eff4e8}.vrc-project-bottom a{max-width:18ch;line-height:1.5;font-size:.82rem;color:#c8eddb;text-underline-offset:4px;min-height:44px;display:flex;gap:8px;align-items:center}
.client-feedback{background:var(--paper)}.client-quote{position:relative;padding:clamp(24px,5vw,56px);border:1px solid var(--line);border-radius:22px;background:var(--ivory);max-width:960px}
.client-quote blockquote{font-family:var(--head);font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.55;max-width:38ch;margin:0 0 32px;white-space:pre-line}
.client-person{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.client-monogram{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--teal-bg);color:var(--teal);font-weight:700;font-family:var(--head)}
.client-person figcaption{display:grid;gap:2px;font-size:.85rem}.client-person figcaption span{color:var(--muted)}.client-person a{margin-left:auto;color:var(--teal);font-size:.85rem;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
@media(max-width:760px){.vrc-heading,.vrc-grid{grid-template-columns:1fr}.vrc-heading{gap:24px}.vrc-project-top{padding:20px}.vrc-project-body{padding:28px 20px 32px}.vrc-project-bottom{padding:20px;gap:16px}.vrc-project h3{font-size:2rem}.client-person a{margin-left:62px}}

.vrc-brand img{width:270px;height:auto;margin:0 0 24px;max-width:100%}.testimonial-brand{width:290px;max-width:100%;padding:20px;background:#17252b;border-radius:12px;margin-bottom:32px}.testimonial-brand img{width:100%;height:auto}.client-credit{display:grid;gap:2px;font-size:.85rem}.client-credit>span{color:var(--muted)}

.vrc-project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.vrc-project-tags span{border:1px solid #58746b;border-radius:999px;color:#c9e1d3;padding:4px 9px;font-size:.67rem}
.vrc-project .vrc-preview-status{font-size:.75rem;color:#aec6be;margin-top:22px}.testimonial-more{display:inline-block;margin-top:26px}
.client-quote blockquote p{margin:0}.testimonial-profile{font-size:.82rem;text-underline-offset:4px}
@media(min-width:921px) and (max-width:1100px){.nav-links{gap:12px}.nav-links a{font-size:.8rem}.nav .brand{font-size:1.1rem}.nav-links .btn{padding:10px 14px}}
