:root{
  --ground:#0c2733;
  --surface:#173948;
  --ink:#f4ecd9;
  --ink-dim:#a9bfc4;
  --ink-faint:#7d949a;
  --gold:#d9a446;
  --gold-soft:#eccb8b;
  --card-border:#d9a4462a;
  --max:860px;
}

*{box-sizing:border-box}
html{
  background:var(--ground);
  scroll-snap-type:y proximity;
}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}

h1,h2{
  font-family:"Songti SC","Noto Serif SC","STSong","Georgia","Times New Roman",serif;
  font-weight:600;
  text-wrap:balance;
  margin:0;
  color:var(--ink);
}

.mono{font-family:ui-monospace,"SF Mono","Menlo","Consolas",monospace; letter-spacing:.08em}
a{color:inherit}
img{max-width:100%;display:block}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px}

/* ---------- nav ---------- */
.nav{
  padding:20px 0;
  position:fixed; top:0; left:0; right:0; z-index:10;
  background:rgba(12,39,51,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--card-border);
}
.nav .wrap{display:flex; align-items:center; justify-content:space-between}
.brand{display:flex; align-items:center; gap:10px}
.brand img{width:28px;height:28px;border-radius:7px}
.brand span{font-family:"Songti SC",serif; font-size:17px}
.nav-right{display:flex; align-items:center; gap:12px}
.lang-toggle{
  font-family:ui-monospace,"SF Mono","Menlo","Consolas",monospace;
  font-size:12px; letter-spacing:.06em; color:var(--ink-dim);
  background:none; border:1px solid var(--card-border); border-radius:999px;
  padding:7px 13px; cursor:pointer;
}
.lang-toggle:hover{color:var(--ink); border-color:var(--gold)}
.nav-cta{
  font-size:13px; padding:8px 16px; border-radius:999px;
  border:1px solid var(--gold); color:var(--gold-soft); text-decoration:none;
}

/* ---------- hero ---------- */
.hero{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; justify-content:center;
  padding:88px 0 84px;
  scroll-snap-align:start;
}
.hero-viz{width:100%; height:100px; display:block; margin-top:64px}
.hero-daymarks{
  display:flex; justify-content:space-between; margin-top:10px;
  font-size:11px; letter-spacing:.12em; color:var(--ink-faint);
}
.eyebrow{
  font-size:11px; color:var(--gold-soft); text-transform:uppercase;
  letter-spacing:.14em; display:block; margin-bottom:20px;
}
.hero h1{
  font-size:clamp(38px,7vw,64px);
  line-height:1.22;
}
.hero .lede{
  margin-top:24px; max-width:480px;
  color:var(--ink-dim); font-size:17px; line-height:1.85;
}
.hero-actions{display:flex; align-items:center; gap:22px; margin-top:36px; flex-wrap:wrap}
.btn-primary{
  background:var(--gold); color:#20160a; font-weight:700;
  padding:14px 28px; border-radius:8px; text-decoration:none;
  font-size:15px; box-shadow:0 10px 30px -12px #d9a44680;
}
.btn-primary:hover{background:var(--gold-soft)}
.link-quiet{
  font-size:14px; color:var(--ink-faint); text-decoration:none;
  border-bottom:1px solid var(--card-border); padding-bottom:2px;
}

/* ---------- triad ---------- */
.triad-section{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; justify-content:center;
  padding:64px 0; border-top:1px solid var(--card-border);
  scroll-snap-align:start;
}
.triad-tag{font-size:11px; color:var(--ink-faint); letter-spacing:.1em; display:block; margin-bottom:14px}
.triad-section h2{font-size:clamp(22px,3vw,28px); max-width:480px; margin-bottom:40px}
.triad{display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.titem .k{font-family:"Songti SC",serif; font-size:20px; color:var(--gold-soft)}
.titem p{font-size:14px; color:var(--ink-dim); margin-top:10px; line-height:1.8}

/* ---------- close ---------- */
.close{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; justify-content:center;
  padding:70px 0; border-top:1px solid var(--card-border);
  scroll-snap-align:start;
}
.close h2{font-size:clamp(26px,3.6vw,36px); max-width:480px}
.close .lede{color:var(--ink-dim); margin-top:16px; max-width:440px; font-size:15px; line-height:1.85}
.close-actions{margin-top:28px; display:flex; align-items:center; gap:22px; flex-wrap:wrap}
.privacy-note{margin-top:34px; font-size:12.5px; color:var(--ink-faint); max-width:460px; line-height:1.8}

footer{
  border-top:1px solid var(--card-border); padding:24px 0 50px; margin-top:40px;
  scroll-snap-align:end;
}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px}
footer .fbrand{display:flex; align-items:center; gap:9px; color:var(--ink-faint); font-size:13px}
footer .fbrand img{width:18px;height:18px;border-radius:5px}
footer nav{display:flex; gap:20px; font-size:13px; color:var(--ink-faint)}
footer nav a{text-decoration:none}

@media (max-width:640px){
  .triad{grid-template-columns:1fr; gap:26px}
  .hero{padding:48px 0 50px}
  .hero-viz{margin-top:44px; height:80px}
}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .reveal{animation:rise .7s ease both}
  .reveal.d1{animation-delay:.08s}
  .reveal.d2{animation-delay:.16s}
  @keyframes rise{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:translateY(0)}}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-snap-type:none}
}
