/* Everly landing — styles. Palette and type mirror the phone app (app/src/theme). */
  /* Palette = the app's theme/colors.ts (2026-07 "hearth" rebrand): parchment ground,
     white paper cards, cocoa type, 柿子红 coral accent, amber and pine as supporting tones. */
  :root{
    --bg:#F8F4EE; --surface:#FFFFFF; --sand:#EFE7DD; --ink:#2B211B; --ink-2:#655C55; --subtle:#8C847D; --divider:#E8DED3;
    --accent:#B86B3F; --accent-hover:#965332; --accent-deep:#7F4629; --accent-soft:rgba(184,107,63,.10); --accent-tint:#F3E5DB;
    --amber:#D99A58; --amber-soft:#F1D8B9; --pine:#647B73; --pine-tint:#E4ECE8;
    --footer:#EFE7DD;
    --r:14px; --r-lg:20px; --r-xl:28px;
    --sh-md:0 4px 12px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04);
    --sh-lg:0 12px 32px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);
    --font:"Public Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
    --font-display:"Newsreader",Georgia,"Times New Roman",serif;
    --maxw:1140px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
  body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);font-size:17px;line-height:1.47;letter-spacing:-.005em;overflow-x:hidden;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,p{margin:0;}
  ::selection{background:rgba(184,107,63,.18);}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:980px;font-size:16px;font-weight:500;border:0;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease;font-family:var(--font);}
  .btn-primary{background:var(--accent);color:#fff;}
  .btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 22px rgba(184,107,63,.28);}
  .btn-secondary{background:rgba(43,33,27,.06);color:var(--ink);}
  .btn-secondary:hover{background:rgba(43,33,27,.10);}
  .btn-ghost{background:transparent;color:var(--accent);padding:14px 8px;}
  .btn-ghost:hover{opacity:.65;}
  .btn-white{background:#fff;color:var(--accent);}
  .btn-white:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(43,33,27,.18);}
  .btn-ghost-w{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);}
  .btn-ghost-w:hover{background:rgba(255,255,255,.12);}
  :focus-visible{outline:none;box-shadow:0 0 0 3px rgba(184,107,63,.5);border-radius:6px;}

  /* ---------- Nav ---------- */
  nav{position:fixed;top:0;left:0;right:0;z-index:50;height:52px;display:flex;align-items:center;
    background:rgba(248,244,238,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
    border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease;}
  nav.scrolled{border-bottom:1px solid var(--divider);background:rgba(248,244,238,.85);}
  nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
  .brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--ink);}
  .brand .dot{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--amber),var(--accent));box-shadow:0 0 12px rgba(184,107,63,.45);}
  .navlinks{display:flex;gap:30px;align-items:center;}
  .navlinks a{font-size:13.5px;color:var(--subtle);transition:color .2s ease;}
  .navlinks a:hover{color:var(--ink);}
  .nav-cta{font-size:13.5px;font-weight:500;padding:7px 16px;border-radius:980px;background:var(--accent);color:#fff !important;transition:background .2s ease;}
  .nav-cta:hover{background:var(--accent-hover);}
  @media(max-width:760px){.navlinks{display:none;}}

  /* ---------- Hero (light) ---------- */
  .hero{position:relative;min-height:94svh;display:flex;align-items:center;
    background:radial-gradient(120% 100% at 72% 8%,rgba(184,107,63,.10),transparent 52%),linear-gradient(180deg,#FFFFFF 0%,var(--bg) 68%,var(--bg) 100%);
    overflow:hidden;}
  #voice{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
  .hero-veil{position:absolute;left:0;right:0;bottom:0;height:34%;z-index:1;background:linear-gradient(180deg,transparent,var(--bg));}
  .hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:64px;width:100%;}
  .hero-inner{max-width:660px;}
  .hero h1{margin-top:18px;font-family:var(--font-display);font-size:clamp(46px,7.6vw,92px);line-height:1;letter-spacing:-.015em;font-weight:400;color:var(--ink);text-wrap:balance;}
  .hero h1 .grad{background:linear-gradient(90deg,var(--amber),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero p.sub{margin-top:26px;font-size:clamp(18px,2.2vw,21px);line-height:1.5;color:var(--subtle);max-width:30em;}
  .hero .cta-row{margin-top:34px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
  .scrollcue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:2;color:var(--subtle);font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.7;}
  .scrollcue span{width:1px;height:24px;background:linear-gradient(var(--subtle),transparent);animation:cue 2s ease-in-out infinite;}
  @keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6);}50%{opacity:1;transform:scaleY(1);}}

  /* ---------- Sections ---------- */
  section.block{padding:clamp(84px,11vh,132px) 0;}
  .lead{max-width:720px;}
  .lead h2{font-family:var(--font-display);font-size:clamp(32px,4.6vw,56px);line-height:1.06;letter-spacing:-.012em;font-weight:400;margin-top:16px;text-wrap:balance;color:var(--ink);}
  .lead p{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--subtle);margin-top:22px;}
  .lead p + p{margin-top:18px;}

  .idea{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;}
  .orb{aspect-ratio:1;width:100%;max-width:380px;justify-self:center;border-radius:50%;position:relative;
    background:radial-gradient(circle at 38% 32%,#FBF6F0,#F3E5DB 46%,#EAD7C6 64%,#fff 100%);
    box-shadow:0 30px 80px rgba(184,107,63,.16),inset 0 0 60px rgba(255,255,255,.7);overflow:hidden;}
  .orb canvas{position:absolute;inset:0;width:100%;height:100%;}
  @media(max-width:820px){.idea{grid-template-columns:1fr;gap:44px;}.orb{max-width:300px;}}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;}
  .step{position:relative;padding-top:26px;border-top:1px solid var(--divider);}
  .step .n{font-size:13px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em;}
  .step h3{font-size:22px;font-weight:600;letter-spacing:-.015em;margin-top:12px;color:var(--ink);}
  .step p{color:var(--subtle);font-size:16px;line-height:1.5;margin-top:10px;}
  @media(max-width:820px){.steps{grid-template-columns:1fr;gap:0;}.step{padding:24px 0;}}

  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;}
  .card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-xl);padding:34px 30px;box-shadow:var(--sh-md);transition:transform .3s ease,box-shadow .3s ease;}
  .card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
  .card .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);margin-bottom:20px;}
  .card h3{font-size:20px;font-weight:600;letter-spacing:-.012em;color:var(--ink);}
  .card p{color:var(--subtle);font-size:15.5px;line-height:1.55;margin-top:12px;}
  @media(max-width:820px){.cards{grid-template-columns:1fr;}}

  .voices{background:var(--surface);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);}
  .quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:52px;}
  .quote{padding:30px;border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--divider);}
  .quote p{font-size:18px;line-height:1.5;letter-spacing:-.01em;color:var(--ink);}
  .quote .who{margin-top:16px;font-size:14px;color:var(--subtle);}
  @media(max-width:760px){.quotes{grid-template-columns:1fr;}}

  .faq{max-width:820px;margin:52px auto 0;}
  details{border-bottom:1px solid var(--divider);}
  summary{list-style:none;cursor:pointer;padding:24px 40px 24px 0;position:relative;font-size:19px;font-weight:500;letter-spacing:-.012em;color:var(--ink);}
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+";position:absolute;right:6px;top:22px;font-size:24px;font-weight:400;color:var(--subtle);transition:transform .25s ease;}
  details[open] summary::after{transform:rotate(45deg);}
  details p{color:var(--subtle);font-size:16px;line-height:1.6;padding:0 40px 26px 0;margin-top:-4px;}

  /* ---------- CTA (the single bold coral moment) ---------- */
  .cta{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff;text-align:center;position:relative;overflow:hidden;}
  .cta::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 0%,rgba(255,255,255,.18),transparent 55%);}
  .cta .wrap{position:relative;z-index:1;}
  .cta h2{font-family:var(--font-display);font-size:clamp(34px,5.2vw,62px);line-height:1.04;letter-spacing:-.012em;font-weight:400;text-wrap:balance;max-width:16em;margin:0 auto;color:#fff;}
  .cta p{color:rgba(255,255,255,.85);font-size:19px;margin:22px auto 0;max-width:30em;}
  .cta .cta-row{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  /* ---------- Footer (light) ---------- */
  footer{background:var(--footer);color:var(--subtle);border-top:1px solid var(--divider);padding:56px 0 40px;}
  footer .wrap{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start;}
  footer .brand{color:var(--ink);}
  footer .tag{margin-top:12px;font-size:14px;max-width:22em;line-height:1.5;color:var(--subtle);}
  footer .cols{display:flex;gap:64px;flex-wrap:wrap;}
  footer h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-bottom:14px;font-weight:600;}
  footer a{display:block;font-size:14px;color:var(--ink);opacity:.72;margin-bottom:10px;transition:opacity .2s ease;}
  footer a:hover{opacity:1;}
  .legal{max-width:var(--maxw);margin:44px auto 0;padding:22px 24px 0;border-top:1px solid var(--divider);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--subtle);}

  /* ---------- Watch (two videos) ---------- */
  .videos{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:52px;}
  .video{background:var(--surface);border:1px solid var(--divider);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md);}
  .video video{display:block;width:100%;aspect-ratio:16/9;background:var(--sand);object-fit:cover;}
  .video .cap{padding:20px 24px 24px;}
  .video h3{font-size:19px;font-weight:600;letter-spacing:-.012em;color:var(--ink);}
  .video p{color:var(--subtle);font-size:15px;line-height:1.5;margin-top:6px;}
  @media(max-width:820px){.videos{grid-template-columns:1fr;gap:20px;}}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;transition:none;}.scrollcue span{animation:none;}}
