/* GHP Portal · shared styles v0.1 — 与 design-samples 样板同源 */
:root{
  --ink:#0F2E4C; --paper:#FAFAF7; --card:#FFFFFF; --text:#1A1A1A; --muted:#5A5A5A;
  --gold:#8A6D1F; --hair:#E3E0D8; --hair2:#D6D2C6;
  --serif:'Noto Serif SC','Source Serif 4',Georgia,serif;
  --sans:'Noto Sans SC','IBM Plex Sans',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
   repeating-linear-gradient(0deg,transparent 0 47px,rgba(15,46,76,.025) 47px 48px),
   repeating-linear-gradient(90deg,transparent 0 47px,rgba(15,46,76,.02) 47px 48px);}
.wrap{max-width:1060px;margin:0 auto;padding:0 32px;position:relative;z-index:1;}
.wide{max-width:1200px;}

/* header / footer */
header{border-bottom:1px solid var(--hair2);}
.head{display:flex;align-items:center;justify-content:space-between;padding:20px 0;}
.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;color:var(--ink);}
.brand .mark{font-family:var(--serif);font-weight:900;font-size:26px;letter-spacing:.06em;}
.brand .full{font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;}
nav{display:flex;align-items:center;gap:28px;font-size:13.5px;}
nav a{color:var(--ink);text-decoration:none;letter-spacing:.04em;padding:4px 0;border-bottom:1px solid transparent;}
nav a:hover{border-bottom-color:var(--gold);}
nav a.cur{border-bottom-color:var(--gold);}
.lang{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;}
.lang b{color:var(--ink);}
.lang span{color:var(--hair2);}
footer{background:var(--ink);color:#C9D4DF;padding:48px 0 32px;font-size:12.5px;margin-top:64px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.14);}
footer .mark{font-family:var(--serif);font-weight:900;font-size:22px;color:#fff;letter-spacing:.06em;}
footer .full{font-size:10.5px;letter-spacing:.16em;color:#8FA3B5;margin-top:6px;text-transform:uppercase;}
footer h5{font-size:11px;letter-spacing:.2em;color:#8FA3B5;margin-bottom:14px;text-transform:uppercase;font-weight:500;}
footer a{color:#C9D4DF;text-decoration:none;display:block;padding:3px 0;}
footer a:hover{color:#fff;}
.legal{padding-top:24px;display:flex;justify-content:space-between;gap:24px;color:#7E93A7;font-size:12px;line-height:1.7;}
.legal .disc{max-width:64em;}

/* 通用元件 */
.page-head{padding:56px 0 40px;border-bottom:2px solid var(--ink);}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--gold);margin-bottom:18px;text-transform:uppercase;}
h1.pg{font-family:var(--serif);font-weight:900;color:var(--ink);font-size:clamp(28px,3.6vw,40px);line-height:1.25;}
h1.pg .en{display:block;font-family:'Source Serif 4',serif;font-style:italic;font-weight:400;font-size:clamp(15px,1.6vw,19px);color:var(--muted);margin-top:10px;}
.lead{margin-top:20px;font-size:16.5px;max-width:38em;color:var(--text);}
section.blk{padding:56px 0;border-bottom:1px solid var(--hair2);}
h2.pg{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:26px;letter-spacing:.02em;margin-bottom:6px;}
h2.pg span{display:block;font-family:'Source Serif 4',serif;font-style:italic;font-weight:400;font-size:14px;color:var(--muted);margin-top:4px;}
.sec-no{font-family:var(--mono);font-size:12px;color:var(--gold);letter-spacing:.2em;}
.btn{font-size:14px;letter-spacing:.08em;text-decoration:none;padding:12px 26px;transition:all .18s;display:inline-block;}
.btn.ghost{color:var(--ink);border:1px solid var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);}
.btn.solid{background:var(--ink);color:var(--paper);border:1px solid var(--ink);}
.btn.solid:hover{background:#123A5F;}

/* 卡面与条款 */
.panel{background:var(--card);border:1px solid var(--hair);padding:26px 30px;}
.panel .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:var(--gold);margin-bottom:12px;text-transform:uppercase;}
.list{list-style:none;}
.list li{padding:10px 0;border-bottom:1px dashed var(--hair);font-size:14.5px;}
.list li:last-child{border-bottom:none;}
.list b{color:var(--ink);}

.rv{opacity:0;transform:translateY(8px);animation:rv .5s ease forwards;}
@keyframes rv{to{opacity:1;transform:none;}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.3s}

@media(max-width:820px){
  nav{display:none;}
  .foot-grid{grid-template-columns:1fr;gap:24px;}
}
