/* RaheemAI — shared styles. Glass theme, mobile-first, no build tools. */
:root{
  --text:#2B2622; --muted:#5E544A; --accent:#8A6638; --accent-2:#6F5029; --gold:#B08A5A;
  --glass:rgba(255,252,247,.5); --glass-strong:rgba(255,252,247,.8);
  --border:rgba(255,255,255,.7); --edge:rgba(60,45,30,.08);
  --shadow:0 12px 40px -14px rgba(90,65,35,.22), 0 2px 6px rgba(60,45,30,.05);
  --r-lg:28px; --r:22px; --max:1120px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{position:relative;min-height:100vh;margin:0;font-family:var(--font);color:var(--text);background:#FAF7F2;line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--accent)}
a:hover{color:var(--accent-2)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:999px;z-index:100}
.skip:focus{left:12px}

/* Background blobs behind the glass */
.bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 700px at 85% -10%,#F3EADC 0%,transparent 60%),radial-gradient(900px 600px at -10% 40%,#F1E7D8 0%,transparent 60%),linear-gradient(180deg,#FAF7F2 0%,#F4EEE4 55%,#EFE6D9 100%)}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.7}
.b1{width:620px;height:620px;background:#E3CFAF;top:-160px;left:-160px;opacity:.85}
.b2{width:560px;height:560px;background:#E9CF9F;top:2%;right:-160px;opacity:.6}
.b3{width:560px;height:560px;background:#D8C2A2;bottom:-160px;left:20%;opacity:.6}
.b4{width:480px;height:480px;background:#E6D3B8;top:30%;left:-160px;opacity:.75}
.b5{width:520px;height:520px;background:#EFD9B4;top:55%;right:-180px;opacity:.6}
.b6{width:440px;height:440px;background:#E3D5C1;top:78%;left:30%;opacity:.7}
.b7{width:380px;height:380px;background:#F1DFC4;top:16%;left:40%;opacity:.45}

/* Glass */
.glass{background:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.85);border-radius:var(--r-lg);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass,.nav{background:#FDFAF5 !important}
}

/* Layout */
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:64px 0}
h1,h2,h3{line-height:1.12;letter-spacing:-.022em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:-.035em;font-weight:800}
h2{font-size:clamp(1.85rem,4.4vw,2.9rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{margin:0 0 1em}
.lead{font-size:clamp(1.08rem,2.2vw,1.3rem);color:var(--muted);max-width:640px}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--accent);background:rgba(255,252,247,.7);border:1px solid var(--border);padding:6px 14px;border-radius:999px;margin-bottom:18px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.section-head{margin-bottom:36px}
.muted{color:var(--muted)}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.66);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:0 1px 0 var(--edge);
  -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;gap:12px}
.logo{font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo-mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,#9C7646,#6F5029);display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:800}
.logo-icon{width:36px;height:36px;display:block;flex:none;margin:-4px 0}
.logo-word{font-weight:600;letter-spacing:-.02em}.logo-word span{color:#8A6638}
.nav-links{display:none;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--text);text-decoration:none;font-size:.95rem;opacity:.85}
.nav-links a:hover{opacity:1;color:var(--accent)}
@media(min-width:880px){.nav-links{display:flex}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;font-weight:600;font-size:1rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease}
.btn-primary{background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff;box-shadow:0 8px 24px -8px rgba(111,80,41,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(111,80,41,.7)}
.btn-glass{background:rgba(255,252,247,.7);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 14px -6px rgba(60,45,30,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn-glass:hover{color:var(--accent)}
.btn-sm{min-height:40px;padding:8px 18px;font-size:.92rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.center .cta-row{justify-content:center}

/* Hero */
.hero{padding:72px 0 48px}
.hero-copy{padding:44px 24px}
.hero-note{margin-top:18px;font-size:.92rem;color:var(--muted)}
@media(min-width:768px){.hero{padding:88px 0 56px}.hero-copy{padding:56px 52px}}
@media(min-width:960px){.hero-copy h1{font-size:clamp(2.8rem,4.6vw,4.1rem)}}

/* Grids & cards */
.grid{display:grid;gap:18px}
@media(min-width:640px){.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.g3{grid-template-columns:repeat(3,1fr)}}
.card{padding:28px;border-radius:var(--r)}
.card p{color:var(--muted);margin:0}
.card h3{margin-bottom:.4em}
.icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:16px;background:linear-gradient(135deg,rgba(176,138,90,.22),rgba(227,213,193,.5));border:1px solid rgba(255,255,255,.8)}
.step-num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#8E6A3C,#6F5029);margin-bottom:16px}
a.card{text-decoration:none;color:var(--text);transition:transform .25s ease,box-shadow .25s ease;display:block}
a.card:hover{transform:translateY(-3px);box-shadow:0 18px 50px -14px rgba(90,65,35,.3)}
.more{display:inline-block;margin-top:14px;font-weight:600;color:var(--accent)}

/* Lists */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:32px}
.checks li::before{content:"";position:absolute;left:0;top:.25em;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#8E6A3C,#6F5029)}
.checks li::after{content:"";position:absolute;left:7px;top:.5em;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Split panel */
.panel{padding:36px 24px}
@media(min-width:768px){.panel{padding:56px}}
.split{display:grid;gap:32px;align-items:center}
@media(min-width:880px){.split{grid-template-columns:1.1fr .9fr}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px;margin:0 auto}
.faq details{padding:0;border-radius:var(--r)}
.faq summary{cursor:pointer;list-style:none;padding:22px 56px 22px 24px;font-weight:600;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;color:var(--accent);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 24px 22px;margin:0;color:var(--muted)}

/* Form */
form{display:grid;gap:14px}
label{font-weight:600;font-size:.92rem;display:block;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);padding:13px 16px;border-radius:14px;border:1px solid rgba(60,45,30,.16);background:rgba(255,252,247,.85)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(176,138,90,.22)}
textarea{min-height:110px;resize:vertical}
.form-row{display:grid;gap:14px}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.hp{position:absolute;left:-9999px}
.small{font-size:.86rem;color:var(--muted)}
.contact-lines{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.contact-lines a{font-weight:600;text-decoration:none}

/* Footer */
footer{padding:40px 0 56px}
footer .glass{padding:28px;border-radius:var(--r);display:grid;gap:16px}
@media(min-width:768px){footer .glass{grid-template-columns:1fr auto;align-items:center}}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
footer a{color:var(--muted);text-decoration:none;font-size:.92rem}
footer a:hover{color:var(--accent)}
footer p{margin:0;font-size:.9rem;color:var(--muted)}

/* Prose (privacy) */
.prose{padding:36px 24px;max-width:820px;margin:0 auto}
@media(min-width:768px){.prose{padding:56px}}
.prose h2{font-size:1.4rem;margin-top:1.6em}
.prose li{margin-bottom:.4em}

/* Reveal on scroll */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn,a.card{transition:none}
}

/* Phone demo (illustrative example conversation) */
.hero-grid{display:grid;gap:40px;align-items:center;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.phone{max-width:320px;margin:0 auto;padding:14px;border-radius:44px}
.phone-screen{border-radius:32px;background:rgba(255,252,247,.82);padding:18px 14px 20px;border:1px solid rgba(255,255,255,.8)}
.phone-top{display:flex;align-items:center;gap:10px;padding:4px 6px 14px;border-bottom:1px solid var(--edge);margin-bottom:14px}
.phone-top .logo-mark{width:32px;height:32px;border-radius:50%}
.phone-top strong{display:block;font-size:.95rem;line-height:1.2}
.phone-top span{font-size:.78rem;color:var(--muted)}
.bubble{max-width:84%;padding:10px 14px;border-radius:20px;font-size:.9rem;line-height:1.4;margin-bottom:8px}
.bubble.them{background:#EDE4D6;color:var(--text);border-bottom-left-radius:6px}
.bubble.us{margin-left:auto;background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff;border-bottom-right-radius:6px}
.bubble-meta{font-size:.72rem;color:var(--muted);text-align:center;margin:4px 0 10px}
.phone-caption{text-align:center;font-size:.82rem;color:var(--muted);margin-top:12px}

/* Demo tabs */
.demo{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.hero-grid>*{min-width:0}
.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%;justify-content:flex-start;gap:6px;padding:6px;border-radius:999px;background:rgba(255,252,247,.55);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);width:max-content;margin:0 auto}
.tabs::-webkit-scrollbar{display:none}
.tabs button{font:inherit;font-size:.82rem;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:999px;padding:8px 12px;cursor:pointer;min-height:36px;white-space:nowrap;flex:0 0 auto}
.tabs button:hover{color:var(--text)}
.tabs button[aria-selected="true"]{background:#fff;color:var(--text);box-shadow:0 2px 8px -2px rgba(60,45,30,.2)}
[role="tabpanel"][hidden]{display:none}


/* Voice demo call card */
.voice{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.voice{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}}
.call-card{display:flex;flex-direction:column;justify-content:center;border-radius:24px;padding:22px;background:rgba(255,252,247,.62);border:1px solid var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.call-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.call-top strong{display:block;font-size:1.05rem;line-height:1.25}
.call-status{font-size:.86rem;color:var(--muted)}
.avatar{width:52px;height:52px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#9C7646,#6F5029);box-shadow:0 0 0 6px rgba(176,138,90,.15)}
[data-voice].playing .avatar{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 6px rgba(176,138,90,.15)}50%{box-shadow:0 0 0 12px rgba(176,138,90,.06)}}
.wave{width:100%;height:110px;display:block;border-radius:18px;background:linear-gradient(180deg,rgba(237,228,214,.55),rgba(255,252,247,.35))}
.call-controls{display:flex;align-items:center;gap:16px;margin-top:16px}
.play{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(135deg,#8E6A3C,#6F5029);box-shadow:0 8px 22px -8px rgba(111,80,41,.7)}
.play svg{width:24px;height:24px;fill:#fff}
.play .i-pause,[data-voice].playing .play .i-play{display:none}
[data-voice].playing .play .i-pause{display:block}
.prog-wrap{flex:1;min-width:0}
.prog{width:100%;accent-color:#8A6638;padding:0;border:0;background:none;height:24px}
.times{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.transcript-wrap{display:flex;flex-direction:column;min-width:0}
.transcript{list-style:none;margin:0;padding:4px 6px 4px 0;display:grid;gap:8px;max-height:400px;overflow-y:auto;scroll-behavior:smooth}
.vline{padding:10px 14px;border-radius:16px;font-size:.93rem;line-height:1.45;color:var(--muted);background:rgba(255,252,247,.45);border:1px solid transparent;transition:background .3s,color .3s,border-color .3s}
.vline .vwho{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;color:var(--accent)}
.vline.caller .vwho{color:#6b6157}
.vline.active{background:#fff;color:var(--text);border-color:rgba(176,138,90,.45);box-shadow:0 6px 18px -10px rgba(90,65,35,.35)}
.vline.done{color:var(--text)}
@media (prefers-reduced-motion:reduce){[data-voice].playing .avatar{animation:none}.transcript{scroll-behavior:auto}}

/* =================== v2 motion layer =================== */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.grain{position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.06;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* moving gradient mesh */
.blob{will-change:transform;animation:drift 22s ease-in-out infinite alternate}
.b2{animation-duration:26s;animation-delay:-6s}.b3{animation-duration:30s;animation-delay:-12s}.b4{animation-duration:24s;animation-delay:-3s}
.b5{animation-duration:28s;animation-delay:-9s}.b6{animation-duration:20s;animation-delay:-14s}.b7{animation-duration:34s;animation-delay:-4s}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(8vw,4vh,0) scale(1.12)}66%{transform:translate3d(-5vw,8vh,0) scale(.92)}100%{transform:translate3d(4vw,-6vh,0) scale(1.06)}}
.mesh-sheen{position:absolute;inset:0;background:conic-gradient(from var(--ang) at 60% 30%,rgba(255,255,255,0),rgba(234,207,159,.18),rgba(255,255,255,0) 40%);animation:spin 40s linear infinite}

/* hero */
.hero-x{padding:56px 0 24px;position:relative}
@media(min-width:960px){.hero-x{padding:72px 0 40px;min-height:calc(100vh - 62px);display:flex;align-items:center}.hero-x>.wrap{width:100%}}
.hero-x .hero-grid{gap:28px}
@media(min-width:960px){.hero-x .hero-grid{grid-template-columns:1.02fr .98fr;gap:40px}}
.hero-copy{padding:0}
@media(min-width:768px){.hero-copy{padding:0}}
.eyebrow-live{display:inline-flex;align-items:center;gap:8px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#B08A5A;box-shadow:0 0 0 0 rgba(176,138,90,.6);animation:live 2s ease-out infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(176,138,90,.55)}100%{box-shadow:0 0 0 12px rgba(176,138,90,0)}}
.headline{font-size:clamp(2.7rem,8.4vw,5.6rem);line-height:1.02;letter-spacing:-.045em;font-weight:800;margin:0 0 .35em}
@media(min-width:960px){.headline{font-size:clamp(3.4rem,5.4vw,5.4rem)}}
.headline .w{display:inline-block;padding-bottom:.06em}
.headline .w>span{display:inline-block}
.js .headline .w>span{animation:wordIn 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i)*90ms + 150ms)}
@keyframes wordIn{0%{opacity:0;filter:blur(14px);transform:translateY(38%) scale(.96)}100%{opacity:1;filter:blur(0);transform:none}}
.shine{background:linear-gradient(105deg,#6F5029 0%,#8E6A3C 30%,#B98E55 45%,#D4AE74 50%,#B98E55 55%,#8E6A3C 70%,#6F5029 100%);background-size:260% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.js .headline .w>.shine{animation:wordIn 1s cubic-bezier(.2,.7,.2,1) both,shimmer 5.5s linear infinite;animation-delay:calc(var(--i)*90ms + 150ms),1.6s}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-160% 0}}
.js .hero-sub,.js .hero-ctas,.js .hero-note,.js .hero-copy .eyebrow{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) both}
.js .hero-copy .eyebrow{animation-delay:.05s}.js .hero-sub{animation-delay:.75s}.js .hero-ctas{animation-delay:.9s}.js .hero-note{animation-delay:1.05s}
@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}

/* hero visual: orb + tilt phone + orbiting cards */
.hero-visual{position:relative;min-height:600px;display:grid;place-items:center;perspective:1200px}
.orb-wrap{position:absolute;left:50%;top:50%;width:min(620px,120%);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
.orb-wrap>*{position:absolute;inset:0;width:100%;height:100%}
.orb-fallback{border-radius:50%;margin:14%;inset:0;width:auto;height:auto;background:radial-gradient(circle at 34% 30%,#FFF6E6 0%,#EED6AE 22%,#C9A06A 52%,#8E6A3C 78%,#5E4426 100%);box-shadow:0 0 120px 40px rgba(214,180,120,.35);filter:saturate(1.05);animation:orbFloat 9s ease-in-out infinite}
.orb-ready .orb-fallback{display:none}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.03)}}
.tilt{position:relative;z-index:2;transform-style:preserve-3d;width:100%}
.tilt .phone{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);transition:transform .5s cubic-bezier(.2,.7,.2,1);box-shadow:0 40px 80px -30px rgba(70,50,25,.45),0 0 0 1px rgba(255,255,255,.6) inset}
.js .tilt .phone{animation:phoneIn 1.2s cubic-bezier(.2,.7,.2,1) .4s both}
@keyframes phoneIn{0%{opacity:0;transform:translateY(40px) rotateX(18deg) rotateY(-14deg)}100%{opacity:1}}
.orbit{position:absolute;inset:0;z-index:3;pointer-events:none}
.ocard{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:18px;white-space:nowrap;
  background:rgba(255,252,247,.62);border:1px solid rgba(255,255,255,.85);box-shadow:0 14px 34px -14px rgba(90,65,35,.4),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);font-size:.8rem;line-height:1.25;will-change:transform}
.ocard strong{display:block;font-size:.82rem}.ocard em{font-style:normal;color:var(--muted);font-size:.76rem}
.oi{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(176,138,90,.25),rgba(255,255,255,.7));font-size:.95rem}
/* static fallback positions (no JS) */
.ocard:nth-child(1){transform:translate(calc(-50% - 235px),calc(-50% - 120px))}.ocard:nth-child(2){transform:translate(calc(-50% + 235px),calc(-50% - 30px))}
.ocard:nth-child(3){transform:translate(calc(-50% - 235px),calc(-50% + 130px))}.ocard:nth-child(4){transform:translate(calc(-50% + 225px),calc(-50% + 220px))}
@media(max-width:600px){.hero-visual{min-height:560px}.ocard{font-size:.72rem;padding:8px 10px 8px 8px}.ocard strong{font-size:.74rem}.oi{width:24px;height:24px}}

/* glowing border on phone + hero cards */
.glow{position:relative}
.glow::after,.phone::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),rgba(176,138,90,0) 0deg,rgba(214,176,120,.95) 60deg,rgba(255,240,215,.9) 90deg,rgba(176,138,90,0) 150deg,rgba(176,138,90,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:spin 6s linear infinite}
.phone{position:relative}
@keyframes spin{to{--ang:360deg}}

/* spotlight + glow border on glass cards */
.spot{position:relative;isolation:isolate}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(226,192,138,.32),rgba(255,252,247,0) 60%)}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(176,138,90,.95),rgba(176,138,90,0) 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.spot:hover::before,.spot:hover::after{opacity:1}
details.spot{overflow:visible}

/* magnetic buttons + shine sweep */
.btn{position:relative;overflow:hidden;will-change:transform}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg) translateX(0);pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));opacity:0}
.btn:hover::after{animation:sweep .9s ease}
.btn-primary::after{animation:sweep 1.1s ease 2.2s,sweepLoop 6s ease 4s infinite}
@keyframes sweep{0%{opacity:1;transform:skewX(-20deg) translateX(0)}100%{opacity:1;transform:skewX(-20deg) translateX(420%)}}
@keyframes sweepLoop{0%,82%{opacity:0;transform:skewX(-20deg) translateX(0)}83%{opacity:1}100%{opacity:1;transform:skewX(-20deg) translateX(420%)}}
.btn .bl{display:inline-block;transition:transform .3s cubic-bezier(.2,.7,.2,1)}

/* marquee */
.marquee{position:relative;overflow:hidden;padding:18px 0;margin:8px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;gap:12px;list-style:none;margin:0;padding:0 6px 0 6px}
.marquee li{white-space:nowrap;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.92rem;color:var(--text);
  background:rgba(255,252,247,.6);border:1px solid rgba(255,255,255,.85);box-shadow:0 6px 18px -10px rgba(90,65,35,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.marquee li::before{content:"✦";color:#B08A5A;margin-right:8px}
@keyframes marq{to{transform:translateX(-50%)}}

/* pinned scroll story */
.story{padding:72px 0}
.story-grid{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.story-grid{grid-template-columns:.9fr 1.1fr;gap:48px}.story .section-head{margin-bottom:24px}}
.story-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sstep{display:flex;gap:18px;padding:20px 22px;border-radius:22px;border:1px solid transparent;transition:background .4s,border-color .4s,opacity .4s,transform .4s}
.sstep h3{margin:0 0 .25em}.sstep p{margin:0;color:var(--muted)}
.snum{font-weight:800;font-size:.95rem;color:#B08A5A;letter-spacing:.04em;padding-top:3px}
.story.is-pinned .sstep{opacity:.45}
.story.is-pinned .sstep.is-active{opacity:1;background:rgba(255,252,247,.65);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow);transform:translateX(6px)}
.story-stage{position:relative;height:560px;padding:0;overflow:hidden}
.story-svg{position:absolute;inset:0;width:100%;height:100%}
.story-svg path{fill:none;stroke-linecap:round}
.story-svg .track{stroke:rgba(176,138,90,.22);stroke-width:2;stroke-dasharray:4 8}
.story-svg .draw{stroke:#A27A45;stroke-width:3;filter:drop-shadow(0 0 6px rgba(214,176,120,.8))}
.snode{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:20px;min-width:250px;max-width:88%;
  background:rgba(255,252,247,.8);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 40px -16px rgba(90,65,35,.45);font-size:.88rem;line-height:1.35}
.snode strong{display:block}.snode em{font-style:normal;color:var(--muted)}
.n1{top:13%}.n2{top:45%}.n3{top:78%;flex-direction:column;align-items:stretch;gap:8px}
.ring-ic,.ai-ic{position:relative;width:42px;height:42px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#9C7646,#6F5029);color:#fff;font-weight:800}
.ring-ic i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(176,138,90,.6);animation:ripple 1.8s ease-out infinite}
.ring-ic i+i{animation-delay:.9s}
@keyframes ripple{0%{transform:scale(1);opacity:1}100%{transform:scale(1.9);opacity:0}}
.mini-wave{display:flex;gap:3px;align-items:center;height:18px;margin-top:6px}
.mini-wave b{width:3px;border-radius:3px;background:#A27A45;height:30%;animation:wv 1s ease-in-out infinite}
.mini-wave b:nth-child(2n){animation-delay:-.3s}.mini-wave b:nth-child(3n){animation-delay:-.6s}.mini-wave b:nth-child(5n){animation-delay:-.15s}
@keyframes wv{0%,100%{height:25%}50%{height:100%}}
.cal{border-radius:14px;overflow:hidden;border:1px solid var(--edge);background:#fff}
.cal-h{font-weight:700;padding:8px 12px;background:#EDE4D6}
.cal-r{padding:7px 12px;border-top:1px solid var(--edge);color:var(--muted);font-variant-numeric:tabular-nums}
.cal-r.hit{color:#fff;font-weight:600;background:linear-gradient(135deg,#8E6A3C,#6F5029)}
.cal-ok{font-weight:600;color:var(--accent);font-size:.84rem}
@media(max-width:600px){.story-stage{height:600px}.snode{min-width:0;width:86%}.n3{top:76%}}

/* bento */
.bento{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.t-a{grid-column:span 2}}
@media(min-width:1000px){.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(220px,auto)}
  .t-a{grid-column:span 2;grid-row:span 2}.t-b{grid-column:span 2}.t-e{grid-column:span 2}.t-f{grid-column:span 2}}
.bento .card{display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.viz{margin-bottom:18px;min-height:64px;display:flex;align-items:center}
.viz-ring{position:relative;height:200px;justify-content:center}
.t-a .viz-ring{flex:1}
.viz-ring .core{position:relative;z-index:1;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:linear-gradient(135deg,#9C7646,#6F5029);box-shadow:0 20px 50px -14px rgba(111,80,41,.7);animation:shake 3s ease-in-out infinite}
.viz-ring .pulse{position:absolute;width:84px;height:84px;border-radius:50%;border:2px solid rgba(176,138,90,.55);animation:ripple2 2.6s ease-out infinite}
.viz-ring .pulse+.pulse{animation-delay:1.3s}
@keyframes ripple2{0%{transform:scale(1);opacity:1}100%{transform:scale(2.8);opacity:0}}
@keyframes shake{0%,70%,100%{transform:rotate(0)}74%{transform:rotate(-12deg)}78%{transform:rotate(12deg)}82%{transform:rotate(-8deg)}86%{transform:rotate(8deg)}90%{transform:rotate(0)}}
.viz-chat{flex-direction:column;align-items:flex-start;gap:8px}
.cb{padding:9px 13px;border-radius:16px;font-size:.86rem;background:#EDE4D6;border-bottom-left-radius:5px}
.cb.typing{display:flex;gap:4px;padding:12px 14px}
.cb.typing i{width:6px;height:6px;border-radius:50%;background:#8A6638;animation:dot 1.2s ease-in-out infinite}
.cb.typing i:nth-child(2){animation-delay:.15s}.cb.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.viz-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;width:100%}
.viz-cal i{aspect-ratio:1;border-radius:8px;background:rgba(237,228,214,.8)}
.viz-cal i.on{background:linear-gradient(135deg,#8E6A3C,#6F5029);animation:pop 2.4s ease-in-out infinite}
@keyframes pop{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
.viz-bell span{font-size:2rem;display:inline-block;transform-origin:50% 10%;animation:ring 2.8s ease-in-out infinite}
@keyframes ring{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(18deg)}70%{transform:rotate(-16deg)}75%{transform:rotate(10deg)}80%{transform:rotate(-6deg)}85%{transform:rotate(0)}}
.viz-list{flex-direction:column;align-items:flex-start;gap:8px;font-size:.88rem}
.viz-list span{display:flex;align-items:center;gap:10px}
.viz-list b{width:18px;height:18px;border-radius:6px;border:2px solid #B08A5A;position:relative}
.viz-list b::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #6F5029;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);animation:tick 4.5s ease infinite}
.viz-list span:nth-child(2) b::after{animation-delay:.5s}.viz-list span:nth-child(3) b::after{animation-delay:1s}
@keyframes tick{0%,10%{transform:rotate(45deg) scale(0)}20%,85%{transform:rotate(45deg) scale(1)}100%{transform:rotate(45deg) scale(0)}}
.viz-loop{gap:12px}.viz-loop span{font-size:1.8rem;display:inline-block;animation:spinR 4s linear infinite}
.viz-loop em{font-style:normal;font-weight:600;font-size:.88rem;padding:8px 12px;border-radius:12px;background:rgba(237,228,214,.8)}
@keyframes spinR{to{transform:rotate(360deg)}}

/* horizontal niche showcase */
.hshow{padding:64px 0}
.hshow-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.hshow-head h2{margin-bottom:0}
.hscroll{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:12px max(20px,calc((100vw - var(--max))/2 + 20px)) 28px}
.hscroll::-webkit-scrollbar{display:none}
.htrack{display:flex;gap:20px;width:max-content}
.hcard{width:min(78vw,380px);padding:30px;border-radius:var(--r-lg);text-decoration:none;color:var(--text);scroll-snap-align:center;display:flex;flex-direction:column;transition:transform .3s}
.hcard:hover{color:var(--text);transform:translateY(-4px)}
.hcard p{color:var(--muted);margin:0 0 12px}
.hcard .hprev{margin-top:auto;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff;font-size:.9rem;border-bottom-right-radius:5px}
.hcard .icon{width:56px;height:56px;font-size:1.6rem;border-radius:18px}
.hshow.is-pinned .hscroll{overflow:visible;scroll-snap-type:none}
.hint{margin:0}

/* reveal tweak + reduced motion */
.js .reveal{transform:translateY(26px) scale(.985)}
.js .reveal.in{transform:none}
@media (prefers-reduced-motion:reduce){
  .blob,.grain,.mesh-sheen,.live-dot,.orb-fallback,.marquee-track,.glow::after,.phone::after,.btn::after,.viz *, .viz span,.ring-ic i,.mini-wave b{animation:none !important}
  .js .headline .w>span,.js .headline .w>.shine,.js .hero-sub,.js .hero-ctas,.js .hero-note,.js .hero-copy .eyebrow,.js .tilt .phone{animation:none !important}
  .marquee-track{flex-wrap:wrap;width:auto}.marquee ul[aria-hidden]{display:none}.marquee ul{flex-wrap:wrap;justify-content:center}
}
/* hero phone: compact live chat */
.hero-x .phone{max-width:300px}
.hero-x .phone-screen{height:470px;display:flex;flex-direction:column}
.hero-x [role="tabpanel"],.hero-x .phone-screen>.chat-live{display:flex;flex-direction:column;min-height:0;flex:1}
.hero-x .chat-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-webkit-mask:linear-gradient(transparent,#000 8%,#000 100%);mask:linear-gradient(transparent,#000 8%,#000 100%);padding-top:8px}
.hero-x .chat-scroll::-webkit-scrollbar{display:none}
.bubble.pop{animation:bubbleIn .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes bubbleIn{0%{opacity:0;transform:translateY(10px) scale(.96)}100%{opacity:1;transform:none}}
.bubble.wait{display:none}
.story.is-pinned{min-height:100vh;display:flex;align-items:center}
.story.is-pinned>.wrap{width:100%}
@media(min-width:960px){.orb-wrap{width:min(720px,135%)}}
.hero-x [role="tabpanel"][hidden]{display:none}
html{overflow-x:clip}.hero-x,.hshow{overflow:hidden}
@media(max-width:600px){.orbit{display:none}}
/* Lenis recommended CSS */
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}

/* =================== v3: nav, footer, forms, pages =================== */
.nav .wrap{position:relative}
.menu{display:none}
.nav-links{list-style:none;margin:0;padding:0}
.nav-links>li>a,.dd-btn{color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500;opacity:.85;background:none;border:0;font-family:inherit;cursor:pointer;padding:8px 2px;display:inline-flex;align-items:center;gap:6px}
.nav-links>li>a:hover,.dd-btn:hover,.nav-links a[aria-current="page"]{opacity:1;color:var(--accent)}
.dd-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .25s}
.dd{position:relative}
.dd-menu{list-style:none;margin:0;padding:8px;min-width:240px;border-radius:20px;background:rgba(255,252,247,.82);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 50px -18px rgba(90,65,35,.4);
  -webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.dd-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--text);text-decoration:none;font-size:.95rem}
.dd-menu a:hover,.dd-menu a:focus-visible,.dd-menu a[aria-current="page"]{background:rgba(237,228,214,.7);color:var(--accent-2)}
.dd-ic{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(176,138,90,.2),rgba(255,255,255,.8));font-size:.95rem}
.nav-cta{display:flex;align-items:center;gap:10px}
.burger{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.8);background:rgba(255,252,247,.6);display:grid;place-content:center;gap:5px;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu-cta{display:none}
@media(min-width:960px){
  .menu{display:block}.burger{display:none}
  .nav-links{display:flex;align-items:center;gap:26px}
  .dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
  .dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
  .dd:hover .dd-btn svg,.dd.open .dd-btn svg{transform:rotate(180deg)}
  .dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
}
@media(max-width:959px){
  .menu{display:block;position:absolute;left:12px;right:12px;top:calc(100% + 8px);padding:12px;border-radius:24px;
    background:rgba(255,252,247,.86);border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -20px rgba(90,65,35,.45);
    -webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);
    opacity:0;visibility:hidden;transform:translateY(-14px) scale(.98);transform-origin:top center;transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1),visibility .3s;max-height:calc(100vh - 90px);overflow-y:auto}
  .menu.open{opacity:1;visibility:visible;transform:none}
  .nav-links{display:grid;gap:2px}
  .nav-links>li>a,.dd-btn{display:flex;width:100%;padding:13px 14px;border-radius:14px;font-size:1.05rem;opacity:1}
  .nav-links>li>a:hover,.dd-btn:hover{background:rgba(237,228,214,.6)}
  .dd-btn{justify-content:space-between}
  .dd-menu{display:none;box-shadow:none;background:rgba(255,255,255,.5);margin:4px 0 6px;-webkit-backdrop-filter:none;backdrop-filter:none}
  .dd.open .dd-menu{display:block}.dd.open .dd-btn svg{transform:rotate(180deg)}
  .menu-cta{display:block;margin-top:8px}.menu-cta .btn{width:100%}
  .js .menu.open .nav-links>li{animation:fadeUp .4s cubic-bezier(.2,.7,.2,1) both}
  .js .menu.open .nav-links>li:nth-child(2){animation-delay:.04s}.js .menu.open .nav-links>li:nth-child(3){animation-delay:.08s}.js .menu.open .nav-links>li:nth-child(4){animation-delay:.12s}.js .menu.open .nav-links>li:nth-child(5){animation-delay:.16s}.js .menu.open .nav-links>li:nth-child(6){animation-delay:.2s}
  html:not(.js) .menu{position:static;opacity:1;visibility:visible;transform:none;margin:8px 0}
  html:not(.js) .burger{display:none}
  html:not(.js) .dd-menu{display:block}
}
@media(max-width:420px){.nav-trial{padding:8px 14px;font-size:.86rem}}

/* footer */
.foot{display:grid;gap:28px;padding:32px;border-radius:var(--r-lg)}
@media(min-width:760px){.foot{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.fcol h2{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fbrand p{margin:12px 0 0;font-size:.92rem;color:var(--muted)}
.fbottom{grid-column:1/-1;border-top:1px solid var(--edge);padding-top:18px;margin:0;font-size:.86rem;color:var(--muted)}

/* page hero */
.page-hero{padding:64px 0 24px}
@media(min-width:768px){.page-hero{padding:96px 0 32px}}
.narrow{max-width:820px}
.headline-md{font-size:clamp(2.4rem,6.4vw,4.4rem);line-height:1.04;letter-spacing:-.04em;font-weight:800}
.headline-sm{font-size:clamp(2.2rem,5.4vw,3.6rem);line-height:1.05;letter-spacing:-.035em;font-weight:800;margin-bottom:.2em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{padding:8px 14px;border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none;color:var(--text);background:rgba(255,252,247,.6);border:1px solid rgba(255,255,255,.85)}
.chip.on,.chip:hover{background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff}

/* legal */
.legal-wrap{padding:16px 0 64px}
.legal-grid{display:grid;gap:22px;align-items:start}
@media(min-width:960px){.legal-grid{grid-template-columns:260px minmax(0,1fr)}.toc{position:sticky;top:90px}}
.toc{padding:20px 22px;border-radius:var(--r)}
.toc-h{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 10px}
.toc ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.92rem}
.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:var(--accent)}
@media(max-width:959px){.toc{display:none}}
.legal{max-width:none;margin:0}
.legal h2{scroll-margin-top:90px}
.legal-note{margin-top:2em;padding:14px 16px;border-radius:14px;background:rgba(237,228,214,.6);font-size:.9rem;color:var(--muted)}

/* forms */
.form-section{padding:16px 0 72px}
.form-grid{display:grid;gap:22px;align-items:start}
@media(min-width:960px){.form-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.sticky{position:sticky;top:90px}}
.form-panel{padding:28px 22px}
@media(min-width:768px){.form-panel{padding:40px}}
.h-form{font-size:1.35rem;margin-bottom:18px}
.side{display:grid;gap:18px}
.side-card{padding:28px}
.field{display:flex;flex-direction:column;min-width:0}
.opt{font-weight:400;color:var(--muted);font-size:.86rem}
.hint{color:var(--muted);font-size:.8rem;margin-top:5px}
.err{color:#9B2C1F;font-size:.84rem;font-weight:600;min-height:0;margin-top:5px}
.err:empty{display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#B4412F;box-shadow:0 0 0 4px rgba(180,65,47,.12)}
.field.valid input,.field.valid select,.field.valid textarea{border-color:rgba(120,140,80,.6)}
.field.invalid{animation:shakeX .35s}
@keyframes shakeX{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%235E544A' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:38px}
fieldset.field{border:0;margin:0;padding:0}
legend{font-weight:600;font-size:.92rem;margin-bottom:8px;padding:0}
.pill-wrap{display:flex;flex-wrap:wrap;gap:8px}
.pill-check{position:relative;margin:0;font-weight:500}
.pill-check input{position:absolute;opacity:0;width:1px;height:1px}
.pill-check span{display:inline-block;padding:10px 16px;border-radius:999px;border:1px solid rgba(60,45,30,.16);background:rgba(255,252,247,.85);font-size:.92rem;cursor:pointer;transition:all .2s}
.pill-check span:hover{border-color:#B08A5A}
.pill-check input:checked+span{background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff;border-color:transparent;box-shadow:0 6px 16px -8px rgba(111,80,41,.7)}
.pill-check input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:.88rem;color:var(--muted);cursor:pointer;margin:0;line-height:1.5}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check .box{flex:0 0 auto;width:22px;height:22px;border-radius:7px;border:1.5px solid rgba(60,45,30,.3);background:#fff;margin-top:1px;position:relative;transition:all .2s}
.check input:checked+.box{background:linear-gradient(135deg,#8E6A3C,#6F5029);border-color:transparent}
.check input:checked+.box::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.check input:focus-visible+.box{outline:3px solid var(--accent);outline-offset:2px}
.field-check.invalid .box{border-color:#B4412F}
.btn-submit{width:100%;margin-top:4px}
@media(min-width:640px){.btn-submit{width:auto;min-width:260px}}
.spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spinR .8s linear infinite}
.is-loading .spinner{display:inline-block}
.is-loading{pointer-events:none;opacity:.85}
.form-status:empty{display:none}
.form-status.bad{color:#9B2C1F;font-weight:600}
.contact-big{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.contact-big li{display:flex;gap:14px;align-items:center}
.contact-big .icon{margin:0;flex:0 0 auto}
.contact-big small{display:block;color:var(--muted);font-size:.8rem}
.contact-big a{font-weight:600;text-decoration:none;font-size:1.02rem}
.next-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:18px;position:relative}
.next-steps li{display:flex;gap:14px;position:relative}
.next-steps .step-num{flex:0 0 auto;margin:0;width:36px;height:36px;font-size:.95rem}
.next-steps li:not(:last-child)::before{content:"";position:absolute;left:17px;top:40px;bottom:-16px;width:2px;background:linear-gradient(#B08A5A,rgba(176,138,90,.15))}
.next-steps h3{font-size:1.02rem;margin:4px 0 .2em}.next-steps p{margin:0;color:var(--muted);font-size:.93rem}
.small-checks{gap:8px;font-size:.92rem}
.done-mark{width:72px;height:72px;margin:0 auto 18px}
.done-mark svg{width:100%;height:100%;fill:none;stroke:#8A6638;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.done-mark circle{stroke-dasharray:151;stroke-dashoffset:151;animation:draw 1s ease forwards}
.done-mark path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s .8s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.done-mark circle,.done-mark path{animation:none;stroke-dashoffset:0}.field.invalid{animation:none}.menu{transition:none}}
/* nested backdrop-filter doesn't blur inside the nav, so menus use near-solid warm glass */
@media(max-width:959px){.menu{background:rgba(253,250,245,.97)}}
.dd-menu{background:rgba(253,250,245,.97)}
.nav-links>li.menu-cta>a.btn-primary{background:linear-gradient(135deg,#8E6A3C,#6F5029);color:#fff;justify-content:center;font-weight:600;opacity:1}
footer .glass.foot{display:grid;gap:28px;padding:32px;grid-template-columns:1fr}
@media(min-width:640px){footer .glass.foot{grid-template-columns:1fr 1fr}}
@media(min-width:960px){footer .glass.foot{grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:start}}
footer nav.fcol{display:block}
footer .fcol a{font-size:.93rem}
.legal>h2:first-child{margin-top:0}
