/* BriskCost for Painters — landing styles
   Tokens follow the "luminous systems on rails" design spec. */
:root{
  --blue:#386be5; --label-ink:#2458b3; --hero-wash:#cfd9f8; --label-wash:#edf2ff;
  --button:#1f2125; --night:#101010; --ink:#1c1d1f; --ink2:#242629; --dark-edge:#30343b;
  --tertiary:#505967; --support:#707781; --muted:#949ba5; --footer-text:#b8bec7;
  --control-edge:#cad0d9; --media-edge:#d6d9df; --rule:#e4e7ec; --weak-rule:#eeeff1;
  --stage:#f3f4f5; --chapter:#fafafb; --canvas:#fff; --green:#1f9d63;
  --sans:"Inter","Inter Display",Arial,sans-serif;
  --serif:"Libre Baskerville",Georgia,serif;
  --gutter:24px; --col:calc(100% / 24);
  --ease:cubic-bezier(.2,0,0,1);
  --sh-float:rgba(0,22,62,.01) 0 0 1px 1px, rgba(0,22,62,.04) 0 4px 12px -1px, rgba(0,22,62,.18) 0 1px 3px -1px;
  --sh-hero:rgba(11,13,24,.06) 0 0 0 1px, rgba(11,13,24,.024) 0 1px 2px, rgba(11,13,24,.03) 0 3px 6px, rgba(11,13,24,.035) 0 8px 14px, rgba(11,13,24,.04) 0 16px 28px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:500 16px/22px var(--sans);letter-spacing:-.01em;
  font-feature-settings:"ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
h1,h2,h3,p,ol,ul,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img,svg{display:block}
.c{color:var(--support)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:8px 12px;border-radius:8px}
.skip:focus{top:12px}
.ic{width:16px;height:16px;flex:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- Shell & rails ---------- */
.shell{max-width:1440px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.rails{position:relative}
.rails::before{content:"";position:absolute;inset:0 var(--gutter);border-left:1px solid var(--rule);border-right:1px solid var(--rule);pointer-events:none}
.sec{position:relative}
.sec::after{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--rule)}
.inner{padding:0 calc(var(--col) + 1px)}
.chapter{padding-top:152px}
.center{text-align:center}

/* ---------- Type ---------- */
.h-display{font-weight:600;font-size:64px;line-height:.95;letter-spacing:-.02em}
.h-pair{font-weight:500;font-size:40px;line-height:1.1;letter-spacing:-.01em;max-width:896px}
.center-h{margin:0 auto;max-width:720px}
.lead{font-weight:500;font-size:24px;line-height:1.15;letter-spacing:-.01em}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 6px;border-radius:8px;background:var(--label-wash);color:var(--label-ink);font:500 14px/20px var(--sans);margin-bottom:24px}
.overline{font-weight:600;font-size:12px;line-height:14px;letter-spacing:.06em;text-transform:uppercase;font-feature-settings:"calt"}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;
  font:500 14px/20px var(--sans);letter-spacing:-.005em;white-space:nowrap;border:1px solid transparent;
  transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.btn-primary{background:var(--button);color:var(--stage);border-color:var(--tertiary)}
.btn-primary:hover,.btn-primary:focus-visible{background:#33363c;color:#fff}
.btn-primary:active{background:#3d4148}
.btn-secondary{background:#fff;color:var(--dark-edge);border-color:var(--control-edge)}
.btn-secondary:hover{border-color:var(--tertiary)}
.btn-secondary:active{background:var(--stage)}
.btn-light{background:#f3f4f5;color:var(--ink);border-color:#fff}
.btn-light:hover{background:#fff}
.btn[disabled]{opacity:.6;cursor:progress}

/* ---------- Announcement + nav ---------- */
.announce{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:8px 16px;background:var(--night);color:var(--footer-text);font-size:13px;line-height:18px;text-align:center}
.announce b{color:#fff;font-weight:500}
.announce-dot{width:6px;height:6px;border-radius:50%;background:#f5b544;box-shadow:0 0 0 3px rgba(245,181,68,.18);flex:none}
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--rule)}
.nav-row{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:16px;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:32px;height:32px}
.brand-mark img{width:32px;height:32px;display:block}
.brand-name span{color:var(--support);font-weight:500}
.nav-links{display:flex;gap:2px;margin-left:12px}
.nav-item{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:10px;font-size:15px;line-height:22px;letter-spacing:-.011em;color:var(--ink2);transition:background-color .3s var(--ease)}
.nav-item:hover{background:var(--stage)}
.nav-cta{margin-left:auto}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero-atmos{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 46% at 50% 0%, #fff 30%, rgba(255,255,255,0) 100%),
    radial-gradient(90% 70% at 50% 100%, rgba(230,236,255,.45) 0%, rgba(188,203,255,.45) 45%, rgba(134,160,238,.42) 100%);}
.hero-atmos::after{content:"";position:absolute;inset:40% 0 0;opacity:.6;
  background-image:repeating-linear-gradient(to right,rgba(255,255,255,.55) 0 1px,transparent 1px 8px);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 40%);mask-image:linear-gradient(to bottom,transparent,#000 40%)}
.hero-rails{padding-top:96px;padding-bottom:0}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:860px;margin:0 auto;padding:0 16px}
.pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px 0 4px;border:1px solid var(--control-edge);border-radius:10px;background:rgba(255,255,255,.8);font-size:13px;line-height:1.4;letter-spacing:-.012em;color:var(--ink2);transition:border-color .3s var(--ease)}
.pill:hover{border-color:var(--tertiary)}
.pill-badge{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:7px;background:var(--label-wash);color:var(--label-ink)}
.pill .ic{width:14px;height:14px;color:var(--support)}
.hero .h-display{margin-top:36px}
.hero-support{margin-top:28px;max-width:560px;font-size:18px;line-height:1.4;color:var(--support);letter-spacing:-.01em}

/* Waitlist form */
.wl{width:100%;max-width:520px;margin-top:32px}
.wl-row{display:flex;gap:8px}
.wl-input{flex:1;min-width:0;height:44px;padding:10px 14px;background:#fff;border:1px solid var(--media-edge);border-radius:10px;
  font:500 16px/22px var(--sans);letter-spacing:-.01em;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.wl-input::placeholder{color:var(--muted)}
.wl-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(56,107,229,.14)}
.wl.is-error .wl-input{border-color:#d14343}
.wl-btn{height:44px;padding:0 16px}
.wl-msg{min-height:0;font-size:14px;line-height:20px;margin-top:8px;color:#c03a3a}
.wl-msg:empty{display:none}
.wl-note{margin-top:12px;font-size:13px;color:var(--support)}
.wl-done{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #cfe6d9;background:#f2faf6;border-radius:12px;text-align:left}
.wl-done .ok{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;flex:none}
.wl-done b{display:block;font-weight:600;font-size:15px}
.wl-done span{display:block;font-size:14px;color:var(--support)}

/* Hero stage */
.hero-stage{position:relative;max-width:1080px;margin:64px auto 0;padding:0 16px}
.stage-shell{padding:16px 16px 0;border-radius:16px 16px 0 0;background:rgba(243,244,245,.72);box-shadow:var(--sh-hero);backdrop-filter:blur(6px)}
.stage-panel{position:relative;border-radius:12px 12px 0 0;background:#fff;box-shadow:0 0 0 1px rgba(11,13,24,.06);overflow:hidden;
  background-image:linear-gradient(var(--weak-rule) 1px,transparent 1px),linear-gradient(90deg,var(--weak-rule) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}
.flow{display:flex;justify-content:center;align-items:center;gap:0;padding:20px 16px 0;position:relative;z-index:2}
.flow li{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;border-radius:999px;background:#fff;border:1px solid var(--rule);font-size:13px;color:var(--support)}
.flow li span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--stage);font-size:11px;font-weight:600;color:var(--tertiary)}
.flow li+li{margin-left:28px;position:relative}
.flow li+li::before{content:"";position:absolute;right:100%;top:50%;width:28px;border-top:1px dashed var(--control-edge)}
.flow li.on{color:var(--ink);border-color:#c8d6fb;background:var(--label-wash)}
.flow li.on span{background:var(--blue);color:#fff}
.stage-scene{position:relative;display:flex;justify-content:center;height:520px;padding-top:28px}
.hero-phone{--s:.92}
.float{position:absolute;margin:0;background:#fff;border-radius:12px;box-shadow:var(--sh-float);z-index:3}
.float-photo{left:7%;top:96px;width:236px;padding:8px;transform:rotate(-2deg)}
.float-room{display:block;width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;border-radius:7px}
.pdf-img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--weak-rule)}
.float-photo figcaption{display:flex;justify-content:space-between;align-items:baseline;padding:8px 4px 2px;font-size:13px}
.float-photo figcaption span{color:var(--support);font-size:12px}
.float-pdf{right:6%;top:150px;width:260px;padding:10px;transform:rotate(1.5deg)}
.mini-pdf{border:1px solid var(--weak-rule);border-radius:6px;padding:14px;font-size:11px;line-height:15px}
.mp-head{display:flex;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--weak-rule)}
.mp-head b{display:block;font-size:12px;font-weight:600}
.mp-head span{display:block;color:var(--support);font-size:11px}
.mp-logo{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#264b3c;color:#fff;font-style:normal;font-weight:700;font-size:11px;letter-spacing:.02em;flex:none}
.mp-lines{display:grid;gap:5px;margin:10px 0 12px}
.mp-lines i{height:5px;border-radius:3px;background:var(--weak-rule)}
.mp-lines i.s{width:60%}
.mp-row{display:flex;justify-content:space-between;padding:4px 0;color:var(--ink2)}
.mp-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:9px;border-top:1px solid var(--ink);font-weight:600}
.mp-total b{font-size:15px}
.pdf-cap{display:flex;align-items:center;gap:6px;padding:9px 4px 1px;font-size:12px;color:var(--green)}
.stage-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 0 18px;font-size:13px;color:var(--tertiary);background:transparent;position:relative}
.dot-live{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(56,107,229,.16)}
.hero .stage-shell{position:relative;z-index:1}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}

/* ---------- Matrix (who it's for) ---------- */
.matrix-label{padding:28px 16px 20px;text-align:center;font-size:14px;color:var(--support)}
.places{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);margin:0 var(--gutter);border-top:1px solid var(--rule)}
.places figure{position:relative;margin:0;height:280px;overflow:hidden;background:var(--stage)}
.places img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.places figure:hover img{transform:scale(1.03)}
.places figcaption{position:absolute;left:12px;bottom:12px;padding:4px 9px;border-radius:8px;background:rgba(255,255,255,.92);font-size:13px;color:var(--ink);backdrop-filter:blur(6px)}
.matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);margin:0 var(--gutter);border-top:1px solid var(--rule)}
.matrix li{display:flex;align-items:center;justify-content:center;gap:10px;height:96px;background:var(--chapter);font-size:15px;color:var(--ink2)}
.matrix svg{width:22px;height:22px;fill:none;stroke:var(--tertiary);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Guided product chapter ---------- */
.guide{display:grid;grid-template-columns:1fr 3fr;margin:80px var(--gutter) 0;border-top:1px solid var(--rule)}
.guide-rail{display:flex;flex-direction:column;padding:28px 24px;border-right:1px solid var(--rule);position:sticky;top:64px;align-self:start}
.step{display:grid;grid-template-columns:28px 1fr;column-gap:8px;text-align:left;padding:16px 0 16px 12px;background:none;border:0;border-left:2px solid transparent;margin-left:-2px;color:var(--muted);transition:color .3s var(--ease)}
.step-n{font-size:12px;font-weight:600;letter-spacing:.04em;padding-top:2px;font-feature-settings:"tnum"}
.step-t{font-size:16px;font-weight:500;color:inherit}
.step-d{grid-column:2;font-size:14px;line-height:20px;margin-top:4px;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s var(--ease),opacity .3s}
.step-bar{grid-column:2;height:2px;background:var(--weak-rule);margin-top:12px;border-radius:2px;overflow:hidden;opacity:0}
.step-bar i{display:block;height:100%;width:0;background:var(--blue)}
.step.is-active{color:var(--ink);border-left-color:var(--blue)}
.step.is-active .step-d{max-height:110px;opacity:1;color:var(--support)}
.step.is-active .step-bar{opacity:1}
.guide.is-playing .step.is-active .step-bar i{animation:fill var(--dur,5200ms) linear forwards}
.guide:not(.is-playing) .step.is-active .step-bar i{width:100%}
@keyframes fill{to{width:100%}}
.step:hover{color:var(--ink2)}
.play{display:inline-flex;align-items:center;gap:8px;margin:18px 0 0 12px;padding:0;background:none;border:0;font-size:13px;color:var(--support)}
.play-ic{width:22px;height:22px;border-radius:50%;border:1px solid var(--control-edge);position:relative}
.play-ic::before,.play-ic::after{content:"";position:absolute;top:7px;width:2px;height:7px;background:var(--tertiary);border-radius:1px}
.play-ic::before{left:7.5px}.play-ic::after{left:11.5px}
.guide:not(.is-playing) .play-ic::after{display:none}
.guide:not(.is-playing) .play-ic::before{left:8px;top:6px;width:0;height:0;background:none;border-left:7px solid var(--tertiary);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-radius:0}
.guide-stage{position:relative;background:var(--stage);overflow:hidden;min-height:760px;display:flex;flex-direction:column}
.guide-grid{position:absolute;inset:0;background-image:radial-gradient(circle,#d9dde3 1px,transparent 1.2px);background-size:20px 20px;opacity:.7;-webkit-mask-image:radial-gradient(70% 70% at 50% 45%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 45%,#000,transparent)}
.guide-scene{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:48px;padding:56px 32px 24px}
.guide-phone{--s:1}
.annots{position:relative;width:260px;height:180px}
.annot{position:absolute;inset:0 auto auto 0;width:100%;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:12px;background:#fff;box-shadow:var(--sh-float);opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .45s var(--ease);pointer-events:none}
.annot.is-active{opacity:1;transform:none;pointer-events:auto}
.annot-k{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}
.annot b{font-size:18px;line-height:24px;font-weight:500}
.annot span:last-child{font-size:14px;line-height:20px;color:var(--support)}
.guide-note{position:relative;text-align:center;font-size:12px;color:var(--muted);padding:0 16px 20px}

/* ---------- Benefits cells ---------- */
.cells{display:grid;grid-template-columns:repeat(3,1fr);margin:80px var(--gutter) 0;border-top:1px solid var(--rule)}
.cell{display:flex;flex-direction:column;padding:32px 24px 0;border-right:1px solid var(--rule);min-height:440px}
.cell:last-child{border-right:0}
.cell .lead{font-size:20px;line-height:1.25}
.shot{display:block;width:100%;max-width:260px;height:auto;border-radius:22px;box-shadow:var(--sh-float),0 18px 36px -18px rgba(11,13,24,.28)}
.shot-doc{max-width:340px;border-radius:6px}
.cell-art{flex:1;display:flex;align-items:center;justify-content:center;margin:32px -24px 0;padding:32px 24px;background:var(--chapter);border-top:1px solid var(--weak-rule)}
.ui-card{width:100%;max-width:300px;background:#fff;border-radius:12px;box-shadow:var(--sh-float);padding:14px;font-size:13px;line-height:18px}
.calc-row{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--weak-rule)}
.calc-row span{color:var(--support)}
.calc-row b{font-weight:600;font-feature-settings:"tnum"}
.ic.ok{color:var(--green)}
.calc-foot{padding:10px 2px 0;font-size:12px;color:var(--muted)}
.msg{background:#f6f7f9;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.msg-bubble{max-width:88%;padding:9px 12px;border-radius:16px 16px 4px 16px;background:#2f6bf0;color:#fff}
.msg-file{display:flex;gap:10px;align-items:center;padding:9px 12px 9px 9px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--rule)}
.msg-pdf{display:grid;place-items:center;width:32px;height:38px;border-radius:5px;background:#e9453c;color:#fff;font-size:10px;font-weight:700}
.msg-file b{display:block;font-weight:600}
.msg-file span{display:block;font-size:12px;color:var(--support)}
.msg-meta{font-size:11px;color:var(--muted)}
.brand-doc{padding:16px}
.bd-head{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:2px solid #264b3c}
.bd-head b{display:block;font-weight:600}
.bd-head span{display:block;font-size:11px;color:var(--support)}
.bd-head em{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.1em;color:#264b3c}
.bd-scope{display:grid;gap:6px;padding:14px 0}
.bd-scope span,.bd-sign span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tertiary)}
.bd-scope i{height:6px;border-radius:3px;background:var(--weak-rule)}
.bd-scope i.s{width:55%}
.bd-sign{display:flex;align-items:flex-end;gap:10px;padding-top:6px}
.bd-sign i{flex:1;border-bottom:1px solid var(--ink);height:18px}

/* ---------- Dark theater ---------- */
.sec-dark{position:relative;background:var(--night);color:#fff;max-width:none;padding-left:0;padding-right:0}
.theater{position:relative;max-width:1392px;margin:0 auto;padding:152px 24px 0;text-align:center;overflow:hidden;height:820px;border-left:1px solid var(--dark-edge);border-right:1px solid var(--dark-edge)}
.ribs{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.035) 0 1px,transparent 1px 8px);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent)}
.theater .overline{position:relative;color:var(--muted)}
.h-monument{position:relative;margin-top:24px;font-weight:600;font-size:96px;line-height:1;letter-spacing:-.024em}
.theater-sub{position:relative;max-width:560px;margin:28px auto 0;font-size:18px;line-height:1.4;color:var(--muted)}
.horizon{position:absolute;left:50%;top:560px;width:1728px;height:1728px;transform:translateX(-50%);pointer-events:none}
.hz-ring,.hz-glow{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,#eef1f5 0deg,#4fd1c5 10deg,#2a5bd7 60deg,#1c3fa8 180deg,#c2362f 210deg,#e0473a 300deg,#f4c64e 350deg,#eef1f5 360deg)}
.hz-glow{filter:blur(14px);opacity:.45;inset:-6px}
.hz-disk{position:absolute;inset:2px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,#101010 96%,#15171c 100%)}
.horizon::after{content:"";position:absolute;left:-10%;right:-10%;top:-120px;height:260px;background:radial-gradient(50% 50% at 50% 60%,rgba(80,120,220,.16),transparent 70%)}
.theater::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,transparent,var(--night))}
.dark-cells{display:grid;grid-template-columns:repeat(3,1fr);max-width:1392px;margin:0 auto;border:1px solid var(--dark-edge);border-bottom:0}
.dcell{padding:32px 32px 56px;border-right:1px solid var(--dark-edge)}
.dcell:last-child{border-right:0}
.dic{width:24px;height:24px;fill:none;stroke:var(--footer-text);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.dcell h3{font-size:18px;line-height:24px;font-weight:500}
.dcell p{margin-top:8px;font-size:15px;line-height:22px;color:var(--muted)}

/* ---------- Editorial pause ---------- */
.pause{padding:152px 0}
.pause blockquote{max-width:864px;margin:0 auto;padding:0 24px;text-align:center}
.quote{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.pause footer{margin-top:28px;font-size:14px;color:var(--support)}

/* ---------- Pricing ---------- */
.plan-wrap{display:flex;justify-content:center;padding:64px 24px 0}
.plan{width:100%;max-width:480px;padding:23px;border:1px solid #b9cbf6;border-radius:20px;background:#fff;
  box-shadow:0 0 0 4px rgba(56,107,229,.08),rgba(28,40,64,.08) 0 1px 2px -1px,rgba(28,40,64,.04) 0 2px 4px}
.plan-flag{display:inline-flex;height:24px;align-items:center;padding:0 8px;border-radius:8px;background:#fff6e5;color:#8a5a00;font-size:13px}
.plan-name{margin-top:16px;font-size:20px;line-height:1.3;font-weight:500}
.plan-price{display:flex;align-items:baseline;gap:6px;margin-top:6px}
.plan-price b{font-weight:600;font-size:48px;line-height:1;letter-spacing:-.02em}
.plan-price span{color:var(--support)}
.plan-q{margin-top:12px;font-size:14px;line-height:20px;color:var(--support)}
.plan-list{display:grid;gap:12px;margin:24px 0;padding:20px 0;border-top:1px solid var(--weak-rule);border-bottom:1px solid var(--weak-rule)}
.plan-list li{display:flex;gap:10px;font-size:15px;color:var(--ink2)}
.plan-list .ic{color:var(--blue);margin-top:3px}
.wl-plan{margin-top:0;max-width:none}
.wl-plan .wl-row{flex-direction:column}
.wl-plan .wl-btn{width:100%}
.plan-fine{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}
.pricing{padding-bottom:120px}

/* ---------- FAQ ---------- */
.faq{max-width:672px;margin:0 auto;padding:0 24px 152px}
.h-faq{font-weight:600;font-size:40px;line-height:44px;letter-spacing:-.01em;margin-bottom:24px}
.faq details{border-bottom:1px solid var(--weak-rule)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:24px 40px 24px 0;font-weight:600;font-size:16px;line-height:22px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"[ + ]";position:absolute;right:0;top:24px;font-weight:500;font-size:13px;color:var(--muted);letter-spacing:.04em}
.faq details[open] summary::after{content:"[ – ]"}
.faq details div{padding:0 0 24px}
.faq p{font-weight:400;font-size:16px;line-height:24px;color:var(--ink2)}
.faq a{text-decoration:underline;text-underline-offset:2px}

/* ---------- Closing + footer ---------- */
.closing{overflow:hidden;border-top:1px solid var(--dark-edge)}
.closing-in{position:relative;max-width:720px;margin:0 auto;padding:120px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.closing::before{content:"";position:absolute;left:50%;top:-40%;width:900px;height:500px;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(56,107,229,.22),transparent 70%);pointer-events:none}
.h-closing{font-weight:500;font-size:56px;line-height:1;letter-spacing:-.015em}
.closing-sub{margin-top:20px;color:var(--muted);font-size:17px}
.wl-dark{margin-top:28px}
.wl-dark .wl-input{background:#17181b;border-color:var(--dark-edge);color:#fff}
.wl-dark .wl-input::placeholder{color:#6d737d}
.wl-dark .wl-done{background:#132219;border-color:#21402e}
.wl-dark .wl-done span{color:var(--muted)}
.footer{background:var(--night);color:var(--footer-text);max-width:none;padding-top:48px;padding-bottom:40px;border-top:1px solid var(--dark-edge)}
.foot-top,.foot-legal{max-width:1392px;margin:0 auto}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.brand-dark{color:#fff}
.brand-dark .brand-mark{background:none}
.brand-dark .brand-name span{color:var(--muted)}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 8px}
.foot-links a{padding:4px;border-radius:8px;font-weight:400;font-size:14px;line-height:20px;transition:color .15s cubic-bezier(0,0,0,1)}
.foot-links a:hover{color:#fff}
.foot-legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--dark-edge);font-weight:400;font-size:13px;line-height:20px;color:var(--tertiary);max-width:1392px}

/* ---------- Sticky CTA (mobile) ---------- */
.sticky-cta{display:none}

/* ---------- Survey dialog ---------- */
.survey{width:min(480px,calc(100% - 32px));padding:0;border:0;border-radius:20px;box-shadow:0 30px 80px -20px rgba(11,13,24,.45);color:var(--ink)}
.survey::backdrop{background:rgba(16,16,16,.45);backdrop-filter:blur(3px)}
.survey-in{padding:28px 24px 24px}
.survey-ok{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff}
.survey h2{margin-top:16px;font-size:26px;line-height:1.1;font-weight:600;letter-spacing:-.015em}
.survey-lead{margin-top:6px;color:var(--support);font-size:15px}
.survey fieldset{border:0;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.survey legend{width:100%;margin-bottom:10px;font-size:15px;font-weight:600}
.survey label{position:relative}
.survey label input{position:absolute;opacity:0;inset:0}
.survey label span{display:inline-flex;align-items:center;height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--control-edge);font-size:14px;cursor:pointer;transition:all .2s var(--ease)}
.survey label input:checked+span{background:var(--label-wash);border-color:var(--blue);color:var(--label-ink)}
.survey label input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.survey-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.survey-actions .btn{height:40px;padding:0 16px}
.survey.is-thanks fieldset,.survey.is-thanks .survey-actions [data-survey=skip]{display:none}

/* =========================================================
   PHONE + APP SCREENS (designed at 300 × 624)
   ========================================================= */
.phone-wrap{position:relative;flex:none;width:calc(300px * var(--s,1));height:calc(624px * var(--s,1))}
.phone{position:absolute;left:0;top:0;width:300px;height:624px;transform:scale(var(--s,1));transform-origin:0 0;border-radius:48px;background:#1b1c1f;padding:9px;
  box-shadow:inset 0 0 0 1.5px #3b3e45,inset 0 0 0 4px #0c0c0d,0 1px 2px rgba(11,13,24,.1),0 24px 48px -16px rgba(11,13,24,.38),0 60px 90px -40px rgba(30,50,110,.35)}
.screen{position:relative;width:100%;height:100%;border-radius:40px;overflow:hidden;background:#fff;font:500 12px/16px var(--sans);letter-spacing:-.01em;color:var(--ink)}
.island{position:absolute;z-index:20;top:10px;left:50%;width:86px;height:25px;margin-left:-43px;border-radius:14px;background:#000}
.scr{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.scr.is-active{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
.sbar{flex:none;display:flex;justify-content:space-between;align-items:center;height:46px;padding:4px 28px 0 30px;font-weight:600;font-size:13px}
.sbar i{display:flex;gap:4px;align-items:center}
.sbar i b{display:block;background:currentColor;border-radius:1px}
.sbar .bat{width:21px;height:10px;border-radius:3px;border:1.2px solid currentColor;opacity:.9;position:relative}
.sbar .bat::after{content:"";position:absolute;inset:1px 4px 1px 1px;background:currentColor;border-radius:1px}
.ahead{flex:none;display:flex;align-items:center;justify-content:space-between;padding:4px 16px 10px}
.ahead .back{color:var(--blue);font-size:13px;display:flex;align-items:center;gap:2px}
.ahead .ttl{font-weight:600;font-size:14px}
.dots{display:flex;gap:4px}
.dots i{width:14px;height:3px;border-radius:2px;background:var(--rule)}
.dots i.on{background:var(--blue)}
.abody{flex:1;overflow:hidden;padding:0 14px}
.afoot{flex:none;padding:10px 14px 22px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 30%)}
.abtn{display:flex;align-items:center;justify-content:center;gap:6px;height:42px;border-radius:12px;background:var(--button);color:#fff;font-weight:600;font-size:13px}
.abtn.blue{background:var(--blue)}
.grp-l{margin:12px 2px 6px;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.card{background:#fff;border:1px solid var(--weak-rule);border-radius:12px}
.hint{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--support)}

/* App design screens (real exported designs, 780px wide) */
.screen .island{display:none}
.scr-img{background:#f2f3f5;overflow:hidden}
.scr-img img{display:block;width:100%;height:auto}
.scr-snap{background:#000}
.screen .scr-snap .island{display:block}
.guide-phone .is-scroll.is-active img,.rec-phone .is-scroll.is-active img{animation:scrollscr 6.6s .8s var(--ease) both}
@keyframes scrollscr{0%,14%{transform:translateY(0)}48%,78%{transform:translateY(calc(-100% + 606px))}100%{transform:translateY(0)}}
.scr-snap.is-active::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;animation:flash 1.1s 1.2s ease-out}
@keyframes flash{0%{opacity:0}8%{opacity:.85}100%{opacity:0}}

/* =========================================================
   RECORD MODE  (index.html?record=1)
   ========================================================= */
body.is-record{background:#0b0b0c;overflow:hidden}
body.is-record .site,body.is-record .sticky-cta{display:none!important}
.record{position:fixed;inset:0;display:grid;place-items:center;background:#0b0b0c}
.record[hidden]{display:none}
.rec-frame{position:relative;height:100vh;width:56.25vh;max-width:100vw;overflow:hidden;background:#fff;display:flex;flex-direction:column;align-items:center}
.rec-atmos{position:absolute;inset:0;background:
  radial-gradient(70% 40% at 50% 0%,#fff 30%,rgba(255,255,255,0)),
  radial-gradient(110% 60% at 50% 100%,rgba(230,236,255,.6),rgba(188,203,255,.55) 45%,rgba(134,160,238,.5));}
.rec-atmos::after{content:"";position:absolute;inset:35% 0 0;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.6) 0 1px,transparent 1px 8px);opacity:.5;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 40%);mask-image:linear-gradient(to bottom,transparent,#000 40%)}
.rec-top{position:relative;text-align:center;padding:7vh 6vh 0;transition:opacity .35s var(--ease)}
.rec-k{display:inline-flex;height:3vh;align-items:center;padding:0 1.2vh;border-radius:1vh;background:var(--label-wash);color:var(--label-ink);font-size:1.7vh;font-weight:600}
.rec-t{margin-top:1.8vh;font-weight:600;font-size:5.4vh;line-height:1;letter-spacing:-.025em}
.rec-s{margin-top:1.4vh;font-size:2.1vh;line-height:1.3;color:var(--support)}
.rec-phone{position:relative;margin-top:3.6vh}
.rec-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 5vh;background:var(--night);color:#fff;opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}
.rec-end::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.04) 0 1px,transparent 1px 8px)}
.rec-end>*{position:relative}
.brand-mark.big{width:9vh;height:9vh}
.brand-mark.big img{width:9vh;height:9vh}
.rec-end h2{margin-top:3vh;font-weight:600;font-size:6vh;line-height:1;letter-spacing:-.025em}
.rec-end h2 .c{color:var(--muted)}
.rec-end p{margin-top:2vh;font-size:2vh;color:var(--muted)}
.rec-cta{margin-top:4vh;display:inline-flex;align-items:center;height:6vh;padding:0 3vh;border-radius:1.4vh;background:#f3f4f5;color:var(--ink);font-weight:600;font-size:2.1vh}
.rec-url{margin-top:2vh;font-size:2vh;color:#fff;letter-spacing:-.005em}
.rec-foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:2.4vh 3vh;font-size:1.5vh;color:var(--tertiary)}
.record.is-end .rec-end{opacity:1}
.record.is-end .rec-foot{color:#6d737d}
.record .sample{display:block}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1200px){
  .float-photo{left:2%;width:200px}
  .float-pdf{right:2%;width:230px}
  .guide-scene{gap:28px}
  .annots{width:220px}
}
@media (max-width:991px){
  .nav-links{display:none}
  .h-pair{font-size:34px}
  .guide{grid-template-columns:1fr}
  .guide-rail{position:relative;top:auto;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding:0;border-right:0;border-bottom:1px solid var(--rule);scrollbar-width:none}
  .guide-rail::-webkit-scrollbar{display:none}
  .step{flex:1 0 auto;min-width:140px;display:flex;flex-direction:column;gap:2px;padding:14px 16px 0;margin:0;border-left:0;scroll-snap-align:start}
  .step-d{display:none}
  .step-t{font-size:14px;white-space:nowrap}
  .step-bar{margin:12px -16px 0;opacity:1;height:2px;border-radius:0}
  .play{flex:none;margin:0;padding:0 16px;border-left:1px solid var(--rule)}
  .play-l{display:none}
  .guide-stage{min-height:0}
  .guide-scene{flex-direction:column;gap:20px;padding:32px 16px 16px}
  .annots{width:100%;max-width:360px;height:118px}
  .annot{padding:14px 16px}
  .cells{grid-template-columns:1fr}
  .cell{border-right:0;border-bottom:1px solid var(--rule);min-height:0}
  .cell-art{min-height:260px}
  .dark-cells{grid-template-columns:1fr}
  .dcell{border-right:0;border-bottom:1px solid var(--dark-edge);padding:28px 24px 32px}
  .h-monument{font-size:72px}
  .matrix{grid-template-columns:repeat(3,1fr)}
  .matrix li:nth-child(4),.matrix li:nth-child(5){grid-column:span 1}
  .matrix li{height:80px;font-size:14px}
}
@media (max-width:767px){
  :root{--gutter:16px}
  html{scroll-padding-top:72px}
  .nav-row{height:56px}
  .brand-name span{display:none}
  .nav-cta{height:34px}
  .announce{font-size:12px;line-height:16px}
  .hero-rails{padding-top:44px}
  .hero-copy{padding:0 12px}
  .pill{font-size:12px}
  .hero .h-display{margin-top:24px;font-size:44px;line-height:.98;letter-spacing:-.025em}
  .hero-support{margin-top:18px;font-size:16.5px;line-height:1.42}
  .wl{margin-top:24px}
  .wl-row{flex-direction:column}
  .wl-input,.wl-btn{height:50px}
  .wl-btn{width:100%;font-size:15px}
  .wl-note{font-size:12.5px}
  .hero-stage{margin-top:40px;padding:0 8px}
  .stage-shell{padding:8px 8px 0}
  .flow{padding:14px 8px 0;gap:0}
  .flow li{font-size:11px;padding:3px 7px 3px 3px;gap:4px}
  .flow li span{width:16px;height:16px;font-size:9.5px}
  .flow li+li{margin-left:10px}
  .flow li+li::before{width:10px}
  .stage-scene{height:440px;padding-top:20px}
  .hero-phone{--s:.68}
  .float-photo{display:none}
  .float-pdf{right:-4px;top:auto;bottom:18px;width:150px;padding:6px}
  .places{grid-template-columns:1fr 1fr}
  .places figure{height:170px}
  .places figcaption{left:8px;bottom:8px;font-size:12px;padding:3px 7px}
  .shot{max-width:230px}
  .mini-pdf{padding:8px;font-size:8.5px;line-height:12px}
  .mp-head b{font-size:9px}.mp-head span{font-size:8.5px}
  .mp-logo{width:20px;height:20px;font-size:8px;border-radius:5px}
  .mp-lines{margin:6px 0 7px;gap:3px}.mp-lines i{height:3px}
  .mp-total b{font-size:11px}
  .pdf-cap{font-size:10px;padding-top:6px}
  .stage-note{font-size:11.5px;padding:12px 8px 14px;text-align:center}
  .matrix-label{padding:22px 16px 16px;font-size:13px}
  .matrix{grid-template-columns:1fr 1fr}
  .matrix li{height:64px;font-size:13.5px;gap:8px;justify-content:flex-start;padding-left:16px}
  .matrix li:last-child{grid-column:span 2;justify-content:center;padding-left:0}
  .chapter{padding-top:88px}
  .inner{padding:0 20px}
  .tag{margin-bottom:18px}
  .h-pair{font-size:27px;line-height:1.15}
  .guide{margin-top:48px}
  .guide-phone{--s:.86}
  .cells{margin-top:48px}
  .cell{padding:28px 20px 0}
  .cell .lead{font-size:19px}
  .cell-art{margin:24px -20px 0;padding:28px 20px}
  .theater{padding:96px 20px 0;height:600px}
  .h-monument{font-size:54px;letter-spacing:-.03em}
  .theater-sub{font-size:16px}
  .horizon{top:430px;width:1100px;height:1100px}
  .pause{padding:96px 0}
  .quote{font-size:28px;line-height:1.28}
  .plan-wrap{padding:40px 16px 0}
  .pricing{padding-bottom:80px}
  .plan{padding:20px}
  .plan-price b{font-size:44px}
  .faq{padding:0 20px 96px}
  .h-faq{font-size:30px;line-height:34px}
  .faq summary{padding:20px 36px 20px 0}
  .faq summary::after{top:20px}
  .closing-in{padding:88px 20px 96px}
  .h-closing{font-size:38px;line-height:1.04;letter-spacing:-.02em}
  .closing-sub{font-size:16px}
  .footer{padding:40px 20px calc(96px + env(safe-area-inset-bottom))}
  .foot-top{flex-direction:column;align-items:flex-start}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--rule);
    transform:translateY(110%);transition:transform .35s var(--ease)}
  .sticky-cta.is-on{transform:none}
  .sticky-cta .btn{width:100%;height:50px;font-size:15px}
  .survey{margin:auto auto 0;width:100%;max-width:none;border-radius:20px 20px 0 0}
  .survey-in{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .survey-actions .btn{flex:1;height:48px}
}
@media (max-width:380px){
  .hero .h-display{font-size:39px}
  .hero-phone{--s:.62}
  .float-pdf{width:136px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
