
:root{
  --paper:#FAF7F2;--sand:#EFE7DB;--ink:#1A1512;--espresso:#221A15;--muted:#6E655C;
  --rule:#E4DACC;--brown:#7A3E12;--gold:#E3B676;--gold-ink:#B98543;
  --display:"Inter Tight",Inter,system-ui,sans-serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(20px,4vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
section{scroll-margin-top:72px}
body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1}
h2,h3,blockquote{text-wrap:balance}
p{text-wrap:pretty}
.wrap{width:min(1280px,100% - 2*var(--gut));margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--sans);letter-spacing:.04em;color:var(--muted)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font:500 14.5px/1 var(--sans);letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.btn svg{width:17px;height:17px}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#3a2d24}
.btn-line{border:1px solid rgba(26,21,18,.28);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-white{background:#fff;color:var(--ink)}
.btn-white:hover{background:var(--sand)}
.btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff}
.btn-ghost:hover{border-color:var(--gold)}
.u{display:inline-block;font-size:15px;color:var(--ink);text-decoration:none;padding-bottom:3px;border-bottom:1px solid currentColor;transition:color .2s}
.u:hover{color:var(--brown)}


/* ---------- Bella demo: hero card, floating pill, modal ---------- */
.pill{position:fixed;z-index:60;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;padding:13px 18px 13px 14px;border-radius:999px;background:var(--espresso);color:#fff;font:500 14.5px/1 var(--sans);border:0;cursor:pointer;box-shadow:0 22px 40px -18px rgba(20,12,6,.85);transform:translateY(130%);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s}
.pill.show{transform:none;opacity:1}
.pill .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);animation:bv-pulse 2s infinite}
@keyframes bv-pulse{0%{box-shadow:0 0 0 0 rgba(227,182,118,.6)}70%{box-shadow:0 0 0 10px rgba(227,182,118,0)}100%{box-shadow:0 0 0 0 rgba(227,182,118,0)}}
.bv-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(20,14,10,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bv-modal.open{display:flex}
.bv-modal .card{position:relative;width:min(580px,100%);max-height:calc(100svh - 32px);overflow:auto;border-radius:22px;background:var(--paper);color:var(--ink);padding:28px 28px 24px;box-shadow:0 40px 80px -30px rgba(20,12,6,.6)}
.bv-modal .x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--sand);color:var(--ink);cursor:pointer;font-size:22px;line-height:1}
.bv-modal .tabs{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--sand);margin:0 44px 22px 0}
.bv-modal .tabs button{flex:1;min-height:40px;border:0;border-radius:999px;background:transparent;font:500 14px/1 var(--sans);color:var(--muted);cursor:pointer}
.bv-modal .tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.bv-modal h3{font-size:26px;margin-bottom:8px}
.bv-modal p.l{color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:18px}
.bv-call{display:none;width:100%;margin-bottom:16px}
.bv-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bv-form label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:5px}
.bv-form input,.bv-form select{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--rule);border-radius:12px;background:#fff;font:400 15px var(--sans);color:var(--ink);appearance:auto}
.bv-form input:focus,.bv-form select:focus{outline:2px solid var(--gold-ink);outline-offset:0;border-color:transparent}
.bv-form .full{grid-column:1/-1}
.bv-form .consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:400;margin:2px 0 0}
.bv-form .consent input{width:16px;height:16px;min-height:0;margin-top:2px;flex:none}
.bv-form .hp{position:absolute;left:-9999px;width:1px;height:1px}
.bv-form .btn{grid-column:1/-1;min-height:50px;width:100%}
.bv-form .err{grid-column:1/-1;display:none;color:#9B2C1A;font-size:13.5px}
.bv-done{display:none;text-align:center;padding:14px 0 4px}
.bv-done .wave{margin:0 auto 14px}
.bv-done h3{font-size:24px}.bv-done p{color:var(--muted);font-size:15px;margin:8px 0 18px}
.bv-book iframe{display:block;width:100%;height:min(660px,calc(100svh - 170px));border:0;border-radius:12px;background:#fff}
.demo-row{max-width:1000px;margin:26px auto 0;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:center;color:#C9BDAF;font-size:15px}
.demo-row .btn{min-height:44px}
.final .btn+.btn{margin-left:10px}
@media (max-width:640px){
  .bella{padding:16px}
  .bv-call{display:inline-flex}
  .bv-form{grid-template-columns:1fr}
  .bv-modal .card{padding:22px 18px 18px}
  .bv-modal .tabs{margin-right:40px}
  .final .btn+.btn{margin:10px 0 0}
  .pill{right:14px;bottom:14px}
}


/* ---------- Talk to Bella: liquid voice orb, flip-to-call ---------- */
.bella{position:relative;margin:0 0 22px;perspective:1400px;min-height:330px}
.bella .face{position:absolute;inset:0;display:grid;grid-template-columns:176px 1fr;gap:8px 22px;align-items:center;padding:24px 26px 20px;border-radius:26px;color:var(--ink);background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 60px -36px rgba(60,35,15,.45),inset 0 1px 0 #fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.16,1,.3,1),box-shadow .6s;isolation:isolate}
.bella .face::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(60% 70% at 18% 50%,rgba(227,182,118,.28),transparent 70%);pointer-events:none;z-index:0}
.bella .face>*{position:relative;z-index:1}
.bella .face.back{transform:rotateY(180deg);grid-template-columns:1fr auto}
.bella.flip .face.front{transform:rotateY(-180deg)}
.bella.flip .face.back{transform:rotateY(0)}
.bella .wave{display:none}
/* the voice: gooey metaballs + radial bars + icon */
.voice{position:relative;width:176px;height:176px;display:grid;place-items:center;grid-row:1/3}
.voice .ring{position:absolute;inset:0;pointer-events:none}
.voice .ring i{position:absolute;left:50%;top:50%;width:2px;height:12px;margin:-6px 0 0 -1px;border-radius:2px;background:linear-gradient(var(--gold-ink),var(--gold));transform:rotate(calc(var(--i)*7.5deg)) translateY(-78px) scaleY(var(--s,.5));transform-origin:center;opacity:.9;animation:bv-bar 1.6s ease-in-out infinite;animation-delay:calc(var(--i)*-.07s)}
.voice .ring i:nth-child(3n){animation-duration:1.1s}.voice .ring i:nth-child(5n){animation-duration:2.1s}.voice .ring i:nth-child(7n){animation-duration:.9s}
@keyframes bv-bar{0%,100%{transform:rotate(calc(var(--i)*7.5deg)) translateY(-78px) scaleY(.35)}50%{transform:rotate(calc(var(--i)*7.5deg)) translateY(-78px) scaleY(1.6)}}
.voice:hover .ring i{animation-duration:.55s!important}
.voice .orb{position:relative;width:118px;height:118px;border-radius:50%;border:0;padding:0;cursor:pointer;background:transparent;display:grid;place-items:center;overflow:hidden;box-shadow:0 30px 44px -18px rgba(185,133,67,.95),inset 0 2px 2px rgba(255,255,255,.9),inset 0 -14px 26px rgba(120,70,20,.25);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.voice .orb::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 28%,#FBEBD1,#E9C48C 40%,#D4A15C 75%,#B07430);z-index:0}
.voice .orb .goo{position:absolute;inset:-10%;z-index:1;filter:url(#bv-goo);opacity:.95}
.voice .orb .goo b{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF4E0,#F0CB93 55%,#D9A45E);mix-blend-mode:screen;opacity:.85}
.voice .orb .goo b:nth-child(1){width:52%;height:52%;left:8%;top:14%;animation:bv-goo1 7s ease-in-out infinite}
.voice .orb .goo b:nth-child(2){width:44%;height:44%;left:48%;top:40%;animation:bv-goo2 9s ease-in-out infinite}
.voice .orb .goo b:nth-child(3){width:34%;height:34%;left:30%;top:58%;animation:bv-goo3 6s ease-in-out infinite}
.voice .orb .goo b:nth-child(4){width:26%;height:26%;left:60%;top:10%;animation:bv-goo2 8s ease-in-out -4s infinite reverse}
@keyframes bv-goo1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(28%,18%) scale(1.15)}66%{transform:translate(-10%,30%) scale(.9)}}
@keyframes bv-goo2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-30%,-22%) scale(1.2)}66%{transform:translate(12%,-34%) scale(.85)}}
@keyframes bv-goo3{0%,100%{transform:translate(0,0)}50%{transform:translate(34%,-40%) scale(1.3)}}
.voice .orb .spec{position:absolute;inset:0;z-index:2;border-radius:50%;background:radial-gradient(circle at var(--mx,38%) var(--my,30%),rgba(255,255,255,.75),rgba(255,255,255,0) 38%);pointer-events:none;transition:background-position .1s}
.voice .orb .ico-idle,.voice .orb .ico-live{position:relative;z-index:3;display:grid;place-items:center}
.voice .orb svg{position:relative;z-index:3;width:34px;height:34px;color:#2A1C10;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.voice .orb:hover{transform:scale(1.05)}
.voice .orb:hover svg{transform:rotate(-14deg) scale(1.1)}
.voice .orb:active{transform:scale(.97)}
.voice .orb:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(227,182,118,.6),0 30px 44px -18px rgba(185,133,67,.95)}
.voice .halo{position:absolute;inset:14px;border-radius:50%;background:radial-gradient(circle,rgba(227,182,118,.5),rgba(227,182,118,0) 70%);filter:blur(12px);z-index:-1;animation:bv-breathe2 4.5s ease-in-out infinite}
@keyframes bv-breathe2{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
.voice .lbl{position:absolute;bottom:-16px;left:50%;transform:translate(-50%,6px);white-space:nowrap;font:600 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}
.bella:hover .voice .lbl{opacity:1;transform:translate(-50%,0)}
/* copy */
.bella .tag{display:inline-flex;align-items:center;gap:8px;font:500 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bella .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#30A46C;animation:bv-pulse-g 2s infinite}
@keyframes bv-pulse-g{0%{box-shadow:0 0 0 0 rgba(48,164,108,.5)}70%{box-shadow:0 0 0 9px rgba(48,164,108,0)}100%{box-shadow:0 0 0 0 rgba(48,164,108,0)}}
.bella b.h{display:block;font:600 22px/1.15 var(--display);letter-spacing:-.025em;color:var(--ink);margin-top:8px}
.bella .now{display:block;font-size:14.5px;line-height:1.5;color:#4A433C;margin-top:6px;white-space:nowrap}
.bella .now .lab{margin-right:6px}
.bella .now .rot{position:relative;display:inline-block;height:1.5em;overflow:hidden;vertical-align:bottom;min-width:12em}
.bella .now .rot span{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(110%);transition:opacity .45s,transform .7s cubic-bezier(.16,1,.3,1);color:var(--ink);font-weight:500}
.bella .now .rot span.in{opacity:1;transform:none}.bella .now .rot span.out{opacity:0;transform:translateY(-110%)}
/* liquid buttons */
.bella .act{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.bella .act .btn{position:relative;overflow:hidden;min-height:50px;width:100%;border:1px solid rgba(26,21,18,.16);background:transparent;color:var(--ink);transition:color .35s,border-color .35s,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s;isolation:isolate}
.bella .act .btn::before{content:"";position:absolute;left:22px;top:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);transition:width .55s cubic-bezier(.16,1,.3,1),height .55s cubic-bezier(.16,1,.3,1);z-index:-1}
.bella .act .btn:hover::before,.bella .act .btn.pri::before{width:340%;height:1200%}
.bella .act .btn.pri{border-color:transparent;font-weight:600;box-shadow:0 12px 26px -14px rgba(185,133,67,.9)}
.bella .act .btn.pri:hover::before{background:#EDC58C}
.bella .act .btn:hover{transform:translateY(-2px);border-color:transparent}
.bella .act .btn:active{transform:translateY(1px) scale(.99)}
.bella .act .btn svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.bella .act .btn:hover svg{transform:translateX(-2px) rotate(-10deg)}
.bella .num{grid-column:1/-1;margin-top:10px;font-size:13.5px;color:var(--muted);text-align:center}.bella .num a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(26,21,18,.3)}
/* back face: QR + number */
.bella .back .qr{width:150px;height:150px;padding:10px;border-radius:18px;background:#fff;box-shadow:0 20px 40px -24px rgba(60,35,15,.5);display:grid;place-items:center}
.bella .back .qr svg{width:100%;height:100%;display:block}
.bella .back b.h{margin-top:0}
.bella .back .big{display:block;font:600 clamp(26px,2.4vw,34px)/1.1 var(--display);letter-spacing:-.03em;color:var(--ink);margin:10px 0 6px;text-decoration:none}
.bella .back .p{font-size:14.5px;color:#4A433C;line-height:1.5}
.bella .back .row{grid-column:1/-1;display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:12px;font-size:13.5px;color:var(--muted)}
.bella .back .row button{border:0;background:transparent;color:var(--ink);font:500 13.5px var(--sans);cursor:pointer;padding:6px 0;border-bottom:1px solid rgba(26,21,18,.3)}
.bella .back .steps{display:flex;gap:10px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.bella .back .steps span{display:inline-flex;align-items:center;gap:6px}
.bella .back .steps span::before{content:counter(st);counter-increment:st;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--ink);font:600 11px/18px var(--sans);text-align:center}
.bella .back .steps{counter-reset:st}
/* entrance */
.js .bella .voice,.js .bella .tag,.js .bella b.h,.js .bella .now,.js .bella .act .btn,.js .bella .num{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js.ready .bella .voice{opacity:1;transform:none;transition-delay:.5s}
.js.ready .bella .tag{opacity:1;transform:none;transition-delay:.6s}
.js.ready .bella b.h{opacity:1;transform:none;transition-delay:.68s}
.js.ready .bella .now{opacity:1;transform:none;transition-delay:.76s}
.js.ready .bella .act .btn:first-child{opacity:1;transform:none;transition-delay:.88s}
.js.ready .bella .act .btn:last-child{opacity:1;transform:none;transition-delay:.98s}
.js.ready .bella .num{opacity:1;transform:none;transition-delay:1.08s}
/* pill + modal (book only) */
.pill{transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s,box-shadow .25s}
.pill:hover{transform:translateY(-3px)!important;box-shadow:0 26px 44px -16px rgba(20,12,6,.9)}
.bv-modal{opacity:0;transition:opacity .25s}.bv-modal.open{animation:bv-fade .25s forwards}
@keyframes bv-fade{to{opacity:1}}
.bv-modal .card{transform:translateY(18px) scale(.98);opacity:0}
.bv-modal.open .card{animation:bv-pop .55s cubic-bezier(.16,1,.3,1) .05s forwards}
@keyframes bv-pop{to{transform:none;opacity:1}}
.bv-modal .tabs{display:none}
.bv-modal .x{transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}.bv-modal .x:hover{transform:rotate(90deg);background:#E4DACC}
@media (hover:none){.bella .act .btn:hover,.pill:hover{transform:none!important}.voice .lbl{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.voice .ring i,.voice .orb .goo b,.voice .halo,.bella .tag::before{animation:none}.js .bella .voice,.js .bella .tag,.js .bella b.h,.js .bella .now,.js .bella .act .btn,.js .bella .num{opacity:1;transform:none;transition:none}.bv-modal .card{transform:none;opacity:1}.bella .face{transition:none}}
@media (max-width:1080px){.bella{min-height:350px}}
@media (max-width:640px){.bella{min-height:0}.bella .face{position:relative;grid-template-columns:1fr;justify-items:center;text-align:center;padding:22px 18px 18px;gap:6px}.bella .face.back{display:none}.voice{grid-row:auto;width:160px;height:160px;margin-bottom:6px}.voice .ring i{transform:rotate(calc(var(--i)*7.5deg)) translateY(-70px) scaleY(.5)}@keyframes bv-bar{0%,100%{transform:rotate(calc(var(--i)*7.5deg)) translateY(-70px) scaleY(.35)}50%{transform:rotate(calc(var(--i)*7.5deg)) translateY(-70px) scaleY(1.6)}}.voice .orb{width:104px;height:104px}.bella .now{white-space:normal}.bella .now .lab{display:block;margin:0}.bella .now .rot{display:block;width:100%;min-width:0!important}.bella .now .rot span{left:0;right:0;text-align:center;overflow:hidden;text-overflow:ellipsis}.bella .act{grid-template-columns:1fr;width:100%}}


/* ---------- live web call states ---------- */
.bella .face.back{display:none}
.bella.flip .face.front{transform:none}
.bella{min-height:0!important}
.bella .face.front{position:relative;inset:auto}
@media (max-width:640px){.bella .call .ctl,.bella[data-state="ended"] .call .after{grid-template-columns:1fr}.bella .call .hint{font-size:12.5px}}
.bella .call{grid-column:1/-1;display:none;margin-top:10px}
.bella[data-state="connecting"] .call,.bella[data-state="live"] .call,.bella[data-state="ended"] .call{display:block}
.bella .call .st{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(26,21,18,.05);border:1px solid rgba(26,21,18,.08)}
.bella .call .st .l{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink)}
.bella .call .st .l i{width:9px;height:9px;border-radius:50%;background:#30A46C;box-shadow:0 0 0 0 rgba(48,164,108,.5);animation:bv-pulse-g 1.6s infinite}
.bella[data-state="connecting"] .call .st .l i{background:var(--gold-ink);animation:bv-blink2 .9s infinite}
.bella[data-state="ended"] .call .st .l i{background:#9A8E82;animation:none}
@keyframes bv-blink2{50%{opacity:.25}}
.bella .call .st .t{font:600 15px/1 var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.bella .call .ctl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.bella .call .ctl .btn{min-height:46px;width:100%;border:1px solid rgba(26,21,18,.16);background:#fff;color:var(--ink);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,color .25s}
.bella .call .ctl .btn:hover{transform:translateY(-1px)}
.bella .call .ctl .btn.muted{background:var(--ink);color:#fff}
.bella .call .ctl .btn.end{background:#E5484D;border-color:transparent;color:#fff}
.bella .call .ctl .btn.end:hover{background:#D23B40}
.bella .call .after{display:none;margin-top:10px}
.bella .call .after .btn{min-height:46px;width:100%}
.bella .call .hint{display:block;margin-top:10px;font-size:13px;color:var(--muted);text-align:center}
.bella[data-state="live"] .voice .orb{box-shadow:0 0 0 6px rgba(48,164,108,.18),0 30px 44px -18px rgba(185,133,67,.95),inset 0 2px 2px rgba(255,255,255,.9)}
.bella[data-state="connecting"] .voice .ring i{animation-duration:.45s!important}
.bella[data-state="live"] .voice .ring i{animation:none;transition:transform .08s linear}
.bella[data-state="live"] .voice .lbl,.bella[data-state="connecting"] .voice .lbl{opacity:1;transform:translate(-50%,0)}
.bella .voice .orb .ico-live{display:none}
.bella[data-state="live"] .voice .orb .ico-idle{display:none}.bella[data-state="live"] .voice .orb .ico-live{display:block}
.bella .act .btn,.bella .call .btn{min-width:0}
@media (max-width:640px){.voice{margin-bottom:18px}}
@media (max-width:640px){.bella .call .ctl{grid-template-columns:1fr}}


/* ---------- motion v2: one calm orb, GSAP-driven ---------- */
.voice .halo,.voice .ring,.voice .orb .goo,.voice .orb .rip,.voice .orb .spec{display:none!important}
.voice .oglow{animation:none;inset:4px}
.breath{position:relative;width:118px;height:118px;display:grid;place-items:center;will-change:transform}
.voice .orb{overflow:visible;transition:box-shadow .35s;will-change:transform}
.voice .orb:hover{transform:none}
.voice .orb .blob{transition:none}
.voice .orb:hover .blob{transform:none}
.voice .orb .hi{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.82),rgba(255,255,255,0) 42%);z-index:2;pointer-events:none}
.voice .rings{position:absolute;inset:0;pointer-events:none}
.voice .rings i{position:absolute;left:50%;top:50%;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;border:1.5px solid rgba(185,133,67,.6);opacity:0;will-change:transform,opacity}
.voice .lbl{transition:none!important;opacity:0}
.bella:hover .voice .lbl{opacity:0}
.bella .now .rot span{transition:none!important}
.bella .call .after{grid-template-columns:1fr 1fr}
.bella .call .st .eq{display:none;align-items:flex-end;gap:2px;height:12px;margin-right:2px}
.bella .call .st .eq i{display:block;width:3px;height:12px;border-radius:2px;background:#30A46C;transform:scaleY(.3);transform-origin:bottom}
.bella[data-state="live"] .call .st .eq{display:inline-flex}
.bella[data-state="live"] .call .st .l>i{display:none}
.js.ready .bella .voice{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.bella[data-state="connecting"] .act,.bella[data-state="live"] .act,.bella[data-state="ended"] .act,.bella[data-state="connecting"] .num,.bella[data-state="live"] .num,.bella[data-state="ended"] .num,.bella[data-state="ended"] .call .ctl{display:none}.bella[data-state="ended"] .call .after{display:grid}.voice .lbl{opacity:1}}
@media (max-width:640px){.bella .call .after{grid-template-columns:1fr}}


/* ---------- hero v3: no card, big glowing orb, one message ---------- */
.bella{margin:34px 0 30px}
.bella .face.front{background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none!important;padding:0;grid-template-columns:200px minmax(0,1fr);gap:0 36px;align-items:center;animation:none!important}
.bella .face.front::before{display:none}
.voice{width:200px;height:200px;grid-row:1/3}
.voice::before{content:"";position:absolute;left:50%;top:50%;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle,rgba(227,182,118,.40),rgba(227,182,118,.12) 42%,rgba(227,182,118,0) 68%);filter:blur(16px);pointer-events:none;z-index:0}
.breath{width:160px;height:160px}
.voice .orb{width:160px;height:160px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 44px 70px -26px rgba(120,70,20,.6),0 0 70px 8px rgba(227,182,118,.42)}
.voice .orb::before{background:radial-gradient(circle at 36% 26%,#FFF6E6 0,#F3D4A0 26%,#E0B06B 56%,#B9823E 100%)}
.voice .orb .hi{background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.9),rgba(255,255,255,0) 40%)}
.voice .orb .blob{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 70% 76%,rgba(255,255,255,.30),rgba(255,255,255,0) 52%);pointer-events:none;z-index:1}
.voice .orb .blob2{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 84%,rgba(120,70,20,.22),rgba(120,70,20,0) 56%);pointer-events:none;z-index:1}
.voice .orb .ico-idle,.voice .orb .ico-live{position:relative;z-index:3;display:grid;place-items:center}
.voice .oglow{inset:-34px;filter:blur(34px);background:radial-gradient(circle,rgba(227,182,118,.8),rgba(227,182,118,0) 64%);animation:none}
.voice .rings i{width:172px;height:172px;margin:-86px 0 0 -86px}
.voice .orb .ico-idle svg,.voice .orb .ico-live svg{width:40px;height:40px}
.voice .lbl{bottom:-8px;font-size:12px}
.bella .bx{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.bella .bx .tag{margin-bottom:12px}
.bella .bx b.h{font-size:clamp(26px,2.3vw,34px);line-height:1.1;margin:0 0 10px}
.bella .bx .now{font-size:16px;margin:0 0 20px}
.bella .bx .act{grid-column:auto;display:block;margin:0 0 14px;width:auto}
.bella .bx .act .btn.pri{min-height:58px;width:auto;padding:0 32px;font-size:16.5px;letter-spacing:.005em;box-shadow:0 18px 34px -16px rgba(185,133,67,1)}
.bella .bx .act .btn.pri svg{width:19px;height:19px}
.bella .bx .num{grid-column:auto;margin:0;font-size:13.5px;text-align:left}
.bella .call{grid-column:2;margin-top:4px}
.bella[data-state="live"] .face.front,.bella[data-state="connecting"] .face.front{box-shadow:none!important}
.ctas .btn-line{min-height:48px}
.pill .dot{width:22px;height:22px;background:radial-gradient(circle at 36% 28%,#FFF6E6,#E0B06B 55%,#B9823E);box-shadow:0 0 16px 2px rgba(227,182,118,.75);animation:none}

.hero-phone .phone{will-change:transform}
@media (max-width:1080px){.bella .face.front{grid-template-columns:200px minmax(0,1fr);gap:0 28px}}
@media (max-width:640px){.bella{margin:26px 0 22px}.bella .face.front{padding:0;grid-template-columns:1fr;justify-items:center;gap:0}.bella .face.front .voice{grid-row:auto}.voice{width:180px;height:180px;margin-bottom:14px;grid-row:auto}.breath{width:140px;height:140px}.voice .orb{width:140px;height:140px}.voice .rings i{width:152px;height:152px;margin:-76px 0 0 -76px}.voice::before{width:300px;height:300px;margin:-150px 0 0 -150px}.bella .bx{align-items:center;text-align:center}.bella .bx .act{width:100%}.bella .bx .act .btn.pri{width:100%}.bella .bx .num{text-align:center}.bella .call{grid-column:auto;width:100%}.hero-media .img img{transform:none}}


/* ---------- motion system: smooth scroll, pinned hero, word masks, reveals, rail ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.js .hero{opacity:0}
.js.ready .hero{opacity:1;transition:opacity .9s ease}
.hero-media .img img{will-change:transform;transform:scale(var(--kb,1.06))}
.js.gs .rv{transition:none;transform:translateY(28px);filter:blur(8px)}
.js.gs .rv.in{filter:none}
.js.gs .pic .frame img{transition:none}
.js.gs .pic .frame{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.js.gs .pic:hover .frame{transform:scale(1.015)}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .14em 0;margin:0 -.02em -.14em 0}
.split .w>span{display:inline-block;will-change:transform}
.split.fill .w{overflow:visible;padding:0;margin:0}
.tile .v video{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.tile:hover .v video{transform:scale(1.04)}
.nav ul a,.nav .login{transition:opacity .3s ease}
button.btn-line{background:transparent}
button.btn-ghost{background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-ink,.btn-line,.btn-white{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}
.btn-ink:hover,.btn-line:hover,.btn-white:hover{transform:translateY(-2px)}
.btn-ink:hover{box-shadow:0 16px 28px -16px rgba(26,21,18,.65)}
.faq details>:not(summary){overflow:hidden}
.faq summary::after{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.faq details[open] summary::after{transform:rotate(180deg)}
.rail,.raild{position:fixed;right:24px;top:50%;height:168px;width:1px;transform:translateY(-50%);z-index:35;pointer-events:none}
.rail{mix-blend-mode:difference}
.rail .rl{position:absolute;inset:0;background:rgba(255,255,255,.26)}
.rail span{position:absolute;left:50%;width:5px;height:5px;margin:-2px 0 0 -2px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;pointer-events:auto;transition:transform .3s,background .3s}
.rail span.on{background:#fff}
.rail span:hover{transform:scale(1.7)}
.rail span em{position:absolute;right:16px;top:50%;transform:translate(8px,-50%);white-space:nowrap;font:500 11.5px/1 var(--sans);letter-spacing:.05em;color:#fff;opacity:0;transition:opacity .25s,transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}
.rail:hover span em{opacity:1;transform:translate(0,-50%)}
.raild{z-index:36}
.raild b{position:absolute;left:50%;top:0;width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px 1px rgba(227,182,118,.6)}
@media (min-width:1081px){
  .js.gs .hero{position:sticky;top:0;z-index:0}
  .js.gs .hero.off{visibility:hidden}
  .js.gs .hero-copy,.js.gs .hero-media{will-change:transform,opacity;transform-origin:50% 0}
  .js.gs main>section:not(.hero){position:relative;z-index:2}
  .js.gs .ticker,.js.gs .intro,.js.gs .quote,.js.gs .crafts,.js.gs .faq,.js.gs .final{background-color:var(--paper)}
  .js.gs .ticker{margin-top:0}
}
@media (max-width:1080px){.rail,.raild{display:none}}
@media (max-width:640px){.js.gs .rv{filter:none}}
@media (prefers-reduced-motion:reduce){.js .hero{opacity:1}.rail,.raild{display:none}}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:40;background:rgba(250,247,242,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .25s}
.nav.solid{box-shadow:0 1px 0 var(--rule)}
.nav .in{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 var(--gut)}
.nav .logo{height:46px;width:auto}
.nav ul{display:flex;gap:34px;list-style:none;font-size:14.5px;font-weight:500}
.nav ul a,.nav .login{text-decoration:none;color:var(--ink);opacity:.8}
.nav ul a:hover,.nav .login:hover{opacity:1}
.nav .right{display:flex;align-items:center;gap:22px;font-size:14.5px;font-weight:500}
.nav .btn{min-height:40px;padding:0 18px;font-size:14px}

/* ---------- phone ---------- */
.phone{--w:320px;position:relative;width:var(--w);height:calc(var(--w)*2.13);border-radius:52px;background:linear-gradient(145deg,#3b3029,#16110e 40%,#251d18);padding:11px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 1px rgba(20,14,10,.5),0 70px 110px -50px rgba(45,25,10,.55),0 30px 60px -36px rgba(45,25,10,.45)}
.phone::before,.phone::after{content:"";position:absolute;width:3px;border-radius:2px;background:#2b221c}
.phone::before{left:-3px;top:120px;height:56px;box-shadow:0 74px 0 #2b221c}
.phone::after{right:-3px;top:156px;height:84px}
.screen{position:relative;height:100%;border-radius:42px;overflow:hidden;background:#FBF8F4;font-size:13px;line-height:1.4;color:var(--ink);isolation:isolate}
.island{position:absolute;z-index:6;top:11px;left:50%;width:96px;height:28px;margin-left:-48px;border-radius:20px;background:#0b0807}
.status{position:absolute;z-index:5;inset:0 0 auto;height:50px;display:flex;align-items:center;justify-content:space-between;padding:2px 26px 0 32px;font:600 14px/1 var(--sans);letter-spacing:-.01em}
.status svg{height:11px;width:auto}
.status .ic{display:flex;gap:5px;align-items:center}
.home{position:absolute;z-index:6;bottom:8px;left:50%;width:120px;height:4.5px;margin-left:-60px;border-radius:3px;background:rgba(26,21,18,.85)}

/* lock screen (hero) */
.lock{position:absolute;inset:0;color:#fff}
.lock .wall{position:absolute;inset:0;background:url(../assets/suite.jpg) 38% center/cover}
.lock .wall::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,16,10,.35),rgba(25,16,10,.1) 35%,rgba(25,16,10,.55))}
.lock .status{color:#fff}
.lock .home{background:rgba(255,255,255,.9)}
.lock .clock{position:relative;z-index:2;text-align:center;padding-top:62px}
.lock .clock span{display:block;font:500 13px/1 var(--sans);opacity:.9;letter-spacing:.01em}
.lock .clock b{display:block;font:600 76px/1 var(--display);letter-spacing:-.04em;margin-top:6px}
.lock .stack{position:absolute;z-index:2;left:10px;right:10px;bottom:34px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ln{display:flex;gap:10px;align-items:flex-start;background:rgba(250,247,242,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--ink);border-radius:20px;padding:11px 12px;font-size:12.5px;line-height:1.35}
.ln .ai{flex:none;width:32px;height:32px;border-radius:9px;background:var(--espresso);display:grid;place-items:center}
.ln .ai img{width:20px;height:auto;filter:brightness(0) invert(1)}
.ln .t{flex:1;min-width:0}
.ln{position:relative}
.ln .t b{display:block;font-weight:600;font-size:12.5px;padding-right:26px;letter-spacing:-.01em}
.ln .t b em{position:absolute;right:12px;top:11px;font-style:normal;font-weight:400;color:var(--muted);font-size:11px}
.ln .t span{color:#4A433C}

/* app screens */
.scr{position:absolute;inset:0;padding:54px 0 0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1),visibility 0s .6s}
.scr.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease .08s,transform .7s cubic-bezier(.2,.7,.2,1) .08s,visibility 0s}
.seq{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.scr.on .seq{opacity:1;transform:none;transition-delay:calc(var(--d,0) * 1s + .25s)}
.bar{display:flex;align-items:center;gap:10px;padding:8px 16px 12px;border-bottom:1px solid var(--rule)}
.bar svg.back{width:16px;height:16px;color:var(--brown);flex:none}
.av{flex:none;width:34px;height:34px;border-radius:50%;background:#E9DCCB;display:grid;place-items:center;font:600 12px/1 var(--sans);color:var(--brown)}
.bar b{display:block;font-weight:600;font-size:14px}
.bar div>span{display:block;color:var(--muted);font-size:11.5px}
.tag{display:inline-block;font:600 10.5px/1 var(--sans);border-radius:999px;padding:3px 7px;margin-left:5px;vertical-align:2px}
.tag.ai{background:#F1E6D7;color:var(--brown)}
.tag.ok{background:#E3EFE1;color:#2E6A39}
.chat{flex:1;padding:14px 14px 0;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.sys{align-self:center;font-size:11px;color:var(--muted);background:#F1EBE2;border-radius:999px;padding:4px 10px;margin:2px 0 4px}
.bub{max-width:82%;padding:9px 12px;border-radius:18px;font-size:13px;line-height:1.38}
.bub.out{align-self:flex-end;background:var(--brown);color:#fff;border-bottom-right-radius:5px}
.bub.in{align-self:flex-start;background:#EDE5DA;border-bottom-left-radius:5px}
.meta{align-self:flex-end;font-size:10.5px;color:var(--muted);margin-top:-2px}
.linkcard{align-self:flex-end;width:78%;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:#fff}
.linkcard i{display:block;height:64px;background:url(../assets/suite.jpg) center 40%/cover}
.linkcard div{padding:8px 11px 9px}
.linkcard b{display:block;font-size:12px}
.linkcard span{font-size:11px;color:var(--muted)}
.composer{margin:10px 12px 26px;height:36px;border:1px solid var(--rule);border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 6px 0 14px;color:#A89C8E;font-size:12.5px;background:#fff}
.composer i{width:26px;height:26px;border-radius:50%;background:var(--brown);display:grid;place-items:center}
.composer i svg{width:12px;height:12px;color:#fff}

/* calendar */
.toast{margin:10px 14px 0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--rule);font-size:11px;color:var(--muted)}
.toast i{flex:none;width:24px;height:24px;border-radius:50%;background:#E3EFE1;display:grid;place-items:center;color:#2E6A39}
.toast i svg{width:12px;height:12px}
.toast b{display:block;font-size:12px;color:var(--ink)}
.winback{align-self:stretch;margin-top:8px;padding:10px 12px 4px;border-radius:14px;background:#F3EDE4}
.winback small{display:block;font:600 10.5px/1 var(--sans);color:var(--muted);letter-spacing:.04em;margin-bottom:8px}
.winback div{display:flex;align-items:center;gap:9px;padding-bottom:8px}
.winback .av{width:26px;height:26px;font-size:9.5px;background:#E9DCCB}
.winback b{flex:1;font-size:12px;font-weight:600;line-height:1.25}
.winback b span{display:block;font-weight:400;font-size:10.5px;color:var(--muted)}
.winback em{font:600 10.5px/1 var(--sans);font-style:normal;color:var(--muted)}
.winback div:last-child em{color:#2E6A39}
.scr.on .tp{animation:tp 2.4s .25s both}
@keyframes tp{0%,30%{opacity:0;max-height:40px}38%,62%{opacity:1;max-height:40px}70%{opacity:0;max-height:40px}100%{opacity:0;max-height:0;padding:0;margin:-7px 0 0}}
.cal-h{padding:6px 18px 10px;display:flex;justify-content:space-between;align-items:flex-end}
.cal-h b{font:600 26px/1 var(--display);letter-spacing:-.03em}
.cal-h span{font-size:11.5px;color:var(--muted)}
.week{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px 10px;border-bottom:1px solid var(--rule);text-align:center;font-size:10.5px;color:var(--muted)}
.week div b{display:block;margin:4px auto 0;width:28px;height:28px;line-height:28px;border-radius:50%;font:600 13px/28px var(--sans);color:var(--ink)}
.week div.on b{background:var(--ink);color:#fff}
.slots{padding:6px 14px 0;flex:1}
.slot{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:8px 0;border-bottom:1px dashed var(--rule)}
.slot time{color:var(--muted);font-size:11.5px;padding-top:3px}
.slot div{border-radius:10px;padding:8px 11px;background:#F3EDE4}
.slot div.new{background:#FBF0E2;box-shadow:inset 3px 0 0 var(--gold-ink)}
.slot b{display:block;font-weight:600;font-size:12.5px}
.slot span{font-size:11px;color:var(--muted)}
.slot.free div{background:none;border:1px dashed var(--rule);color:#A89C8E;font-size:11.5px}
.recov{margin:10px 14px 30px;display:flex;justify-content:space-between;align-items:center;background:var(--espresso);color:#fff;border-radius:14px;padding:13px 14px;font-size:11.5px;line-height:1.35}
.recov b{font:600 24px/1 var(--display);letter-spacing:-.03em;color:var(--gold)}

/* reviews */
.rv-h{padding:6px 18px 14px}
.rv-h small{display:block;font-size:11.5px;color:var(--muted);margin-bottom:6px}
.score{display:flex;align-items:flex-end;gap:10px}
.score b{font:600 46px/.9 var(--display);letter-spacing:-.04em}
.stars{color:var(--gold-ink);letter-spacing:2px;font-size:13px}
.score span{display:block;font-size:11px;color:var(--muted)}
.rcard{margin:0 14px;background:#fff;border:1px solid var(--rule);border-radius:16px;padding:14px;box-shadow:0 18px 30px -24px rgba(60,35,15,.4)}
.rcard .who{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.rcard .who b{font-size:12.5px}
.rcard .who div>span{display:block;font-size:10.5px;color:var(--muted)}
.rcard p{font:500 14px/1.4 var(--sans);margin-top:6px}
.sent{margin:12px 14px 0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#F3EDE4;font-size:11.5px;color:#4A433C}
.sent i{flex:none;width:24px;height:24px;border-radius:50%;background:#E3EFE1;display:grid;place-items:center;color:#2E6A39}
.sent i svg{width:12px;height:12px}
.rlist{margin:14px 14px 0;border-top:1px solid var(--rule)}
.rrow{display:flex;gap:10px;align-items:flex-start;padding:11px 2px;border-bottom:1px solid var(--rule)}
.rrow .av{width:28px;height:28px;font-size:10px}
.rrow b{display:block;font-size:12px;font-weight:600}
.rrow b i{font-style:normal;color:var(--gold-ink);letter-spacing:1px;font-size:10px;margin-left:4px}
.rrow span{font-size:11.5px;color:#4A433C}
.confirm{align-self:stretch;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--rule);border-radius:14px;padding:10px 12px;margin-top:4px}
.confirm svg{width:18px;height:18px;color:var(--brown);flex:none}
.confirm b{display:block;font-size:12.5px}
.confirm span{font-size:11px;color:var(--muted)}
.confirm .tag{margin-left:auto}
.typing{align-self:flex-start;display:inline-flex;gap:4px;padding:11px 13px;border-radius:18px;background:#EDE5DA}
.typing i{width:6px;height:6px;border-radius:50%;background:#B7A894;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}

/* ---------- hero ---------- */
.hero{min-height:100svh;padding:72px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(60px,7vw,130px) 64px var(--gut)}
.hero h1{font-size:clamp(50px,5.5vw,84px);margin:0 0 28px}
.hero h1 .line{display:block;white-space:nowrap;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .line>span{display:inline-block}
.hero p.lede{font-size:clamp(17px,1.3vw,19px);color:#4A433C;max-width:30em;margin-bottom:34px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.tenant{display:flex;align-items:center;gap:14px;margin-top:28px;max-width:520px;padding:12px 16px 12px 12px;border:1px solid var(--rule);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);font-size:14.5px;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.tenant:hover{border-color:#D6C7B3;box-shadow:0 14px 30px -22px rgba(60,35,15,.45)}
.tenant .ai{flex:none;width:38px;height:38px;border-radius:10px;background:var(--espresso);display:grid;place-items:center}
.tenant .ai img{width:24px;height:auto;filter:brightness(0) invert(1)}
.tenant .tx{flex:1;color:#4A433C}
.tenant .tx b{color:var(--ink);font-weight:600}
.tenant .go{flex:none;font-weight:600;font-size:13.5px;padding-bottom:2px;border-bottom:1px solid currentColor}
.hero-media{position:relative;margin:12px 12px 12px 0;min-height:620px}
.hero-media .img{position:absolute;inset:0;border-radius:6px;overflow:hidden;background:#3a2c22}
.hero-media .img img{width:100%;height:100%;object-fit:cover;object-position:64% 40%}
.hero-media .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,16,10,.18),rgba(25,16,10,0) 40%)}
.hero-phone{position:absolute;z-index:2;left:clamp(28px,3.5vw,60px);bottom:clamp(28px,4.5vh,56px)}
.hero-phone .phone{--w:clamp(250px,19vw,290px)}
.hero-phone .phone{border-radius:46px;padding:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 1px rgba(20,14,10,.5),0 60px 90px -40px rgba(30,18,10,.55),0 24px 40px -24px rgba(30,18,10,.4)}
.hero-phone .screen{border-radius:37px}

/* ---------- intro ---------- */
.intro{padding:clamp(110px,13vw,190px) 0 clamp(90px,10vw,150px)}
.intro .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.intro h2{grid-column:1/8;font-size:clamp(38px,4.4vw,66px);line-height:1.02}
.intro p{grid-column:8/13;align-self:end;color:#4A433C;font-size:17px}
.facts{grid-column:1/13;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--rule)}
.facts li{padding:26px 24px 0 0;font-size:14px;color:var(--muted)}
.facts li+li{padding-left:24px;border-left:1px solid var(--rule)}
.facts b{display:block;font:600 clamp(34px,3.6vw,52px)/1 var(--display);letter-spacing:-.04em;color:var(--ink);margin-bottom:10px}

/* ---------- story ---------- */
.how{background:var(--sand);padding-top:clamp(90px,9vw,130px);overflow:clip}
.how-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.how-head h2{grid-column:1/9;font-size:clamp(40px,4.4vw,64px);text-wrap:wrap}
.how-head p{grid-column:9/13;color:var(--muted);font-size:17px;max-width:24em;justify-self:end}
.story{position:relative;margin-top:0;padding-bottom:clamp(40px,6vw,90px)}
.stage{position:absolute;top:0;bottom:0;left:50%;width:360px;margin-left:-180px;z-index:3;pointer-events:none}
.stage-in{position:sticky;top:68px;height:calc(100vh - 68px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.stage .phone{transform:scale(var(--ps,1));transform-origin:50% 50%;margin:calc((var(--ps,1) - 1) * 340px) 0}
.ticks{list-style:none;display:flex;gap:6px;pointer-events:auto;padding:5px;border-radius:999px;background:rgba(250,247,242,.7);box-shadow:inset 0 0 0 1px var(--rule)}
.ticks li{border-radius:999px;transition:background .3s}
.ticks button{font:500 12.5px/1 var(--sans);color:var(--muted);padding:8px 12px;border:0;background:none;border-radius:999px;cursor:pointer;transition:color .3s}
.ticks li:not(.on) button:hover{color:var(--ink)}
.ticks li.on{background:var(--ink)}
.ticks li.on button{color:#fff}
.glow{position:absolute;left:50%;top:50%;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;background:radial-gradient(closest-side,rgba(227,182,118,.32),rgba(227,182,118,0));z-index:-1}
.step{display:grid;grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);column-gap:clamp(40px,5vw,90px);min-height:92vh;align-items:center;padding:40px 0}
.step .txt{grid-column:1;grid-row:1;max-width:400px}
.step .pic{grid-column:3;grid-row:1}
.step:nth-child(even) .txt{grid-column:3;justify-self:start}
.step:nth-child(even) .pic{grid-column:1}
.step .num{font:600 13px/1 var(--sans);color:var(--gold-ink);letter-spacing:.04em;display:block;margin-bottom:22px}
.step h3{font-size:clamp(32px,3vw,46px);margin-bottom:18px}
.step p{color:#4A433C;font-size:17px;margin-bottom:26px}
.pic{position:relative}
.pic .frame{border-radius:4px;overflow:hidden;background:#d9cbb8}
.pic img{width:100%;aspect-ratio:4/5;object-fit:cover}
.step:nth-child(2) .pic img{aspect-ratio:3/4}
.step:nth-child(3) .pic img{object-position:35% center}
.pic figcaption{margin-top:12px;font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between}
.mini{display:none}

/* ---------- quote ---------- */
.quote{padding:clamp(120px,14vw,200px) 0;text-align:center;position:relative}
.quote blockquote{font:italic 400 clamp(40px,5.4vw,86px)/1.08 "Playfair Display",Georgia,serif;letter-spacing:-.02em;max-width:15ch;margin:0 auto}
.quote cite{display:block;margin-top:34px;font:500 14px/1 var(--sans);font-style:normal;color:var(--muted)}
.quote.note blockquote{font-size:clamp(24px,2.9vw,40px);max-width:26ch;line-height:1.25}
.quote.note .mission{max-width:58ch;margin:28px auto 0;font:400 clamp(16px,1.25vw,19px)/1.6 var(--sans);color:var(--ink)}
.quote.note .tag{margin:22px auto 0;font:500 clamp(15px,1.1vw,17px)/1.4 var(--sans);color:var(--gold-ink);letter-spacing:.01em}
.quote cite::before{content:"";display:block;width:44px;height:1px;background:var(--gold-ink);margin:0 auto 22px}

/* ---------- crafts ---------- */
.crafts{padding:0 0 clamp(100px,11vw,160px)}
.cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 20px}
.cgrid .head{padding-right:20px;align-self:end}
.cgrid .head h2{font-size:clamp(34px,3.2vw,48px);margin-bottom:18px}
.cgrid .head p{color:var(--muted);font-size:16px}
.tile .v{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#3a2c22}
.tile video{width:100%;height:100%;object-fit:cover}
.tile span{display:flex;justify-content:space-between;margin-top:14px;font:600 19px/1.1 var(--display);letter-spacing:-.02em}
.tile span em{font:500 12.5px/1 var(--sans);font-style:normal;color:var(--muted);align-self:center}
.cgrid .tile:nth-child(odd){margin-top:48px}

/* ---------- calculator ---------- */
.calc{background:var(--sand);padding:clamp(100px,11vw,160px) 0}
.calc-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center}
.calc-l h2{font-size:clamp(38px,4.2vw,62px);margin-bottom:20px}
.calc-l>p{color:#4A433C;max-width:30em}
.fields{margin-top:44px;display:grid;gap:30px}
.field{display:block}
.field span{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;color:#4A433C;margin-bottom:14px}
.field output{font:600 22px/1 var(--display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.field input{width:100%;height:24px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer;--f:20%}
.field input::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--ink) var(--f),#D8CBB9 var(--f))}
.field input::-moz-range-track{height:3px;border-radius:2px;background:#D8CBB9}
.field input::-moz-range-progress{height:3px;border-radius:2px;background:var(--ink)}
.field input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9.5px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);box-shadow:0 4px 10px -4px rgba(30,18,10,.4)}
.field input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:1.5px solid var(--ink)}
.field input:focus-visible{outline:none}
.field input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--gold-ink);outline-offset:3px}
.calc-r{background:var(--espresso);color:#F3ECE2;border-radius:6px;padding:clamp(36px,4vw,56px)}
.calc-r small{display:block;font-size:14px;color:#B9AC9D}
.loss{display:flex;align-items:baseline;gap:12px;margin:14px 0 10px}
.loss b{font:600 clamp(64px,7vw,108px)/.95 var(--display);letter-spacing:-.05em;color:var(--gold);font-variant-numeric:tabular-nums}
.loss span{font-size:16px;color:#C9BDAF}
.yr{color:#C9BDAF;font-size:16px}
.yr b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.pay{margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.pay p{color:#E6DCCF;font-size:16px;margin-bottom:24px;max-width:28em}
.pay p b{color:#fff;font-weight:600}

/* ---------- pricing ---------- */
.plans{background:var(--espresso);color:#F3ECE2;padding:clamp(80px,8vw,120px) 0 clamp(64px,6vw,96px)}
.plans-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:52px}
.plans-head h2{grid-column:1/8;font-size:clamp(38px,4.2vw,60px);color:#fff}
.plans-head p{grid-column:9/13;color:#C9BDAF}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.plan{display:flex;flex-direction:column;padding:36px 36px 32px}
.plan+.plan{border-left:1px solid rgba(255,255,255,.14)}
.plan.pop{background:var(--paper);color:var(--ink);border-radius:14px;margin:-16px 0;padding:48px 40px 40px;border-left:0}
.base-plan{max-width:1000px;margin:44px auto 0;display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:32px;align-items:center;padding:28px 32px;border:1px solid rgba(255,255,255,.14);border-radius:6px}
.base-plan h3{font-size:26px;margin-bottom:6px}
.base-plan p{font-size:14px;color:#B9AC9D}
.base-plan ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14.5px;color:#E6DCCF}
.base-plan li{display:flex;align-items:center;gap:8px}
.base-plan li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}
.plan.pop+.plan{border-left:0}
.badge{font:600 12px/1 var(--sans);letter-spacing:.06em;color:var(--brown);margin-bottom:12px}
.plan h3{font-size:30px;margin-bottom:8px}
.plan .for{font-size:15px;color:#B9AC9D;min-height:0}
.plan.pop .for{color:var(--muted)}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:22px 0 6px}
.price span{white-space:nowrap}
.price b{font:600 54px/1 var(--display);letter-spacing:-.045em}
.price span{font-size:15px;color:#B9AC9D}
.plan.pop .price span{color:var(--muted)}
.offer{align-self:flex-start;font-size:13px;font-weight:600;border-radius:4px;padding:6px 10px;margin-bottom:28px;line-height:18px;background:rgba(227,182,118,.14);color:var(--gold)}
.plan.pop .offer{background:#F3E4CF;color:var(--brown)}
.price s{font:500 24px/1 var(--display);letter-spacing:-.02em;color:#8E8378;text-decoration-thickness:2px;align-self:center;margin-right:2px}
.plan.pop .price s{color:#A79A8C}
.then{display:block;font-size:14.5px;color:#C9BDAF;margin-bottom:22px;line-height:26px}
.plan.pop .then{color:var(--ink);font-weight:500}
.plan ul{list-style:none;font-size:14.5px;margin-bottom:28px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.plan li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.plan.pop ul,.plan.pop li{border-color:var(--rule)}
.plan li.plus{grid-column:1/-1;border:0;padding:12px 0 2px;font-weight:600}
.plan .btn{margin-top:auto;width:100%}
.plans .plan:not(.pop) .btn-ink{background:#FAF7F2;color:var(--ink)}
.disclose{margin-top:32px;font-size:14.5px;color:#B9AC9D;text-align:center;max-width:44em;margin-inline:auto}
details.all{margin-top:24px;border-top:1px solid rgba(255,255,255,.12)}
details.all summary{list-style:none;cursor:pointer;text-align:center;padding:22px 0;font-weight:600;color:var(--gold);font-size:15px}
details.all summary::-webkit-details-marker{display:none}
.tw{overflow-x:auto}
.compare{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.compare th,.compare td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}
.compare th:first-child,.compare td:first-child{text-align:left}
.compare thead th{font:600 18px/1 var(--display);color:#fff}
.compare .g td{color:var(--gold);font-weight:600;padding-top:26px}
.compare .y{color:var(--gold)}
.no{display:inline-block;width:12px;height:1px;background:#6F6358;vertical-align:middle}

/* ---------- tenant code ---------- */
.code{padding:clamp(90px,10vw,140px) 0 0}
.code .card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:40px;align-items:center;padding:40px 44px;border:1px solid var(--rule);border-radius:6px;background:#fff}
.code .sms{width:260px}
.code .sms .ln{background:var(--paper);box-shadow:inset 0 0 0 1px var(--rule),0 20px 40px -28px rgba(60,35,15,.45);font-size:13.5px;padding:14px 14px}
.code .sms .ln .t b{font-size:13.5px}
.code .sms .ln .t b em{top:14px;right:14px}
.code h2{font-size:clamp(28px,2.8vw,40px);line-height:1.08;max-width:20ch}
.code p{color:var(--muted);margin-top:10px}

/* ---------- faq ---------- */
.faq{padding:clamp(100px,11vw,150px) 0}
.faq .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.faq .fh{grid-column:1/5}
.faq .fl{grid-column:6/13}
.faq h2{font-size:clamp(40px,4.6vw,64px)}
.faq h2+p{margin-top:16px;color:var(--muted)}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;font:600 20px/1.3 var(--display);letter-spacing:-.015em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:20px;font:400 28px/1 var(--sans);color:var(--gold-ink)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 44px 24px 0;color:var(--muted)}

/* ---------- final ---------- */
.final{padding:0 12px 12px}
.final .box{position:relative;border-radius:6px;overflow:hidden;min-height:680px;display:flex;align-items:center;color:#fff;background:#3a2c22}
.final .box>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.final .box::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,14,10,.82),rgba(20,14,10,.35) 60%,rgba(20,14,10,.1))}
.final .wrap{position:relative;z-index:2}
.final h2{font-size:clamp(46px,6.2vw,96px);max-width:12ch;margin-bottom:24px}
.final p{max-width:32em;color:rgba(255,255,255,.88);margin-bottom:32px;font-size:18px}
.final ol{list-style:none;display:flex;gap:28px;flex-wrap:wrap;margin:0 0 36px;font-size:15px;color:rgba(255,255,255,.88)}
.final ol li b{color:var(--gold);margin-right:8px;font-weight:600}


/* ---------- finish ---------- */
:root{interpolate-size:allow-keywords}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
::selection{background:#EBD6B4;color:var(--ink)}
/* one warm grade so every photo feels shot on the same day */
.pic img,.tile video,.final .box>img{filter:sepia(.12) saturate(.94) contrast(1.03) brightness(1.01)}
/* nav: quiet underline that follows the section you are in */
.nav ul a{position:relative;padding:6px 0}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-ink);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.nav ul a:hover::after,.nav ul a[aria-current]::after{transform:none}
.nav ul a[aria-current]{opacity:1}
/* buttons answer the press */
.btn{transition:background .2s,border-color .2s,color .2s,transform .15s}
.btn:active{transform:scale(.97)}
/* glass on the phone screens */
.screen::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.16),rgba(255,255,255,0) 32%)}
/* faq opens and closes instead of snapping */
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .45s cubic-bezier(.2,.7,.2,1),content-visibility .45s allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq summary:hover{color:var(--brown)}
.faq summary::after{transition:transform .3s}
details.all::details-content{block-size:0;overflow:hidden;transition:block-size .5s cubic-bezier(.2,.7,.2,1),content-visibility .5s allow-discrete}
details.all[open]::details-content{block-size:auto}
/* footer */
footer{background:var(--paper);color:var(--muted);font-size:14.5px}
footer .top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding:clamp(64px,7vw,96px) 0 56px}
footer .brand img{height:58px;width:auto;margin-bottom:18px}
footer .brand p{max-width:26em}
footer h4{font:500 13.5px/1 var(--sans);color:var(--ink);margin-bottom:18px}
footer ul{list-style:none;display:grid;gap:10px}
footer a{color:var(--muted);text-decoration:none;transition:color .2s}
footer a:hover{color:var(--ink)}
footer .base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 0 30px;border-top:1px solid var(--rule);font-size:13.5px}
@media (max-width:1080px){footer .top{grid-template-columns:1fr 1fr}footer .brand{grid-column:1/-1}}
@media (max-width:640px){footer .top{gap:32px 20px}}
@media (prefers-reduced-motion:reduce){.faq details::details-content,details.all::details-content{transition:none}}


/* ================= premium pass ================= */
/* buttons: pill with a round arrow chip that nudges on hover */
.btn{position:relative;gap:12px}
.btn:has(.bi){padding-right:8px}
.btn .bi{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .25s}
.btn .bi svg{width:13px;height:13px;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn:hover .bi svg{transform:translateX(2px)}
.btn-ink .bi{background:rgba(255,255,255,.14);color:#fff}
.btn-ink:hover .bi{background:var(--gold);color:var(--ink)}
.btn-white .bi,.plans .plan:not(.pop) .btn-ink .bi{background:var(--ink);color:#fff}
.btn-line .bi{background:var(--ink);color:#fff}
.btn-ghost .bi{background:rgba(255,255,255,.12);color:#fff}
.btn-ghost:hover .bi{background:var(--gold);color:var(--ink)}
.btn-ink{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px -14px rgba(26,21,18,.7)}
.btn-line{background:rgba(255,255,255,.55)}
.btn-line:hover{background:#fff}
.nav .btn .bi{width:28px;height:28px}
.tenant .go{display:inline-flex;align-items:center;gap:10px;border:0;padding:5px 5px 5px 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px}
.tenant .go .bi{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.16)}
.tenant .go .bi svg{width:11px;height:11px;transition:transform .3s}
.tenant:hover .go .bi{background:var(--gold);color:var(--ink)}
.tenant:hover .go .bi svg{transform:translateX(2px)}
details.all summary{display:flex;justify-content:center}
details.all summary>span{display:inline-flex;align-items:center;gap:10px;padding:10px 10px 10px 20px;border:1px solid rgba(227,182,118,.4);border-radius:999px;transition:background .25s,border-color .25s}
details.all summary:hover>span{background:rgba(227,182,118,.08);border-color:var(--gold)}
details.all summary i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(227,182,118,.16)}
details.all summary svg{width:12px;height:12px;transition:transform .3s}
details.all[open] summary svg{transform:rotate(180deg)}

/* floating glass nav */
.nav{background:rgba(250,247,242,.94);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.nav.solid{box-shadow:0 1px 0 var(--rule),0 12px 30px -24px rgba(60,35,15,.35)}
.nav .in{height:68px;padding:0 var(--gut)}
.nav .logo{height:42px}
.hero{padding-top:68px}

/* live status on the hero photo */
.live{position:absolute;z-index:3;top:20px;right:20px;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(250,247,242,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.55);font-size:13px;font-weight:500;color:var(--ink);box-shadow:0 14px 30px -20px rgba(20,12,6,.6)}
.live .tm{color:var(--muted);font-weight:400;padding-left:10px;border-left:1px solid rgba(26,21,18,.15);font-variant-numeric:tabular-nums}
.live .dot{position:relative;width:8px;height:8px;border-radius:50%;background:#3E9B57}
.live .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #3E9B57;animation:ping 2.2s cubic-bezier(.2,.7,.2,1) infinite}
@keyframes ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.8);opacity:0}}

/* two tone headlines */
.mute{color:#A1968A}
.plans .mute,.calc-r .mute{color:#8C8176}
.final .mute{color:rgba(255,255,255,.55)}

/* film grain and warm light */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.intro{position:relative;background:radial-gradient(60% 70% at 85% 10%,rgba(227,182,118,.16),rgba(227,182,118,0) 70%)}
.calc{background:radial-gradient(50% 60% at 80% 40%,rgba(227,182,118,.22),rgba(227,182,118,0) 70%),var(--sand)}

/* glass chips on the story photos */
.pic .frame{position:relative}
.glass{position:absolute;left:16px;bottom:16px;right:16px;max-width:300px;display:flex;align-items:center;gap:12px;padding:11px 14px 11px 11px;border-radius:16px;background:rgba(250,247,242,.74);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.6);box-shadow:0 18px 40px -24px rgba(20,12,6,.6);font-size:12.5px;line-height:1.35}
.glass .ai{flex:none;width:34px;height:34px;border-radius:10px;background:var(--espresso);display:grid;place-items:center}
.glass .ai img{width:22px;height:auto;filter:brightness(0) invert(1)}
.glass b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.glass span{color:var(--muted)}
.js .pic .glass{opacity:0;transform:translateY(14px);transition:opacity .8s ease .5s,transform .9s cubic-bezier(.2,.7,.2,1) .5s}
.js .pic.in .glass{opacity:1;transform:none}

/* ticker */
.ticker{border-block:1px solid var(--rule);margin-top:12px;overflow:hidden}
.tk-in{display:flex;align-items:center;height:62px}
.tk-l{flex:none;padding:0 22px 0 var(--gut);font-size:13px;font-weight:600;color:var(--ink);height:100%;display:flex;align-items:center;border-right:1px solid var(--rule);background:var(--paper);position:relative;z-index:1}
.tk-mask{flex:1;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tk-row{display:flex;flex:none;list-style:none;animation:tk 70s linear infinite}
.tk-row li{display:flex;align-items:center;gap:12px;padding:0 26px 0 0;white-space:nowrap;font-size:14.5px;color:#4A433C}
.tk-row li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-ink)}
.ticker:hover .tk-row{animation-play-state:paused}
@keyframes tk{to{transform:translateX(-100%)}}

/* pricing becomes a framed panel, like the hero and final photo */
.plans{margin:0 12px;border-radius:24px}

/* faq side card */
.faq .fh{align-self:start;position:sticky;top:110px}
.ask{position:relative;margin-top:40px;border-radius:18px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end}
.ask>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.12) saturate(.94)}
.ask::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,14,10,0) 30%,rgba(20,14,10,.55))}
.ask-in{position:relative;z-index:2;margin:14px;padding:20px;border-radius:14px;background:rgba(34,26,21,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);color:#fff;display:grid;gap:4px;width:calc(100% - 28px)}
.ask-in b{font:600 20px/1.2 var(--display);letter-spacing:-.02em}
.ask-in span{font-size:14px;color:rgba(255,255,255,.82);margin-bottom:14px}
.ask-in .btn{justify-self:start;min-height:42px;font-size:14px}

/* footer wordmark */
footer{overflow:hidden}
.mark{font:600 clamp(90px,21vw,330px)/.78 var(--display);letter-spacing:-.06em;color:#EFE6D9;white-space:nowrap;text-align:center;margin:10px 0 -.06em;user-select:none}

@media (max-width:1080px){
  .glass{display:none}
  .faq .fh{position:static}
  .live{top:14px;right:14px}
}
@media (max-width:640px){
  .nav .in{height:60px}
  .nav .logo{height:32px}
  .hero{padding-top:60px}
  .live .tm{display:none}
  .tk-l{display:none}
  .plans{margin:0 8px;border-radius:18px}
  .ask{min-height:260px}
}
@media (prefers-reduced-motion:reduce){
  .tk-row{animation:none}
  .tk-row[aria-hidden]{display:none}
  .tk-mask{overflow-x:auto}
  .live .dot::after{animation:none}
}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .pic .frame img{transform:scale(1.08);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.js .pic.in .frame img{transform:none}
.js .hero h1 .line>span{transform:translateY(110%);transition:transform 1.3s cubic-bezier(.16,1,.3,1)}
.js .hero .fade{opacity:0;transform:translateY(14px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.js .hero-phone{opacity:0;transform:translateY(40px);transition:opacity 1.1s ease .5s,transform 1.4s cubic-bezier(.16,1,.3,1) .5s}
.js .hero .ln{opacity:0;transform:translateY(14px) scale(.97);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.9,.3,1.2)}
.js.ready .hero h1 .line>span{transform:none}
.js.ready .hero h1 .line:nth-child(2)>span{transition-delay:.12s}
.js.ready .hero .fade{opacity:1;transform:none}
.js.ready .hero .fade:nth-of-type(1){transition-delay:.35s}
.js.ready .hero-phone{opacity:1;transform:none}
.js.ready .hero .ln{opacity:1;transform:none}
.js.ready .hero .ln:nth-child(1){transition-delay:1.3s}
.js.ready .hero .ln:nth-child(2){transition-delay:1.75s}
.js.ready .hero .ln:nth-child(3){transition-delay:2.2s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
  .tp{display:none!important}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav ul{display:none}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:48px var(--gut) 40px}
  .hero-media{margin:0 12px;min-height:0;aspect-ratio:4/4.4}
  .hero-phone{left:clamp(16px,4vw,40px)}
  .intro h2,.intro p{grid-column:1/13}
  .intro p{margin-top:28px}
  .how-head h2,.how-head p,.plans-head h2,.plans-head p{grid-column:1/13}
  .how-head p,.plans-head p{margin-top:20px}
  .stage{display:none}
  .story{padding:24px 0 40px}
  .step{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:48px 0;gap:0}
  .step .txt{max-width:560px}
  .step .pic{order:-1;margin-bottom:110px;max-width:560px;width:100%}
  .step:nth-child(even) .pic{align-self:flex-end}
  .mini{display:block;position:absolute;right:18px;bottom:-84px;width:calc(320px * var(--ms));height:calc(682px * var(--ms));--ms:.56;z-index:2}
  .step:nth-child(even) .mini{right:auto;left:18px}
  .mini .phone{transform:scale(var(--ms));transform-origin:0 0}
  .mini .scr{opacity:1;visibility:visible;transform:none}
  .mini .seq{opacity:1;transform:none}
  .step .pic figcaption{display:none}
  .cgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px}
  .cgrid .head{grid-column:1/3;padding:0}
  .cgrid .tile:nth-child(odd){margin-top:0}
  .cgrid .tile:nth-child(odd){margin-top:36px}
  .grid{grid-template-columns:1fr;border:0;gap:16px;max-width:560px;margin:0 auto}
  .plan{border:1px solid rgba(255,255,255,.14)!important;border-radius:6px}
  .plan.pop{order:-1;margin:0;padding:40px 30px 34px}
  .plan ul{grid-template-columns:1fr}
  .calc-in{grid-template-columns:1fr}
  .base-plan{grid-template-columns:1fr;gap:18px;max-width:560px;margin-top:40px;padding:26px 24px}
  .base-plan .btn{justify-self:start}
  .code .card{grid-template-columns:1fr;gap:22px;padding:30px 26px}
  .code .sms{width:auto;max-width:300px}
  .faq .fh,.faq .fl{grid-column:1/13}
  .faq .fl{margin-top:34px}
}
@media (max-width:640px){
  body{font-size:16px}
  .nav .login{display:none}
  .nav .logo{height:32px}
  .nav .in{height:64px}
  .hero{padding-top:64px}
  .hero h1{font-size:clamp(46px,13vw,60px);margin:20px 0 22px}
  .hero .ctas .btn{flex:1 1 100%}
  .hero-media{aspect-ratio:4/5.2}
  .hero-media .img img{object-position:66% 40%}
  .hero-phone{left:16px;bottom:16px}
  .hero-phone .phone{--w:210px;border-radius:36px;padding:8px}
  .hero-phone .screen{border-radius:29px}
  .hero-phone .status{padding:0 18px 0 22px;font-size:11px;height:40px}
  .hero-phone .island{width:70px;margin-left:-35px;height:20px;top:9px}
  .hero-phone .lock .clock{padding-top:46px}
  .hero-phone .lock .clock b{font-size:54px}
  .hero-phone .lock .stack{left:7px;right:7px;bottom:24px;gap:6px}
  .hero-phone .ln{font-size:10px;padding:8px 9px;border-radius:15px;gap:7px}
  .hero-phone .ln .t b{font-size:10px}.hero-phone .ln .t b em{font-size:9px}
  .hero-phone .ln .ai{width:24px;height:24px;border-radius:7px}
  .hero-phone .ln .ai img{width:15px}
  .hero-phone .ln:nth-child(3){display:none}
  .facts{grid-template-columns:1fr 1fr}
  .facts li{padding:22px 12px 22px 0}
  .facts li+li{padding-left:0;border-left:0}
  .facts li:nth-child(even){padding-left:18px;border-left:1px solid var(--rule)}
  .facts li:nth-child(n+3){border-top:1px solid var(--rule)}
  .mini{--ms:.5;bottom:-70px;right:12px}
  .step .pic{margin-bottom:96px}
  .step:nth-child(even) .mini{left:12px}
  .plan{padding:32px 24px 28px}
  .plan.pop{padding:36px 24px 30px}
  .final{padding:0 8px 8px}
  .final .box{min-height:620px;align-items:flex-end;padding-bottom:48px}
  .final .box::before{background:linear-gradient(180deg,rgba(20,14,10,.2),rgba(20,14,10,.85) 60%)}
  .final ol{flex-direction:column;gap:10px}
  .final .btn{width:100%}
  .tenant{align-items:flex-start;flex-wrap:wrap;gap:10px 12px}
  .tenant .tx{flex:1 1 200px}
  .tenant .go{margin-left:50px}
  .calc-r{padding:30px 24px}
}
.bill{display:flex;justify-content:center;margin:-16px 0 36px}.bill div{display:inline-flex;padding:4px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.bill button{appearance:none;border:0;background:transparent;color:#C9BDAF;font:500 14px/1 var(--body,inherit);padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}.bill button[aria-pressed=true]{background:#F7F3EE;color:#2B2420}.bill button:focus-visible{outline:2px solid #B08D5B;outline-offset:2px}.bill small{font-size:12px;opacity:.8;margin-left:6px}@media (max-width:600px){.bill{margin:-4px 0 28px}}
/* ---------- hero v4: 3D scroll plane, quiet voice row, full phone, nav polish ---------- */
.hero{padding-top:76px;display:block;perspective:1600px;perspective-origin:50% 40%}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);min-height:calc(100svh - 76px);transform-origin:50% 70%;will-change:transform}
.hero .dim{position:absolute;inset:0;z-index:7;background:#1A1512;opacity:0;pointer-events:none;will-change:opacity}
.hero-copy{padding:36px clamp(44px,5.6vw,104px) 44px var(--gut)}
.hero h1{margin-bottom:22px}
.hero p.lede{margin-bottom:26px;max-width:29em}
.bella{margin:0 0 26px}
@media (min-width:641px){.bella .face.front{grid-template-columns:184px minmax(0,1fr);gap:0 30px;align-items:center}.voice{width:184px;height:184px}}
.bella .bx{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.bella .bx .act{display:block;margin:0 0 14px;width:auto}
.bella .bx .say{display:block;border:0;background:none;padding:0;margin:0;text-align:left;cursor:pointer;color:var(--ink);font:inherit;width:auto}
.bella .bx .say .h{display:inline-block;position:relative;font:600 clamp(28px,2.4vw,36px)/1.05 var(--display);letter-spacing:-.03em;color:var(--ink);margin:0 0 10px}
.bella .bx .say .h::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--gold-ink);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.bella:hover .bx .say .h::after,.bella .bx .say:focus-visible .h::after{transform:none}
.bella .bx .say .sub{display:block;font-size:15.5px;line-height:1.5;color:#4A433C;max-width:26em}
.bella .bx .num{margin:0;font-size:13.5px;color:var(--muted);text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bella .bx .num .ld{display:inline-block;vertical-align:middle;width:7px;height:7px;border-radius:50%;background:#30A46C;animation:bv-pulse-g 2s infinite;flex:none}
.bella .bx .num .sep{display:inline-block;vertical-align:middle;width:1px;height:12px;background:rgba(26,21,18,.2);margin:0 2px}
.bella .bx .num a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(26,21,18,.3);transition:border-color .25s}
.bella .bx .num a:hover{border-color:var(--ink)}
.bella .voice .lbl{display:none}
.bella[data-state="connecting"] .voice .lbl,.bella[data-state="live"] .voice .lbl,.bella[data-state="ended"] .voice .lbl{display:block}
.bella .bx .say:focus-visible{outline:0}
.bella .bx .say:focus-visible .h{box-shadow:0 0 0 3px rgba(227,182,118,.6);border-radius:4px}
.ctas{gap:12px}
.tenant{margin-top:22px;max-width:none;padding:0;border:0;background:transparent;border-radius:0;gap:12px;font-size:14px;box-shadow:none}
.tenant:hover{border:0;box-shadow:none}
.tenant .tx{flex:0 1 auto;min-width:0;color:#4A433C}
.tenant .go{font-size:13.5px;transition:color .25s,border-color .25s}
.tenant:hover .go{color:var(--gold-ink);border-color:var(--gold-ink)}
.hero-phone{left:clamp(36px,4.5vw,72px);bottom:clamp(30px,4vh,48px)}
.hero-phone .phone{--w:clamp(256px,19.5vw,296px);transform:perspective(1100px) rotateY(-9deg) rotateX(3deg)}
.hero-phone .tilt{position:relative;will-change:transform}
.hero-phone .tilt::after{content:"";position:absolute;left:6%;right:6%;bottom:-30px;height:50px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,12,6,.42),rgba(20,12,6,0) 68%);filter:blur(10px);z-index:-1;pointer-events:none}
@media (min-width:1081px){
  .hero-media{align-self:start;height:calc(100svh - 88px);min-height:560px;max-height:980px;margin:12px 12px 0 0}
  .js.gs .hero-copy,.js.gs .hero-media{will-change:auto;transform-origin:50% 50%}
  .js.gs .ticker{box-shadow:0 -30px 70px -28px rgba(26,21,18,.4)}
}
@media (max-width:1080px){
  .hero{perspective:none;padding-top:68px}
  .hero-in{grid-template-columns:1fr;min-height:0;transform:none!important}
  .hero .dim{display:none}
  .hero-phone .tilt{transform:none!important}
  .hero-phone{left:clamp(16px,4vw,40px);bottom:clamp(28px,4.5vh,56px)}
}
@media (max-width:640px){
  .hero{padding-top:64px}
  .hero-phone{left:16px;bottom:16px}
  .hero-phone .phone{--w:210px;transform:none}
  .hero-phone .tilt::after{display:none}
  .bella .face.front{grid-template-columns:1fr;justify-items:center}
  .voice{width:180px;height:180px}
  .bella .bx{align-items:center;text-align:center}
  .bella .bx .say{text-align:center}
  .bella .bx .say .sub{margin:0 auto}
  .bella .bx .num{justify-content:center}
  .tenant{flex-wrap:wrap;gap:6px 12px}
}
/* nav polish */
.nav{background:rgba(250,247,242,.74);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);transition:background .4s ease,box-shadow .4s ease}
.nav.solid{background:rgba(250,247,242,.9);box-shadow:0 1px 0 rgba(26,21,18,.08),0 20px 40px -34px rgba(60,35,15,.5)}
.nav .in{height:76px;transition:height .5s cubic-bezier(.2,.7,.2,1)}
.nav.solid .in{height:62px}
.nav .logo{height:44px;transition:height .5s cubic-bezier(.2,.7,.2,1),transform .4s cubic-bezier(.2,.7,.2,1)}
.nav.solid .logo{height:36px}
.nav a[aria-label]:hover .logo{transform:scale(1.04)}
.nav ul{position:relative;gap:2px;padding:0;margin:0}
.nav ul a{padding:9px 14px;border-radius:999px;opacity:.72;transition:opacity .3s ease,color .3s ease}
.nav ul a::after{display:none}
.nav ul a:hover,.nav ul a[aria-current]{opacity:1}
.nav ul .ind{position:absolute;top:0;left:0;height:100%;width:0;border-radius:999px;background:rgba(26,21,18,.07);opacity:0;transition:transform .55s cubic-bezier(.2,.7,.2,1),width .55s cubic-bezier(.2,.7,.2,1),opacity .3s ease;pointer-events:none}
.nav ul .ind.on{opacity:1}
.nav .right{gap:10px}
.nav .login{padding:9px 12px;opacity:.72;border-radius:999px}
.nav .login:hover{opacity:1;background:rgba(26,21,18,.05)}
.nav .btn{min-height:40px;padding:0 16px 0 18px;font-size:14px;gap:10px}
.nav .btn-line.demo{margin:0 6px 0 4px;padding:0 18px;border-color:rgba(26,21,18,.22);background:transparent}
.nav .btn-line.demo:hover{border-color:var(--ink);transform:translateY(-1px)}
.nav .btn-ink .bi{width:26px;height:26px}
.nav .btn-ink:hover .bi svg{transform:translateX(2px)}
.nav a:focus-visible,.nav button:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
@media (max-width:640px){.nav .demo{display:none}.nav .in{height:64px}.nav.solid .in{height:58px}.nav .logo{height:32px}.nav.solid .logo{height:30px}}

/* ---------- hero v5: Talk to Bella lives on the photo, copy column is just the pitch ---------- */
.voice::before{display:none}
.voice .oglow{inset:-14px;filter:blur(18px);background:radial-gradient(circle,rgba(230,176,100,.85),rgba(230,176,100,0) 66%)}
.voice .orb{box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -12px 28px rgba(120,70,20,.28),0 30px 50px -22px rgba(120,70,20,.7),0 0 44px 2px rgba(227,182,118,.55),0 0 120px 24px rgba(227,182,118,.22)}
.voice .orb::before{background:radial-gradient(circle at 38% 28%,#FFF9EE 0,#F8E2BB 16%,#E9BE78 42%,#CF9449 70%,#9A6428 100%)}
.voice .orb .blob{background:radial-gradient(circle at 50% 96%,rgba(255,240,210,.55),rgba(255,240,210,0) 42%)}
.voice .orb .blob2{background:radial-gradient(circle at 26% 84%,rgba(120,70,20,.26),rgba(120,70,20,0) 55%)}
.voice .wave{display:flex;align-items:center;gap:5px;height:30px}
.voice .wave i{display:block;width:5px;height:14px;border-radius:3px;background:#FFF6E8;box-shadow:0 1px 2px rgba(120,70,20,.35);transform-origin:center;animation:bv-wave 1.9s ease-in-out infinite}
.voice .wave i:nth-child(1){animation-delay:0s;height:10px}.voice .wave i:nth-child(2){animation-delay:.18s;height:18px}.voice .wave i:nth-child(3){animation-delay:.36s;height:26px}.voice .wave i:nth-child(4){animation-delay:.54s;height:18px}.voice .wave i:nth-child(5){animation-delay:.72s;height:10px}
@keyframes bv-wave{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.bella[data-state="connecting"] .wave i{animation-duration:.7s}
.bella[data-state="live"] .wave i{animation:none}
.bella[data-state="live"] .voice .orb .ico-idle{display:grid}
.bella[data-state="live"] .voice .orb .ico-live{display:none}
.hero-media .bella{position:absolute;right:clamp(28px,3vw,44px);bottom:clamp(44px,5vh,56px);z-index:3;margin:0;width:auto;min-height:0!important}
.hero-media .bella .face.front{display:block;position:relative;inset:auto;padding:0}
.hero-media .voice{width:200px;height:200px;grid-row:auto;margin:0}
.hero-media .breath,.hero-media .voice .orb{width:176px;height:176px}
.hero-media .voice .rings i{width:190px;height:190px;margin:-95px 0 0 -95px}
.hero-media .voice .orb{display:grid;place-items:center;align-content:center;gap:8px}
.hero-media .voice .orb .ico-idle,.hero-media .voice .orb .ico-live,.hero-media .voice .orb .olbl{position:relative;z-index:3}
.hero-media .voice .orb .olbl{display:block;font:600 15px/1 var(--sans);letter-spacing:.01em;color:#3A2410;text-shadow:0 1px 0 rgba(255,255,255,.45);white-space:nowrap}
.hero-media .voice .lbl{display:none!important}
.hero-media .bx{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:4px;width:max-content;text-align:center;display:block}
.hero-media .bx .act{display:none!important}
.hero-media .bx .num{display:block;justify-content:center;gap:4px;font-size:12.5px;color:rgba(255,255,255,.82);text-shadow:0 1px 8px rgba(0,0,0,.55);text-align:center}
.hero-media .bx .num a{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.hero-media .bx .num a:hover{border-bottom-color:#fff}
.hero-media .call{position:absolute;right:0;bottom:calc(100% + 14px);width:320px;margin:0;background:rgba(20,14,10,.64);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:14px;color:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.hero-media .call .st{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}
.hero-media .call .st .l,.hero-media .call .st .t{color:#fff}
.hero-media .call .ctl .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.hero-media .call .ctl .btn.muted{background:#fff;color:var(--ink)}
.hero-media .call .ctl .btn.end{background:#E5484D;border-color:transparent}
.hero-media .call .after .btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff}
.hero-media .call .after .btn.pri{background:var(--gold);color:var(--ink);border-color:transparent}
.hero-media .call .hint{color:rgba(255,255,255,.75)}
.hero-media .img::after{background:linear-gradient(90deg,rgba(25,16,10,.18),rgba(25,16,10,0) 40%),linear-gradient(0deg,rgba(25,16,10,.45),rgba(25,16,10,0) 38%)}
.hero p.lede{margin-bottom:30px}
.ctas{margin-top:0}
@media (max-width:1080px){
  .hero-media .bella{right:20px;bottom:40px}
}
@media (max-width:640px){
  .hero-media .bella{right:12px;bottom:12px}
  .hero-media .voice{width:124px;height:124px;margin:0}
  .hero-media .breath,.hero-media .voice .orb{width:112px;height:112px}
  .hero-media .voice .rings i{width:122px;height:122px;margin:-61px 0 0 -61px}
  .hero-media .voice .orb{gap:5px}
  .hero-media .voice .orb .olbl{font-size:12px}
  .hero-media .voice .wave{height:20px;gap:3px}
  .hero-media .voice .wave i{width:3px}
  .hero-media .voice .wave i:nth-child(1){height:7px}.hero-media .voice .wave i:nth-child(2){height:12px}.hero-media .voice .wave i:nth-child(3){height:17px}.hero-media .voice .wave i:nth-child(4){height:12px}.hero-media .voice .wave i:nth-child(5){height:7px}
  .hero-media .bx{display:none!important}
  .hero-media .call{bottom:0;width:min(320px,calc(100vw - 48px))}
  .hero-media .bella[data-state="connecting"] .voice,.hero-media .bella[data-state="live"] .voice,.hero-media .bella[data-state="ended"] .voice{display:none}
}

/* ---------- hero v6 (V3): full-bleed photo, white copy, big orb, floating cards ---------- */
.hero .tenant .go{background:transparent!important;color:var(--ink)!important;padding:0 0 1px!important;border-radius:0!important;border:0!important;border-bottom:1px solid currentColor!important;box-shadow:none!important;font-weight:600;font-size:14px;min-height:0!important;line-height:1.3}
.hero-in{display:block;min-height:calc(100svh - 76px)}
.hero-media{position:absolute;top:0;left:0;right:0;bottom:0;height:auto;min-height:0;max-height:none;margin:0;align-self:auto;aspect-ratio:auto}
.hero-media .img{border-radius:0}
.hero-media .img img{object-position:70% 40%}
.hero-media .img::after{background:linear-gradient(90deg,rgba(25,16,10,.9) 0,rgba(25,16,10,.78) 38%,rgba(25,16,10,.25) 70%,rgba(25,16,10,.1)),linear-gradient(0deg,rgba(25,16,10,.35),rgba(25,16,10,0) 30%)}
.hero-phone{display:none!important}
.hero-copy{position:relative;z-index:5;color:#fff;max-width:720px;min-height:calc(100svh - 76px);padding:40px 40px 40px var(--gut)}
.hero h1{color:#fff}
.hero p.lede{color:rgba(255,255,255,.82);margin-bottom:30px}
.ctas{margin-top:0}
.ctas .btn-ink{background:#fff;color:var(--ink)}.ctas .btn-ink:hover{background:#F6EFE4}.ctas .btn-ink .bi{background:var(--ink);color:#fff}.ctas .btn-ink:hover .bi{background:var(--gold);color:var(--ink)}
.ctas .btn-line{border-color:rgba(255,255,255,.4);color:#fff}.ctas .btn-line:hover{border-color:#fff}
.tenant .tx{color:rgba(255,255,255,.75)}.tenant .tx b{color:#fff}.hero .tenant .go{color:#fff!important}
.fc{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;max-width:230px;padding:11px 16px 11px 11px;border-radius:18px;background:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13px;line-height:1.3;box-shadow:0 24px 50px -30px rgba(0,0,0,.7);will-change:transform}
.fc>div{animation:fcf 7s ease-in-out infinite}
.fc .ai{flex:none;width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center}
.fc .ai img{width:22px;height:auto}
.fc b{display:block;font-weight:600;font-size:13.5px}
.fc span:not(.ai){opacity:.75}
.fc1{left:auto;right:33%;top:16%}
.fc2{right:3%;top:76%}
.fc2>div{animation-delay:-3s}
@keyframes fcf{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.js .fc{opacity:0;transition:opacity 1.2s ease}
.js.ready .fc1{opacity:1;transition-delay:1.1s}
.js.ready .fc2{opacity:1;transition-delay:1.45s}
.hero-media .bella{left:auto;right:9%;top:50%;bottom:auto;margin:-180px 0 0 0!important;transform:none!important;will-change:transform}
.hero-media .voice{width:360px;height:360px}
.hero-media .breath,.hero-media .voice .orb{width:320px;height:320px}
.hero-media .voice .rings i{width:340px;height:340px;margin:-170px 0 0 -170px}
.hero-media .voice .orb{gap:14px}
.hero-media .voice .orb .olbl{font-size:22px}
.hero-media .voice .wave{height:48px;gap:7px}
.hero-media .voice .wave i{width:7px}
.hero-media .voice .wave i:nth-child(1){height:16px}.hero-media .voice .wave i:nth-child(2){height:28px}.hero-media .voice .wave i:nth-child(3){height:42px}.hero-media .voice .wave i:nth-child(4){height:28px}.hero-media .voice .wave i:nth-child(5){height:16px}
.hero-media .voice .oglow{inset:-30px;filter:blur(34px)}
.hero-media .voice .orb{box-shadow:inset 0 2px 0 rgba(255,255,255,.75),inset 0 -24px 50px rgba(120,70,20,.3),0 60px 100px -40px rgba(120,70,20,.8),0 0 90px 6px rgba(227,182,118,.55),0 0 220px 50px rgba(227,182,118,.22)}
.hero-media .bx{margin-top:10px}
.hero-media .bx .num{font-size:13.5px}
.hero-media .call{left:auto;right:calc(100% + 24px);top:50%;bottom:auto;transform:translateY(-50%);width:320px}
.hero-media:has(.bella[data-state="connecting"]) .fc,.hero-media:has(.bella[data-state="live"]) .fc,.hero-media:has(.bella[data-state="ended"]) .fc{opacity:0!important;transition:opacity .4s}
.js.gs .hero .dim{border-radius:0}
@media (max-width:1080px){
  .hero{padding-top:68px}
  .hero-in{min-height:calc(100svh - 68px)}
  .hero-copy{min-height:calc(100svh - 68px);max-width:none;padding:48px calc(var(--gut) + 300px) 60px var(--gut)}
  .hero-media .bella{right:4%;top:auto;bottom:60px;margin:0!important}
  .hero-media .voice{width:280px;height:280px}
  .hero-media .breath,.hero-media .voice .orb{width:250px;height:250px}
  .hero-media .voice .rings i{width:270px;height:270px;margin:-135px 0 0 -135px}
  .hero-media .voice .orb .olbl{font-size:18px}
  .fc1{right:6%;top:12%}.fc2{display:none}
  .hero-media .call{left:auto;right:calc(100% + 16px);top:50%;transform:translateY(-50%)}
}
@media (max-width:640px){
  .hero{padding-top:64px}
  .hero-in{min-height:0}
  .hero-copy{min-height:0;padding:36px var(--gut) 250px}
  .hero-media .img img{object-position:62% 30%}
  .hero-media .img::after{background:linear-gradient(0deg,rgba(25,16,10,.55) 0,rgba(25,16,10,.8) 45%,rgba(25,16,10,.85))}
  .hero-media .bella{left:50%;right:auto;bottom:40px;width:190px;margin:0 0 0 -95px!important}
  .hero-media .voice{width:190px;height:190px}
  .hero-media .breath,.hero-media .voice .orb{width:170px;height:170px}
  .hero-media .voice .rings i{width:184px;height:184px;margin:-92px 0 0 -92px}
  .hero-media .voice .orb{gap:8px}
  .hero-media .voice .orb .olbl{font-size:14px}
  .hero-media .voice .wave{height:26px;gap:4px}.hero-media .voice .wave i{width:4px}
  .hero-media .voice .wave i:nth-child(1){height:9px}.hero-media .voice .wave i:nth-child(2){height:16px}.hero-media .voice .wave i:nth-child(3){height:24px}.hero-media .voice .wave i:nth-child(4){height:16px}.hero-media .voice .wave i:nth-child(5){height:9px}
  .hero-media .bx{display:block!important}
  .fc{display:none}
  .hero-media .call{left:50%;right:auto;top:auto;bottom:0;transform:translateX(-50%);width:min(320px,calc(100vw - 48px))}
  .hero-media .bella[data-state="connecting"] .voice,.hero-media .bella[data-state="live"] .voice,.hero-media .bella[data-state="ended"] .voice{display:none}
  .hero-media .bella[data-state="connecting"] .bx,.hero-media .bella[data-state="live"] .bx,.hero-media .bella[data-state="ended"] .bx{display:none!important}
}

/* ---------- form step: name + mobile before a web call (SMS link needs a number) ---------- */
.bella[data-state="form"] .call{display:block}
.bella .call .frm{display:none}
.bella[data-state="form"] .call .frm{display:block}
.bella[data-state="form"] .call .st,.bella[data-state="form"] .call .ctl,.bella[data-state="form"] .call .hint{display:none}
.frm .fl{display:block;margin-bottom:10px}
.frm .fl b{display:block;font:600 16px/1.2 var(--display);letter-spacing:-.01em;color:var(--ink)}
.frm .fl span{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:var(--muted)}
.frm .fi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.frm input{width:100%;min-height:46px;padding:0 14px;border-radius:14px;border:1px solid rgba(26,21,18,.16);background:#fff;color:var(--ink);font:inherit;font-size:15px;-webkit-appearance:none;appearance:none}
.frm input::placeholder{color:var(--muted)}
.frm input:focus{outline:none;border-color:var(--gold-ink);box-shadow:0 0 0 3px rgba(185,133,67,.18)}
.frm input.bad{border-color:#E5484D}
.frm .btn{margin-top:10px;min-height:46px;width:100%}
.frm .fx{display:none;margin-top:8px;font-size:13px;color:#E5484D;text-align:center}
.frm .fx.on{display:block}
.frm .fs{display:block;margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--muted);text-align:center}
.hero-media .frm .fl b{color:#fff}
.hero-media .frm .fl span,.hero-media .frm .fs{color:rgba(255,255,255,.72)}
.hero-media .frm input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.hero-media .frm input::placeholder{color:rgba(255,255,255,.55)}
.hero-media .frm input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,182,118,.25)}
.hero-media .frm .btn.pri{background:var(--gold);color:var(--ink);border-color:transparent}
.hero-media:has(.bella[data-state="form"]) .fc{opacity:0!important;transition:opacity .4s}
@media (max-width:640px){
  .frm .fi{grid-template-columns:1fr}
  .hero-media .bella[data-state="form"] .voice{display:none}
  .hero-media .bella[data-state="form"] .bx{display:none!important}
}

/* orb above the copy block: .hero-copy is z-index 5 and was swallowing taps on phones and tablets */
.hero-media .bella{z-index:6}

@media (max-width:640px){.hero-in:has(.bella[data-state="form"]) .hero-copy{padding-bottom:360px;transition:padding .3s}.hero-media .frm .fl span{font-size:12.5px}}

body:has(.bella[data-state="form"]) .pill,body:has(.bella[data-state="connecting"]) .pill,body:has(.bella[data-state="live"]) .pill,body:has(.bella[data-state="ended"]) .pill{display:none!important}

/* ---------- motion v3: the rest of the page ---------- */
.tk-row li{transition:transform .35s cubic-bezier(.16,1,.3,1),color .3s}
.tk-row li:hover{transform:translateY(-2px);color:var(--ink)}
.js.gs .facts{position:relative;border-top-color:transparent}
.js.gs .facts::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.js.gs .facts.in::before{transform:none}
.js.gs .facts li{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.js.gs .facts.in li{opacity:1;transform:none}
.js.gs .facts.in li:nth-child(2){transition-delay:.12s}.js.gs .facts.in li:nth-child(3){transition-delay:.24s}.js.gs .facts.in li:nth-child(4){transition-delay:.36s}
.js.gs .quote blockquote .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .03em .16em 0;margin:0 -.03em -.16em 0}
.js.gs .quote blockquote .w>span{display:inline-block;will-change:transform}
.js.gs .quote.rv-q blockquote{transform:none;filter:none;opacity:1}
.js.gs .quote cite::before{transform:scaleX(0);transition:transform 1.3s cubic-bezier(.2,.7,.2,1) .25s}
.js.gs .quote.in cite::before{transform:none}
.js.gs .quote cite{opacity:0;transition:opacity 1s ease .5s}
.js.gs .quote.in cite{opacity:1}
.js.gs .tile{opacity:0;transform:translateY(28px)}
.js.gs .tile.in{opacity:1;transform:none;transition:opacity 1s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.tile span{transition:transform .5s cubic-bezier(.16,1,.3,1),color .3s}
.tile:hover span{transform:translateX(6px)}
.tile .v::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(26,21,18,.35),rgba(26,21,18,0) 45%);opacity:0;transition:opacity .5s}
.tile:hover .v::after{opacity:1}
.calc-r{will-change:transform;transform-style:preserve-3d}
.calc-r .loss b{display:inline-block;font-variant-numeric:tabular-nums}
.plan.pop{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease}
.plan.pop:hover{transform:translateY(-5px);box-shadow:0 40px 70px -40px rgba(0,0,0,.7)}
.js.gs .final ol li{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.js.gs .final.in ol li{opacity:1;transform:none}
.js.gs .final.in ol li:nth-child(2){transition-delay:.15s}.js.gs .final.in ol li:nth-child(3){transition-delay:.3s}
.final .box>img{will-change:transform}
@media (prefers-reduced-motion:reduce){.js.gs .facts li,.js.gs .tile,.js.gs .final ol li,.js.gs .quote cite{opacity:1;transform:none}.js.gs .facts::before,.js.gs .quote cite::before{transform:none}}
