/* Homepage-only styles (the shared nav, buttons, FAQ and footer live in
   styles.css, which every page loads). Mobile-first: base rules are the
   phone layout, min-width queries add the desktop one. */

.h-sec{padding:72px 0;}
.h-sec + .h-sec{border-top:1px solid var(--border-soft);}
.h-head{display:flex; flex-direction:column; gap:14px; max-width:720px; margin-bottom:36px;}
.h-head h2{font-size:clamp(34px, 7vw, 52px);}
.h-head p{color:var(--dim); font-size:17px; max-width:62ch;}
.num{font-family:var(--mono); font-variant-numeric:tabular-nums;}
.fg{color:var(--green-bright);}
.pk{color:var(--pink);}

/* ---------- hero ---------- */
.h-hero{padding:40px 0 56px; background:radial-gradient(ellipse 900px 520px at 85% 0%, rgba(63,185,80,.13), transparent 60%);}
.h-hero-grid{display:grid; gap:36px;}
.h-hero h1{font-size:clamp(48px, 11vw, 84px); line-height:.95; margin-top:16px;}
.h-hero .lead{font-size:18px; color:var(--dim); margin-top:18px; max-width:52ch;}
.h-hero .lead b{color:var(--text); font-weight:600;}
.h-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
.h-ctas .btn{font-size:16px; padding:15px 24px;}
.h-trust{list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--dim);}
.h-trust li{display:flex; align-items:center; gap:7px;}
.h-trust li::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--green);}
.h-note{font-size:13px; color:var(--dimmer); margin-top:14px;}
.h-note a{color:var(--dim);}

/* phones and tablets get "send it to my PC"; mouse/trackpad devices get the download */
.for-touch{display:none;}
@media (hover:none) and (pointer:coarse){
  .for-desktop{display:none !important;}
  .for-touch{display:flex;}
}
.touch-box{flex-direction:column; gap:10px; width:100%;}
.touch-box .btn{justify-content:center;}
.touch-box .small{font-size:13px; color:var(--dimmer); text-align:center;}
.touch-box .small a{color:var(--dim);}
.copied{color:var(--green-bright) !important;}

.frame{background:var(--bg2); border:1px solid var(--border); border-radius:12px; overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.8);}
.frame .frame-bar{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 14px;
  border-bottom:1px solid var(--border-soft); font-family:var(--mono); font-size:11.5px; color:var(--dimmer);}
.frame .dots{display:flex; gap:6px;}
.frame .dots span{width:9px; height:9px; border-radius:50%; background:var(--bg4);}
.frame img, .frame picture{display:block; width:100%; height:auto;}
.caption{font-size:13px; color:var(--dimmer); margin-top:10px;}

/* ---------- proof strip ---------- */
.h-proof{border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); background:var(--bg2);}
.h-proof .wrap{display:grid; gap:18px; padding-top:22px; padding-bottom:22px;}
.rooms{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.rooms .lbl{font-family:var(--mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--dimmer); margin-right:6px;}
.rooms span.room{border:1px solid var(--border); border-radius:999px; padding:5px 12px; font-size:13.5px; color:var(--dim); background:var(--bg3);}
.facts{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;}
.facts div{display:flex; flex-direction:column; gap:2px;}
.facts b{font-family:var(--display); font-size:30px; line-height:1; font-weight:800;}
.facts span{font-size:13px; color:var(--dim);}

/* ---------- story ---------- */
.story{display:grid; gap:14px; counter-reset:step;}
.story .q{background:var(--bg2); border:1px solid var(--border-soft); border-radius:12px; padding:18px 20px;}
.story .q b{display:block; font-family:var(--display); font-size:24px; margin-bottom:4px;}
.story .q p{color:var(--dim); font-size:15.5px;}
.story .q.turn{border-color:rgba(63,185,80,.45); background:linear-gradient(0deg, rgba(63,185,80,.07), rgba(63,185,80,.07)), var(--bg2);}

/* ---------- workflow demo ---------- */
.flow{display:grid; gap:28px;}
.steps{list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:s;}
.steps li{counter-increment:s; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; align-items:start;}
.steps li::before{content:counter(s); font-family:var(--mono); font-weight:600; font-size:13px; color:#04150a; background:var(--green);
  width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-top:2px;}
.steps b{display:block; font-size:16.5px;}
.steps span{color:var(--dim); font-size:15px;}
.leak-callout{margin-top:6px; background:var(--bg3); border:1px solid var(--border); border-left:3px solid var(--pink); border-radius:8px; padding:12px 14px; font-size:14.5px;}
.leak-callout .num{font-weight:600;}

/* ---------- difference ---------- */
.diff{display:grid; gap:16px;}
.diff .col{background:var(--bg2); border:1px solid var(--border-soft); border-radius:12px; padding:22px 22px 18px;}
.diff .col.pf{border-color:rgba(63,185,80,.5);}
.diff h3{font-size:28px; margin-bottom:12px;}
.diff ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.diff li{padding-left:24px; position:relative; font-size:15.5px; color:var(--dim);}
.diff li b{color:var(--text); font-weight:600;}
.diff .col li::before{content:"—"; position:absolute; left:0; color:var(--dimmer);}
.diff .col.pf li::before{content:"✓"; color:var(--green-bright); font-weight:700;}
.limits{margin-top:18px; border:1px dashed var(--border); border-radius:12px; padding:18px 20px;}
.limits h3{font-size:22px; margin-bottom:8px;}
.limits ul{margin:0; padding-left:18px; display:grid; gap:6px; color:var(--dim); font-size:15px;}

/* ---------- outcomes (features) ---------- */
.outcomes{display:grid; gap:56px;}
.oc{display:grid; gap:22px; align-items:center;}
.oc .kick{font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--green-bright); font-weight:600;}
.oc h3{font-size:clamp(30px, 6vw, 40px); margin:10px 0 12px;}
.oc .problem{color:var(--dim); font-size:16px; margin-bottom:12px;}
.oc ul{margin:0; padding-left:18px; display:grid; gap:6px; font-size:15.5px;}
.oc ul li::marker{color:var(--green);}
.oc .fine{font-size:13px; color:var(--dimmer); margin-top:10px;}
.stack{display:grid; gap:12px;}

/* ---------- privacy ---------- */
.priv{display:grid; gap:24px;}
.priv .big{font-family:var(--display); font-weight:800; font-size:clamp(40px, 9vw, 64px); line-height:.95;}
.priv-list{display:grid; gap:10px; grid-template-columns:minmax(0,1fr);}
.priv-list div{background:var(--bg2); border:1px solid var(--border-soft); border-radius:10px; padding:14px 16px;}
.priv-list b{display:block; font-size:16px;}
.priv-list span{color:var(--dim); font-size:14.5px;}
.priv .honest{font-size:14px; color:var(--dimmer); max-width:70ch;}
.priv .honest a{color:var(--dim);}

/* ---------- founder ---------- */
.founder{max-width:760px;}
.founder blockquote{margin:0; font-size:clamp(19px, 3.6vw, 23px); line-height:1.5; color:var(--text);}
.founder blockquote p + p{margin-top:14px;}
.founder .who{margin-top:18px; color:var(--dim); font-size:15px;}
.founder .who a{color:var(--green-bright);}

/* ---------- beta ---------- */
.beta{background:linear-gradient(180deg, rgba(63,185,80,.08), transparent), var(--bg2); border:1px solid rgba(63,185,80,.35); border-radius:16px; padding:28px 22px; display:grid; gap:18px;}
.beta h2{font-size:clamp(34px, 7vw, 48px);}
.beta p{color:var(--dim); max-width:60ch;}
.beta .ctas-row{display:flex; flex-wrap:wrap; gap:12px;}

/* ---------- final CTA ---------- */
.h-final{text-align:center; padding:84px 0;}
.h-final h2{font-size:clamp(40px, 9vw, 68px);}
.h-final p{color:var(--dim); margin:14px auto 0; max-width:52ch;}
.h-final .h-ctas{justify-content:center;}

.social{display:flex; gap:10px; flex-wrap:wrap;}
.social a{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:8px; padding:9px 14px; font-size:14px; color:var(--dim); text-decoration:none;}
.social a:hover{color:var(--text); border-color:var(--dim);}
.social svg{width:16px; height:16px;}

/* ---------- desktop ---------- */
@media (min-width:861px){
  .h-sec{padding:104px 0;}
  .h-hero{padding:64px 0 88px;}
  .h-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:56px; align-items:center;}
  .h-proof .wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center;}
  .facts{grid-template-columns:repeat(3, minmax(0,1fr));}
  .story{grid-template-columns:repeat(3, minmax(0,1fr));}
  .story .q.turn{grid-column:span 3;}
  .flow{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:center;}
  .diff{grid-template-columns:repeat(2, minmax(0,1fr));}
  .oc{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px;}
  .oc.rev > :first-child{order:2;}
  .oc.wide{grid-template-columns:minmax(0,1fr); gap:24px;}
  .oc.wide > div:first-child{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0 56px; align-items:start;}
  .oc.wide > div:first-child > ul{grid-column:2; grid-row:1 / span 3; margin-top:34px;}
  .priv{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:start;}
  .priv-list{grid-template-columns:repeat(2, minmax(0,1fr));}
  .beta{grid-template-columns:minmax(0,1.4fr) auto; align-items:center; padding:36px 40px;}
}
@media (max-width:480px){
  .wrap{padding:0 18px;}
  .h-ctas .btn{width:100%; justify-content:center;}
}
@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto !important;} }
