:root{
  --paper:#FBFAF8; --card:#FFFFFF; --ink:#1A1F24; --muted:#5C6670;
  --rule:#E4E2DC; --accent:#15584F; --accent-soft:#E7F0ED; --shadow:rgba(26,31,36,.06);
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#12151A; --card:#191D23; --ink:#E7EAEC; --muted:#98A2AC;
    --rule:#282E36; --accent:#5BB5A2; --accent-soft:#14302B; --shadow:rgba(0,0,0,.3);
  }
}
*{box-sizing:border-box;}
body{margin:0; background:var(--paper); color:var(--ink); line-height:1.7;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",
    "Hiragino Sans GB","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--accent);}
header.site{border-bottom:1px solid var(--rule); background:var(--card);}
header.site .bar{max-width:64rem; margin:0 auto; padding:1rem 1.25rem;
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between;}
.brand{font-weight:700; font-size:1.1rem; letter-spacing:.01em; text-decoration:none; color:var(--ink);}
nav a{margin-left:1.1rem; font-size:.9rem; text-decoration:none;}
nav a:first-child{margin-left:0;}
main{max-width:64rem; margin:0 auto; padding:2.5rem 1.25rem 4rem;}
.prose{max-width:44rem; margin-inline:auto;}
h1{font-size:2.1rem; line-height:1.25; margin:.2rem 0 .8rem; text-wrap:balance;}
h2{font-size:1.3rem; margin:2.2rem 0 .6rem;}
h3{font-size:1.05rem; margin:1.6rem 0 .4rem;}
p{margin:.7rem 0;}
ul{padding-left:1.25rem;}
li{margin:.35rem 0;}
.lede{font-size:1.12rem; color:var(--muted); max-width:40rem;}
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; margin:1.6rem 0;}
.card{background:var(--card); border:1px solid var(--rule); border-radius:10px;
  padding:1.1rem 1.2rem; box-shadow:0 1px 2px var(--shadow);}
.card h3{margin-top:0;}
.price{background:var(--card); border:1px solid var(--rule); border-radius:12px;
  padding:1.6rem; margin:1.6rem 0; max-width:34rem;}
.amount{font-size:2.3rem; font-weight:700; letter-spacing:-.02em;}
.amount .cur{font-size:1rem; font-weight:600; color:var(--muted); margin-left:.35rem;}
.badge{display:inline-block; background:var(--accent-soft); color:var(--accent);
  border-radius:999px; padding:.15rem .7rem; font-size:.8rem; font-weight:600;}
.cards{display:flex; gap:.5rem; flex-wrap:wrap; margin:.7rem 0;}
.cards span{border:1px solid var(--rule); border-radius:5px; padding:.2rem .6rem;
  font-size:.78rem; font-weight:600; color:var(--muted); letter-spacing:.04em;}
.tablewrap{overflow-x:auto;}
table{border-collapse:collapse; width:100%; font-size:.93rem; margin:1rem 0;}
th{text-align:left; border-bottom:1.5px solid var(--rule); padding:.4rem .7rem .4rem 0;
  font-size:.8rem; letter-spacing:.04em; color:var(--muted);}
td{border-bottom:1px solid var(--rule); padding:.5rem .7rem .5rem 0; vertical-align:top;}
footer.site{border-top:1px solid var(--rule); background:var(--card); margin-top:3rem;}
footer.site .inner{max-width:64rem; margin:0 auto; padding:2rem 1.25rem;
  font-size:.88rem; color:var(--muted); display:grid;
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:1.4rem;}
footer.site a{display:block; margin:.25rem 0; text-decoration:none;}
footer.site .legal{grid-column:1/-1; border-top:1px solid var(--rule); padding-top:1rem;}
.small{font-size:.85rem; color:var(--muted);}
.btn{display:inline-block; background:var(--accent); color:var(--paper); font-weight:600;
  padding:.65rem 1.35rem; border-radius:8px; text-decoration:none;}
.btn:hover{opacity:.92;}
.cta-row{display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; margin:1.3rem 0 .4rem;}

/* Keyboard access and long policy text use the existing site palette. */
:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
.skip-link{position:absolute;top:-5rem;left:1rem;background:var(--card);padding:.6rem 1rem;z-index:2;}
.skip-link:focus{top:1rem;}
.eyebrow{font-size:.9rem;font-weight:700;color:var(--accent);letter-spacing:.03em;}
.steps{padding-left:1.3rem;}
.steps li{margin:1rem 0;}
nav{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;}
nav a{margin-left:0;}
p,td,a{overflow-wrap:anywhere;}
@media(max-width:400px){h1{font-size:1.8rem;}.price{padding:1.1rem;}}
