:root{
  --ink:#3a1c0d;            /* near-black brown, high contrast for reading */
  --ink-soft:#6b4a37;       /* secondary text */
  --bg:#fdf6ee;             /* clean warm off-white */
  --line:#ecd9c6;           /* hairline */
  --accent:#e8714e;         /* warm CTA accent */
  --grad:linear-gradient(135deg,#ffd6a5 0%,#fdb6ad 50%,#f4978e 100%);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang TC","Noto Sans TC",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:18px}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:980px;margin:0 auto;padding:0 28px}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;max-width:980px;margin:0 auto;padding:24px 28px}
.brand{font-weight:800;letter-spacing:1px;font-size:20px;text-decoration:none}
.nav-right{display:flex;align-items:center;gap:22px;font-size:15px;font-weight:600}
.nav-right a{text-decoration:none;opacity:.85}
.nav-right a:hover{opacity:1}

/* buttons */
.btn{display:inline-block;border-radius:999px;padding:15px 30px;font-size:16px;font-weight:700;text-decoration:none;text-align:center}
.btn-accent{background:var(--accent);color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-disabled{background:rgba(58,28,13,.12);color:rgba(58,28,13,.55);font-weight:700}

/* hero */
.hero{background:var(--grad)}
.hero .wrap{padding:84px 28px 92px;text-align:center}
.hero-icon{width:76px;height:76px;border-radius:18px;box-shadow:0 12px 30px rgba(58,28,13,.22);margin:0 auto 28px}
.hero h1{font-size:clamp(40px,7vw,68px);font-weight:800;line-height:1.04;letter-spacing:-.02em;margin-bottom:22px;max-width:14ch;margin-left:auto;margin-right:auto}
.hero p{font-size:clamp(17px,2.4vw,21px);color:var(--ink-soft);max-width:30em;margin:0 auto 32px}
.hero .btn-disabled{background:rgba(58,28,13,.16)}

/* phone mockup */
.phone{width:min(266px,70vw);margin:0 auto;background:#241a12;padding:9px;border-radius:40px;box-shadow:0 26px 60px rgba(58,28,13,.30)}
.phone img{display:block;width:100%;border-radius:31px}
.hero .phone{margin-top:44px}

/* screenshot showcase */
.showcase .wrap{display:flex;align-items:center;gap:56px;flex-wrap:wrap;justify-content:center}
.showcase .copy{flex:1 1 300px;max-width:30em}
.showcase .phone{flex:0 0 auto}

/* generic section */
section{padding:88px 0}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.lead{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.08;max-width:18ch}

/* numbered steps */
.steps{border-top:1px solid var(--line);margin-top:8px}
.step{display:flex;gap:28px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line)}
.step-n{font-size:18px;font-weight:800;color:var(--accent);min-width:42px}
.step-body h3{font-size:clamp(22px,3.4vw,30px);font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.step-body p{font-size:17px;color:var(--ink-soft);max-width:34em}

/* smile styles */
.styles-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px}
.styles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.style img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;background:#fff;display:block}
.style h4{font-size:17px;font-weight:800;margin-top:12px}
.style p{font-size:14px;color:var(--ink-soft);margin-top:2px}

/* languages */
.langs{text-align:center}
.langs .lead{margin:0 auto 10px;max-width:none}
.langs p{color:var(--ink-soft);font-size:17px}

/* support / CTA */
.support{background:var(--ink);color:#fff}
.support .wrap{text-align:center;padding:0}
.support h2{font-size:clamp(28px,5vw,42px);font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.support p{color:rgba(255,255,255,.78);font-size:18px;max-width:30em;margin:0 auto 30px}
.support .contact{margin-top:24px;font-size:15px;color:rgba(255,255,255,.6)}
.support .contact a{color:#fff}

/* prose (privacy) */
.prose{padding:64px 0;max-width:720px}
.prose h1{font-size:clamp(32px,6vw,46px);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.prose .eff{color:var(--ink-soft);font-size:15px;margin-bottom:36px}
.prose h2{font-size:22px;font-weight:800;margin:34px 0 10px}
.prose p,.prose li{font-size:17px;color:var(--ink-soft);margin-bottom:12px}
.prose ul{padding-left:22px}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent);font-weight:700}

/* footer */
.footer{border-top:1px solid var(--line);padding:36px 0;font-size:15px;color:var(--ink-soft)}
.footer .wrap{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;text-align:center}
.footer a{text-decoration:none;font-weight:600}
.footer a:hover{color:var(--ink)}

@media(max-width:640px){
  body{font-size:17px}
  section{padding:60px 0}
  .hero .wrap{padding:60px 24px 68px}
  .step{gap:18px}
  .step-n{min-width:32px}
  .styles-grid{grid-template-columns:repeat(2,1fr)}
}
