/* ═══════════════════════════════════════════════════════════════════════
   SAMOYA V31 — "Funnel" (Placemat aesthetic, single-page scroll)
   Same design system as V30. Restructured as a linear conversion funnel.
   Brand: Navy #121A22 + Blue #003BFC + Green #8FBC8F + Cream #F2F0E6
   ═══════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --navy:#121A22;--navy-light:#1C2833;--navy-mid:#2A3544;
  --blue:#003BFC;--blue-light:#2D5FFF;
  --green:#8FBC8F;--green-dim:rgba(143,188,143,.12);
  --cream:#F2F0E6;--cream-light:#F7F6F0;--white:#FAFAF6;
  --border:#D4D1C7;--border-dark:rgba(255,255,255,.08);
  --fg:#111;--muted:#888;--dim:#666;
  --sans:'Manrope',system-ui,sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.16,1,.3,1);--max:1200px;--gutter:clamp(1rem,3vw,2.5rem);--line:1px solid var(--border);
}

html{font-size:16px}
body{font-family:var(--sans);background:var(--cream);color:var(--fg);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.65;font-weight:400}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{list-style:none}
::selection{background:var(--blue);color:#fff}

/* ═══ URGENCY BANNER ═══ */
.banner{background:var(--navy);color:var(--cream);font-family:var(--mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem var(--gutter);display:flex;justify-content:center;align-items:center;gap:1.5rem;position:relative;z-index:101;border-bottom:1px solid rgba(255,255,255,.08)}
.banner__dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s ease infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.banner__text{color:var(--green)}

/* ═══ STICKY PROGRESS BAR ═══ */
.progress-bar{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--blue);z-index:200;transition:width .1s linear}

/* ═══ STICKY CTA ═══ */
.sticky-cta{position:fixed;bottom:1.5rem;right:1.5rem;z-index:150;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.sticky-cta.visible{opacity:1;transform:translateY(0);pointer-events:all}
.sticky-cta__btn{background:var(--blue);color:#fff;font-family:var(--mono);font-size:.5625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1.5rem;display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;transition:background .3s,transform .3s}
.sticky-cta__btn:hover{background:var(--blue-light);transform:translateY(-2px)}
@media(max-width:767px){.sticky-cta{bottom:1rem;right:1rem}}

/* ═══ NAV — Minimal, no distraction ═══ */
.nav{position:sticky;top:0;z-index:100;background:var(--cream);border-bottom:var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);height:52px}
.nav__logo{display:flex;align-items:center;flex-shrink:0}
.nav__anchor{font-family:var(--mono);font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 1rem;height:52px;display:flex;align-items:center;border-left:var(--line);transition:color .3s,background .3s;display:none}
@media(min-width:768px){.nav__anchor{display:flex}}
.nav__anchor:hover{color:var(--fg);background:var(--cream-light)}
.nav__cta{font-family:var(--mono);font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;padding:0 1.25rem;height:52px;display:flex;align-items:center;background:var(--blue);color:#fff;border-left:var(--line);transition:background .3s}.nav__cta:hover{background:var(--blue-light)}

/* ═══ TYPOGRAPHY — Same extreme scale as V30 ═══ */
.t-massive{font-weight:800;font-size:clamp(3.5rem,10vw,7rem);line-height:.88;letter-spacing:-.05em;text-transform:uppercase}
.t-massive em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.t-hero{font-weight:800;font-size:clamp(2.5rem,6.5vw,4.5rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase}
.t-hero em{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.t-display{font-weight:700;font-size:clamp(1.5rem,3.5vw,2.25rem);line-height:1;letter-spacing:-.03em}
.t-display em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.t-heading{font-weight:700;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.2;letter-spacing:-.01em}
.t-body{font-size:.875rem;font-weight:400;line-height:1.85;color:var(--dim)}
.t-body-sm{font-size:.8125rem;font-weight:400;line-height:1.75;color:var(--muted)}
.t-mono{font-family:var(--mono);font-size:.5625rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.t-mono--blue{color:var(--blue)}.t-mono--green{color:var(--green)}
.t-stat{font-weight:800;font-size:clamp(2.5rem,6vw,4rem);line-height:1;letter-spacing:-.03em;color:var(--blue)}
.t-accent{color:var(--blue)}.t-green{color:var(--green)}.t-muted{color:var(--muted)}

/* ═══ LAYOUT ═══ */
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{border-bottom:var(--line)}
.section--dark{background:var(--navy);color:var(--cream);border-color:var(--border-dark)}.section--dark .t-body,.section--dark .t-body-sm{color:rgba(242,240,230,.4)}.section--dark .t-mono{color:rgba(242,240,230,.25)}.section--dark .t-muted{color:rgba(242,240,230,.3)}
.section__inner{padding:clamp(3rem,6vh,5rem) 0}
.section__inner--lg{padding:clamp(5rem,10vh,8rem) 0}
.grid-2{display:grid;grid-template-columns:1fr;gap:0}@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}}
.grid-3{display:grid;grid-template-columns:1fr;gap:0}@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}}}
.split{display:grid;grid-template-columns:1fr;border-bottom:var(--line)}@media(min-width:768px){.split{grid-template-columns:1fr 1fr}}
.split__left,.split__right{padding:clamp(3rem,6vh,5rem) var(--gutter)}
.split__left{border-right:var(--line)}@media(max-width:767px){.split__left{border-right:none;border-bottom:var(--line)}}
.px{padding-left:var(--gutter);padding-right:var(--gutter)}

/* ═══ HERO — Full viewport, single CTA ═══ */
.hero{border-bottom:var(--line);display:flex;flex-direction:column;min-height:calc(100vh - 52px - 30px);min-height:calc(100svh - 52px - 30px)}
.hero__top{flex:1;display:flex;align-items:flex-end;padding:clamp(3rem,6vh,5rem) var(--gutter) clamp(2rem,3vh,3rem)}
.hero__bottom{border-top:var(--line);display:grid;grid-template-columns:1fr}@media(min-width:768px){.hero__bottom{grid-template-columns:1fr 1fr 1fr}}
.hero__cell{padding:clamp(1.25rem,2.5vw,2rem) var(--gutter);border-right:var(--line)}
.hero__cell:last-child{border-right:none}.hero__cell:nth-child(n+2){border-top:var(--line)}@media(min-width:768px){.hero__cell:nth-child(n+2){border-top:none}}
@media(max-width:767px){.hero{min-height:auto}}

/* ═══ SCROLL INDICATOR ═══ */
.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem var(--gutter);border-bottom:var(--line);font-family:var(--mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.scroll-hint__line{width:1px;height:40px;background:var(--border);position:relative;overflow:hidden}
.scroll-hint__line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--blue);animation:scrollDown 2s var(--ease) infinite}
@keyframes scrollDown{0%{top:-100%}100%{top:100%}}

/* ═══ STATS ROW ═══ */
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:var(--line)}@media(min-width:768px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stats-row__item{padding:clamp(1.5rem,3vw,2.5rem) var(--gutter);text-align:center;border-right:var(--line)}
.stats-row__item:nth-child(2n){border-right:none}@media(min-width:768px){.stats-row__item:nth-child(2n){border-right:var(--line)}.stats-row__item:last-child{border-right:none}}
.stats-row__item:nth-child(n+3){border-top:var(--line)}@media(min-width:768px){.stats-row__item:nth-child(n+3){border-top:none}}

/* ═══ MARQUEE ═══ */
.marquee{overflow:hidden;border-bottom:var(--line);padding:.875rem 0;white-space:nowrap}
.marquee__inner{display:inline-flex;animation:marquee 30s linear infinite}
.marquee__item{font-weight:800;font-size:clamp(1rem,2vw,1.375rem);text-transform:uppercase;letter-spacing:.02em;padding:0 2rem;display:flex;align-items:center;gap:1.5rem}
.marquee__dot{width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ PROBLEM AGITATION — Pain point list ═══ */
.pain-list{display:grid;grid-template-columns:1fr;border-top:var(--line)}@media(min-width:768px){.pain-list{grid-template-columns:1fr 1fr}}
.pain-item{padding:clamp(1.5rem,3vw,2.5rem) var(--gutter);border-bottom:var(--line);border-right:var(--line);display:flex;gap:1.25rem;align-items:flex-start}
.pain-item:nth-child(2n){border-right:none}@media(max-width:767px){.pain-item{border-right:none}}
.pain-item__x{font-family:var(--mono);font-size:.875rem;color:var(--muted);flex-shrink:0;opacity:.4;margin-top:.1rem}
.pain-item__text{font-size:.875rem;color:var(--dim);line-height:1.7}
.pain-item__text strong{font-weight:700;color:var(--fg);display:block;margin-bottom:.25rem}

/* ═══ PROCESS STEPS ═══ */
.step{display:grid;grid-template-columns:1fr;gap:0;border-bottom:var(--line)}@media(min-width:768px){.step{grid-template-columns:80px 1fr 1fr}}
.step__num-cell{padding:clamp(1.5rem,3vh,2.5rem) var(--gutter);border-right:var(--line);display:flex;align-items:flex-start}@media(max-width:767px){.step__num-cell{border-right:none;border-bottom:none;padding-bottom:0}}
.step__title-cell{padding:clamp(1.5rem,3vh,2.5rem) var(--gutter);border-right:var(--line)}@media(max-width:767px){.step__title-cell{border-right:none;padding-top:.5rem;padding-bottom:.5rem}}
.step__desc-cell{padding:clamp(1.5rem,3vh,2.5rem) var(--gutter)}@media(max-width:767px){.step__desc-cell{padding-top:.5rem}}
.step:last-child{border-bottom:none}

/* ═══ BENTO CARDS ═══ */
.bento{display:grid;grid-template-columns:1fr;border-top:var(--line)}@media(min-width:768px){.bento{grid-template-columns:repeat(3,1fr)}}
.bento__card{padding:clamp(1.5rem,3vw,2.5rem);border-right:var(--line);border-bottom:var(--line);transition:background .3s}.bento__card:hover{background:var(--cream-light)}
.bento__card:nth-child(3n){border-right:none}@media(max-width:767px){.bento__card{border-right:none}}

/* ═══ TESTIMONIAL ═══ */
.testimonial{padding:clamp(2rem,4vw,3rem);border-right:var(--line)}
.testimonial:last-child{border-right:none}@media(max-width:767px){.testimonial{border-right:none;border-bottom:var(--line)}.testimonial:last-child{border-bottom:none}}
.testimonial__quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.5;color:var(--fg);margin-bottom:1.5rem}
.testimonial__author{display:flex;align-items:center;gap:.75rem}.testimonial__avatar{width:32px;height:32px;border-radius:6px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.5625rem;font-weight:500;color:#fff}.testimonial__name{font-size:.8125rem;font-weight:600}.testimonial__role{font-size:.6875rem;color:var(--muted)}

/* ═══ INLINE CTA INTERSTITIAL ═══ */
.cta-interstitial{border-bottom:var(--line);background:var(--navy);padding:clamp(3rem,6vh,5rem) var(--gutter);display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.cta-interstitial{grid-template-columns:1fr auto;align-items:center}}
.cta-interstitial__copy h2{color:var(--cream)}
.cta-interstitial__copy p{color:rgba(242,240,230,.45);font-size:.875rem;line-height:1.8;margin-top:.75rem;max-width:560px}
.cta-interstitial__action{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}@media(min-width:768px){.cta-interstitial__action{align-items:flex-end}}

/* ═══ GUARANTEE STRIP ═══ */
.guarantee-strip{display:grid;grid-template-columns:1fr;border-bottom:var(--line)}@media(min-width:768px){.guarantee-strip{grid-template-columns:1fr 1fr 1fr}}
.guarantee-item{padding:clamp(1.5rem,3vw,2.25rem) var(--gutter);border-right:var(--line);display:flex;flex-direction:column;gap:.5rem}
.guarantee-item:last-child{border-right:none}@media(max-width:767px){.guarantee-item{border-right:none;border-bottom:var(--line)}.guarantee-item:last-child{border-bottom:none}}
.guarantee-item__icon{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}

/* ═══ COMPARISON TABLE ═══ */
.compare{width:100%;border-collapse:collapse;font-size:.8125rem}
.compare th{text-align:left;padding:.875rem var(--gutter);border-bottom:2px solid rgba(255,255,255,.1);font-family:var(--mono);font-size:.5625rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.compare td{padding:.875rem var(--gutter);border-bottom:1px solid rgba(255,255,255,.06)}.compare td:first-child{font-weight:600}
.compare .check{color:var(--green);font-weight:700}.compare .x{color:rgba(242,240,230,.15)}

/* ═══ BOOKING SECTION ═══ */
.book-hero{border-bottom:1px solid rgba(255,255,255,.06);background:var(--navy)}
.book-hero__inner{display:grid;grid-template-columns:1fr}@media(min-width:768px){.book-hero__inner{grid-template-columns:1fr 1fr}}
.book-hero__copy{padding:clamp(4rem,8vh,7rem) var(--gutter);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;justify-content:center}@media(max-width:767px){.book-hero__copy{border-right:none;border-bottom:1px solid var(--border-dark)}}
.book-hero__embed{padding:clamp(3rem,6vh,5rem) var(--gutter);display:flex;align-items:center;justify-content:center;min-height:480px;background:var(--navy-light)}
.book-embed-placeholder{width:100%;max-width:420px;border:1px solid var(--border-dark);padding:3rem 2rem;text-align:center}
.book-embed-placeholder p{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,240,230,.25);margin-top:.75rem}

/* ═══ WHAT-HAPPENS STEPS ═══ */
.what-happens{display:grid;grid-template-columns:1fr;border-top:var(--line)}@media(min-width:768px){.what-happens{grid-template-columns:repeat(3,1fr)}}
.what-happens__item{padding:clamp(1.5rem,3vw,2.5rem) var(--gutter);border-right:var(--line);border-bottom:var(--line)}
.what-happens__item:last-child{border-right:none}@media(max-width:767px){.what-happens__item{border-right:none}}

/* ═══ FAQ ═══ */
.faq{border-top:var(--line)}.faq__item{border-bottom:var(--line)}
.faq__q{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;cursor:pointer;font-weight:600;font-size:.9375rem;transition:color .3s;gap:1rem}.faq__q:hover{color:var(--blue)}
.faq__icon{font-family:var(--mono);font-size:1rem;color:var(--muted);transition:transform .3s;flex-shrink:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}.faq__a-inner{padding:0 0 1.25rem;font-size:.875rem;color:var(--dim);line-height:1.8;max-width:600px}
.faq__item--open .faq__a{max-height:300px}.faq__item--open .faq__icon{transform:rotate(45deg)}

/* ═══ BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.5625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1.75rem;transition:all .3s var(--ease);gap:.5rem}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--blue);color:#fff;border-radius:0}.btn--primary:hover{background:var(--blue-light)}
.btn--dark{background:var(--navy);color:#fff;border-radius:0}.btn--dark:hover{background:var(--navy-mid)}
.btn--outline{border:var(--line);color:var(--fg);background:transparent;border-radius:0}.btn--outline:hover{border-color:var(--blue);color:var(--blue)}
.btn--ghost{border:1px solid rgba(255,255,255,.12);color:var(--cream);background:transparent;border-radius:0}.btn--ghost:hover{background:rgba(255,255,255,.06)}
.btn--lg{padding:.875rem 2.25rem;font-size:.625rem}
.btn--full{width:100%;justify-content:center}

/* ═══ FOOTER ═══ */
.footer{background:var(--navy);color:var(--cream)}
.footer__bar{padding:1.25rem var(--gutter);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.06)}
.footer__copy{font-family:var(--mono);font-size:.5625rem;color:rgba(242,240,230,.2);letter-spacing:.05em;text-transform:uppercase}
.footer__status{display:flex;align-items:center;gap:.375rem;font-family:var(--mono);font-size:.5625rem;color:var(--green);letter-spacing:.05em;text-transform:uppercase}.footer__status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s ease infinite}

/* ═══ REVEAL ═══ */
[data-reveal]{opacity:0;transform:translateY(12px)}

/* ═══ HELPERS ═══ */
.mb-xs{margin-bottom:.375rem}.mb-sm{margin-bottom:.75rem}.mb-md{margin-bottom:1.25rem}.mb-lg{margin-bottom:2rem}.mb-xl{margin-bottom:3rem}
.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}
.max-480{max-width:480px}.max-560{max-width:560px}.max-640{max-width:640px}

/* ══════════════════════════════════════
   V32 — Subtle refinements only
   Everything here should be felt, not seen
   ══════════════════════════════════════ */

/* 1. Faint dot grid — hero only, barely perceptible */
.hero{background-image:radial-gradient(circle,rgba(212,209,199,.45) 1px,transparent 1px);background-size:28px 28px}

/* 2. System diagram ghosted behind manifesto section */
.section--dark{position:relative;overflow:hidden}
.section--dark::before{content:'';position:absolute;inset:0;background:url('../img-system.png') center/cover no-repeat;opacity:.04;pointer-events:none;z-index:0}
.section--dark>*{position:relative;z-index:1}

/* 3. Clip-path curtain reveal for headline text */
[data-clip]{clip-path:inset(0 0 100% 0)}
[data-clip].revealed{clip-path:inset(0 0 0% 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}

/* 4. Button shimmer — a single quiet light pass on hover */
.btn--primary{position:relative;overflow:hidden}
.btn--primary::after{content:'';position:absolute;inset:0 -100% 0 -100%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);pointer-events:none}
.btn--primary:hover::after{animation:shimmer .7s var(--ease) forwards}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(200%)}}

/* 5. Progress bar — gradient instead of flat blue */
.progress-bar{background:linear-gradient(90deg,var(--blue),var(--blue-light))}

/* 6. Staggered bento: handled in JS, no CSS needed here */

/* 7. Sticky CTA — deepen shadow for lift */
.sticky-cta__btn{box-shadow:0 8px 32px rgba(0,59,252,.28)}

