
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; width:100%; max-width:100%; overflow-x:clip; }
:root {
  --ink:#111111;
  --ink-2:#1b1b1b;
  --paper:#f6f6f1;
  --paper-2:#efefe8;
  --white:#ffffff;
  --acid:#b8ff38;
  --acid-2:#d7ff8c;
  --green:#2c7a43;
  --muted:#666861;
  --line:#d8d8d1;
  --line-dark:#2d2d2d;
  --shadow:0 24px 60px rgba(17,17,17,.10);
  --radius:26px;
  --radius-sm:16px;
}
body {
  margin:0;
  width:100%;
  max-width:100%;
  color:var(--ink);
  background:var(--paper);
  font-family:'DM Sans',sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  position:relative;
}
img { max-width:100%; display:block; }
main, nav, section, footer { max-width:100%; }
.hero-grid > *, .problem-head > *, .about-grid > *, .contact-grid > *, .faq-grid > * { min-width:0; }
button,input,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3,h4 { font-family:'Manrope',sans-serif; letter-spacing:-.045em; }
.wrap { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
section { padding:118px 0; }
.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 22px;
  color:var(--ink);
  font-size:.76rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.eyebrow::before {
  content:'';
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--acid);
  box-shadow:0 0 0 5px rgba(184,255,56,.18);
}
.section-title {
  margin:0;
  max-width:900px;
  font-size:clamp(2.2rem,4.35vw,4.35rem);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.section-sub {
  margin:26px 0 0;
  max-width:690px;
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.75;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:55px;
  padding:0 24px;
  border-radius:999px;
  border:1.5px solid transparent;
  font-family:'Manrope',sans-serif;
  font-size:.93rem;
  font-weight:800;
  letter-spacing:-.015em;
  cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background .22s ease, border-color .22s ease;
}
.btn .arrow { display:inline-block; transition:transform .24s cubic-bezier(.2,.8,.2,1); }
.btn:hover { transform:translateY(-3px); }
.btn:hover .arrow { transform:translateX(5px); }
.btn:active { transform:translateY(0) scale(.985); }
.btn-primary { background:var(--ink); color:#fff; box-shadow:0 8px 0 rgba(17,17,17,.11); }
.btn-primary:hover { background:#000; box-shadow:0 11px 0 rgba(17,17,17,.09); }
.btn-outline { background:transparent; color:var(--ink); border-color:var(--ink); }
.btn-outline:hover { background:#fff; }
.btn-green { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.arrow { font-size:1.05em; }

/* NAV */
nav {
  position:sticky;
  top:0;
  z-index:100;
  padding:14px 0;
  background:linear-gradient(to bottom, rgba(246,246,241,.96), rgba(246,246,241,.80), transparent);
  backdrop-filter:blur(7px);
}
.nav-inner {
  min-height:62px;
  padding:0 16px 0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:rgba(255,255,255,.94);
  border:1.5px solid var(--ink);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(17,17,17,.06);
  transition:box-shadow .28s ease, transform .28s ease, background .28s ease;
}
body.nav-scrolled .nav-inner {
  transform:translateY(-2px);
  background:rgba(255,255,255,.985);
  box-shadow:0 14px 34px rgba(17,17,17,.10);
}
.brand {
  display:flex;
  align-items:center;
  gap:9px;
  font-family:'Manrope',sans-serif;
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:-.055em;
}
.brand-dot { width:9px; height:9px; border-radius:50%; background:var(--acid); border:1px solid var(--ink); }
.nav-links { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.nav-links a:not(.btn) { color:#45463f; font-size:.87rem; font-weight:700; }
.nav-links a:not(.btn):hover { color:#000; }
.nav-links .btn { min-height:42px; padding:0 18px; border-radius:12px; background:var(--acid); border-color:var(--ink); }
.hamburger { display:none; border:0; background:transparent; font-size:1.45rem; cursor:pointer; }

/* HERO */
.hero {
  position:relative;
  padding:80px 0 78px;
}
.hero::before {
  content:'';
  position:absolute;
  width:540px;
  height:540px;
  right:-160px;
  top:110px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(184,255,56,.30), rgba(184,255,56,0) 68%);
  pointer-events:none;
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  gap:70px;
  align-items:center;
}
.hero .eyebrow {
  padding:10px 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
}
.hero h1 {
  margin:0;
  max-width:700px;
  font-size:clamp(3.15rem,6.25vw,5.65rem);
  line-height:.94;
  font-weight:800;
  text-wrap:balance;
}
.hero h1 .fix {
  position:relative;
  display:block;
  margin-top:.08em;
  color:var(--ink);
  z-index:1;
}
.hero h1 .fix::after {
  content:'';
  position:absolute;
  z-index:-1;
  left:-.02em;
  right:-.04em;
  bottom:.03em;
  height:.27em;
  background:var(--acid);
  transform:rotate(-1deg);
  border-radius:4px;
}
.hero-sub {
  margin:30px 0 0;
  max-width:660px;
  color:#555850;
  font-size:1.13rem;
  line-height:1.72;
}
.hero-sub strong { color:var(--ink); }
.hero-ctas { display:flex; gap:13px; flex-wrap:wrap; margin-top:34px; }
.pilot-link { max-width:660px; margin:24px 0 0; color:#71736c; font-size:.91rem; }
.pilot-link a { color:var(--ink); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.hero-proof { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:28px; }
.clutch-widget-inner {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:5px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}
.clutch-label { padding-right:12px; border-right:1px solid var(--line); color:#666861; font-size:.61rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; line-height:1.25; }
.clutch-label span { display:block; color:#ef4335; }
.clutch-fallback { display:flex; align-items:center; gap:7px; }
.stars { color:#ef4335; letter-spacing:1px; }
.cf-text { font-size:.79rem; font-weight:800; }



/* ---------- HERO MOTION ---------- */
@keyframes heroRise {
  from { opacity:0; transform:translate3d(0,24px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@keyframes heroScaleIn {
  from { opacity:0; transform:translate3d(0,18px,0) scale(.975); }
  to { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes markerSweep {
  from { transform:scaleX(0) rotate(-1deg); }
  to { transform:scaleX(1) rotate(-1deg); }
}
.hero .eyebrow,
.hero h1,
.hero-sub,
.hero-ctas,
.pilot-link,
.hero-proof { opacity:0; animation:heroRise .72s cubic-bezier(.2,.75,.25,1) forwards; }
.hero .eyebrow { animation-delay:.05s; }
.hero h1 { animation-delay:.13s; }
.hero-sub { animation-delay:.23s; }
.hero-ctas { animation-delay:.32s; }
.pilot-link { animation-delay:.39s; }
.hero-proof { animation-delay:.46s; }
.phone-stage { opacity:0; animation:heroScaleIn .85s .20s cubic-bezier(.2,.75,.25,1) forwards; }
.hero h1 .fix::after { transform:scaleX(0) rotate(-1deg); transform-origin:left center; animation:markerSweep .72s .64s cubic-bezier(.2,.8,.2,1) forwards; }

@keyframes phoneDrift {
  0%,100% { transform:translate3d(0,0,0) rotate(2deg); }
  50% { transform:translate3d(0,-8px,0) rotate(1.35deg); }
}
@media (min-width:769px) {
  .phone-card { animation:phoneDrift 8.5s ease-in-out infinite; }
}

/* hero automation card */
.phone-stage {
  position:relative;
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-inline:28px;
}
.phone-glow { display:none; }
.phone-card {
  position:relative;
  width:min(100%,440px);
  padding:12px;
  background:var(--ink);
  border:1.5px solid var(--ink);
  border-radius:30px;
  box-shadow:22px 24px 0 var(--acid), var(--shadow);
  transform:rotate(2deg);
}
.phone-notch { width:104px; height:20px; margin:4px auto 12px; border-radius:999px; background:#2c2c2c; border:1px solid #414141; }
.phone-screen { padding:25px 18px 20px; border-radius:21px; background:#fafaf6; min-height:500px; }
.phone-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:25px; }
.who { font-family:'Manrope',sans-serif; font-weight:800; font-size:.96rem; }
.who span { display:block; margin-top:3px; color:#83877f; font-family:'DM Sans',sans-serif; font-size:.7rem; font-weight:500; }
.save-timer { padding:6px 9px; border-radius:999px; color:#111; background:var(--acid); border:1px solid #97d51e; font-size:.7rem; font-weight:800; }
.thread { display:flex; flex-direction:column; gap:13px; min-height:388px; }
.msg { max-width:86%; padding:12px 14px; border-radius:15px; font-size:.87rem; line-height:1.45; opacity:0; transform:translateY(8px); }
.msg.show { opacity:1; transform:none; transition:.35s ease; }
.msg.sys { align-self:center; padding:7px 11px; color:#686b64; background:#fff; border:1px dashed #bfc1ba; font-size:.74rem; }
.msg.them { align-self:flex-start; background:#fff; border:1px solid #e3e3dc; border-bottom-left-radius:5px; }
.msg.bot { align-self:flex-end; color:#111; background:#dfffaa; border:1px solid #c5ed7d; border-bottom-right-radius:5px; }
.msg.booked { align-self:center; color:#111; background:var(--acid); border:1px solid #98d71f; font-weight:800; }
.msg .t { display:block; margin-top:5px; color:#7d8179; font-size:.65rem; }
.float-card {
  position:absolute;
  z-index:4;
  min-width:156px;
  max-width:180px;
  padding:13px 14px;
  background:#fff;
  border:1.5px solid var(--ink);
  border-radius:14px;
  box-shadow:7px 7px 0 rgba(17,17,17,.08);
  transform:translate3d(0,0,0) rotate(-2deg);
  transform-origin:center center;
  pointer-events:none;
  will-change:transform;
}
.float-card b { display:block; font-family:'Manrope',sans-serif; font-size:1.2rem; line-height:1.08; }
.float-card span { color:#64675f; font-size:.72rem; line-height:1.45; }
.float-bob { width:100%; height:100%; transform:none; }
.float-ico { display:block; margin-bottom:5px; color:#111; font-size:.92rem; }
.float-1 { top:128px; left:18px; transform:rotate(-2deg); }
.float-2 { top:270px; right:10px; transform:rotate(3deg); }
.float-3 { bottom:46px; left:22px; transform:rotate(1deg); }

@keyframes floatWiggle1 {
  0%, 100% { transform:translate3d(0,0,0) rotate(-2deg); }
  25% { transform:translate3d(0,-7px,0) rotate(-1deg); }
  50% { transform:translate3d(5px,-11px,0) rotate(-3deg); }
  75% { transform:translate3d(2px,-5px,0) rotate(-1.4deg); }
}
@keyframes floatWiggle2 {
  0%, 100% { transform:translate3d(0,0,0) rotate(3deg); }
  25% { transform:translate3d(-4px,-6px,0) rotate(2.2deg); }
  50% { transform:translate3d(-7px,-10px,0) rotate(3.7deg); }
  75% { transform:translate3d(-2px,-4px,0) rotate(2.6deg); }
}
@keyframes floatWiggle3 {
  0%, 100% { transform:translate3d(0,0,0) rotate(1deg); }
  25% { transform:translate3d(4px,-5px,0) rotate(1.8deg); }
  50% { transform:translate3d(7px,-9px,0) rotate(.2deg); }
  75% { transform:translate3d(2px,-4px,0) rotate(1.5deg); }
}

.stats {
  margin-top:86px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  background:var(--ink);
  color:#fff;
  border:1.5px solid var(--ink);
  border-radius:20px;
}
.stat { padding:27px 34px; }
.stat + .stat { border-left:1px solid #383838; }
.stat b { display:block; font-family:'Manrope',sans-serif; font-size:1.65rem; letter-spacing:-.045em; color:var(--acid); }
.stat span { color:#b9bbb5; font-size:.82rem; }

/* PROBLEM */
.problem { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.problem-head { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:54px; align-items:end; }
.problem-head .section-title { max-width:760px; }
.problem-copy { max-width:420px; }
.problem-copy .big-frac { font-family:'Manrope',sans-serif; font-size:1.45rem; line-height:1.22; font-weight:800; }
.problem-copy .big-frac::before { content:'↘'; display:block; margin-bottom:24px; color:var(--green); font-size:2.2rem; }
.problem-copy .big-frac small { display:block; margin-top:12px; color:#777a72; font-family:'DM Sans',sans-serif; font-size:1rem; line-height:1.65; font-weight:400; }
.problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:72px; }
.problem-item {
  min-height:330px;
  padding:30px;
  display:flex;
  flex-direction:column;
  background:var(--paper);
  border:1.5px solid var(--ink);
  border-radius:22px;
  box-shadow:6px 6px 0 var(--paper-2);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, background .28s ease;
}
.problem-item:hover { transform:translateY(-6px) rotate(-.25deg); box-shadow:9px 12px 0 var(--paper-2); background:#fff; }
.problem-num { transition:transform .3s cubic-bezier(.2,.8,.2,1), background .25s ease; }
.problem-item:hover .problem-num { transform:rotate(-8deg) scale(1.07); }
.problem-num { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border:1.5px solid var(--ink); border-radius:50%; background:var(--acid); font-family:'Manrope',sans-serif; font-size:.74rem; font-weight:800; }
.problem-item h3 { margin:82px 0 12px; font-size:1.48rem; line-height:1.08; }
.problem-item p { margin:0; color:#676a62; font-size:.96rem; }
.math-box {
  position:relative;
  margin-top:62px;
  max-width:none;
  padding:34px 40px 34px 120px;
  background:var(--acid);
  border:1.5px solid var(--ink);
  border-radius:20px;
  font-size:1.06rem;
  line-height:1.65;
}
.math-box::before { content:'10%'; position:absolute; left:32px; top:50%; transform:translateY(-50%); font-family:'Manrope',sans-serif; font-size:1.8rem; font-weight:800; }
.math-box b { color:var(--ink); }

/* SYSTEM */
.system { background:var(--paper); }
.system-head { display:flex; align-items:end; justify-content:space-between; gap:70px; }
.system-head .section-sub { max-width:390px; margin-bottom:6px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:70px; }
.card {
  min-height:285px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.card:nth-child(2), .card:nth-child(5) { background:#f0f0eb; }
.card:hover { transform:translateY(-7px); border-color:#b7b8b1; box-shadow:0 20px 46px rgba(17,17,17,.08); }
.card .ico { width:48px; height:48px; display:grid; place-items:center; margin-bottom:58px; background:var(--acid); border:1.5px solid var(--ink); border-radius:50%; font-size:1.18rem; transition:transform .32s cubic-bezier(.2,.8,.2,1); }
.card:hover .ico { transform:translateY(-3px) rotate(-7deg) scale(1.08); }
.card .more { transition:transform .22s ease, text-underline-offset .22s ease; }
.card:hover .more { transform:translateX(3px); text-underline-offset:5px; }
.card h3 { margin:0 0 12px; font-size:1.25rem; }
.card p { margin:0; color:#696c64; font-size:.94rem; }
.card .more { display:inline-block; margin-top:18px; font-weight:800; font-size:.86rem; text-decoration:underline; text-underline-offset:3px; }

/* PILOT / CTA */
.pilot {
  position:relative;
  overflow:hidden;
  background:var(--ink);
  color:#fff;
}
.pilot::after {
  content:'';
  position:absolute;
  width:430px;
  height:430px;
  right:-110px;
  top:-120px;
  border-radius:50%;
  border:80px solid rgba(184,255,56,.1);
}
.pilot .eyebrow { color:#fff; }
.pilot .eyebrow::before { box-shadow:0 0 0 5px rgba(184,255,56,.13); }
.pilot .section-sub { color:#adafa8; }
.pilot-quote { max-width:970px; margin:62px 0 0; font-family:'Manrope',sans-serif; font-size:clamp(2.05rem,4vw,4rem); line-height:1.08; font-weight:800; letter-spacing:-.05em; }
.pilot-quote b { color:var(--acid); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:72px; }
.step { padding:26px; border:1px solid #343434; border-radius:18px; background:#171717; transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, background .28s ease; }
.pilot .step:hover { transform:translateY(-5px); border-color:#72756d; background:#1c1c1c; }
.step .n { display:inline-block; margin-bottom:52px; color:var(--acid); font-size:.72rem; font-weight:800; letter-spacing:.14em; }
.step h3 { margin:0 0 12px; font-size:1.3rem; }
.step p { margin:0; color:#afb1aa; }
.pilot-note { margin:38px 0 0; color:#d6d8d0; font-size:.95rem; font-weight:700; }
.pilot .btn { margin-top:28px; background:var(--acid); color:var(--ink); border-color:var(--acid); box-shadow:none; }

/* HOW */
.how { background:#fff; }
.how-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:78px; border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); }
.how-steps .step { min-height:330px; padding:28px 26px 30px 0; border:0; border-radius:0; background:transparent; color:var(--ink); transition:background .28s ease, transform .28s cubic-bezier(.2,.8,.2,1); }
.how-steps .step:hover { transform:translateY(-4px); background:linear-gradient(180deg, rgba(184,255,56,.08), rgba(184,255,56,0)); }
.how-steps .step + .step { padding-left:26px; border-left:1px solid var(--line); }
.how-steps .step .n { margin-bottom:88px; color:var(--ink); }
.how-steps .step h3 { font-size:1.25rem; }
.how-steps .step p { color:#74776f; font-size:.93rem; }

/* ABOUT */
.about-section { background:var(--paper-2); }
.about-grid { display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr); gap:90px; align-items:center; }
.portrait-shell { position:relative; width:100%; max-width:520px; }
.portrait-shell::before { content:''; position:absolute; inset:-18px 20px 20px -18px; background:var(--acid); border:1.5px solid var(--ink); border-radius:24px; transition:transform .38s cubic-bezier(.2,.8,.2,1); }
.photo-img { position:relative; z-index:1; width:100%; height:auto !important; aspect-ratio:444 / 562; object-fit:cover; object-position:center top; border:1.5px solid var(--ink); border-radius:24px; box-shadow:none; filter:grayscale(1) contrast(1.02); transition:transform .38s cubic-bezier(.2,.8,.2,1), filter .38s ease; }
.portrait-shell:hover::before { transform:translate3d(-5px,5px,0) rotate(-.4deg); }
.portrait-shell:hover .photo-img { transform:translate3d(5px,-5px,0) rotate(.35deg); filter:grayscale(.9) contrast(1.04); }
.about .section-title { max-width:660px; }
.about p:not(.eyebrow) { color:#5f625b; font-size:1.01rem; margin-bottom:17px; }
.about p strong { color:var(--ink); }
.chip-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.chip { padding:7px 12px; border:1px solid #c6c7bf; background:#fff; border-radius:999px; color:#4f524b; font-size:.77rem; font-weight:700; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.chip:hover { transform:translateY(-3px); border-color:var(--ink); background:#fbfbf7; }

/* RESULTS */
.results { padding:100px 0; background:#fff; }
.results-panel { padding:70px 46px; border:1.5px solid var(--ink); border-radius:24px; background:var(--acid); text-align:center; box-shadow:10px 10px 0 var(--ink); transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease; }
.results-panel:hover { transform:translate(-2px,-3px); box-shadow:14px 15px 0 var(--ink); }
.results-panel .eyebrow::before { background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.35); }
.results-panel .section-title { max-width:none; font-size:clamp(2.35rem,4.8vw,4.5rem); }
.results-panel .section-sub { margin-left:auto; margin-right:auto; color:#35362f; }
.results .clutch-widget-wrap { display:flex; justify-content:center; margin-top:34px; }

/* FAQ */
.faq { background:var(--paper); padding-top:112px; }
.faq-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.faq details { border-top:1.5px solid #bfc0b9; }
.faq details:last-child { border-bottom:1.5px solid #bfc0b9; }
.faq summary { position:relative; list-style:none; cursor:pointer; padding:26px 48px 26px 0; font-family:'Manrope',sans-serif; font-size:1.07rem; font-weight:800; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary { transition:padding-left .2s ease, color .2s ease; }
.faq summary:hover { padding-left:7px; color:#000; }
.faq summary::after { content:'+'; position:absolute; right:0; top:19px; width:33px; height:33px; display:grid; place-items:center; background:#fff; border:1.5px solid var(--ink); border-radius:50%; font-size:1.2rem; font-weight:600; transition:transform .28s cubic-bezier(.2,.8,.2,1), background .25s ease; }
.faq summary:hover::after { transform:rotate(12deg) scale(1.06); }
.faq details[open] summary::after { content:'–'; background:var(--acid); transform:rotate(180deg); }
.faq details p { margin:0; padding:0 55px 28px 0; color:#656861; }

/* CONTACT */
.contact { background:var(--paper); padding-top:70px; }
.contact-grid {
  padding:70px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:start;
  background:#fff;
  border:1.5px solid var(--ink);
  border-radius:28px;
  box-shadow:10px 10px 0 var(--acid);
}
.contact .section-title { font-size:clamp(2.45rem,4.5vw,4.5rem); }
.whats { display:inline-flex; align-items:center; gap:8px; margin-top:26px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
form { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
form > * + * { margin-top:14px; }
label { display:block; margin-bottom:7px; color:#5d6058; font-size:.76rem; font-weight:800; }
input,textarea { width:100%; padding:14px 15px; color:var(--ink); background:var(--paper); border:1.5px solid #cfd0c9; border-radius:12px; outline:none; }
input:focus,textarea:focus { border-color:var(--ink); box-shadow:0 0 0 3px var(--acid-2); }
textarea { resize:vertical; }
form .btn { width:100%; border-radius:12px; background:var(--ink); }
.form-ok { display:none; margin:12px 0 0; color:var(--green); font-weight:800; }

/* FOOTER */
footer { padding:80px 0 28px; background:var(--paper); }
.foot-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; padding-top:42px; border-top:1.5px solid var(--ink); }
.foot-grid p { max-width:390px; margin:18px 0 0; color:#73766f; }
.foot-grid h4 { margin:0 0 18px; font-size:.86rem; letter-spacing:0; }
.foot-grid ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.foot-grid a:not(.brand) { color:#62655e; font-size:.88rem; }
.foot-grid a:hover { color:var(--ink); }
.foot-bottom { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:52px; padding-top:24px; border-top:1px solid var(--line); color:#888b84; font-size:.73rem; }
.foot-bottom .tag { color:#40423d; font-weight:800; letter-spacing:.06em; }

@media (max-width:1060px) {
  .hero-grid { grid-template-columns:1fr; gap:58px; }
  .hero h1 { max-width:900px; }
  .phone-stage { min-height:600px; max-width:660px; margin:0 auto; width:100%; }
  .problem-head,.faq-grid,.contact-grid,.about-grid { grid-template-columns:1fr; gap:54px; }
  .cards { grid-template-columns:repeat(2,1fr); }
  .how-steps { grid-template-columns:repeat(2,1fr); border-bottom:0; }
  .how-steps .step:nth-child(3) { border-left:0; border-top:1px solid var(--line); padding-left:0; }
  .how-steps .step:nth-child(4) { border-top:1px solid var(--line); }
  .contact-grid { padding:54px; }
  .nav-links { gap:18px; }
}
@media (max-width:800px) {
  html, body { width:100%; max-width:100%; overflow-x:clip; }
  .wrap { width:calc(100% - 30px); max-width:1180px; }
  .about-grid { overflow:visible; }
  .portrait-shell { max-width:520px; margin:0 auto; }
  .portrait-shell::before { inset:-12px 12px 12px -12px; }
  .photo-img { width:100%; height:auto !important; aspect-ratio:444 / 562; object-fit:cover; object-position:center top; }

  section { padding:88px 0; }
  nav { padding:8px 0; }
  .nav-inner { min-height:58px; }
  .nav-links { display:none; position:absolute; top:76px; left:15px; right:15px; padding:18px; background:#fff; border:1.5px solid var(--ink); border-radius:16px; flex-direction:column; align-items:stretch; box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .hamburger { display:block; }
  .hero { padding-top:66px; }
  .hero h1 { font-size:clamp(3rem,15vw,5.2rem); }
  .hero-grid { gap:30px; }
  .stats { grid-template-columns:1fr; margin-top:55px; }
  .stat + .stat { border-left:0; border-top:1px solid #383838; }
  .problem-grid,.steps,.cards { grid-template-columns:1fr; }
  .problem-item { min-height:auto; }
  .problem-item h3 { margin-top:54px; }
  .math-box { padding:78px 28px 28px; }
  .math-box::before { top:27px; left:28px; transform:none; }
  .system-head { display:block; }
  .system-head .section-sub { max-width:650px; }
  .phone-stage { min-height:auto; padding:30px 0 90px; }
  .phone-card { transform:none; box-shadow:12px 14px 0 var(--acid), var(--shadow); }
  .float-1 { left:0; top:20px; }
  .float-2 { right:0; top:180px; }
  .float-3 { left:10px; bottom:18px; }
  .how-steps { grid-template-columns:1fr; }
  .how-steps .step,.how-steps .step + .step,.how-steps .step:nth-child(3),.how-steps .step:nth-child(4) { min-height:auto; padding:28px 0; border-left:0; border-top:1px solid var(--line); }
  .how-steps .step:first-child { border-top:0; }
  .how-steps .step .n { margin-bottom:38px; }
  .results-panel { padding:50px 22px; box-shadow:7px 7px 0 var(--ink); }
  .contact-grid { padding:36px 26px; box-shadow:7px 7px 0 var(--acid); }
  .foot-grid { grid-template-columns:1fr; gap:34px; }
}
@media (max-width:560px) {
  .wrap { width:calc(100% - 24px); max-width:1180px; }
  .portrait-shell { width:calc(100% - 8px); max-width:440px; margin:0 auto; }
  .portrait-shell::before { inset:-8px 8px 8px -8px; border-radius:20px; }
  .photo-img { width:100%; height:auto !important; aspect-ratio:444 / 562; object-fit:cover; object-position:center top; border-radius:20px; }

  section { padding:72px 0; }
  .hero { padding-top:52px; }
  .hero h1 { font-size:clamp(2.75rem,15vw,4.4rem); }
  .hero-sub { font-size:1rem; }
  .hero-ctas { flex-direction:column; align-items:stretch; }
  .btn { width:100%; }
  .phone-card { border-radius:23px; padding:9px; }
  .phone-screen { padding:20px 12px; }
  .float-card { display:none; }
  .frow { grid-template-columns:1fr; }
  .section-title { font-size:clamp(2rem,9vw,3rem); line-height:1.03; }
  .contact-grid { padding:30px 20px; }
}



@media (hover:none) {
  .problem-item:hover,.card:hover,.pilot .step:hover,.how-steps .step:hover,.portrait-shell:hover .photo-img,.portrait-shell:hover::before,.chip:hover,.results-panel:hover,.btn:hover { transform:none; }
}
@media (max-width:768px) {
  .phone-card { animation:none !important; }
}

@media (hover:none), (pointer:coarse) {
  .cursor-glow { display:none !important; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn,.card,.msg,.problem-item,.step,.photo-img,.portrait-shell::before,.chip,.results-panel,.nav-inner,.faq summary,.faq summary::after { transition:none !important; }
  .msg,.motion-reveal,.hero .eyebrow,.hero h1,.hero-sub,.hero-ctas,.pilot-link,.hero-proof,.phone-stage { opacity:1 !important; transform:none !important; animation:none !important; }
  .hero h1 .fix::after,.phone-card { animation:none !important; }
  .hero h1 .fix::after { transform:rotate(-1deg) !important; }
}





/* ---------- SCROLL REVEALS ---------- */
.motion-reveal {
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:
    opacity .72s cubic-bezier(.2,.75,.25,1) var(--motion-delay,0ms),
    transform .72s cubic-bezier(.2,.75,.25,1) var(--motion-delay,0ms);
}
.motion-reveal.motion-left { transform:translate3d(-28px,0,0); }
.motion-reveal.motion-right { transform:translate3d(28px,0,0); }
.motion-reveal.motion-scale { transform:translate3d(0,14px,0) scale(.975); }
.motion-reveal.is-visible { opacity:1; transform:translate3d(0,0,0) scale(1); }

/* ---------- CURSOR GLOW ---------- */
.cursor-glow {
  position: fixed;
  left: 0;
  top: 0;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  transform: translate3d(-500px, -500px, 0);
  background: radial-gradient(
    circle,
    rgba(184, 255, 56, .68) 0%,
    rgba(184, 255, 56, .42) 28%,
    rgba(184, 255, 56, .18) 52%,
    rgba(184, 255, 56, 0) 74%
  );
  filter: blur(18px);
  will-change: transform, opacity;
  transition: opacity .22s ease;
  mix-blend-mode: multiply;
}
body.cursor-active .cursor-glow { opacity: .72; }
body.cursor-over-action .cursor-glow { scale:.72; opacity:.55; }




