/* GENERATED — do not hand-edit. Regenerate with:
       python scripts/linq_site/scope_home_css.py

   The homepage's styles, verbatim from the Linq_2_11 handoff's
   01-home/index.html <style> block, with every selector scoped under
   `.lh` so they cannot reach the other 63 pages. See the script's
   docstring for why that scoping is not optional. */
/* NOTE: this .lh block SHADOWS the :root palette in linq-site.css for the
   whole homepage. A token corrected in :root stays wrong here until it is
   corrected in both places -- that is how the homepage kept rendering its
   eyebrows in JetBrains Mono after --mono was repointed to IBM Plex Mono
   sitewide. Keep the two in sync, or delete the duplicates that match. */
.lh{--ink:#18181B;--bone:#FBFBFC;--page:#EEEEF0;--card:#FBFBFC;--muted:#6E7076;--faint:#A1A1AA;--line:rgba(24,24,27,.10);--ocean:#2E4BE0;--ocean-lt:#6D82F0;--signal:#2E4BE0;--night:#232838;--plum:#2C2A3A;--mono:"IBM Plex Mono",ui-monospace,monospace}
/* aurora kit (2026-08-23): hand-patched color pass — the upstream Linq_2_11
   handoff HTML this file is generated from still has the old v1.0 hues, so
   a plain re-run of scope_home_css.py would revert this. Update the handoff
   source's colors before the next regeneration, or diff against this file
   first. See CLAUDE.md's aurora palette for the token values used here. */
.lh{-webkit-text-size-adjust:100%}
.lh{font-family:"Public Sans",system-ui,sans-serif;background:var(--night);color:var(--bone);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.lh a{color:var(--bone);text-decoration:none}
.lh a:hover{color:#fff}
/* Light-background sections (everything except the hero and the two
   `.band.night` bands) must not inherit the hero's white link colour -
   it goes invisible on a light surface. Scoped fixes below (`.ai .more`,
   `.ent a`, `.f p a`) still win, being later and equally or more specific. */
.lh .band:not(.night) a, .lh .sec2 a, .lh .sec3 a, .lh .sec4 a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(24,24,27,.3)}
.lh .band:not(.night) a:hover, .lh .sec2 a:hover, .lh .sec3 a:hover, .lh .sec4 a:hover{color:var(--ocean);text-decoration-color:var(--ocean)}
.lh .mono{font-family:var(--mono)}
.lh .hero{position:relative;isolation:isolate;z-index:2;overflow:visible;display:flex;flex-direction:column;background:#4E5568}
.lh .sky{position:absolute;inset:0;z-index:0;background:
url(../img/grain-96.png),
radial-gradient(1200px 900px at 85% 8%,rgba(124,100,136,.52),rgba(124,100,136,0) 70%),
radial-gradient(1100px 900px at 10% 26%,rgba(72,98,127,.58),rgba(72,98,127,0) 70%),
radial-gradient(1000px 850px at 82% 56%,rgba(148,104,127,.42),rgba(148,104,127,0) 70%),
radial-gradient(1100px 900px at 15% 85%,rgba(104,136,159,.52),rgba(104,136,159,0) 70%),
linear-gradient(#6D7CA0,#67769A 40%,#5C6E92);
background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
background-size:auto,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;
background-blend-mode:overlay,normal,normal,normal,normal,normal}
.lh .sky::after{content:"";position:absolute;inset:0;background:radial-gradient(66% 96% at 50% 58%,transparent 38%,rgba(3,4,10,.72) 100%)}
.lh .rays{position:absolute;inset:0;z-index:1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.085) 0 1px,transparent 1px 8px);-webkit-mask-image:radial-gradient(40% 74% at 50% 66%,#000 0%,rgba(0,0,0,.62) 46%,transparent 82%);mask-image:radial-gradient(40% 74% at 50% 66%,#000 0%,rgba(0,0,0,.62) 46%,transparent 82%);pointer-events:none}
.lh .stars{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.55;background-image:radial-gradient(1.4px 1.4px at 12% 14%,#fff,transparent),radial-gradient(1.2px 1.2px at 78% 9%,#fff,transparent),radial-gradient(1.5px 1.5px at 33% 26%,#fff,transparent),radial-gradient(1.1px 1.1px at 63% 21%,#fff,transparent),radial-gradient(1.3px 1.3px at 88% 31%,#fff,transparent),radial-gradient(1.2px 1.2px at 22% 38%,#fff,transparent),radial-gradient(1.1px 1.1px at 52% 7%,#fff,transparent),radial-gradient(1.4px 1.4px at 95% 17%,#fff,transparent),radial-gradient(1.1px 1.1px at 6% 29%,#fff,transparent);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 34%,transparent 52%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 34%,transparent 52%)}
.lh .shell{position:relative;z-index:3;max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px);width:100%}
.lh .hero.signin-on .nact .sign{color:#12141C}
.lh .hero.signin-on .nact .sign:hover{color:#12141C}
.lh .hero.signin-on .nact .pill{color:rgba(255,255,255,.82)}
.lh .hero.signin-on .nact .pill:hover{color:#fff}
.lh .hmid{position:relative;z-index:3;flex:1;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;gap:clamp(14px,2.6vw,44px);max-width:1440px;margin:0 auto;padding:clamp(26px,4.6vw,60px) clamp(20px,3.6vw,54px) 0;width:100%}
.lh .stats{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,30px)}
.lh .stats.r{align-items:flex-end;text-align:right}
.lh .stat b{display:block;font-size:clamp(1.42rem,2.1vw,1.95rem);font-weight:400;letter-spacing:-.022em;color:#fff;line-height:1.1}
.lh .stat span{display:block;margin-top:5px;font:600 .66rem/1.4 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.lh .copy{text-align:center;display:flex;flex-direction:column;align-items:center}
.lh .eyebrow{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font:600 .68rem/1 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.lh .eyebrow em{display:none}
.lh .display{margin:clamp(18px,2.4vw,28px) 0 0;font-size:clamp(2.5rem,5.9vw,5.2rem);font-weight:800;letter-spacing:-.042em;line-height:1.02;color:#fff;text-wrap:balance;max-width:16ch}
.lh .display em{font-style:italic;font-weight:500;letter-spacing:-.028em}
.lh .display i{color:var(--signal);font-style:normal}
.lh .lede{margin:clamp(16px,2vw,24px) 0 0;max-width:58ch;font:500 .92rem/1.72 var(--mono);letter-spacing:.055em;color:rgba(255,255,255,.76);text-wrap:pretty}
.lh .cta{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,18px);flex-wrap:wrap;margin:clamp(22px,2.8vw,32px) 0 0}
.lh .btn{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-family:"Archivo",var(--ui,system-ui),sans-serif;font-size:.845rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:14px 24px;border-radius:999px;border:1px solid transparent;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}
.lh .btn svg{width:14px;height:14px;flex:0 0 auto;transition:transform .16s}
.lh .btn:hover svg{transform:translateX(2px)}
.lh .btn.primary{background:#fff;color:#12141C;box-shadow:0 10px 30px rgba(255,255,255,.2)}
.lh .btn.primary:hover{background:#fff;color:#12141C;transform:translateY(-2px);box-shadow:0 16px 38px rgba(255,255,255,.3)}
.lh .btn.ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);color:#fff}
.lh .btn.ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);color:#fff}
.lh .band:not(.night) .btn.primary, .lh .sec4 .btn.primary{background:var(--ink);color:#fff;box-shadow:none}
.lh .band:not(.night) .btn.primary:hover, .lh .sec4 .btn.primary:hover{background:#000;color:#fff}
.lh .orbwrap{display:inline-flex;align-items:center;gap:11px;margin-left:clamp(2px,1vw,14px)}
.lh .orbtxt{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.lh .orb{position:relative;width:clamp(74px,5.8vw,88px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:radial-gradient(circle at 50% 38%,rgba(12,18,44,.4),rgba(10,16,40,.22) 58%,rgba(10,16,40,.12));backdrop-filter:blur(3px);display:grid;place-items:center;cursor:pointer;transition:transform .22s cubic-bezier(.3,1.3,.5,1),box-shadow .22s;box-shadow:0 0 30px rgba(255,255,255,.18),inset 0 1px 0 rgba(255,255,255,.5)}
.lh .orb .eq{display:flex;align-items:center;gap:2.5px;height:19px}
.lh .orb .eq i{width:2.5px;height:6px;border-radius:2px;background:#fff;opacity:.92;animation:eq 1.15s ease-in-out infinite}
.lh .orb .eq i:nth-child(2){animation-delay:-.18s}
.lh .orb .eq i:nth-child(3){animation-delay:-.42s}
.lh .orb .eq i:nth-child(4){animation-delay:-.26s}
.lh .orb .eq i:nth-child(5){animation-delay:-.6s}
.lh .orb:hover .eq i{background:#fff;opacity:1}
@keyframes eq{0%,100%{height:6px}50%{height:18px}}
.lh .orb::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,255,255,.24)}
.lh .orb:hover{transform:translateY(-2px) scale(1.035);box-shadow:0 0 62px rgba(255,255,255,.32),inset 0 1px 0 rgba(255,255,255,.6)}
.lh .orb svg{display:block}
.lh .orblab{font:600 .74rem/1 var(--mono);letter-spacing:.09em;color:#fff;border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:3px;transition:border-color .16s}
.lh .orblab:hover{color:#fff;border-color:#fff}
.lh .orb>span:not(.eq){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lh .live{display:inline-flex;align-items:center;gap:7px}
.lh .live em{width:6px;height:6px;border-radius:50%;background:var(--signal);font-style:normal;box-shadow:0 0 0 0 rgba(46,75,224,.5);animation:ringp 1.9s ease-out infinite}
@keyframes ringp{0%{box-shadow:0 0 0 0 rgba(46,75,224,.5)}70%{box-shadow:0 0 0 8px rgba(46,75,224,0)}100%{box-shadow:0 0 0 0 rgba(46,75,224,0)}}
.lh .microtxt{margin-top:14px;font:600 .66rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.lh .orbtxt .live{font:600 .6rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.lh .panels{position:relative;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,30px);align-items:end;max-width:1440px;width:100%;margin:clamp(26px,3.4vw,48px) auto clamp(-104px,-7vw,-48px);padding:0 clamp(20px,3.6vw,54px);perspective:1500px}
.lh .pn{position:relative;transform-style:preserve-3d;will-change:transform}
.lh .pn .plabel{display:flex;align-items:center;gap:8px;font:600 .7rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:12px}
.lh .pn .plabel em{width:6px;height:6px;border-radius:50%;background:#fff;font-style:normal}
.lh .pn .pfr{position:relative;height:clamp(158px,18.5vw,258px);border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.14);padding:8px;box-shadow:0 -12px 60px rgba(255,255,255,.14),0 34px 70px -30px rgba(0,0,0,.66)}
.lh .pn .pfr>span{position:absolute;inset:8px;border-radius:13px;overflow:hidden;display:block}
.lh .pn img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;transform:scale(var(--z,1));transform-origin:var(--zo,top left)}
.lh .pn.c{--z:1.7;--zo:52% 34%}
.lh .pn.l{transform:perspective(1500px) rotateY(13deg) rotateX(4deg) rotate(-2.4deg) translateY(-8px)}
.lh .pn.c{transform:none}
.lh .pn.r{transform:perspective(1500px) rotateY(-14deg) rotateX(4deg) rotate(3deg) translateY(-10px)}
.lh .pn.l .pfr, .lh .pn.r .pfr{background:rgba(255,255,255,.11)}
.lh .pn .pui{position:absolute;inset:8px;border-radius:13px;overflow:hidden;display:block}
.lh .map{position:absolute;inset:0;background:linear-gradient(180deg,#0B1020,#070A14);overflow:hidden}
.lh .map svg.mp{position:absolute;inset:0;width:100%;height:100%}
.lh .map .water{fill:#0A1730}
.lh .map .park{fill:#0C1A18}
.lh .map .blockf{fill:rgba(255,255,255,.028)}
.lh .map .rd{stroke:rgba(255,255,255,.11);fill:none;stroke-linecap:round}
.lh .map .rd.b{stroke:rgba(255,255,255,.19)}
.lh .map .route{stroke:#6D82F0;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(109,130,240,.7))}
.lh .map .routed{stroke:rgba(255,255,255,.85);stroke-width:1.1;fill:none;stroke-dasharray:3 6;stroke-linecap:round;animation:flow 1.5s linear infinite}
@keyframes flow{to{stroke-dashoffset:-18}}
.lh .map .fog{position:absolute;inset:0;background:radial-gradient(58% 52% at 32% 40%,rgba(46,75,224,.16),transparent 70%),linear-gradient(180deg,rgba(6,9,18,.5) 0%,transparent 26%,transparent 58%,rgba(6,9,18,.9) 100%)}
.lh .pin{position:absolute;z-index:3;width:26px;transform:translate(-50%,-100%)}
.lh .pin.job{width:16px}
.lh .pin .halo, .lh .pin .av, .lh .pin .dst{display:block}
.lh .pin .av{display:block;width:26px;height:26px;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.6)}
.lh .pin .av img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:none}
.lh .pin::after{content:"";position:absolute;left:50%;bottom:-5px;width:7px;height:7px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:1px}
.lh .pin .halo{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:2px solid rgba(109,130,240,.7);animation:ping 2.2s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.85}70%{transform:scale(2.5);opacity:0}100%{opacity:0}}
.lh .pin.job::after{display:none}
.lh .pin.job .dst{display:block;width:16px;height:16px;border-radius:50%;background:var(--signal);border:2.5px solid rgba(255,255,255,.92);box-shadow:0 3px 10px rgba(46,75,224,.6)}
.lh .map-top{position:absolute;top:10px;left:11px;right:11px;z-index:4;display:flex;align-items:center;gap:8px;font:700 .58rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.lh .map-top b{color:#fff}
.lh .map-top .lv{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#5FD39B}
.lh .map-top .lv i{width:5px;height:5px;border-radius:50%;background:#5FD39B;font-style:normal;animation:pulse2 1.8s ease-in-out infinite}
@keyframes pulse2{50%{opacity:.35}}
.lh .eta{position:absolute;left:11px;right:11px;bottom:10px;z-index:4;display:flex;align-items:center;gap:9px;background:rgba(12,15,26,.82);border:1px solid rgba(255,255,255,.14);border-radius:11px;padding:8px 10px;backdrop-filter:blur(12px)}
.lh .eta .ea{display:block;width:22px;height:22px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:1px solid rgba(255,255,255,.3)}
.lh .eta .ea img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:none}
.lh .eta .et{min-width:0}
.lh .eta .et b{display:block;font-size:.7rem;font-weight:700;color:#fff;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .eta .et span{display:block;margin-top:2px;font:600 .53rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.lh .eta .em{margin-left:auto;flex:0 0 auto;font:700 .58rem/1 var(--mono);letter-spacing:.07em;color:#fff;background:rgba(109,130,240,.28);border:1px solid rgba(109,130,240,.5);padding:6px 8px;border-radius:7px;white-space:nowrap}
.lh .dash{position:absolute;inset:0;background:#F4F1EC;padding:11px;display:flex;flex-direction:column;gap:8px;color:#18181B}
.lh .dash-h{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.lh .dash-h .hi{font-size:.86rem;font-weight:800;letter-spacing:-.024em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .dash-h .dt{margin-left:auto;flex:0 0 auto;font:700 .52rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#2E4BE0;background:rgba(46,75,224,.1);padding:5px 7px;border-radius:6px;white-space:nowrap}
.lh .kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;flex:0 0 auto}
.lh .kt{background:#fff;border:1px solid rgba(24,24,27,.08);border-radius:9px;padding:7px 8px;min-width:0}
.lh .kt span{display:block;font:700 .48rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8A8A93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .kt b{display:block;margin-top:4px;font-size:.82rem;font-weight:800;letter-spacing:-.028em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .kt i{font-style:normal;font-size:.55rem;font-weight:800;margin-left:3px;color:#1F8A5B}
.lh .kt.a b{color:#2E4BE0}
.lh .chart{flex:1;min-height:0;background:#fff;border:1px solid rgba(24,24,27,.08);border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;gap:6px}
.lh .chart .ch{display:flex;align-items:center;gap:7px;font:700 .48rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8A8A93;flex:0 0 auto}
.lh .chart .ch em{margin-left:auto;font-style:normal;color:#18181B;font-size:.52rem}
.lh .bars{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;align-items:end}
.lh .bars i{display:block;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#6D82F0,#2E4BE0)}
.lh .bars i.hi2{background:linear-gradient(180deg,#52525B,#18181B)}
.lh .bx{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;flex:0 0 auto;font:700 .44rem/1 var(--mono);letter-spacing:.05em;color:#A9A9B2;text-align:center}
.lh .agenda{flex:0 0 auto;display:flex;flex-direction:column;gap:5px}
.lh .ag{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid rgba(24,24,27,.08);border-radius:8px;padding:6px 8px;font-size:.63rem;font-weight:600;min-width:0}
.lh .ag .tm{font:700 .5rem/1 var(--mono);letter-spacing:.05em;color:#8A8A93;flex:0 0 auto}
.lh .ag .nm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .ag .tg{margin-left:auto;flex:0 0 auto;font:700 .46rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 5px;border-radius:5px;background:rgba(46,75,224,.1);color:#2E4BE0}
.lh .ag .tg.g{background:rgba(31,138,91,.12);color:#1F8A5B}
@media (max-width:1080px){.lh .dash{padding:9px;gap:6px}
.lh .dash-h .hi{font-size:.74rem}
.lh .kt b{font-size:.7rem}
.lh .kt i{display:none}
.lh .agenda{display:none}
.lh .eta .et span{display:none}}
.lh .disp{position:absolute;inset:0;background:linear-gradient(180deg,#0E1018,#080A11);padding:11px 12px;display:flex;flex-direction:column;gap:9px}
.lh .disp-h{display:flex;align-items:center;gap:8px;font:700 .58rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.5);flex:0 0 auto}
.lh .disp-h b{color:#fff}
.lh .disp-h .now{margin-left:auto;color:var(--signal)}
.lh .ruler{display:grid;grid-template-columns:repeat(5,1fr);font:700 .5rem/1 var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.34);padding-left:74px;flex:0 0 auto}
.lh .drows{flex:1;display:flex;flex-direction:column;gap:7px;min-height:0}
.lh .drow{display:flex;align-items:center;gap:8px;flex:1;min-height:0}
.lh .dwho{width:66px;flex:0 0 auto;display:flex;align-items:center;gap:6px;overflow:hidden}
.lh .dwho img{width:20px;height:20px;border-radius:50%;object-fit:cover;object-position:50% 24%;flex:0 0 auto;transform:none;border:1px solid rgba(255,255,255,.2)}
.lh .dwho span{font:700 .56rem/1.1 var(--mono);letter-spacing:.04em;color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .dtrack{position:relative;flex:1;height:100%;min-width:0;border-radius:7px;background:rgba(255,255,255,.045);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 20%)}
.lh .blk{position:absolute;top:50%;transform:translateY(-50%);height:calc(100% - 8px);border-radius:6px;display:flex;align-items:center;padding:0 7px;font:700 .52rem/1 var(--mono);letter-spacing:.05em;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lh .blk.o{background:linear-gradient(135deg,#2E4BE0,#4A68E4);box-shadow:0 4px 14px rgba(46,75,224,.4)}
.lh .blk.s{background:linear-gradient(135deg,#6D82F0,#3D5060);box-shadow:0 4px 14px rgba(109,130,240,.4)}
.lh .blk.g{background:rgba(255,255,255,.13);color:rgba(255,255,255,.72)}
.lh .nowline{position:absolute;top:-4px;bottom:-4px;width:1px;background:var(--signal);z-index:3}
@media (max-width:1080px){.lh .bl-x{display:none}}
.lh .nowline::before{content:"";position:absolute;top:-2px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--signal)}
.lh .trust{display:flex;align-items:center;justify-content:flex-start;gap:clamp(18px,3vw,44px);flex-wrap:wrap;padding:0 clamp(20px,3.6vw,54px) clamp(34px,4.2vw,58px);max-width:1440px;margin:0 auto}
.lh .trust .tl{font:600 .64rem/1 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--faint)}
.lh .logos{display:flex;align-items:center;gap:clamp(18px,3vw,42px);flex-wrap:wrap;opacity:.4}
.lh .logos div{font-size:.98rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.lh .logos div.m{font:700 .92rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.lh .sec2{position:relative;z-index:1;background:var(--page);color:var(--ink);padding:clamp(96px,13vw,196px) 0 clamp(60px,7.4vw,110px)}
.lh .sec2::before{content:"";position:absolute;top:0;left:0;right:0;height:74px;background:linear-gradient(var(--night),transparent);opacity:.16;pointer-events:none}
.lh .s2head{position:relative;max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px)}
.lh .s2head h2{font:600 .7rem/1 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--signal)}
.lh .s2head .d2{margin:16px 0 0;font-size:clamp(1.85rem,3.1vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;max-width:20ch}
.lh .loop{position:relative;max-width:1440px;margin:clamp(30px,4vw,50px) auto 0;padding:0 clamp(20px,3.6vw,54px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.lh .f{position:relative;background:none;border:0;padding:0;box-shadow:none;display:flex;flex-direction:column}
.lh .f .n{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font:700 .74rem/1 var(--mono);letter-spacing:.02em;color:#fff;background:var(--ocean)}
.lh .f:nth-child(even) .n{background:var(--ink)}
.lh .f h3{margin:16px 0 0;font-size:1.06rem;font-weight:800;letter-spacing:-.02em}
.lh .f p{margin:9px 0 0;font-size:.87rem;line-height:1.58;color:var(--muted);text-wrap:pretty}
.lh .f p a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(24,24,27,.3)}
.lh .f p a:hover{color:var(--ocean);text-decoration-color:var(--ocean)}
.lh .loopfoot{position:relative;max-width:1440px;margin:clamp(28px,3.4vw,40px) auto 0;padding:0 clamp(20px,3.6vw,54px);display:flex;justify-content:flex-end}
.lh .loopfoot svg{width:clamp(220px,26vw,340px);height:28px;color:var(--faint);overflow:visible}
.lh .loopfoot span{display:flex;align-items:center;gap:8px;font:700 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
@media (max-width:1080px){.lh .loopfoot{display:none}}
.lh .sec3{background:var(--page);color:var(--ink);padding:clamp(58px,7vw,104px) 0}
.lh .s3wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px)}
.lh .s3top h2{font:600 .7rem/1 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--signal)}
.lh .s3top .d2{margin:16px 0 0;font-size:clamp(1.85rem,3.1vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.06}
.lh .s3top .intro{margin:12px 0 0;font-size:1rem;line-height:1.6;color:var(--muted);max-width:50ch;text-wrap:pretty}
.lh .fx{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.22fr);gap:clamp(22px,3.2vw,54px);align-items:center;margin-top:clamp(28px,3.6vw,46px)}
.lh .acc{position:relative;padding-left:26px}
.lh .acc::before{content:"";position:absolute;left:6px;top:16px;bottom:16px;width:2px;background:var(--line)}
.lh .ai{position:relative;padding:13px 0;cursor:pointer}
.lh .ai .ah{font-size:1.1rem;font-weight:800;letter-spacing:-.022em;color:var(--faint);transition:color .2s}
.lh .ai:hover .ah{color:var(--muted)}
.lh .ai.on .ah{color:var(--ink)}
.lh .ai .bul{position:absolute;left:-26px;top:17px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(24,24,27,.16);background:var(--card);transition:border-color .22s,box-shadow .22s}
.lh .ai.on .bul{border-color:var(--ocean);box-shadow:0 0 0 3px rgba(46,75,224,.15)}
.lh .ai .body{max-height:0;overflow:hidden;opacity:0;transition:max-height .38s cubic-bezier(.4,0,.2,1),opacity .26s}
.lh .ai.on .body{max-height:240px;opacity:1}
.lh .ai .body p{margin:9px 0 0;font-size:.9rem;line-height:1.6;color:var(--muted);max-width:42ch;text-wrap:pretty}
.lh .ai .more{display:inline-block;margin:13px 0 4px;font-size:.85rem;font-weight:700;color:var(--ink);border-bottom:1.5px solid rgba(24,24,27,.22);padding-bottom:2px}
.lh .ai .more:hover{color:var(--ocean);border-color:var(--ocean)}
.lh .shot{position:relative;aspect-ratio:924/540;isolation:isolate}
.lh .shot::before{content:"";position:absolute;inset:0;z-index:0;border-radius:18px;border:1px solid var(--line);background:radial-gradient(120% 118% at 50% 0%,#FCFAF7 0%,#F3EFE8 58%,#EDE8DF 100%);box-shadow:0 34px 66px -32px rgba(24,24,27,.42),0 4px 12px -6px rgba(24,24,27,.12)}
.lh .shot img{position:absolute;z-index:2;left:-6%;top:-4%;width:112%;height:108%;object-fit:contain;filter:drop-shadow(0 26px 40px rgba(24,24,27,.24));opacity:0;transform:scale(1.02);transition:opacity .44s ease,transform .7s cubic-bezier(.22,1,.32,1)}
.lh .shot img.on{opacity:1;transform:none}
.lh .shot .pane{position:absolute;z-index:2;inset:0;border-radius:18px;overflow:hidden;opacity:0;transform:scale(1.025);transition:opacity .44s ease,transform .7s cubic-bezier(.22,1,.32,1);pointer-events:none}
.lh .shot .pane.on{opacity:1;transform:none;pointer-events:auto}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.lh .shot img.on{animation:floaty 6.5s ease-in-out infinite}
.lh .sch{background:transparent;padding:clamp(12px,1.5vw,20px);display:flex;flex-direction:column;gap:clamp(9px,1vw,13px);overflow:hidden}
.lh .sch-h{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.lh .sch-h b{font-size:clamp(.8rem,1vw,.98rem);font-weight:800;letter-spacing:-.022em}
.lh .sch-h .wk{margin-left:auto;font:700 .58rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ocean);background:rgba(46,75,224,.1);padding:6px 8px;border-radius:6px}
.lh .days{flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,.7vw,10px)}
.lh .day{display:flex;flex-direction:column;gap:6px;min-width:0}
.lh .day .dh{font:700 .54rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding-left:2px}
.lh .job{position:relative;background:#fff;border:1px solid rgba(24,24,27,.09);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 2px rgba(24,24,27,.05);transition:border-color .18s,box-shadow .18s,transform .18s}
.lh .job.hot{border-color:var(--ocean);box-shadow:0 0 0 3px rgba(46,75,224,.16);transform:translateY(-2px)}
.lh .job .jt{font:700 .52rem/1 var(--mono);letter-spacing:.06em;color:var(--faint)}
.lh .job .jn{font-size:.66rem;font-weight:700;letter-spacing:-.012em;line-height:1.25;text-wrap:pretty}
.lh .job .as{display:flex;align-items:center;gap:5px;margin-top:1px}
.lh .job .slot{width:19px;height:19px;border-radius:50%;border:1.5px dashed rgba(24,24,27,.24);flex:0 0 auto;display:grid;place-items:center;font:800 .5rem/1 var(--mono);color:#fff;overflow:hidden}
.lh .job.done .slot{border:0;border-style:solid}
.lh .job .an{font:700 .5rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .job.done .an{color:#1F8A5B}
.lh .job.done{animation:pop .4s cubic-bezier(.3,1.4,.5,1)}
@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.045)}100%{transform:scale(1)}}
.lh .tfab{position:absolute;right:clamp(12px,1.5vw,20px);bottom:clamp(12px,1.5vw,20px);z-index:6}
.lh .tfab .fb{position:relative;width:44px;height:44px;border-radius:50%;border:0;background:#18181B;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px -8px rgba(24,24,27,.6);transition:transform .3s cubic-bezier(.34,1.3,.5,1)}
.lh .tfab.open .fb{transform:rotate(45deg)}
.lh .tfab .fb svg{width:20px;height:20px}
.lh .tfab .bdg{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;border-radius:8px;background:var(--signal);color:#fff;font:800 .55rem/16px var(--mono);text-align:center;border:2px solid #F4F1EC}
.lh .tfab.open .fb svg.pp{opacity:0}
.lh .tfab .fb svg.xx{position:absolute;opacity:0;transition:opacity .2s}
.lh .tfab.open .fb svg.xx{opacity:1}
.lh .tfab .fb svg.pp{transition:opacity .2s}
.lh .mem{position:absolute;right:4px;bottom:4px;display:flex;align-items:center;gap:8px;opacity:0;transform:translate(0,0) scale(.6);transition:opacity .3s ease,transform .42s cubic-bezier(.34,1.28,.44,1);pointer-events:none;touch-action:none}
.lh .tfab.open .mem{opacity:1;pointer-events:auto}
.lh .tfab.open .mem.m1{transform:translate(-6px,-58px) scale(1)}
.lh .tfab.open .mem.m2{transform:translate(-62px,-24px) scale(1)}
.lh .mem .pill{order:-1;background:#18181B;color:#fff;font:700 .56rem/1 var(--mono);letter-spacing:.05em;padding:6px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(24,24,27,.5)}
.lh .mem .fa{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:800 .66rem/1 var(--mono);color:#fff;cursor:grab;border:2px solid #fff;box-shadow:0 8px 20px -6px rgba(24,24,27,.55);flex:0 0 auto}
.lh .mem .fa:active{cursor:grabbing}
.lh .mem.gone{opacity:0;pointer-events:none}
.lh .dragghost{position:fixed;z-index:99;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:800 .66rem/1 var(--mono);color:#fff;border:2px solid #fff;box-shadow:0 12px 28px -6px rgba(24,24,27,.6);pointer-events:none;transform:translate(-50%,-50%) scale(1.1)}
.lh .stoast{position:absolute;left:clamp(12px,1.5vw,20px);bottom:clamp(12px,1.5vw,20px);z-index:5;display:flex;align-items:center;gap:8px;background:#18181B;color:var(--bone);border-radius:10px;padding:9px 12px;font-size:.7rem;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .26s ease,transform .3s ease;pointer-events:none}
.lh .stoast.on{opacity:1;transform:none}
.lh .stoast i{width:6px;height:6px;border-radius:50%;background:#5FD39B;font-style:normal}
.lh .hintr{font:700 .54rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);flex:0 0 auto}
.lh .aic{background:transparent;padding:clamp(12px,1.5vw,20px);display:flex;flex-direction:column;gap:clamp(8px,1vw,12px);overflow:hidden}
.lh .aic-h{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.lh .aic-h b{font-size:clamp(.8rem,1vw,.98rem);font-weight:800;letter-spacing:-.022em}
.lh .aic-h .on2{display:inline-flex;align-items:center;gap:6px;font:700 .56rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#1F8A5B}
.lh .aic-h .on2 i{width:6px;height:6px;border-radius:50%;background:#1F8A5B;font-style:normal;animation:pulse2 1.8s ease-in-out infinite}
.lh .aic-h .qc{margin-left:auto;font:700 .56rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.lh .aik{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:0 0 auto}
.lh .aik div{background:#fff;border:1px solid rgba(24,24,27,.08);border-radius:9px;padding:8px 9px}
.lh .aik span{display:block;font:700 .5rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#8A8A93;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .aik b{display:block;margin-top:4px;font-size:.92rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lh .callc{position:relative;flex:1;min-height:0;background:#15161C;border-radius:13px;padding:clamp(11px,1.3vw,16px);display:flex;flex-direction:column;gap:9px;overflow:hidden;transition:box-shadow .4s}
.lh .callc.ring{box-shadow:0 0 0 0 rgba(46,75,224,.5);animation:ringpulse 1.15s ease-out infinite}
@keyframes ringpulse{0%{box-shadow:0 0 0 0 rgba(46,75,224,.42)}100%{box-shadow:0 0 0 14px rgba(46,75,224,0)}}
.lh .callc .idle{margin:auto;text-align:center;font:700 .62rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(244,240,232,.36)}
.lh .cr{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.lh .cr .av2{width:32px;height:32px;border-radius:50%;background:#2A2C36;color:#fff;display:grid;place-items:center;font:800 .68rem/1 var(--mono);flex:0 0 auto}
.lh .cr .nm2{min-width:0}
.lh .cr .nm2 b{display:block;font-size:.86rem;font-weight:800;letter-spacing:-.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .cr .nm2 span{display:block;margin-top:3px;font:600 .58rem/1 var(--mono);letter-spacing:.07em;color:rgba(244,240,232,.5)}
.lh .cr .st2{margin-left:auto;flex:0 0 auto;text-align:right}
.lh .cr .st2 em{display:block;font:700 .52rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--signal);font-style:normal}
.lh .cr .st2 b{display:block;margin-top:5px;font-size:.92rem;font-weight:800;letter-spacing:-.026em;color:#fff}
.lh .wave2{display:flex;align-items:center;gap:3px;height:26px;flex:0 0 auto}
.lh .wave2 i{flex:1;border-radius:2px;background:rgba(143,166,245,.42);height:20%;transition:height .28s ease}
.lh .callc.live .wave2 i{animation:bar2 .9s ease-in-out infinite}
@keyframes bar2{0%,100%{height:22%}50%{height:88%}}
.lh .cbtn{display:flex;gap:8px;flex:0 0 auto}
.lh .cbtn button{flex:1;border:0;border-radius:9px;padding:9px 10px;font:700 .68rem/1 "Public Sans";color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.lh .cbtn .dec{background:#C4453B}
.lh .cbtn .ans{background:#1F8A5B}
.lh .cbtn button svg{width:13px;height:13px}
.lh .ansd{flex:0 0 auto;display:flex;flex-direction:column;gap:7px}
.lh .arow2{display:flex;align-items:flex-start;gap:9px;font-size:.72rem;line-height:1.45;color:rgba(244,240,232,.78)}
.lh .arow2 b{color:#fff}
.lh .arow2 .ic2{width:18px;height:18px;border-radius:50%;background:rgba(46,75,224,.24);color:#6D82F0;display:grid;place-items:center;flex:0 0 auto;margin-top:1px}
.lh .arow2 .ic2 svg{width:10px;height:10px}
.lh .aibadge{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;background:rgba(31,138,91,.16);color:#5FD39B;border-radius:999px;padding:7px 12px;font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.lh .fade{animation:fadein .38s ease}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:1080px){.lh .days{grid-template-columns:repeat(3,minmax(0,1fr))}
.lh .day:nth-child(n/**/+4){display:none}
.lh .aik{grid-template-columns:repeat(2,1fr)}
.lh .aik div:nth-child(3){display:none}}
@media (max-width:640px){.lh .days{grid-template-columns:repeat(2,minmax(0,1fr))}
.lh .day:nth-child(n/**/+3){display:none}
.lh .job .jn{font-size:.72rem}}
.lh .mf-head{margin-top:clamp(72px,9vw,132px);text-align:center}
.lh .mf-head .mh{font-size:clamp(1.3rem,2.1vw,1.8rem)}
.lh .mf-head .mh{font-size:clamp(1.5rem,2.7vw,2.35rem);font-weight:800;letter-spacing:-.032em;line-height:1.1;max-width:22ch;margin:0 auto;text-wrap:balance}
.lh .mq{margin-top:clamp(22px,2.6vw,34px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.lh .mq-t{display:flex;gap:14px;width:max-content;animation:mq 36s linear infinite}
.lh .mq:hover .mq-t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(calc(-50% - 7px))}}
.lh .mf{width:168px;flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 14px 17px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 1px 2px rgba(24,24,27,.05)}
.lh .mf .ic{width:46px;height:46px;border-radius:50%;background:rgba(46,75,224,.1);color:var(--ocean);display:grid;place-items:center}
.lh .mf .ic svg{width:20px;height:20px}
.lh .mf.sig .ic{background:rgba(46,75,224,.12);color:var(--signal)}
.lh .mf b{font-size:.87rem;font-weight:700;letter-spacing:-.012em;text-align:center;text-wrap:balance}
.lh .sec4{background:var(--page);color:var(--ink);padding:0 0 clamp(60px,7.6vw,110px)}
.lh .s4wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px)}
.lh .s4top h2{font:600 .7rem/1 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--signal)}
.lh .s4top .d2{margin:16px 0 0;font-size:clamp(1.85rem,3.1vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;max-width:20ch}
.lh .s4top .intro{margin:12px 0 0;font-size:1rem;line-height:1.6;color:var(--muted);max-width:56ch;text-wrap:pretty}
.lh .pr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);margin-top:clamp(28px,3.6vw,46px);align-items:stretch}
.lh .pc{position:relative;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px 24px 26px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(24,24,27,.05)}
.lh .pc.dark{background:#15161C;border-color:#15161C;color:var(--bone);box-shadow:0 26px 54px -26px rgba(24,24,27,.5)}
.lh .pc .pn2{display:flex;align-items:center;gap:10px;font:700 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lh .pc.dark .pn2{color:rgba(244,240,232,.6)}
.lh .pc .tag2{margin-left:auto;font:700 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);background:rgba(46,75,224,.14);padding:5px 8px;border-radius:6px}
.lh .pc .amt{margin:16px 0 0;font-size:clamp(2rem,2.7vw,2.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:7px}
.lh .pc .amt small{font:600 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--muted)}
.lh .pc.dark .amt small{color:rgba(244,240,232,.56)}
.lh .pc .pitch{margin:10px 0 0;font-size:.88rem;line-height:1.55;color:var(--muted);text-wrap:pretty}
.lh .pc.dark .pitch{color:rgba(244,240,232,.7)}
.lh .pc ul{list-style:none;margin:18px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;flex:1 1 auto}
.lh .pc.dark ul{border-color:rgba(244,240,232,.14)}
.lh .pc li{display:flex;align-items:flex-start;gap:9px;font-size:.87rem;line-height:1.45}
.lh .pc li svg{width:13px;height:13px;margin-top:3px;flex:0 0 auto;color:var(--ocean)}
.lh .pc.dark li svg{color:#6D82F0}
.lh .pbtn{margin-top:22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;font-weight:700;padding:13px 20px;border-radius:999px;border:1px solid rgba(24,24,27,.18);color:var(--ink);transition:background .16s,color .16s,border-color .16s,transform .16s}
.lh .pbtn:hover{background:rgba(24,24,27,.05);color:var(--ink);transform:translateY(-1px)}
.lh .pbtn.solid{background:var(--ocean);border-color:var(--ocean);color:#fff}
.lh .pbtn.solid:hover{background:#4A68E4;color:#fff}
.lh .plus{width:100%;text-align:left;font:inherit;color:inherit;margin-top:16px;border:1px dashed rgba(24,24,27,.2);border-radius:13px;padding:13px 14px;background:rgba(24,24,27,.028);cursor:pointer;transition:background .16s,border-color .16s}
.lh .plus:hover{background:rgba(24,24,27,.055);border-color:rgba(24,24,27,.32)}
.lh .plus b{display:block;font-size:.83rem;font-weight:800;letter-spacing:-.01em}
.lh .plus p{margin:5px 0 0;font-size:.79rem;line-height:1.5;color:var(--muted)}
.lh .plus .cue{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font:700 .64rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ocean)}
.lh .plus .cue svg{width:12px;height:12px}
.lh .flip{perspective:1600px;display:grid}
.lh .flip-in{position:relative;display:grid;height:100%;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.4,0,.2,1)}
.lh .flip.on .flip-in{transform:rotateY(180deg)}
.lh .face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.lh .face.back{transform:rotateY(180deg)}
.lh .flip:not(.on) .face.back{pointer-events:none}
.lh .flip.on .face.front{pointer-events:none}
.lh .backbtn{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:7px;font:700 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:0;cursor:pointer;font-family:var(--mono)}
.lh .backbtn:hover{color:var(--ink)}
.lh .backbtn svg{width:12px;height:12px}
.lh .notinc{margin-top:14px;font-size:.78rem;line-height:1.5;color:var(--faint)}
.lh .ent{margin-top:clamp(14px,1.6vw,20px);display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.lh .ent b{font-size:.95rem;font-weight:800;letter-spacing:-.015em}
.lh .ent p{font-size:.87rem;color:var(--muted);line-height:1.5}
.lh .ent a{margin-left:auto;font-size:.87rem;font-weight:700;color:var(--ocean);white-space:nowrap}
.lh .ast{font-size:.72em;color:var(--signal);font-weight:700;margin-left:1px}
.lh .pnote{margin-top:18px;font-size:.8rem;line-height:1.5;color:var(--faint)}
.lh .pfoot{margin-top:10px;font:600 .68rem/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.lh .mstage{display:none}
.lh .band{position:relative;background:var(--page);color:var(--ink);padding:clamp(58px,7vw,104px) 0}
.lh .band.night{background:#0A0C14;color:var(--bone)}
.lh .wrap{max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px)}
.lh .eb{font:600 .7rem/1 var(--mono);letter-spacing:.19em;text-transform:uppercase;color:var(--signal)}
.lh .dsp{margin:16px 0 0;font-size:clamp(1.85rem,3.1vw,2.8rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;max-width:20ch}
.lh .band.night .dsp{color:#fff}
.lh .bd{margin:14px 0 0;font-size:.98rem;line-height:1.66;color:var(--muted);max-width:54ch;text-wrap:pretty}
.lh .band.night .bd{color:rgba(244,240,232,.72)}
.lh .bd+.bd{margin-top:12px}
.lh .todo{color:var(--signal);background:rgba(46,75,224,.1);border-radius:5px;padding:1px 6px;font:600 .82em/1.4 var(--mono);letter-spacing:.04em}
.lh .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(24px,4vw,64px);align-items:center}
.lh .callcard{background:#15161C;border:1px solid rgba(244,240,232,.14);border-radius:20px;padding:22px 24px 24px;box-shadow:0 30px 60px -28px rgba(0,0,0,.7)}
.lh .cc-top{display:flex;align-items:center;gap:9px;font:600 .64rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(244,240,232,.5)}
.lh .cc-time{margin-left:auto;color:var(--signal)}
.lh .cc-who{margin-top:14px;font-size:1.3rem;font-weight:800;letter-spacing:-.025em;color:#fff}
.lh .cc-num{margin-top:5px;font:600 .74rem/1 var(--mono);letter-spacing:.07em;color:rgba(244,240,232,.5)}
.lh .wave{display:flex;align-items:center;gap:3px;height:36px;margin-top:18px}
.lh .wave i{flex:1;border-radius:2px;background:rgba(143,166,245,.5);height:22%}
.lh .cc-line{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(244,240,232,.13);font-size:.85rem;line-height:1.5;color:rgba(244,240,232,.76)}
.lh .cc-line b{color:#fff}
.lh .cc-ic{width:19px;height:19px;border-radius:50%;background:rgba(46,75,224,.24);color:#6D82F0;display:grid;place-items:center;flex:0 0 auto;margin-top:1px}
.lh .cc-ic svg{width:11px;height:11px}
.lh .cc-booked{margin-top:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(31,138,91,.16);color:#5FD39B;border-radius:999px;padding:8px 14px;font:700 .66rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}
.lh .stack{display:flex;flex-direction:column;gap:10px}
.lh .oldapp{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:13px 16px;color:var(--faint);text-decoration:line-through;font-size:.9rem;font-weight:600}
.lh .oldapp span{margin-left:auto;font:600 .68rem/1 var(--mono);letter-spacing:.08em;text-decoration:none}
.lh .onebox{display:flex;align-items:center;gap:13px;background:#15161C;color:var(--bone);border-radius:15px;padding:18px 20px;margin-top:6px;box-shadow:0 20px 44px -22px rgba(24,24,27,.5)}
.lh .onebox b{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.lh .onebox span{margin-left:auto;font:600 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,240,232,.56)}
.lh .stories{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,20px);margin-top:clamp(26px,3.4vw,42px)}
.lh .story{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.lh .story h3{font-size:1.14rem;font-weight:800;letter-spacing:-.022em}
.lh .story p{margin:10px 0 0;font-size:.89rem;line-height:1.6;color:var(--muted);text-wrap:pretty}
.lh .story blockquote{margin:18px 0 0;padding:16px 18px;border-left:2px solid var(--ocean);background:rgba(46,75,224,.05);border-radius:0 12px 12px 0;font-size:.88rem;line-height:1.55;color:var(--muted)}
.lh .closing{margin:clamp(20px,2.4vw,30px) 0 0;font-size:1.06rem;font-weight:700;letter-spacing:-.02em}
.lh .estw{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 24px 50px -28px rgba(24,24,27,.3)}
.lh .est-h{display:flex;align-items:center;gap:10px;font:700 .68rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.lh .est-h .st{margin-left:auto;color:#1F8A5B;background:rgba(31,138,91,.1);padding:5px 9px;border-radius:6px;font-size:.6rem}
.lh .est-rows{margin-top:16px;display:flex;flex-direction:column;gap:9px}
.lh .est-r{display:flex;align-items:center;gap:12px;font-size:.87rem;padding-bottom:9px;border-bottom:1px solid var(--line)}
.lh .est-r b{margin-left:auto;font:700 .88rem/1 var(--mono);font-variant-numeric:tabular-nums}
.lh .est-tot{display:flex;align-items:baseline;gap:10px;margin-top:14px}
.lh .est-tot .lb{font:600 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.lh .est-tot .v{margin-left:auto;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lh .est-sign{margin-top:16px;border:1px dashed rgba(24,24,27,.22);border-radius:13px;padding:14px 16px;display:flex;align-items:center;gap:12px}
.lh .est-sig{font-family:"Public Sans";font-style:italic;font-weight:500;font-size:1.18rem;color:var(--ink);opacity:.82}
.lh .est-sign .ok{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font:700 .64rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#1F8A5B}
.lh .dep{margin-top:12px;display:flex;align-items:center;gap:9px;font-size:.85rem;font-weight:600;color:var(--ink)}
.lh .dep .dot2{width:7px;height:7px;border-radius:50%;background:#1F8A5B}
.lh .procbox{margin-top:clamp(16px,2vw,24px);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.lh .procbox h3{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.lh .procbox p{margin:8px 0 0;font-size:.89rem;line-height:1.6;color:var(--muted);max-width:62ch}
.lh .bookw{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 24px 50px -28px rgba(24,24,27,.3)}
.lh .bf{display:flex;gap:9px;flex-wrap:wrap}
.lh .bf input{flex:1;min-width:0;border:1px solid rgba(24,24,27,.18);border-radius:11px;padding:13px 14px;font:500 .9rem/1 "Public Sans";color:var(--ink);background:var(--page)}
.lh .bf input:focus{outline:2px solid rgba(46,75,224,.4);outline-offset:1px;border-color:var(--ocean)}
.lh .bf button{border:0;background:var(--ocean);color:#fff;border-radius:11px;padding:13px 20px;font:700 .88rem/1 "Public Sans";cursor:pointer;transition:background .16s}
.lh .bf button:hover{background:#4A68E4}
.lh .board{margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.lh .board-h{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--page);font:700 .64rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.lh .board-h em{width:6px;height:6px;border-radius:50%;background:var(--ocean);font-style:normal}
.lh .brow{display:flex;align-items:center;gap:11px;padding:12px 14px;border-top:1px solid var(--line);font-size:.86rem}
.lh .brow .t2{font:600 .66rem/1 var(--mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase}
.lh .brow .tag3{margin-left:auto;font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ocean);background:rgba(46,75,224,.1);padding:5px 8px;border-radius:6px}
.lh .brow.new{animation:drop .42s cubic-bezier(.3,1.3,.5,1)}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lh .toast{margin-top:14px;display:none;align-items:center;gap:9px;background:#15161C;color:var(--bone);border-radius:11px;padding:12px 15px;font-size:.85rem;font-weight:600}
.lh .toast.on{display:flex;animation:drop .34s ease}
.lh .toast .dot2{width:7px;height:7px;border-radius:50%;background:#5FD39B}
.lh .faq{margin-top:clamp(24px,3vw,38px);border-top:1px solid var(--line);max-width:88ch}
.lh .faq details{border-bottom:1px solid var(--line)}
.lh .faq summary{list-style:none;cursor:pointer;padding:19px 40px 19px 0;position:relative}
.lh .faq summary::-webkit-details-marker{display:none}
.lh .faq summary h3{font-size:1.04rem;font-weight:700;letter-spacing:-.02em}
.lh .faq summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:translateY(-70%) rotate(45deg);transition:transform .22s}
.lh .faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.lh .faq details p{margin:0 0 20px;font-size:.92rem;line-height:1.65;color:var(--muted);max-width:74ch;text-wrap:pretty}
.lh .final{text-align:center;display:flex;flex-direction:column;align-items:center}
.lh .final .dsp{max-width:none;font-size:clamp(2.4rem,5vw,4.2rem);letter-spacing:-.04em}
.lh .final .bd{color:rgba(244,240,232,.72);max-width:46ch;margin-left:auto;margin-right:auto}
.lh .cform{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.lh .cform input, .lh .cform textarea{border:1px solid rgba(244,240,232,.16);background:rgba(244,240,232,.05);border-radius:11px;padding:11px 13px;font:500 .86rem/1.4 "Public Sans";color:var(--bone);resize:vertical}
.lh .cform input::placeholder, .lh .cform textarea::placeholder{color:rgba(244,240,232,.4)}
.lh .cform input:focus, .lh .cform textarea:focus{outline:2px solid rgba(46,75,224,.5);outline-offset:1px;border-color:var(--ocean)}
.lh .cform button{border:0;background:#fff;color:#12141C;border-radius:11px;padding:12px 18px;font:700 .86rem/1 "Public Sans";cursor:pointer}
.lh .cform button:hover{background:#fff;transform:translateY(-1px)}
.lh .sent{display:none;align-items:center;gap:8px;font:700 .66rem/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:#5FD39B;padding-top:4px}
.lh .sent.on{display:flex}
.lh .ctaband{position:relative;isolation:isolate;overflow:hidden;background:#4E5568;border-radius:clamp(20px,2.2vw,30px);padding:clamp(56px,7.4vw,104px) clamp(20px,3.6vw,48px)}
.lh .ctawrap{background:var(--page);padding:clamp(34px,5vw,74px) clamp(20px,3.6vw,54px)}
.lh .ctaband>.sky{background:
url(../img/grain-96.png),
radial-gradient(1200px 900px at 85% 8%,rgba(124,100,136,.52),rgba(124,100,136,0) 70%),
radial-gradient(1100px 900px at 10% 26%,rgba(72,98,127,.58),rgba(72,98,127,0) 70%),
radial-gradient(1000px 850px at 82% 56%,rgba(148,104,127,.42),rgba(148,104,127,0) 70%),
radial-gradient(1100px 900px at 15% 85%,rgba(104,136,159,.52),rgba(104,136,159,0) 70%),
linear-gradient(#6D7CA0,#67769A 40%,#5C6E92);
background-repeat:repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
background-size:auto,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;
background-blend-mode:overlay,normal,normal,normal,normal,normal}
.lh .ctaband>.rays{-webkit-mask-image:radial-gradient(40% 92% at 50% 74%,#000 0%,rgba(0,0,0,.55) 48%,transparent 84%);mask-image:radial-gradient(40% 92% at 50% 74%,#000 0%,rgba(0,0,0,.55) 48%,transparent 84%)}
.lh .ctaband>.sky, .lh .ctaband>.rays, .lh .ctaband>.stars{border-radius:inherit}
.lh .ctaband .inner{position:relative;z-index:3;max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.lh .ctaband .eb{color:rgba(255,255,255,.62)}
.lh .ctaband .dsp{max-width:18ch;color:#fff;font-size:clamp(2rem,3.9vw,3.4rem)}
.lh .ctaband .bd{color:rgba(255,255,255,.72);max-width:46ch}
.lh .ctaband .microtxt{color:rgba(255,255,255,.82)}
.lh .ctaband .orbtxt .live{color:rgba(255,255,255,.8)}
@media (max-width:640px){.lh .ctawrap{padding-left:14px;padding-right:14px}
.lh .ctaband{padding-left:20px;padding-right:20px}
.lh .ctaband .inner{align-items:flex-start;text-align:left}
.lh .ctaband .dsp{max-width:none}
.lh .ctaband .bd{max-width:none}}
.lh .trust{display:none}
@media (min-width:1081px){
.lh .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"nav nav" "text visual" "trust trust";max-width:1440px;margin:0 auto;padding:0 clamp(20px,3.6vw,54px);column-gap:clamp(32px,4.5vw,72px);row-gap:0;align-items:center}
.lh .shell{grid-area:nav;max-width:none;margin:0;padding:0;width:auto}
.lh .hmid{grid-area:text;max-width:none;margin:0;padding:clamp(26px,4.6vw,60px) 0 clamp(40px,5vw,72px);justify-items:start}
.lh .copy{align-items:flex-start;text-align:left}
.lh .display{text-wrap:wrap}
.lh .lede{margin-left:0}
.lh .cta{justify-content:flex-start}
.lh .panels{grid-area:visual;max-width:none;margin:0;padding:0;display:block;position:relative;height:clamp(320px,30vw,420px);perspective:1500px}
.lh .pn.l{display:none}
.lh .pn.c{position:absolute;top:4%;left:0;width:80%;transform:none;z-index:1}
.lh .pn.r{position:absolute;right:0;bottom:0;width:54%;z-index:2}
.lh .trust{grid-area:trust;display:flex;padding:clamp(28px,3.6vw,44px) 0 clamp(40px,5vw,64px)}
}
.lh .hstage{display:grid;width:100%;justify-items:center}
.lh .copy{grid-area:1/1}
.lh .copy{transition:opacity .42s ease,transform .52s cubic-bezier(.4,0,.2,1),filter .42s ease}
.lh .hero.signin-on .copy{opacity:0;transform:translateY(-26px) scale(.975);filter:blur(5px);pointer-events:none}
.lh .hero.signin-on .signin{opacity:1;visibility:visible;transform:none;transition-delay:.16s,.16s,0s}
.lh .hero.signin-on .sicard>*{opacity:1;transform:none;transition:opacity .44s ease,transform .5s cubic-bezier(.34,1.14,.44,1)}
.lh .hero.signin-on .sicard>*:nth-child(1){transition-delay:.24s}
.lh .hero.signin-on .sicard>*:nth-child(2){transition-delay:.29s}
.lh .hero.signin-on .sicard>*:nth-child(3){transition-delay:.34s}
.lh .hero.signin-on .sicard>*:nth-child(4){transition-delay:.39s}
.lh .hero.signin-on .sicard>*:nth-child(5){transition-delay:.44s}
.lh .hero.signin-on .sicard>*:nth-child(6){transition-delay:.49s}
.lh .hero.signin-on .sicard>*:nth-child(7){transition-delay:.54s}
.lh .panels{transition:opacity .5s ease,transform .56s cubic-bezier(.4,0,.2,1)}
.lh .hero.signin-on .panels{opacity:.28;transform:translateY(26px)}
@media (max-width:640px){}
@media (max-width:1080px){.lh .hero{min-height:0}
.lh .hmid{flex:0 0 auto;grid-template-columns:1fr;gap:22px;padding-top:clamp(34px,5vw,50px);max-width:900px}
.lh .copy{order:1}
.lh .display{max-width:15ch;font-size:clamp(2.4rem,5.6vw,3.5rem)}
.lh .lede{max-width:52ch;font-size:.88rem}
.lh .orbwrap{margin-top:clamp(22px,3vw,32px)}
.lh .panels{gap:12px;margin-top:clamp(20px,2.6vw,30px)}
.lh .pn .pfr{height:clamp(140px,20vw,190px)}
.lh .pn .plabel{font-size:.63rem;letter-spacing:.11em}
.lh .pn.l, .lh .pn.c{transform:none}
.lh .pn.r{transform:perspective(1400px) rotateY(-12deg) rotateX(3deg) rotate(2.4deg) translateY(-6px)}
.lh .loop{grid-template-columns:repeat(2,minmax(0,1fr))}
.lh .loop .f:last-child{grid-column:1/-1}
.lh .fx{grid-template-columns:1fr;gap:26px}
.lh .acc{order:2}
.lh .pr{grid-template-columns:1fr 1fr}
.lh .flip.s{grid-column:1/-1}
.lh .split{grid-template-columns:1fr;gap:28px}
.lh .stories{grid-template-columns:1fr}}
@media (max-width:640px){.lh .hero{min-height:0;padding-bottom:0}
.lh .hmid{gap:18px;padding-top:26px;padding-bottom:0}
.lh .eyebrow{font-size:.6rem;letter-spacing:.15em}
.lh .copy{text-align:left;align-items:flex-start}
.lh .hmid{justify-items:start}
.lh .display{font-size:clamp(1.95rem,8.6vw,2.5rem);max-width:none;margin-top:14px}
.lh .lede{margin-top:14px;font-size:.78rem;line-height:1.62;letter-spacing:.03em;max-width:none}
.lh .cta{justify-content:flex-start;gap:10px;margin-top:22px}
.lh .btn{padding:13px 20px;font-size:.88rem}
.lh .orbwrap{margin-left:0;gap:10px}
.lh .orb{width:48px}
.lh .orb::before{inset:-4px}
.lh .orb .eq{height:15px}
.lh .orb .eq i{width:2.5px}
.lh .orblab{font-size:.72rem;align-self:center}
.lh .microtxt{margin-top:10px;font-size:.58rem;letter-spacing:.1em}
.lh .orbtxt .live{font-size:.54rem}
.lh .mf-head{text-align:left}
.lh .mf-head .mh{margin:0;max-width:none}
.lh .s2head .d2, .lh .s3top .d2, .lh .s4top .d2{max-width:none}
.lh .panels{display:none}
.lh .mstage{display:block;position:relative;z-index:6;margin:18px 16px clamp(-56px,-10vw,-32px);perspective:900px}
.lh .mplane{position:relative;height:250px;border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:var(--page);transform:rotateY(-9deg) rotateX(5deg) rotate(.8deg);box-shadow:0 26px 52px -22px rgba(0,0,0,.78),0 -8px 34px rgba(255,255,255,.08)}
.lh .mplane img{display:block;width:152%;max-width:none;height:auto}
.lh .mplane::after{content:"";position:absolute;inset:0;background:linear-gradient(122deg,rgba(46,75,224,.14),transparent 44%,rgba(5,6,12,.34))}
.lh .mfc{position:absolute;background:var(--card);color:var(--ink);border:1px solid rgba(255,255,255,.5);border-radius:14px;padding:12px 13px;box-shadow:0 24px 46px -18px rgba(0,0,0,.72),0 6px 14px -8px rgba(0,0,0,.5)}
.lh .mfc.dark{background:#15161C;color:var(--bone);border-color:rgba(244,240,232,.14)}
.lh .mfc.rev{top:-16px;left:-4px;width:63%}
.lh .mfc.dark{right:-4px;bottom:-18px;width:74%}
.lh .mlab{display:flex;align-items:center;gap:7px;font:600 .58rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.lh .mfc.dark .mlab{color:rgba(244,240,232,.52)}
.lh .mbig{margin-top:7px;font-size:1.32rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.lh .mup{display:inline-flex;font:700 .6rem/1 var(--mono);color:#1F8A5B;background:rgba(31,138,91,.1);padding:4px 6px;border-radius:5px;margin-left:6px;vertical-align:2px}
.lh .mspark{display:block;width:100%;height:34px;margin-top:8px}
.lh .mring{width:6px;height:6px;border-radius:50%;background:var(--signal);animation:ringp 1.9s ease-out infinite}
.lh .mwho{margin-top:8px;font-size:.92rem;font-weight:800;letter-spacing:-.02em}
.lh .mnum{margin-top:4px;font:600 .68rem/1 var(--mono);letter-spacing:.06em;color:rgba(244,240,232,.55)}
.lh .mauto{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(244,240,232,.13);font-size:.7rem;line-height:1.4;color:rgba(244,240,232,.72)}
.lh .mauto b{color:var(--bone);font-weight:700}
.lh .mtick{width:15px;height:15px;border-radius:50%;background:rgba(46,75,224,.22);color:#6D82F0;display:grid;place-items:center;flex:0 0 auto}
.lh .mtick svg{width:9px;height:9px}
.lh .loop{grid-template-columns:1fr}
.lh .loop .f:last-child{grid-column:auto}
.lh .ai .body{max-height:0}
.lh .ai.on .body{max-height:280px}
.lh .mf{width:146px;padding:17px 12px 15px}
.lh .pr{grid-template-columns:1fr}
.lh .flip.s{grid-column:auto}
.lh .dsp, .lh .bd{max-width:none}
.lh .final .bd{margin:14px 0 0}
.lh .final{align-items:flex-start;text-align:left}
.lh .ent a{margin-left:0}}
@media (prefers-reduced-motion:reduce){.lh .mq-t{animation:none}
.lh .orb{transition:none}
.lh .orb .eq i{animation:none;height:15px}
.lh .live em{animation:none}
.lh .flip-in{transition:none}}

/* ── chrome restore ──
   The shared header lives inside `.lh`, so the scoped generic rules above
   would otherwise repaint it. These re-assert the kit's own colours at a
   specificity the scope cannot beat. See scope_home_css.py. */
.lh .phnav .nact .pill{color:#111;background:#fff}
.lh .phnav .nact .sign{color:rgba(255,255,255,.82)}
.lh .phnav .nlinks a{color:rgba(255,255,255,.74)}
.lh .phnav .nlinks a:hover{color:#fff}
.lh .phnav .npanel a{color:var(--bone)}
.lh .phnav .brandlink{color:var(--bone)}
.lh .phnav .burger{color:#fff}

/* The nav dropdown has to out-stack the hero, not just the background.
   `.shell` (which wraps the nav) and `.hmid` (which holds the h1) were both
   z-index:3, so the tie went to DOM order and the headline painted over the
   open panel. `.npanel`'s own z-index:40 cannot help: `.shell` sets position
   + z-index, so it opens a stacking context and 40 only sorts inside it.
   10 clears `.panels` and `.mstage` (both 6) as well, since a long dropdown
   overlaps the panel row too. `.shell` wraps nothing but the nav. */
.lh .shell{z-index:10}


/* -- HOME: body copy is NOT monospace --------------------------------------
   The canvas hero lede is `font-size:19px;line-height:1.6` with NO
   font-family, so it inherits Public Sans. This stylesheet had it at
   .92rem/1.72 in var(--mono) with .055em tracking -- a 12.5px monospace
   paragraph on a phone, which is what made the homepage unreadable.

   The canvas uses IBM Plex Mono ONLY at 10-11px for eyebrows and micro
   labels, never for running copy. Same for the eyebrow: it is an h1/h2 and
   the canvas sets h1..h4 to Archivo globally, at 13-14px / .14em -- not mono
   at .68rem / .19em.

   Scoped to .lh so it beats the base rules above without touching the 69
   other var(--mono) uses in this file, which are genuinely labels and
   numerals.                                                                 */
.lh .lede{font:400 19px/1.6 var(--body);letter-spacing:0;max-width:54ch;
  color:rgba(255,255,255,.9)}
.lh .eyebrow{font:600 13px/1.3 var(--dsp);letter-spacing:.14em}

@media (max-width:760px){
  .lh .lede{font-size:17px;max-width:none}
  .lh .eyebrow{font-size:12px}
}


/* === HOME HERO - ported value-for-value from Home.dc.html ================ */
.lh .hsheet{background:var(--porcelain);border-radius:0 0 30px 30px;
  box-shadow:0 40px 90px -50px rgba(12,15,28,.6);margin-bottom:26px;padding-top:14px}
.lh .hrx{position:relative;overflow:hidden;border-radius:26px;margin:0 24px;
  background:#67769A;padding:0 64px;min-height:0}
.lh .hdefs{position:absolute}

/* eight atmosphere layers, in the canvas's order */
.lh .hsky{position:absolute;inset:-24%;filter:url(#heroSky) blur(95px)}
.lh .hsky i{position:absolute;border-radius:50%;display:block}
.lh .hsky .b1{left:-10%;top:-8%;width:62%;height:64%;background:#48627F}
.lh .hsky .b2{right:-12%;top:6%;width:60%;height:60%;background:#7C6488}
.lh .hsky .b3{left:12%;bottom:-18%;width:64%;height:62%;background:#68889F}
.lh .hsky .w1{left:2%;top:4%;width:38%;height:32%;background:rgba(255,255,255,.5)}
.lh .hsky .w2{right:8%;top:32%;width:40%;height:34%;background:rgba(255,255,255,.4)}
.lh .hsky .w3{left:28%;bottom:-10%;width:42%;height:36%;background:rgba(255,255,255,.6)}
.lh .hsky .streak{left:6%;top:24%;width:56%;height:34%;transform:rotate(-12deg);
  background:linear-gradient(92deg,rgba(255,255,255,0) 0%,rgba(255,246,226,.3) 36%,rgba(214,234,255,.26) 66%,rgba(255,255,255,0) 100%)}
.lh .hshade{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,14,28,.5) 0%,rgba(10,14,28,.15) 42%,rgba(10,14,28,0) 62%)}
.lh .hgc{position:absolute;inset:0;background:url("/static/img/grain-cloud-sm.png") repeat;opacity:.7;mix-blend-mode:overlay}
.lh .hgn{position:absolute;inset:0;background:url("/static/img/grain-96.png") repeat;mix-blend-mode:overlay}

.lh .hgrid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));
  gap:64px;align-items:center;padding:72px 0 10px}

/* left column */
.lh .hrx .eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;color:#fff;
  font:600 14px/1.2 var(--dsp);letter-spacing:.14em;text-transform:uppercase}
.lh .hrx .display{margin:26px 0 0;font-family:var(--dsp);font-size:64px;font-weight:800;
  letter-spacing:-.042em;line-height:.96;color:#fff;text-wrap:balance}
.lh .hrx .display em{font-style:italic;font-weight:700;color:rgba(255,255,255,.66)}
.lh .hrx .display i{font-style:normal;color:#fff}
.lh .hrx .lede{margin:24px 0 0;max-width:54ch;text-wrap:pretty;
  font:400 19px/1.6 var(--body);letter-spacing:0;color:rgba(255,255,255,.9)}
.lh .hrx .lede a{color:#fff;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.4)}
.lh .hrx .lede a:hover{text-decoration-color:#fff}
.lh .hrx .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.lh .hrx .btn.primary{display:inline-flex;align-items:center;gap:8px;background:var(--porcelain);
  color:var(--ink);border:0;border-radius:999px;padding:14px 24px;white-space:nowrap;
  font-family:var(--dsp);font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lh .hrx .btn.primary:hover{background:var(--hover-2)}
.lh .hrx .btn.primary svg{width:14px;height:14px}

.lh .hask{display:flex;align-items:center;gap:6px;max-width:420px;margin:20px 0 0;
  background:rgba(16,20,40,.4);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.4);
  border-radius:999px;padding:6px 6px 6px 22px}
.lh .hask .haskt{flex:1;min-width:0;color:rgba(255,255,255,.82);
  font:400 15px/1 var(--body);padding:9px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lh .hask .haskb{flex:none;width:40px;height:40px;border-radius:50%;background:var(--porcelain);
  display:grid;place-items:center;color:var(--ink)}
.lh .hask .haskb svg{width:16px;height:16px}
.lh .hask:hover .haskb{background:var(--hover-2)}
.lh .hrx .microtxt{margin-top:14px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.68)}

/* right column: command center + night board */
.lh .hmock{position:relative}
.lh .hmk{width:84%}
.lh .hbadge{display:inline-flex;align-items:center;gap:9px;margin-bottom:11px;
  background:rgba(16,18,28,.78);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:7px 13px;color:#fff;
  font-family:var(--dsp);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.lh .hbadge i{width:7px;height:7px;border-radius:50%;background:#fff;font-style:normal}
.lh .hbadge.hb2{position:absolute;right:4%;top:54%;margin:0;z-index:3}

.lh .hcard{background:var(--porcelain);border-radius:16px;padding:20px;
  box-shadow:0 32px 80px -24px rgba(15,18,32,.6);color:var(--ink)}
.lh .hcrow{display:flex;align-items:center;gap:10px}
.lh .hcrow h3{font-family:var(--body);font-size:19px;font-weight:700;letter-spacing:-.015em}
.lh .hdate{margin-left:auto;background:var(--ocean-050);color:var(--ocean-dk);
  font-family:var(--mono);font-size:11.5px;padding:5px 9px;border-radius:6px;text-transform:uppercase}
.lh .hkpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.lh .hkpi{background:var(--card-2);border-radius:9px;padding:11px 12px}
.lh .hkpi span{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-4)}
.lh .hkpi b{display:block;margin-top:4px;font-family:var(--mono);font-size:17px;font-weight:500}
.lh .hkpi b.due{color:var(--red)}
.lh .hkpi em{font-style:normal;font-size:12px;color:var(--faint)}
.lh .hkpi em.up{font-weight:600;color:var(--green)}

.lh .hweek{margin-top:12px;background:var(--card-2);border-radius:9px;padding:12px}
.lh .hwtop{display:flex;align-items:center;justify-content:space-between;
  font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.lh .hwtop b{font-family:var(--mono);font-size:13px;color:var(--ink);text-transform:none}
.lh .hbars{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end;height:64px;margin-top:10px}
.lh .hbars i{display:block;background:var(--ocean-200);border-radius:4px;font-style:normal}
.lh .hbars i.on{background:var(--ocean)}
.lh .hdays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:6px;
  font-family:var(--mono);font-size:10px;color:var(--faint);text-align:center}
.lh .hjobs{margin-top:10px;list-style:none;padding:0}
.lh .hjobs li{display:flex;align-items:center;gap:10px;padding:9px 2px;
  border-top:1px solid var(--line-08);font-size:13.5px}
.lh .hjobs .ht{font-family:var(--mono);font-size:12px;color:var(--ink-4)}
.lh .hjobs .hj{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh .hjobs .hs{font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint)}

.lh .hboard{position:absolute;right:0;bottom:-4%;width:72%;max-width:100%;z-index:2;
  background:#14161F;border-radius:14px;padding:14px;color:#fff;
  box-shadow:0 30px 70px -20px rgba(8,10,22,.8)}
.lh .hbtop{display:flex;align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.6)}
.lh .hbtop b{color:#fff;font-weight:500}
.lh .hbhrs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:9px;
  font-family:var(--mono);font-size:9.5px;color:rgba(255,255,255,.4);text-align:center}
.lh .hbrow{position:relative;display:flex;align-items:center;gap:7px;height:30px;margin-top:6px}
.lh .hbn{flex:none;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.14);
  display:grid;place-items:center;font-family:var(--mono);font-size:9px;color:#fff}
.lh .hbw{flex:none;width:40px;font-size:11px;color:rgba(255,255,255,.8)}
.lh .hbrow i{position:absolute;top:5px;height:20px;display:flex;align-items:center;
  padding:0 8px;border-radius:5px;font-size:10px;font-style:normal;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;color:#fff;margin-left:64px}
.lh .hbrow i.c0{background:rgba(255,255,255,.1)}
.lh .hbrow i.c1{background:var(--ocean)}
.lh .hbrow i.c3{background:var(--violet)}

/* proof row, inside the card */
.lh .hrx .trust{position:relative;display:flex;align-items:center;gap:34px;flex-wrap:wrap;
  padding:34px 0 44px}
.lh .hrx .trust .tl{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.6)}
.lh .hrx .trust .logos{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.lh .hrx .trust .logos div{font-family:var(--dsp);font-size:19px;font-weight:800;
  letter-spacing:-.018em;color:rgba(255,255,255,.92)}

@media (max-width:1100px){
  .lh .hrx{padding:0 28px}
  .lh .hgrid{gap:40px;padding:52px 0 8px}
  .lh .hrx .display{font-size:clamp(38px,7vw,56px)}
  .lh .hmk{width:100%}
  .lh .hboard{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}
  .lh .hbadge.hb2{position:relative;right:auto;top:auto;margin-top:14px}
}
@media (max-width:640px){
  .lh .hrx{margin:0 12px;padding:0 18px;border-radius:20px}
  .lh .hrx .display{font-size:clamp(32px,9vw,44px)}
  .lh .hrx .lede{font-size:17px}
  .lh .hrx .trust{gap:18px;padding:26px 0 32px}
  .lh .hrx .trust .logos{gap:18px}
  .lh .hrx .trust .logos div{font-size:15px}
}


/* ==== CANVAS SECTIONS 02-11, ported from Home.dc.html ==== */


/* ---- s2-loop ---- */
/* ════════════════════════════════════════════════════════════════════
   02 · THE LOOP — ported value-for-value from Home.dc.html, the
   `data-screen-label="How it works"` section (canvas lines 300-345).

   Three things worth knowing before editing:

   · **#52525B is written literally, never as var(--muted).** `.lh`
     (linq-site-home.css line 13) shadows --muted to #6E7076 inside this
     scope, so the token would silently paint the wrong grey. --ink,
     --ink-4, --ocean, --porcelain, --dsp, --body and --mono are NOT
     shadowed and are used as tokens.

   · **The display line re-declares eight properties.** The legacy
     `.lh .display` (line 57, plus three media overrides at 502/530/551)
     sets WHITE 5.2rem text capped at max-width:16ch. A 3-class selector
     outranks all of them, but only for the properties it actually names
     — and dropping max-width would wrap "One loop. Five stages." at
     ~432px, breaking the canvas's two-line split. Same for
     `.lh .display em`, which would otherwise force weight 500 and
     letter-spacing -.028em onto "Zero double entry."

   · **No background here.** The section rides the porcelain `.hsheet`,
     exactly as the canvas nests it in the sheet that also holds the
     hero, and .lp-label's knockout depends on that porcelain.
   ════════════════════════════════════════════════════════════════════ */
.lh .lp{padding:0}
.lh .lp-pad{padding:86px 112px 78px}
.lh .lp-in{margin:0 auto}

/* ── head: eyebrow + display line, with the lede beside them ── */
.lh .lp-head{display:flex;align-items:flex-end;gap:48px;flex-wrap:wrap}
.lh .lp-headl{flex:1 1 520px}
.lh .lp .lp-eb{margin:0;font-family:var(--dsp);font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ocean)}
.lh .lp .lp-head .display{margin:16px 0 0;max-width:none;font-family:var(--dsp);
  font-size:54px;font-weight:800;letter-spacing:-.038em;line-height:1.02;
  color:var(--ink);text-wrap:balance}
.lh .lp .lp-head .display em{font-style:italic;font-weight:700;
  letter-spacing:inherit;color:var(--ink-4)}
.lh .lp-lede{flex:0 1 380px;font-family:var(--body);font-size:17.5px;
  line-height:1.65;color:#52525B}

/* ── flow: dashed rail behind five stages ── */
.lh .lp-flow{position:relative;margin-top:56px}
.lh .lp-rail{position:absolute;left:0;right:0;top:19px;height:1px;
  background:repeating-linear-gradient(90deg,
    rgba(24,24,27,.2) 0 6px,rgba(24,24,27,0) 6px 12px)}
.lh .lp-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);
  gap:24px;margin:0;padding:0;list-style:none}
.lh .lp-numrow{display:flex;align-items:center;gap:10px}
.lh .lp-num{width:38px;height:38px;border-radius:50%;background:var(--ocean);
  color:#fff;display:grid;place-items:center;font-family:var(--mono);
  font-size:13px;font-weight:400;line-height:1}
/* stage 05 closes the loop, so its disc goes ink instead of cobalt */
.lh .lp-num.lp-num-end{background:var(--ink)}
.lh .lp .lp-t{margin:18px 0 0;font-family:var(--dsp);font-size:22px;
  font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.lh .lp .lp-b{margin:9px 0 0;font-family:var(--body);font-size:15.5px;
  line-height:1.6;color:#52525B}

/* ── the loop-back arrow and its knockout label ── */
.lh .lp-arrow{display:block;width:100%;height:58px;margin-top:30px;overflow:visible}
.lh .lp-arrow path{fill:none;stroke:var(--ocean);stroke-width:1.5;stroke-dasharray:6 6}
.lh .lp-arrow .lp-tip{stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round}
.lh .lp-label{margin-top:-20px;text-align:center;font-family:var(--mono);
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ocean)}
/* the porcelain pill is what cuts the dashed line for the label to sit in */
.lh .lp-label span{background:var(--porcelain);padding:0 16px}

/* `.lh a{color:var(--bone)}` paints every link cream — invisible on this
   porcelain sheet. The canvas copy has no links, but if one is ever added
   here it stays ink, matching how `.lh .sec2 a` guards the old section. */
.lh .lp a{color:var(--ink);text-decoration:underline;
  text-underline-offset:2px;text-decoration-color:rgba(24,24,27,.3)}
.lh .lp a:hover{color:var(--ocean);text-decoration-color:var(--ocean)}

/* ── responsive (canvas is a fixed desktop artboard; breakpoints match
      the hero port's 1100/640 rather than the legacy loop's 1080/640) ──
   Five columns stop working below ~1100px, so the row becomes 2-up with
   stage 05 spanning the full width. The rail is dropped there: it is one
   absolutely-positioned line at the first row's disc centre and would
   thread row 1 only. The arrow is KEPT at every width — it is the
   section's signature, it stretches cleanly (preserveAspectRatio:none),
   and stage 05 spanning the bottom still makes "back to the start" read
   correctly. */
@media (max-width:1100px){
  .lh .lp-pad{padding:76px 40px 66px}
  .lh .lp-head{gap:36px}
  .lh .lp .lp-head .display{font-size:clamp(38px,5vw,54px)}
  .lh .lp-flow{margin-top:44px}
  .lh .lp-rail{display:none}
  .lh .lp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}
  .lh .lp-stage:last-child{grid-column:1 / -1}
}
@media (max-width:640px){
  .lh .lp-pad{padding:56px 20px 48px}
  .lh .lp-head{gap:24px}
  .lh .lp .lp-head .display{font-size:clamp(30px,8.4vw,40px)}
  .lh .lp-lede{font-size:16.5px}
  .lh .lp-flow{margin-top:34px}
  .lh .lp-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .lh .lp-stage:last-child{grid-column:auto}
  .lh .lp-label{font-size:11.5px;letter-spacing:.08em}
  .lh .lp-label span{padding:0 10px}
}


/* ---- s3-ai ---- */
/* === 03 · AI RECEPTIONIST — ported value-for-value from Home.dc.html =======
   Canvas source: <section id="ai-receptionist">, lines 348-392.

   Everything is `ai-`prefixed. The one unprefixed class is `.display`, which
   the target convention mandates for the big line; it is always written as
   `.lh .ai-copy .display` (3 classes) so it outranks the six legacy
   `.lh .display` rules in this file — including the two inside media queries,
   which would otherwise re-shrink it and re-impose max-width:16ch/15ch.       */

.lh .ai-sec{padding:0 24px 26px;scroll-margin-top:96px}

.lh .ai-panel{position:relative;overflow:hidden;max-width:1440px;width:100%;margin:0 auto;
  background:var(--panel-night);color:#fff;border-radius:30px;padding:86px 72px;
  box-shadow:0 40px 90px -50px rgba(12,15,28,.75)}

/* the two decorative layers, in the canvas's order */
.lh .ai-glow{position:absolute;left:-6%;top:6%;width:56%;height:96%;border-radius:50%;
  background:var(--ocean);opacity:.35;filter:blur(130px);pointer-events:none}
.lh .ai-grain{position:absolute;inset:0;pointer-events:none;
  background:url("/static/img/grain-96.png") repeat;opacity:.6;mix-blend-mode:overlay}

.lh .ai-grid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:64px;align-items:center}

/* the canvas drives both dots from JS ([data-pulse] -> pulseDot 1.8s
   ease-in-out infinite, skipped under prefers-reduced-motion). CSS does the
   same job with no script, so nothing here needs a nonce. */
.lh .ai-dot{flex:none;border-radius:50%;animation:ai-pulseDot 1.8s ease-in-out infinite}
@keyframes ai-pulseDot{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.lh .ai-dot{animation:none}}

/* ── left column ─────────────────────────────────────────────────────────── */
.lh .ai-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0;
  font-family:var(--dsp);font-size:13px;font-weight:600;letter-spacing:.14em;
  line-height:1.2;text-transform:uppercase;color:#fff}
.lh .ai-eyebrow .ai-dot{width:7px;height:7px;background:#fff}

.lh .ai-copy .display{margin:18px 0 0;max-width:none;font-family:var(--dsp);
  font-size:54px;font-weight:800;letter-spacing:-.038em;line-height:1.03;
  color:#fff;text-wrap:balance}
.lh .ai-copy .display em{font-style:italic;font-weight:700;letter-spacing:-.038em;
  color:rgba(255,255,255,.6)}

.lh .ai-lede{margin:24px 0 0;max-width:52ch;font-family:var(--body);font-size:18px;
  font-weight:400;letter-spacing:0;line-height:1.65;color:rgba(255,255,255,.76)}

.lh .ai-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
/* line-height is left at `normal` on purpose: the canvas controls are <button>s,
   whose UA line-height is normal, so an <a> that sets one would not be the same
   height. */
.lh .ai-btn{display:inline-flex;align-items:center;justify-content:center;
  border-radius:11px;padding:15px 26px;white-space:nowrap;text-decoration:none;
  font-family:var(--body);font-size:16px;font-weight:600;cursor:pointer;
  transition:background .16s ease,border-color .16s ease}
.lh .ai-btn-solid{background:var(--porcelain);color:var(--ink);border:0}
.lh .ai-btn-solid:hover{background:#E4E4E8;color:var(--ink)}
.lh .ai-btn-ghost{background:rgba(255,255,255,.1);color:#fff;
  border:1px solid rgba(255,255,255,.28)}
.lh .ai-btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff}

/* ── right column: the incoming-call mock ────────────────────────────────── */
.lh .ai-call{background:#10141F;border:1px solid rgba(255,255,255,.22);
  border-radius:18px;padding:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}

.lh .ai-call-top{display:flex;align-items:center;gap:8px}
.lh .ai-live{display:flex;align-items:center;gap:7px;font-family:var(--mono);
  font-size:12px;letter-spacing:.08em;color:#7FD6A8}
.lh .ai-live .ai-dot{width:6px;height:6px;background:#7FD6A8}
.lh .ai-time{margin-left:auto;font-family:var(--mono);font-size:12px;
  color:rgba(250,250,250,.5)}

.lh .ai-who{display:flex;align-items:center;gap:12px;margin-top:18px}
.lh .ai-avatar{flex:none;width:44px;height:44px;border-radius:50%;background:#3A4058;
  display:grid;place-items:center;font-family:var(--body);font-size:14px;
  font-weight:600;color:#fff}
.lh .ai-name{display:block;font-family:var(--body);font-size:17px;font-weight:700;color:#fff}
.lh .ai-num{display:block;font-family:var(--mono);font-size:12.5px;
  color:rgba(250,250,250,.52)}

.lh .ai-wave{display:flex;align-items:flex-end;gap:3px;height:44px;margin:20px 0}
.lh .ai-wave i{flex:1;min-width:0;border-radius:2px;background:var(--ocean-lt);
  font-style:normal}
.lh .ai-wave i.ai-pk{background:#B9A8D6}
.lh .ai-wave i.ai-dim{background:rgba(109,130,240,.4)}

.lh .ai-steps{display:flex;flex-direction:column;gap:10px}
.lh .ai-step{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;
  background:rgba(255,255,255,.06);border-radius:12px}
.lh .ai-stept{font-family:var(--body);font-size:14.5px;line-height:1.55;
  color:rgba(255,255,255,.86)}
.lh .ai-badge{flex:none;width:22px;height:22px;border-radius:6px;
  display:grid;place-items:center;color:#fff}
.lh .ai-badge-ai{background:var(--ocean);font-family:var(--mono);font-size:10px}
.lh .ai-badge-sms{background:#6D51D6}
.lh .ai-badge-sms svg{width:12px;height:12px}

.lh .ai-booked{display:flex;align-items:center;gap:11px;padding:14px;
  background:rgba(127,214,168,.14);border:1px solid rgba(127,214,168,.3);
  border-radius:12px}
.lh .ai-check{flex:none;width:22px;height:22px;border-radius:50%;background:#7FD6A8;
  display:grid;place-items:center;color:#12351F}
.lh .ai-check svg{width:13px;height:13px}
.lh .ai-booked b{font-family:var(--body);font-size:14.5px;font-weight:700;color:#BDEBD1}

/* ── responsive ──────────────────────────────────────────────────────────
   The auto-fit grid folds on its own just under 1100px (2 x 420 + 64 gap +
   144 panel padding + 48 gutters). These only reflow the panel around it. */
@media (max-width:1100px){
  .lh .ai-panel{padding:64px 40px}
  .lh .ai-grid{gap:44px}
  .lh .ai-copy .display{font-size:clamp(38px,5.2vw,54px)}
}
@media (max-width:900px){
  .lh .ai-sec{padding:0 24px 18px}
  .lh .ai-panel{padding:44px 22px 40px;border-radius:26px}
  .lh .ai-grid{gap:34px}
  .lh .ai-copy .display{font-size:clamp(30px,7.4vw,42px)}
  .lh .ai-lede{font-size:17px;max-width:none}
  .lh .ai-call{padding:18px}
}
@media (max-width:520px){
  .lh .ai-eyebrow{font-size:12px}
  .lh .ai-cta{flex-direction:column;align-items:stretch}
  .lh .ai-btn{width:100%}
}


/* ---- s4-every ---- */
/* ══ s4-every · feature suite ═══════════════════════════════════════════
   Canvas: Home.dc.html lines 393-607 (<section id="features">).

   TOKEN TRAP: `.lh` in linq-site-home.css re-declares --muted as #6E7076.
   The canvas body copy here is #52525B, so every body/secondary colour in
   this block is the LITERAL #52525B — never var(--muted). Every other token
   used below (--ink --faint --ocean --ocean-dk --ocean-050 --porcelain
   --card-2 --ink-4 --green --red --dsp --body --mono) resolves identically
   in `.lh` and in :root.

   `.lh` also sets color:var(--bone) on the whole homepage, so .ev-panel
   re-asserts color:var(--ink) or the porcelain panel renders white-on-white.
   ══════════════════════════════════════════════════════════════════════ */

/* ── frame ─────────────────────────────────────────────────────────── */
.lh .ev-sec{padding:0 24px 26px;scroll-margin-top:96px}
.lh .ev-panel{margin:0 auto;background:var(--porcelain);border-radius:30px;padding:86px 72px 78px;box-shadow:0 40px 90px -50px rgba(12,15,28,.6);color:var(--ink)}

/* ── head: eyebrow IS the h2; the 54px line is <p class="display"> ─── */
.lh .ev-eb{margin:0;font-family:var(--dsp);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ocean)}
.lh .ev-head{display:flex;align-items:flex-end;gap:48px;flex-wrap:wrap;margin-top:16px}
/* three-class selector so it beats `.lh .display` (hero: #fff, 16ch, clamp) */
.lh .ev-head .ev-display{flex:1 1 480px;margin:0;max-width:none;font-family:var(--dsp);font-size:54px;font-weight:800;letter-spacing:-.038em;line-height:1.02;color:var(--ink)}
.lh .ev-intro{flex:0 1 380px;margin:0;font-size:17.5px;line-height:1.65;color:#52525B}

/* ── two-column body ───────────────────────────────────────────────── */
.lh .ev-fx{display:flex;flex-wrap:wrap;gap:52px;margin-top:52px;align-items:flex-start}

/* ── rail (tablist) ────────────────────────────────────────────────── */
.lh .ev-rail{flex:1 1 320px;min-width:0;display:flex;flex-direction:column}
.lh .ev-item{position:relative;border-top:1px solid rgba(24,24,27,.1);padding:22px 8px 22px 20px}
.lh .ev-item:last-child{border-bottom:1px solid rgba(24,24,27,.1)}
.lh .ev-bar{display:none;position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:2px;background:var(--ocean)}
.lh .ev-item--on .ev-bar{display:block}
.lh .ev-tab{display:block;width:100%;margin:0;padding:0;background:none;border:0;text-align:left;cursor:pointer;font-family:var(--body);color:inherit}
/* the whole row is the hit area, exactly as the canvas <button> was */
.lh .ev-tab::after{content:"";position:absolute;inset:0;border-radius:6px}
.lh .ev-tab:focus-visible{outline:none}
.lh .ev-tab:focus-visible::after{outline:2px solid var(--ocean);outline-offset:-3px}
.lh .ev-tab-t{display:block;font-family:var(--dsp);font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.lh .ev-body{display:none}
.lh .ev-item--on .ev-body{display:block}
.lh .ev-body-t{margin:9px 0 0;font-size:15.5px;line-height:1.6;color:#52525B}
/* z-index lifts the link above .ev-tab::after so it stays clickable */
.lh .ev-more{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:15px;font-weight:600;color:var(--ocean);text-decoration:none}
.lh .ev-more:hover{color:var(--ocean-dk)}
.lh .ev-more svg{width:14px;height:14px;flex:none}

/* ── stage ─────────────────────────────────────────────────────────── */
.lh .ev-stage{flex:1.35 1 440px;min-width:0;min-height:520px;background:#EEEEF0;border:1px solid rgba(24,24,27,.08);border-radius:20px;padding:22px}
.lh .ev-pane{display:block}

/* ── pane chrome shared by all six ─────────────────────────────────── */
.lh .ev-ph{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.lh .ev-ph > b{font-family:var(--dsp);font-size:15px;letter-spacing:-.01em}
.lh .ev-ph-hint{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}
.lh .ev-chip{margin-left:auto;background:#fff;border:1px solid rgba(24,24,27,.1);border-radius:7px;padding:5px 10px;font-family:var(--mono);font-size:11.5px;color:#52525B;white-space:nowrap}
.lh .ev-live{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--green)}
.lh .ev-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:ev-pulse-dot 1.8s ease-in-out infinite}
.lh .ev-sub{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}
.lh .ev-ml{margin-left:auto}
@keyframes ev-pulse-dot{0%,100%{opacity:1}50%{opacity:.25}}

/* ── pills ─────────────────────────────────────────────────────────── */
.lh .ev-pill{font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;white-space:nowrap}
.lh .ev-pill--g{background:#DAEEE3;color:#166339}
.lh .ev-pill--b{background:var(--ocean-050);color:var(--ocean-dk)}
.lh .ev-pill--v{background:#EDE7FA;color:#5A3FB8}
.lh .ev-pill-s{font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap}
.lh .ev-pill-s--g{background:#DAEEE3;color:#166339}
.lh .ev-pill-s--n{background:#E4E4E8;color:#52525B}

/* ── pane 0 · dispatch board ───────────────────────────────────────── */
.lh .ev-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lh .ev-day{background:var(--porcelain);border-radius:12px;padding:10px;min-height:290px}
.lh .ev-dh{font-family:var(--mono);font-size:11px;color:var(--faint);padding-bottom:8px;border-bottom:1px solid rgba(24,24,27,.08)}
.lh .ev-job{margin-top:6px;background:var(--card-2);border-left:3px solid var(--faint);border-radius:7px;padding:9px}
.lh .ev-dh + .ev-job{margin-top:8px}
.lh .ev-jt{display:block;font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}
.lh .ev-job b{display:block;margin-top:3px;font-size:12.5px;line-height:1.3}
.lh .ev-job--b{background:var(--ocean-050);border-left-color:var(--ocean)}
.lh .ev-job--b .ev-jt{color:var(--ocean-dk)}
.lh .ev-job--v{background:#EDE7FA;border-left-color:#6D51D6}
.lh .ev-job--v .ev-jt{color:#5A3FB8}
.lh .ev-assigned{display:flex;align-items:center;gap:12px;margin-top:14px;background:var(--porcelain);border-radius:12px;padding:12px 14px}
.lh .ev-lbl{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}
.lh .ev-who{display:flex;align-items:center;gap:8px}
.lh .ev-av{width:26px;height:26px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:10.5px;font-weight:600;flex:none}
.lh .ev-av--b{background:var(--ocean)}
.lh .ev-av--v{background:#6D51D6}
.lh .ev-nm{font-size:13.5px;font-weight:500}

/* ── pane 1 · call center ──────────────────────────────────────────── */
.lh .ev-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lh .ev-kpi{background:var(--porcelain);border-radius:12px;padding:16px}
.lh .ev-kpi > span{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.lh .ev-kpi > b{display:block;margin-top:6px;font-family:var(--mono);font-size:28px;font-weight:500}
.lh .ev-kpi-o{color:var(--ocean)}
.lh .ev-callcard{background:var(--porcelain);border-radius:12px;padding:18px;margin-top:8px}
.lh .ev-caller{display:flex;align-items:center;gap:10px}
.lh .ev-caller b{display:block;font-size:14.5px}
.lh .ev-av-lg{width:34px;height:34px;border-radius:50%;background:var(--ocean-050);color:var(--ocean-dk);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
.lh .ev-wave{display:flex;align-items:flex-end;gap:3px;height:52px;margin-top:16px}
.lh .ev-wave i{flex:1;background:#B9C2E8;border-radius:2px}
.lh .ev-wave i.ev-on{background:var(--ocean)}
.lh .ev-quotes{display:flex;gap:8px;margin-top:16px}
.lh .ev-quotes span{background:var(--card-2);border-radius:7px;padding:8px 12px;font-size:13px;color:#52525B}
.lh .ev-rows{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.lh .ev-row{display:flex;align-items:center;gap:11px;background:var(--porcelain);border-radius:10px;padding:11px 14px}
.lh .ev-t{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}
.lh .ev-n{font-size:13.5px;font-weight:500}

/* ── pane 2 · customer record ──────────────────────────────────────── */
.lh .ev-rec{background:var(--porcelain);border-radius:14px;padding:20px}
.lh .ev-rec-top{display:flex;align-items:center;gap:14px}
.lh .ev-av-xl{width:52px;height:52px;border-radius:50%;background:var(--ocean-050);color:var(--ocean-dk);display:grid;place-items:center;font-size:16px;font-weight:600;flex:none}
.lh .ev-rec-top b{display:block;font-family:var(--dsp);font-size:20px;letter-spacing:-.02em}
.lh .ev-rec-top .ev-sub{font-size:12px}
.lh .ev-tags{margin-left:auto;display:flex;gap:6px}
.lh .ev-stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.lh .ev-stat{background:var(--card-2);border-radius:9px;padding:12px}
.lh .ev-stat > span{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.lh .ev-stat > b{display:block;margin-top:4px;font-family:var(--mono);font-size:17px;font-weight:500}
.lh .ev-notes{margin-top:18px;padding:14px;background:var(--card-2);border-radius:10px}
.lh .ev-notes-l{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-4)}
.lh .ev-notes p{margin:6px 0 0;font-size:14px;line-height:1.55;color:#52525B}
.lh .ev-hrow{display:flex;align-items:center;gap:12px;background:var(--porcelain);border-radius:10px;padding:13px 16px}
.lh .ev-hrow .ev-n{font-size:14px}
.lh .ev-amt{margin-left:auto;font-family:var(--mono);font-size:13px}

/* ── pane 3 · invoice ──────────────────────────────────────────────── */
.lh .ev-inv{background:var(--porcelain);border-radius:14px;padding:22px}
.lh .ev-inv-top{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(24,24,27,.08)}
.lh .ev-inv-top img{width:30px;height:30px;flex:none}
.lh .ev-inv-top b{display:block;font-size:14.5px}
.lh .ev-line{display:flex;align-items:center;padding:14px 0;border-bottom:1px dashed rgba(24,24,27,.12);font-size:14.5px}
.lh .ev-line .ev-amt{font-size:14px}
.lh .ev-total{display:flex;align-items:center;padding:16px 0 0}
.lh .ev-total-l{font-family:var(--dsp);font-size:18px;letter-spacing:-.02em}
.lh .ev-total-v{margin-left:auto;font-family:var(--mono);font-size:22px;font-weight:500}
.lh .ev-pay{display:flex;align-items:center;gap:14px;background:var(--ink);border-radius:14px;padding:18px 22px;margin-top:8px}
.lh .ev-pay svg{flex:none}
.lh .ev-pay b{display:block;font-size:15px;color:#fff}
.lh .ev-pay .ev-sub{color:rgba(250,250,250,.55)}
.lh .ev-appr{margin-left:auto;background:#7FD6A8;color:#12351F;font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:999px;white-space:nowrap}
.lh .ev-dep{display:flex;align-items:center;gap:10px;background:var(--porcelain);border-radius:12px;padding:14px 18px;margin-top:8px;font-size:14px;color:#52525B}
.lh .ev-nbd{margin-left:auto;font-family:var(--mono);font-size:13px;color:#166339}

/* ── pane 4 · messages ─────────────────────────────────────────────── */
.lh .ev-thread{background:var(--porcelain);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px}
.lh .ev-thread-top{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid rgba(24,24,27,.08)}
.lh .ev-thread-top b{font-size:14.5px}
.lh .ev-day-lbl{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--faint)}
.lh .ev-sys{display:flex;align-items:center;gap:8px;align-self:center;background:var(--card-2);border-radius:999px;padding:6px 14px;font-family:var(--mono);font-size:11px;color:var(--ink-4)}
.lh .ev-sys--g{background:#DAEEE3;color:#166339}
.lh .ev-sys svg{flex:none}
.lh .ev-msg{max-width:78%;background:var(--card-2);border-radius:14px 14px 14px 4px;padding:12px 15px;font-size:14.5px;line-height:1.5}
.lh .ev-msg--out{align-self:flex-end;background:var(--ocean);color:#fff;border-radius:14px 14px 4px 14px}
.lh .ev-reply{display:flex;align-items:center;gap:10px;background:var(--porcelain);border-radius:12px;padding:12px 16px;margin-top:8px}
.lh .ev-reply-p{font-size:14px;color:var(--faint)}
.lh .ev-send{margin-left:auto;background:var(--ocean);color:#fff;font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px}

/* ── pane 5 · reports ──────────────────────────────────────────────── */
.lh .ev-rep{background:var(--porcelain);border-radius:14px;padding:20px}
.lh .ev-rep-top{display:flex;align-items:flex-end;gap:24px}
.lh .ev-rep-l{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.lh .ev-rep-v{display:block;margin-top:4px;font-family:var(--mono);font-size:34px;font-weight:500}
.lh .ev-delta{padding-bottom:8px;font-size:13.5px;font-weight:600;color:var(--green)}
.lh .ev-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;height:130px;margin-top:22px}
.lh .ev-bars i{background:#B9C2E8;border-radius:4px}
.lh .ev-bars i.ev-on{background:var(--ocean)}
.lh .ev-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.lh .ev-card{background:var(--porcelain);border-radius:12px;padding:16px}
.lh .ev-card-l{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)}
.lh .ev-card > b{display:block;margin-top:6px;font-family:var(--dsp);font-size:17px;letter-spacing:-.02em}
.lh .ev-card-red{color:var(--red)}
.lh .ev-card-s{font-size:12.5px;color:var(--ink-4)}
.lh .ev-insight{display:flex;gap:12px;background:var(--ocean-050);border-radius:12px;padding:16px 18px;margin-top:8px}
.lh .ev-ai{flex:none;width:22px;height:22px;border-radius:6px;background:var(--ocean);display:grid;place-items:center;font-family:var(--mono);font-size:10px;color:#fff}
.lh .ev-insight p{margin:0;font-size:14.5px;line-height:1.55;color:#1B2C82}

/* ── responsive (canvas is desktop-only; these are additions) ───────── */
@media (max-width:1080px){
  .lh .ev-panel{padding:64px 40px 58px}
  .lh .ev-head{gap:32px}
  .lh .ev-head .ev-display{font-size:clamp(38px,5.2vw,54px)}
  .lh .ev-fx{gap:40px;margin-top:44px}
  .lh .ev-days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lh .ev-day{min-height:0}
  .lh .ev-stage{min-height:0}
}
@media (max-width:640px){
  .lh .ev-sec{padding:0 14px 26px}
  .lh .ev-panel{padding:48px 20px 44px;border-radius:22px}
  .lh .ev-head .ev-display{font-size:clamp(30px,8.4vw,38px)}
  .lh .ev-intro{font-size:16px}
  .lh .ev-fx{gap:28px;margin-top:32px}
  .lh .ev-stage{padding:14px;border-radius:16px}
  .lh .ev-ph{flex-wrap:wrap;row-gap:6px}
  .lh .ev-rep-top{flex-wrap:wrap;row-gap:8px}
  .lh .ev-days{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lh .ev-kpis,.lh .ev-stats3,.lh .ev-cards3{grid-template-columns:1fr}
  .lh .ev-quotes{flex-wrap:wrap}
  .lh .ev-assigned{flex-wrap:wrap;row-gap:8px}
  .lh .ev-rec-top{flex-wrap:wrap;row-gap:10px}
  .lh .ev-tags{margin-left:0}
  .lh .ev-msg{max-width:88%}
}
@media (prefers-reduced-motion:reduce){
  .lh .ev-dot{animation:none}
}


/* ---- s5-stack ---- */
/* === HOME 05 "ONE WORKSPACE" — ported value-for-value from Home.dc.html,
       section#stack ("Not a stack of five apps."). ======================== */

/* The canvas section is the gutter, not a band: 24px sides, 26px of gap to
   the next panel. */
.lh .st-sec{padding:0 24px 26px}

/* The porcelain panel. `color:var(--ink)` is NOT optional — `.lh` sets the
   page text to `var(--bone)` for the aurora hero, so a light panel that does
   not re-assert ink renders porcelain-on-porcelain. `max-width:1440px` is the
   site kit's panel width; the canvas is a fixed-width artboard and states
   only `margin:0 auto`. Every other value is the canvas's. */
.lh .st-panel{max-width:1440px;margin:0 auto;width:100%;
  background:var(--porcelain);color:var(--ink);
  border-radius:30px;padding:86px 72px;
  box-shadow:0 40px 90px -50px rgba(12,15,28,.6)}

.lh .st-grid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));
  gap:72px;align-items:center}

/* ── left column ──
   `.st-eb` and `.st-dsp` are deliberately selected at (0,3,0) — one level
   deeper than `.lh .eyebrow` / `.lh .display`, which the hero owns and which
   have six media-query variants apiece (white text, 16ch clamp, .6rem mono at
   640px). Matching their specificity would leave the winner up to file order;
   this beats them wherever the block lands in the sheet. */
.lh .st-sec .st-eb{display:block;margin:0;white-space:normal;
  font:600 13px/1.3 var(--dsp);letter-spacing:.14em;
  text-transform:uppercase;color:var(--ocean)}
.lh .st-sec .st-dsp{margin:16px 0 0;max-width:none;
  font-family:var(--dsp);font-size:54px;font-weight:800;
  letter-spacing:-.038em;line-height:1.02;color:inherit;text-wrap:balance}
.lh .st-sec .st-dsp em{font-style:italic;font-weight:700;
  letter-spacing:inherit;color:var(--ink-4)}

/* #52525B stays a literal: `.lh` shadows --muted to #6E7076, so var(--muted)
   here would be the wrong grey. */
.lh .st-bd{margin-top:24px;max-width:56ch;
  font-family:var(--body);font-size:17.5px;line-height:1.65;color:#52525B}
.lh .st-bd+.st-bd{margin-top:16px}

.lh .st-stats{display:flex;gap:26px;margin-top:32px;flex-wrap:wrap}
.lh .st-stat b{display:block;font-family:var(--dsp);font-size:30px;
  font-weight:800;letter-spacing:-.03em}
.lh .st-stat span{font-size:14px;color:var(--ink-4)}

/* ── right column: five struck-through apps → one Linq ── */
.lh .st-rows{display:flex;flex-direction:column;gap:8px}
.lh .st-row{display:flex;align-items:center;gap:12px;
  background:var(--card-2);border:1px solid var(--line-07);
  border-radius:12px;padding:15px 18px}
.lh .st-app{font-size:15.5px;color:var(--ink-4);text-decoration:line-through}
.lh .st-price{margin-left:auto;font-family:var(--mono);font-size:13px;
  color:var(--faint)}

.lh .st-arrow{display:grid;place-items:center;padding:14px 0;color:var(--faint)}
.lh .st-arrow svg{width:22px;height:30px;display:block}

.lh .st-one{display:flex;align-items:center;gap:14px;
  background:var(--ocean);border-radius:16px;padding:22px 24px;
  box-shadow:0 24px 50px -24px rgba(46,75,224,.8)}
.lh .st-one img{flex:none;width:32px;height:32px}
.lh .st-one-id{min-width:0}
.lh .st-one-id b{display:block;font-family:var(--dsp);font-size:20px;
  letter-spacing:-.02em;color:#fff}
.lh .st-one-sub{font-family:var(--mono);font-size:12px;
  text-transform:uppercase;color:rgba(255,255,255,.72)}
.lh .st-one-price{margin-left:auto;font-family:var(--mono);font-size:18px;
  color:#fff}

/* ── responsive ──
   The grid collapses on its own (auto-fit at a 400px floor drops to one
   column near 1064px viewport). These only reflow what the canvas fixes in
   px: panel padding, the 54px display line and the cobalt verdict row. */
@media (max-width:1100px){
  .lh .st-grid{gap:44px}
  .lh .st-sec .st-dsp{font-size:clamp(38px,5vw,54px)}
}
@media (max-width:900px){
  .lh .st-sec{padding:0 24px 18px}
  .lh .st-panel{padding:44px 22px 40px;border-radius:26px}
}
@media (max-width:640px){
  .lh .st-sec .st-eb{font-size:12px}
  .lh .st-sec .st-dsp{font-size:clamp(30px,8vw,40px)}
  .lh .st-bd{font-size:16px;max-width:none}
  .lh .st-stats{gap:20px}
  .lh .st-row{padding:13px 15px}
  .lh .st-app{font-size:15px}
  .lh .st-one{flex-wrap:wrap;gap:12px;padding:18px}
  .lh .st-one-price{font-size:16px}
}


/* ---- s6-clients ---- */
/* ══ s6 · customer stories ══════════════════════════════════════════
   Canvas: docs/design-handoff/linq-aurora-canvas/Home.dc.html L653-682.
   Bare on the aurora — no panel; only the two cards are porcelain.

   SCOPING: every selector is `.lh .cl-clients …` (0,3,0) so it beats the
   single-class legacy rules this section lands next to — .lh .eb,
   .lh .dsp, .lh .stories, .lh .story, .lh .closing — regardless of
   source order. The h2/p keep `eb`/`dsp` for the heading tests and the
   sitewide convention; the cl-* twin carries the canvas values.

   COLOUR TRAP — read before "tidying" a literal into a token:
   `.lh` re-declares the palette (linq-site-home.css L13) and its
   --muted is #6E7076, NOT the :root #52525B the canvas asks for. Every
   #52525B below is therefore a deliberate literal. For the same reason
   .cl-name declares an explicit ink colour: `.lh` sets
   color:var(--bone) (#FBFBFC), which is invisible on a porcelain card.
   --porcelain / --card-2 / --ink / --ink-4 / --dsp / --body / --mono
   are NOT shadowed by .lh and are safe to use.                        */

.lh .cl-clients{padding:0 24px 26px}
.lh .cl-clients .cl-shell{max-width:1600px;margin:0 auto}

/* ── head: eyebrow (h2) over the display line (p) ───────────────── */
.lh .cl-clients .cl-head{display:flex;align-items:flex-end;gap:24px;padding:0 4px 24px}
.lh .cl-clients .cl-eyebrow{
  margin:0;
  font-family:var(--dsp);
  font-size:13px;
  font-weight:600;
  line-height:normal;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.lh .cl-clients .cl-dsp{
  margin:14px 0 0;
  max-width:none;               /* legacy .lh .dsp caps at 20ch */
  font-family:var(--dsp);
  font-size:48px;
  font-weight:800;
  letter-spacing:-.036em;
  line-height:1.04;
  color:#fff;
}
.lh .cl-clients .cl-dsp-em{font-style:italic;font-weight:700;color:rgba(255,255,255,.6)}

/* ── the two story cards ────────────────────────────────────────── */
.lh .cl-clients .cl-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));
  gap:20px;
}
.lh .cl-clients .cl-card{
  background:var(--porcelain);
  border-radius:26px;
  padding:44px 44px 38px;
  box-shadow:0 40px 90px -50px rgba(12,15,28,.6);
}

.lh .cl-clients .cl-card-head{display:flex;align-items:center;gap:12px}
.lh .cl-clients .cl-ico{
  flex:none;                    /* see notes — canvas omits it */
  width:44px;
  height:44px;
  border-radius:11px;
  display:grid;
  place-items:center;
}
.lh .cl-clients .cl-ico svg{display:block}
.lh .cl-clients .cl-ico-lock{background:var(--ink)}
.lh .cl-clients .cl-ico-sound{background:#6D51D6}

.lh .cl-clients .cl-name{
  display:block;
  margin:0;
  font-family:var(--dsp);
  font-size:21px;
  font-weight:700;
  line-height:normal;
  letter-spacing:-.02em;
  color:var(--ink);
}
.lh .cl-clients .cl-meta{
  display:block;
  font-family:var(--mono);
  font-size:12px;
  line-height:normal;
  color:var(--ink-4);
}

.lh .cl-clients .cl-body{
  margin:22px 0 0;
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  color:#52525B;
}

.lh .cl-clients .cl-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.lh .cl-clients .cl-tag{
  background:var(--card-2);
  border-radius:999px;
  padding:8px 14px;
  font-family:var(--mono);
  font-size:12px;
  line-height:normal;
  color:#52525B;
}

/* ── closing pull-line, back on the aurora ──────────────────────── */
.lh .cl-clients .cl-closing{
  margin:26px 0 0;
  text-align:center;
  font-family:var(--dsp);
  font-size:26px;
  font-weight:700;
  font-style:italic;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.86);
}

/* The canvas ships zero media queries, so a 48px headline and 44px card
   padding would overflow a 375px phone. Recorded deviation: below 680px
   only — at and above the design width every value above is the literal
   canvas value. */
@media (max-width:680px){
  .lh .cl-clients .cl-dsp{font-size:clamp(30px,8.4vw,48px)}
  .lh .cl-clients .cl-card{padding:32px 28px 28px}
  .lh .cl-clients .cl-closing{font-size:21px}
}


/* ---- s7-quote ---- */
/* ════ 08 ESTIMATES, SIGNATURES & DEPOSITS ════════════════════════════════
   Ported value-for-value from Home.dc.html L692-L734.

   TOKEN TRAP: `.lh` (linq-site-home.css:13) SHADOWS the :root palette and
   still declares --muted:#6E7076. The canvas secondary is #52525B, so every
   secondary text colour below is the literal hex, NOT var(--muted) — using
   the token here silently ships the wrong grey. Everything else resolves
   from the :root in linq-site.css, which `.lh` does not shadow.

   `.lh` also sets color:var(--bone) for the whole scope, so .qt-panel has to
   restate color:var(--ink) or the porcelain panel renders white-on-white.  */

/* ── section + panel ── */
.lh .qt-sec{padding:26px 24px}
.lh .qt-panel{margin:0 auto;background:var(--porcelain);color:var(--ink);
  border-radius:30px;padding:86px 72px;box-shadow:0 40px 90px -50px rgba(12,15,28,.6)}
.lh .qt-grid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));
  gap:72px;align-items:center}

/* ── left column ── */
.lh .qt-eb{margin:0;font-family:var(--dsp);font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ocean)}
.lh .qt-display{margin:16px 0 0;font-family:var(--dsp);font-size:54px;font-weight:800;
  letter-spacing:-.038em;line-height:1.02;color:var(--ink);text-wrap:balance}
.lh .qt-display em{font-style:italic;font-weight:700;color:var(--ink-4)}
.lh .qt-lede{margin:24px 0 0;max-width:52ch;font-family:var(--body);
  font-size:17.5px;line-height:1.65;color:#52525B}
.lh .qt-note{margin-top:28px;max-width:46ch;background:var(--card-2);
  border-radius:14px;padding:20px 22px}
.lh .qt-note b{display:block;font-family:var(--dsp);font-size:17px;
  letter-spacing:-.02em;color:var(--ink)}
.lh .qt-note p{margin:7px 0 0;font-size:15.5px;line-height:1.6;color:#52525B}

/* ── right column: mock frame + estimate card ── */
.lh .qt-mock{background:var(--mock-bg);border:1px solid var(--line-08);
  border-radius:20px;padding:22px}
.lh .qt-card{background:var(--porcelain);border-radius:14px;padding:22px}

.lh .qt-chead{display:flex;align-items:center;gap:10px;padding-bottom:16px;
  border-bottom:1px solid var(--line-08)}
.lh .qt-cid{font-family:var(--mono);font-size:13px;color:#52525B}
.lh .qt-pill{margin-left:auto;font-family:var(--body);font-size:11.5px;
  font-weight:600;padding:5px 10px;border-radius:999px}
.lh .qt-pill-wait{background:var(--hover-2);color:#52525B}
.lh .qt-pill-done{background:var(--green-tint);color:var(--green-deep)}

.lh .qt-row{display:flex;align-items:center;padding:14px 0;
  border-bottom:1px dashed rgba(24,24,27,.12)}
.lh .qt-rlab{font-size:14.5px}
.lh .qt-amt{margin-left:auto;font-family:var(--mono);font-size:14px}
.lh .qt-total{display:flex;align-items:center;padding:16px 0 20px}
.lh .qt-tlab{font-family:var(--dsp);font-size:18px;letter-spacing:-.02em}
.lh .qt-sum{margin-left:auto;font-family:var(--mono);font-size:22px;font-weight:500}

/* ── signature well ── */
.lh .qt-sigwell{border-top:1px solid var(--line-08);padding-top:18px}
.lh .qt-siglb{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--faint)}
.lh .qt-sigbtn{width:100%;height:74px;margin-top:8px;display:flex;align-items:center;
  justify-content:center;gap:9px;background:var(--card-2);
  border:1.5px dashed rgba(24,24,27,.24);border-radius:10px;cursor:pointer;
  font-family:var(--body);font-size:15px;font-weight:600;color:var(--ocean)}
.lh .qt-sigbtn:hover{background:var(--ocean-050);border-color:var(--ocean)}
/* not in the canvas: the canvas has no keyboard, this button does */
.lh .qt-sigbtn:focus-visible{outline:2px solid var(--ocean);outline-offset:2px}
.lh .qt-sigsvg{display:block;width:100%;height:52px;margin-top:4px}
.lh .qt-sigink{stroke-dasharray:1;stroke-dashoffset:1}
.lh .qt-sigcap{display:flex;align-items:center;gap:8px;margin-top:4px}
.lh .qt-signer{font-size:13.5px;color:#52525B}
.lh .qt-sigat{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}

/* ── deposit strip ── */
.lh .qt-dep{display:flex;align-items:center;gap:12px;background:var(--ink);
  border-radius:14px;padding:16px 20px;margin-top:10px}
.lh .qt-dic{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.lh .qt-dic-wait{background:#3A4058;color:#fff}
.lh .qt-dic-done{background:var(--green-dot);color:#12351F}
.lh .qt-dtx{font-size:14.5px;font-weight:700}
.lh .qt-dtx-wait{color:rgba(250,250,250,.8)}
.lh .qt-dtx-done{color:#fff}
.lh .qt-dpct{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:rgba(250,250,250,.55)}

/* ── state: `notSigned` is the default, `signed` is the .qt-is-signed class ──
   Every toggled pair gets its OWN display value back, because a generic
   `.qt-on-signed{display:block}` would flatten the deposit disc's grid. */
.lh .qt-pill-done,.lh .qt-sigdone,.lh .qt-dic-done,.lh .qt-dtx-done{display:none}
.lh .qt-is-signed .qt-pill-wait,.lh .qt-is-signed .qt-sigbtn,
.lh .qt-is-signed .qt-dic-wait,.lh .qt-is-signed .qt-dtx-wait{display:none}
.lh .qt-is-signed .qt-pill-done{display:block}
.lh .qt-is-signed .qt-sigdone{display:block}
.lh .qt-is-signed .qt-dic-done{display:grid}
.lh .qt-is-signed .qt-dtx-done{display:block}

/* The draw is declared ONLY under .qt-is-signed. Declared on the base class it
   would run at page load behind display:none and be finished before the first
   click — the animation has to start when the class lands. */
.lh .qt-is-signed .qt-sigink{animation:qtSignDraw 1.15s cubic-bezier(.45,0,.25,1) .05s forwards}
@keyframes qtSignDraw{to{stroke-dashoffset:0}}

/* linq-site.css:622 kills every animation under reduced motion with
   `*{animation:none!important}`, which would leave the path at offset 1 —
   i.e. invisible. Paint it fully drawn instead. */
@media (prefers-reduced-motion:reduce){.lh .qt-sigink{stroke-dashoffset:0}}

/* ── responsive ── the canvas has no media queries (the auto-fit grid stacks
   on its own around 1064px). These only rescue the 86/72 panel padding and the
   54px display line, at the same two breakpoints the ported hero uses. */
@media (max-width:1100px){
  .lh .qt-panel{padding:64px 40px}
  .lh .qt-grid{gap:48px}
  .lh .qt-display{font-size:clamp(34px,5vw,54px)}
}
@media (max-width:640px){
  .lh .qt-sec{padding:26px 12px}
  .lh .qt-panel{padding:44px 22px;border-radius:24px}
  .lh .qt-grid{gap:36px}
  .lh .qt-display{font-size:clamp(30px,8vw,40px)}
  .lh .qt-lede{font-size:16.5px;max-width:none}
  .lh .qt-note{max-width:none}
  .lh .qt-mock{padding:14px;border-radius:16px}
  .lh .qt-card{padding:16px}
  .lh .qt-chead{flex-wrap:wrap;gap:8px}
  .lh .qt-dep{flex-wrap:wrap;row-gap:8px}
  .lh .qt-dpct{margin-left:36px}
}


/* ---- s8-inquiry ---- */
/* === 08 BOOKING WIDGET — ported value-for-value from Home.dc.html ==========
   Canvas source: section data-screen-label="Booking widget", lines 736–766.
   Every value below is the canvas's; tokens are substituted only where the
   token's value is byte-identical to the canvas's literal.               */

.lh .iq{padding:0 var(--gut) var(--gap);scroll-margin-top:96px}
.lh .iq-panel{margin:0 auto;background:var(--porcelain);border-radius:var(--r-panel);
  padding:var(--panel-pad-home);box-shadow:var(--e-panel)}
.lh .iq-grid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,410px),1fr));
  gap:72px;align-items:center}

/* ── left column ── */
.lh .iq-eyebrow{margin:0;font:600 13px var(--dsp);letter-spacing:.14em;
  text-transform:uppercase;color:var(--ocean)}
.lh .iq-display{margin:16px 0 0;font-family:var(--dsp);font-size:54px;font-weight:800;
  letter-spacing:-.038em;line-height:1.02;color:var(--ink);text-wrap:balance}
.lh .iq-display em{font-style:italic;font-weight:700;color:var(--ink-4)}
.lh .iq-lede{margin:24px 0 0;max-width:52ch;
  font:400 17.5px/1.65 var(--body);color:var(--muted)}

.lh .iq-form{display:flex;gap:10px;margin-top:30px;max-width:520px}
.lh .iq-input{flex:1;min-width:0;background:var(--card-2);border:1px solid var(--line-10);
  border-radius:var(--r-btn);padding:15px 18px;
  font-family:var(--body);font-size:16px;color:var(--ink);outline:none}
.lh .iq-input:focus{border-color:var(--ocean);background:#fff}
.lh .iq-send{background:var(--ocean);color:#fff;border:0;border-radius:var(--r-btn);
  padding:15px 26px;font-family:var(--body);font-size:16px;font-weight:600;cursor:pointer}
.lh .iq-send:hover{background:var(--ocean-dk)}

.lh .iq-micro{margin:12px 0 0;font-family:var(--mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}

/* the canvas has no <label>; this one is for screen readers only */
.lh .iq-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ── right column: the demo board ── */
.lh .iq-board{background:var(--page);border:1px solid var(--line-08);
  border-radius:var(--r-mock);padding:22px}
.lh .iq-board-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.lh .iq-board-t{font-family:var(--dsp);font-size:15px;letter-spacing:-.01em;color:var(--ink)}
.lh .iq-live{margin-left:auto;display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:11.5px;color:var(--green)}
.lh .iq-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--green)}

/* canvas: componentDidMount sets `pulseDot 1.8s ease-in-out infinite` on every
   [data-pulse], and skips it under prefers-reduced-motion. Same gate, in CSS. */
@media (prefers-reduced-motion:no-preference){
  .lh .iq-dot{animation:iqPulseDot 1.8s ease-in-out infinite}
}
@keyframes iqPulseDot{0%,100%{opacity:1}50%{opacity:.25}}

.lh .iq-rows{display:flex;flex-direction:column;gap:8px}
.lh .iq-row{display:flex;align-items:center;gap:14px;background:var(--porcelain);
  border-radius:12px;padding:15px 18px}
.lh .iq-time{font-family:var(--mono);font-size:12px;color:var(--ink-4)}
.lh .iq-title{font-size:15px;font-weight:500;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh .iq-status{margin-left:auto;flex:none;background:#E4E4E8;color:var(--muted);
  font-size:11px;font-weight:600;padding:5px 10px;border-radius:var(--r-pill)}

/* ── responsive ── the canvas is a fixed 1280 artboard; these follow the
   panel-shell breakpoints already in linq-site.css and the hero's own. */
@media (max-width:1100px){
  .lh .iq-panel{padding:64px 44px}
  .lh .iq-grid{gap:44px}
  .lh .iq-display{font-size:clamp(38px,5.4vw,48px)}
}
@media (max-width:900px){
  .lh .iq{padding:0 var(--gut) 18px}
  .lh .iq-panel{padding:44px 22px 40px;border-radius:var(--r-story)}
  .lh .iq-grid{gap:34px}
}
@media (max-width:640px){
  .lh .iq-display{font-size:clamp(30px,8.4vw,40px)}
  .lh .iq-lede{font-size:16px;max-width:none}
  .lh .iq-form{flex-wrap:wrap;max-width:none;margin-top:24px}
  .lh .iq-input,.lh .iq-send{flex:1 1 100%}
  .lh .iq-micro{font-size:11px}
  .lh .iq-board{padding:16px}
  .lh .iq-row{gap:10px;padding:13px 14px}
}


/* ---- s9-trial ---- */
/* === s9 TRIAL / EARLY ACCESS — ported value-for-value from Home.dc.html ===
   Canvas: section #early-access, lines 767-818.

   Canvas runtime state -> build:
     eaNotSent / eaSent  -> ?early=ok server-side + the .eacc-ok fetch upgrade
     pick0..3 + cNBg/cNCol/cNBd -> input[type=radio]:checked + label (CSS only)
     eaErr               -> ?early=err|bot, plus JS-inserted .eacc-err spans

   `.lh` SHADOWS the :root palette (linq-site-home.css line 13), and its
   --muted is #6E7076, NOT #52525B. Every #52525B here is therefore a literal,
   never var(--muted). Tokens that are NOT shadowed (--ink-4, --card-2,
   --line-10, --ocean-050, --ocean-dk, --blob-*, --green-*, --red-mono, --e-*,
   --r-*, --eb-*) resolve from :root and are used by name.

   Two-class selectors (.lh .tr-trial .tr-x = 0,3,0) throughout, so the section
   outranks the legacy .lh .eb / .lh .dsp / .eacc-f / .eacc-err rules whose
   class names it has to keep as behaviour hooks. */

.lh .tr-trial{padding:0 var(--gut) var(--gap);scroll-margin-top:96px}
.lh .tr-panel{position:relative;overflow:hidden;margin:0 auto;
  /* max-width is a DELIBERATE deviation: the canvas panel is `margin:0 auto`
     with no cap, which is 1392px on the 1440 artboard but 2512px on a 2560
     monitor, where the 72px padding reads as nothing. BUILD-PLAN.md item 9. */
  max-width:1600px;
  background:var(--ocean);border-radius:var(--r-panel);padding:78px 72px;
  box-shadow:var(--e-cobalt)}

/* four blobs, in the canvas's paint order */
.lh .tr-trial .tr-aur{position:absolute;inset:0;pointer-events:none}
.lh .tr-trial .tr-aur i{position:absolute;display:block;border-radius:50%}
.lh .tr-trial .tr-aur .b1{left:-20%;top:-35%;width:70%;height:90%;
  background:var(--blob-light);opacity:.45;filter:blur(70px)}
.lh .tr-trial .tr-aur .b2{right:-15%;bottom:-40%;width:65%;height:95%;
  background:var(--blob-deep);opacity:.55;filter:blur(80px)}
.lh .tr-trial .tr-aur .b3{right:-10%;top:-30%;width:55%;height:75%;
  background:var(--blob-mauve);opacity:.4;filter:blur(85px)}
.lh .tr-trial .tr-aur .b4{left:22%;bottom:-45%;width:60%;height:85%;
  background:var(--blob-steel);opacity:.42;filter:blur(90px)}
.lh .tr-trial .tr-gn{position:absolute;inset:0;pointer-events:none;
  background:url("/static/img/grain-96.png") repeat;opacity:.85;mix-blend-mode:overlay}
.lh .tr-trial .tr-ghost{position:absolute;left:-10px;top:-22px;pointer-events:none;
  font-family:var(--dsp);font-size:170px;font-weight:800;letter-spacing:-.05em;
  line-height:.8;color:rgba(255,255,255,.09);text-transform:uppercase;
  text-align:left;white-space:nowrap}

.lh .tr-trial .tr-grid{position:relative;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));
  gap:64px;align-items:center}

/* ── left column ─────────────────────────────────────────────────────── */
/* Full `font:` shorthand, not just size/weight: legacy `.lh .eb` sets a mono
   shorthand + cobalt colour that a partial override would leave half-applied. */
.lh .tr-trial .tr-eb{margin:0;display:block;
  font:600 var(--eb-h2)/1.2 var(--dsp);letter-spacing:var(--eb-track);
  text-transform:uppercase;color:rgba(255,255,255,.7)}
.lh .tr-trial .tr-dsp{margin:16px 0 0;max-width:none;
  font-family:var(--dsp);font-size:52px;font-weight:800;letter-spacing:-.038em;
  line-height:1.03;color:#fff;text-wrap:balance}
.lh .tr-trial .tr-dsp em{font-style:italic;font-weight:700;letter-spacing:inherit;
  color:rgba(255,255,255,.66)}
.lh .tr-trial .tr-lede{margin:20px 0 0;max-width:54ch;
  font:400 17.5px/1.65 var(--body);letter-spacing:0;color:rgba(255,255,255,.85);
  text-wrap:pretty}
.lh .tr-trial .tr-lede a{color:#fff;text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.5)}
.lh .tr-trial .tr-lede a:hover{color:#DCE2FA;text-decoration-color:#DCE2FA}

.lh .tr-trial .tr-checks{list-style:none;margin:28px 0 0;padding:0;
  display:flex;flex-direction:column;gap:12px}
.lh .tr-trial .tr-checks li{display:flex;gap:10px;
  font:500 18px/1.4 var(--body);color:rgba(255,255,255,.95)}
.lh .tr-trial .tr-checks svg{flex:none;width:19px;height:19px;margin-top:3px;
  stroke:var(--green-dot)}

/* ── right column: the capture card ──────────────────────────────────── */
.lh .tr-trial .tr-card{background:#fff;border:1px solid var(--line-10);
  border-radius:var(--r-mock);padding:30px;
  box-shadow:0 34px 70px -34px rgba(12,15,28,.55)}

/* beats `.eacc-form{display:flex;flex-wrap:wrap;gap:12px}` in linq-site.css */
.lh .tr-trial .tr-form{display:block;gap:0}
.lh .tr-trial .tr-fields{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.lh .tr-trial .tr-f{display:flex;flex-direction:column;gap:7px;flex:initial}
/* Canvas writes the labels as literal caps ("NAME"). Sentence case plus
   text-transform renders identically, keeps the accessible name readable and
   matches the convention already set by `.eacc-f span`. */
.lh .tr-trial .tr-lab{display:block;padding:0;
  font:400 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-4)}
.lh .tr-trial .tr-f input{width:100%;background:var(--card-2);
  border:1px solid var(--line-10);border-radius:var(--r-in);padding:13px 14px;
  font-family:var(--body);font-size:15px;font-weight:400;color:var(--ink);
  outline:none}
.lh .tr-trial .tr-f input::placeholder{color:var(--faint)}
/* Canvas focus is border-colour + white fill only (~3.1:1 against the card).
   The outline ring is carried over from `.eacc-f input:focus-visible` — the
   codebase's own recorded fix for exactly this form. Deliberate addition. */
.lh .tr-trial .tr-f input:focus-visible{border-color:var(--ocean);background:#fff;
  outline:2px solid var(--ocean);outline-offset:2px}
.lh .tr-trial .tr-f input[aria-invalid]{border-color:var(--red-mono)}

.lh .tr-trial .tr-chips{margin:18px 0 0;padding:0;border:0;min-width:0}
.lh .tr-trial .tr-chips legend{padding:0}
.lh .tr-trial .tr-crew{position:relative;display:flex;flex-wrap:wrap;gap:8px;
  margin-top:9px}
.lh .tr-trial .tr-crew input{position:absolute;top:0;left:0;width:1px;height:1px;
  margin:0;opacity:0;pointer-events:none}
.lh .tr-trial .tr-crew label{background:var(--card-2);color:#52525B;
  border:1px solid var(--line-10);border-radius:var(--r-pill);padding:9px 16px;
  white-space:nowrap;font-family:var(--body);font-size:14px;font-weight:600;
  cursor:pointer}
/* The canvas leaves cNBg/cNCol/cNBd unresolved. Selected = the panel's own
   selected-state pair used elsewhere on this artboard (#E0E6FC fill, #2E4BE0
   border, #2137B0 ink — Home.dc.html line 718). */
.lh .tr-trial .tr-crew input:checked+label{background:var(--ocean-050);
  color:var(--ocean-dk);border-color:var(--ocean)}
.lh .tr-trial .tr-crew input:focus-visible+label{outline:2px solid var(--ocean);
  outline-offset:2px}

.lh .tr-trial .tr-sub{display:block;width:100%;margin-top:22px;
  background:var(--ocean);color:#fff;border:0;border-radius:var(--r-btn);
  padding:15px;font-family:var(--body);font-size:16px;font-weight:600;
  cursor:pointer}
.lh .tr-trial .tr-sub:hover{background:var(--ocean-dk)}
.lh .tr-trial .tr-sub:focus-visible{outline:2px solid var(--ocean);outline-offset:2px}
.lh .tr-trial .tr-sub[disabled]{opacity:.6;cursor:default}

/* .eacc-err is also the class the fetch upgrade stamps on the per-field
   messages it inserts, so both live here. Beats `.eacc-f .eacc-err` (0,2,0). */
.lh .tr-trial .eacc-err{display:block;margin-top:6px;text-align:left;
  font:500 11.5px/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--red-mono)}
.lh .tr-trial .tr-err{margin-top:10px;text-align:center}
.lh .tr-trial .tr-micro{margin-top:12px;text-align:center;
  font:400 11.5px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint)}

/* done state — the canvas's <sc-if value="{{ eaSent }}"> branch */
.lh .tr-trial .tr-done{min-height:380px;margin:0;display:flex;
  flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:6px;font-weight:400;color:var(--ink)}
/* Without this the flex display beats the UA's [hidden]{display:none} and the
   panel renders on top of the live form. */
.lh .tr-trial .tr-done[hidden]{display:none}
.lh .tr-trial .tr-tick{width:54px;height:54px;border-radius:50%;
  background:var(--green-tint);display:grid;place-items:center;
  color:var(--green-deep)}
.lh .tr-trial .tr-tick svg{width:24px;height:24px}
.lh .tr-trial .tr-done b{margin-top:12px;font-family:var(--dsp);font-size:24px;
  font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.lh .tr-trial .tr-done p{max-width:36ch;
  font:400 15.5px/1.6 var(--body);color:#52525B}

/* ── responsive ───────────────────────────────────────────────────────
   The canvas has no narrow artboard for this section; the grid already
   collapses on its own via auto-fit. These two steps only reflow the fixed
   px padding, the 52px display line and the 170px ghost word, mirroring the
   1100/640 breakpoints the hero port established. */
@media (max-width:1100px){
  .lh .tr-panel{padding:60px 34px}
  .lh .tr-trial .tr-grid{gap:44px}
  .lh .tr-trial .tr-dsp{font-size:clamp(34px,5.4vw,46px)}
  .lh .tr-trial .tr-ghost{font-size:120px;top:-16px}
}
@media (max-width:640px){
  .lh .tr-trial{padding:0 12px var(--gap)}
  .lh .tr-panel{padding:44px 20px;border-radius:24px}
  .lh .tr-trial .tr-grid{gap:34px}
  .lh .tr-trial .tr-dsp{font-size:clamp(30px,8.4vw,40px)}
  .lh .tr-trial .tr-lede{font-size:16.5px}
  .lh .tr-trial .tr-checks li{font-size:16.5px}
  .lh .tr-trial .tr-card{padding:22px}
  .lh .tr-trial .tr-ghost{font-size:84px;top:-10px}
  .lh .tr-trial .tr-done{min-height:300px}
}


/* ---- s10-faq ---- */
/* === HOME FAQ — ported value-for-value from Home.dc.html §faq ============
   Every class is `fq-` prefixed except `eyebrow` / `display`, which are the
   rebuild's two shared convention classes (already in this file at :642 and
   :680, already used by the ported hero). Both are re-scoped under
   `.fq-faq`, which is three classes deep and therefore beats the one-class
   `.lh .eyebrow` base rule in every direction.

   Two traps this section has to step around:
     * `.lh` re-declares `--muted` as #6E7076 (:13). The canvas body colour
       is #52525B — the :root value — so `var(--muted)` would silently ship
       the wrong grey. Literal hex, deliberately.
     * `.lh` sets `color:var(--bone)` and `.lh a{color:var(--bone)}` (:20,
       :21) for the dark hero. On a porcelain panel that is invisible text
       and an invisible link, so the panel and the lede link re-state their
       colours.                                                             */
.lh .fq-faq{padding:0 var(--gut) var(--gap)}
.lh .fq-panel{margin:0 auto;background:var(--porcelain);color:var(--ink);
  border-radius:var(--r-panel);padding:var(--panel-pad-faq);
  box-shadow:var(--e-panel)}
.lh .fq-grid{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:72px;align-items:start}
.lh .fq-intro,.lh .fq-list{min-width:0}

/* -- left column ---------------------------------------------------------- */
.lh .fq-faq .eyebrow{display:block;font-family:var(--dsp);font-size:13px;
  font-weight:600;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ocean)}
.lh .fq-faq .display{margin:16px 0 0;font-family:var(--dsp);font-size:46px;
  font-weight:800;letter-spacing:-.036em;line-height:1.05;color:var(--ink);
  text-wrap:balance}
.lh .fq-lede{margin:20px 0 0;font-family:var(--body);font-size:16.5px;
  line-height:1.65;color:#52525B}
.lh .fq-faq .fq-lede a{color:var(--ocean);text-decoration:none}
.lh .fq-faq .fq-lede a:hover{color:var(--ocean-dk)}

.lh .fq-media{margin-top:34px}
/* `height:auto` is the one addition the canvas has no line for: `img_slot`
   emits width/height attributes, and without it the attribute height can win
   over `aspect-ratio` and letterbox the crop. */
.lh .fq-media img{display:block;width:100%;height:auto;max-width:520px;
  aspect-ratio:4/3;object-fit:cover;object-position:center 30%;
  border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 30px 60px -35px rgba(12,15,28,.5)}

/* -- right column: seven rows --------------------------------------------- */
.lh .fq-item{border-top:1px solid var(--line)}
.lh .fq-item:last-child{border-bottom:1px solid var(--line)}

/* The canvas row is a full-width flex <button>. `<summary>` defaults to
   `display:list-item`; switching it to flex both reproduces the layout and
   removes the disclosure triangle (the ::marker rules cover older Safari
   and Firefox, which keep painting one). */
.lh .fq-q{display:flex;align-items:center;gap:20px;width:100%;
  padding:22px 0;text-align:left;cursor:pointer;list-style:none}
.lh .fq-q::-webkit-details-marker{display:none}
.lh .fq-q::marker{content:''}
/* Not in the canvas: the canvas row is a <button>, which the browser gives a
   focus ring for free. A restyled <summary> loses it, so it is re-stated
   rather than dropped — invisible until keyboard focus, so the default
   rendering is unchanged. */
.lh .fq-q:focus-visible{outline:2px solid var(--ocean);outline-offset:2px}

.lh .fq-q h3{font-family:var(--dsp);font-size:20px;font-weight:700;
  letter-spacing:-.02em;line-height:normal;color:var(--ink)}
.lh .fq-plus{margin-left:auto;flex:none;display:flex;color:var(--ink-4)}
.lh .fq-plus svg{display:block;width:18px;height:18px}

.lh .fq-a{margin:0;padding:0 60px 24px 0;font-family:var(--body);
  font-size:16.5px;line-height:1.7;color:#52525B}

/* -- responsive ------------------------------------------------------------
   The canvas is a single 1440-wide artboard; these are the rebuild's own
   1100/760/640 breakpoints, matching the ported hero at the foot of this
   file. 86px/72px of panel padding and a 46px display line do not survive a
   375px viewport unassisted.                                               */
@media (max-width:1100px){
  .lh .fq-panel{padding:60px 40px 56px}
  .lh .fq-grid{gap:48px}
  .lh .fq-faq .display{font-size:clamp(34px,4.2vw,46px)}
  .lh .fq-a{padding-right:0}
}
@media (max-width:760px){
  .lh .fq-faq .eyebrow{font-size:12px}
}
@media (max-width:640px){
  .lh .fq-faq{padding:0 12px var(--gap)}
  .lh .fq-panel{padding:48px 22px 44px;border-radius:20px}
  .lh .fq-grid{gap:36px}
  .lh .fq-faq .display{font-size:clamp(30px,8vw,38px)}
  .lh .fq-lede{font-size:16px}
  .lh .fq-media{margin-top:26px}
  .lh .fq-q{gap:14px;padding:19px 0}
  .lh .fq-q h3{font-size:18px}
  .lh .fq-a{font-size:16px;padding-bottom:22px}
}


/* ---- s11-cta ---- */
/* === HOME 11 · FINAL CTA — ported value-for-value from Home.dc.html ======
   Canvas: <section data-screen-label="Final CTA">, L863–876.

   The one section on the page with no surface of its own — no panel, no
   card, no radius, no shadow, no background. The canvas gives it
   `padding:70px 24px 60px;text-align:center` and nothing else, so the body
   aurora shows through and the closing line sits on open sky.
   ------------------------------------------------------------------------ */

/* PAGE-LEVEL, not section-level. Idempotent — ship it once; if another
   ported section already carries this line, drop the duplicate.

   linq-site-home.css:20 still sets `.lh{background:var(--night)}` (flat
   slate #232838) from the pre-aurora generation of this file, and nothing
   overrides it. That opaque wrapper covers `body.linq-site`'s six-layer
   aurora. Every other section paints its own panel and never notices; this
   one IS the background, so without this the closing CTA lands on flat
   slate instead of the gradient the canvas draws it on. Delete the
   `background:var(--night)` declaration at :20 when the generated file is
   next rewritten and this rule becomes redundant. */
.lh{background:transparent}

.lh .cc-sec{padding:70px 24px 60px;text-align:center;scroll-margin-top:96px}
.lh .cc-in{max-width:900px;margin:0 auto}

.lh .cc-eyebrow{font-family:var(--dsp);font-size:13px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.lh .cc-display{margin:20px 0 0;font-family:var(--dsp);font-size:82px;
  font-weight:800;letter-spacing:-.042em;line-height:.96;color:#fff}
.lh .cc-lede{margin:22px auto 0;max-width:52ch;font-family:var(--body);
  font-size:19px;line-height:1.6;color:rgba(255,255,255,.86)}

.lh .cc-cta{display:flex;gap:12px;justify-content:center;margin-top:34px}

/* The canvas ships two <button>s; these are <a>s (see the template note), so
   the button box is rebuilt by hand: inline-flex + `line-height:normal`
   reproduces a UA button's line box, and the two-class selectors below
   (0,3,0) out-specify `.lh a{color:var(--bone)}` (0,1,1) and
   `.lh a:hover{color:#fff}` (0,2,1) without !important.
   #FBFBFC = --porcelain · #18181B = --ink · #E4E4E8 = --hover-2, all three
   exact token matches; the white-alphas have no token, so they stay literal. */
.lh .cc-btn{display:inline-flex;align-items:center;justify-content:center;
  border-radius:11px;padding:17px 32px;white-space:nowrap;
  font-family:var(--body);font-size:17px;font-weight:600;line-height:normal;
  text-decoration:none;cursor:pointer;transition:background .16s ease}
.lh .cc-btn.cc-solid{background:var(--porcelain);color:var(--ink);border:0}
.lh .cc-btn.cc-solid:hover{background:var(--hover-2);color:var(--ink)}
.lh .cc-btn.cc-glass{background:rgba(255,255,255,.12);color:#fff;
  border:1px solid rgba(255,255,255,.36);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lh .cc-btn.cc-glass:hover{background:rgba(255,255,255,.22);color:#fff}

/* The canvas is a desktop artboard with no breakpoints of its own. 82px
   display type and a fixed two-button row do not survive a phone, so the
   section gets the same two-step treatment the ported hero uses (1100/640).
   Nothing here fires at the artboard width — the desktop render is the
   canvas, value for value. */
@media (max-width:1100px){
  .lh .cc-sec{padding:60px 24px 52px}
  .lh .cc-display{font-size:clamp(48px,7.4vw,72px)}
}
@media (max-width:640px){
  .lh .cc-sec{padding:48px 20px 44px}
  .lh .cc-display{font-size:clamp(34px,9.4vw,46px)}
  .lh .cc-lede{font-size:17px;max-width:none}
  .lh .cc-cta{flex-wrap:wrap}
  .lh .cc-btn{flex:1 1 220px;padding:16px 24px;font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .lh .cc-btn{transition:none}
}
