/* composed.css: generated by port/compose.cjs from the mockup site.css (sha256 91880b7bf6981cf01d84876cd324a5f23330f2ef5b2b76ae16316572261fa859).
   Every rule of site.css is scoped under .cx; html/body state classes stay on html/body. Do not edit by hand. */
/* ==================== cx base: start ==================== */
/* Only what changes pixels when taken out (test/ablate.cjs over all 64 pages at 1440 and 390, test/run.cjs --drop,
   and the interaction states in test/behave.cjs). Written with revert: the browser default for that element. */
/* site.css sizes elements border-box but leaves pseudo elements content-box; the reset made them border-box */
.cx ::before,.cx ::after{box-sizing:revert}
/* headings: the live font, letter spacing, line height and word breaking rules */
.cx :where(h1,h2,h3,h4,h5,h6){font-family:revert;letter-spacing:revert;line-height:revert;overflow-wrap:revert}
/* list markers (the trial checklist on the start page) */
.cx :where(ul,ol,menu){list-style-type:revert}
/* form controls: the browser font, size, line height, colour and radio/checkbox margins */
.cx :where(button,input,optgroup,select,textarea){font-family:revert;font-size:revert;line-height:revert;color:revert;margin:revert}
/* the live site gives every button without a p- or h- class a 44px minimum height. This undoes it at exactly the live
   specificity; every min-height of site.css is repeated right after its rule with .cx.cx.cx in front (two classes more,
   the same for all of them, so their own order is unchanged) and so still wins over this line. */
:where(.cx) button:not([class*=p-]):not([class*=h-]),:where(.cx) [role=button]:not([class*=p-]):not([class*=h-]){min-height:revert}
/* ==================== cx base: end ==================== */
/* ==================== cx page: start ==================== */
/* While a composed page is mounted the host puts .cx-on on <html>. The mockup background and text colour then paint
   the whole viewport (overscroll included); the live grid drawn on body::before is switched off; and <html> goes back
   to overflow:visible so the overflow the mockup sets on body reaches the viewport, as it does in the mockup. */
html.cx-on{background-color:#06060A;color:#EFEAE2;overflow:visible}
html.cx-on body{background-color:transparent;color:inherit}
html.cx-on body::before{content:none}
/* ==================== cx page: end ==================== */
.cx{--obsidian:#06060A;--smoke:#121116;--bone:#EFEAE2;--bone-2:#CFC8BE;--ash:#8C857C;--cream:#F5F3F0;--cream-2:#ECE8E2;--char:#0A0A0B;--ink-2:#5C5852;--ember:#FF4B1A;--gold:#E0A45A;--steel:#B9C6D8;--good:#2FA36B;--serif:"Instrument Serif",Georgia,serif;--sans:"Geist",Inter,system-ui,-apple-system,sans-serif;--mono:"Geist Mono",ui-monospace,Menlo,monospace;--ease:cubic-bezier(.16,1,.3,1);--max:1240px}
.cx,.cx *{box-sizing:border-box}html.cx-on{scroll-behavior:smooth}
.cx{margin:0;background:var(--obsidian);color:var(--bone);font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
html.cx-on body{overflow-x:hidden}
.cx a{color:inherit;text-decoration:none}.cx ::selection{background:var(--ember);color:var(--obsidian)}.cx :focus-visible{outline:1.5px solid var(--ember);outline-offset:4px;border-radius:2px}
.cx h1,.cx h2,.cx h3{text-wrap:balance}.cx button{font-family:inherit}
/* cursor */
.cx .cur,.cx .cur-ring{position:fixed;top:0;left:0;z-index:60;pointer-events:none;border-radius:50%;will-change:transform}
.cx .cur{width:6px;height:6px;background:var(--ember)}.cx .cur-ring{width:34px;height:34px;border:1px solid rgba(140,133,124,.6);transition:width .35s var(--ease),height .35s var(--ease),border-color .35s}
body.cur-hot .cx .cur-ring{width:56px;height:56px;border-color:var(--ember)}
@media (hover:none){.cx .cur,.cx .cur-ring{display:none}}
/* nav */
.cx .sn{position:fixed;top:0;left:0;right:0;z-index:40;background:rgba(6,6,10,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(239,234,226,.08);color:var(--bone)}
.cx .sn-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(18px,3vw,40px)}
.cx .sn-brand{font-family:var(--serif);font-style:italic;font-size:21px}
.cx .sn-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;font-size:13.5px;font-weight:500}
.cx .sn-list>li{position:relative}
.cx .sn-list>li>a,.cx .sn-list>li>button{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;background:transparent;border:0;color:var(--bone-2);cursor:pointer;font:inherit;transition:color .3s,background .3s}
.cx .sn-list>li>a:hover,.cx .sn-list>li>button:hover,.cx .sn-list>li.open>button{color:var(--bone);background:rgba(239,234,226,.08)}
.cx .sn-list>li>button i{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.cx .sn-list>li.open>button i{transform:rotate(225deg) translateY(-1px)}
.cx .dd{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:rgba(14,13,17,.96);border:1px solid rgba(239,234,226,.1);border-radius:16px;padding:8px;box-shadow:0 30px 80px rgba(0,0,0,.5);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);display:grid;gap:2px}
.cx li.open>.dd{opacity:1;transform:none;pointer-events:auto}
.cx .dd a{display:grid;gap:2px;padding:9px 12px;border-radius:10px;transition:background .2s}
.cx .dd a:hover{background:rgba(239,234,226,.07)}
.cx .dd a b{font-weight:600;font-size:13.5px;color:var(--bone)}.cx .dd a small{font-size:12px;color:var(--ash)}
.cx .dd.wide{grid-template-columns:1fr 1fr;min-width:520px}
.cx .sn-cta{margin-left:6px}.cx .sn-go{background:var(--ember)!important;color:var(--obsidian)!important;font-weight:600!important}
.cx .sn-burger{display:none;width:40px;height:40px;border:0;background:transparent;cursor:pointer;padding:8px;flex-direction:column;justify-content:center;gap:6px}
.cx .sn-burger span{display:block;height:1.5px;background:var(--bone);transition:transform .3s,opacity .3s}
@media (max-width:1320px) and (min-width:1101px){.cx .sn-list{font-size:13px}.cx .sn-list>li>a,.cx .sn-list>li>button{padding:9px 9px}}
@media (max-width:1100px){
  .cx .sn-burger{display:flex}
  .cx .sn-list{position:absolute;top:100%;left:0;right:0;height:calc(100vh - 100%);height:calc(100dvh - 100%);flex-direction:column;align-items:stretch;gap:0;background:#06060A;padding:12px 18px 60px;overflow:auto;display:none;-webkit-overflow-scrolling:touch}
  html.cx-on body.menu-open{overflow:hidden}
  .cx .sn.open .sn-list{display:flex}
  .cx .sn.open .sn-burger span:first-child{transform:translateY(3.75px) rotate(45deg)}.cx .sn.open .sn-burger span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .cx .sn-list>li>a,.cx .sn-list>li>button{width:100%;justify-content:space-between;padding:16px 6px;font-size:17px;border-radius:0;border-bottom:1px solid rgba(239,234,226,.08);background:transparent!important}
  .cx .dd{position:static;min-width:0;opacity:1;transform:none;pointer-events:auto;display:none;background:transparent;border:0;box-shadow:none;padding:4px 0 10px 12px;border-left:1px solid rgba(255,75,26,.35);margin:0 0 6px 4px}
  .cx li.open>.dd{display:grid}.cx .dd.wide{grid-template-columns:1fr}
  .cx .sn-cta{margin:14px 0 0}.cx .sn-go{justify-content:center!important}
}
/* sections */
.cx .sec{position:relative;z-index:2;padding:clamp(64px,8vw,104px) clamp(18px,3vw,40px)}
.cx .sec.cx-dark{background:var(--obsidian);color:var(--bone);--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.12);--surf:rgba(255,255,255,.035);--surf2:rgba(255,255,255,.07)}
.cx .sec.light{background:var(--cream);color:var(--char);--ink:var(--char);--ink2:var(--ink-2);--line:rgba(10,10,11,.1);--surf:#FFFFFF;--surf2:rgba(10,10,11,.04)}
.cx .sec.clear{background:var(--obsidian);color:var(--bone);--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.12);--surf:rgba(255,255,255,.035);--surf2:rgba(255,255,255,.07)}
.cx .in{max-width:var(--max);margin:0 auto}.cx .in.narrow{max-width:760px}
.cx .cx-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);display:flex;align-items:center;gap:12px;justify-content:center}
.cx .t{margin:14px 0 0;font-weight:600;font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.035em;text-align:center}
.cx .t em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--ember);font-size:1.08em}
.cx .lead{margin:18px auto 0;max-width:62ch;text-align:center;color:var(--ink2);font-size:clamp(16px,1.25vw,19px)}
.cx .pill{display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border-radius:999px;background:var(--ember);color:var(--obsidian);font-weight:600;font-size:15px;border:0;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s}
.cx .pill:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(255,75,26,.35)}
.cx .pill.ghost{background:transparent;color:var(--ink,var(--bone));border:1px solid var(--line,rgba(239,234,226,.2))}.cx .pill.ghost:hover{box-shadow:none;border-color:var(--ember)}
.cx .ctas{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:30px}
.cx .r{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.cx .r.in-view{opacity:1;transform:none}
.cx .r.d1{transition-delay:.08s}.cx .r.d2{transition-delay:.16s}.cx .r.d3{transition-delay:.24s}html.nojs .cx .r{opacity:1;transform:none}
.cx .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .ptxt{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
/* page hero */
.cx .hero-p{padding-top:clamp(140px,20vh,220px);padding-bottom:clamp(56px,7vw,90px);position:relative;overflow:hidden}
.cx .hero-p.film::before{content:"";position:absolute;inset:0;background:url(/composed/hero.jpg) center/cover;opacity:.55;filter:brightness(.7) saturate(1.1)}
.cx .hero-p.film::after{content:"";position:absolute;inset:0;background:radial-gradient(85% 75% at 62% 48%,transparent 10%,rgba(6,6,10,.55) 60%,var(--obsidian) 100%),linear-gradient(180deg,rgba(6,6,10,.4),transparent 30%,transparent 60%,var(--obsidian))}
.cx .hero-p.cx-dark:not(.film)::before{content:"";position:absolute;inset:0;background:url(/composed/hero.jpg) center/cover;opacity:.22;filter:brightness(.6) saturate(1.1)}
.cx .hero-p.cx-dark:not(.film)::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 40%,transparent 20%,var(--obsidian) 100%),linear-gradient(180deg,rgba(6,6,10,.4),transparent 30%,transparent 60%,var(--obsidian))}
.cx .hero-p .in{position:relative;z-index:1}
.cx .hero-p .eb{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);display:flex;gap:14px;align-items:center}
.cx .hero-p .eb::before{content:"";width:28px;height:1px;background:var(--ember)}
.cx .hero-p h1{margin:22px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(52px,8.6vw,124px);line-height:.94;letter-spacing:-.035em;max-width:14ch}
.cx .hero-p h1 em{font-style:italic;color:var(--ember)}
.cx .hero-p .lede-l{margin:22px 0 0;max-width:58ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--bone-2)}
.cx .hstats{display:flex;gap:clamp(20px,4vw,56px);margin-top:44px;flex-wrap:wrap}
.cx .hstats div{display:grid;gap:4px}.cx .hstats b{font-weight:600;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1}.cx .hstats span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
/* modes */
.cx .modes{display:inline-flex;gap:6px;padding:5px;border-radius:999px;background:rgba(239,234,226,.08);border:1px solid rgba(239,234,226,.12);margin-top:26px}
.cx .modes button{border:0;background:transparent;color:var(--bone-2);font:500 13px var(--sans);padding:10px 16px;border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center;transition:background .3s,color .3s}
.cx .modes button small{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:rgba(239,234,226,.12)}
.cx .modes button.on{background:var(--bone);color:var(--obsidian)}.cx .modes button.on small{background:var(--ember);color:var(--obsidian)}
.cx .managed-only{display:none}body.mode-managed .cx .managed-only{display:initial}body.mode-managed .cx .diy-only{display:none}
/* journey cards */
.cx .journey{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.cx .jc{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:12px;color:var(--ink);transition:transform .5s var(--ease),box-shadow .5s}
.cx .jc:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(10,10,11,.1)}
.cx .jc h3{margin:0;font-weight:600;font-size:24px;letter-spacing:-.025em;line-height:1.1}.cx .jc .who{color:var(--ink2);font-size:15px}
.cx .jc ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14px}.cx .jc ul li{display:flex;gap:10px;align-items:flex-start}.cx .jc ul li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);flex:0 0 6px;margin-top:8px}
.cx .jc .price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--ink2);gap:10px;flex-wrap:wrap}
.cx .jc .price b{font-weight:600;color:var(--ink);font-size:18px;letter-spacing:-.02em}.cx .jc .price .lnk{color:var(--ember);font-weight:600}
@media (max-width:900px){.cx .journey{grid-template-columns:1fr}}
/* bento + cells */
.cx .bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,auto);gap:12px;margin-top:44px}
.cx .cell{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0;position:relative;overflow:hidden}
.cx .cell .cap,.cx .card .cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cx .cell .cap b,.cx .card .cap b{font-weight:600;font-size:15px;letter-spacing:-.01em}.cx .cell .cap span,.cx .card .cap span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);text-align:right}
.cx .cell .foot{font-size:13px;color:var(--ink2)}
.cx .cbody{min-width:0}.cx .chart{position:relative;min-height:120px}.cx.cx.cx .chart{min-height:120px}.cx .chart svg{width:100%;height:100%;display:block;overflow:visible}
.cx .c-a{grid-column:span 7;grid-row:span 2}.cx .c-b{grid-column:span 5}.cx .c-c{grid-column:span 4}.cx .c-d{grid-column:span 4}.cx .c-e{grid-column:span 5}.cx .c-h{grid-column:span 6}
@media (max-width:1000px){.cx .c-a{grid-column:span 12}.cx .c-b,.cx .c-c,.cx .c-d,.cx .c-e,.cx .c-h{grid-column:span 6}}@media (max-width:640px){.cx .c-b,.cx .c-c,.cx .c-d,.cx .c-e,.cx .c-h{grid-column:span 12}}
.cx .big{font-weight:600;font-size:clamp(36px,3.6vw,54px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;padding:8px 0}
.cx .tip{position:absolute;pointer-events:none;font-family:var(--mono);font-size:11px;padding:6px 9px;border-radius:8px;transform:translate(-50%,-130%);white-space:nowrap;opacity:0;transition:opacity .15s;background:var(--ink);color:var(--surf)}
.cx .sec.cx-dark .tip{background:var(--bone);color:var(--obsidian)}.cx .sec.light .tip{background:var(--char);color:var(--cream)}.cx .tip.on{opacity:1}
.cx .grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;aspect-ratio:1;max-width:220px;margin:0 auto}
.cx .grid7 i{border-radius:5px;display:grid;place-items:center;font-family:var(--mono);font-style:normal;font-size:10px;background:var(--surf2);color:var(--ink2);opacity:0;transform:scale(.5);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.cx .grid7 i.on{opacity:1;transform:none}.cx .grid7 i.top{background:#45D08C;color:var(--obsidian);font-weight:600}.cx .grid7 i.mid{background:#F4D35E;color:var(--obsidian)}.cx .grid7 i.low{background:#EE8434;color:var(--obsidian)}.cx .grid7 i.far{background:#B92D2A;color:#FFFFFF} /* rank colors: green is winning, then yellow, orange, red */
.cx .cmp{display:grid;gap:10px}.cx .cmp>div{display:grid;grid-template-columns:150px 1fr 74px;gap:12px;align-items:center;font-size:14px}
.cx .cmp .bar{height:10px;border-radius:5px;background:var(--surf2);overflow:hidden}.cx .cmp .bar i{display:block;height:100%;width:0;background:var(--ink2);border-radius:5px;transition:width 1s var(--ease)}
.cx .cmp>div:last-child .bar i,.cx .cmp>div.us .bar i{background:var(--ember)}.cx .cmp .v{font-family:var(--mono);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:520px){.cx .cmp>div{grid-template-columns:100px 1fr 64px}}
.cx .brief{font-size:15px;line-height:1.55}.cx .brief .from{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.cx .brief .from i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffb08a,var(--ember) 55%,#9E2A0B);display:block}
.cx .brief .acts{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.cx .brief .acts span,.cx .approve-line span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink)}
.cx .brief .acts span:first-child,.cx .approve-line span.y{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
.cx .approve-line{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:36px;align-items:center;color:var(--ink2);font-size:14px}
.cx .phone{display:grid;gap:8px}.cx .msg{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.45}.cx .msg.in{background:var(--surf2);border-bottom-left-radius:4px}.cx .msg.out{background:var(--ember);color:var(--obsidian);margin-left:auto;border-bottom-right-radius:4px}
.cx .stamp{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);text-align:right}
.cx .hand{display:grid;gap:10px;font-size:14px}.cx .hand>div{display:grid;grid-template-columns:44px 1fr;gap:10px;color:var(--ink2)}.cx .hand time{font-family:var(--mono);font-size:10px;letter-spacing:.12em;padding-top:4px}.cx .hand b{color:var(--ink);font-weight:600}
/* two-col, lists, steps, faq */
.cx .two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:44px;align-items:start}@media (max-width:900px){.cx .two{grid-template-columns:1fr}}
.cx .cards{display:grid;gap:12px}.cx .card{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:20px 22px;min-width:0}.cx .card .cap{margin-bottom:10px}
.cx .list{display:grid}.cx .list>div{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:15px}.cx .list>div:last-child{border-bottom:1px solid var(--line)}
.cx .list svg{width:18px;height:18px;margin-top:3px}.cx .list b{font-weight:600;display:block}.cx .list span{color:var(--ink2);font-size:14px}
.cx .pcard{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:26px;display:grid;gap:14px;position:sticky;top:90px}
.cx .pcard .pp b{font-weight:600;font-size:44px;letter-spacing:-.04em;line-height:1}.cx .pcard .pp small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-top:6px}.cx .pcard p{margin:0;color:var(--ink2);font-size:14px}
.cx .steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:s}
.cx .steps li{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:8px;align-content:start;counter-increment:s}
.cx .steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember)}
.cx .steps b{font-weight:600;font-size:18px;letter-spacing:-.02em}.cx .steps span{font-size:14px;color:var(--ink2)}
@media (max-width:900px){.cx .steps{grid-template-columns:1fr 1fr}}@media (max-width:520px){.cx .steps{grid-template-columns:1fr}}
.cx .faq{margin-top:36px;max-width:820px;margin-inline:auto;border-top:1px solid var(--line)}
.cx .faq details{border-bottom:1px solid var(--line)}.cx .faq summary{cursor:pointer;padding:18px 0;font-weight:600;font-size:17px;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:20px}
.cx .faq summary::after{content:"+";color:var(--ember);font-weight:400;font-size:22px;line-height:1}.cx .faq details[open] summary::after{content:"–"}.cx .faq p{margin:0 0 18px;color:var(--ink2);max-width:62ch}
.cx .proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.cx .pn{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--surf)}.cx .pn b{display:block;font-weight:600;font-size:clamp(38px,4vw,58px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.cx .pn p{margin:10px 0 0;color:var(--ink2);font-size:14px}.cx .pn .who{margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
@media (max-width:900px){.cx .proof{grid-template-columns:1fr}}
/* posts, tools, timeline, cities */
.cx .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.cx .post{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:10px;align-content:start;color:var(--ink);transition:transform .4s var(--ease)}
.cx a.post:hover{transform:translateY(-3px)}.cx .post b{font-weight:600;font-size:19px;letter-spacing:-.02em;line-height:1.2}.cx .post .more{color:var(--ember);font-weight:600;font-size:13px}
@media (max-width:900px){.cx .posts{grid-template-columns:1fr}}
.cx .tool{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:8px}
.cx .tool label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-top:8px;display:flex;justify-content:space-between}
.cx .tool input[type=text],.cx .tool input[type=email],.cx .tool input[type=password],.cx .tool select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:400 20px var(--sans);padding:8px 0 10px;outline:none}
.cx .tool input:focus,.cx .tool select:focus{border-color:var(--ember)}.cx .tool input::placeholder{color:var(--ink2)}
.cx .tool input[type=range]{width:100%;accent-color:var(--ember)}.cx .tool .pill{margin-top:16px;justify-content:center}.cx .tool .tag{margin-top:10px;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:13px}
.cx .tool .tl{margin:0;padding:0 0 0 18px;color:var(--ink);font-size:15px;display:grid;gap:8px}
.cx .timeline{list-style:none;margin:44px auto 0;padding:0;max-width:820px;display:grid}
.cx .timeline li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line);font-size:16px}.cx .timeline li:last-child{border-bottom:1px solid var(--line)}
.cx .timeline time{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);padding-top:5px}.cx .timeline b{font-weight:600}
@media (max-width:520px){.cx .timeline li{grid-template-columns:1fr;gap:6px}}
.cx .cities{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none;margin:40px 0 0;padding:0}
.cx .cities li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(22px,2.2vw,30px)}
.cx .cities li small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}.cx .cities li.hq{color:var(--ember);font-style:italic}
@media (max-width:520px){.cx .cities{grid-template-columns:1fr}}
/* table */
.cx .cx-table{margin-top:40px;overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--surf)}
.cx table{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}.cx th,.cx td{padding:13px 18px;text-align:left;border-top:1px solid var(--line);vertical-align:middle;color:var(--ink)}
.cx thead th{border-top:0;font-weight:600;font-size:15px;padding-top:20px;padding-bottom:16px}.cx th:first-child{width:32%;color:var(--ink2);font-weight:500}.cx td.hi{font-weight:500}.cx td .ok{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,75,26,.14);color:var(--ember)}
.cx tr.price td{font-weight:600;font-size:18px}.cx tr.price td small{display:block;font-weight:400;font-size:12px;color:var(--ink2)}
/* crew */
.cx .crew{display:grid;grid-template-columns:repeat(9,1fr);gap:8px;margin-top:52px;align-items:end}.cx .crew.small{margin-top:0;gap:4px}
.cx .ch{position:relative;display:grid;justify-items:center;gap:8px;padding:14px 4px;border-radius:18px;transition:background .4s;cursor:default}
.cx .ch:hover,.cx .ch.talk{background:var(--surf2)}.cx .ch svg{width:100%;max-width:118px;height:auto;overflow:visible;animation:cx-float 5s ease-in-out infinite;transition:transform .5s var(--ease)}
.cx .crew.small .ch svg{max-width:64px}.cx .crew.small .ch .nm{font-size:12px}.cx .crew.small .ch .role{display:none}.cx .crew.small .ch .bub{display:none}
.cx .ch:hover svg,.cx .ch.talk svg{transform:scale(1.07)}.cx .ch .head{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease)}
.cx .ch .nm{font-weight:600;font-size:15px}.cx .ch .role{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);text-align:center}
.cx .ch .pup{transition:r .25s}.cx .ch:hover .pup,.cx .ch.talk .pup{r:5}
.cx .ch .brow{transform-box:fill-box;transform-origin:center;transition:transform .35s var(--ease);opacity:.9}.cx .ch:hover .brow.l,.cx .ch.talk .brow.l{transform:translateY(-3px) rotate(-8deg)}.cx .ch:hover .brow.r,.cx .ch.talk .brow.r{transform:translateY(-3px) rotate(8deg)}
.cx .ch .happy{display:none}.cx .ch.yay .happy{display:block}.cx .ch.yay .eyeball,.cx .ch.yay .pup,.cx .ch.yay .lid{display:none}.cx .ch.yay svg{animation:yay .8s var(--ease) 1}
@keyframes yay{0%{transform:scale(1.07)}30%{transform:scale(1.16) translateY(-10px) rotate(-4deg)}60%{transform:scale(1.03) rotate(3deg)}100%{transform:scale(1.07)}}
.cx .ch .lid{transform-origin:center;transform-box:fill-box;animation:blinkLid 5.2s ease-in-out infinite}@keyframes blinkLid{0%,92%,100%{transform:scaleY(0)}95%{transform:scaleY(1)}}@keyframes cx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.cx .tic{transform-box:fill-box;transform-origin:center}.cx .gleam{animation:gleam 4.5s ease-in-out infinite}@keyframes gleam{0%,78%,100%{opacity:0}86%{opacity:1}}
.cx .scan{animation:scan 2.6s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateX(-16px)}50%{transform:translateX(16px)}}
.cx .drop{animation:drop 3.4s ease-in infinite}@keyframes drop{0%{transform:translateY(0);opacity:0}12%{opacity:1}82%{transform:translateY(26px);opacity:1}100%{transform:translateY(30px);opacity:0}}
.cx .haloring{animation:halo 3.2s ease-in-out infinite}@keyframes halo{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}
.cx .beacon{animation:beacon 1.6s steps(1) infinite}@keyframes beacon{0%,55%{opacity:1}56%,100%{opacity:.2}}.cx .ping{animation:cx-ping 2.8s ease-out infinite}@keyframes cx-ping{0%{transform:scale(.5);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.cx .miclight{animation:beacon 1.1s steps(1) infinite}.cx .dial{animation:dial 7s ease-in-out infinite}@keyframes dial{0%,25%{transform:rotate(0)}45%{transform:rotate(210deg)}65%,100%{transform:rotate(360deg)}}
.cx .glint{animation:glint 5.5s ease-in-out infinite}@keyframes glint{0%,70%,100%{opacity:0;transform:translateX(-34px) skewX(-20deg)}84%{opacity:.55;transform:translateX(34px) skewX(-20deg)}}
.cx .hexpulse{animation:hexpulse 3s ease-in-out infinite}@keyframes hexpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.cx .spark{position:absolute;left:50%;top:38%;width:7px;height:7px;border-radius:50%;background:var(--ember);pointer-events:none;z-index:6}
.cx .ch .bub{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translate(-50%,6px);width:250px;background:var(--char);color:var(--cream);font-size:13px;line-height:1.45;padding:11px 13px 12px;border-radius:14px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);z-index:5;text-align:left;box-shadow:0 18px 50px rgba(10,10,11,.25)}
.cx .sec.cx-dark .ch .bub{background:var(--bone);color:var(--obsidian)}.cx .sec.cx-dark .ch .bub::after{background:var(--bone)}.cx .sec.cx-dark .bub .bh b{color:var(--obsidian)}.cx .sec.cx-dark .bub .bh{color:rgba(10,10,11,.55)}.cx .sec.cx-dark .bub .ba button{color:var(--obsidian);border-color:rgba(10,10,11,.25)}
.cx .ch .bub::after{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;background:var(--char);transform:translate(-50%,-50%) rotate(45deg)}
.cx .ch.talk .bub{opacity:1;transform:translate(-50%,-6px);pointer-events:auto}
.cx .ch:nth-child(1) .bub,.cx .ch:nth-child(2) .bub{left:0;transform:translate(0,6px)}.cx .ch:nth-child(1).talk .bub,.cx .ch:nth-child(2).talk .bub{transform:translate(0,-6px)}.cx .ch:nth-child(1) .bub::after,.cx .ch:nth-child(2) .bub::after{left:44px}
.cx .ch:nth-child(8) .bub,.cx .ch:nth-child(9) .bub{left:auto;right:0;transform:translate(0,6px)}.cx .ch:nth-child(8).talk .bub,.cx .ch:nth-child(9).talk .bub{transform:translate(0,-6px)}.cx .ch:nth-child(8) .bub::after,.cx .ch:nth-child(9) .bub::after{left:auto;right:44px}
.cx .bub .bh{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,243,240,.55);margin-bottom:6px}
.cx .bub .bh b{color:var(--cream);font-weight:500;display:flex;align-items:center;gap:6px}.cx .bub .bh b i{width:7px;height:7px;border-radius:50%;background:var(--ember);display:inline-block}
.cx .bub .bt{min-height:2.9em}
.cx.cx.cx .bub .bt{min-height:2.9em}.cx .bub .bt::after{content:"";display:inline-block;width:6px;height:13px;background:var(--ember);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}.cx .bub.done .bt::after{display:none}@keyframes blink{50%{opacity:0}}
.cx .bub .dots{display:none;gap:4px;padding:8px 0 6px}.cx .bub .dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;animation:dot 1s infinite}.cx .bub .dots i:nth-child(2){animation-delay:.15s}.cx .bub .dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cx .bub.typing .dots{display:flex}.cx .bub.typing .bt,.cx .bub.typing .ba{display:none}
.cx .bub .ba{display:none;gap:6px;margin-top:9px}.cx .bub.ask.done .ba{display:flex}.cx .bub .ba button{font:600 11px var(--sans);border:1px solid rgba(245,243,240,.25);background:transparent;color:var(--cream);border-radius:999px;padding:6px 11px;cursor:pointer}.cx .bub .ba .ok{background:var(--ember)!important;border-color:var(--ember)!important;color:var(--obsidian)!important}
@media (max-width:1000px){.cx .crew{grid-template-columns:repeat(3,1fr)}.cx .ch .bub{width:210px}.cx .ch:nth-child(n) .bub{left:50%;right:auto;transform:translate(-50%,6px)}.cx .ch:nth-child(n).talk .bub{transform:translate(-50%,-6px)}.cx .ch:nth-child(n) .bub::after{left:50%;right:auto}.cx .ch:nth-child(3n+1) .bub{left:0;transform:translate(0,6px)}.cx .ch:nth-child(3n+1).talk .bub{transform:translate(0,-6px)}.cx .ch:nth-child(3n+1) .bub::after{left:44px}.cx .ch:nth-child(3n) .bub{left:auto;right:0;transform:translate(0,6px)}.cx .ch:nth-child(3n).talk .bub{transform:translate(0,-6px)}.cx .ch:nth-child(3n) .bub::after{left:auto;right:44px}}
/* console */
.cx .console{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surf);--acc:var(--steel)}
.cx .cbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .cbar .brandname{font-family:var(--serif);font-style:italic;font-size:17px;text-transform:none;letter-spacing:0;color:var(--ink)}.cx .cbar .brandname::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);margin-right:9px;vertical-align:1px}
.cx .cbody{padding:16px 18px;display:grid;gap:12px}.cx .q{font-family:var(--serif);font-size:20px}.cx .q::before{content:"› ";color:var(--acc)}
.cx .crow{display:grid;grid-template-columns:120px 1fr 64px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px;opacity:0;transform:translateX(-6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.cx .crow.on{opacity:1;transform:none}
.cx .crow .b{height:4px;background:var(--surf2);border-radius:2px;overflow:hidden}.cx .crow .b i{display:block;height:100%;width:0;background:var(--acc);transition:width .9s var(--ease)}.cx .crow.bad .b i{background:var(--ember)}.cx .crow .d{font-family:var(--mono);font-size:11px;text-align:right}.cx .crow.bad .d{color:var(--ember)}
.cx .rebrand{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding-top:6px}.cx .rebrand input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-style:italic;font-size:20px;padding:4px 0 8px;outline:none}.cx .rebrand input::placeholder{color:var(--ink2)}
.cx .sw{display:flex;gap:8px}.cx .sw button{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.cx .sw button.on{border-color:var(--ink)}
/* product window */
.cx .win{margin-top:44px;border:1px solid rgba(239,234,226,.12);border-radius:22px;background:#0B0B0F;color:var(--bone);--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.12);--surf:rgba(255,255,255,.04);--surf2:rgba(255,255,255,.08);overflow:hidden;box-shadow:0 50px 120px rgba(0,0,0,.6);display:grid;grid-template-columns:220px minmax(0,1fr);min-height:520px}
.cx.cx.cx .win{min-height:520px}
.cx .win .tip{background:var(--bone)!important;color:var(--obsidian)!important}.cx .win .kpi b{color:var(--bone)}.cx .win .cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.cx .win .cap b{font-weight:600;font-size:15px}.cx .win .cap span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.cx .win .side{border-right:1px solid rgba(239,234,226,.08);padding:16px 14px;display:grid;align-content:start;gap:6px;font-size:13px;color:var(--bone-2)}
.cx .win .side .wb{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--bone);padding:4px 8px 12px}.cx .win .side .wl{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);padding:10px 8px 4px}
.cx .win .side a{padding:8px 10px;border-radius:9px;display:flex;justify-content:space-between;align-items:center}.cx .win .side a.on{background:rgba(239,234,226,.08);color:var(--bone)}.cx .win .side a i{width:16px;height:16px;border-radius:50%;background:var(--ember);opacity:.85}
.cx .win .main{padding:16px 20px 20px;display:grid;gap:14px;align-content:start;min-width:0}
.cx .win .crumbs{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.cx .win .tabs{display:flex;gap:4px;flex-wrap:wrap}.cx .win .tabs span{padding:8px 12px;border-radius:9px;font-size:13px;color:var(--bone-2)}.cx .win .tabs span.on{background:rgba(239,234,226,.1);color:var(--bone)}
.cx .win .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cx .win .kpi{border:1px solid rgba(239,234,226,.1);border-radius:14px;padding:12px 14px}.cx .win .kpi small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}.cx .win .kpi b{font-weight:600;font-size:22px;letter-spacing:-.03em;display:block;margin-top:4px}.cx .win .kpi b i{font-style:normal;font-size:12px;color:var(--good);margin-left:6px}
.cx .win .wchart{border:1px solid rgba(239,234,226,.1);border-radius:14px;padding:14px;--ink:var(--bone);--ink2:var(--ash);--surf:rgba(255,255,255,.04);--surf2:rgba(255,255,255,.08)}
.cx .win .wbrief{border:1px solid rgba(239,234,226,.1);border-radius:14px;padding:14px;--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.12)}
@media (max-width:900px){.cx .win{grid-template-columns:1fr}.cx .win .side{display:none}.cx .win .kpis{grid-template-columns:1fr 1fr}}
/* marketplace */
.cx .market{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.cx .mk{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:10px;align-content:start}
.cx .mk .mkt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.cx .mk b{font-weight:600;font-size:17px;letter-spacing:-.02em}.cx .mk .mkc{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .mk p{margin:0;font-size:13.5px;color:var(--ink2)}.cx .mk .rows{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:10px;font-size:13px}.cx .mk .rows div{display:flex;justify-content:space-between}.cx .mk .rows div:last-child{font-weight:600;color:var(--ember)}
@media (max-width:1000px){.cx .market{grid-template-columns:1fr 1fr}}@media (max-width:560px){.cx .market{grid-template-columns:1fr}}
.cx .stmt{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:10px;font-variant-numeric:tabular-nums}
.cx .stmt .sh{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--line);padding-bottom:12px}
.cx .stmt .sr{display:grid;grid-template-columns:1fr auto auto;gap:14px;font-size:14px;padding:6px 0}.cx .stmt .sr span:not(:first-child){font-family:var(--mono);font-size:12px;text-align:right}.cx .stmt .sr.tot{border-top:1px solid var(--line);padding-top:12px;font-weight:600}.cx .stmt .sr.tot span:last-child{color:var(--ember)}
.cx .split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}.cx .split>div{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px}.cx .split h3{margin:0 0 6px;font-weight:600;font-size:22px;letter-spacing:-.025em}.cx .split .who{color:var(--ink2);font-size:14px;margin-bottom:14px}
@media (max-width:900px){.cx .split{grid-template-columns:1fr}}
/* start */
.cx .start{padding-top:clamp(120px,16vh,180px);min-height:100svh}
.cx.cx.cx .start{min-height:100svh}.cx .prog{height:2px;background:var(--line);margin:22px 0 34px;border-radius:2px;overflow:hidden}.cx .prog i{display:block;height:100%;width:33%;background:var(--ember);transition:width .6s var(--ease)}
.cx .step{display:none}.cx .step.on{display:block}.cx .step .t{text-align:left}.cx .step .lead{margin-left:0;text-align:left}
.cx .doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.cx .door{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:20px;text-align:left;cursor:pointer;display:grid;gap:4px;color:var(--ink);font:inherit;transition:border-color .3s,transform .3s var(--ease)}
.cx .door.on{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember)}.cx .door:hover{transform:translateY(-2px)}.cx .door b{font-weight:600;font-size:17px}.cx .door span{font-size:13px;color:var(--ink2)}
.cx .step .doors.two-up{grid-template-columns:1fr 1fr}@media (max-width:760px){.cx .doors,.cx .step .doors.two-up{grid-template-columns:1fr}}
.cx .row{margin-top:18px}.cx .chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink2)}.cx .chk input{accent-color:var(--ember);margin-top:4px}
.cx .checklist-m{margin-top:18px}
/* closing + footer */
.cx .close{min-height:60svh;display:grid;align-content:center;justify-items:center;text-align:center;gap:22px}
.cx.cx.cx .close{min-height:60svh}
.cx .close h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(52px,9vw,140px);line-height:.9;letter-spacing:-.04em}.cx .close h2 em{font-style:italic;color:var(--ember)}.cx .close p{margin:0;max-width:52ch;color:var(--bone-2);font-size:clamp(16px,1.3vw,20px)}.cx .close .ctas{justify-content:center;margin-top:8px}
.cx .sf{position:relative;z-index:2;background:var(--obsidian);border-top:1px solid rgba(239,234,226,.1);padding:44px clamp(18px,3vw,40px) 30px;color:var(--bone)}
.cx .sf-in{max-width:var(--max);margin:0 auto}.cx .sf-cols{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:28px}
.cx .sf-brand{font-family:var(--serif);font-style:italic;font-size:26px}.cx .sf-brand small{display:block;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin-top:10px;line-height:1.9}
.cx .sf h4{margin:0 0 10px;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}.cx .sf ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:13.5px;color:var(--bone-2)}.cx .sf ul a:hover{color:var(--ember)}
.cx .sf-base{margin-top:34px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;border-top:1px solid rgba(239,234,226,.1);font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
@media (max-width:900px){.cx .sf-cols{grid-template-columns:1fr 1fr}}@media (max-width:520px){.cx .sf-cols{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cx,.cx *{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}.cx .r{opacity:1;transform:none}}
/* rich blocks */
.cx .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}.cx .trio>div{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:10px;align-content:start}.cx .trio .tag{color:var(--ember)}.cx .trio h3{margin:0;font-weight:600;font-size:22px;letter-spacing:-.025em;line-height:1.15}.cx .trio p{margin:0;color:var(--ink2);font-size:15px}
.cx .features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}.cx .ft{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:20px 22px;display:grid;gap:6px;align-content:start}.cx .ft b{font-weight:600;font-size:16px;letter-spacing:-.015em}.cx .ft p{margin:0;color:var(--ink2);font-size:14px;line-height:1.5}.cx .ft small{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.cx .night{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cx .night li{border-top:2px solid var(--line);padding:16px 4px 0;display:grid;gap:6px;align-content:start;position:relative}.cx .night li::before{content:"";position:absolute;top:-2px;left:0;width:34px;height:2px;background:var(--ember)}.cx .night time{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}.cx .night b{font-weight:600;font-size:15px}.cx .night span{font-size:14px;color:var(--ink2)}
.cx .agent{display:grid;grid-template-columns:220px 1fr;gap:clamp(24px,4vw,56px);margin-top:44px;align-items:center;background:var(--surf);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,40px)}.cx .ag-bot svg{width:100%;max-width:200px;height:auto;overflow:visible;animation:cx-float 5s ease-in-out infinite}.cx .ag-body h3{margin:6px 0 0;font-weight:600;font-size:34px;letter-spacing:-.03em}.cx .ag-line{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:-.01em;margin:12px 0 18px;color:var(--ink)}.cx .ag-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cx .ag-cols b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-bottom:8px}.cx .ag-cols ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink2)}
.cx .chips2{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.cx .chips2 span{font-size:14px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surf);color:var(--ink)}.cx .chips2 span.soon{color:var(--ink2);border-style:dashed}
.cx .personas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}.cx .persona{background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:10px;align-content:start}.cx .persona h3{margin:0;font-weight:600;font-size:20px;letter-spacing:-.02em}.cx .persona p{margin:0;color:var(--ink2);font-size:14px}.cx .persona b{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);font-weight:500}
.cx .related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.cx .rel{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:20px 22px;display:grid;gap:6px;color:var(--ink);transition:transform .4s var(--ease)}.cx .rel:hover{transform:translateY(-3px)}.cx .rel b{font-weight:600;font-size:17px;letter-spacing:-.02em}.cx .rel span{color:var(--ink2);font-size:14px}.cx .rel i{font-style:normal;color:var(--ember);font-weight:600;font-size:13px;margin-top:6px}
.cx .season{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:40px;align-items:end}.cx .season div{display:grid;gap:8px;justify-items:center}.cx .season i{display:block;width:100%;border-radius:6px 6px 3px 3px;background:var(--ember);opacity:.85;min-height:8px}.cx.cx.cx .season i{min-height:8px}.cx .season small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}.cx .season span{font-size:12px;color:var(--ink2);text-align:center;min-height:2.6em;line-height:1.3}.cx.cx.cx .season span{min-height:2.6em}
.cx .tbl th:first-child{width:22%}.cx .tbl td{font-size:14px}.cx .tbl td.y{color:var(--ember);font-weight:600}
.cx .tag.mid{margin-top:10px}
@media (max-width:900px){.cx .trio,.cx .features,.cx .personas,.cx .related{grid-template-columns:1fr}.cx .night{grid-template-columns:1fr 1fr}.cx .agent{grid-template-columns:1fr}.cx .ag-cols{grid-template-columns:1fr}.cx .season{grid-template-columns:repeat(6,1fr)}}
@media (max-width:520px){.cx .night{grid-template-columns:1fr}.cx .season{grid-template-columns:repeat(4,1fr)}}
/* light home hero */
.cx .hero-l{padding-top:clamp(140px,18vh,200px);padding-bottom:clamp(40px,6vw,72px);background:var(--cream);color:var(--char);--ink:var(--char);--ink2:var(--ink-2);--line:rgba(10,10,11,.1);--surf:#FFFFFF;--surf2:rgba(10,10,11,.04);position:relative;overflow:hidden}
.cx .hero-l::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60%;height:120%;background:radial-gradient(closest-side,rgba(255,75,26,.16),transparent 70%);pointer-events:none}
.cx .hero-l .in{position:relative}
.cx .hero-l .eb{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);display:flex;gap:14px;align-items:center}.cx .hero-l .eb::before{content:"";width:28px;height:1px;background:var(--ember)}
.cx .hero-l h1{margin:22px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(46px,7.4vw,104px);line-height:.98;letter-spacing:-.03em;max-width:16ch}.cx .hero-l h1 em{font-style:italic;color:var(--ember)}
.cx .hero-l .lede-l{margin:22px 0 0;max-width:58ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--ink-2)}
.cx .hero-l .hstats{border-top:1px solid var(--line);padding-top:26px;margin-top:40px}.cx .hero-l .hstats span{color:var(--ink-2)}
.cx .logos{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:center;margin-top:34px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.cx .svc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.cx .svc a{background:var(--surf);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:8px;color:var(--ink);transition:transform .4s var(--ease),box-shadow .4s}.cx .svc a:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(10,10,11,.08)}.cx .svc b{font-weight:600;font-size:18px;letter-spacing:-.02em}.cx .svc span{color:var(--ink2);font-size:14px;line-height:1.5}.cx .svc i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);margin-top:4px}
.cx .svc.four{grid-template-columns:repeat(4,1fr)}
.cx .linklist{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px;margin-top:36px}.cx .linklist a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:15.5px}.cx .linklist a small{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}.cx .linklist a:hover{color:var(--ember)}
.cx .why{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}.cx .why div{padding:22px;border-top:2px solid var(--ember);display:grid;gap:8px;align-content:start}.cx .why b{font-weight:600;font-size:18px;letter-spacing:-.02em}.cx .why p{margin:0;color:var(--ink2);font-size:14px}
.cx .chips2.links a{font-size:14px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surf);color:var(--ink);transition:border-color .3s,color .3s}.cx .chips2.links a:hover{border-color:var(--ember);color:var(--ember)}
@media (max-width:900px){.cx .svc,.cx .svc.four,.cx .why{grid-template-columns:1fr 1fr}.cx .linklist{grid-template-columns:1fr 1fr}}@media (max-width:560px){.cx .svc,.cx .svc.four,.cx .why,.cx .linklist{grid-template-columns:1fr}}
/* forms: shared by every form[data-dl-form] */
.cx .vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.cx .form{--err:#B3300D;--lineh:rgba(10,10,11,.24);--fill:#FFFFFF;position:relative;display:grid;gap:22px;background:var(--surf,#FFFFFF);color:var(--ink,var(--char));border:1px solid var(--line,rgba(10,10,11,.1));border-radius:24px;padding:clamp(22px,3.6vw,36px);text-align:left;box-shadow:0 1px 0 rgba(10,10,11,.03),0 44px 90px -58px rgba(10,10,11,.4)}
.cx .sec.cx-dark .form,.cx .sec.clear .form{--err:#FF8A66;--lineh:rgba(239,234,226,.28);--fill:#16151B;box-shadow:none}
.cx .form[hidden]{display:none}
.cx .form .ftop{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .form .ftop b{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--ink)}
.cx .live{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--good);animation:livep 2.4s ease-out infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(47,163,107,.45)}70%,100%{box-shadow:0 0 0 7px rgba(47,163,107,0)}}
.cx .field{display:grid;gap:9px;min-width:0;margin:0;padding:0;border:0}
.cx .field>label,.cx .field>legend{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0;font:500 14.5px/1.3 var(--sans);letter-spacing:-.005em;color:var(--ink)}
.cx .field>legend{width:100%;margin-bottom:10px}
.cx .field .opt{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .ctl{position:relative;min-width:0}
.cx .field .ctl>input,.cx .field .ctl>textarea{-webkit-appearance:none;appearance:none;display:block;width:100%;min-height:54px;margin:0;padding:15px 17px;border-radius:14px;border:1px solid var(--line);background:var(--surf2);color:var(--ink);font:400 17px/1.35 var(--sans);letter-spacing:-.005em;outline:none;box-shadow:none;transition:border-color .25s,background .25s,box-shadow .25s}
.cx.cx.cx .field .ctl>input,.cx.cx.cx .field .ctl>textarea{min-height:54px}
.cx .field .ctl>textarea{min-height:132px;resize:vertical;line-height:1.5}
.cx.cx.cx .field .ctl>textarea{min-height:132px}
.cx .field .ctl>input::placeholder,.cx .field .ctl>textarea::placeholder{color:var(--ink2);opacity:.7}
.cx .field .ctl>input:hover,.cx .field .ctl>textarea:hover{border-color:var(--lineh)}
.cx .field .ctl>input:focus,.cx .field .ctl>textarea:focus{border-color:var(--ember);background:var(--fill);box-shadow:0 0 0 4px rgba(255,75,26,.14)}
.cx .field input:-webkit-autofill{-webkit-box-shadow:0 0 0 60px var(--fill) inset;-webkit-text-fill-color:var(--ink)}
.cx .field.err .ctl>input,.cx .field.err .ctl>textarea{border-color:var(--err);background:rgba(255,75,26,.045)}
.cx .field.err .ctl>input:focus,.cx .field.err .ctl>textarea:focus{box-shadow:0 0 0 4px rgba(255,75,26,.16)}
.cx .errline{display:none;margin:0;align-items:flex-start;gap:9px;font-size:13.5px;font-weight:500;line-height:1.45;color:var(--err)}
.cx .errline::before{content:"";flex:0 0 6px;width:6px;height:6px;margin-top:7px;border-radius:50%;background:currentColor}
.cx .field.err .errline{display:flex;animation:errIn .35s var(--ease)}
@keyframes errIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cx .help{margin:0;font-size:13px;line-height:1.45;color:var(--ink2)}.cx .field.err .help{display:none}
.cx .field.ok .ctl>input{padding-right:46px}
.cx .field.ok .ctl::after{content:"";position:absolute;right:20px;top:50%;width:6px;height:11px;border:solid var(--good);border-width:0 2px 2px 0;transform:translateY(-62%) rotate(45deg);pointer-events:none}
.cx .chips{display:flex;flex-wrap:wrap;gap:8px}
.cx .chip{position:relative;display:inline-flex;cursor:pointer}
.cx .chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cx .chip span{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surf2);color:var(--ink);font:500 14.5px/1.2 var(--sans);transition:border-color .25s,background .25s}
.cx.cx.cx .chip span{min-height:44px}
.cx .chip span::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink2);transition:background .25s,border-color .25s}
.cx .chip:hover span{border-color:var(--lineh)}
.cx .chip input:checked+span{border-color:var(--ember);background:rgba(255,75,26,.09)}
.cx .chip input:checked+span::before{background:var(--ember);border-color:var(--ember)}
.cx .chip input:focus-visible+span{outline:1.5px solid var(--ember);outline-offset:3px}
.cx .field.err .chip span{border-color:var(--err)}
.cx .field.pw .ctl>input{padding-right:88px}
.cx .pw .tog{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-width:66px;height:40px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--ink2);font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .2s,background .2s}
.cx .pw .tog:hover{color:var(--ink);background:var(--surf2)}
.cx .meter{display:flex;align-items:center;gap:12px}
.cx .meter .bars{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:84px;flex:0 0 84px}
.cx .meter .bars i{height:4px;border-radius:2px;background:var(--line);transition:background .3s}
.cx .meter[data-s="1"] .bars i:first-child{background:var(--err)}
.cx .meter[data-s="2"] .bars i:nth-child(-n+2){background:var(--gold)}
.cx .meter[data-s="3"] .bars i{background:var(--good)}
.cx .meter b{font-weight:600;color:var(--ink)}
.cx .form .pair{display:grid;gap:22px}
@media (min-width:720px){.cx .form .pair{grid-template-columns:1fr 1fr}}
.cx .form .act{display:grid;gap:14px;margin-top:2px}
.cx .form .act .pill,.cx .form .btns .pill{width:100%;justify-content:center;min-height:56px;font-size:15.5px}
.cx.cx.cx .form .act .pill,.cx.cx.cx .form .btns .pill{min-height:56px}
.cx .form .btns{display:grid;grid-template-columns:auto 1fr;gap:10px}.cx .form .btns .pill.ghost{width:auto;padding-inline:22px}
.cx .form .fine{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:13px;line-height:1.45;color:var(--ink2);text-align:center}
.cx .form .fine svg{flex:0 0 14px}
.cx .fstat{margin:0;font-size:13.5px;font-weight:500;color:var(--err);text-align:center}.cx .fstat:empty{display:none}
.cx .pill svg.arr{flex:0 0 auto;transition:transform .4s var(--ease)}.cx .pill:hover svg.arr{transform:translateX(3px)}
.cx .pill.busy{pointer-events:none;opacity:.88}
.cx .spin{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:cx-spin .7s linear infinite}
@keyframes cx-spin{to{transform:rotate(360deg)}}
.cx .step .form{margin-top:28px}
.cx .form.cx-inline{max-width:560px;margin:32px auto 0;padding:clamp(18px,3vw,26px);gap:16px}
.cx .row2{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.cx .row2 .pill{min-height:54px;justify-content:center}.cx.cx.cx .row2 .pill{min-height:54px}
@media (max-width:560px){.cx .row2{grid-template-columns:1fr}.cx .row2 .pill{width:100%}}
.cx .success{display:grid;gap:14px;justify-items:start;align-content:start;background:var(--surf,#FFFFFF);color:var(--ink,var(--char));border:1px solid var(--line,rgba(10,10,11,.1));border-radius:24px;padding:clamp(26px,4vw,44px);text-align:left;box-shadow:0 44px 90px -58px rgba(10,10,11,.4);animation:succIn .7s var(--ease) both}
.cx .success:focus{outline:none}
@keyframes succIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.cx .success .mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(255,75,26,.12);color:var(--ember)}
.cx .success .mark svg{width:26px;height:26px}.cx .success .mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:drawck .6s var(--ease) .25s forwards}
@keyframes drawck{to{stroke-dashoffset:0}}
.cx .success h3{margin:6px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.2vw,50px);line-height:1;letter-spacing:-.025em}
.cx .success h3 em{font-style:italic;color:var(--ember)}
.cx .success p{margin:0;max-width:48ch;font-size:16.5px;line-height:1.55;color:var(--ink2)}
.cx .success p b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.cx .success .alt{width:100%;margin-top:6px;padding-top:16px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}
.cx .success .alt a{color:var(--ember);font-weight:600;white-space:nowrap}
.cx .success.center{max-width:560px;margin:32px auto 0;justify-items:center;text-align:center}
.cx .success.compact{grid-template-columns:auto 1fr;align-items:center;gap:6px 18px;margin-top:26px;padding:22px 24px}
.cx .success.compact .mark{width:48px;height:48px;grid-row:span 2}.cx .success.compact h3{margin:0;font-size:clamp(26px,3vw,34px)}
/* audit run */
.cx .runcard{display:grid;gap:18px;background:var(--surf,#FFFFFF);color:var(--ink,var(--char));border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.6vw,36px);box-shadow:0 44px 90px -58px rgba(10,10,11,.4);animation:succIn .6s var(--ease) both}
.cx .runcard:focus{outline:none}
.cx .runcard .rh{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}.cx .runcard .rh .rn{margin-left:auto;font-variant-numeric:tabular-nums}
.cx .runcard .rt{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.02;letter-spacing:-.02em;overflow-wrap:anywhere}.cx .runcard .rt em{font-style:italic;color:var(--ember)}
.cx .runcard .rs{margin:0;color:var(--ink2);font-size:15px}
.cx .rrows{display:grid}
.cx .rr{display:grid;grid-template-columns:104px 1fr 64px;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:14px}
.cx .rr .b{height:6px;border-radius:3px;background:var(--surf2);overflow:hidden}
.cx .rr .b i{display:block;height:100%;width:0;border-radius:3px;background:var(--ink2);transition:width .9s var(--ease)}
.cx .rr.now .b i{width:36%;animation:ind 1s ease-in-out infinite;background:var(--ember);opacity:.55}
@keyframes ind{from{transform:translateX(-100%)}to{transform:translateX(280%)}}
.cx .rr.low .b i{background:var(--ember)}
.cx .rr .v{font-family:var(--mono);font-size:11px;text-align:right;color:var(--ink2);font-variant-numeric:tabular-nums}.cx .rr.now .v{color:var(--ember)}.cx .rr.done .v{color:var(--ink)}
.cx .rres{display:grid;gap:14px;padding-top:4px;animation:succIn .6s var(--ease) both}.cx .rres[hidden]{display:none}
.cx .score{display:flex;align-items:flex-end;gap:12px}
.cx .score b{font-weight:600;font-size:clamp(58px,6vw,78px);letter-spacing:-.05em;line-height:.85;font-variant-numeric:tabular-nums}
.cx .score small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);padding-bottom:6px}
.cx .grade{margin-left:auto;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:34px;line-height:1;background:rgba(255,75,26,.12);color:var(--ember)}
.cx .rres p{margin:0;color:var(--ink2);font-size:15px}.cx .rres p b{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.cx .rres .ctas{margin-top:4px}
@media (max-width:420px){.cx .rr{grid-template-columns:92px 1fr 56px;gap:10px}}
/* phones: keep the last footer line clear of the chat launcher */
@media (max-width:760px){.cx .sf{padding-bottom:112px}}
/* Digi chat */
.cx .dg{--dg-lift:0px;position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom) + var(--dg-lift));z-index:55;font-family:var(--sans);color:#0A0A0B;-webkit-font-smoothing:antialiased;line-height:1.45;transition:bottom .3s var(--ease)}
.cx .dg.dg-now,.cx .dg.dg-now *{transition:none!important}
body.menu-open .cx .dg{display:none}
@media print{.cx .dg{display:none}}
.cx .dg-launch{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:#0A0A0B;cursor:pointer;box-shadow:0 0 0 1px rgba(239,234,226,.18),0 14px 34px rgba(0,0,0,.3);transition:transform .4s var(--ease),box-shadow .4s var(--ease),opacity .25s}
.cx .dg-launch:hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px var(--ember),0 18px 40px rgba(0,0,0,.34)}
.cx .dg-launch:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
.cx .dg-face{display:block;width:52px;height:56px;transform:translateY(2px);transition:opacity .25s,transform .4s var(--ease)}
.cx .dg-face svg,.cx .dg-av svg{display:block;width:100%;height:100%;overflow:visible}
.cx .dg-shut{position:absolute;inset:0;display:grid;place-items:center;color:#EFEAE2;opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity .25s,transform .4s var(--ease)}
.cx .dg.open .dg-face{opacity:0;transform:translateY(2px) scale(.6)}.cx .dg.open .dg-shut{opacity:1;transform:none}
.cx .dg-on{position:absolute;right:2px;bottom:2px;width:13px;height:13px;border-radius:50%;background:var(--good);border:2.5px solid #0A0A0B;transition:opacity .25s}.cx .dg.open .dg-on{opacity:0}
.cx .dg-tip{position:absolute;right:calc(100% + 12px);top:50%;padding:9px 14px;border-radius:999px;background:#0A0A0B;color:#EFEAE2;font:500 13px/1 var(--sans);white-space:nowrap;box-shadow:0 0 0 1px rgba(239,234,226,.14),0 10px 30px rgba(0,0,0,.25);opacity:0;transform:translate(6px,-50%);pointer-events:none;transition:opacity .25s,transform .35s var(--ease)}
.cx .dg-launch:hover .dg-tip,.cx .dg-launch:focus-visible .dg-tip{opacity:1;transform:translate(0,-50%)}.cx .dg.open .dg-tip{display:none}
.cx .dg .lid{transform-box:fill-box;transform-origin:center;transform:scaleY(0);animation:blinkLid 5.2s ease-in-out infinite}
.cx .dg .head{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease)}
.cx .dg .ding{transform-box:fill-box;transform-origin:50% 100%;animation:ding 8s ease-in-out infinite}
@keyframes ding{0%,85%,100%{transform:rotate(0)}87%{transform:rotate(-13deg)}90%{transform:rotate(11deg)}93%{transform:rotate(-6deg)}96%{transform:rotate(2deg)}}
.cx .dg .dwave{opacity:0;animation:dwave 8s ease-out infinite}
@keyframes dwave{0%,86%,100%{opacity:0}88%{opacity:1}97%{opacity:0}}
.cx .dg-panel{position:absolute;right:0;bottom:calc(100% + 14px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:360px;height:520px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);background:#F5F3F0;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(10,10,11,.1),0 40px 100px rgba(0,0,0,.38);transform-origin:100% 100%;opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s linear .4s}
.cx .dg.open .dg-panel{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.cx .dg-panel:focus{outline:none}
.cx .dg-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:#0A0A0B;color:#EFEAE2}
.cx .dg-av{display:block;width:42px;height:42px;padding:3px 4px 0;border-radius:50%;background:#1B1A20}
.cx .dg-ht{display:grid;gap:3px;min-width:0}
.cx .dg-ht b{font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx .dg-ht b em{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;color:var(--ember)}
.cx .dg-ht small{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#8C857C}
.cx .dg-x{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(239,234,226,.08);color:#EFEAE2;font:400 22px/1 var(--sans);cursor:pointer;transition:background .2s}
.cx .dg-x:hover{background:rgba(239,234,226,.16)}.cx .dg-x:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.cx .dg-log{display:flex;flex-direction:column;gap:8px;min-height:0;padding:18px 14px 14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.cx.cx.cx .dg-log{min-height:0}
.cx .dg-day{align-self:center;margin-bottom:4px;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#8C857C}
.cx .dg-m{max-width:84%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.45;overflow-wrap:anywhere;animation:dgIn .35s var(--ease) both}
.cx .dg-m.d{align-self:flex-start;background:#FFFFFF;color:#0A0A0B;border:1px solid rgba(10,10,11,.07);border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(10,10,11,.04)}
.cx .dg-m.u{align-self:flex-end;background:var(--ember);color:#06060A;border-bottom-right-radius:5px}
.cx .dg-m .typing::after{content:"";display:inline-block;width:6px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--ember);animation:blink 1s steps(2) infinite}
@keyframes dgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cx .dg-dots{display:flex;gap:4px;padding:5px 0}.cx .dg-dots i{width:6px;height:6px;border-radius:50%;background:#8C857C;animation:dot 1s infinite}.cx .dg-dots i:nth-child(2){animation-delay:.15s}.cx .dg-dots i:nth-child(3){animation-delay:.3s}
.cx .dg-qr{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}
.cx .dg-qr button{padding:9px 14px;border:1px solid rgba(255,75,26,.55);border-radius:999px;background:transparent;color:#0A0A0B;font:500 13.5px/1.2 var(--sans);cursor:pointer;transition:background .2s,border-color .2s;animation:dgIn .4s var(--ease) both}
.cx .dg-qr button:nth-child(2){animation-delay:.07s}.cx .dg-qr button:nth-child(3){animation-delay:.14s}
.cx .dg-qr button:hover{background:var(--ember);border-color:var(--ember);color:#06060A}.cx .dg-qr button:focus-visible{outline:2px solid var(--ember);outline-offset:2px}
.cx .dg-cap{display:grid;gap:10px;margin:4px 0 0;padding:14px;background:#FFFFFF;border:1px solid rgba(10,10,11,.08);border-radius:16px;animation:dgIn .4s var(--ease) both}
.cx .dg-cap>b{font-size:14px;font-weight:600;letter-spacing:-.01em}
.cx .dg-cap .f{display:grid;gap:5px}.cx .dg-cap label{font-size:12px;font-weight:500;color:#5C5852}
.cx .dg-cap input{width:100%;height:44px;padding:0 13px;border:1px solid rgba(10,10,11,.12);border-radius:11px;background:#F7F5F2;color:#0A0A0B;font:400 16px var(--sans);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.cx .dg-cap input:focus{border-color:var(--ember);background:#FFFFFF;box-shadow:0 0 0 3px rgba(255,75,26,.14)}
.cx .dg-cap .e{display:none;margin:0;font-size:12.5px;font-weight:500;color:#B3300D}.cx .dg-cap .bad .e{display:block}.cx .dg-cap .bad input{border-color:#B3300D}
.cx .dg-cap button{height:44px;border:0;border-radius:999px;background:var(--ember);color:#06060A;font:600 14px var(--sans);cursor:pointer;transition:transform .3s var(--ease)}.cx .dg-cap button:hover{transform:translateY(-1px)}
.cx .dg-cap small{font-size:11.5px;line-height:1.4;color:#8C857C}
.cx .dg-comp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid rgba(10,10,11,.08)}
.cx .dg-comp input{min-width:0;height:44px;padding:0 16px;border:1px solid rgba(10,10,11,.1);border-radius:999px;background:#F5F3F0;color:#0A0A0B;font:400 16px var(--sans);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s}
.cx .dg-comp input::placeholder{color:#8C857C}.cx .dg-comp input:focus{border-color:var(--ember);background:#FFFFFF}
.cx .dg-send{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--ember);color:#06060A;cursor:pointer;transition:opacity .2s,transform .3s var(--ease)}
.cx .dg-send:disabled{opacity:.35;cursor:default}.cx .dg-send:not(:disabled):hover{transform:translateY(-1px)}
html.cx-on.dg-lock,html.cx-on.dg-lock body{overflow:hidden}
@media (max-width:560px){
  .cx .dg-panel{position:fixed;inset:0;width:100%;height:100%;max-height:none;border-radius:0;transform:translateY(24px)}
  .cx .dg-head{padding-top:calc(14px + env(safe-area-inset-top))}
  .cx .dg.open .dg-launch{opacity:0;pointer-events:none}
  .cx .dg-tip{display:none}.cx .dg-m{max-width:88%}
}
@media (prefers-reduced-motion:reduce){.cx .dg *,.cx .form *,.cx .success,.cx .success *,.cx .runcard,.cx .runcard *{animation:none!important;transition:none!important}.cx .success .mark path{stroke-dashoffset:0}}

/* ───────── landing pages: the form sits in the hero, the details follow ───────── */
.cx .hero-p.lp{padding-top:clamp(104px,14vh,148px);padding-bottom:clamp(44px,6vw,80px)}
.cx .hero-p.lp.cx-dark:not(.film)::before{opacity:.3}
.cx .hero-p.lp.cx-dark:not(.film)::after{background:radial-gradient(90% 80% at 24% 34%,transparent 0%,rgba(6,6,10,.72) 62%,var(--obsidian) 100%),linear-gradient(180deg,rgba(6,6,10,.45),transparent 28%,transparent 58%,var(--obsidian))}
.cx .lp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,456px);grid-template-areas:"head side" "more side";grid-template-rows:auto 1fr;column-gap:clamp(28px,5vw,84px);align-items:start}
.cx .lp-head{grid-area:head;min-width:0}
.cx .lp-more{grid-area:more;min-width:0;margin-top:30px}
.cx .lp-side{grid-area:side;min-width:0;scroll-margin-top:92px}
.cx .hero-p.lp h1{margin-top:18px;font-size:clamp(40px,5.2vw,78px);line-height:.98;max-width:15ch}
.cx .hero-p.lp .lede-l{margin-top:18px;max-width:52ch}
.cx .lp-for{margin:14px 0 0;max-width:56ch;font-size:14.5px;line-height:1.45;color:var(--ash);text-wrap:pretty}
.cx .lp-pts{list-style:none;margin:0;padding:0;display:grid;gap:15px;max-width:54ch}
.cx .lp-pts li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.cx .lp-pts svg{width:20px;height:20px;margin-top:2px}
.cx .lp-pts b{display:block;font-weight:600;font-size:16.5px;line-height:1.3;letter-spacing:-.01em;color:var(--bone)}
.cx .lp-pts span{display:block;margin-top:2px;font-size:14.5px;line-height:1.45;color:var(--bone-2)}
.cx .lp-trust{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid rgba(239,234,226,.12);font-size:13.5px;color:var(--bone-2)}
.cx .lp-trust .stars{font-style:normal;color:var(--gold);letter-spacing:.14em;margin-right:6px}
.cx .lp-trust a{color:var(--bone);border-bottom:1px solid rgba(239,234,226,.32);transition:color .3s,border-color .3s}
.cx .lp-trust a:hover{color:var(--ember);border-color:var(--ember)}
.cx .lp-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,44px);margin-top:clamp(36px,5vw,64px);padding-top:26px;border-top:1px solid rgba(239,234,226,.12);position:relative;z-index:1}
.cx .lp-proof>div{display:grid;gap:6px;align-content:start;min-width:0}
.cx .lp-proof b{font-weight:600;font-size:clamp(30px,3.2vw,46px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.cx .lp-proof p{margin:0;font-size:14.5px;line-height:1.4;color:var(--bone-2)}
.cx .lp-proof span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
/* the form card: dark glass, lit from below, the one object the page is about */
.cx .sec.cx-dark .form.lp-form,.cx .sec.cx-dark .lp-side .success{background:rgba(17,16,21,.78);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);border:1px solid rgba(239,234,226,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 60px 120px -64px rgba(255,75,26,.5),0 40px 90px -44px rgba(0,0,0,.9)}
.cx .form.lp-form{gap:16px;padding:clamp(20px,2.4vw,30px)}
.cx .lp-form .ftop{padding-bottom:14px}
.cx .lp-form .fhead{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,36px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.cx .lp-form .fhead em{font-style:italic;color:var(--ember)}
.cx .lp-form .fsub{margin:-6px 0 2px;font-size:14px;line-height:1.45;color:var(--ink2)}
.cx .lp-form .pair{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
.cx .lp-form .field{gap:7px}
.cx .lp-form .field>label,.cx .lp-form .field>legend{font-size:13.5px}
.cx .lp-form .field>legend{margin-bottom:8px}
.cx .lp-form .field .ctl>input{min-height:48px;padding:12px 14px;border-radius:12px;font-size:16px}
.cx.cx.cx .lp-form .field .ctl>input{min-height:48px}
.cx .lp-form .chips{gap:7px}
.cx .lp-form .chip span{min-height:40px;padding:8px 13px;font-size:13.5px}
.cx.cx.cx .lp-form .chip span{min-height:40px}
.cx .lp-form .act{gap:12px;margin-top:0}
.cx .lp-form .act .pill{min-height:54px}
.cx.cx.cx .lp-form .act .pill{min-height:54px}
.cx .lp-form .fine{font-size:12.5px}
/* what happens after the form is sent */
.cx .steps.three{grid-template-columns:repeat(3,1fr)}
.cx .lp-end .ctas,.cx .lp-next .ctas{justify-content:center}
@media (max-width:960px){
  .cx .hero-p.lp{padding-top:96px}
  .cx .lp-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "side" "more";grid-template-rows:auto;row-gap:26px}
  .cx .lp-more{margin-top:8px}
  .cx .hero-p.lp h1{font-size:clamp(38px,9.6vw,60px);max-width:16ch}
  .cx .steps.three{grid-template-columns:1fr}
}
@media (max-width:640px){.cx .lp-for,.cx .lp-form .ftop{display:none}.cx .hero-p.lp{padding-top:88px}.cx .hero-p.lp .lede-l{font-size:16.5px}}
@media (max-width:640px){
  .cx .lp-proof{grid-template-columns:1fr;gap:0;padding-top:0}
  .cx .lp-proof>div{grid-template-columns:minmax(96px,auto) 1fr;column-gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(239,234,226,.1)}
  .cx .lp-proof b{grid-row:span 2}
  .cx .lp-proof span{grid-column:2}
}
/* short laptop screens: the send button stays above the fold */
@media (min-width:961px) and (max-height:820px){.cx .hero-p.lp{padding-top:92px}.cx .lp-form .ftop{display:none}.cx .form.lp-form{gap:14px;padding:22px 24px}.cx .hero-p.lp h1{font-size:clamp(38px,4.6vw,64px)}}
/* the bar that follows a phone down the page once the form has scrolled away */
.cx .lp-bar{display:none}
@media (max-width:760px){
  .cx .lp-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(6,6,10,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(239,234,226,.12);transform:translateY(110%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}
  .cx .lp-bar.on{transform:none;visibility:visible;transition:transform .35s var(--ease)}
  .cx .lp-bar .pill{width:100%;justify-content:center;min-height:52px}
  .cx.cx.cx .lp-bar .pill{min-height:52px}
}
/* arriving from an ad: the menu and the footer links step aside, the form stays */
html.lp-mode .cx .sn-list>li:not(.sn-cta),html.lp-mode .cx .sn-burger{display:none}
html.lp-mode .cx .sf-cols{grid-template-columns:1fr}
html.lp-mode .cx .sf-cols>div:not(:first-child){display:none}
@media (max-width:1100px){
  html.lp-mode .cx .sn-list{display:flex;position:static;height:auto;flex-direction:row;padding:0;background:transparent;overflow:visible}
  html.lp-mode .cx .sn-list>li.sn-cta{margin:0}
  html.lp-mode .cx .sn-list>li.sn-cta>a.sn-go{width:auto;padding:9px 16px;font-size:13.5px;border-radius:999px;border-bottom:0;background:var(--ember)!important}
}
@media (prefers-reduced-motion:reduce){.cx .lp-bar{transition:none!important}}

/* ───────── forms, second pass: icons in the fields, choices as tiles, one lit edge ───────── */
.cx .ctl>.ic{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--ink2);opacity:.85;pointer-events:none;transition:color .25s,opacity .25s}
.cx .field .ctl>.ic+input{padding-left:45px}
.cx .ctl:focus-within>.ic{color:var(--ember);opacity:1}
.cx .field.err .ctl>.ic{color:var(--err);opacity:1}
/* choices: a tidy grid of tiles, the same shape as the fields above them */
.cx .form .chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cx .form .chip{display:block;min-width:0}
.cx .form .chip:last-child:nth-child(odd){grid-column:1/-1}
.cx .form .chip span{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:100%;min-height:48px;padding:10px 13px 10px 15px;border-radius:12px;border:1px solid var(--line);background:var(--surf2);color:var(--ink);font:500 14px/1.25 var(--sans);letter-spacing:-.005em;transition:border-color .25s,background .25s,box-shadow .3s,transform .3s var(--ease)}
.cx.cx.cx .form .chip span{min-height:48px}
.cx .form .chip span::before{content:"";position:absolute;right:20px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid var(--obsidian);border-width:0 2px 2px 0;border-radius:0;background:none;transform:rotate(45deg) scale(0);transition:transform .3s var(--ease);z-index:1}
.cx .form .chip span::after{content:"";flex:0 0 19px;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--lineh);transition:background .25s,border-color .25s}
.cx .form .chip:hover span{border-color:var(--lineh);transform:translateY(-1px)}
.cx .form .chip input:checked+span{border-color:var(--ember);background:linear-gradient(180deg,rgba(255,75,26,.17),rgba(255,75,26,.07));box-shadow:0 12px 30px -18px rgba(255,75,26,.7)}
.cx .form .chip input:checked+span::before{transform:rotate(45deg) scale(1);border-color:var(--obsidian);background:none}
.cx .form .chip input:checked+span::after{border-color:var(--ember);background:var(--ember)}
.cx .form .chip input:focus-visible+span{outline:1.5px solid var(--ember);outline-offset:3px}
@media (max-width:480px){.cx .form .chips{grid-template-columns:1fr}.cx .form .chip:last-child:nth-child(odd){grid-column:auto}}
/* the send button */
.cx .form .act .pill:not(.ghost),.cx .form .btns .pill:not(.ghost){background:linear-gradient(180deg,#FF5C30,#FF4B1A 55%,#F0430F);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 16px 36px -18px rgba(255,75,26,.8)}
.cx .form .act .pill:not(.ghost):hover,.cx .form .btns .pill:not(.ghost):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 20px 46px -16px rgba(255,75,26,.85)}
/* fields that sit side by side line up at the top, whatever sits under them */
.cx .form .pair{align-items:start}
/* the landing page card */
.cx .sec.cx-dark .form.lp-form{--surf2:rgba(255,255,255,.05);--line:rgba(239,234,226,.15);--lineh:rgba(239,234,226,.36)}
.cx .form.lp-form::before{content:"";position:absolute;left:30px;right:30px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ember) 28%,#FF9A7A 50%,var(--ember) 72%,transparent);pointer-events:none}
.cx .lp-form .field>label,.cx .lp-form .field>legend{color:var(--bone-2)}
.cx .lp-form .chip span{min-height:46px;padding:9px 12px 9px 14px;font-size:13.5px}
.cx.cx.cx .lp-form .chip span{min-height:46px}
.cx .lp-form .chip span::before{right:19px}
/* the lock sits in the line of text, so it stays beside the words when they wrap */
.cx .form .fine{display:block;text-align:center;text-wrap:balance}
.cx .form .fine svg{display:inline-block;vertical-align:-2px;margin-right:7px}
.cx .lp-form .field .ctl>input::placeholder{font-size:15px}
@media (prefers-reduced-motion:reduce){.cx .form .chip span,.cx .form .chip span::before{transition:none!important}.cx .form .chip:hover span{transform:none}}

/* ───────── landing pages, review fixes ───────── */
.cx .t + .list{margin-top:44px}
/* the comparison fits a phone: all columns wrap inside the screen instead of hiding off to the side */
@media (max-width:640px){
  .cx .hero-p.lp ~ .sec .tbl table{min-width:0;table-layout:fixed}
  .cx .hero-p.lp ~ .sec .tbl th,.cx .hero-p.lp ~ .sec .tbl td{padding:10px 8px;font-size:12.5px;line-height:1.35;overflow-wrap:break-word}
  .cx .hero-p.lp ~ .sec .tbl th:first-child{width:24%}
}
/* on a phone the chat button waits until the form has scrolled away, so it never sits on a field */
@media (max-width:760px){body:has(.cx .lp-bar:not(.on)) .cx .dg:not(.open) .dg-launch{opacity:0;pointer-events:none}}
/* once the form is sent, the bar stops asking */
html.lp-sent .cx .lp-bar{display:none}
html.lp-sent body:has(.cx .lp-bar) .cx .dg:not(.open) .dg-launch{opacity:1;pointer-events:auto}
/* arriving from an ad: no side doors. The logo stays put and the links to the contact page step aside */
html.lp-mode .cx .sn-brand{pointer-events:none}
html.lp-mode .cx .lp-trust a,html.lp-mode .cx .lp-end .pill.ghost{display:none}

/* ───────── the crew, teased: the lineup out of focus, the waitlist in front of it ───────── */
.cx .crew.tease .ch .nm,.cx .crew.tease .ch .role,.cx .crew.tease .ch .bub{display:none}
.cx .soon{position:relative;display:grid;align-items:center;min-height:440px;margin-top:clamp(30px,4vw,48px)}
.cx.cx.cx .soon{min-height:440px}
.cx .soon::after{content:"";position:absolute;inset:0;background:radial-gradient(46% 80% at 50% 50%,rgba(6,6,10,.5),rgba(6,6,10,.08) 70%,transparent);pointer-events:none}
.cx .crew.cx-blur{margin-top:0;gap:6px;padding:30px 0;filter:blur(6.5px) saturate(1.25);opacity:1;pointer-events:none;-webkit-user-select:none;user-select:none}
.cx .crew.small.cx-blur .ch{padding:6px 0}.cx .crew.small.cx-blur .ch svg{max-width:150px}
.cx .soon-card{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);width:min(540px,calc(100% - 20px));display:grid;gap:14px;justify-items:center;text-align:center;padding:clamp(24px,3vw,36px);border-radius:26px;background:rgba(17,16,21,.74);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);border:1px solid rgba(239,234,226,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 60px 120px -60px rgba(255,75,26,.5),0 40px 90px -44px rgba(0,0,0,.9)}
.cx .soon-card::before{content:"";position:absolute;left:32px;right:32px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ember) 28%,#FF9A7A 50%,var(--ember) 72%,transparent);pointer-events:none}
.cx .soon-tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-2)}
.cx .soon-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.02em;color:var(--bone)}
.cx .soon-card h3 em{font-style:italic;color:var(--ember)}
.cx .soon-card>p{margin:0;font-size:15.5px;line-height:1.5;color:var(--bone-2)}
.cx .sec.cx-dark .soon-card .form.cx-inline{width:100%;max-width:none;margin:8px 0 0;padding:0;gap:12px;background:none;border:0;border-radius:0;box-shadow:none}
.cx .soon-card .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cx .soon-card .errline{justify-content:center}
.cx .sec.cx-dark .soon-card .success{width:100%;max-width:none;margin:8px 0 0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.cx .soon-card .success h3{font-size:clamp(26px,3vw,34px)}
@media (max-width:1000px){.cx .soon{min-height:560px}.cx.cx.cx .soon{min-height:560px}.cx .crew.cx-blur{filter:blur(5.5px) saturate(1.25);row-gap:22px}.cx .crew.small.cx-blur .ch svg{max-width:120px}}
@media (prefers-reduced-motion:reduce){.cx .crew.cx-blur .ch svg{animation:none}}
/* ───────── search pass: the keyword line lives inside the H1, long form, breadcrumbs, links in copy ───────── */
.cx .hero-p h1:has(>.eb),.cx .hero-l h1:has(>.eb){margin-top:0}
.cx h1>.eb{margin:0 0 22px;max-width:none;font-weight:400;line-height:1.5;letter-spacing:.2em;font-style:normal;text-wrap:wrap}
.cx .hero-p.lp h1>.eb{margin-bottom:18px}
.cx h1>.h1-t{display:block}
.cx h1.h1-solo{margin:0 0 14px;font-family:var(--mono);font-weight:400;font-size:11px;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);text-align:center}
/* long form: what the live page says in full, set like an essay beside its own contents list */
.cx .longform{border-top:1px solid var(--line)}
.cx .lf{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:start}
.cx .lf-side{position:sticky;top:96px;display:grid;gap:18px}
.cx .lf-side .cx-eyebrow{justify-content:flex-start}
.cx .lf-title{margin:0;font-weight:600;font-size:clamp(28px,3vw,42px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.cx .lf-title em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--ember);font-size:1.08em}
.cx .lf-toc{list-style:none;margin:6px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;counter-reset:lf;font-size:14.5px;line-height:1.4}
.cx .lf-toc li{display:grid;grid-template-columns:26px minmax(0,1fr);counter-increment:lf}
.cx .lf-toc li::before{content:counter(lf,decimal-leading-zero);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--ember);padding-top:3px}
.cx .lf-toc a{color:var(--ink2);transition:color .3s}.cx .lf-toc a:hover{color:var(--ink)}
.cx .lf-body{max-width:68ch;font-size:17px;line-height:1.72;color:var(--ink2)}
.cx .lf-body>*:first-child{margin-top:0}
.cx .lf-body h2{margin:2.1em 0 .55em;font-weight:600;font-size:clamp(24px,2.3vw,32px);line-height:1.12;letter-spacing:-.03em;color:var(--ink);scroll-margin-top:96px;text-wrap:balance}
.cx .lf-body h3{margin:1.7em 0 .4em;font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.cx .lf-body p{margin:0 0 1.05em}
.cx .lf-body ul{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:.55em}
.cx .lf-body li{position:relative;padding-left:24px}
.cx .lf-body li::before{content:"";position:absolute;left:2px;top:.72em;width:9px;height:1px;background:var(--ember)}
@media (max-width:900px){.cx .lf{grid-template-columns:minmax(0,1fr)}.cx .lf-side{position:static}.cx .lf-toc{display:none}.cx .lf-body{font-size:16.5px}}
/* links the pass adds inside paragraphs */
.cx a.al{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,75,26,.55);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .3s,text-decoration-color .3s}
.cx a.al:hover{color:var(--ember);text-decoration-color:var(--ember)}
.cx .faq p a,.cx .lf-body a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,75,26,.55);text-underline-offset:3px}
/* breadcrumbs: a quiet line above the footer */
.cx .crumbs{position:relative;z-index:2;background:var(--obsidian);color:var(--ash);padding:18px clamp(18px,3vw,40px) 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.cx .crumbs ol{list-style:none;max-width:var(--max);margin:0 auto;padding:0 0 18px;display:flex;flex-wrap:wrap;gap:6px 10px;border-bottom:1px solid rgba(239,234,226,.1)}
.cx .crumbs li{display:flex;align-items:center;gap:10px}
.cx .crumbs li+li::before{content:"›";color:var(--ember)}
.cx .crumbs a{color:var(--bone-2);transition:color .3s}.cx .crumbs a:hover{color:var(--ember)}
.cx .crumbs+.sf{border-top:0}
.cx .sf-base a{color:inherit;transition:color .3s}.cx .sf-base a:hover{color:var(--ember)}
/* rows of plain links under the related cards: every service, product and industry points at the others */
.cx .mesh{margin-top:clamp(30px,4vw,48px);display:grid;gap:18px;padding-top:26px;border-top:1px solid var(--line)}
.cx .mesh-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 22px;align-items:start}
.cx .mesh-row .tag{padding-top:12px}
.cx .mesh .chips2{margin-top:0}
.cx .mesh .chips2.links a{font-size:13.5px;padding:8px 13px}
@media (max-width:720px){.cx .mesh-row{grid-template-columns:minmax(0,1fr)}.cx .mesh-row .tag{padding-top:0}}
/* arriving from an ad: nothing that leads away from the form */
html.lp-mode .cx [data-seo="related"],html.lp-mode .cx .crumbs{display:none}

/* with scripts off, nothing waits to fade in */
@media (scripting:none){.cx .r{opacity:1;transform:none}}
/* one crew member, teased: a dark panel on the page, the face out of focus, the waitlist beside it */
.cx .soon.one{--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.15);--lineh:rgba(239,234,226,.36);--surf:rgba(255,255,255,.04);--surf2:rgba(255,255,255,.06);isolation:isolate;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,64px);min-height:0;padding:clamp(26px,4vw,60px);border-radius:28px;overflow:hidden;color:var(--bone);background:radial-gradient(90% 120% at 18% 50%,rgba(255,75,26,.2),transparent 60%),radial-gradient(80% 70% at 106% 110%,rgba(224,164,90,.08),transparent 60%),#0A0A0F;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 80px 120px -70px rgba(10,10,11,.8),0 36px 60px -36px rgba(10,10,11,.55)}
.cx.cx.cx .soon.one{min-height:0}
.cx .soon.one::after{content:none}
.cx .soon-face{display:grid;place-items:center;padding:18px 0;filter:blur(8px) saturate(1.25);pointer-events:none;-webkit-user-select:none;user-select:none}
.cx .soon-face svg{display:block;width:100%;max-width:270px;height:auto;overflow:visible;animation:cx-float 5s ease-in-out infinite}
.cx .soon.one .soon-card{position:relative;left:auto;top:auto;transform:none;width:auto;justify-items:start;text-align:left;padding:0;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.cx .soon.one .soon-card::before{content:none}
.cx .soon.one .soon-card .fine{text-align:left}
.cx .soon.one .soon-card .errline{justify-content:flex-start}
.cx .soon .soon-card .form.cx-inline{--err:#FF8A66;--fill:#16151B;width:100%;max-width:none;margin:8px 0 0;padding:0;gap:12px;background:none;border:0;border-radius:0;box-shadow:none;color:var(--bone)}
.cx .soon .soon-card .success{width:100%;max-width:none;margin:8px 0 0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--bone)}
.cx .soon.one .soon-card .success{justify-items:start;text-align:left}
@media (max-width:820px){
  .cx .soon.one{grid-template-columns:minmax(0,1fr);justify-items:center;border-radius:22px}
  .cx .soon-face svg{max-width:190px}
  .cx .soon.one .soon-card{justify-items:center;text-align:center;width:100%}
  .cx .soon.one .soon-card .fine{text-align:center}
  .cx .soon.one .soon-card .errline{justify-content:center}
  .cx .soon.one .soon-card .success{justify-items:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){.cx .soon-face svg{animation:none}}
/* showcase:start */
/* ───────── the stage: one dark screen per service, showing the work as it happens ─────────
   Shared shell and parts. Each service adds its own centrepiece under .stage[data-show="<name>"]. */
.cx .stage .lead{max-width:60ch}
.cx .console{--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.1);--lineh:rgba(239,234,226,.24);--surf:rgba(255,255,255,.04);--surf2:rgba(255,255,255,.075);--up:#6FD3A3;--down:#FF8A66;position:relative;isolation:isolate;margin-top:clamp(34px,4.4vw,58px);border-radius:28px;overflow:hidden;text-align:left;color:var(--bone);background:radial-gradient(110% 80% at 88% -12%,rgba(255,75,26,.17),transparent 56%),radial-gradient(80% 70% at -6% 112%,rgba(224,164,90,.08),transparent 60%),#0A0A0F;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 80px 120px -70px rgba(10,10,11,.8),0 36px 60px -36px rgba(10,10,11,.55)}
.cx .cn-bar{display:flex;align-items:center;gap:14px;min-height:46px;padding:0 clamp(16px,2vw,22px);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.cx.cx.cx .cn-bar{min-height:46px}
.cx .cn-dots{display:flex;gap:6px;flex:0 0 auto}.cx .cn-dots i{width:9px;height:9px;border-radius:50%;background:rgba(239,234,226,.16)}
.cx .cn-title{color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.cx .cn-live{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.cx .cn-body{padding:clamp(20px,3vw,38px)}
.cx .cn-h{margin:0 0 16px;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cx .cn-h span{letter-spacing:.1em;text-transform:none;font-family:var(--sans);font-size:12.5px}
/* headline numbers: separated by hairlines, never boxed */
.cx .cn-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cx .cn-k{display:grid;gap:9px;align-content:start;min-width:0;padding:0 clamp(14px,2.2vw,30px);border-left:1px solid var(--line)}
.cx .cn-k:first-child{padding-left:0;border-left:0}.cx .cn-k:last-child{padding-right:0}
.cx .cn-k b{font-weight:600;font-size:clamp(30px,3.5vw,48px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.cx .cn-k small{font-size:13px;line-height:1.4;color:var(--ink2)}
.cx .cn-d{justify-self:start;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font:500 12px/1 var(--sans);font-variant-numeric:tabular-nums;background:rgba(111,211,163,.13);color:var(--up);white-space:nowrap}
.cx .cn-d.bad{background:rgba(255,75,26,.15);color:var(--down)}
.cx .cn-d.flat{background:var(--surf2);color:var(--ink2)}
.cx .cn-rule{height:1px;margin:clamp(20px,2.6vw,32px) 0;border:0;background:var(--line)}
.cx .cn-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(24px,3.4vw,52px)}
/* the thread: who noticed, who proposed, what waits on you */
.cx .cn-rail{display:grid;gap:18px;align-content:start;min-width:0;padding-left:clamp(20px,2.8vw,40px);border-left:1px solid var(--line)}
.cx .cn-msg{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 10px;font-size:14.5px;line-height:1.5;color:var(--bone-2)}
.cx .cn-msg time{padding-top:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink2)}
.cx .cn-msg b{font-weight:600;color:var(--ink)}
.cx .cn-acts{display:flex;flex-wrap:wrap;gap:8px;padding-left:54px}
.cx .cn-btn{display:inline-flex;align-items:center;min-height:36px;padding:0 15px;border-radius:999px;border:1px solid var(--lineh);background:transparent;color:var(--ink);font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .3s var(--ease)}
.cx.cx.cx .cn-btn{min-height:36px}
.cx .cn-btn:hover{border-color:var(--ember);transform:translateY(-1px)}
.cx .cn-btn.go{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
.cx .cn-btn:focus-visible{outline:1.5px solid var(--ember);outline-offset:3px}
.cx .cn-btn[disabled]{opacity:.45;pointer-events:none}
.cx .console [hidden]{display:none!important}
.cx .cn-note{margin:18px auto 0;max-width:60ch;text-align:center;font-size:13px;line-height:1.5;color:var(--ink2)}
@media (max-width:860px){
  .cx .cn-split{grid-template-columns:minmax(0,1fr)}
  .cx .cn-rail{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid var(--line)}
}
@media (max-width:560px){
  .cx .console{border-radius:22px}
  .cx .cn-kpis{grid-template-columns:minmax(0,1fr)}
  .cx .cn-k,.cx .cn-k:first-child,.cx .cn-k:last-child{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:14px 0;border-left:0;border-top:1px solid var(--line)}
  .cx .cn-k:first-child{padding-top:0;border-top:0}
  .cx .cn-k b{grid-row:span 2}
  .cx .cn-k .cn-d{justify-self:end}.cx .cn-k small{text-align:right}
  .cx .cn-dots{display:none}
  .cx .cn-acts{padding-left:0}
}
@media (prefers-reduced-motion:reduce){.cx .console *{animation:none!important;transition:none!important}}
/* AdLab: the overnight move */
.cx .stage[data-show="adlab"] .ad-rows{display:grid;gap:14px}
.cx .stage[data-show="adlab"] .ad-row{display:grid;grid-template-columns:84px minmax(0,1fr) 62px 44px;gap:14px;align-items:center;font-size:14.5px}
.cx .stage[data-show="adlab"] .ad-n{color:var(--ink)}
.cx .stage[data-show="adlab"] .ad-v,.cx .stage[data-show="adlab"] .ad-c{font-family:var(--mono);font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums;color:var(--bone-2)}
.cx .stage[data-show="adlab"] .ad-c{color:var(--ink2)}
.cx .stage[data-show="adlab"] .ad-c.hot{color:var(--down)}
.cx .stage[data-show="adlab"] .ad-bar{position:relative;height:12px;border-radius:6px;background:var(--surf2)}
.cx .stage[data-show="adlab"] .ad-bar i{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:6px;background:rgba(239,234,226,.5);transition:width 1.1s var(--ease)}
.cx .stage[data-show="adlab"] .ad-bar em{position:absolute;top:0;bottom:0;left:var(--l);width:var(--w);border-radius:0 6px 6px 0;transition:opacity .5s}
.cx .stage[data-show="adlab"] .from .ad-bar em{background:repeating-linear-gradient(135deg,var(--ember) 0 5px,rgba(255,75,26,.35) 5px 10px)}
.cx .stage[data-show="adlab"] .to .ad-bar em{border:1.5px dashed var(--up);border-left:0;background:rgba(111,211,163,.1)}
.cx .stage[data-show="adlab"] .console.moved .ad-bar i{width:var(--w2,var(--w))}
.cx .stage[data-show="adlab"] .console.moved .to .ad-bar i{background:var(--up)}
.cx .stage[data-show="adlab"] .console.moved .ad-bar em{opacity:0}
.cx .stage[data-show="adlab"] .console.held .ad-bar em{opacity:.35}
.cx .stage[data-show="adlab"] .ad-key{transition:opacity .5s;display:flex;flex-wrap:wrap;gap:6px 22px;margin:16px 0 0;font-size:12.5px;color:var(--ink2)}
.cx .stage[data-show="adlab"] .ad-key span{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="adlab"] .ad-key span::before{content:"";width:18px;height:10px;border-radius:3px}
.cx .stage[data-show="adlab"] .k-out::before{background:repeating-linear-gradient(135deg,var(--ember) 0 4px,rgba(255,75,26,.35) 4px 8px)}
.cx .stage[data-show="adlab"] .k-in::before{border:1.5px dashed var(--up);background:rgba(111,211,163,.1)}
.cx .stage[data-show="adlab"] .ad-trend{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 10px}
.cx .stage[data-show="adlab"] .ad-y{display:flex;flex-direction:column;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--ink2);text-align:right;margin:-6px 0}
.cx .stage[data-show="adlab"] .ad-plot{position:relative;height:clamp(110px,14vw,150px);margin-right:34px}
.cx .stage[data-show="adlab"] .ad-plot svg{display:block;width:100%;height:100%;overflow:visible}
.cx .stage[data-show="adlab"] .ad-dot{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.5)}
.cx .stage[data-show="adlab"] .ad-end,.cx .stage[data-show="adlab"] .ad-start{position:absolute;font:600 13px/1 var(--sans);font-variant-numeric:tabular-nums}
.cx .stage[data-show="adlab"] .ad-end{left:100%;top:76.7%;margin:-26px 0 0 -14px;color:var(--ink)}
.cx .stage[data-show="adlab"] .ad-start{left:0;top:26.7%;margin:-22px 0 0 0;color:var(--ink2)}
.cx .stage[data-show="adlab"] .ad-x{grid-column:2;display:flex;justify-content:space-between;margin-right:34px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.cx .stage[data-show="adlab"] .ad-x span{width:0;display:flex;justify-content:center;white-space:nowrap}
.cx .stage[data-show="adlab"] .ad-x span:first-child{justify-content:flex-start}.cx .stage[data-show="adlab"] .ad-x span:last-child{justify-content:flex-end}
.cx .stage[data-show="adlab"] .cn-msg.done b{color:var(--up)}
.cx .stage[data-show="adlab"] .cn-msg.done:not([hidden]){animation:adIn .6s var(--ease) both}
.cx .stage[data-show="adlab"] .ad-say{margin:0;padding-left:54px;font-size:13.5px;line-height:1.5;color:var(--ink2)}
@keyframes adIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:560px){
  .cx .stage[data-show="adlab"] .ad-row{grid-template-columns:70px minmax(0,1fr) 54px 36px;gap:10px;font-size:13.5px}
  .cx .stage[data-show="adlab"] .ad-say{padding-left:0}
}
.cx .stage[data-show="adlab"] .console.moved .ad-key{opacity:0}
/* BrandLab: the kit, open on the table. One accent drives every surface. */
.cx .stage[data-show="brandlab"] .console{--bl-acc:#B8553A;--bl-ink:#16151C;--bl-paper:#EFEAE2}
.cx .stage[data-show="brandlab"] .bl-mk{display:block;flex:0 0 auto;fill:var(--bl-acc);transition:fill .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] figure{margin:0}
.cx .stage[data-show="brandlab"] figcaption{font-size:12.5px;line-height:1.3;color:var(--ink2)}
/* logo system */
.cx .stage[data-show="brandlab"] .bl-logos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.62fr);gap:14px}
.cx .stage[data-show="brandlab"] .bl-tile{display:grid;gap:8px;align-content:start;min-width:0}
.cx .stage[data-show="brandlab"] .bl-plate{height:clamp(80px,6.4vw,88px);border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bl-ink);box-shadow:inset 0 0 0 1px rgba(239,234,226,.09);transition:background-color .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] .bl-light .bl-plate{background:var(--bl-paper);box-shadow:none}
.cx .stage[data-show="brandlab"] .bl-alone .bl-plate{background:var(--bl-acc);box-shadow:none}
.cx .stage[data-show="brandlab"] .bl-alone .bl-mk{width:42px;height:42px;fill:var(--bl-ink)}
.cx .stage[data-show="brandlab"] .bl-lock{display:flex;align-items:center;gap:.36em;font-size:clamp(19px,1.7vw,24px)}
.cx .stage[data-show="brandlab"] .bl-lock .bl-mk{width:1.3em;height:1.3em}
.cx .stage[data-show="brandlab"] .bl-word{font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.01em;white-space:nowrap;color:var(--bone)}
.cx .stage[data-show="brandlab"] .bl-light .bl-word,.cx .stage[data-show="brandlab"] .bl-sign .bl-word{color:var(--bl-ink)}
/* color and type */
.cx .stage[data-show="brandlab"] .bl-ct{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(22px,3vw,40px);margin-top:clamp(20px,2vw,24px)}
.cx .stage[data-show="brandlab"] .bl-sws{display:flex;gap:10px;align-items:flex-start}
.cx .stage[data-show="brandlab"] .bl-sw{flex:1 1 0;min-width:0;display:grid;gap:8px;align-content:start;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left}
.cx .stage[data-show="brandlab"] button.bl-sw{cursor:pointer;outline:0}
.cx .stage[data-show="brandlab"] .bl-chip{position:relative;display:block;height:40px;border-radius:8px;background:var(--c);transition:box-shadow .35s var(--ease),transform .4s var(--ease)}
.cx .stage[data-show="brandlab"] .bl-fix .bl-chip{box-shadow:inset 0 0 0 1px rgba(239,234,226,.12)}
.cx .stage[data-show="brandlab"] button.bl-sw:hover .bl-chip{transform:translateY(-2px)}
.cx .stage[data-show="brandlab"] .bl-sw[aria-pressed="true"] .bl-chip{box-shadow:0 0 0 2px #0A0A0F,0 0 0 3.5px var(--bone)}
.cx .stage[data-show="brandlab"] button.bl-sw:focus-visible .bl-chip{outline:1.5px solid var(--ember);outline-offset:6px}
.cx .stage[data-show="brandlab"] .bl-chip svg{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;fill:none;stroke:var(--bone);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.6);transition:opacity .3s,transform .45s var(--ease)}
.cx .stage[data-show="brandlab"] .bl-sw[aria-pressed="true"] .bl-chip svg{opacity:1;transform:none}
.cx .stage[data-show="brandlab"] .bl-nm{font-size:13.5px;line-height:1.2;color:var(--bone-2)}
.cx .stage[data-show="brandlab"] .bl-hx{margin-top:-3px;font:10.5px/1.25 var(--mono);letter-spacing:.04em;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="brandlab"] .bl-sep{flex:0 0 1px;align-self:stretch;margin:0 4px;background:var(--line)}
.cx .stage[data-show="brandlab"] .bl-faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cx .stage[data-show="brandlab"] .bl-face{display:grid;gap:8px;align-content:start;min-width:0}
.cx .stage[data-show="brandlab"] .bl-aa{display:block;height:40px;font:500 40px/40px var(--sans);letter-spacing:-.045em;color:var(--bone)}
.cx .stage[data-show="brandlab"] .bl-aa.bl-serif{font:400 48px/40px var(--serif);letter-spacing:-.01em}
/* the thread */
.cx .stage[data-show="brandlab"] .bl-checks{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;font-size:12.5px;line-height:1.3;color:var(--ink2)}
.cx .stage[data-show="brandlab"] .bl-checks li{display:inline-flex;align-items:center;gap:6px}
.cx .stage[data-show="brandlab"] .bl-checks svg{width:12px;height:12px;fill:none;stroke:var(--up);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* templates: every surface drawn from the same kit */
.cx .stage[data-show="brandlab"] .bl-tpl{container-type:inline-size;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cx .stage[data-show="brandlab"] .bl-t{--th:min(134px,12cqw);flex:0 0 auto;display:grid;gap:8px;align-content:start;min-width:0}
.cx .stage[data-show="brandlab"] .bl-post{width:var(--th);--bl-dl:.08s}
.cx .stage[data-show="brandlab"] .bl-story{width:calc(var(--th)*.5625);--bl-dl:.16s}
.cx .stage[data-show="brandlab"] .bl-sign{width:calc(var(--th)*1.5);--bl-dl:.24s}
.cx .stage[data-show="brandlab"] .bl-mail{flex:1 1 0;max-width:calc(var(--th)*4.6);--bl-dl:.32s}
.cx .stage[data-show="brandlab"] .bl-art{position:relative;height:var(--th);border-radius:8px;overflow:hidden;background:var(--bl-ink);box-shadow:inset 0 0 0 1px rgba(239,234,226,.09);transition:background-color .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] .bl-hl{display:block;font:400 max(11px,calc(var(--th)*.15))/1.02 var(--serif);letter-spacing:-.01em;color:var(--bone)}
.cx .stage[data-show="brandlab"] .bl-mini{display:flex;align-items:center;gap:5px;font:400 max(10px,calc(var(--th)*.075))/1 var(--serif);white-space:nowrap;color:var(--bone)}
.cx .stage[data-show="brandlab"] .bl-mini .bl-mk{width:1.25em;height:1.25em}
.cx .stage[data-show="brandlab"] .bl-post .bl-art{background:var(--bl-acc);box-shadow:none}
.cx .stage[data-show="brandlab"] .bl-post .bl-mini{position:absolute;top:calc(var(--th)*.09);left:calc(var(--th)*.09)}
.cx .stage[data-show="brandlab"] .bl-post .bl-mini .bl-mk{fill:var(--bone)}
.cx .stage[data-show="brandlab"] .bl-post .bl-hl{position:absolute;z-index:1;left:calc(var(--th)*.09);top:calc(var(--th)*.25);max-width:calc(var(--th)*.66)}
.cx .stage[data-show="brandlab"] .bl-post .bl-big{position:absolute;right:calc(var(--th)*-.1);bottom:calc(var(--th)*-.05);width:calc(var(--th)*.62);height:calc(var(--th)*.62);fill:var(--bl-ink)}
.cx .stage[data-show="brandlab"] .bl-story .bl-art{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;padding:calc(var(--th)*.1) 6px calc(var(--th)*.08);text-align:center}
.cx .stage[data-show="brandlab"] .bl-sun{width:calc(var(--th)*.24);height:calc(var(--th)*.24)}
.cx .stage[data-show="brandlab"] .bl-story .bl-hl{font-size:max(10px,calc(var(--th)*.1))}
.cx .stage[data-show="brandlab"] .bl-cta{padding:max(4px,calc(var(--th)*.03)) max(8px,calc(var(--th)*.06));border-radius:999px;background:var(--bl-acc);font:600 max(10px,calc(var(--th)*.065))/1 var(--sans);color:var(--bone);transition:background-color .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] .bl-sign .bl-art{display:flex;flex-direction:column;background:var(--bl-paper);box-shadow:none}
.cx .stage[data-show="brandlab"] .bl-sign .bl-lock{flex:1 1 auto;justify-content:center;font-size:max(12px,calc(var(--th)*.15))}
.cx .stage[data-show="brandlab"] .bl-band{padding:calc(var(--th)*.065) 6px;background:var(--bl-acc);text-align:center;font:500 max(10px,calc(var(--th)*.07))/1.1 var(--sans);letter-spacing:.02em;color:var(--bone);transition:background-color .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] .bl-mail .bl-art{display:flex}
.cx .stage[data-show="brandlab"] .bl-mtxt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:calc(var(--th)*.1) calc(var(--th)*.12)}
.cx .stage[data-show="brandlab"] .bl-mail .bl-hl{font-size:max(11px,calc(var(--th)*.17));max-width:11em}
.cx .stage[data-show="brandlab"] .bl-panel{position:relative;flex:0 0 28%;overflow:hidden;background:var(--bl-acc);transition:background-color .9s var(--ease) var(--bl-dl,0s)}
.cx .stage[data-show="brandlab"] .bl-panel .bl-big{position:absolute;left:50%;bottom:calc(var(--th)*-.06);width:calc(var(--th)*.7);height:calc(var(--th)*.7);margin-left:calc(var(--th)*-.35);fill:var(--bl-ink)}
/* entrance: the kit is laid out, then the surfaces arrive */
@keyframes blRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cx .stage[data-show="brandlab"] .console.in-view .bl-tile,.cx .stage[data-show="brandlab"] .console.in-view .bl-t{animation:blRise 1s var(--ease) both}
.cx .stage[data-show="brandlab"] .console.in-view .bl-light{animation-delay:.08s}
.cx .stage[data-show="brandlab"] .console.in-view .bl-alone{animation-delay:.16s}
.cx .stage[data-show="brandlab"] .console.in-view .bl-post{animation-delay:.3s}
.cx .stage[data-show="brandlab"] .console.in-view .bl-story{animation-delay:.4s}
.cx .stage[data-show="brandlab"] .console.in-view .bl-sign{animation-delay:.5s}
.cx .stage[data-show="brandlab"] .console.in-view .bl-mail{animation-delay:.6s}
@media (max-width:860px){
  .cx .stage[data-show="brandlab"] .bl-t{--th:min(132px,16cqw)}
}
@media (max-width:560px){
  .cx .stage[data-show="brandlab"] .bl-logos{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr);gap:10px}
  .cx .stage[data-show="brandlab"] .bl-plate{height:92px}
  .cx .stage[data-show="brandlab"] .bl-tile .bl-lock{flex-direction:column;gap:7px;font-size:16px}
  .cx .stage[data-show="brandlab"] .bl-alone .bl-mk{width:34px;height:34px}
  .cx .stage[data-show="brandlab"] .bl-ct{grid-template-columns:minmax(0,1fr)}
  .cx .stage[data-show="brandlab"] .bl-sws{gap:8px}
  .cx .stage[data-show="brandlab"] .bl-sep{margin:0 2px}
  .cx .stage[data-show="brandlab"] .bl-tpl{flex-wrap:wrap;gap:18px 12px}
  .cx .stage[data-show="brandlab"] .bl-post{width:calc((100cqw - 12px)*.638);--th:calc((100cqw - 12px)*.638)}
  .cx .stage[data-show="brandlab"] .bl-story{width:calc((100cqw - 12px)*.358);--th:calc((100cqw - 12px)*.638)}
  .cx .stage[data-show="brandlab"] .bl-sign{width:calc((100cqw - 12px)*.428);--th:calc((100cqw - 12px)*.285)}
  .cx .stage[data-show="brandlab"] .bl-mail{flex:0 0 auto;max-width:none;width:calc((100cqw - 12px)*.568);--th:calc((100cqw - 12px)*.285)}
  .cx .stage[data-show="brandlab"] .bl-panel{flex-basis:28%}
}
/* ContentLab: a week of posts, waiting for one tap */
.cx .stage[data-show="contentlab"] .cl-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0 14px}
.cx .stage[data-show="contentlab"] .cl-day{display:flex;flex-direction:column;min-width:0}
.cx .stage[data-show="contentlab"] .cl-dh{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line);font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="contentlab"] .cl-dh span{font:500 15px/1 var(--sans);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}
.cx .stage[data-show="contentlab"] .cl-ps{flex:1 1 auto;display:flex;flex-direction:column;gap:16px}
.cx .stage[data-show="contentlab"] .cl-p{position:relative;display:flex;flex-direction:column;min-width:0}
.cx .stage[data-show="contentlab"] .cl-tall{flex:1 1 auto}
/* the thumbnails: small film stills, drawn, never photos */
.cx .stage[data-show="contentlab"] .cl-th{position:relative;flex:0 0 auto;height:80px;border-radius:10px;overflow:hidden;isolation:isolate;background:#15110f}
.cx .stage[data-show="contentlab"] .cl-tall .cl-th{flex:1 1 auto;height:auto;min-height:150px}
.cx.cx.cx .stage[data-show="contentlab"] .cl-tall .cl-th{min-height:150px}
.cx .stage[data-show="contentlab"] .cl-th::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(130% 100% at 50% 35%,transparent 52%,rgba(0,0,0,.5)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='cln'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .92 0 0 0 0 .82 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23cln)'/%3E%3C/svg%3E");box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);transition:box-shadow .45s var(--ease)}
.cx .stage[data-show="contentlab"] .cl-on .cl-th::after{box-shadow:inset 0 0 0 1.5px rgba(111,211,163,.6);transition-delay:calc(.15s + var(--i) * .09s)}
/* before and after */
.cx .stage[data-show="contentlab"] .cl-ba{background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.28) 60% 63%,transparent 63%),repeating-linear-gradient(90deg,rgba(0,0,0,.2) 0 1px,transparent 1px 18px),linear-gradient(90deg,#3a3531 0 50%,transparent 50%),linear-gradient(155deg,#F4CD93 0%,#E0A45A 28%,#C0582A 68%,#5b2414 100%)}
.cx .stage[data-show="contentlab"] .cl-ba::before{content:"";position:absolute;z-index:2;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:rgba(239,234,226,.9)}
.cx .stage[data-show="contentlab"] .cl-knob{position:absolute;z-index:2;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--bone);box-shadow:0 2px 10px rgba(0,0,0,.45)}
/* a deck at dusk */
.cx .stage[data-show="contentlab"] .cl-dusk{background:repeating-linear-gradient(180deg,rgba(255,190,130,.17) 0 1px,transparent 1px 6px) 0 100%/100% 36% no-repeat,radial-gradient(circle 46px at 66% 64%,rgba(255,226,176,.95) 0 9px,rgba(255,170,100,.5) 12px,rgba(255,120,60,0) 46px),linear-gradient(180deg,#1b0f14 0%,#4d2019 30%,#c85a2a 56%,#f0a05a 63.8%,#231310 64%,#100b09 100%)}
.cx .stage[data-show="contentlab"] .cl-dusk2{background:linear-gradient(180deg,transparent 63%,#0c0807 63% 65%,transparent 65%),repeating-linear-gradient(90deg,#0c0807 0 3px,transparent 3px 15px) 0 100%/100% 35% no-repeat,radial-gradient(circle 70px at 26% 61%,rgba(255,226,176,.92) 0 10px,rgba(255,160,90,.45) 16px,rgba(255,120,60,0) 70px),linear-gradient(180deg,#140b12 0%,#3b1a1c 28%,#a8462a 52%,#e98f4c 60%,#4a2216 66%,#120b09 100%)}
/* a backsplash reel */
.cx .stage[data-show="contentlab"] .cl-tile{background:repeating-linear-gradient(0deg,rgba(24,16,11,.6) 0 1.5px,transparent 1.5px 13px) 0 0/100% 62% no-repeat,repeating-linear-gradient(90deg,rgba(24,16,11,.6) 0 1.5px,transparent 1.5px 26px) 0 0/100% 62% no-repeat,linear-gradient(180deg,transparent 62%,rgba(255,236,205,.75) 62% 63.2%,rgba(0,0,0,.5) 63.2% 66%,transparent 66%),repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 1px,transparent 1px 38%) 0 100%/100% 34% no-repeat,linear-gradient(180deg,transparent 62%,#3a2a1f 62%,#1a120d 100%),linear-gradient(172deg,#f2e9dc 0%,#cdb89a 32%,#86644a 64%,#2d1f16 100%)}
.cx .stage[data-show="contentlab"] .cl-reel .cl-th::before{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(6,6,10,.62))}
.cx .stage[data-show="contentlab"] .cl-play{position:absolute;z-index:4;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:rgba(8,8,12,.45);box-shadow:inset 0 0 0 1px rgba(239,234,226,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cx .stage[data-show="contentlab"] .cl-play::before{content:"";position:absolute;left:15px;top:12px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--bone)}
.cx .stage[data-show="contentlab"] .cl-dur{position:absolute;z-index:4;left:9px;bottom:13px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;color:var(--bone)}
.cx .stage[data-show="contentlab"] .cl-prog{position:absolute;z-index:4;left:9px;right:9px;bottom:7px;height:2px;border-radius:2px;background:rgba(239,234,226,.22)}
.cx .stage[data-show="contentlab"] .cl-prog::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);border-radius:inherit;background:var(--ember)}
/* a review turned into a post */
.cx .stage[data-show="contentlab"] .cl-rev{background:radial-gradient(90% 90% at 100% 0%,rgba(255,75,26,.32),transparent 60%),linear-gradient(160deg,#2b1d16,#120d0b)}
.cx .stage[data-show="contentlab"] .cl-qm{position:absolute;z-index:2;right:12px;top:-2px;font:italic 400 54px/1 var(--serif);color:var(--ember)}
.cx .stage[data-show="contentlab"] .cl-l1,.cx .stage[data-show="contentlab"] .cl-l2{position:absolute;z-index:2;left:12px;height:4px;border-radius:2px;background:rgba(239,234,226,.5)}
.cx .stage[data-show="contentlab"] .cl-l2{background:rgba(239,234,226,.28)}
.cx .stage[data-show="contentlab"] .cl-rev .cl-l1{top:42%;width:60%}.cx .stage[data-show="contentlab"] .cl-rev .cl-l2{top:calc(42% + 10px);width:42%}
.cx .stage[data-show="contentlab"] .cl-stars{position:absolute;z-index:2;left:12px;bottom:12px;display:flex;gap:3px}
.cx .stage[data-show="contentlab"] .cl-stars i{width:9px;height:9px;background:var(--gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
/* a portrait, backlit */
.cx .stage[data-show="contentlab"] .cl-port{background:radial-gradient(55% 80% at 50% 30%,#E7B36E 0%,#a5532a 36%,#3a1a12 70%,#140d0b 100%)}
.cx .stage[data-show="contentlab"] .cl-port svg{position:absolute;inset:0;width:100%;height:100%}
/* a carousel: the stack behind shows the slides */
.cx .stage[data-show="contentlab"] .cl-car{margin:0 8px 8px 0;background:linear-gradient(165deg,#3a281e 0%,#1e1512 60%,#140f0d 100%);box-shadow:4px 4px 0 0 #33251d,8px 8px 0 0 #211914}
.cx .stage[data-show="contentlab"] .cl-car .cl-l1{top:40px;width:58%}.cx .stage[data-show="contentlab"] .cl-car .cl-l2{top:50px;width:38%}
.cx .stage[data-show="contentlab"] .cl-num{position:absolute;z-index:2;left:12px;bottom:28px;font:italic 400 84px/.8 var(--serif);color:var(--ember)}
.cx .stage[data-show="contentlab"] .cl-pips{position:absolute;z-index:4;left:0;right:0;bottom:11px;display:flex;justify-content:center;gap:5px}
.cx .stage[data-show="contentlab"] .cl-pips i{width:5px;height:5px;border-radius:50%;background:rgba(239,234,226,.3)}
.cx .stage[data-show="contentlab"] .cl-pips i:first-child{background:var(--bone)}
/* a bath window */
.cx .stage[data-show="contentlab"] .cl-arch{background:radial-gradient(50% 36% at 50% 100%,rgba(255,196,130,.28),transparent 70%),linear-gradient(180deg,#1d1612,#0f0c0a)}
.cx .stage[data-show="contentlab"] .cl-win{position:absolute;z-index:1;left:50%;top:14%;width:26%;height:62%;transform:translateX(-50%);border-radius:999px 999px 3px 3px;background:linear-gradient(180deg,#FFE7BE 0%,#EDB36A 55%,#C4622C 100%);box-shadow:0 0 28px 4px rgba(255,170,90,.35)}
.cx .stage[data-show="contentlab"] .cl-win::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;margin-left:-.75px;background:rgba(20,12,8,.55)}
.cx .stage[data-show="contentlab"] .cl-win::after{content:"";position:absolute;left:0;right:0;top:48%;height:1.5px;background:rgba(20,12,8,.55)}
/* a cabinet close up */
.cx .stage[data-show="contentlab"] .cl-grain{background:radial-gradient(circle 15px at 72% 50%,#FFE6B5 0 2px,#E6AE62 5px,#8a5424 9px,rgba(20,10,5,.55) 11.5px,transparent 15px),linear-gradient(90deg,transparent 58%,rgba(10,5,2,.6) 58% 59%,transparent 59%),repeating-linear-gradient(98deg,rgba(40,18,8,.28) 0 1.5px,transparent 1.5px 7px,rgba(255,210,150,.06) 7px 8px,transparent 8px 13px),linear-gradient(98deg,#5e3119 0%,#9c5a2c 42%,#6d3a1c 70%,#3e2012 100%)}
/* a porch at night */
.cx .stage[data-show="contentlab"] .cl-porch{background:linear-gradient(90deg,transparent 16%,#0b0807 16% 22%,transparent 22% 78%,#0b0807 78% 84%,transparent 84%),linear-gradient(180deg,#0b0807 0 10%,transparent 10%),radial-gradient(38% 60% at 50% 70%,rgba(255,186,110,.5),transparent 72%),linear-gradient(180deg,#1f1813 0%,#2e2119 74%,#4a3322 74.6%,#1a130f 100%)}
.cx .stage[data-show="contentlab"] .cl-door{position:absolute;z-index:1;left:50%;bottom:26%;width:16%;height:46%;transform:translateX(-50%);border-radius:2px 2px 0 0;background:linear-gradient(180deg,#FFD9A0,#D98E48);box-shadow:0 0 22px 3px rgba(255,170,90,.3)}
/* words under each still */
.cx .stage[data-show="contentlab"] .cl-tx{padding-top:10px;min-width:0}
.cx .stage[data-show="contentlab"] .cl-tt{margin:0;font-size:13px;line-height:1.35;font-weight:500;color:var(--ink);text-wrap:balance}
.cx .stage[data-show="contentlab"] .cl-mr{margin-top:3px}
.cx .stage[data-show="contentlab"] .cl-m{font-size:11.5px;line-height:1.4;color:var(--ink2)}
/* state: ready, then scheduled */
.cx .stage[data-show="contentlab"] .cl-st{position:absolute;top:8px;left:8px;z-index:5;display:grid;justify-items:start}
.cx .stage[data-show="contentlab"] .cl-s0,.cx .stage[data-show="contentlab"] .cl-s1{grid-area:1/1;display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 8px;border-radius:999px;background:rgba(8,8,12,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:opacity .4s var(--ease),visibility .4s,transform .4s var(--ease)}
.cx .stage[data-show="contentlab"] .cl-s0{color:var(--ink)}
.cx .stage[data-show="contentlab"] .cl-s0::before{content:"";width:6px;height:6px;border-radius:50%;border:1.5px solid var(--ember)}
.cx .stage[data-show="contentlab"] .cl-s1{color:var(--up);opacity:0;visibility:hidden;transform:translateY(4px)}
.cx .stage[data-show="contentlab"] .cl-s1::before{content:"";width:7px;height:3.5px;margin:-3px 1px 0 0;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.cx .stage[data-show="contentlab"] .cl-on .cl-s0{opacity:0;visibility:hidden;transform:translateY(-4px)}
.cx .stage[data-show="contentlab"] .cl-on .cl-s1{opacity:1;visibility:visible;transform:none}
.cx .stage[data-show="contentlab"] .cl-on .cl-s0,.cx .stage[data-show="contentlab"] .cl-on .cl-s1{transition-delay:calc(.15s + var(--i) * .09s)}
/* numbers and the reach curve */
.cx .stage[data-show="contentlab"] .cl-nums{min-width:0}
.cx .stage[data-show="contentlab"] .cl-reach{margin-top:26px}
.cx .stage[data-show="contentlab"] .cl-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.cx .stage[data-show="contentlab"] .cl-bar{min-width:0;text-align:center}
.cx .stage[data-show="contentlab"] .cl-col{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:70px;border-bottom:1px solid var(--lineh)}
.cx .stage[data-show="contentlab"] .cl-col b{margin-bottom:7px;font:500 10.5px/1 var(--mono);letter-spacing:.04em;color:var(--ink2);font-variant-numeric:tabular-nums}
.cx .stage[data-show="contentlab"] .cl-col i{display:block;width:54%;height:calc(48px * var(--v));border-radius:3px 3px 0 0;background:linear-gradient(180deg,rgba(255,75,26,.34),rgba(255,75,26,.05));box-shadow:inset 0 2px 0 rgba(255,75,26,.9);transform-origin:50% 100%}
.cx .stage[data-show="contentlab"] .cl-now .cl-col b{color:var(--ink);font-weight:600}
.cx .stage[data-show="contentlab"] .cl-now .cl-col i{background:linear-gradient(180deg,rgba(255,75,26,.72),rgba(255,75,26,.14));box-shadow:inset 0 2px 0 var(--ember),0 -10px 28px -12px rgba(255,75,26,.6)}
.cx .stage[data-show="contentlab"] .cl-bar>span{display:block;margin-top:8px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
/* the thread */
.cx .stage[data-show="contentlab"] .cl-done b{color:var(--up)}
.cx .stage[data-show="contentlab"] .cl-done:not([hidden]){animation:clIn .6s var(--ease) both}
/* entrance: slow and quiet */
.cx .stage[data-show="contentlab"] .console.in-view .cl-p{animation:clRise 1s var(--ease) both;animation-delay:calc(.3s + var(--i) * .07s)}
.cx .stage[data-show="contentlab"] .console.in-view .cl-col i{animation:clGrow 1.2s var(--ease) both;animation-delay:calc(.6s + var(--i) * .08s)}
@keyframes clIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes clRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes clGrow{from{transform:scaleY(0)}to{transform:none}}
/* narrower screens: the week becomes an agenda, grouped by day */
@media (max-width:1080px){
  .cx .stage[data-show="contentlab"] .cl-week{grid-template-columns:minmax(0,1fr);gap:0}
  .cx .stage[data-show="contentlab"] .cl-day{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 18px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
  .cx .stage[data-show="contentlab"] .cl-day:first-child{padding-top:2px;border-top:0}
  .cx .stage[data-show="contentlab"] .cl-dh{flex-direction:column;align-items:flex-start;gap:7px;margin:0;padding:4px 0 0;border:0}
  .cx .stage[data-show="contentlab"] .cl-ps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
  .cx .stage[data-show="contentlab"] .cl-p{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 14px;align-items:center}
  .cx .stage[data-show="contentlab"] .cl-th,.cx .stage[data-show="contentlab"] .cl-tall .cl-th{height:64px;min-height:0}
  .cx.cx.cx .stage[data-show="contentlab"] .cl-th,.cx.cx.cx .stage[data-show="contentlab"] .cl-tall .cl-th{min-height:0}
  .cx .stage[data-show="contentlab"] .cl-reel .cl-th{height:96px}
  .cx .stage[data-show="contentlab"] .cl-car{margin:0 5px 5px 0;box-shadow:3px 3px 0 0 #33251d,6px 6px 0 0 #211914}
  .cx .stage[data-show="contentlab"] .cl-tx{padding:0}
  .cx .stage[data-show="contentlab"] .cl-mr{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:5px}
  .cx .stage[data-show="contentlab"] .cl-st{position:static}
  .cx .stage[data-show="contentlab"] .cl-s0,.cx .stage[data-show="contentlab"] .cl-s1{padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .cx .stage[data-show="contentlab"] .cl-reel .cl-th::before{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(6,6,10,.62))}
.cx .stage[data-show="contentlab"] .cl-play{width:24px;height:24px;margin:-12px 0 0 -12px}
  .cx .stage[data-show="contentlab"] .cl-play::before{left:9px;top:7px;border-width:5px 0 5px 8px}
  .cx .stage[data-show="contentlab"] .cl-dur{left:6px;bottom:10px}
  .cx .stage[data-show="contentlab"] .cl-prog{left:6px;right:6px;bottom:5px}
  .cx .stage[data-show="contentlab"] .cl-qm{right:6px;top:-1px;font-size:32px}
  .cx .stage[data-show="contentlab"] .cl-l1,.cx .stage[data-show="contentlab"] .cl-l2{left:8px;height:3px}
  .cx .stage[data-show="contentlab"] .cl-rev .cl-l1{top:36%;width:56%}.cx .stage[data-show="contentlab"] .cl-rev .cl-l2{top:calc(36% + 7px);width:38%}
  .cx .stage[data-show="contentlab"] .cl-stars{left:8px;bottom:8px;gap:2px}
  .cx .stage[data-show="contentlab"] .cl-stars i{width:7px;height:7px}
  .cx .stage[data-show="contentlab"] .cl-car .cl-l1{top:10px;width:50%}.cx .stage[data-show="contentlab"] .cl-car .cl-l2{top:17px;width:34%}
  .cx .stage[data-show="contentlab"] .cl-num{left:8px;bottom:10px;font-size:34px}
  .cx .stage[data-show="contentlab"] .cl-pips{bottom:6px;gap:3px}
  .cx .stage[data-show="contentlab"] .cl-pips i{width:3.5px;height:3.5px}
  .cx .stage[data-show="contentlab"] .cl-knob{width:12px;height:12px;margin:-6px 0 0 -6px}
}
@media (max-width:560px){
  .cx .stage[data-show="contentlab"] .cl-day{grid-template-columns:minmax(0,1fr);gap:12px 0;padding:16px 0}
  .cx .stage[data-show="contentlab"] .cl-dh{flex-direction:row;align-items:baseline;gap:8px;padding:0}
  .cx .stage[data-show="contentlab"] .cl-ps{grid-template-columns:minmax(0,1fr);gap:12px}
  .cx .stage[data-show="contentlab"] .cl-p{grid-template-columns:56px minmax(0,1fr)}
  .cx .stage[data-show="contentlab"] .cl-th,.cx .stage[data-show="contentlab"] .cl-tall .cl-th{height:56px}
  .cx .stage[data-show="contentlab"] .cl-reel .cl-th{height:84px}
}
/* Marketing OS: the 6:58 brief / One message and four lanes of the night and two decisions */
.cx .stage[data-show="marketingos"] .mo-brief{display:grid;gap:14px}
.cx .stage[data-show="marketingos"] .mo-brief+.cn-rule{margin:clamp(18px,2.2vw,28px) 0}
.cx .stage[data-show="marketingos"] .mo-from{margin:0;display:flex;align-items:center;gap:11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="marketingos"] .mo-from i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 4px rgba(255,75,26,.16);transition:background .6s,box-shadow .6s}
.cx .stage[data-show="marketingos"] .mo-say{margin:0;max-width:34em;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,33px);line-height:1.16;letter-spacing:-.005em;color:var(--bone-2);text-wrap:pretty}
.cx .stage[data-show="marketingos"] .mo-need{font-style:italic;color:var(--bone);transition:opacity .4s}
.cx .stage[data-show="marketingos"] .console.mo-clear .mo-from i{background:var(--up);box-shadow:0 0 0 4px rgba(111,211,163,.16)}
/* headline numbers: two figures and one slim mix bar */
.cx .stage[data-show="marketingos"] .mo-kpis{grid-template-columns:minmax(0,.82fr) minmax(0,.82fr) minmax(0,1.6fr)}
.cx .stage[data-show="marketingos"] .mo-mix{gap:0}
.cx .stage[data-show="marketingos"] .mo-seg{display:flex;gap:3px;height:10px;margin:17px 0 14px}
.cx .stage[data-show="marketingos"] .mo-seg i{flex:var(--s) 1 0;min-width:0;border-radius:3px;background:rgba(239,234,226,.8)}
.cx .stage[data-show="marketingos"] .mo-seg i:first-child{border-radius:5px 3px 3px 5px}
.cx .stage[data-show="marketingos"] .mo-seg i:last-child{border-radius:3px 5px 5px 3px}
.cx .stage[data-show="marketingos"] .mo-leg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.cx .stage[data-show="marketingos"] .mo-leg span{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:13px;line-height:1.3;color:var(--ink2)}
.cx .stage[data-show="marketingos"] .mo-leg span::before{content:"";flex:0 0 auto;align-self:flex-start;width:8px;height:8px;margin-top:4.5px;border-radius:2px;background:rgba(239,234,226,.8)}
.cx .stage[data-show="marketingos"] .mo-seg i:nth-child(2),.cx .stage[data-show="marketingos"] .mo-leg span:nth-child(2)::before{background:rgba(239,234,226,.52)}
.cx .stage[data-show="marketingos"] .mo-seg i:nth-child(3),.cx .stage[data-show="marketingos"] .mo-leg span:nth-child(3)::before{background:rgba(239,234,226,.32)}
.cx .stage[data-show="marketingos"] .mo-seg i:nth-child(4),.cx .stage[data-show="marketingos"] .mo-leg span:nth-child(4)::before{background:rgba(239,234,226,.18)}
.cx .stage[data-show="marketingos"] .mo-leg b{font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}
.cx .stage[data-show="marketingos"] .mo-mix small{margin-top:9px}
@media (min-width:861px){.cx .stage[data-show="marketingos"] .mo-kpis .cn-k{grid-template-rows:auto auto minmax(0,1fr)}.cx .stage[data-show="marketingos"] .mo-kpis .cn-k small{align-self:end}}
/* the centerpiece: four lanes of the night and each ending at the 6:58 line */
.cx .stage[data-show="marketingos"] .mo-lane,.cx .stage[data-show="marketingos"] .mo-axis{display:grid;grid-template-columns:132px minmax(0,1fr) 112px;column-gap:20px}
.cx .stage[data-show="marketingos"] .mo-lane{row-gap:6px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}
.cx .stage[data-show="marketingos"] .mo-lane:first-child{padding-top:2px;border-top:0}
.cx .stage[data-show="marketingos"] .mo-n{font-size:15px;font-weight:500;line-height:1.3;color:var(--ink)}
.cx .stage[data-show="marketingos"] .mo-strip{position:relative;height:18px}
.cx .stage[data-show="marketingos"] .mo-strip::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--lineh);transform-origin:left}
.cx .stage[data-show="marketingos"] .mo-strip::after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;margin-right:-1px;border-radius:1px;background:var(--ember)}
.cx .stage[data-show="marketingos"] .mo-strip i{position:absolute;left:calc(var(--x) * 1%);top:50%;width:2px;height:9px;margin:-4.5px 0 0 -1px;border-radius:1px;background:rgba(239,234,226,.42)}
.cx .stage[data-show="marketingos"] .mo-strip i.k{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--bone);box-shadow:0 0 0 3px #0A0A0F}
.cx .stage[data-show="marketingos"] .mo-st{justify-self:end}
.cx .stage[data-show="marketingos"] .mo-st::before{content:"";flex:0 0 auto;width:7px;height:3.5px;margin:-3px 2px 0 0;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.cx .stage[data-show="marketingos"] .mo-st.bad::before{width:6px;height:6px;margin:0 2px 0 0;border:0;border-radius:50%;background:currentColor;transform:none}
.cx .stage[data-show="marketingos"] .mo-s{grid-column:1 / 3;margin:0;font-size:14px;line-height:1.5;color:var(--bone-2)}
.cx .stage[data-show="marketingos"] .mo-s b{font-weight:600;color:var(--ink)}
.cx .stage[data-show="marketingos"] .mo-axis{margin-top:4px}
.cx .stage[data-show="marketingos"] .mo-ax{grid-column:2;position:relative;height:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink2)}
.cx .stage[data-show="marketingos"] .mo-ax span{position:absolute;top:0;left:calc(var(--x) * 1%);transform:translateX(-50%);white-space:nowrap}
.cx .stage[data-show="marketingos"] .mo-ax span:first-child{transform:none}
.cx .stage[data-show="marketingos"] .mo-ax span:last-child{left:auto;right:0;transform:translateX(50%);color:var(--ink)}
/* the decisions */
.cx .stage[data-show="marketingos"] .cn-rail{gap:14px}
.cx .stage[data-show="marketingos"] .cn-rail .cn-acts{margin:-4px 0 6px}
.cx .stage[data-show="marketingos"] .mo-ask div{transition:color .5s}
.cx .stage[data-show="marketingos"] .mo-ask.ok div{color:var(--ink2)}
.cx .stage[data-show="marketingos"] .cn-btn.mo-ok{min-width:118px;justify-content:center}
.cx .stage[data-show="marketingos"] .cn-btn.mo-ok[aria-pressed="true"]{background:rgba(111,211,163,.1);border-color:rgba(111,211,163,.55);color:var(--up)}
.cx .stage[data-show="marketingos"] .cn-btn.mo-ok[aria-pressed="true"]::before{content:"";width:8px;height:4px;margin:-3px 9px 0 0;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.cx .stage[data-show="marketingos"] .mo-done b{color:var(--up)}
.cx .stage[data-show="marketingos"] .mo-done:not([hidden]){animation:moIn .6s var(--ease) both}
/* entrance: the night plays left to right and then the line at 6:58 */
.cx .stage[data-show="marketingos"] .console.in-view .mo-lane{animation:moIn .9s var(--ease) both}
.cx .stage[data-show="marketingos"] .console.in-view .mo-lane:nth-child(2){animation-delay:.08s}
.cx .stage[data-show="marketingos"] .console.in-view .mo-lane:nth-child(3){animation-delay:.16s}
.cx .stage[data-show="marketingos"] .console.in-view .mo-lane:nth-child(4){animation-delay:.24s}
.cx .stage[data-show="marketingos"] .console.in-view .mo-strip::before{animation:moDraw 1.5s var(--ease) .3s both}
.cx .stage[data-show="marketingos"] .console.in-view .mo-strip i{animation:moTick .5s var(--ease) both;animation-delay:calc(.35s + var(--x) * 12ms)}
.cx .stage[data-show="marketingos"] .console.in-view .mo-strip::after{animation:moTick .6s var(--ease) 1.6s both}
.cx .stage[data-show="marketingos"] .console.in-view .mo-seg{animation:moWipe 1.3s var(--ease) .2s both}
.cx .stage[data-show="marketingos"] .console.in-view .mo-from i{animation:moBreath 3.6s ease-in-out 2s infinite}
@keyframes moIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes moDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes moTick{from{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:none}}
@keyframes moWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes moBreath{0%,100%{opacity:1}50%{opacity:.45}}
@media (max-width:860px){
  .cx .stage[data-show="marketingos"] .mo-kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cx .stage[data-show="marketingos"] .mo-mix,.cx .stage[data-show="marketingos"] .mo-mix:last-child{grid-column:1 / -1;padding:24px 0 0;margin-top:24px;border-left:0;border-top:1px solid var(--line)}
  .cx .stage[data-show="marketingos"] .mo-seg{margin-top:0}
  .cx .stage[data-show="marketingos"] .mo-leg{grid-template-columns:repeat(4,max-content);gap:8px 30px}
}
@media (max-width:560px){
  .cx .stage[data-show="marketingos"] .mo-x{display:none}
  .cx .stage[data-show="marketingos"] .mo-kpis{grid-template-columns:minmax(0,1fr)}
  .cx .stage[data-show="marketingos"] .mo-mix,.cx .stage[data-show="marketingos"] .mo-mix:last-child{display:block;margin-top:0;padding:16px 0 0}
  .cx .stage[data-show="marketingos"] .mo-seg{margin:0 0 14px}
  .cx .stage[data-show="marketingos"] .mo-leg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
  .cx .stage[data-show="marketingos"] .mo-mix small{display:block;margin-top:14px;text-align:left}
  .cx .stage[data-show="marketingos"] .mo-lane,.cx .stage[data-show="marketingos"] .mo-axis{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
  .cx .stage[data-show="marketingos"] .mo-lane{row-gap:8px;padding:13px 0}
  .cx .stage[data-show="marketingos"] .mo-lane:first-child{padding-top:0}
  .cx .stage[data-show="marketingos"] .mo-strip{grid-column:1 / -1;grid-row:2}
  .cx .stage[data-show="marketingos"] .mo-s{grid-column:1 / -1}
  .cx .stage[data-show="marketingos"] .mo-ax{grid-column:1 / -1}
  .cx .stage[data-show="marketingos"] .mo-ax span:last-child{transform:none}
  .cx .stage[data-show="marketingos"] .mo-strip::after{margin-right:0}
}
/* SearchLab: the map, street by street */
.cx .stage[data-show="searchlab"] .sl-top{display:grid;grid-template-columns:minmax(0,420px) minmax(180px,1fr);gap:0 clamp(22px,2.6vw,36px);align-items:stretch}
.cx .stage[data-show="searchlab"] .sl-top>.cn-h{grid-column:1;grid-row:1;flex-wrap:wrap;row-gap:6px}
.cx .stage[data-show="searchlab"] .sl-grid{grid-column:1;grid-row:2}
.cx .stage[data-show="searchlab"] .sl-side{grid-column:2;grid-row:2}
/* the grid: 49 points over a faint street map, the shop at the center */
.cx .stage[data-show="searchlab"] .sl-grid{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));aspect-ratio:1;container-type:inline-size}
.cx .stage[data-show="searchlab"] .sl-grid::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(69,208,140,.24),rgba(69,208,140,.07) 55%,rgba(69,208,140,0));transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.cx .stage[data-show="searchlab"] .sl-streets{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent);mask-image:radial-gradient(closest-side,#000 62%,transparent)}
.cx .stage[data-show="searchlab"] .sl-pt{position:relative;z-index:1;display:grid;place-items:center;min-width:0}
.cx .stage[data-show="searchlab"] .sl-pt b{display:grid;place-items:center;width:76%;aspect-ratio:1;border-radius:50%;font-weight:600;font-size:clamp(11px,3.4cqi,15px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;background-color:#17161C;color:var(--ash);box-shadow:inset 0 0 0 1px rgba(239,234,226,.08);transition:background-color .8s var(--ease),color .8s var(--ease),box-shadow .8s var(--ease);transition-delay:calc(var(--d,0) * 110ms)}
/* rank colors, the way a rank map is read everywhere: green is winning, then yellow, orange, red. The number inside each point carries the value, so color is never the only signal. */
.cx .stage[data-show="searchlab"] .sl-pt[data-l="b"] b{background-color:#F4D35E;color:var(--obsidian);box-shadow:inset 0 0 0 1px rgba(244,211,94,0)}
.cx .stage[data-show="searchlab"] .sl-pt[data-l="c"] b{background-color:#EE8434;color:var(--obsidian);box-shadow:inset 0 0 0 1px rgba(238,132,52,0)}
.cx .stage[data-show="searchlab"] .sl-pt[data-l="d"] b{background-color:#B92D2A;color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(185,45,42,0)}
.cx .stage[data-show="searchlab"] .sl-pt[data-l="a"] b{background-color:#45D08C;color:var(--obsidian);box-shadow:inset 0 0 0 1px rgba(69,208,140,0),0 0 22px -2px rgba(69,208,140,.55)}
.cx .stage[data-show="searchlab"] .sl-pt.me b{box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px var(--bone),0 0 26px 2px rgba(69,208,140,.5)}
.cx .stage[data-show="searchlab"] .sl-pt.me[data-l="c"] b,.cx .stage[data-show="searchlab"] .sl-pt.me[data-l="d"] b{box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px var(--bone)}
.cx .stage[data-show="searchlab"] .console.sl-then .sl-grid::before{opacity:.5;transform:scale(.7);background:radial-gradient(closest-side,rgba(185,45,42,.3),rgba(185,45,42,.08) 55%,rgba(185,45,42,0))}
.cx .stage[data-show="searchlab"] .console.in-view .sl-pt b{animation:slPop 1s var(--ease) both;animation-delay:calc(.2s + var(--d,0) * .13s)}
@keyframes slPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
/* beside the grid: the switch, the count, the key */
.cx .stage[data-show="searchlab"] .sl-side{display:flex;flex-direction:column;gap:26px;min-width:0}
.cx .stage[data-show="searchlab"] .sl-sw{display:flex;flex-wrap:wrap;gap:8px}
.cx .stage[data-show="searchlab"] .sl-sw .cn-btn[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
.cx .stage[data-show="searchlab"] .sl-read{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.cx .stage[data-show="searchlab"] .sl-big{display:flex;align-items:baseline;gap:10px;margin:0}
.cx .stage[data-show="searchlab"] .sl-big b{font-weight:600;font-size:clamp(44px,4.6vw,64px);line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.cx .stage[data-show="searchlab"] .sl-big span{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1;color:var(--bone-2)}
.cx .stage[data-show="searchlab"] .sl-d{align-self:flex-start;margin-top:14px}
.cx .stage[data-show="searchlab"] .sl-cap{margin:10px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .sl-say{margin:18px 0 0;max-width:30ch;font-size:14px;line-height:1.5;color:var(--bone-2);text-wrap:balance}
.cx .stage[data-show="searchlab"] .sl-key{list-style:none;margin:auto 0 0;padding:26px 0 0;display:grid;gap:11px;font-size:13px;color:var(--bone-2)}
.cx .stage[data-show="searchlab"] .sl-key li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center}
.cx .stage[data-show="searchlab"] .sl-key i{width:12px;height:12px;border-radius:50%}
.cx .stage[data-show="searchlab"] .sl-key em{font:500 12.5px var(--mono);font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .k-a{background:#45D08C}
.cx .stage[data-show="searchlab"] .k-b{background:#F4D35E}
.cx .stage[data-show="searchlab"] .k-c{background:#EE8434}
.cx .stage[data-show="searchlab"] .k-d{background:#B92D2A}
.cx .stage[data-show="searchlab"] .k-me{box-shadow:0 0 0 1.5px var(--bone)}
/* the rank line: twelve weeks, the competitor dip, the week on show */
.cx .stage[data-show="searchlab"] .sl-trend{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px 16px;margin-bottom:8px}
.cx .stage[data-show="searchlab"] .sl-y{display:flex;flex-direction:column;justify-content:space-between;margin:-6px 0;font-family:var(--mono);font-size:10.5px;text-align:right;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .sl-plot{position:relative;height:clamp(92px,8.4vw,112px);margin:0 16px 0 0}
.cx .stage[data-show="searchlab"] .sl-plot svg{display:block;width:100%;height:100%;overflow:visible}
.cx .stage[data-show="searchlab"] .sl-flag{position:absolute;top:0;bottom:21.43%;width:0}
.cx .stage[data-show="searchlab"] .sl-flag::before{content:"";position:absolute;left:-4.5px;bottom:-4.5px;width:9px;height:9px;border-radius:50%;background:#0A0A0F;box-shadow:inset 0 0 0 1.5px var(--down)}
.cx .stage[data-show="searchlab"] .sl-flag::after{content:"";position:absolute;left:0;top:6px;bottom:8px;border-left:1px dashed rgba(255,138,102,.5)}
.cx .stage[data-show="searchlab"] .sl-flag span{position:absolute;left:8px;top:0;white-space:nowrap;font-family:var(--mono);font-size:10.5px;line-height:1.2;letter-spacing:.06em;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .sl-dot{position:absolute;left:100%;top:14.29%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.5);transition:left 1.1s var(--ease),top 1.1s var(--ease)}
.cx .stage[data-show="searchlab"] .console.sl-then .sl-dot{left:0;top:92.86%}
.cx .stage[data-show="searchlab"] .sl-end,.cx .stage[data-show="searchlab"] .sl-start{position:absolute;font:600 13px/1 var(--sans);font-variant-numeric:tabular-nums}
.cx .stage[data-show="searchlab"] .sl-end{left:100%;top:14.29%;margin:-26px 0 0 -10px;color:var(--ink)}
.cx .stage[data-show="searchlab"] .sl-start{left:0;top:92.86%;margin:-24px 0 0 2px;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .sl-x{grid-column:2;position:relative;height:14px;margin-right:16px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.cx .stage[data-show="searchlab"] .sl-x span{position:absolute;top:0;white-space:nowrap}
.cx .stage[data-show="searchlab"] .sl-x span:first-child{left:0}
.cx .stage[data-show="searchlab"] .sl-x span:nth-child(2){transform:translateX(-50%)}
.cx .stage[data-show="searchlab"] .sl-x span:last-child{right:0}
.cx .stage[data-show="searchlab"] .cn-msg.wait b{color:var(--ink)}
@media (max-width:1320px){.cx .stage[data-show="searchlab"] .sl-top{grid-template-columns:minmax(0,400px) minmax(176px,1fr)}}
@media (max-width:560px){
  .cx .stage[data-show="searchlab"] .sl-long{display:none}
  .cx .stage[data-show="searchlab"] .sl-top{grid-template-columns:minmax(0,1fr)}
  .cx .stage[data-show="searchlab"] .sl-top>.cn-h,.cx .stage[data-show="searchlab"] .sl-grid,.cx .stage[data-show="searchlab"] .sl-side{grid-column:1;grid-row:auto}
  .cx .stage[data-show="searchlab"] .sl-side{gap:22px;margin-top:24px}
  .cx .stage[data-show="searchlab"] .sl-read{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"big key" "pill key" "cap key" "say say";gap:0 18px;align-items:start}
  .cx .stage[data-show="searchlab"] .sl-big{grid-area:big}
  .cx .stage[data-show="searchlab"] .sl-d{grid-area:pill;justify-self:start;margin-top:12px}
  .cx .stage[data-show="searchlab"] .sl-cap{grid-area:cap}
  .cx .stage[data-show="searchlab"] .sl-say{grid-area:say;max-width:none;margin-top:18px}
  .cx .stage[data-show="searchlab"] .sl-key{grid-area:key;align-self:center;margin:0;padding:0 0 0 18px;border-left:1px solid var(--line);gap:9px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.cx .stage[data-show="searchlab"] .sl-grid::before{transition:none}}
/* SearchLight: every location, one wall */
.cx .stage[data-show="searchlight"] .lead{text-wrap:pretty}
.cx .stage[data-show="searchlight"] .sw-unit{margin-left:.18em;font-style:normal;font-size:.46em;font-weight:500;letter-spacing:0;color:var(--ink2)}
/* the wall: rows are locations, columns are signals */
.cx .stage[data-show="searchlight"] .sw-wall{--cols:104px repeat(5,minmax(0,1fr))}
.cx .stage[data-show="searchlight"] .sw-row{display:grid;grid-template-columns:var(--cols);align-items:stretch;min-height:50px;border-top:1px solid var(--line);transition:opacity .5s var(--ease)}
.cx.cx.cx .stage[data-show="searchlight"] .sw-row{min-height:50px}
.cx .stage[data-show="searchlight"] .sw-head{min-height:0;padding-bottom:12px;border-top:0;align-items:end}
.cx.cx.cx .stage[data-show="searchlight"] .sw-head{min-height:0}
.cx .stage[data-show="searchlight"] .sw-rows{position:relative;border-bottom:1px solid var(--line)}
.cx .stage[data-show="searchlight"] .sw-ch{padding-left:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);white-space:nowrap;transition:color .4s,opacity .4s}
.cx .stage[data-show="searchlight"] .sw-sm{display:none}
.cx .stage[data-show="searchlight"] .sw-rh{align-self:center;font-size:14.5px;color:var(--ink);white-space:nowrap}
.cx .stage[data-show="searchlight"] .sw-c{display:flex;align-items:center;gap:9px;min-width:0;padding-left:12px;font-family:var(--mono);font-size:12.5px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--bone-2)}
.cx .stage[data-show="searchlight"] .sw-xc{padding:0 6px 0 2px}
/* state marks: a shape for each state, never color alone */
.cx .stage[data-show="searchlight"] .sw-m{position:relative;display:block;flex:0 0 10px;width:10px;height:10px}
.cx .stage[data-show="searchlight"] .sw-m::before{content:"";position:absolute;left:2px;top:2px;width:6px;height:6px;border-radius:50%;background:rgba(239,234,226,.3)}
.cx .stage[data-show="searchlight"] .warn .sw-m::before{left:0;top:1px;width:10px;height:9px;border-radius:0;background:var(--down);clip-path:polygon(0 0,100% 0,50% 100%)}
.cx .stage[data-show="searchlight"] .cx-fixed .sw-m::before{left:3px;top:0;width:4px;height:8px;border-radius:0;background:none;border:solid var(--up);border-width:0 2px 2px 0;transform:rotate(45deg)}
/* the exceptions: small tiles you can press */
.cx .stage[data-show="searchlight"] .sw-x{display:grid;grid-template-columns:10px auto;align-items:center;justify-content:start;gap:2px 9px;width:100%;margin:3px 0;padding:5px 10px;border-radius:10px;border:1px solid;font:inherit;line-height:1.2;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .3s,background .3s,box-shadow .45s var(--ease),transform .3s var(--ease)}
.cx .stage[data-show="searchlight"] .sw-x .sw-v{font-weight:500;color:var(--ink)}
.cx .stage[data-show="searchlight"] .sw-n{grid-column:2;font:400 11.5px/1.2 var(--sans);color:var(--bone-2)}
.cx .stage[data-show="searchlight"] .sw-x.warn{background:rgba(255,138,102,.1);border-color:rgba(255,138,102,.34)}
.cx .stage[data-show="searchlight"] .sw-x.cx-fixed{background:rgba(111,211,163,.075);border-color:rgba(111,211,163,.3)}
.cx .stage[data-show="searchlight"] .sw-x:hover{transform:translateY(-1px)}
.cx .stage[data-show="searchlight"] .sw-x.warn:hover{border-color:var(--down)}
.cx .stage[data-show="searchlight"] .sw-x.cx-fixed:hover{border-color:var(--up)}
.cx .stage[data-show="searchlight"] .sw-x:focus-visible{outline:1.5px solid var(--ember);outline-offset:3px}
.cx .stage[data-show="searchlight"] .sw-x[aria-pressed="true"]{box-shadow:0 0 0 1.5px var(--bone),0 16px 36px -14px rgba(255,138,102,.6)}
.cx .stage[data-show="searchlight"] .sw-x.cx-fixed[aria-pressed="true"]{box-shadow:0 0 0 1.5px var(--bone),0 16px 36px -14px rgba(111,211,163,.5)}
.cx .stage[data-show="searchlight"] .sw-x.warn .sw-m::after{content:"";position:absolute;left:-4px;top:-4px;width:18px;height:18px;border-radius:50%;border:1px solid var(--down);opacity:0}
/* the key */
.cx .stage[data-show="searchlight"] .sw-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:16px 0 0;font-size:12.5px;color:var(--ink2)}
.cx .stage[data-show="searchlight"] .sw-k{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="searchlight"] .sw-cad{flex:1 0 100%}
/* pressing an exception: the wall locks on, the thread turns into that alert */
.cx .stage[data-show="searchlight"] .console.sw-on .sw-rows .sw-row{opacity:.36}
.cx .stage[data-show="searchlight"] .console[data-sel="fr"] .sw-row[data-r="fr"],.cx .stage[data-show="searchlight"] .console[data-sel="fw"] .sw-row[data-r="fw"],.cx .stage[data-show="searchlight"] .console[data-sel="mk"] .sw-row[data-r="mk"]{opacity:1}
.cx .stage[data-show="searchlight"] .console.sw-on .sw-ch{opacity:.45}
.cx .stage[data-show="searchlight"] .console[data-sel="fr"] .sw-ch[data-c="rk"],.cx .stage[data-show="searchlight"] .console[data-sel="fw"] .sw-ch[data-c="li"],.cx .stage[data-show="searchlight"] .console[data-sel="mk"] .sw-ch[data-c="rv"]{opacity:1;color:var(--ink)}
.cx .stage[data-show="searchlight"] .sw-view{display:grid;gap:18px;align-content:start;min-width:0}
.cx .stage[data-show="searchlight"] .sw-at{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="searchlight"] .sw-as{margin:-8px 0 2px;font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.1vw,28px);line-height:1.12;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.cx .stage[data-show="searchlight"] .sw-dl{display:grid;margin:0}
.cx .stage[data-show="searchlight"] .sw-dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.cx .stage[data-show="searchlight"] .sw-dl dt{padding-top:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="searchlight"] .sw-dl dd{margin:0;font-size:14.5px;line-height:1.45;color:var(--bone-2)}
.cx .stage[data-show="searchlight"] .sw-acts{display:flex;gap:8px}
.cx .stage[data-show="searchlight"] .sw-alert:not([hidden])>*{animation:swIn .6s var(--ease) backwards}
.cx .stage[data-show="searchlight"] .sw-alert:not([hidden])>:nth-child(2){animation-delay:.05s}
.cx .stage[data-show="searchlight"] .sw-alert:not([hidden])>:nth-child(3){animation-delay:.1s}
.cx .stage[data-show="searchlight"] .sw-alert:not([hidden])>:nth-child(4){animation-delay:.16s}
.cx .stage[data-show="searchlight"] .sw-alert:not([hidden])>:nth-child(5){animation-delay:.22s}
/* the month: seventeen alerts, one mark each, on one footer line */
.cx .stage[data-show="searchlight"] .sw-tally{display:flex;flex-wrap:wrap;align-items:center;gap:14px clamp(20px,2.4vw,32px)}
.cx .stage[data-show="searchlight"] .sw-th{margin:0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="searchlight"] .sw-groups{flex:1 1 auto;display:flex;justify-content:space-between;gap:12px 16px}
.cx .stage[data-show="searchlight"] .sw-g{display:flex;align-items:center;gap:10px}
.cx .stage[data-show="searchlight"] .sw-gl{margin:0;font-size:12.5px;line-height:1.3;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="searchlight"] .sw-gl b{margin-left:6px;font:500 12.5px var(--mono);color:var(--ink)}
.cx .stage[data-show="searchlight"] .sw-us{display:flex;gap:4px}
.cx .stage[data-show="searchlight"] .sw-us i{flex:0 0 auto;width:18px;height:10px;border-radius:3px;background:rgba(239,234,226,.2);transition:box-shadow .4s}
.cx .stage[data-show="searchlight"] .sw-us i.now{background:var(--ember)}
.cx .stage[data-show="searchlight"] .sw-lastk{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="searchlight"] .sw-lastk::before{content:"";width:14px;height:8px;border-radius:2px;background:var(--ember)}
.cx .stage[data-show="searchlight"] .console[data-sel="fr"] .sw-us i[data-for="fr"],.cx .stage[data-show="searchlight"] .console[data-sel="fw"] .sw-us i[data-for="fw"],.cx .stage[data-show="searchlight"] .console[data-sel="mk"] .sw-us i[data-for="mk"]{box-shadow:0 0 0 2px #0A0A0F,0 0 0 3.5px var(--bone)}
@media (max-width:1100px){
  .cx .stage[data-show="searchlight"] .sw-lastk{margin-left:auto}
  .cx .stage[data-show="searchlight"] .sw-groups{order:3;flex:1 0 100%;display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between}
  .cx .stage[data-show="searchlight"] .sw-g{flex-direction:column;align-items:flex-start;gap:9px}
}
/* motion: slow and quiet, only once the screen is in view */
.cx .stage[data-show="searchlight"] .console.in-view .sw-rows .sw-row{animation:swIn .9s var(--ease) backwards;animation-delay:calc(.25s + var(--i,0) * 80ms)}
.cx .stage[data-show="searchlight"] .console.in-view .sw-x.warn .sw-m::after{animation:swPulse 3.6s var(--ease) 1.6s infinite}
@keyframes swIn{from{opacity:0;transform:translateY(6px)}}
@keyframes swPulse{0%{opacity:.7;transform:scale(.5)}70%,100%{opacity:0;transform:scale(1.35)}}
@media (max-width:560px){
  .cx .stage[data-show="searchlight"] .sw-sub{display:none}
  .cx .stage[data-show="searchlight"] .sw-wall{--cols:72px repeat(5,minmax(0,1fr))}
  .cx .stage[data-show="searchlight"] .sw-row{min-height:46px}
  .cx.cx.cx .stage[data-show="searchlight"] .sw-row{min-height:46px}
  .cx .stage[data-show="searchlight"] .sw-head{min-height:0}
  .cx.cx.cx .stage[data-show="searchlight"] .sw-head{min-height:0}
  .cx .stage[data-show="searchlight"] .sw-ch{padding:0;text-align:center;font:500 10.5px/1.2 var(--sans);letter-spacing:0;text-transform:none}
  .cx .stage[data-show="searchlight"] .sw-lg{display:none}
  .cx .stage[data-show="searchlight"] .sw-sm{display:inline}
  .cx .stage[data-show="searchlight"] .sw-rh{font-size:13px}
  .cx .stage[data-show="searchlight"] .sw-c{justify-content:center;padding:0}
  .cx .stage[data-show="searchlight"] .sw-c>.sw-v{display:none}
  .cx .stage[data-show="searchlight"] .sw-xc{padding:0 3px}
  .cx .stage[data-show="searchlight"] .sw-x{grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;margin:4px 0;padding:6px 0}
  .cx .stage[data-show="searchlight"] .sw-x .sw-v{font-size:10.5px}
  .cx .stage[data-show="searchlight"] .sw-n{display:none}
  .cx .stage[data-show="searchlight"] .sw-key{gap:8px 16px}
  .cx .stage[data-show="searchlight"] .sw-dl>div{grid-template-columns:88px minmax(0,1fr);gap:10px}
  .cx .stage[data-show="searchlight"] .sw-groups{display:flex;flex-direction:column;gap:12px}
  .cx .stage[data-show="searchlight"] .sw-g{display:grid;grid-template-columns:104px auto;justify-content:start;align-items:center}
  .cx .stage[data-show="searchlight"] .sw-us i{width:22px}
}
@media (prefers-reduced-motion:reduce){
  .cx .stage[data-show="searchlight"] .console *::before,.cx .stage[data-show="searchlight"] .console *::after{animation:none!important;transition:none!important}
}
/* SiteLab: the page the morning after, on a desktop or a phone */
.cx .stage[data-show="sitelab"] .st-left{min-width:0}
.cx .stage[data-show="sitelab"] .st-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 14px;margin:0 0 14px}
.cx .stage[data-show="sitelab"] .st-sw{margin-top:-12px}
.cx .stage[data-show="sitelab"] .st-head .cn-h{margin:0}
.cx .stage[data-show="sitelab"] .st-sw{position:relative;display:inline-flex;gap:2px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.cx .stage[data-show="sitelab"] .st-b{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--ink2);font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.cx.cx.cx .stage[data-show="sitelab"] .st-b{min-height:32px}
.cx .stage[data-show="sitelab"] .st-b:hover{color:var(--ink)}
.cx .stage[data-show="sitelab"] .st-b[aria-pressed="true"]{background:rgba(239,234,226,.1);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(239,234,226,.22)}
.cx .stage[data-show="sitelab"] .st-b:focus-visible{outline:1.5px solid var(--ember);outline-offset:3px}
/* the window */
.cx .stage[data-show="sitelab"] .st-view{position:relative;height:430px}
.cx .stage[data-show="sitelab"] .st-view::before{content:"";position:absolute;left:10%;right:10%;top:34%;bottom:-8%;z-index:-1;background:radial-gradient(closest-side,rgba(255,75,26,.2),transparent);filter:blur(26px);pointer-events:none}
.cx .stage[data-show="sitelab"] .st-web{display:flex;flex-direction:column;width:100%;height:100%;margin:0 auto;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#17161D,#0F0E14 70%);box-shadow:inset 0 0 0 1px rgba(239,234,226,.15),inset 0 1px 0 rgba(255,255,255,.08),0 50px 80px -46px rgba(0,0,0,.95);transition:width .75s var(--ease),border-radius .75s var(--ease)}
.cx .stage[data-show="sitelab"] .st-web>*{transition:opacity .3s}
.cx .stage[data-show="sitelab"] .st-swap .st-web>*{opacity:0}
.cx .stage[data-show="sitelab"] .st-chrome{flex:0 0 auto;display:flex;align-items:center;gap:12px;height:42px;padding:0 10px 0 14px;border-bottom:1px solid var(--line)}
.cx .stage[data-show="sitelab"] .st-dots{display:flex;gap:6px;flex:0 0 auto}
.cx .stage[data-show="sitelab"] .st-dots i{width:8px;height:8px;border-radius:50%;background:rgba(239,234,226,.16)}
.cx .stage[data-show="sitelab"] .st-isl{display:none;width:58px;height:12px;border-radius:999px;background:#000;box-shadow:inset 0 0 0 1px rgba(239,234,226,.1)}
.cx .stage[data-show="sitelab"] .st-url{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;max-width:400px;height:26px;margin:0 auto;padding:0 2px 0 11px;border-radius:999px;background:rgba(255,255,255,.055)}
.cx .stage[data-show="sitelab"] .st-url svg{flex:0 0 auto;width:9px;height:11px}
.cx .stage[data-show="sitelab"] .st-url>i{flex:0 1 110px;min-width:0;height:4px;border-radius:2px;background:rgba(239,234,226,.24)}
/* the page, drawn as shapes */
.cx .stage[data-show="sitelab"] .st-page{position:relative;flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:6%;padding:14px 20px 16px}
.cx.cx.cx .stage[data-show="sitelab"] .st-page{min-height:0}
.cx .stage[data-show="sitelab"] .st-nav{grid-column:1/-1;display:flex;align-items:center;gap:26px;height:24px}
.cx .stage[data-show="sitelab"] .st-logo{display:flex;align-items:center;gap:7px}
.cx .stage[data-show="sitelab"] .st-logo i:first-child{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--ember),var(--gold))}
.cx .stage[data-show="sitelab"] .st-logo i+i{width:44px;height:5px;border-radius:3px;background:rgba(239,234,226,.6)}
.cx .stage[data-show="sitelab"] .st-links{display:flex;gap:14px}
.cx .stage[data-show="sitelab"] .st-links i{width:30px;height:4px;border-radius:2px;background:rgba(239,234,226,.22)}
.cx .stage[data-show="sitelab"] .st-call{position:relative;display:flex;align-items:center;gap:7px;height:24px;margin-left:auto;padding:0 11px 0 9px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(239,234,226,.32)}
.cx .stage[data-show="sitelab"] .st-call svg{width:11px;height:11px}
.cx .stage[data-show="sitelab"] .st-call>i{width:28px;height:4px;border-radius:2px;background:rgba(239,234,226,.5)}
.cx .stage[data-show="sitelab"] .st-burger{display:none;flex-direction:column;gap:4px}
.cx .stage[data-show="sitelab"] .st-burger i{width:14px;height:1.5px;background:rgba(239,234,226,.6)}
.cx .stage[data-show="sitelab"] .st-glow{grid-column:1/-1;grid-row:2;margin-top:12px;border-radius:8px;background:radial-gradient(70% 130% at 92% 0%,rgba(255,75,26,.24),transparent 62%),radial-gradient(60% 90% at 0% 100%,rgba(224,164,90,.1),transparent 70%),rgba(255,255,255,.025)}
.cx .stage[data-show="sitelab"] .st-copy{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-width:0;padding:30px 0 26px 24px}
.cx .stage[data-show="sitelab"] .st-copy i{display:block;border-radius:3px}
.cx .stage[data-show="sitelab"] .st-eye{width:22%;height:4px;margin-bottom:6px;background:var(--ember);opacity:.85}
.cx .stage[data-show="sitelab"] .st-h{width:94%;height:15px;background:rgba(239,234,226,.86)}
.cx .stage[data-show="sitelab"] .st-h+.st-h{width:68%}
.cx .stage[data-show="sitelab"] .st-p{width:86%;height:5px;margin-top:4px;background:rgba(239,234,226,.24)}
.cx .stage[data-show="sitelab"] .st-p+.st-p{width:62%;margin-top:0}
.cx .stage[data-show="sitelab"] .st-ctas{display:flex;gap:8px;margin-top:14px}
.cx .stage[data-show="sitelab"] .st-cta{width:82px;height:24px;border-radius:999px!important;background:var(--ember)}
.cx .stage[data-show="sitelab"] .st-cta2{width:66px;height:24px;border-radius:999px!important;box-shadow:inset 0 0 0 1px rgba(239,234,226,.3)}
.cx .stage[data-show="sitelab"] .st-form{position:relative;grid-column:2;grid-row:2/4;align-self:start;display:grid;gap:8px;margin:46px 22px 0 0;padding:16px 14px 14px;border-radius:8px;background:#1A1920;box-shadow:inset 0 0 0 1px rgba(239,234,226,.14),0 28px 40px -22px rgba(0,0,0,.9)}
.cx .stage[data-show="sitelab"] .st-fh{display:block;width:52%;height:7px;margin-bottom:4px;border-radius:3px;background:rgba(239,234,226,.7)}
.cx .stage[data-show="sitelab"] .st-f{position:relative;display:flex;align-items:center;height:26px;padding:0 9px;border-radius:5px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(239,234,226,.14)}
.cx .stage[data-show="sitelab"] .st-f>i{width:34%;height:4px;border-radius:2px;background:rgba(239,234,226,.2)}
.cx .stage[data-show="sitelab"] .st-ph{box-shadow:none;border:1px dashed var(--down);background:rgba(255,138,102,.06)}
.cx .stage[data-show="sitelab"] .st-send{display:block;height:26px;margin-top:4px;border-radius:5px;background:var(--ember)}
.cx .stage[data-show="sitelab"] .st-tiles{grid-column:1;grid-row:3;align-self:end;margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cx .stage[data-show="sitelab"] .st-tiles span{display:grid;gap:6px;padding:11px 10px;border-radius:6px;background:rgba(255,255,255,.035)}
.cx .stage[data-show="sitelab"] .st-tiles i{height:4px;border-radius:2px;background:rgba(239,234,226,.2)}
.cx .stage[data-show="sitelab"] .st-tiles i:first-child{width:14px;height:14px;margin-bottom:4px;border-radius:50%;background:rgba(224,164,90,.35)}
.cx .stage[data-show="sitelab"] .st-tiles i:last-child{width:62%}
.cx .stage[data-show="sitelab"] .st-chat{position:absolute;right:18px;bottom:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ember);box-shadow:0 12px 26px -8px rgba(255,75,26,.7)}
.cx .stage[data-show="sitelab"] .st-chat svg{width:15px;height:15px}
/* the tags: what each part did last night */
.cx .stage[data-show="sitelab"] .st-tag{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:999px;background:#1E1D24;box-shadow:inset 0 0 0 1px rgba(239,234,226,.24),0 10px 20px -8px rgba(0,0,0,.9);font:500 11.5px/16px var(--sans);color:var(--bone);white-space:nowrap;font-variant-numeric:tabular-nums}
.cx .stage[data-show="sitelab"] .st-tag::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px rgba(255,75,26,.2)}
.cx .stage[data-show="sitelab"] .st-warn{box-shadow:inset 0 0 0 1px rgba(255,138,102,.5),0 10px 20px -8px rgba(0,0,0,.9)}
.cx .stage[data-show="sitelab"] .st-warn::before{background:var(--down);box-shadow:0 0 0 3px rgba(255,138,102,.2)}
.cx .stage[data-show="sitelab"] .st-t-visit{position:relative;margin-left:auto}
.cx .stage[data-show="sitelab"] .st-t-call{top:1px;right:calc(100% + 10px)}
.cx .stage[data-show="sitelab"] .st-t-form{top:-11px;right:12px}
.cx .stage[data-show="sitelab"] .st-warn{top:1px;right:1px}
.cx .stage[data-show="sitelab"] .st-t-chat{top:6px;right:calc(100% + 10px)}
.cx .stage[data-show="sitelab"] .st-cap{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--ink2)}
/* phone */
.cx .stage[data-show="sitelab"] .st-phone .st-web{width:204px;border-radius:32px}
.cx .stage[data-show="sitelab"] .st-phone .st-chrome{flex-direction:column;justify-content:center;gap:6px;height:52px;padding:7px 12px 3px;border-bottom:0}
.cx .stage[data-show="sitelab"] .st-phone .st-dots{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-isl{display:block}
.cx .stage[data-show="sitelab"] .st-phone .st-url{flex:0 0 auto;width:100%;margin:0}
.cx .stage[data-show="sitelab"] .st-phone .st-url>i{flex-basis:40px}
.cx .stage[data-show="sitelab"] .st-phone .st-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);column-gap:0;padding:6px 12px 12px}
.cx .stage[data-show="sitelab"] .st-phone .st-nav{gap:10px}
.cx .stage[data-show="sitelab"] .st-phone .st-logo i+i{width:34px}
.cx .stage[data-show="sitelab"] .st-phone .st-links{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-burger{display:flex}
.cx .stage[data-show="sitelab"] .st-phone .st-call{justify-content:center;width:24px;padding:0}
.cx .stage[data-show="sitelab"] .st-phone .st-call>i{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-t-call{top:calc(100% + 7px);right:-34px}
.cx .stage[data-show="sitelab"] .st-phone .st-glow{margin-top:10px}
.cx .stage[data-show="sitelab"] .st-phone .st-copy{justify-content:flex-start;gap:6px;padding:16px 14px 12px}
.cx .stage[data-show="sitelab"] .st-phone .st-p+.st-p{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-eye{margin-bottom:4px}
.cx .stage[data-show="sitelab"] .st-phone .st-h{height:11px}
.cx .stage[data-show="sitelab"] .st-phone .st-ctas{width:100%;margin-top:8px}
.cx .stage[data-show="sitelab"] .st-phone .st-cta{flex:1;height:22px}
.cx .stage[data-show="sitelab"] .st-phone .st-copy .st-cta2{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-form{grid-column:1;grid-row:3;gap:6px;margin:16px 0 0;padding:14px 10px 10px}
.cx .stage[data-show="sitelab"] .st-phone .st-fh+.st-f{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-f,.cx .stage[data-show="sitelab"] .st-phone .st-send{height:24px}
.cx .stage[data-show="sitelab"] .st-phone .st-warn{top:0}
.cx .stage[data-show="sitelab"] .st-phone .st-tiles{display:none}
.cx .stage[data-show="sitelab"] .st-phone .st-chat{right:12px;bottom:12px;width:30px;height:30px}
.cx .stage[data-show="sitelab"] .st-phone .st-t-chat{top:4px}
.cx .stage[data-show="sitelab"] .cn-k .st-of{margin-left:3px;font-size:max(12px,.34em);font-weight:500;letter-spacing:0;color:var(--ink2)}
@media (max-width:560px){.cx .stage[data-show="sitelab"] .st-cap{min-height:3em}.cx.cx.cx .stage[data-show="sitelab"] .st-cap{min-height:3em}}
/* the six weeks */
.cx .stage[data-show="sitelab"] .st-conv{padding-top:24px;margin-top:8px;border-top:1px solid var(--line)}
.cx .stage[data-show="sitelab"] .st-wk{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;height:136px;border-bottom:1px solid var(--line)}
.cx .stage[data-show="sitelab"] .st-c{display:flex;flex-direction:column;align-items:center;gap:7px}
.cx .stage[data-show="sitelab"] .st-c b{font:500 12.5px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--bone-2)}
.cx .stage[data-show="sitelab"] .st-c i{display:block;width:12px;height:calc(var(--v)*7.4px);border-radius:3px 3px 0 0;background:rgba(239,234,226,.3);transform-origin:bottom}
.cx .stage[data-show="sitelab"] .st-now b{font-weight:600;color:var(--ink)}
.cx .stage[data-show="sitelab"] .st-now i{background:var(--ember)}
.cx .stage[data-show="sitelab"] .st-wx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:9px;font-family:var(--mono);font-size:10.5px;color:var(--ink2);text-align:center;white-space:nowrap}
/* entrance: the tags land one by one, the weeks rise */
.cx .stage[data-show="sitelab"] .console.in-view .st-tag{animation:stTag .7s var(--ease) both;animation-delay:calc(.7s + var(--i)*.16s)}
.cx .stage[data-show="sitelab"] .console.in-view .st-c i{animation:stGrow 1.1s var(--ease) both}
.cx .stage[data-show="sitelab"] .console.in-view .st-c:nth-child(2) i{animation-delay:.08s}
.cx .stage[data-show="sitelab"] .console.in-view .st-c:nth-child(3) i{animation-delay:.16s}
.cx .stage[data-show="sitelab"] .console.in-view .st-c:nth-child(4) i{animation-delay:.24s}
.cx .stage[data-show="sitelab"] .console.in-view .st-c:nth-child(5) i{animation-delay:.32s}
.cx .stage[data-show="sitelab"] .console.in-view .st-c:nth-child(6) i{animation-delay:.4s}
.cx .stage[data-show="sitelab"] .st-warn::after{content:"";position:absolute;left:7px;top:8px;width:6px;height:6px;border-radius:50%;animation:stPing 3.2s ease-out 2s infinite}
@keyframes stTag{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes stGrow{from{transform:scaleY(0)}to{transform:none}}
@keyframes stPing{0%{box-shadow:0 0 0 0 rgba(255,138,102,.55)}70%,100%{box-shadow:0 0 0 9px rgba(255,138,102,0)}}
@media (max-width:560px){
  .cx .stage[data-show="sitelab"] .st-full{display:none}
  .cx .stage[data-show="sitelab"] .st-view{height:420px}
  .cx .stage[data-show="sitelab"] .st-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:5%;padding:12px 12px 14px}
  .cx .stage[data-show="sitelab"] .st-links{display:none}
  .cx .stage[data-show="sitelab"] .st-copy{padding:24px 0 20px 12px}
  .cx .stage[data-show="sitelab"] .st-form{margin:40px 10px 0 0;padding:14px 8px 10px}
  .cx .stage[data-show="sitelab"] .st-f{padding:0 6px}
  .cx .stage[data-show="sitelab"] .st-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cx .stage[data-show="sitelab"] .st-tiles span:nth-child(3){display:none}
  .cx .stage[data-show="sitelab"] .st-chat{right:12px;bottom:14px}
  .cx .stage[data-show="sitelab"] .st-tag{font-size:11px;padding:3px 8px 3px 6px;gap:5px}
  .cx .stage[data-show="sitelab"] .st-b{padding:0 12px}
  .cx .stage[data-show="sitelab"] .st-sw{margin-top:0}
  .cx .stage[data-show="sitelab"] .st-warn::after{left:6px}
  .cx .stage[data-show="sitelab"] .st-copy .st-cta2{display:none}
  .cx .stage[data-show="sitelab"] .st-wk{height:120px}
  .cx .stage[data-show="sitelab"] .st-c i{height:calc(var(--v)*6.2px)}
}
/* TrafficShield: every click, checked at the door */
.cx .stage[data-show="trafficshield"] .console{--door:62;--ts-dim:rgba(239,234,226,.5)}
.cx .stage[data-show="trafficshield"] .ts-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:14px}
.cx .stage[data-show="trafficshield"] .ts-head .cn-h{margin:0}
.cx .stage[data-show="trafficshield"] .ts-sw{display:inline-flex;gap:2px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--lineh)}
.cx .stage[data-show="trafficshield"] .ts-sw .cn-btn{min-height:30px;padding:0 14px;border-color:transparent}
.cx.cx.cx .stage[data-show="trafficshield"] .ts-sw .cn-btn{min-height:30px}
.cx .stage[data-show="trafficshield"] .ts-sw .cn-btn:hover{transform:none;border-color:rgba(255,75,26,.6)}
.cx .stage[data-show="trafficshield"] .ts-sw .cn-btn[aria-pressed="true"]{background:var(--bone);border-color:var(--bone);color:var(--obsidian);cursor:default}
/* the field: clicks drift in from the left, the door is the ember line */
.cx .stage[data-show="trafficshield"] .ts-field{position:relative;height:clamp(160px,15vw,204px);container-type:inline-size;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(180deg,transparent,#000 7%,#000 93%,transparent)}
.cx .stage[data-show="trafficshield"] .ts-field::after{content:"";position:absolute;top:0;bottom:0;right:0;left:calc(var(--door)*1%);background:linear-gradient(90deg,rgba(111,211,163,.075),rgba(111,211,163,0) 70%)}
.cx .stage[data-show="trafficshield"] .ts-glow{position:absolute;top:0;bottom:0;left:calc(var(--door)*1% - 22%);width:44%;background:radial-gradient(closest-side,rgba(255,75,26,.2),rgba(255,75,26,0));opacity:.7;transition:opacity .9s var(--ease)}
.cx .stage[data-show="trafficshield"] .console.ts-w1 .ts-glow{opacity:1}
.cx .stage[data-show="trafficshield"] .ts-line{position:absolute;z-index:1;top:0;bottom:0;left:calc(var(--door)*1%);width:2px;margin-left:-1px;background:linear-gradient(180deg,rgba(255,75,26,0),var(--ember) 12%,var(--ember) 88%,rgba(255,75,26,0));box-shadow:0 0 16px 1px rgba(255,75,26,.4)}
.cx .stage[data-show="trafficshield"] .ts-line::after{content:"";position:absolute;left:-2px;top:0;width:6px;height:44px;border-radius:3px;background:linear-gradient(180deg,rgba(255,170,140,0),rgba(255,170,140,.55),rgba(255,170,140,0));animation:tsScan 11s ease-in-out infinite alternate paused}
.cx .stage[data-show="trafficshield"] .console.ts-run .ts-line::after{animation-play-state:running}
.cx .stage[data-show="trafficshield"] .ts-base,.cx .stage[data-show="trafficshield"] .ts-extra{position:absolute;z-index:2;inset:0}
.cx .stage[data-show="trafficshield"] .ts-extra{opacity:0;transition:opacity .9s var(--ease)}
.cx .stage[data-show="trafficshield"] .console.ts-w1 .ts-extra{opacity:1}
/* one click: a mover with a dot (and, if it is stopped, the mark of its reason) */
.cx .stage[data-show="trafficshield"] .ts-m{position:absolute;left:0;top:var(--y);width:0;height:0;color:var(--ts-dim)}
.cx .stage[data-show="trafficshield"] .ts-m>i{position:absolute;display:block}
.cx .stage[data-show="trafficshield"] .ts-m>i:first-child{left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:currentColor}
.cx .stage[data-show="trafficshield"] .ts-m>i:first-child::before{content:"";position:absolute;right:4px;top:2.5px;width:24px;height:1px;background:linear-gradient(90deg,rgba(239,234,226,0),currentColor);opacity:.55}
.cx .stage[data-show="trafficshield"] .ts-p{transform:translateX(calc(var(--x)*1cqw));animation:tsPass var(--t) linear calc((var(--x) + 3) / -106 * var(--t)) infinite paused}
.cx .stage[data-show="trafficshield"] .ts-p.ts-in{color:var(--up)}
.cx .stage[data-show="trafficshield"] .ts-far{--ts-dim:rgba(239,234,226,.26);--up:rgba(111,211,163,.5)}
.cx .stage[data-show="trafficshield"] .ts-far>i:first-child{transform:scale(.7)}
.cx .stage[data-show="trafficshield"] .ts-s{--stop:calc(var(--door)*1cqw - 11px - var(--q,0)*17px);transform:translateX(var(--stop));animation:tsStop var(--t) linear calc(var(--h) * -1 * var(--t)) infinite paused}
.cx .stage[data-show="trafficshield"] .ts-s>i:first-child{opacity:0;animation:tsSeen var(--t) linear calc(var(--h) * -1 * var(--t)) infinite paused}
.cx .stage[data-show="trafficshield"] .ts-s>i:last-child{left:-5.5px;top:-5.5px;width:11px;height:11px;filter:drop-shadow(0 0 5px rgba(255,138,102,.5));animation:tsHalt var(--t) linear calc(var(--h) * -1 * var(--t)) infinite paused}
.cx .stage[data-show="trafficshield"] .ts-s.ts-rival>i:last-child{left:-6.5px;top:-7px;width:13px;height:12px}
.cx .stage[data-show="trafficshield"] .console.ts-run .ts-m,.cx .stage[data-show="trafficshield"] .console.ts-run .ts-m>i{animation-play-state:running}
/* the reasons: each has its own shape as well as the warm color */
.cx .stage[data-show="trafficshield"] .ts-bot>i:last-child{background:var(--down);border-radius:2px}
.cx .stage[data-show="trafficshield"] .ts-rival>i:last-child{background:var(--down);clip-path:polygon(50% 0,100% 100%,0 100%)}
.cx .stage[data-show="trafficshield"] .ts-tap>i:last-child{border:2px solid var(--down);border-radius:50%}
.cx .stage[data-show="trafficshield"] .ts-real>i:last-child{width:6px;height:6px;margin:0 2px;border-radius:50%;background:var(--up)}
/* labels under the field */
.cx .stage[data-show="trafficshield"] .ts-axis{position:relative;display:flex;justify-content:space-between;gap:12px;margin:12px 0 0;font:500 10.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="trafficshield"] .ts-axis .ts-at{position:absolute;top:0;left:calc(var(--door)*1%);transform:translateX(-50%);color:var(--ember);white-space:nowrap}
.cx .stage[data-show="trafficshield"] .ts-key{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;font-size:12.5px;line-height:1.3;color:var(--ink2)}
.cx .stage[data-show="trafficshield"] .ts-k{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.cx .stage[data-show="trafficshield"] .ts-k>i{position:relative;flex:0 0 auto;width:10px;height:10px}
.cx .stage[data-show="trafficshield"] .ts-k.ts-rival>i{width:12px;height:11px}
.cx .stage[data-show="trafficshield"] .ts-say{margin:12px 0 0;font-size:14px;line-height:1.5;color:var(--bone-2)}
.cx .stage[data-show="trafficshield"] .ts-say b{font-weight:600;color:var(--ink)}
/* the log: the latest blocks, each with its reason in words */
.cx .stage[data-show="trafficshield"] .ts-rows{list-style:none;margin:0;padding:0}
.cx .stage[data-show="trafficshield"] .ts-row{display:grid;grid-template-columns:52px 150px minmax(0,1fr) auto;gap:18px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--bone-2)}
.cx .stage[data-show="trafficshield"] .ts-row:first-child{padding-top:2px;border-top:0}
.cx .stage[data-show="trafficshield"] .ts-row:last-child{padding-bottom:0}
.cx .stage[data-show="trafficshield"] .ts-row time{font:10.5px var(--mono);letter-spacing:.08em;color:var(--ink2)}
.cx .stage[data-show="trafficshield"] .ts-row .ts-k{font-size:14px;font-weight:500;color:var(--ink)}
.cx .stage[data-show="trafficshield"] .ts-did{font:500 10.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);text-align:right;white-space:nowrap}
.cx .stage[data-show="trafficshield"] .ts-did.ts-wait{color:var(--down)}
@keyframes tsPass{0%{transform:translateX(-3cqw);opacity:0;color:var(--ts-dim)}5%{opacity:1}60%{color:var(--ts-dim)}62.5%{color:var(--up)}95%{opacity:1}100%{transform:translateX(103cqw);opacity:0;color:var(--up)}}
@keyframes tsStop{0%{transform:translateX(-3cqw);opacity:0}5%{opacity:1}38%{transform:translateX(var(--stop))}95%{opacity:1}100%{transform:translateX(var(--stop));opacity:0}}
@keyframes tsSeen{0%,36%{opacity:1}39%,100%{opacity:0}}
@keyframes tsHalt{0%,37%{opacity:0;transform:scale(.3)}40.5%{opacity:1;transform:scale(1.35)}45%,100%{opacity:1;transform:scale(1)}}
@keyframes tsScan{from{top:0}to{top:calc(100% - 44px)}}
@media (max-width:560px){
  .cx .stage[data-show="trafficshield"] .ts-long{display:none}
  .cx .stage[data-show="trafficshield"] .ts-key{gap:8px 16px}
  .cx .stage[data-show="trafficshield"] .ts-row{grid-template-columns:40px minmax(0,1fr) auto;gap:5px 10px}
  .cx .stage[data-show="trafficshield"] .ts-row time,.cx .stage[data-show="trafficshield"] .ts-row .ts-k{grid-row:1}
  .cx .stage[data-show="trafficshield"] .ts-did{grid-column:3;grid-row:1}
  .cx .stage[data-show="trafficshield"] .ts-what{grid-column:2/-1;grid-row:2}
}
@media (prefers-reduced-motion:reduce){.cx .stage[data-show="trafficshield"] .ts-line::after{display:none}}
/* showcase:end */
/* templates:start */
/* page: blog-post */
/* ───────── the essay: every blog post and every long guide, set as a long read in a printed quarterly ───────── */
.cx .es-page{--es-col:680px;--es-lap:clamp(56px,8vw,140px);--es-text:#2B2824;--es-hair:rgba(239,234,226,.14);--es-gold:rgba(224,164,90,.42)}
/* readable with scripts off: the fade-ins simply stay put */
@media (scripting:none){.cx .es-page .r,.cx .es-page~.sec .r{opacity:1;transform:none}}

/* the reading line: one hairline under the menu, drawn as you read */
.cx .es-prog{position:fixed;left:0;right:0;top:64px;height:1px;z-index:3;pointer-events:none}
.cx .es-prog i{display:block;height:100%;background:var(--ember);box-shadow:0 0 10px rgba(255,75,26,.6);transform:scaleX(0);transform-origin:0 50%}

/* ── the opening: running head, headline, deck, byline, cover plate ── */
.cx .es-page.es-top{z-index:5;overflow:visible;padding-top:clamp(88px,11.5vh,120px);padding-bottom:0;text-align:center}
.cx .es-page.es-top>.in{display:flow-root}
.cx .es-folio{display:flex;justify-content:space-between;align-items:center;gap:8px 28px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--es-hair);font-family:var(--mono);font-size:10.5px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);text-align:left}
.cx .es-folio p{margin:0;display:flex;flex-wrap:wrap;align-items:center}
.cx .es-folio p>*+*::before{content:"";display:inline-block;width:3px;height:3px;margin:0 12px;border-radius:50%;background:var(--ember);vertical-align:middle}
.cx .es-folio a{color:var(--bone);transition:color .3s}.cx .es-folio a:hover{color:var(--ember)}
.cx .es-page.es-top h1{margin:clamp(40px,6.4vh,80px) auto 0;max-width:none;font-size:clamp(46px,min(7.4vw,11.4vh),104px);line-height:.97;letter-spacing:-.03em}
.cx .es-page.es-top h1>.h1-t{max-width:15ch;margin-inline:auto}
/* headlines over 60 characters: add es-long to the h1 */
.cx .es-page.es-top h1.es-long{font-size:clamp(40px,min(5.6vw,9vh),82px)}
.cx .es-page.es-top h1.es-long>.h1-t{max-width:21ch}
.cx .es-page.es-top h1>.eb{justify-content:center;margin-bottom:clamp(22px,2.8vw,34px)}
.cx .es-page.es-top h1>.eb::after{content:"";width:28px;height:1px;background:var(--ember)}
.cx .es-deck{margin:clamp(22px,2.4vw,30px) auto 0;max-width:31em;font-family:var(--serif);font-size:clamp(21px,1.85vw,27px);line-height:1.28;letter-spacing:-.005em;color:var(--bone-2);text-wrap:balance}
.cx .es-byline{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(26px,3vw,36px);text-align:left}
.cx .es-byline p{margin:0}
.cx .es-byline b{display:block;font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--bone)}
.cx .es-byline small{display:block;margin-top:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .es-ini{display:inline-grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid rgba(224,164,90,.6);font-family:var(--serif);font-style:italic;font-size:19px;line-height:1;letter-spacing:.02em;color:var(--bone)}

/* the cover plate: where the post's photograph sits in production, drawn here as a dark printed plate */
.cx .es-plate{position:relative;isolation:isolate;margin:clamp(40px,6vh,68px) 0 calc(-1*var(--es-lap));aspect-ratio:2.15/1;overflow:hidden;border-radius:3px;text-align:left;
  background:radial-gradient(52% 86% at 14% 112%,rgba(255,75,26,.52),transparent 62%),radial-gradient(42% 64% at 90% -10%,rgba(224,164,90,.17),transparent 66%),radial-gradient(130% 100% at 50% 45%,transparent 38%,rgba(0,0,0,.6) 100%),repeating-linear-gradient(118deg,rgba(239,234,226,.04) 0 1px,transparent 1px 6px),#0C0B10;
  box-shadow:0 0 0 1px rgba(239,234,226,.08),0 46px 70px -48px rgba(10,10,11,.6),0 30px 70px -44px rgba(255,75,26,.3);animation:esRise 1.6s var(--ease) .1s both}
.cx .es-plate::before{content:"";position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='esn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23esn)'/%3E%3C/svg%3E");opacity:.32;mix-blend-mode:overlay;pointer-events:none}
.cx .es-plate::after{content:"";position:absolute;inset:clamp(10px,1.3vw,18px);border:1px solid var(--es-gold);pointer-events:none}
.cx .es-plate>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.cx .es-plate-no{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);display:flex;align-items:flex-start;gap:.05em;font-family:var(--serif);font-weight:400;font-size:clamp(116px,18vw,290px);line-height:.8;letter-spacing:-.045em;white-space:nowrap;color:transparent;background:linear-gradient(176deg,#F4EFE7 18%,rgba(239,234,226,.62) 58%,rgba(255,120,80,.5));-webkit-background-clip:text;background-clip:text;animation:esFloat 11s ease-in-out 1.8s infinite alternate}
.cx .es-plate-no small{padding-top:.14em;font-size:.2em;font-style:italic;letter-spacing:0;color:var(--ember);-webkit-text-fill-color:var(--ember)}
.cx .es-plate-no.es-init{font-style:italic;letter-spacing:0}
.cx .es-plate-k{position:absolute;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(239,234,226,.6)}
.cx .es-plate-tl{top:clamp(24px,2.7vw,40px);left:clamp(26px,2.9vw,42px)}
.cx .es-plate-tr{top:clamp(24px,2.7vw,40px);right:clamp(26px,2.9vw,42px)}
.cx .es-plate-bl{bottom:clamp(24px,2.7vw,40px);left:clamp(26px,2.9vw,42px)}
.cx .es-plate-br{bottom:clamp(24px,2.7vw,40px);right:clamp(26px,2.9vw,42px)}
@keyframes esRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes esFloat{from{transform:translate(-50%,-50%)}to{transform:translate(-50%,calc(-50% - 10px))}}

/* ── the read: a centred column about 68 characters wide, contents in the left margin ── */
.cx .es-page.es-read{padding-top:calc(var(--es-lap) + clamp(64px,8vw,112px));padding-bottom:clamp(40px,5vw,72px)}
.cx .es-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,var(--es-col)) minmax(160px,1fr);column-gap:clamp(32px,4vw,64px);align-items:start}
.cx .es-rail{grid-column:1;grid-row:1;align-self:stretch;min-width:0}
.cx .es-rail-in{position:sticky;top:104px;display:grid;gap:18px;max-width:232px;max-height:calc(100vh - 128px);overflow-y:auto;scrollbar-width:none}
.cx .es-rail-h{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.cx .es-toc{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:12px;counter-reset:es-toc}
.cx .es-toc li{display:grid;grid-template-columns:30px minmax(0,1fr);counter-increment:es-toc;font-size:13.5px;line-height:1.4}
.cx .es-toc li::before{content:counter(es-toc,decimal-leading-zero);padding-top:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink2);transition:color .3s}
.cx .es-toc a{color:var(--ink2);transition:color .3s}
.cx .es-toc a:hover,.cx .es-toc a.es-on{color:var(--char)}
.cx .es-toc li:has(a.es-on)::before{color:var(--ember)}
.cx .es-left{margin:0;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:6px}
.cx .es-left small{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2)}
.cx .es-left span{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.05;color:var(--char)}

.cx .es-body{grid-column:2;grid-row:1;min-width:0;font-size:19px;line-height:1.72;color:var(--es-text);counter-reset:es-h;text-wrap:pretty}
.cx .es-body p{margin:0 0 1.15em}
.cx .es-body a,.cx .es-by a:not(.pill){color:inherit;text-decoration:underline;text-decoration-color:rgba(255,75,26,.6);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .3s,text-decoration-color .3s}
.cx .es-body a:hover,.cx .es-by a:not(.pill):hover{color:var(--ember);text-decoration-color:var(--ember)}
.cx .es-body strong,.cx .es-body li b{font-weight:600;color:var(--char)}
.cx .es-body>h2,.cx .es-qa h2{margin:2em 0 .8em;padding-top:28px;border-top:1px solid var(--line);font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.3vw,48px);line-height:1.03;letter-spacing:-.02em;color:var(--char);scroll-margin-top:110px;text-wrap:balance}
.cx .es-body>h2{counter-increment:es-h}
.cx .es-body>h2::before,.cx .es-qa h2::before{content:counter(es-h,decimal-leading-zero);display:block;margin-bottom:20px;font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:.2em;color:var(--ember)}
.cx .es-qa h2::before{content:attr(data-n)}
.cx .es-body h3{margin:1.9em 0 .45em;font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.015em;color:var(--char);scroll-margin-top:110px}
.cx .es-body>h2+h3{margin-top:0}
/* an h3 that is a stage or a numbered part: a small mono label above the title */
.cx .es-body h3.es-stage>span{display:block;margin-bottom:8px;font-family:var(--mono);font-weight:400;font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}

/* the first letter, set large */
.cx .es-first::first-letter{float:left;margin:.06em .1em 0 -.02em;font-family:var(--serif);font-weight:400;font-size:5.2em;line-height:.8;color:var(--ember)}

/* key takeaways: only when the post has a summary */
.cx .es-kt{margin:0 0 2.7em;padding:24px 0 4px;border-top:1px solid var(--char);border-bottom:1px solid var(--line)}
.cx .es-body .es-kt-h{margin:0 0 4px;padding:0;border:0;font-family:var(--mono);font-weight:400;font-size:11px;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.cx .es-kt ol{list-style:none;margin:0;padding:0;counter-reset:es-kt}
.cx .es-kt li{position:relative;padding:13px 0 13px 40px;border-top:1px solid var(--line);font-size:16.5px;line-height:1.55;counter-increment:es-kt}
.cx .es-kt li:first-child{border-top:0}
.cx .es-kt li::before{content:counter(es-kt,decimal-leading-zero);position:absolute;left:0;top:16px;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:.08em;color:var(--ink2)}

/* pull quotes: a sentence from the post, never a new one */
.cx .es-pull{position:relative;margin:2em 0 2.1em}
.cx .es-pull::before{content:"";display:block;width:56px;height:1px;margin-bottom:22px;background:var(--ember)}
.cx .es-pull p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(28px,3vw,44px);line-height:1.08;letter-spacing:-.015em;color:var(--char);text-wrap:pretty}
@media (min-width:1000px){.cx .es-pull p::before{content:"“";position:absolute;left:-.62em;margin-top:-.04em;font-size:1.5em;line-height:1;color:var(--ember)}}
@media (min-width:1200px){.cx .es-pull{margin-right:calc(-1*min(230px,15vw))}}

/* lists: hairline rules, an ember hairline for a marker */
.cx .es-body>ul{list-style:none;margin:.2em 0 1.6em;padding:0;border-top:1px solid var(--line)}
.cx .es-body>ul>li{position:relative;padding:13px 0 13px 34px;border-bottom:1px solid var(--line);line-height:1.6}
.cx .es-body>ul>li::before{content:"";position:absolute;left:2px;top:calc(13px + .8em);width:16px;height:1px;background:var(--ember)}
.cx .es-body>ol{list-style:none;margin:.2em 0 1.6em;padding:0;border-top:1px solid var(--line);counter-reset:es-ol}
.cx .es-body>ol>li{position:relative;padding:13px 0 13px 44px;border-bottom:1px solid var(--line);line-height:1.6;counter-increment:es-ol}
.cx .es-body>ol>li::before{content:counter(es-ol,decimal-leading-zero);position:absolute;left:0;top:17px;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:.08em;color:var(--ember)}

/* stages: a mono label beside the words */
.cx .es-body p.es-phase{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 22px;margin:0;padding:18px 0;border-top:1px solid var(--line)}
.cx .es-body p.es-phase:last-of-type,.cx .es-body p.es-phase:has(+ :not(.es-phase)){border-bottom:1px solid var(--line)}
.cx .es-body p.es-phase+:not(.es-phase){margin-top:1.4em}
.cx .es-phase>b{padding-top:.62em;font-family:var(--mono);font-weight:400;font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}

/* tables: ruled, never boxed, and they scroll inside their own frame on a phone */
.cx .es-tbl{margin:1.6em 0 2em;overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--char);border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,var(--cream) 45%,rgba(245,243,240,0)) 0 0/32px 100% no-repeat local,linear-gradient(270deg,var(--cream) 45%,rgba(245,243,240,0)) 100% 0/32px 100% no-repeat local,linear-gradient(90deg,rgba(10,10,11,.1),rgba(10,10,11,0)) 0 0/16px 100% no-repeat scroll,linear-gradient(270deg,rgba(10,10,11,.1),rgba(10,10,11,0)) 100% 0/16px 100% no-repeat scroll}
.cx .es-tbl table{min-width:560px;font-size:15.5px;line-height:1.5}
.cx .es-tbl th,.cx .es-tbl td{padding:16px 20px 16px 0;border-top:1px solid var(--line);vertical-align:top;color:var(--es-text)}
.cx .es-tbl th:last-child,.cx .es-tbl td:last-child{padding-right:0}
.cx .es-tbl thead th{padding-top:14px;padding-bottom:12px;border-top:0;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.cx .es-tbl th:first-child{width:15%}
.cx .es-tbl tbody th{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1;letter-spacing:-.01em;color:var(--char)}
.cx .es-tbl tbody th a{text-decoration-thickness:1px}
.cx .es-tbl td:nth-child(2){width:24%;font-weight:600;color:var(--char)}

/* the end of the piece */
.cx .es-fin{display:flex;align-items:center;gap:16px;margin:2.8em 0 0}
.cx .es-fin::before,.cx .es-fin::after{content:"";flex:1 1 0;height:1px;background:var(--line)}
.cx .es-fin i{flex:0 0 7px;width:7px;height:7px;background:var(--ember);transform:rotate(45deg)}

/* ── the post's own questions, continuing the same column ── */
.cx .es-page.es-qa{padding-top:0;padding-bottom:clamp(56px,7vw,96px)}
.cx .es-qa .in{max-width:var(--es-col)}
.cx .es-qa h2{margin-top:0}
.cx .es-qa .faq{max-width:none;margin:26px 0 0;border-top:1px solid var(--char)}
.cx .es-qa .faq summary{align-items:baseline;padding:22px 0;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:-.01em;color:var(--char)}
.cx .es-qa .faq summary::-webkit-details-marker{display:none}
.cx .es-qa .faq summary::after{font-family:var(--sans);font-weight:300;font-size:26px}
.cx .es-qa .faq p{max-width:none;margin:-4px 0 26px;font-size:17.5px;line-height:1.7;color:var(--es-text)}

/* ── the colophon: who wrote it, and the next step ── */
.cx .es-page.es-by{padding-top:0;padding-bottom:clamp(48px,6vw,80px)}
.cx .es-by-in{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--char)}
.cx .es-author{padding:clamp(30px,3.6vw,48px) clamp(24px,4vw,60px) 0 0}
.cx .es-step{padding:clamp(30px,3.6vw,48px) 0 0 clamp(24px,4vw,60px);border-left:1px solid var(--line)}
.cx .es-k{margin:0 0 20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember)}
.cx .es-who{display:flex;align-items:center;gap:18px}
.cx .es-who .es-ini{width:64px;height:64px;font-size:25px;color:var(--char);border-color:rgba(224,164,90,.95)}
.cx .es-by h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.2vw,46px);line-height:1;letter-spacing:-.02em;color:var(--char)}
.cx .es-by h2 em{font-style:italic;color:var(--ember)}
.cx .es-role{margin:8px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .es-author>p:not(.es-k),.cx .es-step>p:not(.es-k){margin:20px 0 0;font-size:16.5px;line-height:1.65;color:var(--es-text)}
.cx .es-author>p.es-about{padding-top:20px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.65;color:var(--ink2)}
.cx .es-step .ctas{margin-top:28px}

/* ── read next: three essays on the page, divided by hairlines, each with its own small plate ── */
.cx .es-page.es-more{padding-top:clamp(40px,5vw,72px)}
.cx .es-posts{--es-gap:clamp(36px,4.8vw,72px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--es-gap);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.cx .es-post{position:relative;display:grid;align-content:start;gap:14px;padding:32px 0 6px;color:var(--ink)}
.cx .es-post+.es-post::before{content:"";position:absolute;top:0;bottom:0;left:calc(-.5*var(--es-gap));width:1px;background:var(--line)}
.cx .es-thumb{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:flex-end;gap:5px;aspect-ratio:16/9;margin-bottom:6px;padding:0 22px 20px;overflow:hidden;border-radius:3px;font-family:var(--serif);font-size:clamp(46px,4.4vw,64px);line-height:.8;letter-spacing:-.04em;color:rgba(239,234,226,.92);
  background:radial-gradient(60% 90% at 10% 115%,rgba(255,75,26,.46),transparent 62%),radial-gradient(120% 100% at 50% 40%,transparent 40%,rgba(0,0,0,.55)),repeating-linear-gradient(118deg,rgba(239,234,226,.04) 0 1px,transparent 1px 6px),#0E0D12;box-shadow:0 30px 50px -36px rgba(10,10,11,.55);transition:transform 1s var(--ease),box-shadow 1s var(--ease)}
.cx .es-thumb::after{content:"";position:absolute;inset:8px;border:1px solid rgba(224,164,90,.32);pointer-events:none}
.cx .es-thumb small{margin:auto 0 .9em;font-size:.3em;font-style:italic;letter-spacing:0;color:var(--ember)}
.cx .es-post-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .es-post-m>*+*::before{content:"";display:inline-block;width:3px;height:3px;margin:0 10px;border-radius:50%;background:var(--ember);vertical-align:middle}
.cx .es-post b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.3vw,33px);line-height:1.04;letter-spacing:-.015em;color:var(--char);text-wrap:balance;transition:color .4s}
.cx .es-post-d{font-size:14.5px;line-height:1.55;color:var(--ink2)}
.cx .es-post-go{display:inline-flex;align-items:center;gap:12px;margin-top:4px;font-size:13.5px;font-weight:600;color:var(--ember)}
.cx .es-post-go::after{content:"";width:22px;height:1px;background:currentColor;transition:width .5s var(--ease)}
.cx .es-post:hover .es-post-go::after{width:40px}
.cx .es-post:hover .es-thumb{transform:translateY(-4px);box-shadow:0 40px 60px -36px rgba(10,10,11,.6)}

/* related, on this page type: an index ruled with hairlines, not a wall of cards */
.cx .es-page~.sec .related{gap:0 clamp(28px,3.4vw,56px);border-top:1px solid var(--line)}
.cx .es-page~.sec .rel{align-content:start;gap:8px;padding:24px 0 26px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0}
.cx .es-page~.sec .rel:hover{transform:none}
.cx .es-page~.sec .rel b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2vw,28px);line-height:1.08;letter-spacing:-.01em;transition:color .4s}
.cx .es-page~.sec .rel:hover b{color:var(--ember)}
.cx .es-page~.sec .rel span{line-height:1.5}

/* ── the weekly read ── */
.cx .es-page.es-news{padding-block:clamp(80px,10vw,140px);border-top:1px solid rgba(239,234,226,.08);background:radial-gradient(55% 90% at 88% 115%,rgba(255,75,26,.17),transparent 62%),var(--obsidian)}
.cx .es-news-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,88px);align-items:end}
.cx .es-news-h .cx-eyebrow{justify-content:flex-start}
.cx .es-news-h h2{margin:20px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(50px,6.4vw,96px);line-height:.93;letter-spacing:-.035em;color:var(--bone)}
.cx .es-news-h h2 em{font-style:italic;color:var(--ember)}
.cx .es-news-h p{margin:22px 0 0;max-width:46ch;font-size:clamp(16px,1.3vw,18px);line-height:1.55;color:var(--bone-2)}
.cx .es-page.es-news .form.cx-inline,.cx .es-page.es-news .success{max-width:none;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.cx .es-page.es-news .form.cx-inline{padding-top:22px;border-top:1px solid var(--es-hair)}
.cx .es-page.es-news .form .fine{justify-content:flex-start;text-align:left}
.cx .es-page.es-news .success{color:var(--bone)}

/* ── narrower screens ── */
@media (max-width:999px){
  .cx .es-grid{display:block;max-width:var(--es-col);margin-inline:auto}
  .cx .es-rail{display:none}
  .cx .es-posts{grid-template-columns:1fr}
  .cx .es-post{grid-template-columns:minmax(0,220px) minmax(0,1fr);column-gap:28px;padding:28px 0}
  .cx .es-post+.es-post{border-top:1px solid var(--line)}
  .cx .es-post+.es-post::before{display:none}
  .cx .es-thumb{grid-row:span 4;margin:0}
  .cx .es-news-in{grid-template-columns:1fr;align-items:start}
}
@media (max-width:820px){
  .cx .es-by-in{grid-template-columns:1fr}
  .cx .es-author{padding-right:0}
  .cx .es-step{margin-top:40px;padding-left:0;border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:640px){
  .cx .es-page{--es-lap:44px}
  .cx .es-folio{gap:6px 18px}
  .cx .es-page.es-top h1,.cx .es-page.es-top h1.es-long{max-width:none;font-size:clamp(40px,11.4vw,56px);line-height:1}
  .cx .es-deck{font-size:20px}
  .cx .es-plate{aspect-ratio:4/3}
  .cx .es-plate-tr,.cx .es-plate-bl{display:none}
  .cx .es-body{font-size:17.5px;line-height:1.7}
  .cx .es-body>h2,.cx .es-qa h2{font-size:32px}
  .cx .es-body p.es-phase{display:block}
  .cx .es-phase>b{display:block;padding:0 0 6px}
  .cx .es-pull p{font-size:27px}
  .cx .es-post{grid-template-columns:1fr}
  .cx .es-thumb{grid-row:auto;aspect-ratio:21/9;margin-bottom:6px}
  .cx .es-news-h h2{font-size:clamp(46px,13vw,60px)}
}
@media (prefers-reduced-motion:reduce){.cx .es-plate,.cx .es-plate-no{animation:none}.cx .es-thumb,.cx .es-post-go::after{transition:none}}

/* photographs: the cover keeps its gold frame, the corner labels sit on a soft shade */
.cx .es-plate.es-photo>img{filter:saturate(.95) contrast(1.03)}
.cx .es-plate.es-photo::before{background:linear-gradient(180deg,rgba(6,6,10,.5) 0%,rgba(6,6,10,0) 26%,rgba(6,6,10,0) 70%,rgba(6,6,10,.55) 100%);opacity:1;mix-blend-mode:normal;z-index:0}
.cx .es-plate.es-photo .es-plate-k{z-index:1;color:rgba(239,234,226,.86);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.cx .es-thumb.es-photo{padding:0;overflow:hidden}
.cx .es-thumb.es-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.cx .es-post:hover .es-thumb.es-photo img{transform:scale(1.05)}
.cx .es-ini.es-face{padding:0;overflow:hidden;border-color:rgba(224,164,90,.55)}
.cx .es-ini.es-face img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 20%}
@media (prefers-reduced-motion:reduce){.cx .es-thumb.es-photo img{transition:none}}
/* page: fs-aeo */
/* ───────── AEO: one question, the answer the business owns, and where that answer appears ───────── */
/* the question, set large, with the two headline numbers beside it */
.cx .stage[data-show="aeo"] .ae-ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:clamp(22px,3.4vw,56px);align-items:end}
.cx .stage[data-show="aeo"] .ae-q{min-width:0}
.cx .stage[data-show="aeo"] .ae-qt{margin:0;max-width:26ch;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.06;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.cx .stage[data-show="aeo"] .ae-qt::after{content:"";display:inline-block;width:2px;height:.78em;margin-left:8px;vertical-align:-.04em;background:var(--ember);animation:aeCaret 1.3s steps(2) 7 both}
@keyframes aeCaret{50%{opacity:0}}
.cx .stage[data-show="aeo"] .ae-tags{display:flex;flex-wrap:wrap;gap:6px 0;margin:18px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-tags span{display:inline-flex;align-items:center}
.cx .stage[data-show="aeo"] .ae-tags span:not(:last-child)::after{content:"";width:3px;height:3px;margin:0 12px;border-radius:50%;background:var(--ember);opacity:.8}
.cx .stage[data-show="aeo"] .ae-stats{display:grid;grid-template-columns:repeat(2,minmax(0,auto));padding-left:clamp(20px,2.8vw,40px);border-left:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-stats .cn-k{min-width:150px}
/* the view: all four places stack in one cell, so the screen never jumps when you switch */
.cx .stage[data-show="aeo"] .ae-view{min-width:0}
.cx .stage[data-show="aeo"] .ae-now{color:var(--ink)}
.cx .stage[data-show="aeo"] .ae-panes{display:grid}
.cx .stage[data-show="aeo"] .ae-pane{grid-area:1/1;min-width:0;align-self:start;transition:opacity .7s var(--ease),transform .7s var(--ease),visibility 0s linear .7s}
.cx .stage[data-show="aeo"] .ae-pane:not(.on){visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none}
.cx .stage[data-show="aeo"] .ae-pane.on{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.cx .stage[data-show="aeo"] .ae-srch{display:flex;align-items:center;gap:11px;height:44px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--bone-2);white-space:nowrap;overflow:hidden}
.cx .stage[data-show="aeo"] .ae-srch span{overflow:hidden;text-overflow:ellipsis}
.cx .stage[data-show="aeo"] .ae-srch svg{flex:0 0 16px;width:16px;height:16px;fill:none;stroke:var(--ash);stroke-width:1.6;stroke-linecap:round}
.cx .stage[data-show="aeo"] .ae-lab{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-lab>span:first-child{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="aeo"] .ae-own{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:rgba(255,75,26,.14);color:#FF8A66;letter-spacing:.12em;white-space:nowrap}
.cx .stage[data-show="aeo"] .ae-own::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember)}
.cx .stage[data-show="aeo"] .ae-ans{margin:0;font-size:15.5px;line-height:1.6;color:var(--bone)}
.cx .stage[data-show="aeo"] .ae-src{display:flex;align-items:center;gap:9px;margin:14px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-src i{flex:0 0 14px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFB08A,var(--ember) 60%,#9E2A0B)}
/* 1. the featured snippet: the one lit object on the screen */
.cx .stage[data-show="aeo"] .ae-box{position:relative;margin-top:16px;padding:20px 22px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(255,75,26,.11),rgba(255,75,26,.025) 70%);box-shadow:inset 0 0 0 1px rgba(255,75,26,.42),0 30px 70px -44px rgba(255,75,26,.75)}
.cx .stage[data-show="aeo"] .ae-box::before{content:"";position:absolute;left:26px;right:26px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ember) 30%,#FF9A7A 50%,var(--ember) 70%,transparent)}
.cx .stage[data-show="aeo"] .ae-mini{width:100%;min-width:0;margin-top:14px;border-collapse:collapse;table-layout:fixed;font-size:13px}
.cx .stage[data-show="aeo"] .ae-mini th,.cx .stage[data-show="aeo"] .ae-mini td{padding:8px 10px 8px 0;border-top:1px solid rgba(255,138,102,.18);color:var(--bone-2);font-weight:400;font-size:13px;line-height:1.35;vertical-align:top;text-align:left;width:auto}
.cx .stage[data-show="aeo"] .ae-mini thead th{border-top:0;padding-top:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-mini tbody th{color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-mini tbody td{color:var(--ink)}
.cx .stage[data-show="aeo"] .ae-below{display:grid;gap:8px;margin:20px 0 0;padding:0 4px;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.cx .stage[data-show="aeo"] .ae-below span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-below i{display:block;height:7px;border-radius:4px;background:rgba(239,234,226,.16)}
.cx .stage[data-show="aeo"] .ae-below i:first-of-type{width:44%}.cx .stage[data-show="aeo"] .ae-below i:last-of-type{width:86%}
/* 2. People Also Ask: four questions, yours open */
.cx .stage[data-show="aeo"] .ae-paa .ae-lab{margin-top:18px}
.cx .stage[data-show="aeo"] .ae-qs{border-top:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-qrow{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:4px 14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.4;color:var(--bone-2)}
.cx .stage[data-show="aeo"] .ae-qrow svg{width:16px;height:16px;fill:none;stroke:var(--ash);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cx .stage[data-show="aeo"] .ae-qrow.open{color:var(--ink)}
.cx .stage[data-show="aeo"] .ae-qrow.open svg{transform:rotate(180deg);stroke:var(--ember)}
.cx .stage[data-show="aeo"] .ae-qa{grid-column:1/-1;margin:8px 0 2px;padding:2px 0 2px 16px;border-left:1px solid var(--ember)}
.cx .stage[data-show="aeo"] .ae-qa p{margin:0;font-size:14px;line-height:1.55;color:var(--bone-2)}
.cx .stage[data-show="aeo"] .ae-qa p.ae-src{margin-top:10px;font-size:11px;line-height:1.4;color:var(--ink2)}
/* 3. the AI Overview: your page is source 1 */
.cx .stage[data-show="aeo"] .ae-aib{margin-top:16px;padding:20px 22px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px var(--line)}
.cx .stage[data-show="aeo"] .ae-spk{width:14px;height:14px;fill:var(--ember)}
.cx .stage[data-show="aeo"] .ae-c{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;vertical-align:2px;background:rgba(239,234,226,.1);font:500 10.5px/1 var(--mono);color:var(--bone-2)}
.cx .stage[data-show="aeo"] .ae-c.me{background:var(--ember);color:var(--obsidian)}
.cx .stage[data-show="aeo"] .ae-cites{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-cites li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-cites .ae-c{margin:0}
.cx .stage[data-show="aeo"] .ae-cites b{font-weight:500;color:var(--bone-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx .stage[data-show="aeo"] .ae-cites small{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-cites li.me b{color:var(--ink);font-weight:600}
.cx .stage[data-show="aeo"] .ae-cites li.me small{color:#FF8A66}
/* 4. out loud: the question heard, the snippet read back */
.cx .stage[data-show="aeo"] .ae-heard{padding:0 0 18px;border-bottom:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-heard p{margin:0;font-size:15px;line-height:1.5;color:var(--bone-2)}
.cx .stage[data-show="aeo"] .ae-wave{display:block;width:100%;height:64px;margin:24px 0 20px;fill:var(--ember)}
.cx .stage[data-show="aeo"] .ae-wave rect{transform-box:fill-box;transform-origin:center}
.cx .stage[data-show="aeo"] .ae-wave rect:nth-child(3n+2){fill:#FF8A66}
.cx .stage[data-show="aeo"] .ae-wave rect:nth-child(5n+4){fill:rgba(239,234,226,.45)}
.cx .stage[data-show="aeo"] .ae-pane.on .ae-wave rect{animation:aeWave 2.4s ease-in-out infinite}
.cx .stage[data-show="aeo"] .ae-pane.on .ae-wave rect:nth-child(3n+1){animation-delay:-.8s}
.cx .stage[data-show="aeo"] .ae-pane.on .ae-wave rect:nth-child(3n+2){animation-delay:-1.6s}
@keyframes aeWave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.62)}}
.cx .stage[data-show="aeo"] .ae-say{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.9vw,25px);line-height:1.3;letter-spacing:-.005em;color:var(--ink);text-wrap:pretty}
/* the rail: the four places, each one a press */
.cx .stage[data-show="aeo"] .ae-places{display:grid;border-top:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-place{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:color .3s}
.cx .stage[data-show="aeo"] .ae-place::before{content:"";position:absolute;left:calc(-1 * clamp(20px,2.8vw,40px) - 1px);top:-1px;bottom:-1px;width:1px;background:var(--ember);transform:scaleY(0);transition:transform .5s var(--ease)}
.cx .stage[data-show="aeo"] .ae-place[aria-pressed="true"]::before{transform:none}
.cx .stage[data-show="aeo"] .ae-place svg{width:38px;height:38px;padding:9px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--lineh);fill:none;stroke:var(--ash);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:box-shadow .4s,stroke .4s,background .4s}
.cx .stage[data-show="aeo"] .ae-place b{display:block;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--bone-2);transition:color .3s}
.cx .stage[data-show="aeo"] .ae-place small{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-place em{display:inline-flex;align-items:center;gap:7px;font:500 10.5px var(--mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--up);white-space:nowrap}
.cx .stage[data-show="aeo"] .ae-place em::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 10px rgba(111,211,163,.6)}
.cx .stage[data-show="aeo"] .ae-place:hover b{color:var(--ink)}
.cx .stage[data-show="aeo"] .ae-place:hover svg{box-shadow:inset 0 0 0 1px var(--ember)}
.cx .stage[data-show="aeo"] .ae-place[aria-pressed="true"] b{color:var(--ink)}
.cx .stage[data-show="aeo"] .ae-place[aria-pressed="true"] svg{background:var(--ember);stroke:var(--obsidian);box-shadow:0 10px 26px -10px rgba(255,75,26,.9)}
.cx .stage[data-show="aeo"] .ae-place:focus-visible{outline:1.5px solid var(--ember);outline-offset:3px;border-radius:6px}
/* how it became yours: three beats on one line */
.cx .stage[data-show="aeo"] .ae-how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,44px)}
.cx .stage[data-show="aeo"] .ae-how li{position:relative;display:grid;gap:8px;align-content:start;padding-top:16px;border-top:1px solid var(--line)}
.cx .stage[data-show="aeo"] .ae-how li::before{content:"";position:absolute;top:-1px;left:0;width:30px;height:1px;background:var(--ash)}
.cx .stage[data-show="aeo"] .ae-how li.now::before{background:var(--ember);width:48px}
.cx .stage[data-show="aeo"] .ae-how time{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="aeo"] .ae-how li.now time{color:#FF8A66}
.cx .stage[data-show="aeo"] .ae-how p{margin:0;font-size:14.5px;line-height:1.5;color:var(--bone-2)}
.cx .stage[data-show="aeo"] .ae-how b{font-weight:600;color:var(--ink)}
@media (max-width:1100px){.cx .stage[data-show="aeo"] .ae-ask{grid-template-columns:minmax(0,1fr)}.cx .stage[data-show="aeo"] .ae-stats{padding:22px 0 0;border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.cx .stage[data-show="aeo"] .ae-place::before{left:0;top:auto;bottom:-1px;width:44px;height:1px;transform:scaleX(0);transform-origin:left}.cx .stage[data-show="aeo"] .ae-place[aria-pressed="true"]::before{transform:none}}
@media (max-width:640px){.cx .stage[data-show="aeo"] .ae-how{grid-template-columns:minmax(0,1fr);gap:18px}}
@media (max-width:560px){
  .cx .stage[data-show="aeo"] .ae-long{display:none}
  .cx .stage[data-show="aeo"] .ae-stats{grid-template-columns:minmax(0,1fr);padding-top:0;border-top:0;margin-top:4px}
  .cx .stage[data-show="aeo"] .ae-stats .cn-k{min-width:0}
  .cx .stage[data-show="aeo"] .ae-stats .cn-k:first-child{padding-top:14px;border-top:1px solid var(--line)}
  .cx .stage[data-show="aeo"] .ae-box,.cx .stage[data-show="aeo"] .ae-aib{padding:18px 16px 16px}
  .cx .stage[data-show="aeo"] .ae-place{grid-template-columns:34px minmax(0,1fr);gap:4px 12px}
  .cx .stage[data-show="aeo"] .ae-place svg{width:34px;height:34px;padding:8px;grid-row:span 2}
  .cx .stage[data-show="aeo"] .ae-place em{grid-column:2}
}
@media (prefers-reduced-motion:reduce){.cx .stage[data-show="aeo"] .ae-pane{transition:none!important;transform:none!important}.cx .stage[data-show="aeo"] .ae-qt::after{animation:none}}

/* ───────── why AEO: a pull line beside the argument ───────── */
.cx .ae-zero .ae-zg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(32px,7vw,120px);align-items:start;margin-top:clamp(44px,5vw,72px)}
.cx .ae-zero .ae-pull{position:sticky;top:120px;padding-top:26px}
.cx .ae-zero .ae-pull::before{content:"";position:absolute;top:0;left:0;width:56px;height:1px;background:var(--gold)}
.cx .ae-zero .ae-pull p{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.8vw,56px);line-height:1.02;letter-spacing:-.02em;color:var(--bone);text-wrap:balance}
.cx .ae-zero .ae-pull em{font-style:italic;color:var(--ember)}
.cx .ae-zero .ae-prose{max-width:60ch;font-size:clamp(16.5px,1.2vw,18px);line-height:1.72;color:var(--bone-2)}
.cx .ae-zero .ae-prose p{margin:0 0 1.15em}
.cx .ae-zero .ae-prose p:first-child{font-size:1.14em;line-height:1.55;color:var(--bone)}
.cx .ae-zero .ae-prose .ae-more{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--ash)}
@media (max-width:900px){.cx .ae-zero .ae-zg{grid-template-columns:minmax(0,1fr)}.cx .ae-zero .ae-pull{position:relative;top:auto}}

/* ───────── where answers live: a results page drawn in fine line, four places marked ───────── */
.cx .ae-estate .ae-map{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,6vw,104px);align-items:center;margin-top:clamp(44px,5vw,72px)}
.cx .ae-estate .ae-plate{position:relative;isolation:isolate;padding:clamp(18px,2.2vw,28px);border-radius:28px;color:var(--bone);background:radial-gradient(80% 60% at 28% 18%,rgba(255,75,26,.16),transparent 60%),radial-gradient(70% 60% at 100% 110%,rgba(224,164,90,.07),transparent 60%),#0A0A0F;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 80px 120px -70px rgba(10,10,11,.8),0 36px 60px -36px rgba(10,10,11,.55)}
.cx .ae-estate .ae-pl-bar{display:flex;align-items:center;gap:10px;height:42px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(239,234,226,.14);font-size:13.5px;color:var(--ash)}
.cx .ae-estate .ae-pl-bar svg{flex:0 0 15px;width:15px;height:15px;fill:none;stroke:var(--ash);stroke-width:1.6;stroke-linecap:round}
.cx .ae-estate .ae-pl-body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:clamp(14px,1.6vw,22px);margin-top:26px;align-items:start}
.cx .ae-estate .ae-pl-main{display:grid;gap:18px}
.cx .ae-estate .ae-pl-blk{position:relative;display:grid;gap:9px;padding:18px 16px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(239,234,226,.12)}
.cx .ae-estate .ae-pl-blk>b{position:absolute;top:-11px;left:-9px;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0A0A0F;box-shadow:inset 0 0 0 1px var(--ember);font:500 11px/1 var(--mono);color:var(--ember)}
.cx .ae-estate .ae-pl-blk i,.cx .ae-estate .ae-pl-res i{display:block;width:var(--w,100%);height:7px;border-radius:4px;background:rgba(239,234,226,.15)}
.cx .ae-estate .ae-pl-snip{background:linear-gradient(180deg,rgba(255,75,26,.15),rgba(255,75,26,.04));box-shadow:inset 0 0 0 1px rgba(255,75,26,.5),0 26px 60px -30px rgba(255,75,26,.7)}
.cx .ae-estate .ae-pl-snip>b{background:var(--ember);color:var(--obsidian)}
.cx .ae-estate .ae-pl-snip i{background:rgba(255,196,176,.38)}
.cx .ae-estate .ae-pl-snip s{display:block;width:34%;height:7px;margin-top:4px;border-radius:4px;background:rgba(255,75,26,.55);text-decoration:none}
.cx .ae-estate .ae-pl-paa{gap:0;padding-top:10px;padding-bottom:6px}
.cx .ae-estate .ae-pl-paa span{display:flex;align-items:center;justify-content:space-between;gap:10px;height:30px;border-bottom:1px solid rgba(239,234,226,.08)}
.cx .ae-estate .ae-pl-paa span:last-child{border-bottom:0}
.cx .ae-estate .ae-pl-paa span::after{content:"";flex:0 0 6px;width:6px;height:6px;margin:-4px 3px 0 0;border-right:1.5px solid var(--ash);border-bottom:1.5px solid var(--ash);transform:rotate(45deg)}
.cx .ae-estate .ae-pl-ai{background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}
.cx .ae-estate .ae-pl-spk{width:14px;height:14px;fill:var(--gold);opacity:.85}
.cx .ae-estate .ae-pl-res{display:grid;gap:8px;padding:2px 4px;opacity:.55}
.cx .ae-estate .ae-pl-res+.ae-pl-res{opacity:.3}
.cx .ae-estate .ae-pl-res em{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.cx .ae-estate .ae-pl-kp{align-content:start}
.cx .ae-estate .ae-pl-img{display:block;aspect-ratio:16/10;margin-bottom:4px;border-radius:9px;background:radial-gradient(120% 90% at 20% 0%,rgba(224,164,90,.22),transparent 60%),linear-gradient(160deg,#1A1820,#0E0D12);box-shadow:inset 0 0 0 1px rgba(239,234,226,.08)}
.cx .ae-estate .ae-plate.in-view .ae-pl-snip{animation:aeGlow 5s ease-in-out 1.2s infinite}
@keyframes aeGlow{0%,100%{box-shadow:inset 0 0 0 1px rgba(255,75,26,.5),0 26px 60px -30px rgba(255,75,26,.7)}50%{box-shadow:inset 0 0 0 1px rgba(255,75,26,.8),0 30px 80px -26px rgba(255,75,26,.95)}}
.cx .ae-estate .ae-spots{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cx .ae-estate .ae-spots li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:24px 0 26px;border-bottom:1px solid var(--line)}
.cx .ae-estate .ae-n{display:grid;place-items:center;width:30px;height:30px;margin-top:1px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ember);font:500 12px/1 var(--mono);color:var(--ember)}
.cx .ae-estate .ae-spots li:first-child .ae-n{background:var(--ember);color:var(--cream)}
.cx .ae-estate .ae-spots h3{margin:0;font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.02em}
.cx .ae-estate .ae-spots p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--ink2)}
@media (max-width:960px){.cx .ae-estate .ae-map{grid-template-columns:minmax(0,1fr)}.cx .ae-estate .ae-plate{max-width:620px;width:100%;margin:0 auto}}
@media (max-width:480px){
  .cx .ae-estate .ae-pl-body{display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .cx .ae-estate .ae-pl-main{display:contents}
  .cx .ae-estate .ae-pl-kp{order:1;grid-template-columns:88px minmax(0,1fr);column-gap:14px;row-gap:9px}
  .cx .ae-estate .ae-pl-img{grid-row:1/span 4;margin:0;aspect-ratio:auto;height:100%;min-height:62px}
  .cx.cx.cx .ae-estate .ae-pl-img{min-height:62px}
  .cx .ae-estate .ae-pl-res{order:2}
  .cx .ae-estate .ae-pl-res+.ae-pl-res{display:none}
}
@media (prefers-reduced-motion:reduce){.cx .ae-estate .ae-pl-snip{animation:none!important}}

/* ───────── how it runs: four strategies in columns, split by hairlines, serif numerals ───────── */
.cx .ae-ways .ae-four{list-style:none;margin:clamp(48px,5.4vw,76px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.cx .ae-ways .ae-four>li{display:grid;gap:14px;align-content:start;padding:0 clamp(18px,2vw,32px);border-left:1px solid var(--line)}
.cx .ae-ways .ae-four>li:first-child{padding-left:0;border-left:0}
.cx .ae-ways .ae-four>li:last-child{padding-right:0}
.cx .ae-ways .ae-i{font-family:var(--serif);font-style:italic;font-size:clamp(44px,4.4vw,64px);line-height:.9;letter-spacing:-.02em;color:var(--ember)}
.cx .ae-ways .ae-four h3{margin:6px 0 0;font-weight:600;font-size:clamp(19px,1.6vw,22px);line-height:1.18;letter-spacing:-.025em}
.cx .ae-ways .ae-four p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .ae-ways .ae-four ul{list-style:none;margin:8px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:14.5px;line-height:20px;color:var(--bone-2)}
.cx .ae-ways .ae-four ul li{position:relative;padding-left:22px}
.cx .ae-ways .ae-four ul li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:1px;background:var(--ember)}
@media (max-width:1000px){.cx .ae-ways .ae-four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:52px}.cx .ae-ways .ae-four>li:nth-child(odd){padding-left:0;border-left:0}.cx .ae-ways .ae-four>li:nth-child(even){padding-right:0}}
@media (max-width:620px){.cx .ae-ways .ae-four{grid-template-columns:minmax(0,1fr);row-gap:0}.cx .ae-ways .ae-four>li,.cx .ae-ways .ae-four>li:nth-child(n){padding:28px 0 32px;border-left:0;border-top:1px solid var(--line)}.cx .ae-ways .ae-four>li:first-child{border-top:0;padding-top:0}}

/* ───────── deliverables: six items, a hairline above each, no boxes ───────── */
.cx .ae-inc .ae-inc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3.4vw,56px);margin-top:clamp(44px,5vw,68px)}
.cx .ae-inc .ae-inc-grid>div{position:relative;display:grid;gap:10px;align-content:start;padding:24px 0 38px;border-top:1px solid var(--line)}
.cx .ae-inc .ae-inc-grid>div::before{content:"";position:absolute;top:-1px;left:0;width:32px;height:1px;background:var(--ember)}
.cx .ae-inc .ae-inc-grid small{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ember)}
.cx .ae-inc .ae-inc-grid h3{margin:0;font-weight:600;font-size:clamp(19px,1.6vw,22px);line-height:1.2;letter-spacing:-.025em}
.cx .ae-inc .ae-inc-grid p{margin:0;max-width:40ch;font-size:15px;line-height:1.55;color:var(--ink2)}
@media (max-width:900px){.cx .ae-inc .ae-inc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cx .ae-inc .ae-inc-grid{grid-template-columns:minmax(0,1fr)}.cx .ae-inc .ae-inc-grid>div{padding-bottom:30px}}

/* ───────── how it fits: SEO feeds AEO, AEO feeds GEO and VEO ───────── */
.cx .ae-chain{overflow:hidden}
.cx .ae-chain .ae-flow{display:grid;grid-template-columns:minmax(0,1fr) clamp(48px,6vw,96px) minmax(0,1.2fr) clamp(48px,6vw,96px) minmax(0,1fr);align-items:stretch;margin-top:clamp(52px,6vw,88px)}
.cx .ae-chain .ae-node{display:grid;gap:10px;align-content:center;min-width:0;padding:26px 0;color:var(--ink)}
.cx .ae-chain .ae-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .ae-chain .ae-node h3{margin:0;font-weight:600;font-size:clamp(19px,1.7vw,23px);line-height:1.18;letter-spacing:-.025em;transition:color .3s}
.cx .ae-chain .ae-node p{margin:0;font-size:15px;line-height:1.5;color:var(--ink2)}
.cx .ae-chain .ae-node i{font-style:normal;font-weight:600;font-size:13.5px;color:var(--ember)}
.cx .ae-chain a.ae-node i::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .4s var(--ease)}
.cx .ae-chain a.ae-node:hover h3{color:var(--ember)}
.cx .ae-chain a.ae-node:hover i::after{transform:translateX(4px) rotate(45deg) translateY(-1px)}
.cx .ae-chain .ae-here{position:relative;isolation:isolate;justify-items:center;text-align:center;padding:48px clamp(8px,1.4vw,20px)}
.cx .ae-chain .ae-here::before{content:"";position:absolute;inset:-8% -14%;z-index:-1;background:radial-gradient(closest-side,rgba(255,75,26,.22),rgba(255,75,26,.06) 60%,transparent)}
.cx .ae-chain .ae-here .ae-tag{color:#FF8A66}
.cx .ae-chain .ae-here h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:.98;letter-spacing:-.02em;color:var(--ember)}
.cx .ae-chain .ae-here p{max-width:26ch;color:var(--bone-2)}
.cx .ae-chain .ae-out{display:grid;grid-template-rows:1fr 1fr}
.cx .ae-chain .ae-out .ae-node+.ae-node{border-top:1px solid var(--line)}
.cx .ae-chain .ae-link{position:relative}
.cx .ae-chain .ae-link.one::before{content:"";position:absolute;left:8px;right:10px;top:50%;height:1px;background:linear-gradient(90deg,rgba(239,234,226,.16),var(--ember))}
.cx .ae-chain .ae-link.one::after{content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-top:1px solid var(--ember);border-right:1px solid var(--ember);transform:translate(0,-50%) rotate(45deg)}
.cx .ae-chain .ae-link.fork svg{position:absolute;inset:0 10px 0 8px;width:calc(100% - 18px);height:100%;overflow:visible;fill:none;stroke:rgba(255,75,26,.7);stroke-width:1;vector-effect:non-scaling-stroke}
.cx .ae-chain .ae-link.fork svg path{vector-effect:non-scaling-stroke}
.cx .ae-chain .ae-link.fork::before,.cx .ae-chain .ae-link.fork::after{content:"";position:absolute;right:10px;width:7px;height:7px;border-top:1px solid var(--ember);border-right:1px solid var(--ember);transform:translate(0,-50%) rotate(45deg)}
.cx .ae-chain .ae-link.fork::before{top:25%}.cx .ae-chain .ae-link.fork::after{top:75%}
.cx .ae-chain .ae-coda{margin:clamp(48px,5vw,72px) auto 0;max-width:30ch;padding-top:28px;border-top:1px solid rgba(224,164,90,.5);text-align:center;font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.12;letter-spacing:-.01em;color:var(--bone);text-wrap:balance}
.cx .ae-chain .ae-coda em{font-style:italic;color:var(--ember)}
@media (max-width:900px){
  .cx .ae-chain .ae-flow{grid-template-columns:minmax(0,1fr)}
  .cx .ae-chain .ae-link{display:none}
  .cx .ae-chain .ae-node{border-top:1px solid var(--line);padding:26px 0}
  .cx .ae-chain .ae-here{border-top:0;justify-items:start;text-align:left;padding:34px 0}
  .cx .ae-chain .ae-here::before{inset:0 0 0 -8%}
  .cx .ae-chain .ae-out{grid-template-rows:auto}
  .cx .ae-chain .ae-coda{padding-top:24px}
}

/* ───────── pricing: one quiet line, no card ───────── */
.cx .ae-price .ctas{justify-content:center}
.cx .ae-price .ae-aside{margin:26px auto 0;max-width:56ch;text-align:center;font-size:14.5px;line-height:1.5;color:var(--ink2)}

/* ───────── related: hairlines instead of cards ───────── */
.cx .ae-rel .related{gap:0 clamp(24px,3.4vw,56px);margin-top:clamp(40px,4.4vw,60px)}
.cx .ae-rel .related .rel{position:relative;gap:8px;align-content:start;padding:22px 0 34px;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.cx .ae-rel .related .rel::before{content:"";position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--ember);transition:width .6s var(--ease)}
.cx .ae-rel .related .rel:hover{transform:none}
.cx .ae-rel .related .rel:hover::before{width:100%}
.cx .ae-rel .related .rel b{font-size:18px;line-height:1.25;transition:color .3s}
.cx .ae-rel .related .rel:hover b{color:var(--ember)}
.cx .ae-rel .related .rel span{max-width:44ch}
.cx .ae-rel .related .rel i::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .4s var(--ease)}
.cx .ae-rel .related .rel:hover i::after{transform:translateX(4px) rotate(45deg) translateY(-1px)}
@media (max-width:900px){.cx .ae-rel .related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cx .ae-rel .related{grid-template-columns:minmax(0,1fr)}.cx .ae-rel .related .rel{padding-bottom:26px}}

/* scripts off: the shared reveal never runs, so everything on this page shows at once */
@media (scripting:none){.cx .ae-s .r,.cx .ae-s.r{opacity:1!important;transform:none!important}}
/* page: fs-bundle */
/* ───────── Marketing bundles (fs-bundle): a service page with the form in the hero. Only what is new here. ───────── */

/* readable with scripts off: nothing waits for the reveal */
@media (scripting:none){.cx .bu-s .r{opacity:1;transform:none}}

/* ── the stage: one example account, four services, one week, drawn as one connected view ── */
.cx .stage[data-show="bundle"] .bu-long{color:var(--ink2)}
.cx .stage[data-show="bundle"] .cn-k b{white-space:nowrap}
.cx .stage[data-show="bundle"] .bu-wh{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-bottom:14px}
.cx .stage[data-show="bundle"] .bu-wh .cn-h{margin:0}
.cx .stage[data-show="bundle"] .bu-wh .cn-btn[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
/* the weave: lanes are services, columns are days, the ember line is the work passing from one service to the next.
   The drawing is 500 by 384 units: each day is 100 wide, each lane 96 tall, the dot sits 28 down. No path is longer than 200, so a dash of 200 draws any of them. */
.cx .stage[data-show="bundle"] .bu-wv{position:relative;display:grid;grid-template-columns:92px repeat(5,minmax(0,1fr));grid-template-rows:30px repeat(4,96px)}
.cx .stage[data-show="bundle"] .bu-wv>[data-d="1"]{grid-column:2}
.cx .stage[data-show="bundle"] .bu-wv>[data-d="2"]{grid-column:3}
.cx .stage[data-show="bundle"] .bu-wv>[data-d="3"]{grid-column:4}
.cx .stage[data-show="bundle"] .bu-wv>[data-d="4"]{grid-column:5}
.cx .stage[data-show="bundle"] .bu-wv>[data-d="5"]{grid-column:6}
.cx .stage[data-show="bundle"] .bu-wv>[data-l="1"]{grid-row:2}
.cx .stage[data-show="bundle"] .bu-wv>[data-l="2"]{grid-row:3}
.cx .stage[data-show="bundle"] .bu-wv>[data-l="3"]{grid-row:4}
.cx .stage[data-show="bundle"] .bu-wv>[data-l="4"]{grid-row:5}
.cx .stage[data-show="bundle"] .bu-corner{grid-column:1;grid-row:1}
.cx .stage[data-show="bundle"] .bu-day{grid-row:1;align-self:start;text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="bundle"] .bu-lane{grid-column:1;display:grid;align-content:start;gap:3px;padding-top:19px;min-width:0}
.cx .stage[data-show="bundle"] .bu-lane b{font-weight:600;font-size:14px;line-height:18px;letter-spacing:-.01em;color:var(--ink)}
.cx .stage[data-show="bundle"] .bu-lane small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="bundle"] .bu-wv svg{grid-column:2/-1;grid-row:2/-1;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.cx .stage[data-show="bundle"] .bu-sep{stroke:rgba(239,234,226,.05);stroke-width:1;fill:none}
.cx .stage[data-show="bundle"] .bu-ln{stroke:rgba(239,234,226,.13);stroke-width:1;fill:none}
.cx .stage[data-show="bundle"] .bu-lk{fill:none;stroke:var(--ember);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:0;opacity:.8;transition:opacity .6s var(--ease),stroke-width .6s var(--ease)}
.cx .stage[data-show="bundle"] .bu-lk.bu-b{opacity:.55}
/* one piece of work: a dot on its lane, the words under it */
.cx .stage[data-show="bundle"] .bu-ev{position:relative;z-index:1;display:grid;justify-items:center;align-content:start;min-width:0;padding:22px 7px 0;text-align:center;transition:opacity .6s var(--ease)}
.cx .stage[data-show="bundle"] .bu-dot{display:block;width:12px;height:12px;border-radius:50%;background:#0A0A0F;box-shadow:inset 0 0 0 1.5px rgba(239,234,226,.5);transition:box-shadow .6s var(--ease)}
.cx .stage[data-show="bundle"] .bu-h .bu-dot{background:var(--ember);box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.42)}
.cx .stage[data-show="bundle"] .bu-w .bu-dot{animation:buWait 2.6s ease-out infinite}
.cx .stage[data-show="bundle"] .bu-el{display:block;margin-top:9px;max-width:100%;font-size:12.5px;line-height:1.3;color:var(--bone-2);text-wrap:balance;transition:color .6s}
.cx .stage[data-show="bundle"] .bu-eday,.cx .stage[data-show="bundle"] .bu-elane{display:none}
.cx .stage[data-show="bundle"] .bu-say{margin:10px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--ink2)}
.cx .stage[data-show="bundle"] .cn-msg{transition:opacity .6s var(--ease)}
.cx .stage[data-show="bundle"] .cn-msg.wait b{color:var(--ember)}
/* the rail ends on what comes next: the quarterly review, set on a hairline with a gold mark */
.cx .stage[data-show="bundle"] .cn-rail{display:flex;flex-direction:column;gap:18px}
.cx .stage[data-show="bundle"] .bu-nx{position:relative;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.cx .stage[data-show="bundle"] .bu-nx::before{content:"";position:absolute;left:0;top:-1px;width:30px;height:1px;background:var(--gold)}
.cx .stage[data-show="bundle"] .bu-nx time{color:var(--gold)}
/* entrance: the week is laid out, then the work travels along it, slowly */
.cx .stage[data-show="bundle"] .console.in-view .bu-lk{animation:buDraw 1.6s var(--ease) both;animation-delay:var(--t,0s)}
/* follow one page: the rest of the week steps back, the page's path draws again */
.cx .stage[data-show="bundle"] .console.bu-follow .bu-ev:not(.bu-a){opacity:.24}
.cx .stage[data-show="bundle"] .console.bu-follow .bu-lk:not(.bu-a){opacity:.1}
.cx .stage[data-show="bundle"] .console.bu-follow .bu-lk.bu-a{opacity:1;stroke-width:2.4;animation:buDraw2 1.3s var(--ease) both;animation-delay:.1s}
.cx .stage[data-show="bundle"] .console.bu-follow .bu-lk.bu-a2{animation-delay:.8s}
.cx .stage[data-show="bundle"] .console.bu-follow .bu-a .bu-dot{box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.7),0 0 22px 5px rgba(255,75,26,.4)}
.cx .stage[data-show="bundle"] .console.bu-follow .bu-a .bu-el{color:var(--ink)}
.cx .stage[data-show="bundle"] .console.bu-follow .cn-msg:not(.bu-a){opacity:.3}
@keyframes buDraw{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}
@keyframes buDraw2{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}
@keyframes buWait{0%{box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.5)}70%,100%{box-shadow:0 0 0 3px #0A0A0F,0 0 0 11px rgba(255,75,26,0)}}
/* the bundle, picked from the fourteen: a lit mark for each service in it */
.cx .stage[data-show="bundle"] .bu-pick .cn-h{margin-bottom:6px}
.cx .stage[data-show="bundle"] .bu-pr{display:grid;grid-template-columns:118px minmax(0,1fr);gap:6px 20px;align-items:baseline;padding:14px 0}
.cx .stage[data-show="bundle"] .bu-pr+.bu-pr{border-top:1px solid var(--line)}
.cx .stage[data-show="bundle"] .bu-pl{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="bundle"] .bu-pk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 22px}
.cx .stage[data-show="bundle"] .bu-pk li{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;line-height:1.3;color:var(--ink2)}
.cx .stage[data-show="bundle"] .bu-pk li::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.2px rgba(239,234,226,.3)}
.cx .stage[data-show="bundle"] .bu-pk li.on{color:var(--ink)}
.cx .stage[data-show="bundle"] .bu-pk li.on strong{font-weight:500}
.cx .stage[data-show="bundle"] .bu-pk li.on::before{background:var(--ember);box-shadow:0 0 0 3px rgba(255,75,26,.16)}
@media (max-width:860px){
  .cx .stage[data-show="bundle"] .bu-wv{grid-template-columns:96px repeat(5,minmax(0,1fr))}
  .cx .stage[data-show="bundle"] .bu-pk{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* phones: the week becomes an agenda, in the order it happened */
@media (max-width:560px){
  .cx .stage[data-show="bundle"] .bu-long{display:none}
  .cx .stage[data-show="bundle"] .cn-k,.cx .stage[data-show="bundle"] .cn-k:first-child,.cx .stage[data-show="bundle"] .cn-k:last-child{grid-template-columns:auto minmax(0,1fr)}
  .cx .stage[data-show="bundle"] .bu-pick .cn-h{flex-direction:column;align-items:flex-start;gap:6px}
  .cx .stage[data-show="bundle"] .bu-wv{display:block;border-bottom:1px solid var(--line)}
  .cx .stage[data-show="bundle"] .bu-wv svg,.cx .stage[data-show="bundle"] .bu-day,.cx .stage[data-show="bundle"] .bu-lane,.cx .stage[data-show="bundle"] .bu-corner{display:none}
  .cx .stage[data-show="bundle"] .bu-wv>.bu-ev[data-d]{display:grid;grid-template-columns:34px 12px minmax(0,1fr);gap:0 14px;align-items:center;justify-items:start;padding:13px 0;border-top:1px solid var(--line);text-align:left}
  .cx .stage[data-show="bundle"] .bu-eday{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
  .cx .stage[data-show="bundle"] .bu-el{margin:0;font-size:14px;line-height:1.35;text-wrap:pretty}
  .cx .stage[data-show="bundle"] .bu-elane{display:block;margin-bottom:2px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
  .cx .stage[data-show="bundle"] .bu-say{border-top:0}
  .cx .stage[data-show="bundle"] .bu-pr{grid-template-columns:minmax(0,1fr)}
  .cx .stage[data-show="bundle"] .bu-pk{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
  .cx .stage[data-show="bundle"] .bu-pk li{align-items:baseline;font-size:13px}
  .cx .stage[data-show="bundle"] .bu-pk li::before{transform:translateY(-1px)}
}

/* ── what you can include: the fourteen, set as a list with hairlines, never as cards ── */
.cx .bu-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(32px,6vw,96px);margin-top:clamp(40px,5vw,64px);align-items:start}
.cx .bu-grp{min-width:0}
.cx .bu-gh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0;padding-bottom:18px;border-bottom:1px solid var(--line);font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.05;letter-spacing:-.015em;color:var(--ink)}
.cx .bu-gh small{font-family:var(--mono);font-style:normal;font-size:10.5px;letter-spacing:.16em;color:var(--gold)}
.cx .bu-list{list-style:none;margin:0;padding:0}
.cx .bu-list li{border-bottom:1px solid var(--line)}
.cx .bu-it{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:0 14px;align-items:baseline;padding:19px 0 20px;color:var(--ink)}
.cx .bu-n{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ember)}
.cx .bu-tx{display:grid;gap:5px;min-width:0}
.cx .bu-tx b{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2vw,28px);line-height:1.08;letter-spacing:-.01em;transition:color .45s var(--ease)}
.cx .bu-tx>span{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.cx .bu-mk{justify-self:start;display:inline-flex;align-items:center;gap:10px;margin:2px 0 1px;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.cx .bu-mk::before{content:"";width:22px;height:1px;background:var(--gold)}
.cx .bu-it>i{font-style:normal;color:var(--ink2);transition:transform .5s var(--ease),color .45s}
.cx .bu-it:hover b,.cx .bu-it:focus-visible b{color:var(--ember)}
.cx .bu-it:hover>i,.cx .bu-it:focus-visible>i{color:var(--ember);transform:translateX(4px)}
.cx .bu-aside{margin:34px 0 0;padding-left:50px;font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.9vw,26px);line-height:1.3;letter-spacing:-.01em;color:var(--bone-2);position:relative}
.cx .bu-aside::before{content:"";position:absolute;left:0;top:.72em;width:36px;height:1px;background:var(--gold)}
.cx .bu-aside a{color:var(--ink)}
@media (max-width:900px){.cx .bu-menu{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.cx .bu-it{grid-template-columns:30px minmax(0,1fr) 14px;gap:0 10px}.cx .bu-aside{padding-left:0;padding-top:22px}.cx .bu-aside::before{top:0}}

/* ── how it runs: the four steps, on hairlines instead of cards ── */
.cx .bu-how .steps li{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 4px 0 0;gap:10px}
.cx .bu-how .steps li::before{font-size:12px}
.cx .bu-how .steps b{font-size:20px}
.cx .bu-how .steps span{font-size:15px;line-height:1.55;max-width:32ch}
@media (max-width:900px){.cx .bu-how .steps{row-gap:28px}}

/* ── the terms: each one a figure set large in the serif, on a hairline with a gold mark ── */
.cx .bu-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(28px,4.4vw,72px);margin-top:clamp(40px,5vw,64px)}
.cx .bu-tm{position:relative;display:grid;gap:10px;align-content:start;min-width:0;padding:28px 0 44px;border-top:1px solid var(--line)}
.cx .bu-tm::before{content:"";position:absolute;left:0;top:-1px;width:30px;height:1px;background:var(--gold)}
.cx .bu-fig{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:clamp(54px,5.6vw,84px);line-height:.9;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.cx .bu-fig small{margin-left:.18em;font-size:.34em;letter-spacing:0;color:var(--ink2)}
.cx .bu-fig em{font-style:italic;color:var(--ember)}
.cx .bu-tm h3{margin:0;font-weight:600;font-size:18px;line-height:1.25;letter-spacing:-.015em}
.cx .bu-tm>p:last-child{margin:0;max-width:40ch;font-size:15px;line-height:1.6;color:var(--ink2)}
@media (max-width:1000px){.cx .bu-terms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cx .bu-terms{grid-template-columns:minmax(0,1fr)}.cx .bu-tm{padding-bottom:34px}.cx .bu-fig{font-size:clamp(48px,14vw,64px)}}

/* ── the comparison: the bundle column carries the one accent ── */
.cx .bu-cmp .tbl thead th:nth-child(2){color:var(--ember)}
.cx .bu-cmp .tbl table{table-layout:fixed}
.cx .bu-cmp .tbl th:first-child{width:28%}

/* ── pricing: short, centered ── */
.cx .bu-price .ctas{justify-content:center}
/* page: fs-geo */
/* GEO, generative engine optimization. The service page shape, plus the pieces only this page has. */

/* with scripts off, nothing waits for a reveal */
@media (scripting:none){.cx .ge-s .r,.cx .ge-s.r{opacity:1;transform:none}}

/* ───────── the stage: who the assistants name, and what they cite ───────── */
/* the question, set like a line of dialogue */
.cx .stage[data-show="geo"] .ge-ask{display:grid;gap:14px}
.cx .stage[data-show="geo"] .ge-ask-l{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-spark{flex:0 0 14px;width:14px;height:14px;filter:drop-shadow(0 0 8px rgba(255,75,26,.7))}
.cx .stage[data-show="geo"] .ge-ask-q{margin:0;text-indent:-.36em;font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.2vw,58px);line-height:1.02;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.cx .stage[data-show="geo"] .ge-ask-q span{color:var(--ember)}
/* who names you: one line per kind of assistant, separated by hairlines */
.cx .stage[data-show="geo"] .ge-who{min-width:0;display:flex;flex-direction:column}
.cx .stage[data-show="geo"] .ge-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 18px;margin-bottom:18px}
.cx .stage[data-show="geo"] .ge-top .cn-h{margin:0;justify-content:flex-start;gap:14px}
.cx .stage[data-show="geo"] .ge-sw{display:flex;gap:8px}
.cx .stage[data-show="geo"] .ge-sw .cn-btn[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
.cx .stage[data-show="geo"] .ge-head,.cx .stage[data-show="geo"] .ge-row{display:grid;grid-template-columns:32px minmax(0,1.1fr) minmax(0,.72fr) minmax(0,1fr);gap:0 16px;align-items:center}
.cx .stage[data-show="geo"] .ge-head{padding-bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-rows{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.cx .stage[data-show="geo"] .ge-row{min-height:60px;padding:12px 0;border-top:1px solid var(--line)}
.cx.cx.cx .stage[data-show="geo"] .ge-row{min-height:60px}
.cx .stage[data-show="geo"] .ge-mk{position:relative;display:grid;place-items:center;width:30px;height:30px}
.cx .stage[data-show="geo"] .ge-mk b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:600;font-size:13.5px;line-height:1;font-variant-numeric:tabular-nums;color:var(--obsidian);background-color:#17161C;transition:background-color .8s var(--ease),box-shadow .8s var(--ease),color .8s var(--ease)}
.cx .stage[data-show="geo"] .ge-mk svg{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;opacity:0;transition:opacity .5s var(--ease)}
/* rank colors: named 1st to 3rd green, 4th to 7th yellow, 8th to 10th orange, not named red. The words beside each mark carry the value too. */
.cx .stage[data-show="geo"] .ge-row[data-l="a"] .ge-mk b{background-color:#45D08C;box-shadow:0 0 20px -2px rgba(69,208,140,.55)}
.cx .stage[data-show="geo"] .ge-row[data-l="b"] .ge-mk b{background-color:#F4D35E}
.cx .stage[data-show="geo"] .ge-row[data-l="c"] .ge-mk b{background-color:#EE8434}
.cx .stage[data-show="geo"] .ge-row[data-l="x"] .ge-mk b{background-color:#B92D2A;color:transparent}
.cx .stage[data-show="geo"] .ge-row[data-l="x"] .ge-mk svg{opacity:1}
.cx .stage[data-show="geo"] .ge-n{font-size:15px;line-height:1.3;color:var(--ink)}
.cx .stage[data-show="geo"] .ge-p{font-size:13.5px;font-weight:500;line-height:1.3;color:var(--bone-2);font-variant-numeric:tabular-nums}
.cx .stage[data-show="geo"] .ge-row[data-l="x"] .ge-p{color:var(--down)}
.cx .stage[data-show="geo"] .ge-c{min-width:0;font-family:var(--mono);font-size:12.5px;line-height:1.35;color:var(--bone-2);overflow-wrap:anywhere}
.cx .stage[data-show="geo"] .ge-row[data-l="x"] .ge-c{font-family:var(--sans);font-size:13.5px;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-key{display:flex;flex-wrap:wrap;gap:6px 20px;margin:16px 0 0;font-size:12.5px;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-key span{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="geo"] .ge-key span::before{content:"";width:10px;height:10px;border-radius:50%}
.cx .stage[data-show="geo"] .ge-key .k-a::before{background:#45D08C}
.cx .stage[data-show="geo"] .ge-key .k-b::before{background:#F4D35E}
.cx .stage[data-show="geo"] .ge-key .k-c::before{background:#EE8434}
.cx .stage[data-show="geo"] .ge-key .k-x::before{background:#B92D2A}
.cx .stage[data-show="geo"] .ge-say{margin:auto 0 0;padding-top:20px;font-size:14px;line-height:1.5;color:var(--bone-2);text-wrap:pretty}
.cx .stage[data-show="geo"] .cn-msg.wait b{color:var(--ink)}
/* the line: share of voice over ninety days, the lift shaded where the live page says it comes */
.cx .stage[data-show="geo"] .ge-trend{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 12px}
.cx .stage[data-show="geo"] .ge-y{display:flex;flex-direction:column;justify-content:space-between;margin:-6px 0;font-family:var(--mono);font-size:10.5px;text-align:right;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-plot{position:relative;height:clamp(116px,12vw,150px);margin-right:34px}
.cx .stage[data-show="geo"] .ge-plot svg{position:relative;display:block;width:100%;height:100%;overflow:visible}
.cx .stage[data-show="geo"] .ge-band{position:absolute;top:0;bottom:0;border-left:1px dashed rgba(239,234,226,.16)}
.cx .stage[data-show="geo"] .ge-band.b1{left:33.33%;width:33.34%;background:linear-gradient(180deg,rgba(255,75,26,.1),rgba(255,75,26,.02))}
.cx .stage[data-show="geo"] .ge-band.b2{left:66.67%;width:33.33%}
.cx .stage[data-show="geo"] .ge-dot{position:absolute;left:100%;top:15%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px rgba(255,75,26,.5);transition:left 1.1s var(--ease),top 1.1s var(--ease)}
.cx .stage[data-show="geo"] .console.ge-then .ge-dot{left:0;top:80%}
.cx .stage[data-show="geo"] .ge-end,.cx .stage[data-show="geo"] .ge-start{position:absolute;font:600 13px/1 var(--sans);font-variant-numeric:tabular-nums}
.cx .stage[data-show="geo"] .ge-end{left:100%;top:15%;margin:-28px 0 0 -16px;color:var(--ink)}
.cx .stage[data-show="geo"] .ge-start{left:0;top:80%;margin:-24px 0 0 2px;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-x{grid-column:2;position:relative;height:14px;margin-right:34px;font-family:var(--mono);font-size:10.5px;color:var(--ink2)}
.cx .stage[data-show="geo"] .ge-x span{position:absolute;top:0;white-space:nowrap}
.cx .stage[data-show="geo"] .ge-x span:first-child{left:0}
.cx .stage[data-show="geo"] .ge-x span:nth-child(2),.cx .stage[data-show="geo"] .ge-x span:nth-child(3){transform:translateX(-50%)}
.cx .stage[data-show="geo"] .ge-x span:last-child{right:0}
.cx .stage[data-show="geo"] .ge-phases{list-style:none;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:gep}
.cx .stage[data-show="geo"] .ge-phases li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 0;padding:0 clamp(12px,2vw,26px);border-left:1px solid var(--line);counter-increment:gep}
.cx .stage[data-show="geo"] .ge-phases li:first-child{padding-left:0;border-left:0}
.cx .stage[data-show="geo"] .ge-phases li::before{content:counter(gep,decimal-leading-zero);grid-row:span 2;padding-top:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ember)}
.cx .stage[data-show="geo"] .ge-phases b{font-weight:600;font-size:14.5px;color:var(--ink)}
.cx .stage[data-show="geo"] .ge-phases span{font-size:13px;line-height:1.45;color:var(--ink2)}
/* entrance: the rows arrive one by one, the line draws itself */
.cx .stage[data-show="geo"] .console.in-view .ge-row{animation:geRow .8s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * .1s)}
.cx .stage[data-show="geo"] .console.in-view .ge-ln{stroke-dasharray:1600;animation:geDraw 2.2s var(--ease) .35s both}
@keyframes geRow{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes geDraw{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
@media (max-width:860px){.cx .stage[data-show="geo"] .ge-say{margin-top:0}}
@media (max-width:560px){
  .cx .stage[data-show="geo"] .ge-long{display:none}
  .cx .stage[data-show="geo"] .ge-head{display:none}
  .cx .stage[data-show="geo"] .ge-rows{border-top:1px solid var(--line)}
  .cx .stage[data-show="geo"] .ge-row:first-child{border-top:0}
  .cx .stage[data-show="geo"] .ge-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"mk n p" "mk c c";gap:4px 14px;padding:14px 0}
  .cx .stage[data-show="geo"] .ge-mk{grid-area:mk;align-self:start}
  .cx .stage[data-show="geo"] .ge-n{grid-area:n}
  .cx .stage[data-show="geo"] .ge-p{grid-area:p;text-align:right}
  .cx .stage[data-show="geo"] .ge-c{grid-area:c}
  .cx .stage[data-show="geo"] .ge-plot,.cx .stage[data-show="geo"] .ge-x{margin-right:22px}
  .cx .stage[data-show="geo"] .ge-phases{grid-template-columns:minmax(0,1fr);gap:14px}
  .cx .stage[data-show="geo"] .ge-phases li,.cx .stage[data-show="geo"] .ge-phases li:first-child{padding:0;border-left:0}
}
@media (prefers-reduced-motion:reduce){.cx .stage[data-show="geo"] .ge-dot,.cx .stage[data-show="geo"] .ge-mk b{transition:none}.cx .stage[data-show="geo"] .console.in-view .ge-row,.cx .stage[data-show="geo"] .console.in-view .ge-ln{animation:none}}

/* ───────── the shift: two figures in serif, the argument beside them ───────── */
.cx .ge-shift-g{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,7vw,120px);margin-top:clamp(44px,5vw,72px);align-items:start}
.cx .ge-stats{display:grid;border-top:1px solid var(--line)}
.cx .ge-stats>div{position:relative;display:grid;gap:12px;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--line)}
.cx .ge-stats>div::before{content:"";position:absolute;left:0;top:-1px;width:34px;height:0;border-top:1px solid var(--gold)}
.cx .ge-stats b{font-family:var(--serif);font-weight:400;font-size:clamp(64px,7.6vw,112px);line-height:.86;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:lining-nums}
.cx .ge-stats span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .ge-prose{max-width:62ch}
.cx .ge-prose p{margin:0 0 1.1em;font-size:17px;line-height:1.7;color:var(--ink2)}
.cx .ge-prose .ge-pull{margin-bottom:.8em;font-family:var(--serif);font-size:clamp(28px,2.7vw,40px);line-height:1.12;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.cx .ge-guide{padding-top:22px;border-top:1px solid var(--line)}
.cx .ge-prose .ge-guide{margin:28px 0 0;font-size:15.5px}
.cx .ge-guide a{display:inline-flex;align-items:center;gap:10px;color:var(--ink);border-bottom:1px solid rgba(255,75,26,.55);padding-bottom:3px;transition:color .3s,border-color .3s}
.cx .ge-guide a svg{flex:0 0 auto;color:var(--ember);transition:transform .4s var(--ease)}
.cx .ge-guide a:hover{color:var(--ember);border-color:var(--ember)}.cx .ge-guide a:hover svg{transform:translateX(3px)}

/* ───────── how it runs: four layers as columns, separated by hairlines ───────── */
.cx .ge-layers{list-style:none;margin:clamp(44px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);counter-reset:gel}
.cx .ge-layers>li{position:relative;display:grid;align-content:start;gap:10px;padding:28px clamp(16px,2vw,30px) 6px;border-left:1px solid var(--line);counter-increment:gel}
.cx .ge-layers>li:first-child{padding-left:0;border-left:0}
.cx .ge-layers>li:last-child{padding-right:0}
.cx .ge-layers>li::before{content:counter(gel,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember)}
.cx .ge-layers>li::after{content:"";position:absolute;top:-1px;left:clamp(16px,2vw,30px);width:34px;height:0;border-top:1px solid var(--ember)}
.cx .ge-layers>li:first-child::after{left:0}
.cx .ge-layers .ge-tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .ge-layers h3{margin:4px 0 0;font-weight:600;font-size:clamp(20px,1.7vw,23px);line-height:1.15;letter-spacing:-.025em;color:var(--ink)}
.cx .ge-layers p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .ge-layers ul{list-style:none;margin:10px 0 0;padding:0;display:grid}
.cx .ge-layers ul li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--ink)}
.cx .ge-layers ul li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:0;border-top:1px solid var(--ember)}

/* ───────── the platforms: an editorial list, names in serif ───────── */
.cx .ge-plat{margin-top:clamp(44px,5vw,64px);border-top:1px solid var(--line)}
.cx .ge-pl{display:grid;grid-template-columns:44px minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(18px,4vw,64px);align-items:baseline;padding:clamp(24px,2.8vw,36px) 0;border-bottom:1px solid var(--line)}
.cx .ge-pl-i{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember)}
.cx .ge-pl h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1;letter-spacing:-.02em;color:var(--ink)}
.cx .ge-pl p{margin:0;max-width:56ch;font-size:16px;line-height:1.6;color:var(--ink2)}

/* ───────── pricing: short, centred ───────── */
.cx .ge-price .ctas{justify-content:center}
/* related: the "Open" line sits on the same baseline in every card of a row */
.cx .ge-s .related .rel{grid-template-rows:auto 1fr auto}

@media (max-width:1000px){
  .cx .ge-layers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .ge-layers>li:nth-child(3){padding-left:0;border-left:0}
  .cx .ge-layers>li:nth-child(2){padding-right:0}
  .cx .ge-layers>li:nth-child(n+3){margin-top:26px;border-top:1px solid var(--line)}
  .cx .ge-layers>li:nth-child(3)::after{left:0}
}
@media (max-width:860px){
  .cx .ge-shift-g{grid-template-columns:minmax(0,1fr)}
  .cx .ge-stats{grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .cx .ge-stats>div{border-bottom:0}
  .cx .ge-stats>div+div{padding-left:22px;border-left:1px solid var(--line)}
  .cx .ge-stats>div+div::before{left:22px}
  .cx .ge-pl{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media (max-width:600px){
  .cx .ge-layers{grid-template-columns:minmax(0,1fr);border-top:0}
  .cx .ge-layers>li,.cx .ge-layers>li:nth-child(n){padding:24px 0 6px;border-left:0;border-top:1px solid var(--line);margin-top:0}
  .cx .ge-layers>li+li{margin-top:22px}
  .cx .ge-layers>li:nth-child(n)::after{left:0}
  .cx .ge-prose .ge-pull{font-size:28px}
}
/* page: fs-multi-location */
/* ───────── Multi-location hero: the keyword line runs the full column, the headline keeps its measure ───────── */
.cx .ml-hero.hero-p.lp h1{max-width:none}
.cx .ml-hero.hero-p.lp h1>.h1-t{max-width:15ch}
@media (max-width:960px){.cx .ml-hero.hero-p.lp h1>.h1-t{max-width:16ch}}

/* ───────── Multi-location: every location on one map, one playbook, the two that need attention ───────── */
.cx .stage[data-show="multilocation"] .ml-mh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin-bottom:18px}
.cx .stage[data-show="multilocation"] .ml-mh .cn-h{margin:0;justify-content:flex-start;flex-wrap:wrap;gap:6px 14px}
.cx .stage[data-show="multilocation"] .ml-sw{display:flex;flex-wrap:wrap;gap:8px}
.cx .stage[data-show="multilocation"] .ml-sw .cn-btn[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
/* the map: faint streets and highways, two lakes, the regions named at the edge */
.cx .stage[data-show="multilocation"] .ml-map{position:relative;aspect-ratio:16/11;min-width:0}
.cx .stage[data-show="multilocation"] .ml-roads{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:radial-gradient(closest-side,#000 64%,transparent);mask-image:radial-gradient(closest-side,#000 64%,transparent)}
.cx .stage[data-show="multilocation"] .ml-reg{position:absolute;left:var(--x);top:var(--y);font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:rgba(140,133,124,.85);transition:opacity .6s var(--ease)}
.cx .stage[data-show="multilocation"] .ml-reg-r{transform:translate(-100%,-100%)}
.cx .stage[data-show="multilocation"] .ml-pins{position:absolute;inset:0;list-style:none;margin:0;padding:0}
.cx .stage[data-show="multilocation"] .ml-pin{position:absolute;left:var(--x);top:var(--y);width:0;height:0;transition:opacity .7s var(--ease)}
/* one pin: the rank in the dot, the name beside it. Rank colors: 1 to 3 green, 4 to 7 yellow, 8 to 10 orange, 11 or lower red. The number carries the value, so color is never the only signal. */
.cx .stage[data-show="multilocation"] .ml-dot{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;display:grid;place-items:center;border-radius:50%;font:600 13px/1 var(--sans);font-variant-numeric:tabular-nums;background:#45D08C;color:var(--obsidian);box-shadow:0 0 20px -3px rgba(69,208,140,.55)}
.cx .stage[data-show="multilocation"] .ml-pin[data-l="b"] .ml-dot{background:#F4D35E;box-shadow:0 0 16px -4px rgba(244,211,94,.45)}
.cx .stage[data-show="multilocation"] .ml-pin[data-l="c"] .ml-dot{background:#EE8434;box-shadow:none}
.cx .stage[data-show="multilocation"] .ml-pin[data-l="d"] .ml-dot{background:#B92D2A;color:#FFFFFF;box-shadow:none}
.cx .stage[data-show="multilocation"] .ml-lbl{position:absolute;left:23px;top:0;transform:translateY(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;line-height:1.2;color:var(--bone-2)}
.cx .stage[data-show="multilocation"] .ml-pin.l .ml-lbl{left:auto;right:23px;flex-direction:row-reverse}
.cx .stage[data-show="multilocation"] .ml-lbl em{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--down);padding:5px 8px;border-radius:999px;border:1px solid rgba(255,75,26,.42);background:rgba(255,75,26,.1)}
.cx .stage[data-show="multilocation"] .ml-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
/* the two that need attention: a ring, a slow ember pulse, the name lit */
.cx .stage[data-show="multilocation"] .ml-pin.hot{z-index:2}
.cx .stage[data-show="multilocation"] .ml-pin.hot .ml-lbl{color:var(--bone);font-weight:600}
.cx .stage[data-show="multilocation"] .ml-pin.hot .ml-dot{box-shadow:0 0 0 3px #0A0A0F,0 0 0 4.5px var(--ember),0 0 30px 2px rgba(255,75,26,.35)}
.cx .stage[data-show="multilocation"] .ml-pin.hot .ml-dot::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,75,26,.7);opacity:0;animation:mlRing 3.8s var(--ease) infinite}
@keyframes mlRing{0%{transform:scale(.72);opacity:0}25%{opacity:.85}100%{transform:scale(1.7);opacity:0}}
/* entrance: the pins arrive from the middle out, slowly */
.cx .stage[data-show="multilocation"] .console.in-view .ml-dot{animation:mlPop 1s var(--ease) both;animation-delay:calc(.25s + var(--i,0) * .08s)}
.cx .stage[data-show="multilocation"] .console.in-view .ml-lbl{animation:mlFade 1.1s var(--ease) both;animation-delay:calc(.45s + var(--i,0) * .08s)}
@keyframes mlPop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
@keyframes mlFade{from{opacity:0}to{opacity:1}}
/* the key under the map */
.cx .stage[data-show="multilocation"] .ml-key{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12.5px;color:var(--ink2)}
.cx .stage[data-show="multilocation"] .ml-key li{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="multilocation"] .ml-key i{width:10px;height:10px;border-radius:50%}
.cx .stage[data-show="multilocation"] .ml-key .k-a{background:#45D08C}
.cx .stage[data-show="multilocation"] .ml-key .k-b{background:#F4D35E}
.cx .stage[data-show="multilocation"] .ml-key .k-c{background:#EE8434}
.cx .stage[data-show="multilocation"] .ml-key .k-d{background:#B92D2A}
.cx .stage[data-show="multilocation"] .ml-key .k-hot{box-shadow:0 0 0 1.5px var(--ember)}
/* the thread, and the regions under it */
.cx .stage[data-show="multilocation"] .cn-rail{display:flex;flex-direction:column;gap:18px}
.cx .stage[data-show="multilocation"] .ml-regs{margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
.cx .stage[data-show="multilocation"] .ml-regs ul{list-style:none;margin:0;padding:0;display:grid}
.cx .stage[data-show="multilocation"] .ml-regs li{display:grid;grid-template-columns:74px auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0;font-size:13.5px;color:var(--bone-2);transition:opacity .6s var(--ease)}
.cx .stage[data-show="multilocation"] .ml-regs li+li{border-top:1px solid var(--line)}
.cx .stage[data-show="multilocation"] .ml-regs b{font-weight:500;color:var(--ink)}
.cx .stage[data-show="multilocation"] .ml-rd{display:flex;gap:5px}
.cx .stage[data-show="multilocation"] .ml-rd i{width:8px;height:8px;border-radius:50%;background:rgba(239,234,226,.34)}
.cx .stage[data-show="multilocation"] .ml-rd i.x{background:var(--ember);box-shadow:0 0 10px rgba(255,75,26,.6)}
.cx .stage[data-show="multilocation"] .ml-rn{font:500 11.5px var(--mono);color:var(--ink2);font-variant-numeric:tabular-nums}
.cx .stage[data-show="multilocation"] .ml-regs em{font-style:normal;font-size:12.5px;color:var(--ink2);text-align:right;white-space:nowrap}
.cx .stage[data-show="multilocation"] .ml-regs li.hot em{color:var(--down)}
.cx .stage[data-show="multilocation"] .console.ml-two .ml-regs li.calm{opacity:.32}
.cx .stage[data-show="multilocation"] .cn-msg.ml-hot time{color:var(--down)}
.cx .stage[data-show="multilocation"] .cn-msg.wait b{color:var(--ink)}
.cx .stage[data-show="multilocation"] .cn-msg{transition:opacity .6s var(--ease)}
/* the playbook: six steps, one mark per location, in the same order on every step */
.cx .stage[data-show="multilocation"] .ml-play{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.cx .stage[data-show="multilocation"] .ml-step{display:grid;gap:14px;align-content:start;min-width:0;padding:0 clamp(12px,1.5vw,22px);border-left:1px solid var(--line)}
.cx .stage[data-show="multilocation"] .ml-step:first-child{padding-left:0;border-left:0}
.cx .stage[data-show="multilocation"] .ml-step:last-child{padding-right:0}
.cx .stage[data-show="multilocation"] .ml-sn{margin:0;display:grid;gap:5px}
.cx .stage[data-show="multilocation"] .ml-sn b{font-weight:500;font-size:14px;line-height:1.3;color:var(--ink)}
.cx .stage[data-show="multilocation"] .ml-sn span{font:500 12px/1.2 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink2)}
.cx .stage[data-show="multilocation"] .ml-step.bad .ml-sn span{color:var(--down)}
.cx .stage[data-show="multilocation"] .ml-ticks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.cx .stage[data-show="multilocation"] .ml-ticks i{height:18px;border-radius:2px;background:rgba(239,234,226,.26);transition:opacity .6s var(--ease)}
.cx .stage[data-show="multilocation"] .ml-ticks i.x{background:var(--ember);box-shadow:0 0 14px -2px rgba(255,75,26,.75)}
.cx .stage[data-show="multilocation"] .ml-pk{margin:18px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink2)}
/* the one control: only the two that need attention */
.cx .stage[data-show="multilocation"] .console.ml-two .ml-pin:not(.hot),.cx .stage[data-show="multilocation"] .console.ml-two .ml-reg{opacity:.16}
.cx .stage[data-show="multilocation"] .console.ml-two .cn-msg.ml-calm{opacity:.32}
.cx .stage[data-show="multilocation"] .console.ml-two .ml-ticks i:not(.x){opacity:.22}
.cx .stage[data-show="multilocation"] .console.ml-two .ml-step:not(.bad) .ml-sn{opacity:.45}
.cx .stage[data-show="multilocation"] .ml-sn{transition:opacity .6s var(--ease)}
@media (max-width:1000px){
  .cx .stage[data-show="multilocation"] .ml-play{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}
  .cx .stage[data-show="multilocation"] .ml-step:nth-child(3n+1){padding-left:0;border-left:0}
  .cx .stage[data-show="multilocation"] .ml-step:nth-child(3n){padding-right:0}
}
@media (max-width:560px){
  .cx .stage[data-show="multilocation"] .ml-long{display:none}
  .cx .stage[data-show="multilocation"] .ml-regs li{grid-template-columns:60px auto minmax(0,1fr);gap:4px 12px}
  .cx .stage[data-show="multilocation"] .ml-rn{grid-column:2;grid-row:2}
  .cx .stage[data-show="multilocation"] .ml-regs em{grid-column:3;grid-row:1/span 2}
  .cx .stage[data-show="multilocation"] .ml-map{aspect-ratio:1/1.08}
  .cx .stage[data-show="multilocation"] .ml-dot{width:25px;height:25px;margin:-12.5px 0 0 -12.5px;font-size:11.5px}
  .cx .stage[data-show="multilocation"] .ml-lbl{left:19px;font-size:12px}
  .cx .stage[data-show="multilocation"] .ml-pin.l .ml-lbl{right:19px}
  .cx .stage[data-show="multilocation"] .ml-pin:not(.hot) .ml-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .cx .stage[data-show="multilocation"] .ml-play{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .stage[data-show="multilocation"] .ml-step:nth-child(n){padding:0 0 0 16px;border-left:1px solid var(--line)}
  .cx .stage[data-show="multilocation"] .ml-step:nth-child(2n+1){padding:0 16px 0 0;border-left:0}
}

/* ───────── what is included: an index, set like a menu, hairlines between ───────── */
.cx .ml-incl .ml-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(32px,6vw,96px);margin-top:clamp(44px,5vw,68px);text-align:left}
.cx .ml-incl .ml-col{min-width:0}
.cx .ml-incl .ml-ch{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-bottom:20px}
.cx .ml-incl .ml-ch h3{margin:0;font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(32px,3.2vw,44px);line-height:1;letter-spacing:-.02em;color:var(--bone)}
.cx .ml-incl .ml-ch span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .ml-incl .ml-it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:19px 0 20px;border-top:1px solid var(--line)}
.cx .ml-incl .ml-it:last-child{border-bottom:1px solid var(--line)}
.cx .ml-incl .ml-note{margin-top:34px;display:grid;gap:8px;max-width:46ch}
.cx .ml-incl .ml-note p{margin:0;font-size:15px;line-height:1.55;color:var(--bone-2)}
.cx .ml-incl .ml-note p:first-child{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.cx .ml-incl .ml-note a{justify-self:start;font-size:15px;font-weight:600;color:var(--bone)}
.cx .ml-incl .ml-it b{grid-column:1;font-weight:600;font-size:17.5px;line-height:1.3;letter-spacing:-.015em;color:var(--bone);transition:color .4s var(--ease)}
.cx .ml-incl .ml-it span{grid-column:1;font-size:14.5px;line-height:1.5;color:var(--ash)}
.cx .ml-incl .ml-it i{grid-column:2;grid-row:1/span 2;align-self:center;font-style:normal;font-size:18px;color:var(--ember);opacity:.4;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.cx .ml-incl .ml-it:hover b{color:var(--ember)}
.cx .ml-incl .ml-it:hover i{opacity:1;transform:translateX(4px)}
@media (max-width:860px){.cx .ml-incl .ml-menu{grid-template-columns:minmax(0,1fr)}}

/* ───────── who controls what: two sides of one hairline ───────── */
.cx .ml-gov .ml-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(44px,5vw,68px);border-top:1px solid var(--line);text-align:left}
.cx .ml-gov .ml-side{min-width:0;padding:clamp(28px,3.4vw,44px) clamp(20px,4vw,60px) 0 0}
.cx .ml-gov .ml-side+.ml-side{padding:clamp(28px,3.4vw,44px) 0 0 clamp(20px,4vw,60px);border-left:1px solid var(--line)}
.cx .ml-gov .ml-who{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}
.cx .ml-gov .ml-side h3{margin:12px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.02em;color:var(--char)}
.cx .ml-gov .ml-gl{list-style:none;margin:28px 0 0;padding:0;counter-reset:mlg}
.cx .ml-gov .ml-gl li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:3px 0;padding:15px 0;border-top:1px solid var(--line);counter-increment:mlg}
.cx .ml-gov .ml-gl li::before{content:counter(mlg,decimal-leading-zero);grid-row:span 2;padding-top:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--ember)}
.cx .ml-gov .ml-gl b{font-weight:600;font-size:16.5px;letter-spacing:-.01em;color:var(--char)}
.cx .ml-gov .ml-gl span{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.cx .ml-gov .ml-pull{margin:clamp(48px,6vw,80px) auto 0;max-width:none;text-align:center;font-family:var(--serif);font-size:clamp(30px,3.6vw,50px);line-height:1.06;letter-spacing:-.02em;color:var(--char);text-wrap:balance}
.cx .ml-gov .ml-pull::before{content:"";display:block;width:44px;height:1px;margin:0 auto 28px;background:var(--gold)}
.cx .ml-gov .ml-pull em{display:block;font-style:italic;color:var(--ember)}
@media (max-width:760px){
  .cx .ml-gov .ml-split{grid-template-columns:minmax(0,1fr)}
  .cx .ml-gov .ml-side,.cx .ml-gov .ml-side+.ml-side{padding:28px 0 0;border-left:0}
  .cx .ml-gov .ml-side+.ml-side{margin-top:34px;border-top:1px solid var(--line)}
}

/* ───────── reporting: three layers, one to three to every location ───────── */
.cx .ml-rep .ml-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(44px,5vw,68px);border-top:1px solid var(--line);text-align:left}
.cx .ml-rep .ml-layer{display:grid;gap:8px;align-content:start;min-width:0;padding:clamp(30px,3.2vw,42px) clamp(18px,2.8vw,40px) 0;border-left:1px solid var(--line)}
.cx .ml-rep .ml-layer:first-child{padding-left:0;border-left:0}
.cx .ml-rep .ml-layer:last-child{padding-right:0}
.cx .ml-rep .ml-mk{display:block;width:120px;height:40px;margin:0 0 14px}
.cx .ml-rep .ml-n{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember)}
.cx .ml-rep .ml-layer h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.2vw,44px);line-height:1;letter-spacing:-.02em;color:var(--bone)}
.cx .ml-rep .ml-for-l{margin:4px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .ml-rep .ml-what{margin:10px 0 0;max-width:34ch;font-size:15.5px;line-height:1.55;color:var(--bone-2)}
.cx .ml-rep .ml-foot{margin:clamp(40px,5vw,60px) auto 0;padding-top:22px;max-width:60ch;border-top:1px solid var(--line);text-align:center;font-size:15px;color:var(--ash)}
@media (max-width:860px){
  .cx .ml-rep .ml-layers{grid-template-columns:minmax(0,1fr);border-top:0}
  .cx .ml-rep .ml-layer,.cx .ml-rep .ml-layer:first-child{padding:28px 0;border-left:0;border-top:1px solid var(--line)}
  .cx .ml-rep .ml-foot{margin-top:8px}
}

/* ───────── location pages: the words beside a drawn page, the six inputs numbered on both ───────── */
.cx .ml-pages .ml-pg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(44px,5vw,68px);text-align:left}
.cx .ml-pages .ml-pgt>p{margin:0 0 1em;max-width:52ch;font-size:17px;line-height:1.65;color:var(--ink-2)}
.cx .ml-pages .ml-pgt>p:first-child{font-size:clamp(18px,1.45vw,21px);line-height:1.55;color:var(--char)}
.cx .ml-pages .ml-pgt h3{margin:34px 0 0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}
.cx .ml-pages .ml-feed{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.cx .ml-pages .ml-feed li{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:15.5px;font-weight:500;line-height:1.3;color:var(--char)}
.cx .ml-pages .ml-feed i{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,75,26,.55);font:500 11px/1 var(--mono);font-style:normal;color:var(--ember)}
.cx .ml-pages .ml-plate{position:relative;min-width:0;border-radius:22px;overflow:hidden;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,11,.06),0 60px 100px -60px rgba(10,10,11,.4),0 24px 48px -32px rgba(10,10,11,.22)}
.cx .ml-pages .ml-pbar{display:flex;align-items:center;gap:14px;height:44px;padding:0 18px;border-bottom:1px solid rgba(10,10,11,.07)}
.cx .ml-pages .ml-pdots{display:flex;gap:6px;flex:0 0 auto}.cx .ml-pages .ml-pdots i{width:8px;height:8px;border-radius:50%;background:rgba(10,10,11,.12)}
.cx .ml-pages .ml-url{min-width:0;padding:6px 12px;border-radius:999px;background:rgba(10,10,11,.045);font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx .ml-pages .ml-pbody{display:grid;gap:18px;padding:clamp(22px,2.8vw,34px)}
.cx .ml-pages .ml-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:center}
.cx .ml-pages .ml-rc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.cx .ml-pages .ml-hd .ml-rc{display:grid;gap:9px}
.cx .ml-pages .ml-no{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--ember);font:600 11px/1 var(--mono);font-style:normal;color:#FFFFFF;box-shadow:0 6px 14px -6px rgba(255,75,26,.8)}
.cx .ml-pages .ml-ln{display:block;height:9px;border-radius:5px;background:rgba(10,10,11,.09)}
.cx .ml-pages .ml-ln.tall{height:20px;border-radius:6px;background:rgba(10,10,11,.82)}
.cx .ml-pages .ml-ln.em{background:rgba(255,75,26,.32)}
.cx .ml-pages .w25{width:25%}.cx .ml-pages .w45{width:45%}.cx .ml-pages .w55{width:55%}.cx .ml-pages .w60{width:60%}.cx .ml-pages .w70{width:70%}.cx .ml-pages .w80{width:80%}.cx .ml-pages .w90{width:90%}
.cx .ml-pages .ml-chip{padding:5px 11px;border-radius:999px;border:1px solid rgba(255,75,26,.3);background:rgba(255,75,26,.05);font-size:12.5px;line-height:1.2;color:var(--char);white-space:nowrap}
.cx .ml-pages .ml-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cx .ml-pages .ml-cell{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px 14px;align-items:start;padding:16px;border-radius:14px;background:rgba(10,10,11,.035)}
.cx .ml-pages .ml-cell .ml-cc{display:grid;gap:8px;min-width:0}
.cx .ml-pages .ml-stars{font-size:13px;letter-spacing:.14em;line-height:1;color:var(--gold)}
.cx .ml-pages .ml-bars{display:flex;align-items:flex-end;gap:5px;height:46px}
.cx .ml-pages .ml-bars i{flex:1 1 0;height:var(--h);border-radius:3px 3px 1px 1px;background:rgba(10,10,11,.14)}
.cx .ml-pages .ml-bars i:nth-child(4){background:rgba(10,10,11,.3)}
.cx .ml-pages .ml-code{padding:7px 11px;border-radius:8px;background:rgba(10,10,11,.045);font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--ink-2)}
@media (max-width:960px){.cx .ml-pages .ml-pg{grid-template-columns:minmax(0,1fr)}.cx .ml-pages .ml-plate{max-width:620px}}
@media (max-width:520px){.cx .ml-pages .ml-feed{grid-template-columns:minmax(0,1fr)}.cx .ml-pages .ml-duo{grid-template-columns:minmax(0,1fr)}}

/* ───────── who it is for: three columns on hairlines, not cards ───────── */
.cx .ml-for .personas{gap:0;margin-top:clamp(44px,5vw,64px);border-top:1px solid var(--line);text-align:left}
.cx .ml-for .persona{gap:12px;padding:30px clamp(18px,2.8vw,40px) 0;background:none;border:0;border-left:1px solid var(--line);border-radius:0}
.cx .ml-for .persona:first-child{padding-left:0;border-left:0}
.cx .ml-for .persona:last-child{padding-right:0}
.cx .ml-for .persona h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.8vw,38px);line-height:1.02;letter-spacing:-.02em}
.cx .ml-for .persona p{font-size:15px;line-height:1.55}
.cx .ml-for .ml-gets{color:var(--ember);font-weight:600}
@media (max-width:900px){.cx .ml-for .personas{border-top:0}.cx .ml-for .persona,.cx .ml-for .persona:first-child{padding:28px 0;border-left:0;border-top:1px solid var(--line)}}

/* ───────── pricing ───────── */
.cx .ml-price .ctas{justify-content:center}
@media (prefers-reduced-motion:reduce){.cx .ml-incl .ml-it b,.cx .ml-incl .ml-it i{transition:none}}
/* page: fs-seo */
/* ───────── SEO (fs-seo): a service page with the form in the hero. Only what is new here. ───────── */

/* the stage: one site in month three. The keywords moving, the fixes shipped, the pages that gained */
.cx .stage[data-show="seo"] .so-kh{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:22px}
.cx .stage[data-show="seo"] .so-kh .cn-h{margin:0;justify-content:flex-start;gap:14px}
.cx .stage[data-show="seo"] .so-sw{display:flex;gap:8px}
.cx .stage[data-show="seo"] .so-sw .cn-btn[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
/* one grid for the header and every row, so the tracks line up */
.cx .stage[data-show="seo"] .so-scale,.cx .stage[data-show="seo"] .so-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 32px 50px;gap:0 18px;align-items:center}
.cx .stage[data-show="seo"] .so-scale{padding-bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="seo"] .so-sr{text-align:center}.cx .stage[data-show="seo"] .so-sm{text-align:right}
/* the scale: rank 50 on the left, rank 1 on the right, drawn on a log scale so page one has room */
.cx .stage[data-show="seo"] .so-band{position:relative;display:block;height:26px}
.cx .stage[data-show="seo"] .so-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;opacity:.7;background:linear-gradient(90deg,#B92D2A 0 39.9%,#EE8434 39.9% 48.5%,#F4D35E 48.5% 68%,#45D08C 68% 100%)}
.cx .stage[data-show="seo"] .so-band em{position:absolute;top:0;font-style:normal;letter-spacing:.06em;transform:translateX(-50%)}
.cx .stage[data-show="seo"] .so-band em:first-child{transform:none}
.cx .stage[data-show="seo"] .so-band em:last-child{transform:translateX(-100%)}
.cx .stage[data-show="seo"] .so-rows{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.cx .stage[data-show="seo"] .so-row{padding:13px 0;border-top:1px solid var(--line)}
.cx .stage[data-show="seo"] .so-q{display:grid;gap:3px;min-width:0}
.cx .stage[data-show="seo"] .so-q b{font-weight:500;font-size:14.5px;line-height:1.3;color:var(--ink)}
.cx .stage[data-show="seo"] .so-q small{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* the track: where it started, the path it took, where it is now */
.cx .stage[data-show="seo"] .so-track{position:relative;display:block;height:22px}
.cx .stage[data-show="seo"] .so-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(239,234,226,.13)}
.cx .stage[data-show="seo"] .so-track i{position:absolute;top:50%;display:block}
.cx .stage[data-show="seo"] .so-was{left:var(--a);width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#0A0A0F;box-shadow:inset 0 0 0 1.5px rgba(239,234,226,.42);transition:opacity .5s var(--ease)}
.cx .stage[data-show="seo"] .so-trail{left:var(--a);width:calc(var(--b) - var(--a));height:2px;margin-top:-1px;border-radius:1px;background:linear-gradient(90deg,rgba(255,75,26,0),rgba(255,75,26,.9));transition:width 1.1s var(--ease)}
.cx .stage[data-show="seo"] .so-dot{left:var(--b);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--so-c,#45D08C);box-shadow:0 0 0 3px #0A0A0F,0 0 16px -2px var(--so-c,#45D08C);transition:left 1.1s var(--ease),background-color .6s var(--ease)}
/* rank colors: green is winning, then yellow, orange, red. The number beside each dot carries the value, so color is never the only signal */
.cx .stage[data-show="seo"] .so-row[data-l="a"]{--so-c:#45D08C;--so-t:#06060A}
.cx .stage[data-show="seo"] .so-row[data-l="b"]{--so-c:#F4D35E;--so-t:#06060A}
.cx .stage[data-show="seo"] .so-row[data-l="c"]{--so-c:#EE8434;--so-t:#06060A}
.cx .stage[data-show="seo"] .so-row[data-l="d"]{--so-c:#B92D2A;--so-t:#FFFFFF}
.cx .stage[data-show="seo"] .so-rk{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--so-c);color:var(--so-t);font:600 12.5px/1 var(--sans);font-variant-numeric:tabular-nums;transition:background-color .6s var(--ease),color .6s var(--ease)}
.cx .stage[data-show="seo"] .so-mv{justify-self:end;transition:opacity .5s var(--ease)}
.cx .stage[data-show="seo"] .so-say{min-height:3em;margin:18px 0 0;max-width:56ch;font-size:14px;line-height:1.5;color:var(--bone-2);text-wrap:pretty}
.cx.cx.cx .stage[data-show="seo"] .so-say{min-height:3em}
/* at the audit: every dot back where it started */
.cx .stage[data-show="seo"] .console.so-then .so-trail{width:0}
.cx .stage[data-show="seo"] .console.so-then .so-dot{left:var(--a)}
.cx .stage[data-show="seo"] .console.so-then .so-was,.cx .stage[data-show="seo"] .console.so-then .so-mv{opacity:0}
/* entrance: the dots travel from the audit to now, one after another */
.cx .stage[data-show="seo"] .console.in-view .so-dot{animation:soGlide 1.5s var(--ease) backwards;animation-delay:calc(.35s + var(--i,0) * .14s)}
.cx .stage[data-show="seo"] .console.in-view .so-trail{animation:soGrow 1.5s var(--ease) backwards;animation-delay:calc(.35s + var(--i,0) * .14s)}
@keyframes soGlide{from{left:var(--a)}to{left:var(--b)}}
@keyframes soGrow{from{width:0}}
/* the pages that gained: three pages, hairlines between, never boxed */
.cx .stage[data-show="seo"] .so-pg-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cx .stage[data-show="seo"] .so-pg{min-width:0;padding:0 clamp(14px,2.2vw,30px);border-left:1px solid var(--line)}
.cx .stage[data-show="seo"] .so-pg:first-child{padding-left:0;border-left:0}.cx .stage[data-show="seo"] .so-pg:last-child{padding-right:0}
.cx .stage[data-show="seo"] .so-path{margin:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.02em;color:var(--bone-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx .stage[data-show="seo"] .so-pgn{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:12px 0 0}
.cx .stage[data-show="seo"] .so-pgn b{font-weight:600;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.cx .stage[data-show="seo"] .so-spark{position:relative;height:52px;margin:16px 10px 0 0}
.cx .stage[data-show="seo"] .so-spark svg{display:block;width:100%;height:100%;overflow:visible}
.cx .stage[data-show="seo"] .so-sdot{position:absolute;left:100%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px #0A0A0F,0 0 0 4px rgba(255,75,26,.45)}
.cx .stage[data-show="seo"] .so-pgx{display:flex;justify-content:space-between;margin:8px 10px 0 0;font-family:var(--mono);font-size:10px;color:var(--ink2)}
@media (max-width:1100px) and (min-width:861px){.cx .stage[data-show="seo"] .so-scale,.cx .stage[data-show="seo"] .so-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) 30px 46px;gap:0 14px}}
@media (max-width:560px){
  .cx .stage[data-show="seo"] .so-long{display:none}
  .cx .stage[data-show="seo"] .so-kh{flex-direction:column;align-items:flex-start;gap:14px}
  .cx .stage[data-show="seo"] .so-scale,.cx .stage[data-show="seo"] .so-row{grid-template-columns:minmax(0,1fr) 30px 46px;gap:0 12px}
  .cx .stage[data-show="seo"] .so-sq{display:none}
  .cx .stage[data-show="seo"] .so-q{grid-column:1/-1;margin-bottom:10px}
  .cx .stage[data-show="seo"] .so-pg-row{grid-template-columns:minmax(0,1fr)}
  .cx .stage[data-show="seo"] .so-pg,.cx .stage[data-show="seo"] .so-pg:first-child,.cx .stage[data-show="seo"] .so-pg:last-child{padding:18px 0;border-left:0;border-top:1px solid var(--line)}
  .cx .stage[data-show="seo"] .so-pg:first-child{padding-top:0;border-top:0}
}

/* the reality: one line in serif beside the argument, then the comparison */
.cx .so-essay{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,6vw,100px);margin-top:clamp(44px,5vw,68px);padding-top:clamp(30px,3.4vw,46px);border-top:1px solid var(--line);align-items:stretch}
.cx .so-lede{display:flex;flex-direction:column;min-width:0}
.cx .so-pull{margin:0 0 clamp(34px,4vw,54px);font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.2vw,62px);line-height:1;letter-spacing:-.025em;color:var(--bone);text-wrap:balance}
.cx .so-pull::before{content:"";display:block;width:46px;height:1px;margin-bottom:26px;background:var(--gold)}
.cx .so-pull em{font-style:italic;color:var(--ember)}
.cx .so-stats{display:grid;grid-template-columns:repeat(3,max-content);margin-top:auto;padding-top:22px;border-top:1px solid var(--line)}
.cx .so-stats>div{min-width:0;padding:0 clamp(12px,1.6vw,22px);border-left:1px solid var(--line)}
.cx .so-stats>div:first-child{padding-left:0;border-left:0}
.cx .so-stats b{display:flex;align-items:flex-start;gap:3px;font-weight:600;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;color:var(--bone)}
.cx .so-stats b i{font-style:normal;font-size:.42em;letter-spacing:0;color:var(--gold);margin-top:.2em}
.cx .so-stats span{display:block;margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.cx .so-body{max-width:64ch}
.cx .so-body p{margin:0 0 1.15em;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.7;color:var(--bone-2);text-wrap:pretty}
.cx .so-body p:first-child{color:var(--bone)}
.cx .so-body p:last-child{margin-bottom:0}
.cx .so-sub{margin:clamp(64px,7vw,96px) 0 0;font-weight:600;font-size:clamp(24px,2.4vw,34px);line-height:1.1;letter-spacing:-.03em;text-align:center}
.cx .so-sub em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--ember);font-size:1.08em}
.cx .so-vs.cx-table{margin-top:28px}
.cx .so-vs th:first-child{width:24%}
@media (max-width:900px){.cx .so-essay{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.cx .so-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* what we do: four disciplines as columns, separated by hairlines */
.cx .so-disc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,5vw,64px);border-top:1px solid var(--line)}
.cx .so-d{display:grid;gap:12px;align-content:start;min-width:0;padding:30px clamp(18px,2vw,30px) 4px;border-left:1px solid var(--line)}
.cx .so-d:first-child{padding-left:0;border-left:0}.cx .so-d:last-child{padding-right:0}
.cx .so-d .tag{margin:0;color:var(--ember)}
.cx .so-d h3{margin:0;font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.cx .so-d>p:not(.tag){margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .so-d ul{list-style:none;margin:10px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:14.5px;line-height:1.4;color:var(--ink)}
.cx .so-d li{position:relative;padding-left:20px}
.cx .so-d li::before{content:"";position:absolute;left:0;top:calc(.7em - 1px);width:9px;height:2px;border-radius:1px;background:var(--ember)}
@media (max-width:1000px){
  .cx .so-disc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .so-d:nth-child(2){padding-right:0}
  .cx .so-d:nth-child(3){padding-left:0;border-left:0}
  .cx .so-d:nth-child(n+3){margin-top:34px;border-top:1px solid var(--line)}
}
@media (max-width:600px){
  .cx .so-disc{grid-template-columns:minmax(0,1fr)}
  .cx .so-d,.cx .so-d:nth-child(n){padding:26px 0 4px;margin-top:0;border-left:0}
  .cx .so-d+.so-d{margin-top:26px;border-top:1px solid var(--line)}
}

/* the process: the time each step takes, under its name */
.cx .so-nw{white-space:nowrap}
.cx .so-steps .so-when{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}

/* the system: six parts on hairlines, numbered */
.cx .so-sys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3.6vw,56px);margin-top:clamp(44px,5vw,64px);border-bottom:1px solid var(--line);counter-reset:so}
.cx .so-s{display:grid;gap:10px;align-content:start;min-width:0;padding:26px 0 34px;border-top:1px solid var(--line);counter-increment:so}
.cx .so-s::before{content:counter(so,decimal-leading-zero);font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember)}
.cx .so-s h3{margin:0;font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.025em;color:var(--ink)}
.cx .so-s p{margin:0;max-width:46ch;font-size:15px;line-height:1.6;color:var(--ink2)}
@media (max-width:900px){.cx .so-sys{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cx .so-sys{grid-template-columns:minmax(0,1fr)}}

/* who it is for */
.cx .so-gets{color:var(--ember);font-weight:600}

/* the four pillars: three columns standing on one line, the foundation named beneath them */
.cx .so-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,32px);margin-top:clamp(44px,5vw,64px)}
.cx .so-pl{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;min-width:0;min-height:320px;padding:40px clamp(22px,2.4vw,36px) 32px;color:var(--ink)}
.cx.cx.cx .so-pl{min-height:320px}
.cx .so-pl::before,.cx .so-pl::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(10,10,11,0),rgba(10,10,11,.24) 72%);transition:opacity .6s var(--ease)}
.cx .so-pl::before{left:0}.cx .so-pl::after{right:0}
.cx .so-pl>*{position:relative;z-index:1}
.cx .so-pl .so-glow{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(255,75,26,0),rgba(255,75,26,.06));opacity:0;transition:opacity .6s var(--ease)}
.cx .so-pl:hover .so-glow{opacity:1}
.cx .so-pk{font-family:var(--serif);font-size:clamp(52px,5vw,76px);line-height:.9;letter-spacing:-.02em;color:var(--ink)}
.cx .so-pl h3{margin:6px 0 0;font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.02em}
.cx .so-pl p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .so-pl i{font-style:normal;font-weight:600;font-size:13.5px;color:var(--ember);transition:transform .5s var(--ease)}
.cx .so-pl:hover i{transform:translateX(3px)}
.cx .so-base{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center;padding-top:22px;border-top:2px solid var(--ink)}
.cx .so-bk{font-family:var(--serif);font-style:italic;font-size:clamp(52px,5vw,76px);line-height:.9;letter-spacing:-.02em;color:var(--ember)}
.cx .so-base p{margin:0;max-width:52ch;font-size:15px;line-height:1.5;color:var(--ink2)}
@media (max-width:760px){
  .cx .so-pillars{grid-template-columns:minmax(0,1fr);gap:0}
  .cx .so-pl{min-height:0;padding:26px 0;grid-template-rows:none;border-top:1px solid var(--line)}
  .cx.cx.cx .so-pl{min-height:0}
  .cx .so-pl:first-child{border-top:0}
  .cx .so-pl::before,.cx .so-pl::after,.cx .so-pl .so-glow{display:none}
  .cx .so-base{grid-template-columns:minmax(0,1fr);gap:10px}
}

/* what you can hold us to: two columns of hairline rows on wide screens */
@media (min-width:901px){
  .cx .so-hl.list{grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,72px);margin-top:44px}
  .cx .so-hl.list>div:nth-last-child(2){border-bottom:1px solid var(--line)}
}

/* pricing: short, centered */
.cx .so-price .ctas{justify-content:center}
@media (prefers-reduced-motion:reduce){.cx .so-pl::before,.cx .so-pl::after,.cx .so-pl i,.cx .so-pl .so-glow{transition:none}}
/* scripts off: every part of this page shows at once, never waiting for the scroll reveal */
@media (scripting:none){.cx .so-next .r,.cx .so-real .r,.cx .so-what .r,.cx .so-how .r,.cx .so-sysw .r,.cx .so-for .r,.cx .so-four .r,.cx .so-hold .r,.cx .so-price .r,.cx .so-faq .r,.cx .so-rel .r,.cx .so-end .r,.cx .stage[data-show="seo"] .r{opacity:1;transform:none}}
/* page: fs-veo */
/* VEO, voice engine optimization: the one answer */
/* ── the example screen: eight spoken questions, three assistants, one control ── */
.cx .stage[data-show="veo"] .ve-long{color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-of{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.52em;letter-spacing:-.01em;color:var(--bone-2)}
.cx .stage[data-show="veo"] .ve-split{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}
.cx .stage[data-show="veo"] .ve-board{--cols:minmax(0,1.5fr) repeat(3,minmax(0,1fr));min-width:0}
.cx .stage[data-show="veo"] .ve-board>.cn-h{margin-bottom:6px}
.cx .stage[data-show="veo"] .ve-hd{display:grid;grid-template-columns:var(--cols);align-items:end;border-bottom:1px solid var(--line)}
.cx .stage[data-show="veo"] .ve-qh{padding:0 0 13px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-tabs{grid-column:2/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.cx .stage[data-show="veo"] .ve-tab{position:relative;display:grid;gap:4px;align-content:end;min-width:0;margin:0;padding:12px 12px 13px;border:0;border-radius:10px 10px 0 0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .4s var(--ease)}
.cx .stage[data-show="veo"] .ve-tab b{font:500 14px/1.2 var(--sans);letter-spacing:-.005em;color:var(--bone-2);transition:color .3s}
.cx .stage[data-show="veo"] .ve-tab small{font:11px/1.2 var(--mono);letter-spacing:.06em;color:var(--ink2);font-variant-numeric:tabular-nums}
.cx .stage[data-show="veo"] .ve-tab::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--ember);transform:scaleX(0);transform-origin:left center;transition:transform .6s var(--ease)}
.cx .stage[data-show="veo"] .ve-tab:hover b{color:var(--ink)}
.cx .stage[data-show="veo"] .ve-tab[aria-pressed="true"]{background:rgba(255,255,255,.035)}
.cx .stage[data-show="veo"] .ve-tab[aria-pressed="true"] b{color:var(--ink);font-weight:600}
.cx .stage[data-show="veo"] .ve-tab[aria-pressed="true"]::after{transform:none}
.cx .stage[data-show="veo"] .ve-tab:focus-visible{outline:1.5px solid var(--ember);outline-offset:-2px}
/* each row: the question as it is spoken, then who each assistant named and where it read it */
.cx .stage[data-show="veo"] .ve-row{display:grid;grid-template-columns:var(--cols);border-bottom:1px solid var(--line)}
.cx .stage[data-show="veo"] .ve-q{margin:0;padding:13px 18px 13px 0;align-self:center;font-family:var(--serif);font-size:18px;line-height:1.22;letter-spacing:-.005em;color:var(--bone);text-wrap:balance}
.cx .stage[data-show="veo"] .ve-c{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:9px;row-gap:2px;align-content:center;min-width:0;padding:11px 12px;opacity:.46;transition:opacity .5s var(--ease),background-color .5s var(--ease)}
.cx .stage[data-show="veo"] .ve-c i{grid-row:span 2;width:10px;height:10px;margin-top:4px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(239,234,226,.42)}
.cx .stage[data-show="veo"] .ve-c[data-w="you"] i{background:#45D08C;box-shadow:0 0 0 3px rgba(69,208,140,.14),0 0 14px rgba(69,208,140,.45)}
.cx .stage[data-show="veo"] .ve-c b{font:600 14px/1.3 var(--sans);color:var(--ink)}
.cx .stage[data-show="veo"] .ve-c[data-w="rival"] b{font-weight:500;color:var(--bone-2)}
.cx .stage[data-show="veo"] .ve-c small{font:11px/1.35 var(--mono);letter-spacing:.02em;color:var(--ink2)}
.cx .stage[data-show="veo"] .console[data-ve-on="g"] .ve-c[data-a="g"],.cx .stage[data-show="veo"] .console[data-ve-on="s"] .ve-c[data-a="s"],.cx .stage[data-show="veo"] .console[data-ve-on="a"] .ve-c[data-a="a"]{opacity:1;background-color:rgba(255,255,255,.035)}
.cx .stage[data-show="veo"] .ve-key{display:flex;flex-wrap:wrap;gap:6px 22px;margin:16px 0 0;font-size:12.5px;color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-key span{display:inline-flex;align-items:center;gap:8px}
.cx .stage[data-show="veo"] .ve-key span::before{content:"";width:10px;height:10px;border-radius:50%}
.cx .stage[data-show="veo"] .ve-k-you::before{background:#45D08C}
.cx .stage[data-show="veo"] .ve-k-rival::before{box-shadow:inset 0 0 0 1.5px rgba(239,234,226,.42)}
/* the rail: the chosen assistant, its score and where it read */
.cx .stage[data-show="veo"] .ve-pane:not([hidden]){animation:veIn .6s var(--ease) both}
.cx .stage[data-show="veo"] .ve-big{display:flex;align-items:baseline;gap:10px;margin:4px 0 0}
.cx .stage[data-show="veo"] .ve-big b{font-weight:600;font-size:clamp(46px,4.6vw,64px);line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.cx .stage[data-show="veo"] .ve-big span{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1;color:var(--bone-2)}
.cx .stage[data-show="veo"] .ve-cap{margin:10px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-heard{margin:24px 0 0;padding:16px 0 18px 18px;border-left:1px solid var(--gold)}
.cx .stage[data-show="veo"] .ve-heard figcaption{display:flex;align-items:center;gap:10px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-mic{flex:0 0 auto;width:22px;height:12px;fill:var(--ember)}
.cx .stage[data-show="veo"] .ve-mic rect{transform-box:fill-box;transform-origin:center}
.cx .stage[data-show="veo"] .console.in-view .ve-mic rect{animation:veWave 2.6s ease-in-out infinite}
.cx .stage[data-show="veo"] .console.in-view .ve-mic rect:nth-child(2n){animation-delay:-1.1s}
.cx .stage[data-show="veo"] .console.in-view .ve-mic rect:nth-child(3n){animation-delay:-.5s}
.cx .stage[data-show="veo"] .ve-heard blockquote{margin:10px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.7vw,23px);line-height:1.2;letter-spacing:-.005em;color:var(--bone);text-wrap:balance}
.cx .stage[data-show="veo"] .cn-k b{white-space:nowrap}
.cx .stage[data-show="veo"] .ve-lab{margin:22px 0 8px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .stage[data-show="veo"] .ve-src{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--line)}
.cx .stage[data-show="veo"] .ve-src li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--bone)}
.cx .stage[data-show="veo"] .ve-src li:first-child span{color:var(--ink);font-weight:500}
.cx .stage[data-show="veo"] .ve-src em{font:500 12px var(--mono);font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink2);white-space:nowrap}
.cx .stage[data-show="veo"] .console.in-view .ve-row{animation:veIn .9s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * .08s)}
@keyframes veIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1100px) and (min-width:861px){.cx .stage[data-show="veo"] .ve-split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.cx .stage[data-show="veo"] .ve-q{font-size:16.5px}}
@media (max-width:860px){.cx .stage[data-show="veo"] .ve-split{grid-template-columns:minmax(0,1fr)}.cx .stage[data-show="veo"] .ve-rail{padding-top:30px}}
@media (prefers-reduced-motion:reduce){.cx .stage[data-show="veo"] .ve-mic rect{animation:none!important}}
@media (max-width:560px){
  .cx .stage[data-show="veo"] .ve-long{display:none}
  .cx .stage[data-show="veo"] .ve-board{--cols:repeat(3,minmax(0,1fr))}
  .cx .stage[data-show="veo"] .ve-board>.cn-h{flex-direction:column;gap:6px}
  .cx .stage[data-show="veo"] .ve-qh{display:none}
  .cx .stage[data-show="veo"] .ve-tabs{grid-column:1/-1}
  .cx .stage[data-show="veo"] .ve-tab{padding:10px 8px 11px}
  .cx .stage[data-show="veo"] .ve-tab::after{left:8px;right:8px}
  .cx .stage[data-show="veo"] .ve-tab b{font-size:13px}
  .cx .stage[data-show="veo"] .ve-q{grid-column:1/-1;padding:14px 0 4px;font-size:17px}
  .cx .stage[data-show="veo"] .ve-c{padding:8px 8px 12px}
  .cx .stage[data-show="veo"] .ve-c small{font-size:10.5px}
}

/* ── why voice: ten results, or one ── */
.cx .ve-why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,104px);align-items:center;margin-top:clamp(44px,5.4vw,72px)}
.cx .ve-ten{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cx .ve-col{min-width:0;padding:0 clamp(16px,2.4vw,34px) 0 0}
.cx .ve-col+.ve-col{padding:0 0 0 clamp(16px,2.4vw,34px);border-left:1px solid rgba(239,234,226,.12)}
.cx .ve-colh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 18px;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .ve-colh span{color:var(--bone-2)}
.cx .ve-colh small{font-size:10.5px;color:var(--ash)}
.cx .ve-spoken .ve-colh small{color:var(--ember)}
.cx .ve-res{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cx .ve-res li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;min-height:26px}
.cx.cx.cx .ve-res li{min-height:26px}
.cx .ve-res li span{font:10.5px var(--mono);letter-spacing:.06em;color:var(--ash)}
.cx .ve-res li i{display:block;width:var(--w,78%);height:6px;border-radius:3px;background:rgba(239,234,226,.2)}
.cx .ve-spoken .ve-res li:not(.ve-lit){opacity:var(--o,.5)}
.cx .ve-spoken .ve-res li:not(.ve-lit) span{color:rgba(140,133,124,.6)}
.cx .ve-spoken .ve-res li:not(.ve-lit) i{width:100%;height:6px;background:none;border-top:1px dashed rgba(239,234,226,.16)}
.cx .ve-lit b{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 12px 8px 14px;border-radius:999px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;line-height:1;color:var(--obsidian);background:linear-gradient(90deg,#FF5C30,var(--ember));box-shadow:0 0 0 1px rgba(255,75,26,.4),0 14px 40px -12px rgba(255,75,26,.7)}
.cx .ve-lit span{color:var(--ember)!important}
@media (max-width:560px){.cx .ve-lit b{justify-content:flex-start;padding:7px 12px;font-size:17px;white-space:nowrap}.cx .ve-wave{display:none}.cx .ve-res li{gap:8px;grid-template-columns:20px minmax(0,1fr)}}
.cx .ve-wave{flex:0 0 auto;width:48px;height:14px;overflow:visible}
.cx .ve-wave rect{fill:var(--obsidian);opacity:.72;transform-box:fill-box;transform-origin:center}
.cx .ve-ten.in-view .ve-wave rect{animation:veWave 2.8s ease-in-out infinite;animation-delay:calc(var(--k,0) * -.23s)}
@keyframes veWave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
.cx .ve-ten.in-view .ve-col:first-child .ve-res li i{animation:veGrow 1.1s var(--ease) both;animation-delay:calc(.15s + var(--i,0) * .07s);transform-origin:left center}
@keyframes veGrow{from{transform:scaleX(.08);opacity:0}to{transform:none;opacity:1}}
.cx .ve-ten figcaption{grid-column:1/-1;margin-top:28px;padding-top:20px;border-top:1px solid rgba(239,234,226,.12);font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.1;letter-spacing:-.01em;color:var(--bone-2)}
.cx .ve-ten figcaption em{font-style:italic;color:var(--ember)}
.cx .ve-essay{max-width:58ch}
.cx .ve-essay p{margin:0 0 1.05em;font-size:17px;line-height:1.7;color:var(--bone-2)}
.cx .ve-essay p:last-child{margin-bottom:0}
.cx .ve-essay .ve-pull{margin:.3em 0 .8em;padding-left:22px;border-left:1px solid var(--gold);font-family:var(--serif);font-size:clamp(30px,3.1vw,44px);line-height:1.04;letter-spacing:-.02em;color:var(--bone)}
.cx .ve-essay .ve-pull em{font-style:italic;color:var(--ember)}
@media (max-width:900px){.cx .ve-why{grid-template-columns:minmax(0,1fr)}.cx .ve-essay{max-width:none}}
@media (prefers-reduced-motion:reduce){.cx .ve-ten .ve-wave rect,.cx .ve-ten .ve-res li i{animation:none!important}}

/* ── the four disciplines: a two by two, ruled, never boxed ── */
.cx .ve-disc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.cx .ve-d{display:grid;gap:12px;align-content:start;min-width:0;padding:clamp(28px,3.2vw,44px) clamp(24px,4vw,64px) clamp(28px,3.2vw,44px) 0;border-bottom:1px solid var(--line)}
.cx .ve-d:nth-child(even){padding-right:0;padding-left:clamp(24px,4vw,64px);border-left:1px solid var(--line)}
.cx .ve-n{font:500 11px var(--mono);letter-spacing:.16em;color:var(--ember)}
.cx .ve-d h3{margin:0;font-weight:600;font-size:clamp(22px,2.1vw,28px);line-height:1.1;letter-spacing:-.025em}
.cx .ve-d p{margin:0;max-width:52ch;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.cx .ve-d ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 24px;font-size:14.5px;line-height:1.4}
.cx .ve-d li{position:relative;padding-left:20px}
.cx .ve-d li::before{content:"";position:absolute;left:0;top:.66em;width:10px;height:1.5px;background:var(--ember)}
@media (max-width:760px){
  .cx .ve-disc{grid-template-columns:minmax(0,1fr)}
  .cx .ve-d,.cx .ve-d:nth-child(even){padding:28px 0;border-left:0}
  .cx .ve-d ul{grid-template-columns:minmax(0,1fr)}
}

/* ── every assistant: four columns, ruled ── */
.cx .ve-asst{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.cx .ve-a{display:grid;gap:12px;align-content:start;min-width:0;padding:30px clamp(18px,2.2vw,32px) 6px;border-left:1px solid var(--line)}
@supports (grid-template-rows:subgrid){.cx .ve-a{grid-row:span 4;grid-template-rows:subgrid;row-gap:12px}}
.cx .ve-a:first-child{padding-left:0;border-left:0}
.cx .ve-a:last-child{padding-right:0}
.cx .ve-a h3{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,2.9vw,42px);line-height:1;letter-spacing:-.02em}
.cx .ve-reads{margin:8px 0 0;font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.cx .ve-from{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cx .ve-from li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;font-weight:500;line-height:1.3}
.cx .ve-a>p:last-child{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink2)}
@media (max-width:1000px){
  .cx .ve-asst{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cx .ve-a,.cx .ve-a:first-child,.cx .ve-a:last-child{padding:30px clamp(18px,3vw,32px) 30px 0;border-left:0}
  .cx .ve-a:nth-child(even){padding:30px 0 30px clamp(18px,3vw,32px);border-left:1px solid var(--line)}
  .cx .ve-a:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:600px){
  .cx .ve-asst{grid-template-columns:minmax(0,1fr)}
  .cx .ve-a,.cx .ve-a:first-child,.cx .ve-a:last-child,.cx .ve-a:nth-child(even){padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}
}

/* ── how it is measured: the ruled list, held to a reading width ── */
.cx .ve-meas{max-width:820px;margin:44px auto 0}

/* ── compound wins: three statements, then the three pillars VEO stands on ── */
.cx .ve-comp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(44px,5vw,64px)}
.cx .ve-cw{display:grid;gap:16px;align-content:start;min-width:0;padding:4px clamp(20px,3vw,48px);border-left:1px solid var(--line)}
.cx .ve-cw:first-child{padding-left:0;border-left:0}.cx .ve-cw:last-child{padding-right:0}
.cx .ve-cw p{margin:0;max-width:34ch;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.cx .ve-cw .ve-bw{max-width:none;font-family:var(--serif);font-size:clamp(34px,3.5vw,52px);line-height:1;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.cx .ve-cw .ve-bw em{font-style:italic;color:var(--ember)}
.cx .ve-sib{margin-top:clamp(52px,6vw,88px);padding-top:28px;border-top:1px solid var(--line)}
.cx .ve-sibh{margin:0;max-width:62ch;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.cx .ve-sibh a{color:var(--ink)}
.cx .ve-sibs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:26px}
.cx .ve-sibs>div{position:relative;display:grid;gap:8px;align-content:start;min-width:0;padding-top:16px;border-top:1px solid var(--line)}
.cx .ve-sibs>div::before{content:"";position:absolute;left:0;top:-1px;width:32px;height:1px;background:var(--gold)}
.cx .ve-sibs h3 a{text-decoration:underline;text-decoration-color:rgba(255,75,26,.55);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
.cx .ve-sibs h3 a:hover{color:var(--ember);text-decoration-color:var(--ember)}
.cx .ve-sibs h3{margin:0;font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.02em}
.cx .ve-sibs p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
@media (max-width:860px){
  .cx .ve-comp,.cx .ve-sibs{grid-template-columns:minmax(0,1fr)}
  .cx .ve-cw,.cx .ve-cw:first-child,.cx .ve-cw:last-child{padding:26px 0;border-left:0;border-top:1px solid var(--line)}
  .cx .ve-cw:first-child{padding-top:0;border-top:0}
  .cx .ve-sib{margin-top:26px}
}

/* ── pricing: one line, two doors ── */
.cx .ve-price .ctas{justify-content:center}
/* page: glossary-local-seo */
/* ───────── glossary: a reference book. One stylesheet for the term pages and the question pages ───────── */

/* the hero: the headline on the left, a title plate on the right, like the first page of a section in a printed book */
.cx .gl-hero .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px clamp(40px,7vw,120px);align-items:center}
.cx .gl-hero .gl-hl{min-width:0}
.cx .gl-hero .lede-l{max-width:54ch}
.cx .gl-plate{position:relative;aspect-ratio:4/5;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:22px 24px;isolation:isolate}
.cx .gl-plate::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(58% 46% at 50% 52%,rgba(255,75,26,.2),transparent 72%),repeating-linear-gradient(180deg,rgba(239,234,226,.05) 0 1px,transparent 1px 30px);-webkit-mask-image:radial-gradient(80% 70% at 50% 50%,#000 40%,transparent 100%);mask-image:radial-gradient(80% 70% at 50% 50%,#000 40%,transparent 100%)}
.cx .gl-plate>i{position:absolute;width:22px;height:22px;border:0 solid var(--gold);opacity:.75;animation:glCrop 1.6s var(--ease) .35s both}
.cx .gl-plate>i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px;transform-origin:0 0}
.cx .gl-plate>i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0;transform-origin:100% 0}
.cx .gl-plate>i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px;transform-origin:0 100%}
.cx .gl-plate>i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0;transform-origin:100% 100%}
.cx .gl-pt,.cx .gl-pb{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .gl-pt{padding:0 0 14px;border-bottom:1px solid rgba(239,234,226,.12)}
.cx .gl-pb{padding:14px 0 0;border-top:1px solid rgba(239,234,226,.12)}
.cx .gl-pb .gl-pn{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.1;letter-spacing:-.01em;text-transform:none;color:var(--bone)}
.cx .gl-pb span:last-child{white-space:nowrap}
.cx .gl-big{position:relative;align-self:center;justify-self:center;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(220px,21vw,330px);line-height:1;letter-spacing:-.04em;padding:0 .08em;color:transparent;background:linear-gradient(168deg,#FFB08A 0%,var(--ember) 38%,#B8330E 72%,#5E1706 100%);background-size:100% 170%;background-position:0 0;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 30px 70px rgba(255,75,26,.28));animation:glShine 16s ease-in-out infinite alternate}
.cx .gl-big::after{content:attr(data-l);position:absolute;inset:0;padding:0 .08em;color:transparent;-webkit-text-stroke:1px rgba(239,234,226,.16);transform:translate(.07em,-.05em);z-index:-1;background:none}
.cx .gl-plate-ask .gl-big{font-size:clamp(200px,19vw,300px)}
@keyframes glCrop{from{opacity:0;transform:scale(.2)}to{opacity:.75;transform:none}}
@keyframes glShine{to{background-position:0 100%}}

/* the book: the index bar stays at the top of the screen, each letter holds its terms, hairlines between */
.cx .gl-book{padding-top:clamp(36px,4vw,64px);--gl-dd:var(--bone-2)}
.cx .gl-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:18px clamp(32px,6vw,96px);align-items:end;padding-bottom:30px}
.cx .gl-head .cx-eyebrow{justify-content:flex-start}
.cx .gl-head .t{text-align:left}
.cx .gl-head .t em{display:block}
.cx .gl-head p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink2);text-wrap:pretty}
.cx .gl-bar{position:sticky;top:64px;z-index:5;display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr) auto;align-items:center;gap:12px clamp(20px,3vw,40px);padding:12px 0;background:var(--obsidian);box-shadow:0 0 0 100vmax var(--obsidian);clip-path:inset(0 -100vmax);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:72px}
.cx .gl-bar:not(:has(.gl-find:not([hidden]))){grid-template-columns:minmax(0,1fr) auto}
.cx .gl-find{position:relative;min-width:0}
.cx .gl-find[hidden]{display:none}
.cx .gl-find svg{position:absolute;left:0;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--ash);pointer-events:none;transition:color .3s}
.cx .gl-find:focus-within svg{color:var(--ember)}
.cx .gl-find input{width:100%;height:44px;padding:0 4px 0 28px;border:0;border-bottom:1px solid rgba(239,234,226,.22);border-radius:0;background:transparent;color:var(--bone);font:italic 400 22px/1 var(--serif);letter-spacing:-.005em;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .3s}
.cx .gl-find input::placeholder{color:var(--ash);opacity:1}
.cx .gl-find input:focus{border-bottom-color:var(--ember)}
.cx .gl-find input:focus-visible{outline:none}
.cx .gl-find input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:14px;height:14px;cursor:pointer;background:linear-gradient(45deg,transparent 46%,var(--ash) 46%,var(--ash) 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--ash) 46%,var(--ash) 54%,transparent 54%)}
.cx .gl-az{display:flex;justify-content:space-between;gap:0;min-width:0}
.cx .gl-az a,.cx .gl-az span{position:relative;display:grid;place-items:center;flex:1 1 0;min-width:0;height:40px;font-family:var(--serif);font-size:19px;line-height:1;color:var(--bone)}
.cx .gl-az span{color:rgba(140,133,124,.38)}
.cx .gl-az a{transition:color .3s}
.cx .gl-az a::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ember);transform:scale(0);transition:transform .45s var(--ease)}
.cx .gl-az a:hover{color:var(--ember)}
.cx .gl-az a:hover::after,.cx .gl-az a.on::after{transform:scale(1)}
.cx .gl-az a.on{color:var(--ember)}
.cx .gl-az a.gl-dim{color:rgba(140,133,124,.38);pointer-events:none}
.cx .gl-az a.gl-dim::after{transform:scale(0)}
.cx .gl-count{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);white-space:nowrap;text-align:right;min-width:12ch}
.cx .gl-list{position:relative}
.cx .gl-grp{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 clamp(24px,4vw,56px);padding:clamp(26px,3vw,40px) 0 clamp(10px,1.2vw,16px);border-bottom:1px solid var(--line);scroll-margin-top:136px}
.cx .gl-grp[hidden]{display:none}
.cx .gl-lc{position:sticky;top:152px;align-self:start;display:grid;gap:14px;justify-items:start}
.cx .gl-let{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(72px,7.4vw,108px);line-height:.82;letter-spacing:-.03em;color:var(--bone)}
.cx .gl-let::after{content:"";display:block;width:30px;height:1px;margin-top:18px;background:var(--gold);opacity:.8}
.cx .gl-up{display:none;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);transition:color .3s}
.cx .gl-up:hover{color:var(--ember)}
.cx .gl-dl{margin:0;padding:0}
.cx .gl-e{position:relative;display:grid;align-content:start;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:10px clamp(24px,4vw,64px);padding:24px 0 28px;border-top:1px solid var(--line);scroll-margin-top:150px}
.cx .gl-e[hidden]{display:none}
.cx .gl-book .gl-e{border-top-color:transparent}
.cx .gl-book .gl-dl>.gl-e:not([hidden])~.gl-e{border-top-color:var(--line)}
.cx .gl-e::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--ember),rgba(255,75,26,.35) 45%,transparent);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.1s var(--ease)}
.cx .gl-e:hover::before,.cx .gl-e:target::before{transform:scaleX(1)}
.cx .gl-e dt{margin:0;min-width:0}
.cx .gl-n{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.5vw,36px);line-height:1.06;letter-spacing:-.012em;color:var(--ink);text-wrap:balance;transition:color .4s}
.cx .gl-e mark{background:none;color:var(--ember);box-shadow:inset 0 -1px 0 var(--ember)}
.cx .gl-e:target .gl-n{color:var(--ember)}
.cx .gl-ab{display:block;margin-top:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .gl-e dd{margin:0;min-width:0}
.cx .gl-e dd>p:first-child{margin:0;max-width:60ch;font-size:17px;line-height:1.62;color:var(--gl-dd,var(--ink2))}
.cx .gl-see{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .gl-see i{font-style:normal;color:var(--ink2);opacity:.6}
.cx .gl-see a{color:var(--ink);border-bottom:1px solid rgba(255,75,26,.45);padding-bottom:1px;transition:color .3s,border-color .3s}
.cx .gl-see a:hover{color:var(--ember);border-color:var(--ember)}
.cx .gl-none{margin:0;padding:48px 0 40px;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.4vw,32px);line-height:1.25;color:var(--bone-2);text-align:center}
.cx .gl-none[hidden]{display:none}
.cx .gl-none a{color:var(--bone);border-bottom:1px solid var(--ember)}

/* the question page: the heading holds still on the left, the answers read like an interview on the right */
.cx .gl-qs{padding-top:clamp(40px,5vw,72px)}
.cx .gl-qin{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:36px clamp(40px,6vw,104px);align-items:start}
.cx .gl-qside{position:sticky;top:112px;display:grid;gap:18px;justify-items:start}
.cx .gl-qside .cx-eyebrow{justify-content:flex-start}
.cx .gl-qside .t{margin:0;text-align:left;font-size:clamp(30px,2.9vw,42px);line-height:1.04}
.cx .gl-qside p{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink2);text-wrap:pretty}
.cx .gl-ask{font-size:14.5px;color:var(--ink);border-bottom:1px solid rgba(255,75,26,.55);padding-bottom:2px;transition:color .3s,border-color .3s}
.cx .gl-ask:hover{color:var(--ember);border-color:var(--ember)}
.cx .gl-qs .faq{margin:0;max-width:none;counter-reset:glq}
.cx .gl-qs .faq details{position:relative;counter-increment:glq}
.cx .gl-qs .faq summary{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:start;gap:18px;padding:28px 0 26px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,36px);line-height:1.1;letter-spacing:-.012em;color:var(--ink);transition:color .4s}
.cx .gl-qs .faq summary::-webkit-details-marker{display:none}
.cx .gl-qs .faq summary::before{content:counter(glq,decimal-leading-zero);padding-top:.62em;font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:.16em;color:var(--ember)}
.cx .gl-qs .faq summary::after{padding-top:.18em;font-family:var(--sans);font-size:22px;line-height:1;text-align:right}
.cx .gl-qs .faq summary:hover{color:var(--ember)}
.cx .gl-qs .faq p{margin:-6px 0 34px 66px;max-width:62ch;font-size:17px;line-height:1.66;color:var(--bone-2);text-wrap:pretty}
.cx .gl-qs .faq details[open] summary{padding-bottom:18px}

/* the words the answers use, from the term page */
.cx .gl-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,80px);margin:44px 0 0}
.cx .gl-mini .gl-e{grid-template-columns:minmax(0,1fr);gap:10px;padding:26px 0 30px;border-top-color:var(--line)}
.cx .gl-mini>.gl-e:first-child{border-top-color:var(--line)}
.cx .gl-mini .gl-n{font-size:clamp(26px,2.2vw,32px)}
.cx .gl-mini a.gl-n:hover{color:var(--ember)}
.cx .gl-mini .gl-e dd>p:first-child{font-size:15.5px;line-height:1.6}
.cx .gl-c{justify-content:center;margin-top:40px}

/* the rest of the glossary: a page turn, then the contents */
.cx .gl-turn{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cx .gl-turn a{display:grid;gap:12px;align-content:start;padding:30px 32px 32px 0;color:var(--ink);min-width:0}
.cx .gl-turn a+a{padding:30px 0 32px 32px;border-left:1px solid var(--line);text-align:right;justify-items:end}
.cx .gl-turn small{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .gl-turn small::before{content:"← ";color:var(--ember)}
.cx .gl-turn a+a small::before{content:none}
.cx .gl-turn a+a small::after{content:" →";color:var(--ember)}
.cx .gl-turn b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1;letter-spacing:-.02em;transition:color .4s,transform .6s var(--ease)}
.cx .gl-turn a:hover b{color:var(--ember);transform:translateX(-6px)}
.cx .gl-turn a+a:hover b{transform:translateX(6px)}
.cx .gl-toc{list-style:none;margin:36px 0 0;padding:0;columns:2;column-gap:clamp(32px,5vw,80px);counter-reset:glt}
.cx .gl-toc li{break-inside:avoid;counter-increment:glt;border-bottom:1px solid var(--line)}
.cx .gl-toc a,.cx .gl-toc .gl-here{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:15px 0;color:var(--ink)}
.cx .gl-toc a::before,.cx .gl-toc .gl-here::before{content:counter(glt,decimal-leading-zero);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ink2)}
.cx .gl-toc .gl-nm{font-family:var(--serif);font-size:clamp(21px,1.9vw,27px);line-height:1.15;letter-spacing:-.005em;transition:color .35s,transform .6s var(--ease)}
.cx .gl-toc a i{font-style:normal;color:var(--ink2);transition:color .35s,transform .6s var(--ease)}
.cx .gl-toc a:hover .gl-nm{color:var(--ember);transform:translateX(6px)}
.cx .gl-toc a:hover i{color:var(--ember);transform:translateX(4px)}
.cx .gl-toc .gl-here::before{color:var(--ember)}
.cx .gl-toc .gl-here .gl-nm{font-style:italic;color:var(--ember)}
.cx .gl-toc .gl-here small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}

/* narrower screens */
@media (max-width:1100px){
  .cx .gl-e{grid-template-columns:minmax(0,1fr);gap:12px}
  .cx .gl-grp{grid-template-columns:96px minmax(0,1fr)}
}
@media (max-width:1000px){
  .cx .gl-bar{grid-template-columns:minmax(0,1fr) auto}
  .cx .gl-az{grid-column:1/-1;grid-row:2}
  .cx .gl-bar:not(:has(.gl-find:not([hidden]))) .gl-az{grid-row:auto;grid-column:auto}
  .cx .gl-head{grid-template-columns:minmax(0,1fr)}
  .cx .gl-qin{grid-template-columns:minmax(0,1fr)}
  .cx .gl-qside{position:static;max-width:640px}
}
@media (max-width:900px){
  .cx .gl-hero .in{grid-template-columns:minmax(0,1fr)}
  .cx .gl-plate{display:none}
}
@media (max-width:760px){
  .cx .gl-bar{position:relative;top:auto;box-shadow:none;clip-path:none;background:transparent}
  .cx .gl-az{display:grid;grid-template-columns:repeat(13,minmax(0,1fr))}
  .cx .gl-az a,.cx .gl-az span{height:38px;font-size:18px}
  .cx .gl-grp{grid-template-columns:minmax(0,1fr);padding-top:28px;scroll-margin-top:76px}
  .cx .gl-lc{position:static;display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:6px}
  .cx .gl-let{font-size:60px}
  .cx .gl-let::after{margin-top:12px}
  .cx .gl-up{display:block;padding-bottom:4px}
  .cx .gl-e{scroll-margin-top:80px;padding:20px 0 24px}
  .cx .gl-e dd>p:first-child{font-size:16.5px}
  .cx .gl-mini{grid-template-columns:minmax(0,1fr)}
  .cx .gl-mini>.gl-e+.gl-e{border-top-color:var(--line)}
  .cx .gl-qs .faq summary{grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;padding:22px 0 20px;font-size:24px}
  .cx .gl-qs .faq summary::before{padding-top:.5em}
  .cx .gl-qs .faq p{margin:-4px 0 26px 46px;font-size:16.5px}
  .cx .gl-turn{grid-template-columns:minmax(0,1fr)}
  .cx .gl-turn a,.cx .gl-turn a+a{padding:22px 0;border-left:0;text-align:left;justify-items:start}
  .cx .gl-turn a+a{border-top:1px solid var(--line)}
  .cx .gl-turn a+a small::after{content:none}
  .cx .gl-turn a+a small::before{content:"→ ";color:var(--ember)}
  .cx .gl-toc{columns:1}
}
@media (max-width:420px){
  .cx .gl-qs .faq p{margin-left:0}
}

/* quiet motion only, and none when asked; with scripts off nothing waits to fade in */
@media (prefers-reduced-motion:reduce){.cx .gl-big,.cx .gl-plate>i{animation:none}.cx .gl-e::before,.cx .gl-turn b,.cx .gl-toc .gl-nm,.cx .gl-toc a i{transition:none}}
@media (scripting:none){.cx .gl-hero .r,.cx .gl-hero~section .r{opacity:1;transform:none}}
/* page: location-plano */
/* ───────── city pages: one design for every /locations/<city> page. Every rule starts with an lc- class ───────── */

/* scripts off: nothing waits for a reveal that never comes */
@media (scripting:none){.cx .lc-hero .r,.cx .lc-hero~.sec .r{opacity:1;transform:none}}

/* the hero: the form on the right, as on the service pages */
.cx .lc-hero .lp-trust a{white-space:nowrap}

/* shared inside the page */
.cx .lc-n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ember);font-variant-numeric:tabular-nums}
.cx .lc-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--ink);font-style:normal;transition:background .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease),transform .7s var(--ease)}
.cx .lc-go svg{display:block}

/* partner: the city in words on the left, the map plate on the right */
.cx .lc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:center}
.cx .lc-partner .cx-eyebrow{justify-content:flex-start}
.cx .lc-partner .t{text-align:left;font-size:clamp(34px,4.1vw,58px)}
.cx .lc-p{margin:22px 0 0;max-width:54ch;font-size:clamp(16px,1.2vw,18px);line-height:1.62;color:var(--ink2);text-wrap:pretty}
.cx .lc-facts{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--gold)}
.cx .lc-facts li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.cx .lc-fi{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ember)}
.cx .lc-facts b{font-weight:500;font-size:16.5px;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.cx .lc-facts small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}
.cx .lc-partner .ctas{margin-top:32px}

/* the map plate: drawn, never a photograph. The city sits at the center; the nearby cities are placed with --x and --y */
.cx .lc-map{margin:0;display:grid;gap:16px;min-width:0}
.cx .lc-art{position:relative;aspect-ratio:16/10;border-radius:26px;overflow:hidden;isolation:isolate;background:#0B0B10;color:var(--bone);box-shadow:0 70px 120px -70px rgba(10,10,11,.7),0 30px 60px -40px rgba(255,75,26,.35)}
.cx .lc-art::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(239,234,226,.09),inset 0 1px 0 rgba(255,255,255,.06);pointer-events:none}
.cx .lc-art>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.cx .lc-mn{stroke-opacity:.1;stroke-width:1}
.cx .lc-rd:not(.lc-mn){stroke-opacity:.2;stroke-width:1.5}
.cx .lc-coord{position:absolute;left:clamp(14px,2.2vw,24px);top:clamp(12px,2vw,20px);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--bone-2);opacity:.75}
.cx .lc-lbl{position:absolute;left:var(--x);top:var(--y);transform:translate(-4px,-50%);display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-2);white-space:nowrap;pointer-events:none}
.cx .lc-lbl::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--bone-2);box-shadow:0 0 0 4px rgba(239,234,226,.08)}
.cx .lc-lbl.lc-here{transform:translate(18px,-50%);gap:10px;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,28px);letter-spacing:-.01em;text-transform:none;color:var(--bone)}
.cx .lc-lbl.lc-here::before{content:none}
.cx .lc-lbl.lc-here small{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember);padding:4px 7px;border:1px solid rgba(255,75,26,.45);border-radius:999px}
.cx .lc-cap{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .lc-cap svg{color:var(--ember);flex:0 0 14px}
/* the map comes alive once, slowly: the roads draw, the rings open, the city breathes */
.cx .lc-ping{transform-box:fill-box;transform-origin:center;opacity:0}
.cx .lc-map.in-view .lc-rd{stroke-dasharray:1;animation:lcDraw 2.6s var(--ease) both}
.cx .lc-map.in-view .lc-rd:nth-child(2n){animation-delay:.18s}
.cx .lc-map.in-view .lc-rd:nth-child(3n){animation-delay:.34s}
.cx .lc-map.in-view .lc-rings,.cx .lc-map.in-view .lc-ring1{transform-box:view-box;transform-origin:430px 232px;animation:lcOpen 2.2s var(--ease) .2s both}
.cx .lc-map.in-view .lc-ping{animation:lcPing 5.2s var(--ease) 1.4s infinite}
.cx .lc-map.in-view .lc-lbl{animation:lcRise 1.1s var(--ease) both}
.cx .lc-map.in-view .lc-lbl:nth-of-type(2){animation-delay:.5s}.cx .lc-map.in-view .lc-lbl:nth-of-type(3){animation-delay:.62s}.cx .lc-map.in-view .lc-lbl:nth-of-type(4){animation-delay:.74s}.cx .lc-map.in-view .lc-lbl:nth-of-type(5){animation-delay:.86s}.cx .lc-map.in-view .lc-lbl:nth-of-type(6){animation-delay:.98s}.cx .lc-map.in-view .lc-lbl:nth-of-type(7){animation-delay:1.1s}
@keyframes lcDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes lcOpen{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes lcPing{0%{opacity:.75;transform:scale(1)}80%,100%{opacity:0;transform:scale(5.5)}}
@keyframes lcRise{from{opacity:0;margin-top:8px}to{opacity:1;margin-top:0}}

/* services: an index, one hairline per service, no boxes */
.cx .lc-idx{list-style:none;margin:clamp(44px,5vw,68px) 0 0;padding:0;border-top:1px solid var(--line)}
.cx .lc-idx li{border-bottom:1px solid var(--line)}
.cx .lc-idx a{position:relative;display:grid;grid-template-columns:64px minmax(0,1.2fr) minmax(0,1fr) 44px;gap:clamp(16px,2.4vw,32px);align-items:center;padding:clamp(22px,2.4vw,32px) 0;color:var(--ink)}
.cx .lc-idx a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--ember),rgba(255,75,26,.2));transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.cx .lc-idx h3{margin:0;font-weight:600;font-size:clamp(22px,2.4vw,34px);line-height:1.08;letter-spacing:-.03em;transition:transform .8s var(--ease)}
.cx .lc-idx h3 span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.08em;letter-spacing:-.015em;color:var(--ash);margin-right:.12em}
.cx .lc-idx p{margin:0;color:var(--ink2);font-size:15.5px;line-height:1.5}
.cx .lc-idx .lc-go{justify-self:end}
.cx .lc-idx a:hover::after,.cx .lc-idx a:focus-visible::after{transform:scaleX(1)}
.cx .lc-idx a:hover h3,.cx .lc-idx a:focus-visible h3{transform:translateX(8px)}
.cx .lc-idx a:hover .lc-go,.cx .lc-idx a:focus-visible .lc-go,.cx .lc-towns a:hover .lc-go,.cx .lc-towns a:focus-visible .lc-go{background:var(--ember);border-color:var(--ember);color:var(--obsidian);transform:translateX(4px)}
.cx .lc-ind{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:start;margin-top:clamp(56px,7vw,96px)}
.cx .lc-ind h3{margin:0;padding-top:18px;font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.12;letter-spacing:-.03em}
.cx .lc-ind h3 em{display:block;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;font-size:1.12em;color:var(--ember)}
.cx .lc-indl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,44px)}
.cx .lc-indl a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(21px,1.9vw,27px);line-height:1.1;letter-spacing:-.01em;color:var(--bone);transition:color .5s var(--ease)}
.cx .lc-indl svg{flex:0 0 14px;color:var(--ash);transition:transform .7s var(--ease),color .5s}
.cx .lc-indl a:hover,.cx .lc-indl a:focus-visible{color:var(--ember)}
.cx .lc-indl a:hover svg,.cx .lc-indl a:focus-visible svg{color:var(--ember);transform:translateX(4px)}

/* why local: three reasons between hairlines, then the offer on one line */
.cx .lc-why{border-top:1px solid rgba(239,234,226,.08)}
.cx .lc-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(44px,5vw,68px)}
.cx .lc-three>div{display:grid;gap:12px;align-content:start;min-width:0;padding:4px clamp(18px,2.8vw,44px) 4px;border-left:1px solid var(--line)}
.cx .lc-three>div:first-child{padding-left:0;border-left:0}.cx .lc-three>div:last-child{padding-right:0}
.cx .lc-three h3{margin:8px 0 0;font-weight:600;font-size:clamp(21px,1.9vw,26px);line-height:1.15;letter-spacing:-.025em}
.cx .lc-three p{margin:0;max-width:34ch;color:var(--ink2);font-size:15.5px;line-height:1.55}
.cx .lc-offer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(22px,4vw,56px);align-items:center;margin-top:clamp(56px,7vw,96px);padding:clamp(30px,3.6vw,48px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cx .lc-offer::before{content:"";position:absolute;left:0;top:-1px;width:min(220px,40%);height:1px;background:linear-gradient(90deg,var(--ember),transparent)}
.cx .lc-offer h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.025em}
.cx .lc-offer h3 em{font-style:italic;color:var(--ember)}
.cx .lc-terms{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .lc-terms span{display:inline-flex;align-items:center;gap:10px}
.cx .lc-terms span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold)}
.cx .lc-offer .ctas{margin-top:0;justify-content:flex-end}

/* insights: plates the shape of the article photographs, words underneath, no boxes */
.cx .lc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(26px,3.2vw,48px);margin-top:clamp(44px,5vw,64px)}
.cx .lc-post{display:grid;gap:12px;align-content:start;min-width:0;color:var(--ink)}
.cx .lc-plate{position:relative;display:block;aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#0B0A0F;margin-bottom:8px;box-shadow:0 40px 70px -48px rgba(10,10,11,.6)}
.cx .lc-plate svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform 1.6s var(--ease)}
.cx .lc-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .lc-meta span:first-child{color:var(--ember)}
.cx .lc-post h3{margin:0;font-weight:600;font-size:clamp(20px,1.65vw,24px);line-height:1.2;letter-spacing:-.022em;text-wrap:balance;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .9s var(--ease)}
.cx .lc-post p{margin:0;color:var(--ink2);font-size:15px;line-height:1.55}
.cx .lc-post:hover .lc-plate svg,.cx .lc-post:focus-visible .lc-plate svg{transform:scale(1.04)}
.cx .lc-post:hover h3,.cx .lc-post:focus-visible h3{background-size:100% 1px}
.cx .lc-posts .ctas{justify-content:center;margin-top:clamp(40px,5vw,60px)}

/* nearby: the cities as a list of names, set large */
.cx .lc-towns{list-style:none;max-width:900px;margin:clamp(44px,5vw,64px) auto 0;padding:0;border-top:1px solid var(--line)}
.cx .lc-towns a{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:clamp(14px,2.4vw,28px);align-items:center;padding:clamp(14px,1.6vw,20px) 2px;border-bottom:1px solid var(--line);color:var(--ink)}
.cx .lc-tn{font-family:var(--serif);font-size:clamp(38px,5vw,68px);line-height:1;letter-spacing:-.025em;transition:color .6s var(--ease),transform .9s var(--ease)}
.cx .lc-st{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .lc-towns a:hover .lc-tn,.cx .lc-towns a:focus-visible .lc-tn{color:var(--ember);transform:translateX(12px)}
.cx .lc-sub{margin:clamp(56px,7vw,88px) 0 0;text-align:center;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash)}
.cx .lc-loc{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(18px,2.6vw,32px);max-width:900px;margin:18px auto 0;padding:0}
.cx .lc-loc a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.3;color:var(--bone-2);transition:color .5s var(--ease)}
.cx .lc-loc svg{flex:0 0 14px;color:var(--ash);transition:transform .7s var(--ease),color .5s}
.cx .lc-loc a:hover,.cx .lc-loc a:focus-visible{color:var(--bone)}
.cx .lc-loc a:hover svg,.cx .lc-loc a:focus-visible svg{color:var(--ember);transform:translateX(4px)}

/* the close carries the phone bar, so it sits above the footer when the bar is showing */
.cx section.lc-close{z-index:3}

@media (max-width:1000px){
  .cx .lc-split{grid-template-columns:minmax(0,1fr)}
  .cx .lc-idx a{grid-template-columns:48px minmax(0,1fr) 44px;row-gap:8px}
  .cx .lc-idx p{grid-column:2;grid-row:2}
  .cx .lc-idx .lc-go{grid-column:3;grid-row:1/span 2}
  .cx .lc-ind{grid-template-columns:minmax(0,1fr);gap:8px}
  .cx .lc-indl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .lc-three{grid-template-columns:minmax(0,1fr)}
  .cx .lc-three>div,.cx .lc-three>div:first-child,.cx .lc-three>div:last-child{grid-template-columns:48px minmax(0,1fr);column-gap:0;padding:22px 0;border-left:0;border-top:1px solid var(--line)}
  .cx .lc-three>div:first-child{border-top:0;padding-top:0}
  .cx .lc-three .lc-n{grid-row:span 2;padding-top:9px}
  .cx .lc-three h3{margin:0}
  .cx .lc-three p{max-width:none}
  .cx .lc-offer{grid-template-columns:minmax(0,1fr)}
  .cx .lc-offer .ctas{justify-content:flex-start}
  .cx .lc-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .cx .lc-post{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:1fr auto auto auto 1fr;column-gap:clamp(22px,4vw,40px);row-gap:10px;padding:26px 0;border-top:1px solid var(--line)}
  .cx .lc-post:last-child{border-bottom:1px solid var(--line)}
  .cx .lc-plate{grid-column:1;grid-row:1/-1;margin:0}
  .cx .lc-meta{grid-column:2;grid-row:2}.cx .lc-post h3{grid-column:2;grid-row:3}.cx .lc-post p{grid-column:2;grid-row:4}
  .cx .lc-loc{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .cx .lc-art{aspect-ratio:4/3;border-radius:20px}
  .cx .lc-grid{gap:44px}
  .cx .lc-post{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:12px;padding:0;border:0}
  .cx .lc-post:last-child{border-bottom:0}
  .cx .lc-plate,.cx .lc-meta,.cx .lc-post h3,.cx .lc-post p{grid-column:auto;grid-row:auto}
  .cx .lc-plate{margin-bottom:6px}
  .cx .lc-facts li{grid-template-columns:30px minmax(0,1fr);row-gap:4px}
  .cx .lc-facts small{grid-column:2}
  .cx .lc-idx a{grid-template-columns:34px minmax(0,1fr) 36px;column-gap:12px}
  .cx .lc-idx .lc-go,.cx .lc-towns .lc-go{width:36px;height:36px}
  .cx .lc-idx h3 span{display:block;font-size:.8em;margin:0 0 2px}
  .cx .lc-indl{grid-template-columns:minmax(0,1fr)}
  .cx .lc-towns a{grid-template-columns:minmax(0,1fr) auto 36px}
  .cx .lc-loc{grid-template-columns:minmax(0,1fr)}
  .cx .lc-loc a{padding:14px 0}
  .cx .lc-lbl{left:calc((var(--x) - 50%) * 1.2 + 50%)}
  .cx .lc-offer .ctas .pill{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .cx .lc-map *,.cx .lc-map.in-view *{animation:none!important}
  .cx .lc-ping{opacity:0}
  .cx .lc-idx a::after,.cx .lc-idx h3,.cx .lc-tn,.cx .lc-plate svg,.cx .lc-go,.cx .lc-post h3{transition:none!important}
}
/* page: pricing */
/* ───────── pricing: the price list, set like a printed catalogue ─────────
   Chapters (Software, Services, Full service, Enterprise) hold groups; a group is one service with its tiers
   side by side, separated by hairlines. Prices in tabular figures. Gold only as a fine rule or a small mark. */
.cx .pr-tm{font-family:var(--sans);font-style:normal;font-weight:400;font-size:max(10px,.3em);letter-spacing:0;vertical-align:1.25em;line-height:0;margin-left:.06em}

/* hero: the headline on the left, the contents of the catalogue on the right */
.cx .pr-hero{padding-top:clamp(116px,15vh,168px);padding-bottom:clamp(64px,7vw,104px)}
.cx .pr-hin{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,440px);column-gap:clamp(36px,6vw,112px);align-items:end}
.cx .pr-hl{min-width:0}
.cx .pr-hero h1{font-size:clamp(50px,6.7vw,106px);line-height:.94;max-width:none}
.cx .pr-hero .h1-t{max-width:11ch}
.cx .pr-hero .lede-l{max-width:48ch}
.cx .pr-l2{margin:14px 0 0;max-width:52ch;font-size:15px;line-height:1.55;color:var(--ash)}
.cx .pr-trust{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:34px;padding-top:20px;max-width:640px;border-top:1px solid rgba(239,234,226,.12);font-size:14px;line-height:1.45;color:var(--bone-2)}
.cx .pr-tr1{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .pr-trust a{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;color:var(--bone);border-bottom:1px solid rgba(239,234,226,.32);transition:color .3s,border-color .3s}
.cx .pr-trust a:hover{color:var(--ember);border-color:var(--ember)}
.cx .pr-toc{position:relative;min-width:0;padding-top:22px}
.cx .pr-toc::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--gold),rgba(224,164,90,.25) 70%,transparent)}
.cx .pr-toch{display:flex;justify-content:space-between;gap:12px;margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .pr-toc ol{list-style:none;margin:0;padding:0}
.cx .pr-tc{display:block;margin:20px 0 2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}
.cx .pr-toc a{display:flex;align-items:baseline;gap:12px;padding:6px 0;color:var(--bone);transition:color .3s}
.cx .pr-tn{font-family:var(--serif);font-size:clamp(21px,1.75vw,25px);line-height:1.15;letter-spacing:-.01em;white-space:nowrap}
.cx .pr-toc a i{flex:1 1 auto;min-width:18px;border-bottom:1px dotted rgba(239,234,226,.28);transform:translateY(-5px);transition:border-color .3s}
.cx .pr-toc a b{font-weight:500;font-size:15px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--bone-2);white-space:nowrap}
.cx .pr-toc a b small{margin-left:2px;font-weight:400;font-size:12px;color:var(--ash)}
.cx .pr-toc a:hover{color:var(--ember)}.cx .pr-toc a:hover i{border-color:rgba(255,75,26,.6)}

/* a chapter opens like every section on the site: centered, then the catalogue entries follow, set left */
.cx .pr-ch{padding-top:clamp(84px,9vw,132px);padding-bottom:clamp(72px,8vw,120px);scroll-margin-top:64px}
.cx .pr-chh .cx-eyebrow{gap:14px}
.cx .pr-chh .cx-eyebrow::before,.cx .pr-chh .cx-eyebrow::after{content:"";width:22px;height:1px;background:var(--gold);opacity:.8}
.cx .pr-dl{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 16px;margin:22px 0 0;text-align:center;font-size:14px;color:var(--ink2)}
.cx .pr-dl a,.cx .pr-go{display:inline-flex;align-items:center;gap:9px;padding-bottom:3px;border-bottom:1px solid rgba(255,75,26,.55);font-weight:600;font-size:14px;color:var(--ink);transition:color .3s,border-color .3s}
.cx .pr-dl a:hover,.cx .pr-go:hover{color:var(--ember);border-color:var(--ember)}
.cx .pr-dl a svg,.cx .pr-go svg,.cx .pr-trust a svg{flex:0 0 auto;transition:transform .4s var(--ease)}
.cx .pr-dl a:hover svg,.cx .pr-go:hover svg,.cx .pr-trust a:hover svg{transform:translateX(3px)}

/* a group: one service, named large, its tiers below */
.cx .pr-grp{margin-top:clamp(64px,7vw,104px);scroll-margin-top:84px}
.cx .pr-gh{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px clamp(36px,6vw,112px);align-items:end;padding-bottom:clamp(24px,2.6vw,36px)}
.cx .pr-gt{min-width:0}
.cx .pr-gi{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink2);font-variant-numeric:tabular-nums}
.cx .pr-gi::before{content:"";width:28px;height:1px;background:var(--gold)}
.cx .pr-gn{margin:16px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.4vw,64px);line-height:.95;letter-spacing:-.03em;color:var(--ink)}
.cx .pr-gm{min-width:0}
.cx .pr-gm p{margin:0;max-width:50ch;font-size:15.5px;line-height:1.55;color:var(--ink2)}
.cx .pr-go{margin-top:14px}

/* the tiers: columns divided by hairlines; every row lines up across the columns */
.cx .pr-tiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:repeat(5,auto);border-top:1px solid var(--line)}
.cx .pr-t{position:relative;min-width:0;grid-row:span 5;display:grid;grid-template-rows:subgrid;row-gap:0;align-content:start;padding:clamp(22px,2.2vw,30px) clamp(18px,2vw,30px) 4px;border-left:1px solid var(--line)}
.cx .pr-t:first-child{border-left:0;padding-left:0}
.cx .pr-t:last-child{padding-right:0}
.cx .pr-mk{grid-row:1;display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.cx .pr-mk::before{content:"";flex:0 0 5px;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.cx .pr-pop::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold)}
.cx .pr-th{grid-row:2;margin:0;display:grid;gap:8px;align-content:start;font-weight:400}
.cx .pr-tp{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.cx .pr-tt{font-family:var(--serif);font-size:clamp(30px,2.5vw,38px);line-height:1;letter-spacing:-.015em;color:var(--ink)}
.cx .pr-ts{margin-top:-2px;font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.2;color:var(--ink2)}
.cx .pr-p{grid-row:3;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:clamp(20px,2vw,28px) 0 0}
.cx .pr-p b{font-weight:300;font-size:clamp(42px,4vw,62px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);white-space:nowrap}
.cx .pr-cur{font-size:.46em;vertical-align:.8em;letter-spacing:0;margin-right:.1em;color:var(--ink2)}
.cx .pr-p small{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .pr-q b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(38px,3.4vw,52px);letter-spacing:-.02em}
.cx .pr-sp{grid-row:4;margin:12px 0 0;max-width:30ch;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.cx .pr-sp span{display:block}
.cx .pr-sp span+span{margin-top:2px;font-size:12.5px}
.cx .pr-sp b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.cx .pr-inc{grid-row:5;list-style:none;margin:clamp(20px,2vw,26px) 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;align-content:start;font-size:14.5px;line-height:22px;color:var(--ink2)}
.cx .pr-inc li{position:relative;padding-left:20px}
.cx .pr-inc li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:1px;background:var(--ember)}
.cx .pr-inc li.pr-all{padding-left:0;font-family:var(--serif);font-style:italic;font-size:17px;line-height:22px;color:var(--ink)}
.cx .pr-inc li.pr-all::before{content:none}

/* the ladder: every monthly plan on one logarithmic scale, the price riding on the end of its line */
.cx .pr-ladder{--lc:220px;--vc:118px;--g:clamp(14px,2vw,28px);max-width:1080px;margin:clamp(40px,5vw,64px) auto 0}
.cx .pr-ax,.cx .pr-r{display:grid;grid-template-columns:var(--lc) minmax(0,1fr);column-gap:var(--g);align-items:center}
.cx .pr-ax{padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.cx .pr-axt{position:relative;height:14px;margin-right:var(--vc)}
.cx .pr-axt span{position:absolute;top:0;left:var(--x);transform:translateX(-50%);letter-spacing:.04em;white-space:nowrap}
.cx .pr-axt span:first-child{transform:none}
.cx .pr-rw{position:relative}
.cx .pr-grid{position:absolute;top:0;bottom:0;left:calc(var(--lc) + var(--g));right:var(--vc);pointer-events:none}
.cx .pr-grid i{position:absolute;top:0;bottom:0;left:var(--x);width:1px;background:var(--line)}
.cx .pr-rungs{position:relative;list-style:none;margin:0;padding:8px 0 4px}
.cx .pr-r{padding:6px 0;font-size:14px;line-height:18px}
.cx .pr-rn{min-width:0;color:var(--ink)}
.cx .pr-rt{position:relative;height:18px;margin-right:var(--vc)}
.cx .pr-rt i{position:absolute;left:0;top:9px;height:1px;width:var(--x);background:var(--ink2)}
.cx .pr-rt i::after{content:"";position:absolute;right:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.cx .pr-rv{position:absolute;top:0;left:calc(var(--x) + 14px);font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cx .pr-rv small{margin-left:2px;font-weight:400;font-size:11px;color:var(--ink2)}
.cx .pr-ros .pr-rn{font-weight:600}
.cx .pr-ros .pr-rt i,.cx .pr-ros .pr-rt i::after{background:var(--ember)}
.cx .pr-ladder.in-view .pr-rt i{animation:prGrow 1.6s var(--ease) var(--d) both}
.cx .pr-ladder.in-view .pr-rv{animation:prIn .6s var(--ease) calc(var(--d) + .55s) both}
@keyframes prGrow{from{width:0}}
@keyframes prIn{from{opacity:0;transform:translateX(-6px)}}
.cx .pr-ladder figcaption{max-width:70ch;margin:22px auto 0;text-align:center;font-size:13.5px;line-height:1.5;color:var(--ink2)}

/* in house against one team: words on the left, the one figure on the right */
.cx .pr-inh{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:32px clamp(36px,6vw,112px);align-items:end;margin-top:clamp(64px,7vw,100px);padding-top:clamp(44px,5vw,68px);border-top:1px solid var(--line)}
.cx .pr-inh .t{margin:0;text-align:left;font-size:clamp(34px,4vw,58px)}
.cx .pr-inh-t p{margin:18px 0 0;max-width:56ch;font-size:clamp(16px,1.2vw,18px);line-height:1.55;color:var(--ink2)}
.cx .pr-inh-t p.pr-fn{margin-top:14px;font-size:14px}
.cx .pr-inh-f{display:grid;gap:12px;justify-items:start;min-width:0;padding-left:clamp(24px,3vw,44px);border-left:1px solid var(--line)}
.cx .pr-inh-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.cx .pr-inh-f>b{font-weight:300;font-size:clamp(58px,6.6vw,100px);line-height:.95;letter-spacing:-.055em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.cx .pr-inh-f>b small{margin-left:10px;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .pr-inh-s{max-width:36ch;font-size:15px;line-height:1.5;color:var(--ink2)}
.cx .pr-inh-f .pr-go{margin-top:4px}

/* what moves the price: four columns, hairlines between */
.cx .pr-fl{list-style:none;margin:clamp(44px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.cx .pr-fl li{display:grid;gap:12px;align-content:start;padding:28px clamp(18px,2vw,30px) 4px;border-left:1px solid var(--line)}
.cx .pr-fl li:first-child{border-left:0;padding-left:0}
.cx .pr-fl li:last-child{padding-right:0}
.cx .pr-fi{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ember)}
.cx .pr-fl h3{margin:2px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.3vw,34px);line-height:1.05;letter-spacing:-.015em}
.cx .pr-fl p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}

/* tablets: the hero stacks, four tiers become two by two */
@media (max-width:1000px){
  .cx .pr-hin{grid-template-columns:minmax(0,1fr);row-gap:48px}
  .cx .pr-hero .h1-t{max-width:12ch}
  .cx .pr-gh,.cx .pr-inh{grid-template-columns:minmax(0,1fr)}
  .cx .pr-inh-f{padding-left:0;border-left:0}
  .cx .pr-tiers.pr-n4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(10,auto)}
  .cx .pr-n4 .pr-t:nth-child(3){border-left:0;padding-left:0}
  .cx .pr-n4 .pr-t:nth-child(2){padding-right:0}
  .cx .pr-n4 .pr-t:nth-child(n+3){margin-top:26px;border-top:1px solid var(--line)}
  .cx .pr-fl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .pr-fl li:nth-child(3){border-left:0;padding-left:0}
  .cx .pr-fl li:nth-child(2){padding-right:0}
  .cx .pr-fl li:nth-child(n+3){margin-top:26px;border-top:1px solid var(--line)}
}
/* phones: the tiers stack, name on the left and price on the right, like a menu */
@media (max-width:700px){
  .cx .pr-tiers,.cx .pr-tiers.pr-n4{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .cx .pr-t,.cx .pr-n4 .pr-t:nth-child(n){grid-row:auto;grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;margin-top:0;padding:24px 0 22px;border-left:0;border-top:1px solid var(--line)}
  .cx .pr-t:first-child,.cx .pr-n4 .pr-t:first-child{border-top:0}
  .cx .pr-mk{grid-row:auto;grid-column:1/-1}
  .cx .pr-th{grid-row:auto;grid-column:1}
  .cx .pr-p{grid-row:auto;grid-column:2;flex-direction:column;align-items:flex-end;gap:6px;margin:0;align-self:end;text-align:right}
  .cx .pr-p b{font-size:40px}
  .cx .pr-sp,.cx .pr-inc{grid-row:auto;grid-column:1/-1;max-width:none}
  .cx .pr-inc{margin-top:16px;padding-top:0;border-top:0}
  .cx .pr-tt{font-size:30px}
  .cx .pr-gn{font-size:clamp(40px,11vw,54px)}
}
@media (max-width:640px){
  .cx .pr-ladder{--lc:0px;--vc:92px;--g:0px}
  .cx .pr-ax,.cx .pr-r{grid-template-columns:minmax(0,1fr)}
  .cx .pr-axl,.cx .pr-axt span:nth-child(even){display:none}
  .cx .pr-r{row-gap:4px;padding:8px 0}
  .cx .pr-rn{font-size:14px}
  .cx .pr-fl{grid-template-columns:minmax(0,1fr)}
  .cx .pr-fl li,.cx .pr-fl li:nth-child(n){margin-top:0;padding:24px 0 22px;border-left:0;border-top:1px solid var(--line)}
  .cx .pr-fl li:first-child{border-top:0}
  .cx .pr-toc a{gap:10px}
  .cx .pr-tn{font-size:21px}
}
@media (prefers-reduced-motion:reduce){.cx .pr-ladder .pr-rt i,.cx .pr-ladder .pr-rv{animation:none!important}}
/* scripts off: nothing waits for a reveal that will never come */
@media (scripting:none){.cx .pr-hero .r,.cx .pr-ch .r,.cx .pr-lad .r,.cx .pr-fac .r,.cx .pr-faq .r,.cx .pr-rel .r,.cx .pr-close .r{opacity:1;transform:none}}
/* page: privacy */
/* ───────── legal documents (privacy, terms): a short dark hero, then one quiet column of text beside a sticky contents list ─────────
   Shared by every legal page. Markup: section.lg-hero, then section.lg-doc > .in.lg-grid > details.lg-toc + article.lg-body > .lg-part[id] */
.cx section.lg-hero{padding-top:clamp(128px,17vh,184px);padding-bottom:clamp(40px,5vw,60px);border-bottom:1px solid rgba(239,234,226,.1)}
.cx section.lg-hero.hero-p.cx-dark::before{background:radial-gradient(55% 95% at 86% -10%,rgba(255,75,26,.2),transparent 64%),radial-gradient(40% 70% at 62% 120%,rgba(224,164,90,.07),transparent 70%);opacity:1;filter:none;animation:lgGlow 16s ease-in-out infinite alternate}
.cx section.lg-hero.hero-p.cx-dark::after{content:"§";inset:auto;right:clamp(0px,17vw,300px);top:50%;transform:translateY(-50%) rotate(-4deg);background:none;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(200px,20vw,290px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(239,234,226,.1);pointer-events:none;-webkit-user-select:none;user-select:none}
.cx section.lg-hero h1{font-size:clamp(54px,9vw,112px);line-height:.96;max-width:none}
.cx section.lg-hero h1 .h1-t{max-width:12ch}
.cx .lg-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 40px;flex-wrap:wrap;margin-top:clamp(30px,4vw,52px);padding-top:20px;border-top:1px solid rgba(239,234,226,.12);position:relative;max-width:100%}
.cx .lg-meta::before{content:"";position:absolute;left:0;top:-1px;width:64px;height:1px;background:var(--gold)}
.cx .lg-date{margin:0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cx .lg-date span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .lg-date time{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1;color:var(--bone)}
.cx .lg-docs{display:flex;gap:28px;flex-wrap:wrap}
.cx .lg-docs a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);padding-bottom:7px;border-bottom:1px solid transparent;transition:color .4s var(--ease),border-color .4s var(--ease)}
.cx .lg-docs a:hover{color:var(--bone)}
.cx .lg-docs a[aria-current="page"]{color:var(--bone);border-color:var(--ember)}

/* the document */
.cx section.lg-doc{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(80px,10vw,140px)}
.cx .lg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,39rem) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);align-items:start}
.cx .lg-toc{grid-column:1;position:sticky;top:112px;align-self:start;max-width:250px}
.cx .lg-body{grid-column:2;min-width:0;font-size:17.5px;line-height:1.75;color:var(--bone-2);counter-reset:lgs}

/* contents: numbered, quiet, the current section lit */
.cx .lg-toc summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);cursor:pointer;padding-bottom:16px}
.cx .lg-toc summary::-webkit-details-marker{display:none}
.cx .lg-toc summary small{font-size:10px;letter-spacing:.16em;color:var(--ash);display:none}
.cx .lg-toc ol{list-style:none;margin:0;padding:2px 0 2px 20px;position:relative;display:grid;gap:11px;counter-reset:lgt;font-size:14px;line-height:1.4}
.cx .lg-toc ol::before,.cx .lg-toc ol::after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(239,234,226,.12)}
.cx .lg-toc ol::after{background:var(--ember);transform-origin:top;transform:scaleY(var(--lg-p,0));transition:transform .5s var(--ease)}
.cx .lg-toc li{counter-increment:lgt}
.cx .lg-toc a{display:grid;grid-template-columns:28px minmax(0,1fr);color:var(--ash);transition:color .4s var(--ease)}
.cx .lg-toc a::before{content:counter(lgt,decimal-leading-zero);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;padding-top:2px;color:rgba(140,133,124,.7);transition:color .4s var(--ease)}
.cx .lg-toc a:hover{color:var(--bone)}
.cx .lg-toc a[aria-current]{color:var(--bone)}
.cx .lg-toc a[aria-current]::before{color:var(--ember)}

/* the text */
.cx .lg-intro{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,31px);line-height:1.3;letter-spacing:-.005em;color:var(--bone);text-wrap:pretty}
.cx .lg-part{counter-increment:lgs;margin-top:clamp(44px,5vw,64px);padding-top:clamp(36px,4vw,52px);border-top:1px solid rgba(239,234,226,.1);scroll-margin-top:96px}
.cx .lg-part h2{margin:0 0 .72em;display:grid;gap:16px;font-family:var(--serif);font-weight:400;font-size:clamp(32px,3vw,42px);line-height:1.04;letter-spacing:-.012em;color:var(--bone);text-wrap:balance}
.cx .lg-part h2::before{content:counter(lgs,decimal-leading-zero);font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:.2em;color:var(--ember)}
.cx .lg-part p{margin:0 0 1.1em}
.cx .lg-part>*:last-child{margin-bottom:0}
.cx .lg-part strong{font-weight:600;color:var(--bone)}
.cx .lg-part ul{list-style:none;margin:0 0 1.3em;padding:0;border-top:1px solid rgba(239,234,226,.08)}
.cx .lg-part ul li{position:relative;padding:13px 0 13px 30px;border-bottom:1px solid rgba(239,234,226,.08);line-height:1.6}
.cx .lg-part ul li::before{content:"";position:absolute;left:2px;top:27px;width:12px;height:1px;background:var(--ember)}
.cx .lg-part>ul:last-child>li:last-child{border-bottom:0;padding-bottom:0}
.cx .lg-body a{color:var(--bone);text-decoration:underline;text-decoration-color:rgba(255,75,26,.55);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
.cx .lg-body a:hover{color:var(--ember);text-decoration-color:var(--ember)}
.cx .lg-body a[href^="tel:"]{white-space:nowrap}
.cx .lg-body cite{font-style:italic;color:var(--bone)}
.cx .lg-url{font-family:var(--mono);font-size:.84em;color:var(--bone);overflow-wrap:anywhere}
/* the one disclosure that must be read: set off by a fine gold rule */
.cx .lg-note{padding:4px 0 4px 26px;border-left:1px solid var(--gold);font-size:19px;line-height:1.65;color:var(--bone)}
/* labelled terms: the label in its own column */
.cx .lg-part ul.lg-kv li{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:18px;padding-left:0}
.cx .lg-part ul.lg-kv li::before{display:none}
.cx .lg-kv strong{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);padding-top:.5em;line-height:1.4}
.cx .lg-kv li.lg-kv-all span{grid-column:2}
/* the sign off */
.cx .lg-part.lg-sign p{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.2;color:var(--bone);letter-spacing:-.01em;text-wrap:balance}
.cx .lg-part.lg-sign a{font-style:italic;color:var(--ember);text-decoration-color:rgba(255,75,26,.4);text-underline-offset:6px;overflow-wrap:anywhere}
.cx .lg-part.lg-sign a:hover{text-decoration-color:var(--ember)}
.cx .lg-end{display:flex;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;margin-top:clamp(56px,6vw,80px);padding-top:22px;border-top:1px solid rgba(239,234,226,.1)}
.cx .lg-body .lg-end a{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-2);text-decoration:none}
.cx .lg-body .lg-end a:hover{color:var(--ember)}
.cx .lg-end svg{flex:0 0 auto;transition:transform .5s var(--ease)}
.cx .lg-end a:hover svg{transform:translateX(3px)}
.cx .lg-end a[href="#top"]:hover svg{transform:translateY(-3px)}

@keyframes lgGlow{0%{opacity:.75;transform:translate3d(0,0,0)}100%{opacity:1;transform:translate3d(-3%,2%,0)}}

/* mid widths: the contents move into a narrow left column */
@media (max-width:1180px){
  .cx .lg-grid{grid-template-columns:minmax(170px,210px) minmax(0,1fr)}
  .cx .lg-body{max-width:39rem}
}
/* phones and small tablets: one column, the contents fold into a list you can open */
@media (max-width:899px){
  .cx .lg-grid{grid-template-columns:minmax(0,1fr)}
  .cx section.lg-doc{padding-top:0}
  .cx .lg-toc{grid-column:1;position:static;max-width:none;margin-bottom:clamp(40px,7vw,56px);border-bottom:1px solid rgba(239,234,226,.12)}
  .cx .lg-toc summary{padding:17px 0;align-items:center}
  .cx .lg-toc summary small{display:inline-flex;align-items:center;gap:12px}
  .cx .lg-toc summary small::after{content:"+";font-family:var(--sans);font-size:20px;line-height:1;letter-spacing:0;color:var(--ember)}
  .cx .lg-toc[open] summary small::after{content:"×"}
  .cx .lg-toc ol{margin:0 0 20px;gap:13px;font-size:15px}
  .cx .lg-body{grid-column:1;max-width:40rem;font-size:17px}
  .cx section.lg-hero.hero-p.cx-dark::after{right:-24px;top:60%;font-size:clamp(200px,40vw,300px)}
}
@media (min-width:900px){.cx .lg-toc summary{pointer-events:none;cursor:default}}
@media (max-width:520px){
  .cx section.lg-hero{padding-top:112px}
  .cx section.lg-hero h1{font-size:clamp(48px,14.5vw,60px)}
  .cx .lg-meta{flex-direction:column;align-items:flex-start}
  .cx .lg-part ul.lg-kv li{grid-template-columns:minmax(0,1fr);row-gap:4px}
  .cx .lg-kv li.lg-kv-all span{grid-column:1}
  .cx .lg-kv strong{padding-top:0}
  .cx .lg-note{font-size:17.5px;padding-left:20px}
}
@media (prefers-reduced-motion:reduce){.cx section.lg-hero.hero-p.cx-dark::before{animation:none}.cx .lg-toc ol::after,.cx .lg-end svg{transition:none}}
/* page: system */
/* ───────── the method page (the Digital Ingenuity System): dark hero with a drawn emblem, then alternating sections.
   Stages are one connected line, never separate cards. Every selector starts with .lg- ───────── */
@media (scripting:none){.cx .lg-sys.r,.cx .lg-sys .r{opacity:1;transform:none}}

/* hero: the text on the left, the emblem on the right. No photograph: a drawn glow instead */
.cx section.lg-shero.hero-p.cx-dark::before{background:radial-gradient(42% 60% at 76% 48%,rgba(255,75,26,.16),transparent 70%),radial-gradient(30% 40% at 90% 90%,rgba(224,164,90,.06),transparent 70%);opacity:1;filter:none}
.cx section.lg-shero.hero-p.cx-dark::after{background:linear-gradient(180deg,rgba(6,6,10,.5),transparent 26%,transparent 70%,var(--obsidian))}
.cx .lg-shero-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;column-gap:clamp(24px,4vw,64px)}
.cx .lg-shero-txt{min-width:0}
.cx section.lg-shero h1 .h1-t{font-size:clamp(46px,5.6vw,84px);line-height:.98;max-width:15ch}
.cx section.lg-shero .lede-l{max-width:54ch}
.cx .lg-orb{position:relative;min-width:0;justify-self:end;width:100%;max-width:520px}
.cx .lg-orb svg{display:block;width:100%;height:auto;overflow:visible}
.cx .lg-orb-ticks{stroke:rgba(239,234,226,.2);stroke-width:7;stroke-dasharray:1 20.817}
.cx .lg-orb-gold{stroke:var(--gold);stroke-width:1.5}
.cx .lg-orb-ring{stroke:rgba(239,234,226,.16);stroke-width:1}
.cx .lg-orb-spiral{stroke:var(--ember);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:2 10;opacity:.75;animation:lgFlow 5s linear infinite}
.cx .lg-orb-core{animation:lgBreathe 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.cx .lg-orb-spin{transform-box:view-box;transform-origin:260px 260px}
.cx .lg-orb .lg-s1{animation:lgSpin 48s linear infinite;animation-delay:-8s}
.cx .lg-orb .lg-s2{animation:lgSpin 34s linear infinite reverse;animation-delay:-20s}
.cx .lg-orb .lg-s3{animation:lgSpin 22s linear infinite;animation-delay:-5s}
.cx .lg-orb-t{font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;fill:#CFC8BE;text-anchor:middle}
@keyframes lgFlow{to{stroke-dashoffset:-120}}
@keyframes lgSpin{to{transform:rotate(360deg)}}
@keyframes lgBreathe{0%,100%{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}

.cx .lg-sys .lead{text-wrap:balance}
/* a closing line set in the serif, centred */
.cx .lg-say{margin:clamp(64px,8vw,112px) auto 0;max-width:34ch;text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.1vw,46px);line-height:1.14;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.cx .lg-say em{font-style:italic;color:var(--ember)}

/* the problem: four columns, hairlines between them, a figure on each */
.cx .lg-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.cx .lg-four>div{position:relative;padding:30px clamp(18px,2.2vw,34px) 6px;border-left:1px solid var(--line);min-width:0}
.cx .lg-four>div:first-child{border-left:0;padding-left:0}
.cx .lg-four>div::before{content:"";position:absolute;top:-1px;left:clamp(18px,2.2vw,34px);width:40px;height:2px;background:var(--ember)}
.cx .lg-four>div:first-child::before{left:0}
.cx .lg-fig{margin:0 0 26px;display:grid;gap:12px}
.cx .lg-fig b{font-family:var(--serif);font-weight:400;font-size:clamp(50px,5vw,78px);line-height:.9;letter-spacing:-.025em;color:var(--ink);white-space:nowrap}
.cx .lg-fig b i{font-size:.46em;letter-spacing:0;color:var(--ink2);margin:0 .06em}
.cx .lg-fig span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .lg-four h3{margin:0 0 8px;font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.cx .lg-four p:not(.lg-fig){margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}

/* the three pillars: one line through three stations */
.cx .lg-rail{list-style:none;margin:clamp(52px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,4.4vw,72px);position:relative}
.cx .lg-rail::before,.cx .lg-rail::after{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(239,234,226,.14)}
.cx .lg-rail::after{background:linear-gradient(90deg,var(--ember),rgba(255,75,26,.55) 55%,rgba(224,164,90,.35));transform:scaleX(0);transform-origin:left;transition:transform 2.6s var(--ease) .35s}
.cx .lg-rail.in-view::after{transform:scaleX(1)}
.cx .lg-rail>li{position:relative;min-width:0}
.cx .lg-node{display:flex;width:max-content;align-items:center;gap:14px;height:13px;margin-bottom:36px;padding-right:14px;background:var(--obsidian);box-shadow:-6px 0 0 var(--obsidian);position:relative;z-index:1}
.cx .lg-node::before{content:"";flex:0 0 13px;width:13px;height:13px;border-radius:50%;box-sizing:border-box;border:1px solid var(--ember);background:var(--obsidian);box-shadow:0 0 0 6px var(--obsidian)}
.cx .lg-rail>li:first-child .lg-node::before{background:var(--ember);box-shadow:0 0 0 6px var(--obsidian),0 0 22px 4px rgba(255,75,26,.45)}
.cx .lg-node span{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ember)}
.cx .lg-rail h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.4vw,66px);line-height:.95;letter-spacing:-.02em;color:var(--bone)}
.cx .lg-rail>li>p{margin:16px 0 0;max-width:34ch;font-size:15.5px;line-height:1.55;color:var(--ash)}
.cx .lg-go{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.cx .lg-go a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--bone);font-size:15px;line-height:1.35;transition:color .4s var(--ease),padding .5s var(--ease)}
.cx .lg-go small{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);white-space:nowrap;transition:color .4s var(--ease)}
.cx .lg-go small::after{content:"→";margin-left:8px;letter-spacing:0;font-family:var(--sans);font-size:12px}
.cx .lg-go a:hover{color:var(--ember);padding-left:6px}
.cx .lg-go a:hover small{color:var(--ember)}

/* SEO, GEO, AEO: three letters, set large, hairlines between */
.cx .lg-tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(52px,6vw,88px)}
.cx .lg-tri>div{padding:0 clamp(20px,3vw,48px);border-left:1px solid var(--line);min-width:0}
.cx .lg-tri>div:first-child{border-left:0;padding-left:0}
.cx .lg-tri>div:last-child{padding-right:0}
.cx .lg-tri h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(76px,8.4vw,132px);line-height:.82;letter-spacing:-.035em;color:var(--ink)}
.cx .lg-role{margin:18px 0 16px;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,31px);line-height:1;color:var(--ember)}
.cx .lg-tri p:not(.lg-role){margin:0;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.cx .lg-all{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,104px);align-items:center;margin-top:clamp(48px,6vw,88px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.cx .lg-venn svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;overflow:visible}
.cx .lg-venn .lg-v{fill:rgba(255,75,26,.075);stroke:rgba(10,10,11,.32);stroke-width:1;mix-blend-mode:multiply}
.cx .lg-venn .lg-vt{font-family:var(--serif);font-size:34px;fill:#0A0A0B;text-anchor:middle;letter-spacing:-.5px}
.cx .lg-venn .lg-vs{font-family:var(--serif);font-style:italic;font-size:19px;fill:#5C5852;text-anchor:middle}
.cx .lg-venn .lg-vc{fill:var(--ember)}
.cx .lg-venn .lg-vr{stroke:var(--ember);stroke-width:1;opacity:.6;transform-box:fill-box;transform-origin:center;animation:lgRing 4.8s var(--ease) infinite}
@keyframes lgRing{0%{transform:scale(.5);opacity:.8}70%,100%{transform:scale(1.6);opacity:0}}
.cx .lg-all h3{margin:0 0 16px;font-weight:600;font-size:clamp(26px,2.6vw,36px);line-height:1.08;letter-spacing:-.03em;color:var(--ink)}
.cx .lg-all p{margin:0 0 16px;max-width:58ch;font-size:16.5px;line-height:1.6;color:var(--ink2)}
.cx .lg-all p.lg-then{margin:26px 0 30px;font-family:var(--serif);font-size:clamp(25px,2.4vw,34px);line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
.cx .lg-then em{font-style:italic;color:var(--ember)}
.cx .lg-all a.lg-more{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--ember);font-weight:600;font-size:15px;color:var(--ink);transition:color .4s var(--ease),gap .5s var(--ease)}
.cx .lg-all a.lg-more:hover{color:var(--ember);gap:14px}

/* what happens when a lead comes in: five stations on one line, a pulse running along it */
.cx .lg-flow{list-style:none;margin:clamp(52px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(18px,2.4vw,40px);position:relative;counter-reset:lgf}
.cx .lg-flow::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:linear-gradient(90deg,rgba(239,234,226,.22),rgba(239,234,226,.12))}
.cx .lg-flow::after{content:"";position:absolute;left:0;top:6px;width:16%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--ember) 70%,#FFB08A);opacity:0;animation:lgRun 6.5s cubic-bezier(.5,0,.3,1) 1.2s infinite}
@keyframes lgRun{0%{transform:translateX(-60%);opacity:0}12%{opacity:1}78%{opacity:1}100%{transform:translateX(540%);opacity:0}}
.cx .lg-flow>li{position:relative;min-width:0}
.cx .lg-flow>li::before{content:"";display:block;width:15px;height:15px;box-sizing:border-box;border-radius:50%;border:1px solid rgba(239,234,226,.45);background:var(--obsidian);box-shadow:0 0 0 7px var(--obsidian);margin-bottom:30px;position:relative;z-index:1}
.cx .lg-flow>li.lg-hot::before{border-color:var(--ember);background:var(--ember);box-shadow:0 0 0 7px var(--obsidian),0 0 24px 5px rgba(255,75,26,.5)}
.cx .lg-flow small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin-bottom:12px}
.cx .lg-flow li.lg-hot small{color:var(--ember)}
.cx .lg-flow h3{margin:0 0 8px;font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.02em;color:var(--bone)}
.cx .lg-flow p{margin:0;font-size:15px;line-height:1.55;color:var(--ash)}
.cx .lg-lead .lg-say{max-width:30ch}
.cx .lg-c{justify-content:center;margin-top:36px}

/* what the system replaces: two columns and a ledger, no boxes */
.cx .lg-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(48px,6vw,80px)}
.cx .lg-vs>div{position:relative;min-width:0;padding-top:30px;border-top:1px solid var(--line)}
.cx .lg-vs .lg-old{padding-right:clamp(24px,4.4vw,72px)}
.cx .lg-vs .lg-new{padding-left:clamp(24px,4.4vw,72px);border-left:1px solid var(--line);border-top-color:var(--ember)}
.cx .lg-vs h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,50px);line-height:1;letter-spacing:-.015em;color:var(--ink)}
.cx .lg-vs .lg-old h3{color:var(--ink2)}
.cx .lg-sub{margin:12px 0 28px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .lg-bill{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cx .lg-bill li{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.4;color:var(--ink)}
.cx .lg-old .lg-bill li>span{color:var(--ink2)}
.cx .lg-bill b{margin-left:auto;font-family:var(--mono);font-weight:400;font-size:12.5px;letter-spacing:.02em;color:var(--ink2);white-space:nowrap}
.cx .lg-inc li{justify-content:flex-start;align-items:center;flex-wrap:nowrap;gap:16px}
.cx .lg-inc li::before{content:"";flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:var(--ember)}
.cx .lg-tot{display:grid;gap:10px;margin:28px 0 0}
.cx .lg-tot span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.cx .lg-tot b{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,40px);line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.cx .lg-new .lg-tot b{font-style:italic;color:var(--ember)}
.cx .lg-foot{margin:16px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink2);text-wrap:pretty}

/* who it is for: two lists, a hairline between them */
.cx .lg-two h3{margin:0 0 20px;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1;letter-spacing:-.015em;color:var(--bone)}
.cx .lg-two .list>div{font-size:15.5px;align-items:start}
.cx .lg-two .list>div>div{padding-top:1px}
.cx .lg-no>div{color:var(--bone-2)}
.cx .lg-indrow{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:18px 40px;align-items:baseline;margin-top:clamp(56px,6vw,88px);padding-top:30px;border-top:1px solid var(--line)}
.cx .lg-ind{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.cx .lg-inds{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px 40px}
.cx .lg-inds a{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);line-height:1.1;letter-spacing:-.01em;color:var(--bone);transition:color .4s var(--ease)}
.cx .lg-inds a::after{content:"→";font-family:var(--sans);font-size:13px;color:var(--ash);transition:color .4s var(--ease),transform .5s var(--ease)}
.cx .lg-inds a:hover{color:var(--ember)}
.cx .lg-inds a:hover::after{color:var(--ember);transform:translateX(3px)}
.cx .lg-two .lg-foot{margin-top:24px;max-width:52ch;font-family:var(--serif);font-style:italic;font-size:clamp(19px,1.6vw,22px);line-height:1.4;color:var(--bone-2)}

/* the close: the site's closing screen, at a size a longer question can carry */
.cx section.lg-close h2{font-size:clamp(44px,6.2vw,96px);line-height:.96;max-width:15ch}
.cx section.lg-close p{max-width:56ch}

/* narrower screens */
@media (max-width:1100px){
  .cx .lg-shero-in{grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}
  .cx .lg-flow{grid-template-columns:minmax(0,1fr);row-gap:0;max-width:880px;margin-inline:auto}
  .cx .lg-flow::before{left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto;background:rgba(239,234,226,.16)}
  .cx .lg-flow::after{display:none}
  .cx .lg-flow>li{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);column-gap:36px;align-items:start;padding:0 0 38px 50px}
  .cx .lg-flow>li:last-child{padding-bottom:0}
  .cx .lg-flow>li::before{position:absolute;top:0;left:0;margin:0}
  .cx .lg-flow small{grid-column:1;margin-bottom:8px}
  .cx .lg-flow h3{grid-column:1}
  .cx .lg-flow p{grid-column:2;grid-row:1 / span 2;padding-top:2px}
}
@media (max-width:1000px){
  .cx .lg-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .lg-four>div:nth-child(3){border-left:0;padding-left:0}
  .cx .lg-four>div:nth-child(3)::before{left:0}
  .cx .lg-four>div:nth-child(n+3){border-top:1px solid var(--line);margin-top:26px}
}
@media (max-width:900px){
  .cx .lg-shero-in{grid-template-columns:minmax(0,1fr)}
  .cx section.lg-shero h1 .h1-t{font-size:clamp(46px,8.4vw,72px)}
  .cx .lg-orb{position:absolute;top:-70px;right:-340px;width:580px;max-width:none;opacity:.6;pointer-events:none;z-index:-1}
  .cx .lg-orb-t{display:none}
  .cx .lg-rail{grid-template-columns:minmax(0,1fr);row-gap:56px}
  .cx .lg-rail::before,.cx .lg-rail::after{left:6px;right:auto;top:8px;bottom:0;width:1px;height:auto}
  .cx .lg-rail::after{transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,var(--ember),rgba(255,75,26,.4))}
  .cx .lg-rail.in-view::after{transform:scaleY(1)}
  .cx .lg-rail>li{padding-left:40px}
  .cx .lg-node{position:absolute;left:0;top:0;margin:0;gap:27px}
  .cx .lg-node span{padding:0}
  .cx .lg-rail h3{margin-top:34px}
  .cx .lg-tri{grid-template-columns:minmax(0,1fr)}
  .cx .lg-tri>div{padding:28px 0 30px;border-left:0;border-top:1px solid var(--line)}
  .cx .lg-tri>div:first-child{border-top:0;padding-top:0}
  .cx .lg-all{grid-template-columns:minmax(0,1fr)}
  .cx .lg-venn svg{max-width:340px}
  .cx .lg-vs{grid-template-columns:minmax(0,1fr)}
  .cx .lg-vs .lg-old{padding-right:0}
  .cx .lg-vs .lg-new{padding-left:0;border-left:0;margin-top:56px}
  .cx .lg-two>div+div{margin-top:24px}
  .cx .lg-indrow{grid-template-columns:minmax(0,1fr)}
  .cx .lg-all{margin-top:40px;padding-top:40px}
}
@media (min-width:901px){.cx .lg-rail>li>p{min-height:4.65em}.cx.cx.cx .lg-rail>li>p{min-height:4.65em}.cx .lg-two>div+div{border-left:1px solid var(--line);padding-left:clamp(24px,4vw,64px)}}
@media (max-width:640px){
  .cx .lg-orb{top:-110px;right:-300px;width:470px;opacity:.5}
  .cx .lg-four{grid-template-columns:minmax(0,1fr)}
  .cx .lg-four>div{border-left:0;padding-left:0;padding-right:0}
  .cx .lg-four>div::before{left:0}
  .cx .lg-four>div+div{border-top:1px solid var(--line);margin-top:24px}
  .cx .lg-flow>li{display:block;padding:0 0 30px 44px}
  .cx .lg-flow>li:last-child{padding-bottom:0}
  .cx .lg-flow small{margin-bottom:12px}
  .cx .lg-flow p{padding-top:0}
  .cx .lg-inds{display:grid;gap:0;border-top:1px solid var(--line)}
  .cx .lg-inds a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:24px}
  .cx .lg-tot{flex-direction:column;gap:8px}
  .cx .lg-new .lg-tot b{text-align:left}
  .cx section.lg-shero .hstats{gap:22px 28px}
}
@media (prefers-reduced-motion:reduce){
  .cx .lg-orb-spiral,.cx .lg-orb-core,.cx .lg-orb .lg-orb-spin,.cx .lg-venn .lg-vr{animation:none}
  .cx .lg-flow::after{display:none}
  .cx .lg-rail::after{transition:none;transform:none}
}
/* page: vault-idea-stream */
/* ───────── the blog index: the contents page of a printed quarterly ─────────
   One masthead, one lead story, a spread of three, then every essay as a line in the index.
   Plates stand in for the post photographs: in production the photo fills .bi-plate at the same ratio. */

/* the masthead: the name, a gold rule, the issue line */
.cx .bi-mast.hero-p{padding-top:clamp(108px,14vh,148px);padding-bottom:clamp(44px,5vw,72px)}
.cx .bi-mast.hero-p.cx-dark::before{opacity:.12}
.cx .bi-mast.hero-p.cx-dark::after{background:radial-gradient(90% 60% at 50% 16%,transparent 0%,rgba(6,6,10,.72) 62%,var(--obsidian) 100%),linear-gradient(180deg,rgba(6,6,10,.35),transparent 22%,transparent 46%,var(--obsidian))}
.cx .bi-mast h1{max-width:none;margin:0;text-align:center}
.cx .bi-mast h1>.eb{justify-content:center;margin:0 0 clamp(14px,1.8vw,24px)}
.cx .bi-mast h1>.eb::after{content:"";width:28px;height:1px;background:var(--ember)}
.cx .bi-mast .h1-t{font-style:italic;font-size:clamp(58px,15.4vw,228px);line-height:.86;letter-spacing:-.045em;padding:0 .04em .05em 0}
.cx .bi-mast .h1-t em{letter-spacing:-.05em}
.cx .bi-issue{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px 20px;margin:clamp(18px,2.2vw,30px) 0 0;padding-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-2)}
.cx .bi-issue::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 14%,var(--gold) 86%,transparent);opacity:.85}
.cx .bi-issue>span:last-child{text-align:right}
.cx .bi-dia{width:7px;height:7px;border:1px solid var(--gold);transform:rotate(45deg)}

/* the plate: a dark cloth-bound panel, a wash by section, a fine gold frame, one large numeral */
.cx .bi-plate{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:4/3;container-type:size;background:#0B0A0E;outline:1px solid rgba(224,164,90,.3);outline-offset:-12px;--w:rgba(239,234,226,.18);--w2:rgba(239,234,226,.05)}
.cx .bi-plate::before{content:"";position:absolute;inset:-4%;z-index:-2;background:radial-gradient(110% 85% at 88% 4%,var(--w),transparent 62%),linear-gradient(118deg,transparent 38%,rgba(239,234,226,.045) 48%,transparent 60%),radial-gradient(90% 80% at 4% 106%,var(--w2),transparent 66%),linear-gradient(165deg,#17161C 0%,#0B0A0E 52%,#060609 100%);transition:transform 1.8s var(--ease)}
.cx .bi-plate::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.024) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 -80px 120px -60px rgba(0,0,0,.7)}
.cx .bi-plate b{position:absolute;left:calc(12px + 7cqmin);top:calc(30px + 10cqmin);font-family:var(--serif);font-style:italic;font-weight:400;font-size:52cqmin;line-height:.8;letter-spacing:-.05em;color:rgba(239,234,226,.92);text-shadow:0 24px 70px rgba(0,0,0,.55);transition:transform 1.8s var(--ease)}
.cx .bi-pno,.cx .bi-psec{position:absolute;left:calc(12px + 7cqmin);font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,234,226,.62)}
.cx .bi-psec{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:0;text-transform:none;color:rgba(239,234,226,.72)}
.cx .bi-pno{top:calc(12px + 6cqmin)}
.cx .bi-psec{bottom:calc(12px + 6cqmin);right:calc(12px + 7cqmin);display:flex;align-items:center;gap:12px}
.cx .bi-psec::after{content:"";flex:1;height:1px;background:rgba(224,164,90,.34)}
.cx .bi-w-seo{--w:rgba(255,75,26,.5);--w2:rgba(255,75,26,.12)}
.cx .bi-w-ai{--w:rgba(142,166,204,.46);--w2:rgba(142,166,204,.1)}
.cx .bi-w-lseo{--w:rgba(72,158,128,.5);--w2:rgba(72,158,128,.11)}
.cx .bi-w-aim{--w:rgba(224,164,90,.5);--w2:rgba(224,164,90,.12)}
.cx .bi-w-more{--w:rgba(239,234,226,.26);--w2:rgba(239,234,226,.06)}
.cx .bi-story:hover .bi-plate::before{transform:scale(1.07)}
.cx .bi-story:hover .bi-plate b{transform:translateY(-2%)}
.cx .bi-nw{white-space:nowrap}

/* a story: the whole block opens the essay, the title carries the link */
.cx .bi-story{position:relative;text-align:left}
.cx .bi-story h2 a::after,.cx .bi-story h3 a::after,.cx .bi-row h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.cx .bi-story h2 a,.cx .bi-story h3 a,.cx .bi-row h3 a{background:linear-gradient(var(--ember),var(--ember)) 0 100%/0 1px no-repeat;transition:background-size .8s var(--ease)}
.cx .bi-story:hover h2 a,.cx .bi-story:hover h3 a,.cx .bi-row:hover h3 a{background-size:100% 1px}
.cx .bi-k{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .bi-k span+span::before{content:"";display:inline-block;width:16px;height:1px;margin-right:14px;background:currentColor;opacity:.45;vertical-align:.3em}
.cx .bi-k .bi-kl{color:var(--ember)}
.cx .bi-d{margin:0;color:var(--ash);font-size:15px;line-height:1.55;text-wrap:pretty}
.cx .bi-m{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}

/* the lead story */
.cx .bi-lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5.4vw,88px);align-items:center;margin-top:clamp(44px,5vw,72px)}
.cx .bi-lead .bi-plate{aspect-ratio:4/5}
.cx .bi-lead .bi-plate b{font-size:60cqmin}
.cx .bi-lt{display:grid;align-content:center;min-width:0}
.cx .bi-lead h2{margin:20px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.1vw,76px);line-height:.98;letter-spacing:-.03em;color:var(--bone);max-width:15ch;text-wrap:balance}
.cx .bi-lead .bi-d{margin-top:24px;max-width:44ch;font-size:clamp(17px,1.35vw,19.5px);line-height:1.55;color:var(--bone-2)}
.cx .bi-lf{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-top:32px;padding-top:16px;border-top:1px solid rgba(239,234,226,.14);max-width:620px}
.cx .bi-by{margin:0;font-size:14.5px;color:var(--bone)}
.cx .bi-go{margin:28px 0 0;display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:15px;color:var(--ember)}
.cx .bi-go svg{flex:0 0 auto;transition:transform .6s var(--ease)}
.cx .bi-lead:hover .bi-go svg{transform:translateX(5px)}

/* section heads on this page sit to the left, like a magazine */
.cx .bi-head .cx-eyebrow,.cx .bi-la .cx-eyebrow,.cx .bi-qa .cx-eyebrow,.cx .bi-qa+.sec .cx-eyebrow{justify-content:flex-start}
.cx .bi-head .t,.cx .bi-la .t,.cx .bi-qa .t,.cx .bi-qa+.sec .t{text-align:left}
.cx .bi-head .t{max-width:20ch}

/* the spread: one large, two medium, hairlines between */
.cx .bi-latest{padding-top:clamp(28px,3.4vw,48px);padding-bottom:clamp(44px,5vw,72px)}
.cx .bi-spread{--g:clamp(36px,4.4vw,64px);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);column-gap:var(--g);margin-top:clamp(30px,3.6vw,48px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.cx .bi-spread>.bi-story{display:grid;gap:24px;align-content:start}
.cx .bi-spread>.bi-story+.bi-story::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--g) / -2);width:1px;background:var(--line)}
.cx .bi-md .bi-plate{aspect-ratio:4/5}
.cx .bi-st{display:grid;gap:14px;align-content:start}
.cx .bi-st h3{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--bone);text-wrap:balance}
.cx .bi-lg h3{font-size:clamp(32px,3.2vw,46px);line-height:1}
.cx .bi-md h3{font-size:clamp(24px,2vw,29px);line-height:1.05}
.cx .bi-lg .bi-d{font-size:16.5px;color:var(--bone-2);max-width:52ch}

/* the index: section buttons, the count, every essay as a line */
.cx .bi-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:0 32px;margin-top:clamp(28px,3.4vw,44px);border-bottom:1px solid var(--line)}
.cx .bi-filters{display:flex;flex-wrap:wrap;gap:0 clamp(20px,2.6vw,36px)}
.cx .bi-filters button{position:relative;display:inline-flex;align-items:baseline;gap:8px;min-height:48px;padding:16px 0 15px;border:0;background:none;color:var(--ash);font:500 15px/1 var(--sans);letter-spacing:-.005em;cursor:pointer;transition:color .3s}
.cx.cx.cx .bi-filters button{min-height:48px}
.cx .bi-filters button span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;transition:color .3s}
.cx .bi-filters button:hover,.cx .bi-filters button[aria-pressed="true"]{color:var(--bone)}
.cx .bi-filters button[aria-pressed="true"] span{color:var(--ember)}
.cx .bi-filters button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.cx .bi-filters button[aria-pressed="true"]::after{transform:none}
.cx .bi-index{padding-top:clamp(28px,3.4vw,48px)}
.cx .bi-count{margin:0;padding:16px 0 15px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .bi-rows{display:grid}
.cx .bi-row{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 190px;gap:0 clamp(20px,3.4vw,56px);align-items:baseline;padding:clamp(24px,2.4vw,32px) 0;border-bottom:1px solid var(--line);transition:background .6s}
.cx .bi-row[hidden]{display:none}
.cx .bi-row:hover{background:linear-gradient(90deg,rgba(239,234,226,.025),transparent 70%)}
.cx .bi-no{margin:0;font-family:var(--serif);font-style:italic;font-size:28px;line-height:1;letter-spacing:-.02em;color:var(--ash);white-space:nowrap;transition:color .5s}
.cx .bi-no span{margin-right:6px;font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;vertical-align:.55em}
.cx .bi-row:hover .bi-no{color:var(--ember)}
.cx .bi-rt{min-width:0}
.cx .bi-rt h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.1vw,30px);line-height:1.08;letter-spacing:-.02em;color:var(--bone);text-wrap:balance}
.cx .bi-rt p{margin:10px 0 0;max-width:70ch;font-size:15px;line-height:1.55;color:var(--ash);text-wrap:pretty}
.cx .bi-rm{margin:0;display:grid;gap:7px;justify-items:end;text-align:right;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.cx .bi-rm .bi-rs{color:var(--bone-2)}
.cx .bi-rm .bi-ser{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:0;text-transform:none;color:var(--bone-2)}
.cx .bi-more{display:flex;justify-content:center;margin-top:clamp(30px,3.4vw,44px)}
.cx .bi-more .pill[hidden]{display:none}
.cx .bi-rows.bi-in .bi-row:not([hidden]){animation:biIn .8s var(--ease) both}
@keyframes biIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* from the editors: the letter in two printed columns, the four essays to start with beside it */
.cx .bi-letter{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}
.cx .bi-lg2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,6vw,104px);align-items:start;}
.cx .bi-la .t{max-width:15ch}
.cx .bi-prose{margin-top:clamp(28px,3.2vw,44px);columns:2 280px;column-gap:44px;column-rule:1px solid var(--line);font-size:16px;line-height:1.72;color:var(--ink2)}
.cx .bi-prose p{margin:0 0 1.1em}
.cx .bi-prose p:first-child::first-letter{float:left;margin:.1em .12em 0 0;font-family:var(--serif);font-size:4.4em;line-height:.74;color:var(--ember)}
.cx .bi-start{position:sticky;top:100px;padding-top:4px}
.cx .bi-start h3{margin:0;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.cx .bi-start h3::before{content:"";width:28px;height:1px;background:var(--gold)}
.cx .bi-start>p{margin:12px 0 0;font-size:14.5px;color:var(--ink2)}
.cx .bi-start ol{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.cx .bi-start li a{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line);transition:padding .6s var(--ease)}
.cx .bi-start li a:hover{padding-left:8px}
.cx .bi-start .bi-sn{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ember)}
.cx .bi-start b{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.1;letter-spacing:-.015em;color:var(--ink);transition:color .4s}
.cx .bi-start li a:hover b{color:var(--ember)}
.cx .bi-start .bi-sm{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}

/* questions: the heading on the left, the answers on the right */
.cx .bi-qa{padding-top:clamp(40px,5vw,72px)}
.cx .bi-qa .in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;column-gap:clamp(32px,6vw,104px);align-items:start;padding-top:clamp(36px,4vw,56px);border-top:1px solid var(--line)}
.cx .bi-qa .cx-eyebrow{grid-column:1}
.cx .bi-qa .t{grid-column:1;max-width:12ch}
.cx .bi-qa .faq{grid-column:2;grid-row:1/span 2;margin:0;max-width:none}

/* related: hairlines and space, never boxes */
.cx .bi-qa+.sec{padding-top:clamp(40px,5vw,72px)}
.cx .bi-qa+.sec .related{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin-top:clamp(30px,3.4vw,44px);border-top:1px solid var(--line)}
.cx .bi-qa+.sec .rel{gap:8px;align-content:start;padding:24px 24px 28px;background:none;border:0;border-radius:0;border-right:1px solid var(--line)}
.cx .bi-qa+.sec .rel:last-child{border-right:0}
.cx .bi-qa+.sec .rel:hover{transform:none;background:linear-gradient(180deg,rgba(239,234,226,.03),transparent)}
.cx .bi-qa+.sec .rel b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.08;letter-spacing:-.015em}
.cx .bi-qa+.sec .rel span{font-size:14px;line-height:1.5}

/* the closing block: the next issue */
.cx .bi-sub.close{min-height:0;gap:20px;padding-top:clamp(84px,10vw,140px);padding-bottom:clamp(96px,11vw,156px);background:radial-gradient(60% 60% at 50% 104%,rgba(255,75,26,.12),transparent 70%),var(--obsidian)}
.cx.cx.cx .bi-sub.close{min-height:0}
.cx .bi-rule{display:block;width:min(440px,64%);height:1px;margin-bottom:6px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.cx .bi-sub h2{font-size:clamp(50px,7.6vw,116px)}
.cx .bi-sub>p{max-width:44ch}
.cx .bi-sub .form.cx-inline{width:min(580px,100%);margin:12px 0 0;padding:0;gap:12px;background:none;border:0;border-radius:0;box-shadow:none}
.cx .bi-sub .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cx .bi-sub .errline{justify-content:center;max-width:none;font-size:13.5px;color:var(--err)}
.cx .bi-sub .success{width:min(580px,100%);margin-top:12px;padding:0;justify-items:center;text-align:center;background:none;border:0;box-shadow:none}

/* tablets */
@media (max-width:1000px){
  .cx .bi-spread{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:40px}
  .cx .bi-spread>.bi-lg{grid-column:1/-1;padding-bottom:40px;border-bottom:1px solid var(--line)}
  .cx .bi-spread>.bi-lg .bi-plate{aspect-ratio:16/9}
  .cx .bi-spread>.bi-md:nth-child(2)::before{display:none}
  .cx .bi-md .bi-plate{aspect-ratio:4/3}
  .cx .bi-row{grid-template-columns:72px minmax(0,1fr) 150px}
  .cx .bi-lg2,.cx .bi-qa .in{grid-template-columns:minmax(0,1fr)}
  .cx .bi-start{position:static;margin-top:8px}
  .cx .bi-qa .faq{grid-column:1;grid-row:auto;margin-top:36px}
  .cx .bi-qa .t{max-width:none}
}
@media (max-width:1100px){
  .cx .bi-bar{display:block;border-bottom:0}
  .cx .bi-filters{border-bottom:1px solid var(--line)}
  .cx .bi-count{padding:14px 0 6px}
}
@media (max-width:700px){
  .cx .bi-lead{grid-template-columns:minmax(0,1fr);gap:30px}
  .cx .bi-lead h2{max-width:18ch}
}
/* phones */
@media (max-width:640px){
  .cx .bi-mast .h1-t{font-size:clamp(60px,25vw,112px);line-height:.86}
  .cx .bi-issue{grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px;text-align:center;letter-spacing:.16em}
  .cx .bi-issue>span:last-child{text-align:center}
  .cx .bi-lead .bi-plate{aspect-ratio:4/3}
  .cx .bi-lead h2{font-size:clamp(36px,10.4vw,48px)}
  .cx .bi-lf{flex-direction:column;gap:10px}
  .cx .bi-spread{grid-template-columns:minmax(0,1fr);row-gap:0}
  .cx .bi-spread>.bi-story{padding:0 0 36px}
  .cx .bi-spread>.bi-story+.bi-story{padding-top:32px;border-top:1px solid var(--line)}
  .cx .bi-spread>.bi-story+.bi-story::before{display:none}
  .cx .bi-spread>.bi-lg{border-bottom:0}
  .cx .bi-spread>.bi-story:last-child{padding-bottom:0}
  .cx .bi-filters{gap:0 22px}
  .cx .bi-row{grid-template-columns:minmax(0,1fr);gap:0;padding:24px 0}
  .cx .bi-no{font-size:22px;margin-bottom:10px}
  .cx .bi-rm{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 14px;margin-top:14px;text-align:left}
  .cx .bi-prose{columns:1}
  .cx .bi-qa+.sec .related{grid-template-columns:minmax(0,1fr)}
  .cx .bi-qa+.sec .rel{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .cx .bi-sub .field .row2{grid-template-columns:minmax(0,1fr)}
}

/* motion: slow and quiet, and none at all when asked */
.cx .bi-lead .bi-plate::before{animation:biDrift 24s ease-in-out infinite alternate}
@keyframes biDrift{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.1) translate(-3%,2%)}}
@media (prefers-reduced-motion:reduce){
  .cx .bi-lead .bi-plate::before,.cx .bi-rows.bi-in .bi-row:not([hidden]){animation:none}
  .cx .bi-plate::before,.cx .bi-plate b,.cx .bi-story h2 a,.cx .bi-story h3 a,.cx .bi-row h3 a,.cx .bi-filters button::after,.cx .bi-start li a{transition:none}
}
/* with scripts off: everything shows, the buttons that need a script step aside */
@media (scripting:none){
  .cx .bi-mast .r,.cx .bi-latest .r,.cx .bi-index .r,.cx .bi-letter .r,.cx .bi-qa .r,.cx .bi-qa+.sec .r,.cx .bi-sub .r,.cx .bi-sub.r{opacity:1;transform:none}
  .cx .bi-filters{display:none}
}

/* the post's photograph fills the plate; the gold frame and a soft shade stay on top */
.cx .bi-plate.bi-photo{background:#0B0A0E}
.cx .bi-plate.bi-photo::before{content:none;animation:none}
.cx .bi-plate.bi-photo img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.03);transition:transform 1.8s var(--ease)}
.cx .bi-plate.bi-photo::after{background:linear-gradient(180deg,rgba(6,6,10,.10) 0%,rgba(6,6,10,0) 35%,rgba(6,6,10,.42) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.cx .bi-story:hover .bi-plate.bi-photo img{transform:scale(1.045)}
@media (prefers-reduced-motion:reduce){.cx .bi-plate.bi-photo img{transition:none}}
/* templates:end */
/* logos:start */
/* client logo strip under the homepage hero: one row drifting sideways without end on the cream ground, each logo in
   its own colors inside a box of the same size; paused under the pointer or while the row has keyboard focus; a still,
   centered grid when reduced motion is asked for. The list is in the markup twice; the second copy is hidden from
   assistive technology and exists only so the loop has no seam (the track moves by exactly one copy). */
.cx .sec.trust{padding-top:0;padding-bottom:0}
/* every vertical measure is a whole pixel at every width, so the sections below keep their pixel grid */
.cx .trust .in{--cw:176px;--ch:56px;--gap:56px;--rg:24px;--eb:26px;--fade:clamp(36px,9vw,128px);--dur:84s;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0 40px}
.cx .trust-eb{position:relative;z-index:2;margin:0 0 var(--eb);display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:11px;line-height:16px;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--ink2)}
.cx .trust-eb::before,.cx .trust-eb::after{content:"";flex:none;width:28px;height:1px;background:var(--ember)}
.cx .trust-view{position:relative}
/* with keyboard focus the row (paused) comes above the fades, so its focus ring is whole */
.cx .trust-view:focus-visible{z-index:2;outline-offset:6px}
/* The fades are cream veils, not a mask: a mask would clip the logos a second time, and the browser would then wait
   to fetch each lazy logo until it is already sliding into view. The veils run the full height between the two
   hairlines, so their top and bottom edges sit on the rules and never show against the open cream. */
.cx .trust .in::before,.cx .trust .in::after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:var(--fade);pointer-events:none}
.cx .trust .in::before{left:0;background:linear-gradient(90deg,var(--cream),transparent)}
.cx .trust .in::after{right:0;background:linear-gradient(270deg,var(--cream),transparent)}
.cx .trust-mask{overflow:hidden}
/* the row starts one fade width in, so the first logo is clear of the veil; the loop still moves by exactly one copy */
.cx .trust-track{display:flex;width:max-content;margin-left:var(--fade);animation:trustRun var(--dur) linear infinite}
.cx .trust-set{display:flex;flex:none;margin:0;padding:0;list-style:none}
.cx .trust-cell{flex:none;display:flex;align-items:center;justify-content:center;width:var(--cw);height:var(--ch);margin:0 var(--gap) 0 0;padding:0}
.cx .trust-cell img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
@media (hover:hover){.cx .trust-view:hover .trust-track{animation-play-state:paused}}
.cx .trust-view:focus-within .trust-track{animation-play-state:paused}
@keyframes trustRun{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:900px){.cx .trust .in{--cw:150px;--ch:50px;--gap:44px;--rg:20px;--eb:22px;--dur:76s;padding:30px 0 34px}}
@media (max-width:560px){.cx .trust .in{--cw:124px;--ch:44px;--gap:32px;--rg:16px;--eb:18px;--dur:68s;padding:26px 0 28px}}
/* the narrowest phones: shorter rules beside the label, so it stays on one line */
@media (max-width:380px){.cx .trust-eb{gap:10px}.cx .trust-eb::before,.cx .trust-eb::after{width:16px}}
@media (prefers-reduced-motion:reduce){
  .cx .trust-mask{overflow:visible}
  .cx .trust .in::before,.cx .trust .in::after{display:none}
  .cx .trust-track{display:block;width:auto;margin-left:0;animation:none}
  .cx .trust-set{flex-wrap:wrap;justify-content:center;gap:var(--rg) var(--gap)}
  .cx .trust-set[aria-hidden]{display:none}
  .cx .trust-cell{margin:0}
}
@media (prefers-reduced-motion:reduce) and (max-width:560px){.cx .trust .in{--cw:100px;--ch:40px;--gap:22px}}
/* thank you card of the forms: a name that is one very long word wraps inside the card */
.cx .success h3,.cx .success em{overflow-wrap:anywhere}
/* logos:end */

/* 2026-09-30 hand edits (carry into compose.cjs before the composer runs again).
   1. The "soon" chips on the software pages share a class name with the crew teaser block,
      so they inherited its height and shadow. The chip wins here.
   2. The crew teaser: less fog, more figure. Still blurred, but the characters read as characters. */
.cx.cx.cx .chips2 span.soon{display:inline-block;min-height:0;margin-top:0;position:static}
.cx .chips2 span.soon::after{content:none}
.cx.cx.cx .crew.cx-blur{filter:blur(3.8px) saturate(1.3) contrast(1.08)}
.cx.cx.cx .crew.small.cx-blur .ch svg{max-width:170px;overflow:visible;filter:drop-shadow(0 14px 26px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(255,255,255,.10))}
.cx .crew.cx-blur .ch svg .brow,.cx .crew.cx-blur .ch svg .mouth{stroke-width:5}
.cx .crew.cx-blur .ch svg .eyeball{rx:11;ry:12}
.cx .crew.cx-blur .ch svg .pup{r:5.5}
.cx .crew.cx-blur .ch svg .lid{display:none}
.cx .crew.cx-blur .ch svg path[stroke="#0A0A0B"],.cx .crew.cx-blur .ch svg path[stroke="#EFEAE2"]{stroke-width:7}
/* 3. The menus: an invisible bridge between the button and its panel, so the pointer can travel
      down into the panel without the menu closing on the way. */
.cx .sn-list>li.has.open::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.cx li.open>.dd::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}

/* 2026-09-30 hand edits, continued (carry into compose.cjs before the composer runs again).
   4. "Inside the product" on the six software pages. Each product now speaks in its own shape instead of the
      shared 2 by 2 bento: .isp-map (local SEO: rank grid map and a column of readings), .isp-thread (conversations:
      a phone thread flanked by two figures), .isp-inbox (email and SMS: sent list, open message, delivery meter),
      .isp-rep (reputation: rating band, review with its drafted reply, two figures), .isp-ledger (ad systems lab:
      nightly ledger, proposal, hour strip), .isp-week (social: seven day calendar, proof card, reach bars).
      CSS only: reuses the .r reveals, the data-grid and data-cmp helpers and the .msg bubbles of composed.js.
      Animations wait for .in-view and are skipped for reduced motion and html.nojs. Text is never below 12px,
      and every layout is one column below 720px. */
.cx .isp{margin-top:clamp(36px,4vw,52px);color:var(--ink);text-align:left}
.cx .isp p{margin:0}
.cx .isp-pan{background:var(--surf);border:1px solid var(--line);border-radius:22px;min-width:0}
.cx .isp-lbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);line-height:1.45}
.cx .isp-acts{display:flex;gap:8px;flex-wrap:wrap}
.cx .isp-acts span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:9px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink)}
.cx .isp-acts span.y{background:var(--ember);border-color:var(--ember);color:var(--obsidian)}
.cx .isp-vs{display:grid;gap:9px}
.cx .isp-vs>div{display:grid;grid-template-columns:minmax(86px,auto) 1fr 52px;gap:12px;align-items:center;font-size:13px;color:var(--ink2)}
.cx .isp-vs em{display:block;height:8px;border-radius:4px;background:var(--surf2);overflow:hidden}
.cx .isp-vs em i{display:block;height:100%;width:var(--w);border-radius:4px;background:rgba(239,234,226,.4);transform-origin:left;transition:transform 1.1s var(--ease) .25s}
.cx .isp-vs .us em i{background:var(--ember)}
.cx .isp-vs b{font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}

/* local SEO: the map is the hero */
.cx .isp-map{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:clamp(20px,3.2vw,44px);align-items:stretch}
.cx .isp-geo{padding:clamp(18px,2.4vw,28px);display:grid;gap:18px}
.cx .isp-geo-h{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 18px;flex-wrap:wrap}
.cx .isp-geo-h b{display:block;margin-top:4px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.1;letter-spacing:-.01em}
.cx .isp-terrain{position:relative;border-radius:16px;border:1px solid var(--line);padding:clamp(14px,3vw,36px);overflow:hidden;background:
  linear-gradient(28deg,transparent 46.6%,rgba(239,234,226,.10) 46.8%,rgba(239,234,226,.10) 48.2%,transparent 48.4%),
  linear-gradient(-58deg,transparent 63%,rgba(239,234,226,.07) 63.2%,rgba(239,234,226,.07) 64%,transparent 64.2%),
  radial-gradient(38% 30% at 16% 84%,rgba(185,198,216,.10),transparent 70%),
  radial-gradient(30% 26% at 86% 14%,rgba(47,163,107,.08),transparent 70%),
  linear-gradient(90deg,rgba(239,234,226,.045) 1px,transparent 1px) 0 0/38px 38px,
  linear-gradient(rgba(239,234,226,.045) 1px,transparent 1px) 0 0/38px 38px,#0B0B10}
.cx .grid7.isp-g{max-width:540px;gap:clamp(6px,1.2vw,14px);margin:0 auto;position:relative}
.cx .grid7.isp-g i{border-radius:50%;aspect-ratio:1;font-size:clamp(12px,1.15vw,15px);font-weight:600;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.cx .grid7.isp-g i:nth-child(25){box-shadow:0 0 0 3px #0B0B10,0 0 0 5px var(--bone),0 0 30px rgba(69,208,140,.45)}
.cx .isp-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;color:var(--ink2)}
.cx .isp-legend span{display:inline-flex;align-items:center;gap:8px}
.cx .isp-legend i{width:12px;height:12px;border-radius:50%;flex:0 0 12px}
.cx .isp-legend b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.cx .isp-legend .k0{background:transparent;box-shadow:inset 0 0 0 2px var(--bone)}
.cx .isp-legend .k1{background:#45D08C}.cx .isp-legend .k2{background:#F4D35E}.cx .isp-legend .k3{background:#EE8434}.cx .isp-legend .k4{background:#B92D2A}
.cx .isp-reads{display:grid;align-content:space-between;min-width:0}
.cx .isp-rd{display:grid;gap:12px;padding:24px 0;border-top:1px solid var(--line)}
.cx .isp-rd:first-child{border-top:0;padding-top:6px}.cx .isp-rd:last-child{padding-bottom:6px}
.cx .isp-num{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap}
.cx .isp-num b{font-weight:600;font-size:clamp(40px,4vw,56px);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.cx .isp-num span{font-size:14px;color:var(--ink2)}
.cx .isp-rd>p{font-size:14px;line-height:1.5;color:var(--ink2)}
.cx .isp-ladder{display:flex;align-items:flex-end;gap:4px;height:132px;padding-top:22px}
.cx .isp-ladder i{flex:1;position:relative;height:calc((17 - var(--r)) / 16 * 100%);border-radius:4px 4px 1px 1px;background:rgba(239,234,226,.17);transform-origin:bottom;transition:transform .8s var(--ease) calc(var(--n) * 55ms)}
.cx .isp-ladder i::before{content:attr(data-r);position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding-bottom:4px;font-family:var(--mono);font-style:normal;font-size:12px;color:var(--ink2)}
.cx .isp-ladder i.dip{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ember)}
.cx .isp-ladder i:last-child{background:var(--ember)}.cx .isp-ladder i:last-child::before{color:var(--ink);font-weight:600}
.cx .isp-lx{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-top:-4px;font-family:var(--mono);font-size:12px;color:var(--ink2);white-space:nowrap}
.cx .isp-lx span:nth-child(1){grid-column:1}.cx .isp-lx span:nth-child(2){grid-column:6;justify-self:center;color:var(--ember)}.cx .isp-lx span:nth-child(3){grid-column:12;justify-self:end}
.cx .isp-ticks{display:grid;grid-template-columns:repeat(30,1fr);gap:3px}
.cx .isp-ticks i{height:15px;border-radius:2px;background:#45D08C;opacity:.9;transition:opacity .4s var(--ease) calc(var(--n,0) * 12ms)}
.cx .isp-ticks i.fix{background:var(--ember);opacity:1}

/* conversations: the thread is the shape */
.cx .isp-thread{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,368px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.cx .isp-fl{display:grid;gap:16px;align-content:center;min-width:0}
.cx .isp-big{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(76px,8vw,116px);line-height:.86;letter-spacing:-.02em;color:var(--ember)}
.cx .isp-big span{font-size:.3em;color:var(--ink);margin-left:6px;letter-spacing:0}
.cx .isp-fl>p{font-size:15px;line-height:1.55;color:var(--ink2);max-width:34ch}
.cx .isp-race{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px}
.cx .isp-race li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14px;color:var(--ink2)}
.cx .isp-race li b{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink)}
.cx .isp-race li i{grid-column:1/-1;display:block;height:6px;border-radius:3px;background:var(--surf2);position:relative;overflow:hidden}
.cx .isp-race li i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:max(7px,var(--w));border-radius:3px;background:rgba(239,234,226,.38);transform-origin:left;transition:transform 1.2s var(--ease) calc(var(--n) * 160ms + .2s)}
.cx .isp-race li.us{color:var(--ink)}.cx .isp-race li.us i::after{background:var(--ember)}
.cx .isp-phone{position:relative;border-radius:48px;padding:11px;background:linear-gradient(155deg,#34323a,#0e0d12 38%,#1d1c22 100%);box-shadow:0 0 0 1px rgba(239,234,226,.16),0 40px 90px rgba(0,0,0,.6),0 0 140px rgba(255,75,26,.10)}
.cx .isp-scr{border-radius:38px;background:#09090D;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr auto;min-height:620px}
.cx .isp-sb{display:flex;justify-content:space-between;align-items:center;padding:13px 28px 4px;font-size:13px;font-weight:600}
.cx .isp-sb i{width:96px;height:28px;border-radius:15px;background:#000}
.cx .isp-sb span:last-child{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink2)}
.cx .isp-who{display:flex;align-items:center;gap:11px;padding:12px 18px 13px;border-bottom:1px solid var(--line)}
.cx .isp-who i{width:36px;height:36px;border-radius:50%;flex:0 0 36px;background:radial-gradient(circle at 35% 35%,#ffb08a,var(--ember) 55%,#9E2A0B)}
.cx .isp-who b{display:block;font-size:15px;font-weight:600;line-height:1.2}.cx .isp-who small{display:block;font-size:12px;color:var(--ink2)}
.cx .isp-msgs{display:grid;gap:8px;padding:16px 14px 12px;align-content:start}
.cx .isp-msgs>*{transition:opacity .5s var(--ease) calc(var(--n) * .42s + .2s),transform .6s var(--ease) calc(var(--n) * .42s + .2s)}
.cx .isp-msgs .msg{font-size:14px;max-width:86%}
.cx .isp-day{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink2);margin:0 0 4px}
.cx .isp-rc{font-family:var(--mono);font-size:12px;color:var(--ember);text-align:right;margin-top:-3px}
.cx .isp-ho{display:flex;gap:9px;align-items:center;justify-self:center;font-size:12px;line-height:1.35;color:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:8px 13px;margin-top:6px}
.cx .isp-ho i{width:8px;height:8px;border-radius:50%;background:#45D08C;flex:0 0 8px}
.cx .isp-inp{display:flex;justify-content:space-between;align-items:center;margin:0 12px 16px;border:1px solid var(--line);border-radius:999px;padding:10px 12px 10px 16px;font-size:13px;color:var(--ink2)}
.cx .isp-inp i{width:26px;height:26px;border-radius:50%;background:var(--ember)}
.cx .isp-dots{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;max-width:280px}
.cx .isp-dots i{aspect-ratio:1;border-radius:50%;background:rgba(239,234,226,.16);transition:background .5s var(--ease) calc(var(--n,0) * 40ms + .3s)}
.cx .isp-dots i.n{background:var(--ember)}
.cx .isp-key{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--ink2)}
.cx .isp-key span{display:inline-flex;align-items:center;gap:8px}
.cx .isp-key i{width:10px;height:10px;border-radius:50%;background:rgba(239,234,226,.3);flex:0 0 10px}
.cx .isp-key i.e{background:var(--ember)}

/* email and SMS: an inbox */
.cx .isp-inbox{overflow:hidden}
.cx .isp-tb{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line)}
.cx .isp-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surf2)}
.cx .isp-tabs span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:999px;color:var(--ink2)}
.cx .isp-tabs span.on{background:var(--bone);color:var(--obsidian)}
.cx .isp-ib{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.cx .isp-list{list-style:none;margin:0;padding:10px;display:grid;gap:2px;align-content:start;border-right:1px solid var(--line)}
.cx .isp-list li{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:14px 14px 13px;border-radius:14px;transition:opacity .5s var(--ease) calc(var(--n) * 70ms),transform .6s var(--ease) calc(var(--n) * 70ms)}
.cx .isp-list li.on{background:var(--surf2);box-shadow:inset 3px 0 0 var(--ember)}
.cx .isp-list li>b{font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.01em;min-width:0}
.cx .isp-list li>time{font-family:var(--mono);font-size:12px;color:var(--ink2);white-space:nowrap;padding-top:2px}
.cx .isp-list li>div{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:13px;color:var(--ink2)}
.cx .isp-ch{min-width:62px;text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:6px;border:1px solid var(--line)}
.cx .isp-ch.tx{color:var(--gold);border-color:rgba(224,164,90,.4)}
.cx .isp-list li em{display:block;height:4px;border-radius:2px;background:var(--surf2);overflow:hidden}
.cx .isp-list li em i{display:block;height:100%;width:var(--w);background:rgba(239,234,226,.35);border-radius:2px}
.cx .isp-list li.on em i{background:var(--ember)}
.cx .isp-list li span:last-child{font-variant-numeric:tabular-nums;color:var(--ink)}
.cx .isp-pv{padding:clamp(20px,2.6vw,32px);display:grid;gap:18px;align-content:start;min-width:0}
.cx .isp-pv h3{margin:0;font-weight:600;font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.025em}
.cx .isp-from{display:flex;gap:12px;align-items:center}
.cx .isp-from i{width:38px;height:38px;border-radius:50%;flex:0 0 38px;display:grid;place-items:center;background:var(--gold);color:var(--obsidian);font-style:normal;font-weight:600;font-size:15px}
.cx .isp-from b{display:block;font-size:14px;font-weight:600}.cx .isp-from small{display:block;font-size:12px;color:var(--ink2)}
.cx .isp-mail{background:var(--cream);color:var(--char);border-radius:14px;padding:clamp(18px,2.2vw,26px);font-size:15px;line-height:1.6;display:grid;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.cx .isp-mail .btn{justify-self:start;background:var(--char);color:var(--cream);font-weight:600;font-size:14px;padding:11px 20px;border-radius:999px}
.cx .isp-meter{display:grid;gap:12px}
.cx .isp-mt{position:relative;height:14px;border-radius:7px;background:var(--surf2);overflow:hidden}
.cx .isp-mt i{position:absolute;left:0;top:0;bottom:0;width:max(8px,var(--w));border-radius:7px;transform-origin:left;transition:transform 1.2s var(--ease) calc(var(--n) * 220ms + .2s)}
.cx .isp-mt i.d,.cx .isp-mk i.d{background:rgba(239,234,226,.22)}.cx .isp-mt i.o,.cx .isp-mk i.o{background:rgba(239,234,226,.6)}.cx .isp-mt i.p,.cx .isp-mk i.p{background:var(--ember)}
.cx .isp-mk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cx .isp-mk>div{display:grid;gap:3px;font-size:13px;color:var(--ink2)}
.cx .isp-mk>div>span{display:flex;align-items:center;gap:7px}
.cx .isp-mk i{width:10px;height:10px;border-radius:3px;flex:0 0 10px}
.cx .isp-mk b{font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}

/* reputation: rating band, a review with its reply, two figures */
.cx .isp-rep{display:grid;gap:clamp(16px,2vw,24px)}
.cx .isp-band{padding:clamp(20px,2.6vw,32px);display:grid;gap:18px}
.cx .isp-bh{display:flex;justify-content:space-between;align-items:flex-end;gap:14px 24px;flex-wrap:wrap}
.cx .isp-score{display:flex;align-items:center;gap:18px}
.cx .isp-score>b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(76px,8vw,116px);line-height:.82;letter-spacing:-.02em;color:var(--ember)}
.cx .isp-score small{display:block;margin-top:8px;font-size:14px;color:var(--ink2)}
.cx .isp-stars{position:relative;display:inline-block;font-size:24px;line-height:1;letter-spacing:3px;color:rgba(239,234,226,.16);white-space:nowrap}
.cx .isp-stars::after{content:"\2605\2605\2605\2605\2605";position:absolute;left:0;top:0;width:var(--s);overflow:hidden;color:var(--gold)}
.cx .isp-plot{position:relative;height:clamp(170px,19vw,230px);margin-left:36px;transition:clip-path 1.8s var(--ease) .15s;clip-path:inset(-24px -24px -24px -48px)}
.cx .isp-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cx .isp-plot .gl{stroke:rgba(239,234,226,.1);stroke-width:1;vector-effect:non-scaling-stroke}
.cx .isp-plot .ln{fill:none;stroke:var(--ember);stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cx .isp-yl{position:absolute;left:-36px;transform:translateY(-50%);font-family:var(--mono);font-size:12px;color:var(--ink2)}
.cx .isp-pt{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--obsidian);border:2px solid var(--ember)}
.cx .isp-pt.end{width:16px;height:16px;margin:-8px 0 0 -8px;background:var(--ember);border-color:var(--bone)}
.cx .isp-pt.end::after{content:attr(data-v);position:absolute;right:14px;bottom:14px;font-style:normal;font-weight:600;font-size:14px;color:var(--ink)}
.cx .isp-xl{position:relative;height:18px;margin:6px 0 0 36px}
.cx .isp-xl span{position:absolute;top:0;transform:translateX(-50%);font-family:var(--mono);font-size:12px;color:var(--ink2);white-space:nowrap}
.cx .isp-rep2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:start}
.cx .isp-rv{padding:clamp(20px,2.4vw,28px);display:grid;gap:14px}
.cx .isp-rvh{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cx .isp-av{width:42px;height:42px;border-radius:50%;flex:0 0 42px;display:grid;place-items:center;background:var(--steel);color:var(--obsidian);font-style:normal;font-weight:600;font-size:15px}
.cx .isp-rvh b{display:block;font-size:15px;font-weight:600}.cx .isp-rvh small{display:block;font-size:12px;color:var(--ink2)}
.cx .isp-rvh .isp-stars{margin-left:auto;font-size:18px}
.cx .isp-rv>p{font-size:16px;line-height:1.55}
.cx .isp-reply{margin-left:clamp(12px,3vw,40px);padding:16px 18px;border-left:2px solid var(--ember);background:rgba(255,75,26,.06);border-radius:0 14px 14px 0;display:grid;gap:12px}
.cx .isp-reply p{font-size:15px;line-height:1.55;color:var(--bone-2)}
.cx .isp-figs{display:grid;min-width:0}
.cx .isp-f{display:grid;gap:10px;padding:4px 0 26px}
.cx .isp-f+.isp-f{border-top:1px solid var(--line);padding:26px 0 4px}
.cx .isp-f .isp-num b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(64px,6.4vw,92px);line-height:.85;letter-spacing:-.02em}
.cx .isp-f>p{font-size:14px;color:var(--ink2)}
.cx .isp-mb{display:flex;align-items:flex-end;gap:8px;height:58px;max-width:340px}
.cx .isp-mb i{flex:1;height:calc(var(--v) / 14 * 100%);border-radius:3px 3px 1px 1px;background:rgba(239,234,226,.2);transform-origin:bottom;transition:transform .8s var(--ease) calc(var(--n) * 70ms + .2s)}
.cx .isp-mb i:last-child{background:var(--ember)}
.cx .isp-mbx{max-width:340px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--ink2)}

/* ad systems lab: the nightly ledger */
.cx .isp-ledger{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:clamp(16px,2vw,24px)}
.cx .isp-lg{padding:clamp(18px,2.4vw,28px);display:grid;gap:14px;align-content:start}
.cx .isp-lgh{display:flex;justify-content:space-between;align-items:flex-end;gap:8px 16px;flex-wrap:wrap}
.cx .isp-lgh b{display:block;margin-top:4px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.1}
.cx .isp-tbl{display:grid;font-variant-numeric:tabular-nums}
.cx .isp-tr{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.15fr) minmax(0,2fr);gap:14px;align-items:baseline;padding:13px 0;border-top:1px dashed rgba(239,234,226,.16);font-size:14px;transition:opacity .5s var(--ease) calc(var(--n) * 90ms + .1s),transform .6s var(--ease) calc(var(--n) * 90ms + .1s)}
.cx .isp-tr.th{border-top:0;padding-top:4px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.cx .isp-tr>b{font-weight:600}
.cx .isp-tr .m{font-family:var(--mono);font-size:13px}
.cx .isp-tr .m small{font-size:12px;color:var(--ink2);margin-left:4px}
.cx .isp-tr .dn{color:#45D08C}.cx .isp-tr .up{color:var(--ember)}
.cx .isp-tr .nt{font-size:13px;line-height:1.45;color:var(--ink2)}
.cx .isp-tr.tt{border-top:1px solid var(--line);font-weight:600}.cx .isp-tr.tt .nt{color:var(--ink)}
.cx .isp-prop{padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:14px;border-radius:22px;border:1px solid rgba(255,75,26,.38);background:linear-gradient(180deg,rgba(255,75,26,.11),rgba(255,75,26,.02) 62%),var(--surf);min-width:0}
.cx .isp-prop h3{margin:0;font-weight:600;font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:-.02em}
.cx .isp-prop>p{font-size:15px;line-height:1.55;color:var(--bone-2)}
.cx .isp-prop .isp-acts{margin-top:auto;padding-top:6px}
.cx .isp-prop .isp-vs{margin-top:-4px}.cx .isp-prop .isp-vs>div{grid-template-columns:78px 1fr 66px}
.cx .isp-prop .isp-vs>div:not(.us) em i{background:rgba(239,234,226,.55)}.cx .isp-prop .isp-vs>div:not(.us) b{color:var(--ember)}
.cx .isp-prop dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:14px;border-top:1px solid var(--line);padding-top:14px}
.cx .isp-prop dt{color:var(--ink2)}.cx .isp-prop dd{margin:0;text-align:right;font-weight:600}
.cx .isp-wait{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.cx .isp-wait i{width:8px;height:8px;border-radius:50%;background:var(--ember);animation:ispPulse 1.8s var(--ease) infinite}
@keyframes ispPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,75,26,.5)}60%{box-shadow:0 0 0 7px rgba(255,75,26,0)}}
.cx .isp-hours{grid-column:1/-1;padding:clamp(18px,2.4vw,28px);display:grid;gap:14px}
.cx .isp-hh{display:flex;justify-content:space-between;align-items:center;gap:10px 18px;flex-wrap:wrap}
.cx .isp-hk{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--ink2)}
.cx .isp-hk span{display:inline-flex;align-items:center;gap:8px}
.cx .isp-hk i{width:12px;height:12px;border-radius:3px;flex:0 0 12px;background:rgba(239,234,226,.3)}
.cx .isp-hk i.b{background:rgba(239,234,226,.7)}.cx .isp-hk i.c{background:repeating-linear-gradient(135deg,rgba(255,75,26,.5) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--ember)}
.cx .isp-strip{display:flex;align-items:flex-end;gap:clamp(2px,.45vw,6px);height:130px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,75,26,.06) 0 25%,transparent 25% 87.5%,rgba(255,75,26,.06) 87.5%)}
.cx .isp-strip i{flex:1;position:relative;height:100%}
.cx .isp-strip i::before,.cx .isp-strip i::after{content:"";position:absolute;left:0;right:0;bottom:0;border-radius:4px 4px 0 0}
.cx .isp-strip i::after{height:calc(var(--a) * 1%);background:rgba(239,234,226,.3);transform-origin:bottom;transition:transform .7s var(--ease) calc(var(--n) * 30ms + .2s)}
.cx .isp-strip i.b::after{background:rgba(239,234,226,.7)}
.cx .isp-strip i.c::before{height:calc(var(--p) * 1%);background:repeating-linear-gradient(135deg,rgba(255,75,26,.22) 0 3px,transparent 3px 7px);box-shadow:inset 0 0 0 1px rgba(255,75,26,.55)}
.cx .isp-strip i.c::after{background:var(--ember)}
.cx .isp-hx{position:relative;height:18px;font-family:var(--mono);font-size:12px;color:var(--ink2)}
.cx .isp-hx span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.cx .isp-hx span:first-child{transform:none}.cx .isp-hx span:last-child{transform:translateX(-100%)}
.cx .isp-hours>p{font-size:15px;line-height:1.55;color:var(--ink2);max-width:80ch}

/* social: the week */
.cx .isp-week{display:grid;gap:clamp(16px,2vw,24px)}
.cx .isp-cal{padding:clamp(18px,2.4vw,28px);display:grid;gap:18px}
.cx .isp-calh{display:flex;justify-content:space-between;align-items:flex-end;gap:10px 18px;flex-wrap:wrap}
.cx .isp-calh b{display:block;margin-top:4px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.1}
.cx .isp-plat{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink2)}
.cx .isp-plat span{display:inline-flex;align-items:center;gap:7px}
.cx .isp-plat i,.cx .isp-post>span i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.cx .isp-week .pi{background:var(--ember)}.cx .isp-week .pf{background:var(--steel)}.cx .isp-week .pg{background:#45D08C}.cx .isp-week .pl{background:var(--gold)}.cx .isp-week .pt{background:var(--bone)}.cx .isp-week .pa{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ember)}
.cx .isp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cx .isp-dy{border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;gap:8px;align-content:start;min-height:236px;background:rgba(255,255,255,.015);min-width:0;transition:opacity .5s var(--ease) calc(var(--n) * 80ms + .1s),transform .6s var(--ease) calc(var(--n) * 80ms + .1s)}
.cx .isp-dy.today{border-color:rgba(255,75,26,.6);background:rgba(255,75,26,.05)}
.cx .isp-dh{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.cx .isp-dh b{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.cx .isp-dy.today .isp-dh span{color:var(--ember)}
.cx .isp-post{display:grid;gap:5px;padding:9px 10px;border-radius:10px;background:var(--surf2);font-size:13px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.cx .isp-post>span{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--ink2)}
.cx .isp-post small{font-family:var(--mono);font-size:12px;color:var(--ink2)}
.cx .isp-post.done small{color:#45D08C}.cx .isp-post.ask{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,75,26,.5)}.cx .isp-post.ask small{color:var(--ember)}
.cx .isp-rest{font-size:13px;color:var(--ink2)}
.cx .isp-wk2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(16px,2vw,24px)}
.cx .isp-proof{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden}
.cx .isp-ph{position:relative;min-height:280px;display:flex;align-items:flex-end;padding:14px;overflow:hidden;background:
  radial-gradient(80% 42% at 74% 38%,rgba(255,200,146,.5),transparent 64%),
  linear-gradient(180deg,#221c27 0%,#4f3534 30%,#a8704c 50%,#d19466 54%,#3b302a 54.5%,#2a231f 100%)}
.cx .isp-ph::before{content:"";position:absolute;left:-30%;right:-30%;bottom:0;height:58%;transform:perspective(320px) rotateX(42deg);transform-origin:bottom center;background:repeating-linear-gradient(90deg,rgba(0,0,0,.32) 0 2px,transparent 2px 44px),repeating-linear-gradient(0deg,rgba(0,0,0,.32) 0 2px,transparent 2px 30px),linear-gradient(180deg,#4d3f36,#7a6452)}
.cx .isp-ph::after{content:"";position:absolute;left:0;right:0;top:41%;height:13.5%;background:repeating-linear-gradient(90deg,#241c1b 0 13px,rgba(36,28,27,.55) 13px 15px);box-shadow:0 1px 0 rgba(0,0,0,.4)}
.cx .isp-ph span{position:relative;background:rgba(6,6,10,.72);padding:6px 11px;border-radius:999px;font-family:var(--mono);font-size:12px;color:var(--bone)}
.cx .isp-pc{padding:clamp(18px,2.2vw,26px);display:grid;gap:12px;align-content:start}
.cx .isp-pch{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.cx .isp-pch b{display:block;font-size:14px;font-weight:600}.cx .isp-pch small{display:block;font-size:12px;color:var(--ink2)}
.cx .isp-pass{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#45D08C;border:1px solid rgba(69,208,140,.45);border-radius:999px;padding:5px 10px;white-space:nowrap}
.cx .isp-pc>p{font-size:15px;line-height:1.55}
.cx .isp-checks{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:13px;color:var(--ink2)}
.cx .isp-checks li::before{content:"\2713";color:#45D08C;font-weight:700;margin-right:9px}
.cx .isp-pc>small{font-size:13px;color:var(--ink2)}
.cx .isp-reach{padding:clamp(20px,2.4vw,28px);display:grid;gap:16px;align-content:start}
.cx .isp-reach .cmp>div:last-child .bar i{background:var(--ink2)}.cx .isp-reach .cmp>div:first-child .bar i{background:var(--ember)}
.cx .isp-reach>p{font-size:14px;color:var(--ink2)}

/* the before state of every reveal: only while the runtime is up and before .in-view lands */
html:not(.nojs) .cx .isp .r:not(.in-view) .isp-ladder i,html:not(.nojs) .cx .isp .r:not(.in-view) .isp-mb i,html:not(.nojs) .cx .isp .r:not(.in-view) .isp-strip i::after{transform:scaleY(0)}
html:not(.nojs) .cx .isp .r:not(.in-view) .isp-vs em i,html:not(.nojs) .cx .isp.r:not(.in-view) .isp-race li i::after,html:not(.nojs) .cx .isp.r:not(.in-view) .isp-mt i{transform:scaleX(0)}
html:not(.nojs) .cx .isp .r:not(.in-view) .isp-ticks i,html:not(.nojs) .cx .isp.r:not(.in-view) .isp-dots i{opacity:.15}
html:not(.nojs) .cx .isp.r:not(.in-view) .isp-dots i.n{background:rgba(239,234,226,.16)}
html:not(.nojs) .cx .isp.r:not(.in-view) .isp-msgs>*,html:not(.nojs) .cx .isp.r:not(.in-view) .isp-list li,html:not(.nojs) .cx .isp .r:not(.in-view) .isp-tr,html:not(.nojs) .cx .isp .r:not(.in-view) .isp-dy{opacity:0;transform:translateY(10px)}
html:not(.nojs) .cx .isp .r:not(.in-view) .isp-plot{clip-path:inset(-24px 100% -24px -48px)}
@media (prefers-reduced-motion:reduce){.cx .isp *,.cx .isp *::before,.cx .isp *::after{transition:none!important;animation:none!important}}

/* one column below 720px */
@media (max-width:1000px){
  .cx .isp-thread{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}
  .cx .isp-thread .isp-fl-r{grid-column:1/-1}
  .cx .isp-ledger{grid-template-columns:minmax(0,1fr)}
  .cx .isp-days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cx .isp-wk2,.cx .isp-proof{grid-template-columns:minmax(0,1fr)}
  .cx .isp-ph{min-height:220px}
}
@media (max-width:719px){
  .cx .isp-map,.cx .isp-thread,.cx .isp-ib,.cx .isp-rep2{grid-template-columns:minmax(0,1fr)}
  .cx .isp-thread .isp-phone{order:-1;max-width:360px;width:100%;justify-self:center}
  .cx .isp-scr{min-height:0}
  .cx .isp-list{border-right:0;border-bottom:1px solid var(--line)}
  .cx .isp-rd:first-child{padding-top:24px;border-top:1px solid var(--line)}
  .cx .isp-plot{margin-left:30px}.cx .isp-yl{left:-30px}.cx .isp-xl{margin-left:30px}
  .cx .isp-xl span.x{display:none}
  .cx .isp-tr.th{display:none}
  .cx .isp-tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"p c" "s l" "n n";gap:6px 12px;padding:14px 0}
  .cx .isp-tr>:nth-child(1){grid-area:p}.cx .isp-tr>:nth-child(2){grid-area:s}.cx .isp-tr>:nth-child(3){grid-area:l;text-align:right}.cx .isp-tr>:nth-child(4){grid-area:c;text-align:right}.cx .isp-tr>:nth-child(5){grid-area:n}
  .cx .isp-tr [data-l]::before{content:attr(data-l) " ";font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
  .cx .isp-days{grid-template-columns:minmax(0,1fr)}
  .cx .isp-dy{min-height:0;grid-template-columns:52px minmax(0,1fr);align-items:start}
  .cx .isp-dy>.isp-dh{grid-row:1 / span 3;flex-direction:column;align-items:flex-start;gap:2px}
  .cx .isp-dy>*:not(.isp-dh){grid-column:2}
  .cx .isp-mk{gap:8px}
}

/* 5. The Social section's proof card carries a real job photo (public/composed/img/ortiz-patio.jpg);
      the drawn stand-in stays for any card without one. */
.cx .isp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cx .isp-ph:has(img)::before,.cx .isp-ph:has(img)::after{content:none}
.cx .isp-ph:has(img) span{position:absolute;left:14px;bottom:14px;z-index:1}
/* 6. Platforms that are coming soon read as such in the week and the connections row. */
.cx .isp-plat span.isp-soon{opacity:.55}
.cx .isp-note{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--ash)}

/* 2026-09-30 hand edits, continued. CARRY THIS BLOCK INTO port/compose.cjs BEFORE THE COMPOSER RUNS AGAIN: the composer
   rebuilds composed.css from the mockup's site.css and would drop it (tracked in compare/out/DESIGN.md and printed by
   routes_apply.py on every write).
   5. Compare and Migrate: the /compare hub, one /compare/<slug> page per competitor we can honestly replace in full or
      in part, and /migrate with its form (data-dl-form="migrate"). Every rule is new and starts with .cm (the class on
      each section of those pages) or a cm- class; no existing rule is changed. CSS only: the category chips on the hub
      are radio inputs, the ledger is a real table, the reveals are the site's .r. Nothing is under 12px (the shared
      10 and 11px labels are lifted inside .cm), every layout is one column below 720px, and reduced motion and
      html.nojs show everything. */
.cx .cm .cx-eyebrow,.cx .cm.hero-p .eb,.cx .cm .tag,.cx .cm .field .opt,.cx .cm .form .ftop{font-size:12px}
.cx .cm .cx-eyebrow{letter-spacing:.18em}
.cx .cm p{text-wrap:pretty}

/* monogram tiles: first letter on a lit tile of one brand-like hue (--mc); never a copied logo */
.cx .cm-mono{--mc:#8C857C;--mt:#FFFFFF;width:44px;height:44px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:13px;background:var(--mc);background:linear-gradient(150deg,color-mix(in srgb,var(--mc) 88%,#FFFFFF) 0%,var(--mc) 45%,color-mix(in srgb,var(--mc) 62%,#06060A) 100%);color:var(--mt);font-family:var(--serif);font-style:italic;font-weight:400;font-size:25px;line-height:1;letter-spacing:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.1),0 10px 24px -12px var(--mc)}
.cx .cm-mono.cm-s{width:32px;height:32px;border-radius:10px;font-size:19px}
.cx .cm-mono.cm-l{width:64px;height:64px;border-radius:18px;font-size:38px}
.cx .cm-mono.cm-di{--mc:#FF4B1A;--mt:#06060A}
.cx .cm-mono.cm-ink{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(239,234,226,.28),0 10px 24px -12px rgba(0,0,0,.6)}

/* marks: a check for yes, a plain word for partly, an honest word for no */
.cx .cm-y,.cx .cm-p,.cx .cm-n{display:inline-flex;align-items:center;flex:0 0 auto;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1;white-space:nowrap}
.cx .cm-y{width:24px;height:24px;border-radius:50%;justify-content:center;background:rgba(255,75,26,.12);color:var(--ember)}
.cx .cm-y svg{width:13px;height:13px}
.cx .cm-y.cm-yt{background:var(--surf2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.cx .cm-p{padding:6px 9px;border-radius:999px;color:#8A5A1F;background:rgba(224,164,90,.16);box-shadow:inset 0 0 0 1px rgba(224,164,90,.45)}
.cx .sec.cx-dark .cm-p,.cx .sec.clear .cm-p,.cx .cm-glass .cm-p{color:var(--gold)}
.cx .cm-n{padding:6px 9px;border-radius:999px;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line)}

/* hero */
.cx .cm.hero-p .in.cm-hgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:end}
.cx .cm.hero-p .cm-hgrid h1{max-width:none}
.cx .cm.hero-p.cm-vs h1{font-size:clamp(46px,7vw,104px)}
.cx .crumbs.cm-crumbs{font-size:12px}
.cx .sec.cm-flush{padding-top:0}
.cx .cm .ctas.cm-center{justify-content:center}
.cx .cm-checked{margin:22px 0 0;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.cx .cm-checked::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(47,163,107,.16)}
.cx .cm-glass{position:relative;border-radius:24px;padding:clamp(20px,2.6vw,30px);background:rgba(17,16,21,.74);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(239,234,226,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 60px 120px -64px rgba(255,75,26,.45),0 40px 90px -44px rgba(0,0,0,.9);color:var(--bone);--ink:var(--bone);--ink2:var(--ash);--line:rgba(239,234,226,.14);--surf2:rgba(255,255,255,.07)}
.cx .cm-glass h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.05;letter-spacing:-.02em}
.cx .cm-glass h2 em{font-style:italic;color:var(--ember)}
.cx .cm-glass .cm-gl{margin:6px 0 0;font-size:14px;color:var(--ash)}
.cx .cm-key{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.cx .cm-key li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.45;color:var(--bone-2)}
.cx .cm-key li>span:first-child{display:flex}
.cx .cm-key b{color:var(--bone);font-weight:600}

/* the replaces band */
.cx .sec.cm-band{padding-top:clamp(30px,4vw,48px);padding-bottom:clamp(44px,6vw,72px)}
.cx .cm-band .in{display:grid;gap:18px;justify-items:center;text-align:center}
.cx .cm-bl{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.cx .cm-bl::before,.cx .cm-bl::after{content:"";width:28px;height:1px;background:var(--ember)}
.cx .cm-rep{list-style:none;margin:0 auto;padding:0;max-width:860px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cx .cm-rep a,.cx .cm-rep span.cm-ri{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:6px 16px 6px 7px;border-radius:999px;border:1px solid var(--line);background:var(--surf);font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--ink);transition:border-color .3s,transform .4s var(--ease),background .3s}
.cx .cm-rep a:hover{border-color:rgba(255,75,26,.6);transform:translateY(-2px);background:var(--surf2)}
.cx .cm-bn{margin:0;max-width:62ch;font-size:14px;color:var(--ink2)}

/* hub: category chips (radio inputs, CSS only) and the card grid */
.cx .cm-cat{margin-top:clamp(28px,3.4vw,44px)}
.cx .cm-fi{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;opacity:0}
.cx .cm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cx .cm-chips label{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surf);color:var(--ink);font-weight:500;font-size:15px;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.cx .cm-chips label:hover{border-color:rgba(10,10,11,.28)}
.cx .cm-chips label span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink2)}
.cx #cmf-all:checked~.cm-chips label[for=cmf-all],.cx #cmf-rep:checked~.cm-chips label[for=cmf-rep],.cx #cmf-plat:checked~.cm-chips label[for=cmf-plat],.cx #cmf-seo:checked~.cm-chips label[for=cmf-seo]{background:var(--char);border-color:var(--char);color:var(--cream)}
.cx #cmf-all:checked~.cm-chips label[for=cmf-all] span,.cx #cmf-rep:checked~.cm-chips label[for=cmf-rep] span,.cx #cmf-plat:checked~.cm-chips label[for=cmf-plat] span,.cx #cmf-seo:checked~.cm-chips label[for=cmf-seo] span{color:var(--gold)}
.cx #cmf-all:focus-visible~.cm-chips label[for=cmf-all],.cx #cmf-rep:focus-visible~.cm-chips label[for=cmf-rep],.cx #cmf-plat:focus-visible~.cm-chips label[for=cmf-plat],.cx #cmf-seo:focus-visible~.cm-chips label[for=cmf-seo]{outline:1.5px solid var(--ember);outline-offset:3px}
.cx #cmf-rep:checked~.cm-grid .cm-card:not([data-cat=rep]):not(.cm-else),.cx #cmf-plat:checked~.cm-grid .cm-card:not([data-cat=plat]):not(.cm-else),.cx #cmf-seo:checked~.cm-grid .cm-card:not([data-cat=seo]):not(.cm-else){display:none}
.cx .cm-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cx .cm-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px 22px 20px;border-radius:22px;background:var(--surf);border:1px solid var(--line);box-shadow:0 1px 0 rgba(10,10,11,.03),0 30px 60px -48px rgba(10,10,11,.45);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.cx .cm-card:hover{transform:translateY(-4px);border-color:rgba(255,75,26,.45);box-shadow:0 1px 0 rgba(10,10,11,.03),0 40px 70px -44px rgba(10,10,11,.5)}
.cx .cm-card:focus-within{border-color:var(--ember)}
.cx .cm-ct{display:flex;align-items:center;gap:12px;min-width:0}
.cx .cm-ct small{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);line-height:1.3}
.cx .cm-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(25px,2.1vw,29px);line-height:1.08;letter-spacing:-.015em}
.cx .cm-card h3 a{color:inherit}
.cx .cm-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.cx .cm-card h3 a:focus-visible{outline:none}
.cx .cm-card h3 em{font-style:italic;color:var(--ember)}
.cx .cm-vd{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:-.005em;color:#8A5A1F;background:rgba(224,164,90,.14);box-shadow:inset 0 0 0 1px rgba(224,164,90,.4)}
.cx .cm-vd::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.cx .cm-vd.cm-most{color:#1E7A50;background:rgba(47,163,107,.12);box-shadow:inset 0 0 0 1px rgba(47,163,107,.4)}
.cx .cm-vd.cm-most::before{background:var(--good)}
.cx .cm-card>p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .cm-kv{margin:auto 0 0;display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.cx .cm-kv div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:baseline}
.cx .cm-kv dt{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.cx .cm-kv dd{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.cx .cm-dots span:not(:last-child)::after{content:"\00a0\00b7";color:var(--ink2)}
.cx .cm-kv div:first-child dt{color:var(--ember)}
.cx .cm-go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ember)}
.cx .cm-go svg{transition:transform .4s var(--ease)}
.cx .cm-card:hover .cm-go svg{transform:translateX(3px)}
.cx .cm-vrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cx .cm-best{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-family:var(--mono);font-size:12px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#C2360C;box-shadow:inset 0 0 0 1px rgba(255,75,26,.45)}
.cx .cm-mono.cm-q{--mc:#EFEAE2;--mt:#0A0A0B;font-family:inherit;font-style:normal;font-weight:500;box-shadow:inset 0 0 0 1px rgba(10,10,11,.12)}
.cx .cm-card.cm-else{border-style:dashed;border-color:rgba(10,10,11,.22);background:transparent;box-shadow:none}
.cx .cm-card.cm-else .cm-go{margin-top:auto}

/* rules trio and the hand off band */
.cx .cm-rules{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cx .cm-rules li{padding:26px;border-radius:22px;border:1px solid var(--line);background:var(--surf);display:grid;gap:12px;align-content:start}
.cx .cm-rules i{font-style:normal;font-family:var(--serif);font-style:italic;font-size:44px;line-height:.9;color:var(--ember)}
.cx .cm-rules b{font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.cx .cm-rules p{margin:0;font-size:15px;color:var(--ink2)}
.cx .sec.cm-handsec{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.cx .cm-hand{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,48px);border-radius:28px;background:radial-gradient(90% 120% at 0% 0%,rgba(255,75,26,.09),transparent 60%),#FFFFFF;border:1px solid var(--line);box-shadow:0 1px 0 rgba(10,10,11,.03),0 44px 90px -64px rgba(10,10,11,.45)}
.cx .cm-hand h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1;letter-spacing:-.025em}
.cx .cm-hand h3 em{font-style:italic;color:var(--ember)}
.cx .cm-hand>div>p{margin:14px 0 0;color:var(--ink2);font-size:16px}
.cx .cm-hand .ctas{margin-top:24px}

/* steps: the three stage move */
.cx .cm-steps{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:cms}
.cx .cm-steps>li{position:relative;counter-increment:cms;display:grid;gap:12px;align-content:start;padding:26px 24px 24px;border-radius:22px;border:1px solid var(--line);background:var(--surf)}
.cx .cm-steps>li::before{content:counter(cms,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:54px;line-height:.85;color:var(--ember)}
.cx .cm-steps b{font-weight:600;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.cx .cm-steps p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}
.cx .cm-steps .cm-who{margin-top:4px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.cx .cm-steps.cm-mini{margin-top:0;grid-template-columns:1fr;gap:0}
.cx .cm-steps.cm-mini>li{grid-template-columns:44px minmax(0,1fr);gap:4px 14px;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.cx .cm-steps.cm-mini>li:last-child{border-bottom:0;padding-bottom:0}
.cx .cm-steps.cm-mini>li::before{grid-row:span 2;font-size:34px;padding-top:2px}
.cx .cm-steps.cm-mini b{font-size:16.5px}
.cx .cm-steps.cm-mini p{font-size:14px}
.cx .cm-promise{margin:clamp(24px,3vw,32px) auto 0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;font-size:15px;color:var(--ink2)}
.cx .cm-promise b{color:var(--ink);font-weight:600}
.cx .cm-promise::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(47,163,107,.14)}

/* comparison page: hero duel and verdict */
.cx .cm.hero-p.cm-vs .in.cm-hgrid{align-items:center}
.cx .cm-duel{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.cx .cm-side{display:grid;gap:14px;align-content:start;padding:clamp(18px,2vw,24px);border-radius:20px;border:1px solid rgba(239,234,226,.12);background:rgba(255,255,255,.035)}
.cx .cm-side.cm-usd{border-color:rgba(255,75,26,.4);background:linear-gradient(160deg,rgba(255,75,26,.12),rgba(255,75,26,.02) 60%)}
.cx .cm-side header{display:flex;align-items:center;gap:12px}
.cx .cm-side header b{font-weight:600;font-size:17px;letter-spacing:-.015em}
.cx .cm-side p{margin:0;font-size:15px;line-height:1.55;color:var(--bone-2)}
.cx .cm-vsw{position:relative;z-index:1;justify-self:center;display:grid;place-items:center;width:46px;height:46px;margin:-14px 0;border-radius:50%;background:#0A0A0F;border:1px solid rgba(255,75,26,.45);box-shadow:0 10px 30px -12px rgba(255,75,26,.6);font-family:var(--serif);font-style:italic;font-size:22px;line-height:1;color:var(--ember)}
.cx .cm-read{margin-top:12px;display:grid;gap:10px;padding:clamp(18px,2vw,22px) clamp(18px,2vw,24px);border-radius:20px;border:1px solid rgba(224,164,90,.34);background:rgba(224,164,90,.06)}
.cx .cm-read .cm-rl{font-family:var(--mono);font-size:12px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cx .cm-read .cm-nw{display:inline-block}
.cx .cm-read p{margin:0;font-size:15.5px;line-height:1.55;color:var(--bone)}
.cx .cm-read p+p{color:var(--bone-2)}

/* comparison page: at a glance */
.cx .cm-glance{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cx .cm-glance>li{padding:24px;border-radius:22px;background:var(--surf);border:1px solid var(--line);display:grid;gap:14px;align-content:start}
.cx .cm-glance>li.cm-add{border-color:rgba(255,75,26,.4);box-shadow:0 30px 60px -50px rgba(255,75,26,.6)}
.cx .cm-glance>li.cm-ahead{border-color:rgba(224,164,90,.5)}
.cx .cm-glance h3{margin:0;display:flex;align-items:center;gap:10px;font-weight:600;font-size:18px;letter-spacing:-.02em}
.cx .cm-glance ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.cx .cm-glance ul li{position:relative;padding-left:18px;font-size:15px;line-height:1.45;color:var(--ink2)}
.cx .cm-glance ul li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--ink2);opacity:.5}
.cx .cm-glance .cm-add ul li::before{background:var(--ember);opacity:1}
.cx .cm-glance .cm-ahead ul li::before{background:var(--gold);opacity:1}

/* comparison page: the ledger (a real table) */
.cx .cm-legend{margin:28px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;font-size:14px;color:var(--ink2)}
.cx .cm-legend span{display:inline-flex;align-items:center;gap:9px}
.cx .cm-ledger{margin-top:22px;border-radius:24px;border:1px solid var(--line);background:var(--surf);overflow:clip;box-shadow:0 1px 0 rgba(10,10,11,.03),0 44px 90px -64px rgba(10,10,11,.45)}
.cx .cm-ledger table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left;font-size:15px}
.cx .cm-ledger col.c1{width:28%}
.cx .cm-ledger th,.cx .cm-ledger td{border-top:0;text-align:left}
.cx .cm-ledger thead th{position:sticky;top:62px;z-index:3;padding:16px 20px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);font-weight:600;font-size:15px;letter-spacing:-.01em;vertical-align:middle}
.cx .cm-ledger thead th .cm-th{display:flex;align-items:center;gap:10px}
.cx .cm-ledger thead th.cm-us{background:rgba(255,246,242,.96)}
.cx .cm-ledger tbody th[scope=colgroup]{padding:26px 20px 10px;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);border-bottom:1px solid var(--line)}
.cx .cm-ledger tbody:first-of-type th[scope=colgroup]{padding-top:20px}
.cx .cm-gj span{white-space:nowrap}
.cx .cm-gj span:not(:last-child)::after{content:"\00a0\00b7"}
.cx .cm-ledger tbody th[scope=row]{padding:15px 20px;font-weight:500;font-size:15px;line-height:1.4;color:var(--ink);border-bottom:1px solid var(--line);vertical-align:top}
.cx .cm-ledger tbody td{padding:13px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.cx .cm-ledger tbody td.cm-us{background:rgba(255,75,26,.035)}
.cx .cm-ledger tbody tr:last-child>*{border-bottom:0}
.cx .cm-ledger tbody:not(:last-of-type) tr:last-child>*{border-bottom:1px solid var(--line)}
.cx .cm-cell{display:flex;align-items:flex-start;gap:12px;min-height:26px}
.cx .cm-cell .cm-note{padding-top:3px;font-size:14px;line-height:1.45;color:var(--ink2)}
.cx .cm-cell .cm-y{margin-top:1px}
.cx .cm-foot{margin:18px auto 0;max-width:72ch;text-align:center;font-size:14px;line-height:1.55;color:var(--ink2)}

/* comparison page: keep and change */
.cx .cm-kc{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cx .cm-kc>div{padding:clamp(22px,2.6vw,30px);border-radius:24px;border:1px solid var(--line);background:var(--surf);display:grid;gap:16px;align-content:start}
.cx .cm-kc h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.8vw,40px);line-height:1;letter-spacing:-.02em}
.cx .cm-kc h3 em{font-style:italic;color:var(--ember)}
.cx .cm-kc ul{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.cx .cm-kc ul li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5;color:var(--ink2)}
.cx .cm-kc ul li:last-child{border-bottom:0;padding-bottom:0}
.cx .cm-kc ul li b{color:var(--ink);font-weight:600}
.cx .cm-kc svg{width:18px;height:18px;margin-top:2px}

/* comparison page: related comparisons */
.cx .cm-rel{list-style:none;margin:clamp(28px,3.4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cx .cm-rel a{display:grid;gap:12px;height:100%;padding:18px 18px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surf);color:var(--ink);transition:transform .4s var(--ease),border-color .3s}
.cx .cm-rel a:hover{transform:translateY(-3px);border-color:rgba(255,75,26,.45)}
.cx .cm-rel b{font-weight:600;font-size:16px;letter-spacing:-.015em;line-height:1.3}
.cx .cm-rel .cm-rt{font-size:14px;color:var(--ink2);line-height:1.4}
.cx .cm-rel i{font-style:normal;font-weight:600;font-size:13px;color:var(--ember)}
.cx .cm-rel a.cm-hub{background:var(--char);border-color:var(--char);color:var(--cream);--ink2:rgba(245,243,240,.7)}

/* migrate: what comes across */
.cx .cm-across{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cx .cm-across li{padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--surf);display:grid;gap:10px;align-content:start}
.cx .cm-across b{font-weight:600;font-size:17px;letter-spacing:-.015em}
.cx .cm-across p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.cx .cm-how{justify-self:start;flex:0 0 auto;font-family:var(--mono);font-size:12px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(239,234,226,.26);color:var(--bone)}
.cx .cm-sum{list-style:none;margin:18px 0 0;padding:0;display:grid;border-top:1px solid var(--line)}
.cx .cm-sum li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.cx .cm-sum b{font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--bone)}
.cx .cm-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;font-size:14px;color:var(--ember)}

/* migrate: the form section */
.cx .cm-fwrap{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(24px,4vw,56px);align-items:start}
.cx .cm-fwrap>.cm-form{grid-column:2;grid-row:1}
.cx .cm-fwrap>.cm-fside{grid-column:1;grid-row:1}
.cx .cm-fside{position:sticky;top:96px;display:grid;gap:18px}
.cx .cm-fside h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1;letter-spacing:-.025em}
.cx .cm-fside h3 em{font-style:italic;color:var(--ember)}
.cx .cm-fside>p{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}
.cx .cm-fside ul{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.cx .cm-fside li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5;color:var(--ink2)}
.cx .cm-fside li b{display:block;color:var(--ink);font-weight:600}
.cx .cm-fside svg{width:18px;height:18px;margin-top:2px}
.cx .cm-fside .cm-call{font-size:15px;color:var(--ink2)}
.cx .cm-fside .cm-call a{color:var(--ember);font-weight:600;white-space:nowrap}
.cx .cm .form.cm-form{gap:24px}
.cx .cm-form .fsub{margin:0;font-size:15px;color:var(--ink2)}
.cx .cm-form .chips.cm-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cx .cm-form .chips.cm-checks.cm-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx .cm-form .cm-checks .chip{display:flex}
.cx .cm-form .cm-checks .chip span{width:100%;border-radius:14px;font-size:14.5px;line-height:1.25}
.cx .cm-form .chip input[type=checkbox]+span::after{border-radius:6px}
.cx .cm-form .help{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.cx .cm-form .field .ctl>textarea.cm-short{min-height:104px}
.cx .cm .success{align-self:start}

/* phone and tablet */
@media (max-width:1100px){
  .cx .cm-rel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .cm-across{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
  .cx .cm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx .cm-form .chips.cm-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .cx .cm.hero-p .in.cm-hgrid{grid-template-columns:1fr;align-items:start}
  .cx .cm-hand{grid-template-columns:1fr}
  .cx .cm-fwrap{grid-template-columns:1fr}
  .cx .cm-fwrap>.cm-form,.cx .cm-fwrap>.cm-fside{grid-column:auto;grid-row:auto}
  .cx .cm-fside{position:static}
}
@media (max-width:720px){
  .cx .cm-grid,.cx .cm-rules,.cx .cm-steps,.cx .cm-glance,.cx .cm-kc,.cx .cm-rel,.cx .cm-across{grid-template-columns:1fr}
  .cx .cm-duel{grid-template-columns:1fr}
  .cx .cm-kv div{grid-template-columns:1fr;gap:2px}
  .cx .cm-key li{grid-template-columns:1fr;gap:8px}
  .cx .cm-rep a,.cx .cm-rep span.cm-ri{font-size:14px;min-height:44px;padding-right:13px}
  .cx .cm-ledger{border-radius:20px}
  .cx .cm-ledger table,.cx .cm-ledger tbody{display:block}
  .cx .cm-ledger thead{display:block;position:sticky;top:62px;z-index:3;box-shadow:0 10px 18px -16px rgba(10,10,11,.5)}
  .cx .cm-ledger colgroup{display:none}
  .cx .cm-ledger th,.cx .cm-ledger td{width:auto;min-width:0}
  .cx .cm-ledger tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cx .cm-ledger thead th{position:static;padding:12px 14px;font-size:14px}
  .cx .cm-ledger thead th:first-child{display:none}
  .cx .cm-ledger thead th .cm-th{gap:8px}
  .cx .cm-ledger tbody th[scope=colgroup]{grid-column:1/-1;padding:22px 14px 8px}
  .cx .cm-ledger tbody th[scope=row]{grid-column:1/-1;padding:14px 14px 4px;border-bottom:0;font-weight:600}
  .cx .cm-ledger tbody td{padding:6px 14px 14px}
  .cx .cm-ledger tbody td.cm-us{border-left:1px solid var(--line)}
  .cx .cm-cell{flex-wrap:wrap;align-items:center;gap:6px 8px}
  .cx .cm-ledger tbody td .cm-cell::before{content:var(--ml);flex:0 0 auto;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--mc);color:var(--mt,#FFFFFF);font-family:var(--serif);font-style:italic;font-size:14px;line-height:1}
  .cx .cm-ledger tbody td.cm-us .cm-cell::before{content:"D";background:var(--ember);color:#06060A}
  .cx .cm-ledger.cm-ink tbody td.cm-them .cm-cell::before{box-shadow:inset 0 0 0 1px rgba(239,234,226,.28)}
  .cx .cm-cell .cm-note{flex:1 1 100%;padding-top:0;font-size:13.5px}
  .cx .cm-form .chips.cm-checks,.cx .cm-form .chips.cm-checks.cm-two{grid-template-columns:1fr 1fr}
  .cx .cm-form .form.cm-form .pair,.cx .cm .form.cm-form .pair{grid-template-columns:1fr}
}
@media (max-width:560px){
  .cx .cm .ctas{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch}
  .cx .cm .ctas .pill{justify-content:center}
}
@media (max-width:420px){
  .cx .cm-form .chips.cm-checks.cm-two{grid-template-columns:1fr}
  .cx .cm-form .cm-checks .chip span{padding-left:13px;padding-right:11px}
}
@media (prefers-reduced-motion:reduce){
  .cx .cm-card,.cx .cm-rep a,.cx .cm-rel a,.cx .cm-go svg{transition:none}
  .cx .cm-card:hover,.cx .cm-rep a:hover,.cx .cm-rel a:hover{transform:none}
}
@media (scripting:none){.cx .cm .r{opacity:1;transform:none}}
