/* ============ 安家CT shared styles — deed & seal identity ============ */
:root{
  --pine:#17322b; --pine-deep:#0c1f19; --paper:#f7f4ec; --card:#fffdf8;
  --ink:#22282a; --muted:#5d675f; --seal:#c0392b; --seal-ink:#a5281c; --seal-soft:#f6e7e3;
  --brass:#a08850; --line:#e3ddd0; --hero-text:#f2efe4;
}
@media (prefers-color-scheme: dark){:root{
  --pine:#142b24; --pine-deep:#0a1713; --paper:#101a16; --card:#17241f;
  --ink:#e8e4d9; --muted:#9fa89f; --seal:#d95445; --seal-ink:#e26a5c; --seal-soft:#3a201b;
  --brass:#b39a63; --line:#2a3831; --hero-text:#f2efe4;
}}
:root[data-theme="dark"]{
  --pine:#142b24; --pine-deep:#0a1713; --paper:#101a16; --card:#17241f;
  --ink:#e8e4d9; --muted:#9fa89f; --seal:#d95445; --seal-ink:#e26a5c; --seal-soft:#3a201b;
  --brass:#b39a63; --line:#2a3831; --hero-text:#f2efe4;
}
:root[data-theme="light"]{
  --pine:#17322b; --pine-deep:#0c1f19; --paper:#f7f4ec; --card:#fffdf8;
  --ink:#22282a; --muted:#5d675f; --seal:#c0392b; --seal-ink:#a5281c; --seal-soft:#f6e7e3;
  --brass:#a08850; --line:#e3ddd0; --hero-text:#f2efe4;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--paper);color:var(--ink);line-height:1.75;font-size:17px}
img{max-width:100%}
a{color:inherit}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.serif{font-family:"Songti SC","STSong","Noto Serif SC","SimSun",Georgia,serif}
.num{font-family:Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums}

/* ---------- section furniture ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--brass);font-size:.85rem;letter-spacing:.14em}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--brass);flex:none}
.eyebrow em{font-family:Georgia,serif;font-style:italic;font-size:.76rem;letter-spacing:.08em;opacity:.8}
h2.sec{font-family:"Songti SC","STSong","Noto Serif SC","SimSun",Georgia,serif;font-size:clamp(1.7rem,4.5vw,2.4rem);font-weight:700;margin:10px 0 8px;text-wrap:balance;letter-spacing:.02em}
.sec-note{color:var(--muted);max-width:36em;margin-bottom:34px}
section{padding:64px 0}

/* ---------- top nav ---------- */
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:11px;padding-bottom:11px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.chop{width:42px;height:42px;background:var(--seal);color:#fdf3ea;border-radius:6px;display:grid;place-items:center;font-family:"Songti SC","STSong","SimSun",serif;font-weight:700;font-size:.92rem;line-height:1.12;text-align:center;letter-spacing:.06em;box-shadow:inset 0 0 0 2px rgba(253,243,234,.55),inset 0 0 0 3.5px var(--seal),0 2px 8px rgba(120,30,20,.28)}
.brand b{font-size:1.02rem}
.brand small{display:block;font-size:.7rem;color:var(--muted);font-weight:400;letter-spacing:.05em}
.topnav{display:flex;gap:20px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0}
.topnav::-webkit-scrollbar{display:none}
.topnav a{text-decoration:none;font-size:.9rem;color:var(--muted);white-space:nowrap;padding:4px 0}
.topnav a:hover{color:var(--seal)}
.topnav a.active{color:var(--seal);font-weight:700;border-bottom:2px solid var(--seal)}
.topnav .cta{background:var(--seal);color:#fff;padding:8px 18px;border-radius:6px;font-weight:600;flex:none;border-bottom:none}
@media(max-width:760px){
  .topnav{gap:15px}
  .topnav .cta{display:none}
  .brand small{display:none}
}

/* ---------- page hero (subpages) ---------- */
.phero{background:linear-gradient(168deg,var(--pine) 0%,var(--pine-deep) 100%);color:var(--hero-text);padding:52px 0 44px;position:relative;overflow:hidden}
.phero::after{content:attr(data-glyph);position:absolute;right:-2%;bottom:-58%;font-family:"Songti SC","STSong","SimSun",serif;font-size:16rem;line-height:1;color:rgba(255,255,255,.05);pointer-events:none;user-select:none}
.phero .eyebrow{color:var(--brass)}
.phero .eyebrow::before{background:var(--brass)}
.phero h1{font-family:"Songti SC","STSong","Noto Serif SC","SimSun",Georgia,serif;font-size:clamp(1.9rem,5.5vw,2.8rem);font-weight:700;margin:12px 0 10px;letter-spacing:.02em}
.phero p{color:#ccd6cf;max-width:36em;font-size:.98rem}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:14px 30px;border-radius:6px;font-weight:700;font-size:1rem;text-decoration:none;margin:0 12px 12px 0;border:1.5px solid transparent;cursor:pointer;font-family:inherit}
.btn-seal{background:var(--seal);color:#fff;box-shadow:0 6px 18px rgba(165,40,28,.35)}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent}
.btn-line-inv{border-color:rgba(255,255,255,.45);color:var(--hero-text);background:transparent}
.btn-sm{padding:9px 18px;font-size:.88rem}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 22px}

/* ---------- why grid (shared) ---------- */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:34px}
.why-item h3{font-size:1.08rem;margin-bottom:8px;padding-left:14px;border-left:3px solid var(--seal)}
.why-item p{font-size:.95rem;color:var(--muted)}

/* ---------- contact strip (every page, id=contact) ---------- */
.contact{background:linear-gradient(168deg,var(--pine) 0%,var(--pine-deep) 100%);color:var(--hero-text)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}
.contact .eyebrow{color:var(--brass)}
.contact h2{font-family:"Songti SC","STSong","SimSun",serif;font-size:clamp(1.7rem,4vw,2.3rem);margin:8px 0 14px}
.contact p{color:#c2cec6;max-width:30em}
.c-lines{margin-top:26px;display:grid;gap:12px;font-size:1.02rem}
.c-lines a{color:var(--hero-text);text-decoration:none}
.c-lines .k{display:inline-block;width:5.5em;color:var(--brass);font-size:.88rem;letter-spacing:.06em}
.qr{background:#fff;border-radius:12px;padding:20px;text-align:center;color:#22282a;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.qr .qr-box{width:200px;height:200px;margin:0 auto 12px;border-radius:8px;display:grid;place-items:center;color:#8a8577;font-size:.85rem;overflow:hidden}
.qr b{font-size:1rem}
.qr small{display:block;color:#6d675c;margin-top:2px}

/* ---------- footer ---------- */
footer{background:var(--pine-deep);color:#8ba296;font-size:.8rem;padding:28px 0 26px;text-align:center;line-height:1.9}
footer b{color:#c2cec6}
footer .mini-chop{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--seal);color:#fdf3ea;border-radius:4px;font-family:"Songti SC","STSong","SimSun",serif;font-size:.62rem;font-weight:700;line-height:1.1;margin-bottom:10px;box-shadow:inset 0 0 0 1.5px rgba(253,243,234,.5)}

/* ---------- mobile sticky CTA ---------- */
.mobile-cta{display:none}
@media(max-width:760px){
  body{padding-bottom:64px}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -4px 18px rgba(0,0,0,.15)}
  .mobile-cta a{flex:1;text-align:center;padding:15px 6px;font-size:1rem;font-weight:700;text-decoration:none}
  .mobile-cta .m-wx{background:var(--seal);color:#fff}
  .mobile-cta .m-ai{background:var(--pine);color:var(--hero-text)}
}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
