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

:root{
  --ink:#0f1023;
  --ink2:#161831;
  --ink3:#1c1e3d;
  --surface:#23264a;
  --surface2:#2a2d56;
  --navy:#27294e;
  --logo-navy:#2c2f4c;
  --orange:#fa8714;
  --orange2:#fb942d;
  --orange-logo:#f99426;
  --orange-dim:rgba(250,135,20,0.09);
  --orange-line:rgba(250,135,20,0.28);
  --gold:#e4c08d;
  --bone:#f5f3ef;
  --border:rgba(245,243,239,0.07);
  --border2:rgba(245,243,239,0.12);
  --border3:rgba(245,243,239,0.2);
  --t:#f5f3ef;
  --t2:#a9abc4;
  --t3:#6b6e93;
  --t4:#40436b;
  --fd:'Archivo',sans-serif;
  --fb:'IBM Plex Sans',sans-serif;
  --fm:'IBM Plex Mono',monospace;
}

html{scroll-behavior:smooth;}
body{
  font-family:var(--fb);
  background:var(--ink);
  color:var(--t);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* survey dot-grid — rhymes with the app's blueprint dot motif */
body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:radial-gradient(rgba(245,243,239,0.045) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
  z-index:0;
}

a{color:inherit;text-decoration:none;}
a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px;}

.display{
  font-family:var(--fd);
  font-stretch:68%;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-0.01em;
}

/* ---------- nav ---------- */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(15,16,35,0.85);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  height:62px;display:flex;align-items:center;gap:1.5rem;
}
.nav-brand{display:flex;align-items:center;gap:0.6rem;}
.nav-brand .logo-mark{width:34px;height:34px;display:block;}
.wordmark{
  font-family:var(--fd);font-stretch:80%;font-weight:700;
  font-size:1.05rem;letter-spacing:0.01em;color:var(--t);
  white-space:nowrap;
}
.wordmark em{font-style:normal;color:var(--orange-logo);}
.nav-sep{flex:1;}
.nav-links{display:flex;align-items:center;gap:0.25rem;}
.nav-link{
  font-family:var(--fm);font-size:0.72rem;font-weight:400;
  color:var(--t3);padding:0.35rem 0.75rem;border-radius:5px;
  transition:color 0.15s;letter-spacing:0.02em;
}
.nav-link:hover{color:var(--t2);}
.nav-cta-ghost{
  font-family:var(--fm);font-size:0.72rem;font-weight:500;
  color:var(--t2);padding:0.4rem 1rem;border:1px solid var(--border2);
  border-radius:5px;transition:color 0.15s,border-color 0.15s;letter-spacing:0.02em;
  white-space:nowrap;
}
.nav-cta-ghost:hover{color:var(--t);border-color:var(--border3);}
.nav-cta{
  font-family:var(--fm);font-size:0.72rem;font-weight:600;
  color:var(--ink);padding:0.4rem 1.1rem;
  background:var(--orange);border-radius:5px;
  transition:background 0.15s;letter-spacing:0.02em;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--orange2);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:80px 0 100px;
  overflow:hidden;
  z-index:1;
}
.hero-glow{
  position:absolute;
  top:-120px;left:50%;transform:translateX(-50%);
  width:1100px;height:640px;
  background:radial-gradient(ellipse at center,rgba(250,135,20,0.08) 0%,transparent 65%);
  pointer-events:none;
}
.hero-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr 500px;
  gap:4rem;align-items:center;
  position:relative;z-index:2;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--fm);font-size:0.65rem;font-weight:500;
  color:var(--t3);letter-spacing:0.12em;text-transform:uppercase;
  background:var(--orange-dim);
  border:1px solid var(--orange-line);
  border-radius:100px;padding:0.3rem 0.875rem;
  margin-bottom:1.75rem;
}
.pill-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--orange);
  animation:breathe 2s ease infinite;
}
@keyframes breathe{0%,100%{opacity:1;}50%{opacity:0.35;}}

.hero-h1{
  font-size:clamp(3rem,6.5vw,5.4rem);
  line-height:0.95;
  color:var(--t2);
  margin-bottom:1.5rem;
}
.hero-h1 .win{display:block;color:var(--t);}
.hero-h1 .margin{display:block;color:var(--orange);}

.hero-sub{
  font-size:1.08rem;font-weight:400;
  color:var(--t2);line-height:1.7;
  max-width:520px;margin-bottom:2.5rem;
}
.hero-ctas{display:flex;align-items:center;gap:0.875rem;flex-wrap:wrap;}
.cta-primary{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--fd);font-stretch:75%;font-size:1rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.06em;
  color:var(--ink);
  background:var(--orange);
  padding:0.875rem 2rem;border-radius:6px;
  transition:background 0.18s,transform 0.18s;
}
.cta-primary:hover{background:var(--orange2);transform:translateY(-1px);}
.cta-primary svg{width:16px;height:16px;flex-shrink:0;}
.cta-secondary{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--fd);font-stretch:75%;font-size:1rem;font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;
  color:var(--t2);
  background:transparent;
  border:1px solid var(--border2);
  padding:0.875rem 2rem;border-radius:6px;
  transition:color 0.18s,border-color 0.18s;
}
.cta-secondary:hover{color:var(--t);border-color:var(--border3);}
.hero-note{
  display:flex;align-items:center;gap:0.4rem;
  margin-top:1.25rem;
  font-family:var(--fm);font-size:0.65rem;color:var(--t4);
}
.hero-note span{color:var(--t3);}

/* plan-sheet hero visual */
.hero-visual{
  background:var(--ink2);
  border:1px solid var(--border2);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,0.5),0 0 0 1px var(--border);
  animation:float 7s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.hero-visual svg{display:block;width:100%;height:auto;}
.sheet-mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.08em;}
.sheet-display{font-family:'Archivo',sans-serif;font-stretch:75%;font-weight:800;letter-spacing:0.04em;}
.grade-draw{stroke-dasharray:480;stroke-dashoffset:480;animation:draw 2.2s ease 0.4s forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.hatch-fade{opacity:0;animation:appear 0.8s ease 2.2s forwards;}
@keyframes appear{to{opacity:1;}}

/* ---------- marquee strip ---------- */
.strip{
  position:relative;z-index:1;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--ink2);
  padding:0.75rem 0;
  overflow:hidden;
}
.strip-track{
  display:flex;gap:3rem;
  animation:marquee 30s linear infinite;
  white-space:nowrap;
  width:max-content;
}
.strip-item{
  display:flex;align-items:center;gap:0.6rem;
  font-family:var(--fm);font-size:0.65rem;font-weight:500;
  color:var(--t3);text-transform:uppercase;letter-spacing:0.1em;
  flex-shrink:0;
}
.strip-item::before{
  content:'';width:4px;height:4px;border-radius:50%;
  background:var(--orange);opacity:0.6;
}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ---------- sections shared ---------- */
.section-eyebrow{
  font-family:var(--fm);font-size:0.65rem;font-weight:500;
  color:var(--orange);letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:0.875rem;
  display:flex;align-items:center;gap:0.5rem;
}
.section-eyebrow::before{
  content:'';display:inline-block;width:24px;height:1px;background:var(--orange);
}
.section-title{
  font-family:var(--fd);font-stretch:68%;
  font-size:clamp(2rem,4vw,3.25rem);
  font-weight:800;text-transform:uppercase;letter-spacing:-0.01em;
  color:var(--t);margin-bottom:1rem;line-height:1;
}
.section-sub{
  font-size:1rem;color:var(--t2);line-height:1.7;
  max-width:540px;margin-bottom:4rem;
}

/* ---------- features ---------- */
.features{position:relative;z-index:1;padding:100px 0;}
.features-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.feat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
}
.feat-card{
  background:var(--ink2);
  padding:2rem 1.75rem;
  position:relative;overflow:hidden;
  transition:background 0.2s;cursor:default;
}
.feat-card:hover{background:var(--ink3);}
.feat-card.wide{grid-column:span 2;}
.feat-code{
  font-family:var(--fm);font-size:0.6rem;font-weight:500;
  color:var(--t4);letter-spacing:0.12em;margin-bottom:1rem;text-transform:uppercase;
}
.feat-icon{
  width:42px;height:42px;border-radius:8px;
  background:var(--orange-dim);border:1px solid rgba(250,135,20,0.16);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;
}
.feat-icon svg{width:20px;height:20px;stroke:var(--orange2);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.feat-title{font-family:var(--fd);font-stretch:85%;font-size:1.12rem;font-weight:700;color:var(--t);margin-bottom:0.65rem;}
.feat-desc{font-size:0.88rem;color:var(--t2);line-height:1.65;margin-bottom:1rem;}
.feat-tag{
  font-family:var(--fm);font-size:0.6rem;font-weight:500;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--orange2);background:var(--orange-dim);
  border:1px solid rgba(250,135,20,0.18);
  border-radius:4px;padding:0.18rem 0.55rem;
  display:inline-block;
}
.feat-card.wide .feat-inner{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;}
.feat-visual{
  background:var(--surface);border:1px solid var(--border);
  border-radius:8px;overflow:hidden;margin-top:0.5rem;
}
.fv-header{
  padding:0.5rem 0.75rem;border-bottom:1px solid var(--border);
  font-family:var(--fm);font-size:0.58rem;color:var(--t4);
  display:flex;align-items:center;gap:0.5rem;
  text-transform:uppercase;letter-spacing:0.08em;
}
.fv-dot-b{width:5px;height:5px;border-radius:50%;background:var(--orange);}
.fv-row{
  display:flex;align-items:center;gap:0.6rem;
  padding:0.5rem 0.75rem;border-bottom:1px solid var(--border);
}
.fv-row:last-child{border-bottom:none;}
.fv-name{font-size:0.7rem;color:var(--t2);flex:1;}
.fv-bar{width:76px;height:3px;background:var(--ink);border-radius:2px;overflow:hidden;flex-shrink:0;}
.fv-fill{height:100%;border-radius:2px;}
.fv-tag{font-family:var(--fm);font-size:0.54rem;font-weight:600;padding:0.12rem 0.4rem;border-radius:3px;text-transform:uppercase;letter-spacing:0.05em;flex-shrink:0;}

/* ---------- field band ---------- */
.field-section{
  position:relative;z-index:1;
  padding:100px 0;
  background:var(--ink2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.field-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr 340px;
  gap:5rem;align-items:center;
}
.field-left{display:flex;flex-direction:column;align-items:flex-start;}
.field-title{
  font-family:var(--fd);font-stretch:68%;
  font-size:clamp(2.8rem,5vw,4.4rem);
  font-weight:800;line-height:0.95;letter-spacing:-0.02em;
  color:var(--t);text-transform:uppercase;margin-bottom:1.5rem;
}
.field-accent{color:var(--orange);}
.field-sub{
  font-size:1rem;color:var(--t2);line-height:1.7;
  max-width:480px;margin-bottom:2.5rem;
}
.field-features{list-style:none;display:flex;flex-direction:column;gap:1.25rem;}
.field-feature{display:flex;align-items:flex-start;gap:0.875rem;}
.ff-check{
  flex-shrink:0;
  width:20px;height:20px;border-radius:50%;
  background:var(--orange-dim);
  border:1px solid var(--orange-line);
  display:flex;align-items:center;justify-content:center;
  margin-top:2px;
}
.ff-check svg{width:10px;height:10px;}
.ff-title{font-size:0.9rem;font-weight:600;color:var(--t);margin-bottom:0.2rem;}
.ff-desc{font-size:0.82rem;color:var(--t2);line-height:1.5;}
.field-right{display:flex;align-items:center;justify-content:center;}

/* stylized phone — skeleton blocks only, no data */
.phone-wrap{
  filter:drop-shadow(0 40px 80px rgba(0,0,0,0.6)) drop-shadow(0 0 60px rgba(250,135,20,0.12));
  transform:perspective(1400px) rotateY(-6deg);
  transition:transform 0.4s ease;
}
.phone-wrap:hover{transform:perspective(1400px) rotateY(0deg);}
.phone{
  width:260px;height:520px;
  background:var(--ink);
  border:1px solid var(--border3);
  border-radius:36px;
  padding:14px;
  position:relative;
}
.phone::before{
  content:'';position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:84px;height:20px;background:var(--ink);border:1px solid var(--border2);
  border-radius:12px;z-index:2;
}
.phone-screen{
  width:100%;height:100%;
  background:var(--ink2);
  border-radius:24px;
  overflow:hidden;
  display:flex;flex-direction:column;
  padding:2.6rem 1rem 1rem;
  gap:0.75rem;
}
.ps-label{font-family:var(--fm);font-size:0.55rem;color:var(--t4);text-transform:uppercase;letter-spacing:0.12em;}
.ps-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0.75rem;}
.ps-line{height:7px;border-radius:4px;background:var(--t4);opacity:0.55;margin-bottom:6px;}
.ps-line.short{width:55%;}
.ps-line.mid{width:78%;}
.ps-line:last-child{margin-bottom:0;}
.ps-clock{
  margin-top:auto;
  font-family:var(--fd);font-stretch:75%;font-weight:700;font-size:0.95rem;
  text-transform:uppercase;letter-spacing:0.06em;
  color:var(--ink);background:var(--orange);
  border-radius:10px;padding:0.85rem;text-align:center;
}
.ps-note{font-family:var(--fm);font-size:0.5rem;color:var(--t4);text-align:center;letter-spacing:0.1em;text-transform:uppercase;}

/* ---------- positioning band ---------- */
.proof{
  position:relative;z-index:1;padding:80px 0;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--ink2);
}
.proof-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.proof-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;}
.proof-quote{
  font-family:var(--fd);font-stretch:68%;
  font-size:clamp(1.4rem,3vw,2.3rem);
  font-weight:700;text-transform:uppercase;
  color:var(--t);line-height:1.15;letter-spacing:-0.01em;margin-bottom:1.5rem;
}
.proof-quote em{color:var(--orange);font-style:normal;}
.proof-attr{
  font-family:var(--fm);font-size:0.68rem;color:var(--t3);letter-spacing:0.06em;
  display:flex;align-items:center;gap:0.75rem;
}
.proof-attr::before{content:'';display:inline-block;width:20px;height:1px;background:var(--t3);flex-shrink:0;}
.proof-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--border);border-radius:10px;overflow:hidden;
}
.proof-stat{
  padding:1.75rem 1.25rem;border-right:1px solid var(--border);
  background:var(--surface);transition:background 0.15s;cursor:default;
}
.proof-stat:last-child{border-right:none;}
.proof-stat:hover{background:var(--surface2);}
.ps-val{
  font-family:var(--fd);font-stretch:68%;font-size:2.1rem;font-weight:800;
  text-transform:uppercase;letter-spacing:-0.02em;
  color:var(--t);line-height:1;margin-bottom:0.35rem;
}
.ps-val.accent{color:var(--orange);}
.ps-cap{font-family:var(--fm);font-size:0.6rem;color:var(--t3);text-transform:uppercase;letter-spacing:0.1em;line-height:1.45;}

/* ---------- how ---------- */
.how{position:relative;z-index:1;padding:100px 0;}
.how-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.how-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;
  margin-top:4rem;
}
.how-step{background:var(--ink2);padding:2rem 1.5rem;position:relative;transition:background 0.18s;}
.how-step:hover{background:var(--ink3);}
.how-step-num{
  font-family:var(--fd);font-stretch:68%;font-size:3.4rem;font-weight:800;
  color:var(--t4);line-height:1;margin-bottom:1rem;letter-spacing:-0.04em;
  transition:color 0.18s;
}
.how-step:hover .how-step-num{color:var(--orange);}
.how-step-title{font-family:var(--fd);font-stretch:85%;font-size:1rem;font-weight:700;color:var(--t);margin-bottom:0.5rem;}
.how-step-desc{font-size:0.85rem;color:var(--t2);line-height:1.6;}
.how-connector{
  position:absolute;top:50%;right:0;transform:translateY(-50%);
  width:0;height:0;
  border-top:8px solid transparent;border-bottom:8px solid transparent;
  border-left:8px solid var(--border3);z-index:5;
}
.how-step:last-child .how-connector{display:none;}

/* ---------- pricing / support / resources ---------- */
.pricing{position:relative;z-index:1;padding:100px 0;border-top:1px solid var(--border);}
.pricing-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.pricing-box{
  border:1px solid var(--border2);border-radius:14px;
  background:var(--ink2);
  padding:3.5rem 3rem;
  display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;
}
.pricing-copy p{font-size:1rem;color:var(--t2);line-height:1.7;max-width:520px;}
.pricing-copy .section-title{margin-bottom:1.25rem;}
.pricing-points{list-style:none;display:flex;flex-direction:column;gap:1rem;}
.pricing-point{
  display:flex;gap:0.75rem;align-items:flex-start;
  font-size:0.9rem;color:var(--t2);line-height:1.55;
}
.pricing-point::before{
  content:'';flex-shrink:0;margin-top:7px;
  width:6px;height:6px;background:var(--orange);
  transform:rotate(45deg);
}
.pricing-point strong{color:var(--t);font-weight:600;}
.pricing-cta{margin-top:2rem;}

.duo{position:relative;z-index:1;padding:0 0 100px;}
.duo-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
}
.duo-card{
  border:1px solid var(--border);border-radius:12px;
  background:var(--ink2);padding:2.5rem 2.25rem;
}
.duo-card h3{
  font-family:var(--fd);font-stretch:75%;font-size:1.5rem;font-weight:800;
  text-transform:uppercase;color:var(--t);margin:0.875rem 0 0.75rem;
}
.duo-card p{font-size:0.92rem;color:var(--t2);line-height:1.7;}
.duo-card p + p{margin-top:0.75rem;}
.duo-eyebrow{
  font-family:var(--fm);font-size:0.62rem;font-weight:500;
  color:var(--orange);letter-spacing:0.14em;text-transform:uppercase;
}
.duo-link{color:var(--orange2);border-bottom:1px solid var(--orange-line);transition:border-color 0.15s;}
.duo-link:hover{border-color:var(--orange2);}

/* ---------- cta ---------- */
.cta-section{position:relative;z-index:1;padding:100px 0;border-top:1px solid var(--border);}
.cta-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.cta-box{
  background:var(--ink2);border:1px solid var(--border);border-radius:16px;
  padding:5rem 4rem;text-align:center;position:relative;overflow:hidden;
}
.cta-box::before{
  content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:700px;height:400px;
  background:radial-gradient(ellipse at center,rgba(250,135,20,0.1) 0%,transparent 65%);
  pointer-events:none;
}
.cta-box::after{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(245,243,239,0.05) 1px,transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,black,transparent);
  mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,black,transparent);
  pointer-events:none;
}
.cta-box-content{position:relative;z-index:2;}
.cta-eyebrow{
  font-family:var(--fm);font-size:0.65rem;font-weight:500;
  color:var(--orange);letter-spacing:0.12em;text-transform:uppercase;
  margin-bottom:1.25rem;
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
}
.cta-eyebrow::before,.cta-eyebrow::after{content:'';display:inline-block;width:32px;height:1px;background:var(--orange-line);}
.cta-title{
  font-family:var(--fd);font-stretch:68%;
  font-size:clamp(2rem,5vw,4rem);
  font-weight:800;text-transform:uppercase;letter-spacing:-0.02em;
  color:var(--t);margin-bottom:1rem;line-height:1;
}
.cta-sub{font-size:1rem;color:var(--t2);line-height:1.7;max-width:480px;margin:0 auto 2.5rem;}
.cta-btns{display:flex;align-items:center;justify-content:center;gap:0.875rem;flex-wrap:wrap;}
.cta-note{font-family:var(--fm);font-size:0.63rem;color:var(--t4);margin-top:1.25rem;display:flex;align-items:center;justify-content:center;gap:0.4rem;}

/* ---------- footer ---------- */
footer{position:relative;z-index:1;border-top:1px solid var(--border);padding:2.25rem 0;background:var(--ink);}
.footer-inner{
  max-width:1200px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.footer-brand{display:flex;align-items:center;gap:0.5rem;}
.footer-brand .logo-mark{width:22px;height:22px;}
.footer-brand .wordmark{font-size:0.85rem;}
.footer-copy{font-family:var(--fm);font-size:0.62rem;color:var(--t4);}
.footer-links{display:flex;align-items:center;gap:1.25rem;}
.footer-link{font-family:var(--fm);font-size:0.63rem;color:var(--t3);transition:color 0.12s;}
.footer-link:hover{color:var(--t2);}
.footer-legal{
  max-width:1200px;margin:1.25rem auto 0;padding:0 1.5rem;
  font-family:var(--fm);font-size:0.58rem;color:var(--t4);line-height:1.6;
}

/* ---------- reveal ---------- */
.fade-up{opacity:1;transform:none;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:3rem;}
  .hero-visual{max-width:560px;}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .feat-card.wide{grid-column:span 2;}
  .feat-card.wide .feat-inner{grid-template-columns:1fr;}
  .field-inner{grid-template-columns:1fr;gap:3.5rem;}
  .proof-grid{grid-template-columns:1fr;gap:2.5rem;}
  .how-steps{grid-template-columns:1fr 1fr;}
  .how-connector{display:none;}
  .pricing-box{grid-template-columns:1fr;padding:2.75rem 2rem;}
  .duo-inner{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .nav-links{display:none;}
  .feat-grid{grid-template-columns:1fr;}
  .feat-card.wide{grid-column:span 1;}
  .how-steps{grid-template-columns:1fr;}
  .proof-stats{grid-template-columns:1fr;}
  .proof-stat{border-right:none;border-bottom:1px solid var(--border);}
  .proof-stat:last-child{border-bottom:none;}
  .cta-box{padding:3.5rem 1.5rem;}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero-visual{animation:none;}
  .strip-track{animation:none;}
  .pill-dot{animation:none;}
  .grade-draw{animation:none;stroke-dashoffset:0;}
  .hatch-fade{animation:none;opacity:1;}
  .fade-up{opacity:1;transform:none;transition:none;}
  .phone-wrap{transform:none;}
}

/* Real deployed screens in the original navy/orange layout. */
.app-screen{display:block;color:var(--t);border:1px solid var(--border2);border-radius:8px;overflow:hidden;background:var(--ink);text-decoration:none;min-width:0;}
.app-screen img{display:block;width:100%;height:auto;}
.screen-caption{display:flex;justify-content:space-between;padding:.75rem 1rem;font-family:var(--fm);font-size:.68rem;color:var(--orange2);}
.screen-note{padding:0 1rem 1rem;font-size:.7rem;color:var(--t3);}
.hero-visual{animation:none;}
.feat-card>.app-screen{margin-top:1.5rem;}
.feat-inner>*{min-width:0;}
.phone-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;transform:none;max-width:550px;}
.phone{width:auto;height:auto;max-width:260px;padding:8px;border-radius:28px;}
.phone::before{display:none;}
.phone .app-screen{border-radius:20px;}
.phone .screen-caption{font-size:.65rem;}
.mobile-today-link{grid-column:1/-1;color:var(--orange2);font-size:.8rem;text-align:center;padding:.75rem;}
.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;padding:1rem;background:var(--orange);color:var(--ink);}
.skip-link:focus{top:1rem;}
:focus-visible{outline:2px solid var(--orange);outline-offset:4px;}
#screenshot-dialog{margin:auto;width:min(1500px,95vw);max-height:94vh;border:1px solid var(--border3);border-radius:12px;background:var(--ink2);color:var(--t);padding:1rem;overflow:auto;}
#screenshot-dialog::backdrop{background:rgba(0,0,0,.85);}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.dialog-header h2{font-size:1rem;}
#close-screenshot{padding:.75rem 1rem;border:1px solid var(--border3);border-radius:6px;background:var(--ink3);color:var(--t);cursor:pointer;}
#screenshot-image{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;margin:auto;}
#screenshot-original{display:inline-block;padding:1rem;color:var(--orange2);}
@media(max-width:1024px){.nav-inner{height:auto;min-height:62px;padding-top:.75rem;padding-bottom:.75rem;flex-wrap:wrap;gap:1rem;}.nav-links{order:3;width:100%;justify-content:space-between;}.nav-sep{display:none;}.nav-brand{margin-right:auto;}}
@media(max-width:720px){.nav-inner{height:auto;min-height:62px;padding-top:.75rem;padding-bottom:.75rem;flex-wrap:wrap;gap:.75rem;}.nav-links{display:flex;order:3;width:100%;justify-content:space-between;}.nav-sep{display:none;}.nav-cta{padding:.55rem .75rem;}.nav-brand{margin-right:auto;}.nav-link{font-size:.7rem;} .phone-wrap{gap:.75rem;} .phone{padding:5px;} .phone .screen-caption{padding:.6rem;font-size:.55rem;}}
