/* ---------------------------------------------------------------
   Noto Sans S Chinese, self-hosted and subset (tools/build-fonts.py).
   Latin face ~11-17 KB per weight and always used; the CJK face is
   fetched only when a CJK glyph is on the page, via unicode-range.
   Weights 400/500/700/900 — 600 and 800 resolve to the nearest.
   Arabic is NOT in this font; the RTL stack keeps a system fallback.
   --------------------------------------------------------------- */
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/noto-sc-400-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+2074,U+20AC,U+2122,U+2126,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/noto-sc-400-cjk.woff2") format("woff2");
  unicode-range:U+2E80-9FFF,U+3000-303F,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/noto-sc-500-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+2074,U+20AC,U+2122,U+2126,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/noto-sc-500-cjk.woff2") format("woff2");
  unicode-range:U+2E80-9FFF,U+3000-303F,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/noto-sc-700-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+2074,U+20AC,U+2122,U+2126,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/noto-sc-700-cjk.woff2") format("woff2");
  unicode-range:U+2E80-9FFF,U+3000-303F,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:900;font-display:swap;
  src:url("fonts/noto-sc-900-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2000-206F,U+2074,U+20AC,U+2122,U+2126,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:900;font-display:swap;
  src:url("fonts/noto-sc-900-cjk.woff2") format("woff2");
  unicode-range:U+2E80-9FFF,U+3000-303F,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}

/* ============================================================
   Paperwork First — design system
   Display: Newsreader (editorial serif, optical sizing)
   UI/body: Plus Jakarta Sans
   Ground:  deep petrol → pale mist. Accent: brass, used sparingly.
   ============================================================ */
:root{
  --deep:#8C3117;
  --deep-2:#6B230D;
  --deep-3:#A03C1C;
  --ink:#1C1917;
  --ink-2:#544538;
  --navy:#2F2319;
  --navy-2:#544538;
  --blue:#C93A20;
  --blue-dk:#3C2D20;
  --sky:#FBF0E4;
  --sky-2:#FDF8F1;
  --paper:#FFFFFF;
  --coral:#C93A20;
  --coral-soft:#FDEBD9;
  --body:#57514C;
  --body-2:#6B6460;
  --line:#EFE0CF;
  --ring:rgba(21,112,126,.3);
  --card-sh:0 1px 2px rgba(14,67,78,.04), 0 18px 40px -28px rgba(14,67,78,.45);
  --card-sh-lift:0 2px 4px rgba(14,67,78,.05), 0 28px 56px -30px rgba(14,67,78,.5);
  --r-lg:26px;
  --r-md:18px;
  --brand-a:#FB9302;--brand-b:#F64D45;
  --font:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --serif:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --deep:#281E15; --deep-2:#19130E; --deep-3:#34271C;
    --ink:#EFEBE7; --ink-2:#C8BEB6; --navy:#EFEBE7; --navy-2:#C8BEB6;
    --blue:#B19277; --blue-dk:#CAB19C;
    --sky:#1F1811; --sky-2:#140F0B; --paper:#231C16;
    --coral:#D6AC5B; --coral-soft:#2A2314;
    --body:#B5ACA4; --body-2:#928981; --line:#352C25;
    --ring:rgba(95,188,201,.4);
    --card-sh:0 1px 2px rgba(0,0,0,.35), 0 18px 44px -30px rgba(0,0,0,.95);
    --card-sh-lift:0 2px 6px rgba(0,0,0,.4), 0 30px 60px -32px rgba(0,0,0,1);
  }
}
:root[data-theme="dark"]{
  --deep:#281E15; --deep-2:#19130E; --deep-3:#34271C;
  --ink:#EFEBE7; --ink-2:#C8BEB6; --navy:#EFEBE7; --navy-2:#C8BEB6;
  --blue:#B19277; --blue-dk:#CAB19C;
  --sky:#1F1811; --sky-2:#140F0B; --paper:#231C16;
  --coral:#D6AC5B; --coral-soft:#2A2314;
  --body:#B5ACA4; --body-2:#928981; --line:#352C25;
  --ring:rgba(95,188,201,.4);
  --card-sh:0 1px 2px rgba(0,0,0,.35), 0 18px 44px -30px rgba(0,0,0,.95);
  --card-sh-lift:0 2px 6px rgba(0,0,0,.4), 0 30px 60px -32px rgba(0,0,0,1);
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
h1,h2,h3,h4{color:var(--navy);margin:0;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
a{color:inherit}

.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--coral);font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--coral);border-radius:2px}
.eyebrow.ctr{justify-content:center}
.eyebrow.ctr::after{content:"";width:26px;height:2px;background:var(--coral);border-radius:2px}

.btn{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:13px 26px;font-size:15px;font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--font);transition:transform .15s ease, box-shadow .15s ease}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px -12px var(--blue)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--navy);background:transparent}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn-primary:hover{transform:none}}

/* nav */
header.nav{background:var(--sky)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);font-size:19px;letter-spacing:-.02em;text-decoration:none}
.nav-links{display:flex;gap:30px;font-size:15px;font-weight:600;color:var(--navy-2)}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--blue)}
@media(max-width:900px){.nav-links{display:none}}

/* hero */
.hero{background:var(--sky);padding:34px 0 76px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:38px}}
.hero h1{font-size:clamp(34px,4.9vw,54px);font-weight:800;margin-bottom:18px}
.hero .lede{font-size:17.5px;max-width:46ch;margin-bottom:14px}
.hero .nots{font-size:15px;color:var(--body-2);max-width:46ch;margin-bottom:26px}
.hero .nots b{color:var(--navy-2);font-weight:700}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}

.art{position:relative;background:var(--paper);border-radius:26px;padding:26px;box-shadow:var(--card-sh)}
.art-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.art-h span{font-size:12.5px;font-weight:700;color:var(--body-2);letter-spacing:.05em}
.dots{display:flex;gap:5px}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:block}
.dots i:first-child{background:var(--coral)}
.rowline{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.rowline:last-child{border-bottom:none}
.rowline .l{color:var(--body-2);font-weight:600}
.rowline .r{color:var(--navy);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.rowline .r.flag{color:var(--coral);font-weight:700;font-size:12px;letter-spacing:.01em}
.art-cap{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--body-2);line-height:1.6}

/* sections */
section{padding:78px 0}
.sec-head{margin-bottom:38px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;max-width:20ch}
.sec-head.ctr{text-align:center}
.sec-head.ctr h2{max-width:24ch;margin:0 auto}
.sec-head .sub{margin-top:14px;max-width:60ch;font-size:16px}
.sec-head.ctr .sub{margin-left:auto;margin-right:auto}

/* do / dont */
.dd{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:800px){.dd{grid-template-columns:1fr}}
.dd-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px 30px;box-shadow:var(--card-sh)}
.dd-card h3{font-size:19px;font-weight:800;margin-bottom:4px}
.dd-card .hint{font-size:13.5px;color:var(--body-2);margin-bottom:18px}
.dd-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.dd-card li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:15px;line-height:1.6;align-items:start}
.mark{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:800;margin-top:2px}
.mark.y{background:var(--coral-soft);color:var(--coral)}
.mark.n{background:var(--sky);color:var(--body-2)}
.dd-card li b{color:var(--navy);font-weight:700}

/* topics */
.topics{background:var(--sky-2)}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.topic-grid{grid-template-columns:1fr}}
.topic{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:16px 16px 28px;box-shadow:var(--card-sh);display:flex;flex-direction:column;gap:12px}
.topic-img{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;margin-bottom:14px;background:var(--sky)}
.topic-img img{width:100%;height:100%;object-fit:cover;display:block}
.topic > *:not(.topic-img){margin-left:14px;margin-right:14px}
.topic .ico{position:absolute;left:14px;bottom:14px;margin:0;box-shadow:0 6px 18px -8px rgba(23,59,107,.6)}
.ico{width:52px;height:52px;border-radius:16px;background:var(--paper);display:grid;place-items:center;margin-bottom:6px}
.ico svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topic h3{font-size:19px;font-weight:800}
.topic p{font-size:15px}
.topic .more{margin-top:auto;padding-top:10px;font-size:14.5px;font-weight:700;color:var(--blue);text-decoration:none;display:inline-flex;gap:7px;align-items:center}
.topic .more:hover{gap:11px}


/* before you come */
.byc{background:var(--sky-2)}
.byc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.byc-grid{grid-template-columns:1fr}}
.byc-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--card-sh);display:flex;flex-direction:column}
.byc-card .ph{aspect-ratio:16/9;background:var(--sky);overflow:hidden}
.byc-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.byc-card .bd{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px}
.byc-card h3{font-size:19px;font-weight:800}
.byc-card p{font-size:15px}
.byc-card ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.byc-card li{display:grid;grid-template-columns:16px 1fr;gap:10px;font-size:14.5px;line-height:1.6}
.byc-card li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);margin-top:9px;margin-left:4px}

/* banner */
.banner{padding:0 0 78px;background:var(--sky-2)}
.banner-in{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:32/9;box-shadow:var(--card-sh)}
@media(max-width:700px){.banner-in{aspect-ratio:16/9}}
.banner-in img{width:100%;height:100%;object-fit:cover;display:block}
.banner-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 30px;color:#fff;background:linear-gradient(to top, rgba(11,28,52,.88), rgba(11,28,52,0))}
.banner-cap b{display:block;font-size:17px;font-weight:800;margin-bottom:3px}
.banner-cap span{font-size:14px;opacity:.9;line-height:1.6;display:block;max-width:62ch}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:var(--card-sh)}
.step .n{width:38px;height:38px;border-radius:12px;background:var(--sky);color:var(--blue);font-weight:800;display:grid;place-items:center;margin-bottom:14px;font-size:15px}
.step .n::before{content:"0" counter(s)}
.step h4{font-size:16.5px;font-weight:800;margin-bottom:7px}
.step p{font-size:14.5px;line-height:1.65}

/* commitments */
.commit{background:var(--sky-2)}
.commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.commit-grid{grid-template-columns:1fr}}
.cm{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--card-sh)}
.cm .q{font-size:34px;line-height:1;color:var(--coral);font-weight:800;margin-bottom:10px}
.cm h4{font-size:17px;font-weight:800;margin-bottom:8px}
.cm p{font-size:14.5px;line-height:1.65}

/* guides */
.g-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:780px){.g-grid{grid-template-columns:1fr}}
.g{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px 28px;box-shadow:var(--card-sh);display:flex;flex-direction:column;gap:9px}
.g-meta{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.03em}
.tag{padding:3px 10px;border-radius:999px;background:var(--sky);color:var(--blue);font-size:11.5px}
.tag.prep{background:var(--coral-soft);color:var(--coral)}
.g h3{font-size:17.5px;font-weight:700;line-height:1.35}
.g p{font-size:14.5px;line-height:1.6}

/* ask */
.ask{background:var(--sky)}
.ask-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:900px){.ask-grid{grid-template-columns:1fr;gap:34px}}
.ask h2{font-size:clamp(26px,3.4vw,36px);font-weight:800;margin-bottom:16px}
.ask .sub{font-size:16px;margin-bottom:22px;max-width:44ch}
.ask-facts{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.fact{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:14.5px;line-height:1.6;color:var(--body)}
.fact svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2;margin-top:3px}
form{background:var(--paper);border-radius:24px;padding:30px;box-shadow:var(--card-sh);border:1px solid var(--line)}
form h3{font-size:18px;font-weight:800;margin-bottom:4px}
form .fh{font-size:13.5px;color:var(--body-2);margin-bottom:20px}
.f{margin-bottom:15px}
.f label{display:block;font-size:13px;font-weight:700;color:var(--navy-2);margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;border:1.5px solid var(--line);background:var(--sky-2);border-radius:12px;padding:11px 14px;font-size:14.5px;font-family:var(--font);color:var(--navy)}
.f textarea{min-height:96px;resize:vertical;line-height:1.6}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--ring)}
.f .hint{font-size:12px;color:var(--coral);margin-top:6px;line-height:1.5;font-weight:600}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.f2{grid-template-columns:1fr}}
form .btn{width:100%;justify-content:center;margin-top:6px}
.formnote{font-size:12px;color:var(--body-2);margin-top:14px;line-height:1.6;text-align:center}

/* footer */
footer{background:var(--navy);color:#D9CDC2;padding:56px 0 30px}
:root[data-theme="dark"] footer,
:root:not([data-theme="light"]) footer{background:var(--sky-2);border-top:1px solid var(--line)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) footer{background:#54402D;color:#D9CDC2}}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:36px}
@media(max-width:800px){.f-grid{grid-template-columns:1fr;gap:28px}}
footer .logo{color:#fff;margin-bottom:14px}
:root[data-theme="dark"] footer .logo{color:var(--navy)}
footer p{font-size:14.5px;line-height:1.7;max-width:44ch}
footer h5{color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;margin:0 0 14px}
:root[data-theme="dark"] footer h5{color:var(--navy)}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14.5px}
footer ul a{text-decoration:none;opacity:.85}
footer ul a:hover{opacity:1;color:#fff}
.disclaimer{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;font-size:13px;line-height:1.75;opacity:.8;max-width:78ch}
:root[data-theme="dark"] .disclaimer{border-top-color:var(--line)}
.legal{margin-top:18px;font-size:12.5px;opacity:.6;display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:space-between}

/* ---------- sub pages ---------- */
.phead{background:var(--sky);padding:52px 0 62px}
.phead h1{font-size:clamp(30px,4.2vw,46px);font-weight:800;margin-bottom:16px;max-width:18ch}
.phead .lede{font-size:17.5px;max-width:58ch}
.crumb{font-size:13.5px;font-weight:600;color:var(--body-2);margin-bottom:18px}
.crumb a{color:var(--blue);text-decoration:none}

.prose{max-width:70ch}
.prose h2{font-size:clamp(23px,2.9vw,31px);font-weight:800;margin:0 0 14px}
.prose h3{font-size:18.5px;font-weight:800;margin:34px 0 8px}
.prose p{margin:0 0 16px;font-size:16px}
.prose ul{margin:0 0 18px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.prose li{display:grid;grid-template-columns:16px 1fr;gap:11px;font-size:15.5px;line-height:1.7}
.prose li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);margin-top:10px;margin-left:4px}
.prose b{color:var(--navy)}
.prose a{color:var(--blue);font-weight:600}

.prose .note,.article .note{background:var(--sky-2);border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:16px;padding:22px 26px;margin:26px 0}
.prose .note p,.article .note p{margin:0;font-size:15.5px}
.prose .note .lbl,.article .note .lbl{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--coral);margin-bottom:7px}

.todo{background:var(--coral-soft);color:var(--coral);border:1px dashed var(--coral);border-radius:8px;padding:1px 8px;font-weight:700;font-size:.92em}

.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:18px;margin:24px 0;background:var(--paper)}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
.tbl th,.tbl td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.tbl thead th{font-size:11.5px;letter-spacing:.08em;color:var(--body-2);font-weight:800;background:var(--sky-2)}
.tbl tbody tr:last-child td{border-bottom:none}
.tbl td b{color:var(--navy)}

.stage{display:grid;grid-template-columns:78px minmax(0,1fr);gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}
.stage:last-child{border-bottom:none}
@media(max-width:640px){.stage{grid-template-columns:1fr;gap:10px}}
.stage .sn{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.05em;padding-top:5px}
.stage h3{font-size:20px;font-weight:800;margin:0 0 8px}
.stage p{margin:0 0 12px;font-size:15.5px;line-height:1.7;max-width:62ch}
.stage .kv{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.stage .kv span{font-size:12.5px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--sky);color:var(--navy-2)}

.faq{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 2px;font-size:16.5px;font-weight:700;color:var(--navy);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-weight:800;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq summary:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:8px}
.faq .a{padding:0 2px 22px;font-size:15.5px;line-height:1.75;max-width:68ch}

.cta{background:var(--sky);text-align:center;padding:70px 0}
.cta h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;margin-bottom:12px}
.cta p{max-width:52ch;margin:0 auto 24px;font-size:16px}

/* ---------- guide article ---------- */
.ghead{background:var(--sky);padding:48px 0 54px}
.ghead .wrap{max-width:820px}
.ghead h1{font-size:clamp(29px,4vw,44px);font-weight:800;margin-bottom:18px}
.gmeta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;font-weight:600;color:var(--body-2);margin-top:20px}
.gmeta b{color:var(--navy-2)}
.gmeta .dot{opacity:.4}

.article{padding:56px 0 20px}
.article .wrap{max-width:820px}
.article h2{font-size:clamp(22px,2.8vw,29px);font-weight:800;margin:46px 0 14px;scroll-margin-top:20px}
.article h2:first-of-type{margin-top:0}
.article h3{font-size:18px;font-weight:800;margin:30px 0 8px}
.article p{margin:0 0 17px;font-size:16.5px;line-height:1.8}
.article ul,.article ol{margin:0 0 20px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.article li{display:grid;grid-template-columns:16px 1fr;gap:12px;font-size:16px;line-height:1.75}
.article li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);margin-top:11px;margin-left:4px}
.article ol{counter-reset:o}
.article ol li{counter-increment:o;grid-template-columns:24px 1fr}
.article ol li::before{content:counter(o);width:auto;height:auto;background:none;color:var(--coral);font-weight:800;font-size:14px;margin:0;border-radius:0}
.article b,.article strong{color:var(--navy);font-weight:700}
.article a{color:var(--blue);font-weight:600}
.article em{color:var(--navy-2)}

.keybox{background:var(--sky-2);border:1px solid var(--line);border-radius:20px;padding:26px 30px;margin:0 0 38px}
.keybox .lbl{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--coral);margin-bottom:12px}
.keybox ul{margin:0;gap:9px}
.keybox li{font-size:15.5px}

.warn{border:1px solid var(--line);border-left:3px solid var(--coral);background:var(--paper);border-radius:16px;padding:20px 24px;margin:26px 0;box-shadow:var(--card-sh)}
.warn .lbl{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--coral);margin-bottom:7px}
.warn p{margin:0;font-size:15.5px;line-height:1.75}
.warn p + p{margin-top:11px}

.toc{border:1px solid var(--line);border-radius:18px;padding:22px 26px;background:var(--sky-2);margin:0 0 40px}
.toc .lbl{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--body-2);margin-bottom:12px}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:8px}
.toc li{counter-increment:t;display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:15px}
.toc li::before{content:counter(t,decimal-leading-zero);color:var(--body-2);font-size:12px;font-weight:700;margin:0;width:auto;height:auto;background:none;border-radius:0;padding-top:2px}
.toc a{color:var(--navy-2);text-decoration:none;font-weight:600}
.toc a:hover{color:var(--blue)}

.notcover{background:var(--sky-2);border:1px solid var(--line);border-radius:20px;padding:26px 30px;margin:44px 0 0}
.notcover h3{margin-top:0}
.notcover li::before{background:var(--body-2)}

.sources{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--body-2);line-height:1.75}
.sources h3{font-size:12px;letter-spacing:.12em;color:var(--body-2);margin:0 0 10px;font-weight:800}
.gdisc{margin-top:26px;padding:20px 24px;border-radius:16px;background:var(--sky);font-size:14px;line-height:1.75;color:var(--body)}

/* ============================================================
   EDITORIAL LAYER — serif display, petrol hero, brass accent
   Appended last so these win on equal specificity.
   ============================================================ */

h1,h2,h3,h4,.article h2,.article h3,.prose h2,.prose h3{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.012em;
  font-optical-sizing:auto;
}
h1{font-weight:500}
.sec-head h2,.ask h2,.cta h2,.phead h1,.ghead h1,.hero h1{font-weight:500}
.dd-card h3,.topic h3,.step h4,.cm h4,.g h3,.byc-card h3,.stage h3,.faq summary,
form h3,.keybox .lbl,.toc .lbl{font-family:var(--serif);font-weight:600;letter-spacing:-.008em}
.faq summary{font-size:18px}
.g h3{font-weight:600;font-size:19px;line-height:1.3}
nav.toc a,.gmeta,.crumb,.eyebrow,.pill,.tag,.btn,.kv span,.check-row label,label,
.tbl thead th,.g-meta,.formnote,.check-foot,.caption,.sources h3,.dont .ttl,
.warn .lbl,.prose .note .lbl,.callout .ttl,.art-h span,.bar-lab{font-family:var(--font)}

/* eyebrow — brass rule, smaller caps */
.eyebrow{color:var(--coral);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;gap:12px}
.eyebrow::before,.eyebrow.ctr::after{width:22px;opacity:.85}

/* section heads: title left, description right (Medivara rhythm) */
.sec-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px 56px;align-items:end;margin-bottom:44px}
.sec-head .eyebrow{grid-column:1;margin-bottom:8px}
.sec-head h2{grid-column:1;font-size:clamp(28px,4vw,44px);line-height:1.1;max-width:15ch}
.sec-head .sub{grid-column:2;grid-row:2;margin:0;padding-bottom:8px;font-size:16px;max-width:46ch}
@media(max-width:860px){
  .sec-head{grid-template-columns:1fr}
  .sec-head .sub{grid-column:1;grid-row:auto;padding-bottom:0;margin-top:12px}
}
.sec-head.ctr{grid-template-columns:1fr;justify-items:center;text-align:center}
.sec-head.ctr .eyebrow,.sec-head.ctr h2,.sec-head.ctr .sub{grid-column:1;grid-row:auto}
.sec-head.ctr h2{max-width:20ch}
.sec-head h2 em{font-style:italic;font-weight:400}

/* buttons */
.btn{border-radius:999px;padding:14px 28px;font-weight:600;font-size:14.5px;letter-spacing:.01em}
.btn-primary{background:var(--deep);color:#fff;box-shadow:0 12px 26px -16px rgba(31,27,24,.9)}
:root[data-theme="dark"] .btn-primary,
:root:not([data-theme="light"]) .btn-primary{background:var(--blue);color:#1E1710}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .btn-primary{background:var(--deep);color:#fff}}
.btn-ghost{border-color:var(--line)}

/* ---------- HERO: deep petrol, fading into the page ---------- */
header.nav{background:var(--deep);position:relative;z-index:2}
.nav-in{padding:24px 0}
.logo{color:#fff}
.logo svg{stroke:#E8C79A}
.nav-links{color:rgba(255,255,255,.78)}
.nav-links a:hover{color:#fff}
header.nav .btn-primary{background:rgba(255,255,255,.12);color:#fff;box-shadow:none;border:1.5px solid rgba(255,255,255,.28)}
header.nav .btn-primary:hover{background:rgba(255,255,255,.2)}

.hero{
  background:
    radial-gradient(120% 90% at 70% 0%, var(--deep-3) 0%, transparent 60%),
    linear-gradient(180deg, var(--deep) 0%, var(--deep) 42%, var(--sky-2) 100%);
  padding:56px 0 96px;position:relative;
}
.hero h1{color:#fff;font-size:clamp(38px,6vw,66px);line-height:1.06;letter-spacing:-.02em;max-width:14ch}
.hero .lede{color:rgba(255,255,255,.86);font-size:18px;max-width:44ch}
.hero .nots{color:rgba(255,255,255,.66);font-size:14.5px}
.hero .nots b{color:#F0D9B8;font-weight:600}
.hero .btn-primary{background:#fff;color:var(--deep);box-shadow:0 16px 34px -18px rgba(0,0,0,.6)}
.hero .btn-ghost{border-color:rgba(255,255,255,.34);color:#fff}
.hero .btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.hero-grid{gap:64px}

/* floating glass sample card */
.art{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.6);
  border-radius:var(--r-lg);
  padding:28px;
  box-shadow:0 30px 70px -30px rgba(20,17,15,.75), 0 2px 0 rgba(255,255,255,.4) inset;
  backdrop-filter:blur(8px);
}
:root[data-theme="dark"] .art,
:root:not([data-theme="light"]) .art{background:rgba(16,34,41,.94);border-color:rgba(255,255,255,.1)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .art{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.6)}}
.art-h span{font-size:10.5px;letter-spacing:.14em;font-weight:700;color:var(--body-2)}
.rowline .r{font-family:var(--font)}

/* ---------- marquee ---------- */
.marquee{background:var(--sky-2);border-bottom:1px solid var(--line);overflow:hidden;padding:0}
.marquee-track{display:flex;gap:0;width:max-content;animation:slide 46s linear infinite}
.marquee-track span{
  display:inline-flex;align-items:center;gap:22px;padding:15px 0;white-space:nowrap;
  font-size:13.5px;font-weight:600;color:var(--ink-2);letter-spacing:.02em;
}
.marquee-track span::after{content:"◆";color:var(--coral);font-size:8px;margin:0 22px;opacity:.75}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee:hover .marquee-track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
}

/* ---------- figures row (serif numerals) ---------- */
.figs{background:var(--sky-2)}
.figs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
@media(max-width:760px){.figs-grid{grid-template-columns:1fr 1fr;gap:34px 20px}}
.fig .n{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.2vw,56px);line-height:1;color:var(--ink);letter-spacing:-.03em}
.fig .n small{font-size:.46em;letter-spacing:0}
.fig .l{margin-top:10px;font-size:13.5px;color:var(--body-2);font-weight:600;line-height:1.5}
.figs .lead{text-align:center;max-width:44ch;margin:0 auto 46px;font-family:var(--serif);font-size:clamp(21px,2.7vw,29px);line-height:1.35;color:var(--ink);font-weight:400}
.figs .lead em{font-style:italic}

/* ---------- steps with line illustrations ---------- */
.step{border-radius:var(--r-md);padding:28px 26px 30px;background:var(--paper)}
.step .draw{height:66px;margin-bottom:16px;display:flex;align-items:flex-end}
.step .draw svg{width:auto;height:62px;overflow:visible}
.step .draw svg *{stroke:var(--blue);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.step .draw svg .fillc{fill:var(--coral-soft);stroke:none}
.step .n{display:none}
.step h4{font-size:17.5px}
.step .idx{font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--coral);margin-bottom:6px;display:block}

/* ---------- surfaces ---------- */
.dd-card,.topic,.cm,.g,.byc-card,.calc,.check,.tbl,.toc,.keybox,.notcover,.warn,.note,.callout{border-radius:var(--r-lg)}
.tbl,.toc,.keybox,.notcover{border-radius:var(--r-md)}
.dd-card{padding:32px 34px}
.cm{padding:32px}
.cm .q{font-family:var(--serif);font-size:30px;color:var(--coral);font-weight:500}
.g{padding:30px 32px}
.topic{transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s cubic-bezier(.2,.7,.3,1)}
.topic:hover{transform:translateY(-3px);box-shadow:var(--card-sh-lift)}
@media (prefers-reduced-motion:reduce){.topic{transition:none}.topic:hover{transform:none}}
.topics{background:var(--sky-2)}
.commit{background:var(--sky)}

/* ---------- sub-page + article heads ---------- */
.phead,.ghead{
  background:linear-gradient(180deg, var(--deep) 0%, var(--deep) 55%, var(--sky-2) 100%);
  padding:52px 0 76px;
}
.phead h1,.ghead h1{color:#fff;line-height:1.1}
.phead .lede,.ghead .lede{color:rgba(255,255,255,.84);font-size:17.5px}
.crumb{color:rgba(255,255,255,.6)}
.crumb a{color:#E8C79A}
.gmeta{color:rgba(255,255,255,.62)}
.gmeta b{color:#F0D9B8}

.article p{font-size:17px;line-height:1.82}
.article h2{font-size:clamp(24px,3.1vw,34px);margin-top:54px}
.keybox{background:var(--sky);border-color:transparent}
.cta{background:var(--sky)}
.cta h2{font-size:clamp(26px,3.6vw,38px)}

footer{background:var(--deep-2)}
footer h5{font-family:var(--font)}

/* hero card: flagged values sit inline, never as blocks */
.rowline .r.flag{color:var(--coral);font-weight:700;font-size:12px;background:none;border:none;padding:0;margin:0;border-radius:0;display:inline}

/* ============================================================
   FIX PASS — footer, unified image treatment, language switch
   ============================================================ */

/* ---- footer: bookend the hero, explicit colours, no opacity tricks ---- */
footer{
  background:var(--deep-2);
  color:#C3B9B1;
  border-top:none;
  position:relative;
}
footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:120px;
  background:linear-gradient(180deg, var(--deep) 0%, var(--deep-2) 100%);
  pointer-events:none;
}
footer .wrap{position:relative;z-index:1}
footer .logo,footer h5{color:#FFFFFF}
footer .logo svg{stroke:#BBA591}
footer p{color:#C3B9B1}
footer ul a{color:#D9D0C9;opacity:1;text-decoration:none}
footer ul a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.disclaimer{
  border-top:1px solid rgba(168,200,209,.22);
  color:#AFA49B;opacity:1;font-size:13px;line-height:1.8;
}
.legal{color:#9B9086;opacity:1;font-size:12.5px;padding-top:4px}
:root[data-theme="dark"] footer,
:root:not([data-theme="light"]) footer{background:#19130E;border-top:1px solid var(--line)}
:root[data-theme="dark"] footer .logo,
:root[data-theme="dark"] footer h5{color:#F3F0ED}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]) footer{background:var(--deep-2);border-top:none}
}
/* the section directly above the footer meets it softly */
.ask{background:linear-gradient(180deg, var(--sky) 0%, var(--sky) 72%, #E3DDD8 100%)}

/* ---- unified photographic treatment ---- */
.topic-img,.byc-card .ph,.banner-in{position:relative;isolation:isolate;background:var(--deep)}
.topic-img img,.byc-card .ph img,.banner-in img{
  filter:saturate(.58) contrast(1.07) brightness(1.03);
  transition:filter .4s ease, transform .5s cubic-bezier(.2,.7,.3,1);
}
.topic-img::after,.byc-card .ph::after,.banner-in::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(168deg, rgba(14,67,78,.30) 0%, rgba(31,27,24,.46) 100%);
  mix-blend-mode:multiply;
}
.topic-img .ico{z-index:2}
.banner-cap{z-index:2}
.topic:hover .topic-img img{filter:saturate(.78) contrast(1.05) brightness(1.05);transform:scale(1.025)}
@media (prefers-reduced-motion:reduce){
  .topic-img img,.byc-card .ph img,.banner-in img{transition:none}
  .topic:hover .topic-img img{transform:none}
}

/* ---- language switcher ---- */
.lang{display:inline-flex;align-items:center;border:1.5px solid rgba(255,255,255,.26);border-radius:999px;overflow:hidden;margin-left:18px;flex:none}
.lang a{
  font-family:var(--font);font-size:12.5px;font-weight:700;letter-spacing:.06em;
  padding:7px 13px;text-decoration:none;color:rgba(255,255,255,.72);line-height:1;
}
.lang a[aria-current="true"]{background:rgba(255,255,255,.16);color:#fff}
.lang a:hover{color:#fff}
.lang a:focus-visible{outline:2px solid #E8C79A;outline-offset:-2px}
@media(max-width:900px){.lang{margin-left:10px}}
.nav-in{flex-wrap:wrap;row-gap:12px}

/* ============================================================
   FIX — list items must NOT be grid containers.
   Grid promotes every inline child (<b>, <a>, <em>) to its own
   grid item, which dumped bold text into the 16px bullet column
   one word per line. Absolute-positioned markers instead.
   ============================================================ */
.prose ul,.article ul,.byc-card ul,.gate ul{display:block}
.prose li,.article li,.byc-card li,.gate li{
  display:block;position:relative;
  padding-left:26px;margin:0 0 11px;
  grid-template-columns:none;gap:0;
}
.prose li::before,.article li::before,.byc-card li::before,.gate li::before{
  content:"";position:absolute;left:5px;top:.72em;
  width:6px;height:6px;border-radius:50%;
  background:var(--coral);margin:0;
}
.article ol{display:block;counter-reset:o}
.article ol li{display:block;position:relative;padding-left:30px}
.article ol li::before{
  content:counter(o);counter-increment:o;
  position:absolute;left:0;top:0;
  width:auto;height:auto;background:none;border-radius:0;
  color:var(--coral);font-family:var(--font);font-weight:800;font-size:13.5px;
  line-height:1.9;
}
.notcover li::before{background:var(--body-2)}
.keybox li{padding-left:26px}
.prose li:last-child,.article li:last-child,.byc-card li:last-child{margin-bottom:0}

/* the ask-section facts and do/dont rows keep their grid — every
   child there is already a wrapping element, so nothing leaks. */

/* ============================================================
   RTL — Arabic. Mirrors the layout without duplicating rules.
   ============================================================ */
:root[dir="rtl"]{--font:"IBM Plex Sans Arabic","Noto Sans Arabic","Geeza Pro","Segoe UI","Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;--serif:"Noto Naskh Arabic","IBM Plex Sans Arabic","Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif}
[dir="rtl"] body{direction:rtl;text-align:right}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{letter-spacing:0}
[dir="rtl"] .eyebrow{letter-spacing:0}
[dir="rtl"] .eyebrow::before{order:2}
[dir="rtl"] .prose li,[dir="rtl"] .article li,[dir="rtl"] .byc-card li,[dir="rtl"] .gate li{padding-left:0;padding-right:26px}
[dir="rtl"] .prose li::before,[dir="rtl"] .article li::before,[dir="rtl"] .byc-card li::before,[dir="rtl"] .gate li::before{left:auto;right:5px}
[dir="rtl"] .article ol li{padding-left:0;padding-right:30px}
[dir="rtl"] .article ol li::before{left:auto;right:0}
[dir="rtl"] .keybox li{padding-left:0;padding-right:26px}
[dir="rtl"] .rowline .r,[dir="rtl"] .outs dd{text-align:left}
[dir="rtl"] .tbl th,[dir="rtl"] .tbl td{text-align:right}
[dir="rtl"] .topic .ico{left:auto;right:14px}
[dir="rtl"] .faq summary::after{margin-right:auto;margin-left:0}
[dir="rtl"] .marquee-track{animation-direction:reverse}
[dir="rtl"] .sec-head{direction:rtl}
[dir="rtl"] .dd-card li,[dir="rtl"] .fact,[dir="rtl"] .check-row{direction:rtl}
[dir="rtl"] .btn svg,[dir="rtl"] .more{transform:scaleX(1)}
[dir="rtl"] .lang{margin-left:0;margin-right:18px}
/* numerals and latin fragments stay LTR inside Arabic text */
[dir="rtl"] .fig .n,[dir="rtl"] .rowline .r,[dir="rtl"] code,[dir="rtl"] .gmeta{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] .fig,[dir="rtl"] .figs .lead{text-align:center}

/* ---- Traditional Chinese ---- */
:root[lang="zh-Hant"]{--font:"PingFang TC","Noto Sans TC","Microsoft JhengHei","Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;--serif:"PingFang TC","Noto Sans TC","Microsoft JhengHei","Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif}
[lang="zh-Hant"] h1,[lang="zh-Hant"] h2,[lang="zh-Hant"] h3,[lang="zh-Hant"] h4{letter-spacing:.005em;line-height:1.3}
[lang="zh-Hant"] .hero h1{line-height:1.22;letter-spacing:0}
[lang="zh-Hant"] p,[lang="zh-Hant"] li{line-height:1.9}
[lang="zh-Hant"] .eyebrow{letter-spacing:.08em}
[lang="zh-Hant"] .sec-head h2{max-width:18ch}
[lang="zh-Hant"] .article p{font-size:16.5px}
[lang="zh-Hant"] .fig .n,[lang="zh-Hant"] .rowline .r{font-family:var(--serif)}

/* ============================================================
   LANGUAGE DROPDOWN — <details> based, works without JS
   ============================================================ */
.lang{display:none}                       /* retire the old pill row */
.langsel{position:relative;margin-left:18px;flex:none}
.langsel > summary{
  list-style:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  border:1.5px solid rgba(255,255,255,.26);border-radius:999px;
  padding:9px 14px;line-height:1;
  font-family:var(--font);font-size:13px;font-weight:600;
  color:rgba(255,255,255,.86);white-space:nowrap;
  transition:border-color .18s ease, background .18s ease;
}
.langsel > summary::-webkit-details-marker{display:none}
.langsel > summary:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08)}
.langsel > summary:focus-visible{outline:2px solid #E8C79A;outline-offset:2px}
.langsel .globe{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}
.langsel .chev{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .2s ease;flex:none}
.langsel[open] .chev{transform:rotate(180deg)}
.langsel .cur{max-width:12ch;overflow:hidden;text-overflow:ellipsis}

.langmenu{
  position:absolute;top:calc(100% + 10px);right:0;z-index:60;
  min-width:212px;padding:7px;
  background:var(--paper);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 24px 50px -22px rgba(20,17,15,.6), 0 1px 2px rgba(20,17,15,.08);
  display:flex;flex-direction:column;gap:1px;
}
[dir="rtl"] .langmenu{right:auto;left:0}
[dir="rtl"] .langsel{margin-left:0;margin-right:18px}
.langmenu a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 13px;border-radius:10px;text-decoration:none;
  font-family:var(--font);font-size:14.5px;font-weight:500;color:var(--ink);
}
.langmenu a .native{white-space:nowrap}
.langmenu a .code{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--body-2)}
.langmenu a:hover{background:var(--sky)}
.langmenu a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.langmenu a[aria-current="true"]{background:var(--sky);font-weight:700}
.langmenu a[aria-current="true"] .code{color:var(--coral)}
@media (prefers-reduced-motion:reduce){.langsel .chev,.langsel > summary{transition:none}}
@media(max-width:900px){.langsel{margin-left:10px}.langsel .cur{display:none}}

/* ============================================================
   ILLUSTRATED SERVICE CARDS — ink line art, alternating tints
   ============================================================ */
.steps{gap:22px}
.step{
  position:relative;overflow:hidden;
  padding:30px 28px 128px;
  border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--paper);
}
.step:nth-child(1),.step:nth-child(4){background:var(--sky)}
.step:nth-child(2),.step:nth-child(3){background:var(--paper)}
.step .draw{
  position:absolute;right:-6px;bottom:-4px;height:auto;margin:0;
  width:150px;pointer-events:none;
}
[dir="rtl"] .step .draw{right:auto;left:-6px;transform:scaleX(-1)}
.step .draw svg{width:100%;height:auto;overflow:visible;display:block}
.step .draw svg *{
  stroke:var(--ink);fill:none;
  stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.step .draw svg .fillc{fill:var(--coral-soft);stroke:none}
.step:nth-child(1) .draw svg .fillc,.step:nth-child(4) .draw svg .fillc{fill:rgba(255,255,255,.72)}
.step .idx{position:relative;z-index:1}
.step h4,.step p{position:relative;z-index:1}
.step p{max-width:26ch}
@media(max-width:900px){
  .step{padding-bottom:112px}
  .step .draw{width:126px}
}

/* ---- guide lead image ---- */
.ghero{margin-top:-46px;padding:0 0 8px;background:transparent}
.ghero .wrap{max-width:1000px}
.ghero figure{margin:0}
.ghero .ph{
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:var(--r-lg);aspect-ratio:21/9;background:var(--deep);
  box-shadow:0 28px 60px -32px rgba(20,17,15,.7);
}
@media(max-width:700px){.ghero .ph{aspect-ratio:16/10}}
.ghero .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.58) contrast(1.07) brightness(1.03)}
.ghero .ph::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(168deg, rgba(14,67,78,.30) 0%, rgba(31,27,24,.46) 100%);
  mix-blend-mode:multiply;
}
.ghero figcaption{
  margin-top:12px;font-family:var(--font);font-size:12.5px;
  color:var(--body-2);text-align:right;
}
/* about page inline image */
.prose figure{margin:34px 0}
.prose figure .ph{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-md);aspect-ratio:16/8;background:var(--deep)}
.prose figure .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.58) contrast(1.07) brightness(1.03)}
.prose figure .ph::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(168deg,rgba(14,67,78,.30),rgba(31,27,24,.46));mix-blend-mode:multiply}
.prose figure figcaption{margin-top:10px;font-family:var(--font);font-size:12.5px;color:var(--body-2)}

/* ============================================================
   INSET PANEL HERO — photo ground, floating chips, nav inside
   ============================================================ */
body{background:var(--sky-2)}

.hero{background:none;padding:14px 14px 0}
@media(max-width:700px){.hero{padding:8px 8px 0}}
.hero-panel{
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:34px;
  padding:0 0 72px;
  background:var(--deep);
  box-shadow:0 40px 90px -50px rgba(20,17,15,.85);
}
@media(max-width:700px){.hero-panel{border-radius:24px;padding-bottom:52px}}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.35) brightness(.62)}
.hero-panel::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(105% 80% at 78% 8%, rgba(19,88,95,.55) 0%, transparent 62%),
    linear-gradient(180deg, rgba(31,27,24,.86) 0%, rgba(14,67,78,.9) 55%, rgba(31,27,24,.96) 100%);
}
.hero-deco{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;
  background-image:
    radial-gradient(circle at center, rgba(255,255,255,.9) 1px, transparent 1.2px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(120% 75% at 82% 18%, #000 0%, transparent 70%);
          mask-image:radial-gradient(120% 75% at 82% 18%, #000 0%, transparent 70%);
}
.hero-panel > .nav,.hero-panel > .wrap{position:relative;z-index:3}
.hero-panel .nav{background:transparent}
.hero-panel .nav-in{padding:22px 0 0}

.hero .hero-grid{padding-top:48px;gap:56px;align-items:center}
@media(max-width:980px){.hero .hero-grid{padding-top:30px}}

/* badge pill above the headline */
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 8px 7px 14px;margin-bottom:22px;
  border:1px solid rgba(255,255,255,.24);border-radius:999px;
  background:rgba(255,255,255,.09);backdrop-filter:blur(6px);
  font-family:var(--font);font-size:12.5px;font-weight:600;color:rgba(255,255,255,.9);
  text-decoration:none;line-height:1;
}
.badge:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
.badge .dot{width:6px;height:6px;border-radius:50%;background:#E9B64B;flex:none}
.badge .arr{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px}

.hero h1 em{font-style:normal;color:#F0BE63}

/* stats row inside the hero */
.hero-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:34px}
.hero-stats > div{padding:0 26px;border-left:1px solid rgba(255,255,255,.2)}
.hero-stats > div:first-child{padding-left:0;border-left:none}
.hero-stats b{
  display:block;font-family:var(--serif);font-weight:500;
  font-size:34px;line-height:1;color:#fff;letter-spacing:-.02em;
}
.hero-stats b small{font-size:.42em;letter-spacing:0}
.hero-stats span{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.62)}
@media(max-width:520px){
  .hero-stats > div{padding:0 18px}
  .hero-stats b{font-size:28px}
}

/* floating chips over the sample card */
.art-wrap{position:relative}
.chip{
  position:absolute;z-index:4;display:flex;align-items:center;gap:11px;
  padding:12px 16px;border-radius:16px;
  background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 44px -22px rgba(20,17,15,.75);
  backdrop-filter:blur(10px);
  font-family:var(--font);font-size:11.5px;line-height:1.45;color:var(--body);
  max-width:196px;
}
.chip b{color:var(--ink);font-weight:700;font-size:12px}
.chip svg{width:19px;height:19px;flex:none;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chip-a{left:-42px;top:58px}
.chip-b{right:-30px;bottom:52px}
@media(max-width:1120px){.chip-a{left:-16px}.chip-b{right:-6px}}
@media(max-width:980px){.chip{display:none}}
:root[data-theme="dark"] .chip,
:root:not([data-theme="light"]) .chip{background:rgba(16,34,41,.95);border-color:rgba(255,255,255,.12)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .chip{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.7)}}

/* the lead line section no longer carries a stat grid */
.figs{padding:76px 0 62px;background:var(--sky-2)}
.figs .lead{margin-bottom:0}

/* sub-page + article heads become inset panels too */
.phead,.ghead{
  margin:14px 14px 0;border-radius:34px;overflow:hidden;
  padding:0 0 74px;
  background:
    radial-gradient(105% 85% at 80% 6%, var(--deep-3) 0%, transparent 62%),
    linear-gradient(180deg, var(--deep) 0%, var(--deep-2) 100%);
  box-shadow:0 40px 90px -52px rgba(20,17,15,.8);
}
@media(max-width:700px){.phead,.ghead{margin:8px 8px 0;border-radius:24px;padding-bottom:54px}}
.phead .nav,.ghead .nav{background:transparent}
.phead .nav-in,.ghead .nav-in{padding:22px 0 0}
.phead > .wrap:not(.nav-in),.ghead > .wrap:not(.nav-in){padding-top:46px}
.ghero{margin-top:-44px}

/* chips: sit on the card's edges, not on its text */
.chip-a{left:-54px;top:26px}
.chip-b{right:-40px;bottom:-16px}
@media(max-width:1200px){.chip-a{left:-26px}.chip-b{right:-18px}}
@media(max-width:1040px){.chip-a{left:-8px;top:14px}.chip-b{right:-4px;bottom:-8px}}

/* ============================================================
   HERO REFINEMENT — stacking fix + calmer scale, more air
   ============================================================ */

/* 1. the nav must out-rank the hero content, or its dropdown is
      capped by the parent stacking context and painted under the card */
.hero-panel > .nav,.phead > .nav,.ghead > .nav{z-index:40}
.hero-panel > .wrap,.phead > .wrap,.ghead > .wrap{z-index:3}
.langsel{z-index:50}
.langmenu{z-index:60}

/* 2. quieter scale — smaller type, wider margins read as calmer */
.hero-panel{padding-bottom:88px}
.hero .hero-grid{padding-top:62px;gap:76px;grid-template-columns:1.04fr .96fr}
@media(max-width:1100px){.hero .hero-grid{gap:52px}}

.nav-in{padding:24px 0 0}
.logo{font-size:17px}
.logo svg{width:23px;height:23px}
.nav-links{font-size:14px;gap:26px}
.nav .btn{padding:11px 20px;font-size:13.5px}
.langsel > summary{padding:8px 13px;font-size:12.5px}

.badge{font-size:11.5px;padding:6px 7px 6px 13px;margin-bottom:26px}
.hero h1{font-size:clamp(31px,4.1vw,50px);line-height:1.1;max-width:13ch;margin-bottom:22px}
.hero .lede{font-size:16.5px;line-height:1.66;max-width:42ch;margin-bottom:16px}
.hero .nots{font-size:13.5px;line-height:1.7;max-width:44ch;margin-bottom:30px}
.hero .btn{padding:13px 24px;font-size:14px}

.hero-stats{margin-top:44px}
.hero-stats > div{padding:0 24px}
.hero-stats b{font-size:27px}
.hero-stats span{font-size:11px;margin-top:7px}

/* 3. the sample card carries less weight */
.art{padding:22px 24px;border-radius:22px}
.art-h{margin-bottom:12px}
.art-h span{font-size:9.5px;letter-spacing:.13em}
.rowline{padding:9.5px 0;font-size:12.5px}
.rowline .r.flag{font-size:11px}
.art-cap{margin-top:12px;padding-top:11px;font-size:11.5px;line-height:1.62}
.chip{padding:10px 14px;font-size:11px;max-width:178px;border-radius:14px}
.chip b{font-size:11.5px}
.chip svg{width:17px;height:17px}

/* 4. more air between the panel and what follows */
.figs{padding:88px 0 70px}
.figs .lead{font-size:clamp(20px,2.5vw,27px);max-width:40ch}
section{padding:84px 0}

/* ============================================================
   HERO MEDIA — the photograph is a subject, not a texture
   ============================================================ */
.hero-panel{
  background:
    radial-gradient(110% 90% at 82% 4%, var(--deep-3) 0%, transparent 58%),
    linear-gradient(165deg, var(--deep) 0%, var(--deep-2) 100%);
}
.hero-panel::after{display:none}
.hero-deco{opacity:.2}

.hero .hero-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-bottom:6px}
@media(max-width:980px){.hero .hero-grid{grid-template-columns:1fr;gap:44px}}

.art-wrap{position:relative;padding-bottom:54px}
@media(max-width:980px){.art-wrap{padding-bottom:0}}

.hero-media{
  margin:0;position:relative;overflow:hidden;isolation:isolate;
  border-radius:26px;aspect-ratio:4/3.4;
  background:var(--deep-2);
  box-shadow:0 34px 70px -34px rgba(2,20,26,.85);
}
@media(max-width:980px){.hero-media{aspect-ratio:16/9}}
.hero-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.72) contrast(1.04) brightness(.94);
}
.hero-media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(200deg, rgba(14,67,78,.16) 0%, rgba(31,27,24,.42) 100%);
  mix-blend-mode:multiply;
}

/* the sample card overlaps the photo's lower-left corner */
.art-wrap .art{
  position:absolute;left:-46px;bottom:0;z-index:4;
  width:min(330px,86%);
  padding:19px 21px;border-radius:20px;
}
.art-wrap .art .rowline{padding:8px 0;font-size:11.8px}
.art-wrap .art .art-cap{font-size:11px;margin-top:10px;padding-top:10px}
@media(max-width:1180px){.art-wrap .art{left:-18px}}
@media(max-width:980px){
  .art-wrap .art{position:relative;left:0;bottom:0;width:100%;margin-top:-42px}
}
.chip-b{right:-26px;top:38px;bottom:auto}
@media(max-width:1180px){.chip-b{right:-8px}}
@media(max-width:980px){.chip{display:none}}

/* hero media: give the photograph room, hang the card off its corner */
.hero .hero-grid{grid-template-columns:.94fr 1.06fr;gap:56px}
@media(max-width:980px){.hero .hero-grid{grid-template-columns:1fr;gap:44px}}
.hero-media{aspect-ratio:4/3.1;border-radius:28px}
.hero-media img{object-position:center 42%}
.art-wrap{padding-bottom:40px;padding-left:78px}
@media(max-width:1180px){.art-wrap{padding-left:52px}}
@media(max-width:980px){.art-wrap{padding-left:0;padding-bottom:0}}
.art-wrap .art{left:0;bottom:-6px;width:300px}
@media(max-width:1180px){.art-wrap .art{width:270px}}
@media(max-width:980px){.art-wrap .art{position:relative;width:100%;margin-top:-40px;bottom:0}}
.chip-b{right:-22px;top:26px}

/* card sits low on a taller photograph */
.hero-media{aspect-ratio:4/3.7}
@media(max-width:980px){.hero-media{aspect-ratio:16/9}}
.art-wrap .art{bottom:-18px;width:296px}
.art-wrap .art .art-cap{font-size:10.8px;line-height:1.55}
.chip-b{right:-22px;top:22px}

/* ============================================================
   LIGHT-FIRST — white ground, petrol as accent, one dark anchor
   All values come from tokens, so dark mode follows for free.
   ============================================================ */
body{background:var(--paper)}

/* ---- hero / head panels turn light ---- */
.hero-panel,.phead,.ghead{
  background:
    radial-gradient(105% 88% at 84% 0%, rgba(21,112,126,.14) 0%, transparent 58%),
    linear-gradient(172deg, var(--sky) 0%, var(--sky-2) 62%, var(--paper) 100%);
  box-shadow:inset 0 0 0 1px var(--line);
}
.hero-deco{
  opacity:.5;
  background-image:radial-gradient(circle at center, rgba(21,112,126,.5) 1px, transparent 1.2px);
}

/* nav on a light panel */
.hero-panel .nav,.phead .nav,.ghead .nav{background:transparent}
.logo{color:var(--ink)}
.logo svg{stroke:var(--blue)}
.nav-links{color:var(--ink-2)}
.nav-links a:hover{color:var(--blue)}
header.nav .btn-primary{background:var(--deep);color:#fff;border:none;box-shadow:0 12px 26px -16px rgba(31,27,24,.55)}
header.nav .btn-primary:hover{background:var(--deep-3)}
.langsel > summary{border-color:var(--line);color:var(--ink-2);background:var(--paper)}
.langsel > summary:hover{border-color:var(--blue);background:var(--sky-2)}
.langsel > summary:focus-visible{outline-color:var(--blue)}

/* hero copy on light */
.badge{
  background:var(--paper);border-color:var(--line);color:var(--ink-2);
  box-shadow:0 6px 16px -10px rgba(31,27,24,.35);
}
.badge:hover{border-color:var(--blue);background:var(--sky-2)}
.badge .dot{background:var(--coral)}
.badge .arr{background:var(--sky);color:var(--blue)}
.hero h1{color:var(--ink)}
.hero h1 em{color:var(--coral)}
.hero .lede{color:var(--body)}
.hero .nots{color:var(--body-2)}
.hero .nots b{color:var(--ink)}
.hero .btn-primary{background:var(--deep);color:#fff;box-shadow:0 14px 30px -18px rgba(31,27,24,.6)}
.hero .btn-primary:hover{background:var(--deep-3)}
.hero .btn-ghost{border-color:var(--line);color:var(--ink)}
.hero .btn-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--paper)}
.hero-stats > div{border-left-color:var(--line)}
.hero-stats b{color:var(--ink)}
.hero-stats span{color:var(--body-2)}

/* sub-page heads on light */
.phead h1,.ghead h1{color:var(--ink)}
.phead .lede,.ghead .lede{color:var(--body)}
.crumb{color:var(--body-2)}
.crumb a{color:var(--blue)}
.gmeta{color:var(--body-2)}
.gmeta b{color:var(--ink-2)}

/* cards read as white on white — a hairline does the separating */
.art{background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 46px -26px rgba(31,27,24,.4)}
.chip{background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 34px -20px rgba(31,27,24,.45)}
.topics,.commit,.byc,.figs,.marquee,.ask{background:var(--sky-2)}
.step:nth-child(1),.step:nth-child(4){background:var(--sky)}
.cta{background:var(--sky)}
.ask{background:linear-gradient(180deg, var(--sky-2) 0%, var(--sky) 100%)}

/* the footer stays the single dark anchor */
footer{background:var(--deep-2)}
footer::before{background:linear-gradient(180deg, var(--deep) 0%, var(--deep-2) 100%)}

/* ---- cities ---- */
.cities{background:var(--paper)}
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.city-grid{grid-template-columns:1fr}}
.city{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--card-sh);display:flex;flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s cubic-bezier(.2,.7,.3,1);
}
.city:hover{transform:translateY(-3px);box-shadow:var(--card-sh-lift)}
@media (prefers-reduced-motion:reduce){.city{transition:none}.city:hover{transform:none}}
.city-img{position:relative;isolation:isolate;aspect-ratio:16/10;overflow:hidden;background:var(--deep)}
.city-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.58) contrast(1.07) brightness(1.03)}
.city-img::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(168deg,rgba(14,67,78,.28),rgba(31,27,24,.44));mix-blend-mode:multiply}
.city-body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px}
.city h3{font-size:21px;font-weight:600}
.city p{font-size:14.5px;line-height:1.7}
.city-note{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line);
  font-family:var(--font);font-size:12px;font-weight:600;color:var(--coral);
}

/* ---- how to judge ---- */
.judge-sec{background:var(--sky-2)}
.judge-list{
  list-style:none;margin:0;padding:0;counter-reset:j;
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line);
}
@media(max-width:820px){.judge-list{grid-template-columns:1fr}}
.judge-list li{
  counter-increment:j;background:var(--paper);
  padding:26px 28px 28px;display:block;position:relative;
}
.judge-list li::before{
  content:counter(j,decimal-leading-zero);
  display:block;margin-bottom:12px;
  font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--coral);
  width:auto;height:auto;background:none;border-radius:0;position:static;
}
.judge-list b{display:block;font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:9px}
.judge-list span{display:block;font-size:14.5px;line-height:1.7;color:var(--body)}
.judge-foot{
  margin-top:22px;font-size:14.5px;color:var(--body);max-width:66ch;
}
.judge-foot a{color:var(--blue);font-weight:600}

/* ---- services ---- */
.services{background:var(--paper)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.svc-grid{grid-template-columns:1fr}}
.svc{background:var(--paper);padding:28px 26px 30px;display:flex;flex-direction:column;gap:9px}
.svc-n{font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--coral)}
.svc h3{font-size:17.5px;font-weight:600;line-height:1.35}
.svc p{font-size:14.5px;line-height:1.7}
.svc:last-child{grid-column:1/-1}
@media(max-width:900px){.svc:last-child{grid-column:auto}}

.svc-not{margin-top:56px}
.svc-not h3{font-family:var(--serif);font-size:clamp(21px,2.6vw,27px);font-weight:600;margin-bottom:8px}
.svc-not-lede{font-size:16px;color:var(--body);max-width:60ch;margin-bottom:6px}
.svc-not .tbl td:first-child{width:28%}
.svc-foot{margin-top:16px;font-size:14.5px;color:var(--body-2);max-width:66ch}

/* ---- partner rules ---- */
.partner-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0 28px}
@media(max-width:860px){.partner-rules{grid-template-columns:1fr}}
.partner-rules > div{
  background:var(--sky-2);border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 24px 24px;
}
.pr-n{display:block;font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--coral);margin-bottom:10px}
.partner-rules b{display:block;font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.4;margin-bottom:7px}
.partner-rules p{font-size:14px;line-height:1.68;color:var(--body);margin:0}

/* ============================================================
   SERVICES v2 — icons, one line each, no walls of table
   ============================================================ */
.svc-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1040px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}
.svc{padding:26px 24px 28px;gap:0}
.svc-ic{display:block;width:34px;height:34px;margin-bottom:16px}
.svc-ic svg{width:100%;height:100%;overflow:visible}
.svc-ic svg *{stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.svc-n{font-size:10.5px;letter-spacing:.16em;margin-bottom:7px;display:block}
.svc h3{font-size:16px;font-weight:600;line-height:1.35;margin-bottom:8px}
.svc p{font-size:13.8px;line-height:1.62;color:var(--body-2)}
.svc:last-child{grid-column:auto}

/* tiers below */
.tier{margin-top:44px}
.tier-head h3{font-family:var(--serif);font-size:clamp(20px,2.4vw,25px);font-weight:600;margin-bottom:8px}
.tier-head p{font-size:15px;line-height:1.72;color:var(--body);max-width:62ch}
.tier-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.tier-tags span{
  font-family:var(--font);font-size:13px;font-weight:600;color:var(--ink-2);
  padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);
}
.no-tier{margin-top:52px}
.no-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:22px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(max-width:760px){.no-grid{grid-template-columns:1fr}}
.no-item{background:var(--paper);padding:22px 24px 24px;display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start}
.no-item:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:760px){.no-item:last-child:nth-child(odd){grid-column:auto}}
.no-x{
  width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:var(--sky);color:var(--body-2);font-size:11px;font-weight:700;margin-top:2px;
}
.no-item b{display:block;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);line-height:1.35;margin-bottom:6px}
.no-item p{font-size:13.8px;line-height:1.62;color:var(--body-2);margin:0 0 9px}
.no-who{
  display:inline-block;font-family:var(--font);font-size:11.5px;font-weight:700;
  color:var(--coral);letter-spacing:.02em;
}
.no-who::before{content:"→ ";opacity:.7}

/* ---- finder ---- */
.find{background:var(--sky-2)}
.find-box{
  display:flex;align-items:center;gap:12px;max-width:640px;margin:0 auto;
  background:var(--paper);border:1px solid var(--line);border-radius:999px;
  padding:6px 8px 6px 22px;box-shadow:0 18px 40px -26px rgba(31,27,24,.5);
}
.find-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--ring),0 18px 40px -26px rgba(31,27,24,.5)}
.find-box svg{width:19px;height:19px;flex:none;stroke:var(--body-2);fill:none;stroke-width:2;stroke-linecap:round}
.find-box input{
  flex:1;border:none;background:none;outline:none;
  font-family:var(--font);font-size:15.5px;color:var(--ink);padding:13px 14px 13px 0;
}
.find-box input::placeholder{color:var(--body-2)}
.find-box input::-webkit-search-cancel-button{cursor:pointer}

.find-out{max-width:640px;margin:14px auto 0;display:flex;flex-direction:column;gap:2px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.find-hit{
  display:flex;align-items:baseline;gap:14px;padding:14px 20px;background:var(--paper);
  text-decoration:none;
}
.find-hit:hover{background:var(--sky)}
.find-g{font-family:var(--font);font-size:10.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--coral);flex:none;width:78px}
.find-t{font-family:var(--font);font-size:15px;color:var(--ink);font-weight:500}
.find-none{background:var(--paper);padding:20px 22px;margin:0;font-size:14.5px;line-height:1.7;color:var(--body)}
.find-none a{color:var(--blue);font-weight:600}

.route-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:46px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(max-width:980px){.route-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.route-grid{grid-template-columns:1fr}}
.route{
  background:var(--paper);padding:24px 22px 26px;text-decoration:none;
  display:flex;flex-direction:column;gap:7px;transition:background .18s ease;
}
.route:hover{background:var(--sky)}
.route b{font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.35}
.route span{font-size:13.5px;line-height:1.6;color:var(--body-2)}
.route-alt{background:var(--sky)}
.route-alt:hover{background:var(--sky-2)}
.route-alt b{color:var(--blue)}
@media (prefers-reduced-motion:reduce){.route{transition:none}}

/* ---- Iconoir: one stroke system for every UI icon ---- */
.svc-ic svg,.fact svg,.langsel .globe,.langsel .chev,.logo svg,
.mark svg,.no-x svg,.find-box svg,.chip svg{
  stroke:currentColor;fill:none;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
}
.svc-ic svg *,.fact svg *,.logo svg *,.mark svg *,.no-x svg *,
.find-box svg *,.chip svg *,.langsel svg *{stroke:currentColor;fill:none}
.svc-ic{color:var(--blue)}
.fact svg{color:var(--blue);width:20px;height:20px}
.chip svg{color:var(--blue)}
.find-box svg{color:var(--body-2);stroke-width:1.7}
.logo svg{color:var(--blue);width:23px;height:23px}
.langsel .chev{stroke-width:2}
.mark svg{width:13px;height:13px;stroke-width:2}
.mark.y{color:var(--coral)}
.mark.n{color:var(--body-2)}
.no-x svg{width:12px;height:12px;stroke-width:2.2}
.no-x{color:var(--body-2)}
.badge .arr{display:inline-grid;place-items:center;padding:4px 7px}
.badge .arr svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .badge .arr svg{transform:scaleX(-1)}

/* ---- institution directory ---- */
.inst-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.ifb{
  appearance:none;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:600;
  padding:9px 17px;border-radius:999px;border:1px solid var(--line);
  background:var(--paper);color:var(--ink-2);line-height:1;
}
.ifb:hover{border-color:var(--blue);color:var(--blue)}
.ifb[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff}
.ifb:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
#insttable td:first-child{min-width:230px}
.inst-zh{display:block;margin-top:3px;font-size:12.5px;color:var(--body-2);font-family:var(--font)}
.inst-note{color:var(--body-2);font-size:13.5px;min-width:210px}
.pill-public,.pill-private{
  display:inline-block;font-family:var(--font);font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:999px;white-space:nowrap;
}
.pill-public{background:var(--sky);color:var(--blue)}
.pill-private{background:var(--coral-soft);color:var(--coral)}

/* ---- institution cards ---- */
.inst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 10px}
@media(max-width:940px){.inst-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.inst-grid{grid-template-columns:1fr}}
.inst{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--card-sh);
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s cubic-bezier(.2,.7,.3,1);
}
.inst:hover{transform:translateY(-3px);box-shadow:var(--card-sh-lift)}
@media (prefers-reduced-motion:reduce){.inst{transition:none}.inst:hover{transform:none}}
.inst-tile{
  height:96px;display:grid;place-items:center;position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--deep) 0%,var(--deep-3) 100%);
}
.inst-tile[data-city="shanghai"]{background:linear-gradient(150deg,#483627 0%,#5D4632 100%)}
.inst-tile[data-city="guangzhou"]{background:linear-gradient(150deg,#3F3022 0%,#5F4B39 100%)}
.inst-tile[data-city="chengdu"]{background:linear-gradient(150deg,#403123 0%,#67513D 100%)}
.inst-tile[data-city="chongqing"]{background:linear-gradient(150deg,#403123 0%,#645243 100%)}
.inst-tile::after{
  content:"";position:absolute;inset:0;opacity:.22;
  background-image:radial-gradient(circle at center, rgba(255,255,255,.9) 1px, transparent 1.2px);
  background-size:18px 18px;
}
.inst-tile span{
  position:relative;z-index:1;font-family:var(--serif);font-weight:500;
  font-size:30px;color:#fff;letter-spacing:.06em;
}
.inst-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:7px;flex:1}
.inst-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:4px}
.pill-grade{
  display:inline-block;font-family:var(--font);font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:999px;background:var(--sky-2);color:var(--ink-2);
  border:1px solid var(--line);white-space:nowrap;
}
.inst h3{font-size:16.5px;font-weight:600;line-height:1.35}
.inst .inst-zh{font-family:var(--font);font-size:12.5px;color:var(--body-2);margin:0}
.inst .inst-note{font-size:13.5px;line-height:1.62;color:var(--body);margin:2px 0 0;min-width:0}
.inst-foot{
  margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;border-top:1px solid var(--line);
}
.inst-city{font-family:var(--font);font-size:12px;font-weight:700;color:var(--coral);letter-spacing:.03em}
.inst-foot a{font-family:var(--font);font-size:12.5px;font-weight:600;color:var(--blue);text-decoration:none}
.inst-foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---- directory controls + card extras ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.inst-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:0 0 24px}
.inst-tools{display:flex;gap:10px;flex-wrap:wrap}
.inst-tools select,.inst-tools input{
  font-family:var(--font);font-size:13.5px;color:var(--ink);
  padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);
  outline:none;min-width:180px;
}
.inst-tools select:focus,.inst-tools input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--ring)}
.inst-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.dtag{
  font-family:var(--font);font-size:11px;font-weight:600;color:var(--ink-2);
  padding:3px 9px;border-radius:6px;background:var(--sky-2);border:1px solid var(--line);
}
.inst-site-row{margin-top:9px;font-family:var(--font);font-size:12.5px;word-break:break-all}
.inst-site{color:var(--blue);text-decoration:none;font-weight:600}
.inst-site:hover{text-decoration:underline;text-underline-offset:3px}
.vmark{
  display:inline-block;margin-left:5px;padding:1px 7px;border-radius:999px;
  background:var(--go-soft,var(--sky));color:var(--blue);
  font-size:10px;font-weight:700;letter-spacing:.04em;vertical-align:1px;
}
.inst-nosite{color:var(--body-2);font-size:12px;font-style:italic}

/* ---- beyond: four service blocks ---- */
.beyond-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:26px 0 0}
@media(max-width:820px){.beyond-grid{grid-template-columns:1fr}}
.byd{background:var(--paper);padding:28px 30px 30px}
.byd-n{display:block;font-family:var(--font);font-size:11px;font-weight:800;
  letter-spacing:.14em;color:var(--coral);margin-bottom:11px}
.byd h3{font-size:19px;font-weight:600;line-height:1.32;margin-bottom:8px}
.byd-what{font-size:14.5px;line-height:1.65;color:var(--body);margin:0 0 16px}
.byd dl{margin:0;display:grid;grid-template-columns:1fr;gap:12px}
.byd dt{font-family:var(--font);font-size:10.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--body-2);margin-bottom:4px}
.byd dd{margin:0;font-size:13.8px;line-height:1.62;color:var(--body)}
.byd dd b{color:var(--ink)}

/* ---- EN marker on nav items that lead to English-only pages ---- */
.nav-links a{position:relative}
.en-mark{
  font-family:var(--font);font-size:8.5px;font-weight:800;letter-spacing:.08em;
  color:var(--coral);margin-left:3px;vertical-align:4px;opacity:.85;
}
[dir="rtl"] .en-mark{margin-left:0;margin-right:3px}

/* ---- register directory ---- */
.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:980px){.dir-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dir-grid{grid-template-columns:1fr}}
.dc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
  padding:20px 22px 18px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--card-sh);
  transition:border-color .18s ease,box-shadow .18s ease}
.dc:hover{border-color:var(--blue);box-shadow:var(--card-sh-lift)}
@media (prefers-reduced-motion:reduce){.dc{transition:none}}
.dc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dc-prov{font-family:var(--font);font-size:11.5px;font-weight:700;color:var(--coral);letter-spacing:.03em}
.dc-status{font-family:var(--font);font-size:10px;font-weight:700;letter-spacing:.05em;
  padding:2px 8px;border-radius:999px;background:var(--sky);color:var(--blue);text-transform:uppercase}
.dc-filed{background:var(--sky);color:var(--blue)}
.dc h3{font-size:16px;font-weight:600;line-height:1.4;margin:0}
.dc h3 a{color:var(--ink);text-decoration:none}
.dc h3 a:hover{color:var(--blue)}
.dc-en{font-family:var(--font);font-size:12.5px;color:var(--body-2);margin:0}
.dc-filing{display:flex;align-items:baseline;gap:8px;margin:2px 0 0;font-family:var(--font);font-size:11.5px}
.dc-filing span{color:var(--body-2)}
.dc-filing code{font-size:11px;background:var(--sky-2);padding:2px 7px;border-radius:5px;color:var(--ink-2)}
.dc-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.dc-site{font-family:var(--font);font-size:11.5px;font-weight:600;color:var(--blue);text-decoration:none}
.dc-nosite{font-family:var(--font);font-size:11px;color:var(--body-2);font-style:italic}
.dc-more{font-family:var(--font);font-size:12px;font-weight:700;color:var(--blue);text-decoration:none}
.dc-more:hover{text-decoration:underline;text-underline-offset:3px}
.src-line{margin:34px 0 0;padding-top:16px;border-top:1px solid var(--line);
  font-family:var(--font);font-size:12.5px;line-height:1.7;color:var(--body-2);max-width:78ch}
.src-line a{color:var(--blue)}

/* ---- nav dropdown: hospitals & doctors ---- */
.navdrop{position:relative}
.navdrop > summary{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;
  font:inherit;color:inherit;white-space:nowrap;
}
.navdrop > summary::-webkit-details-marker{display:none}
.navdrop > summary:hover{color:var(--blue)}
.navdrop > summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px}
.navdrop .chev{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .2s ease;flex:none}
.navdrop[open] .chev{transform:rotate(180deg)}
.navdrop[open] > summary{color:var(--blue)}
.navmenu{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);z-index:60;
  width:306px;padding:7px;
  background:var(--paper);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 24px 50px -22px rgba(20,17,15,.6), 0 1px 2px rgba(20,17,15,.08);
  display:flex;flex-direction:column;gap:1px;
}
.navmenu a{
  display:block;padding:11px 13px;border-radius:10px;text-decoration:none;
  font-family:var(--font);color:var(--ink);
}
.navmenu a b{display:block;font-size:14.5px;font-weight:700;line-height:1.3}
.navmenu a span{display:block;margin-top:3px;font-size:12.5px;font-weight:500;line-height:1.4;color:var(--body-2)}
.navmenu a:hover{background:var(--sky)}
.navmenu a:hover b{color:var(--blue)}
.navmenu a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
[dir="rtl"] .navmenu{left:auto;right:50%;transform:translateX(50%)}
@media (prefers-reduced-motion:reduce){.navdrop .chev{transition:none}}
@media(max-width:900px){.navdrop{display:none}}
.navdrop svg *{stroke:currentColor;fill:none}

/* sub-page hero image sits under the head panel */
.phead + .ghero{margin-top:-44px}
@media(max-width:700px){.phead + .ghero{margin-top:-30px}}
.navdrop-w .navmenu{width:352px;left:0;transform:none}
[dir="rtl"] .navdrop-w .navmenu{left:auto;right:0;transform:none}
.navmenu-all{border-top:1px solid var(--line);margin-top:5px;padding-top:11px !important;border-radius:0 0 10px 10px}
.navmenu-all b{color:var(--blue);font-size:13.5px}

/* ---- guides index ---- */
.gsearch{position:relative;max-width:620px;margin:26px 0 18px}
.gsearch svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--body-2);fill:none;stroke-width:1.8;pointer-events:none}
.gsearch input{
  width:100%;padding:15px 18px 15px 48px;
  font-family:var(--font);font-size:15.5px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 14px 32px -24px rgba(31,27,24,.5);
}
.gsearch input::placeholder{color:var(--body-2)}
.gsearch input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--sky)}
[dir="rtl"] .gsearch svg{left:auto;right:18px}
[dir="rtl"] .gsearch input{padding:15px 48px 15px 18px}

.gsteps-wrap{background:var(--sky-2)}
.gsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
@media(max-width:900px){.gsteps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gsteps{grid-template-columns:1fr}}
.gstep{
  display:block;padding:22px 20px 24px;text-decoration:none;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  transition:border-color .18s ease, transform .18s ease;
}
.gstep:hover{border-color:var(--blue);transform:translateY(-2px)}
.gstep-n{
  display:inline-block;margin-bottom:12px;padding:4px 10px;border-radius:999px;
  background:var(--sky);color:var(--deep);
  font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.gstep b{display:block;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:7px}
.gstep:hover b{color:var(--blue)}
.gstep > span:last-child{display:block;font-size:14px;line-height:1.55;color:var(--body)}

.gchips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:8px}
.gchip{
  padding:9px 16px;border-radius:999px;cursor:pointer;
  font-family:var(--font);font-size:13.5px;font-weight:600;color:var(--body);
  background:var(--paper);border:1px solid var(--line);
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.gchip:hover{border-color:var(--blue);color:var(--blue)}
.gchip.on{background:var(--deep);border-color:var(--deep);color:#fff}
.gchip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.gcount{margin:14px 0 4px;font-size:13px;font-weight:600;color:var(--body-2)}

.glist{border-top:1px solid var(--line)}
.grow{
  display:flex;align-items:flex-start;gap:16px;
  padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;
  transition:background .15s ease;
}
.grow:hover{background:var(--sky-2)}
.grow-ic{flex:none;width:26px;height:26px;margin-top:2px}
.grow-ic svg{width:100%;height:100%;stroke:var(--blue);fill:none;stroke-width:1.5}
.grow-b{flex:1;min-width:0}
.grow-t{display:block;font-size:17px;font-weight:700;color:var(--ink);line-height:1.35}
.grow:hover .grow-t{color:var(--blue)}
.grow-d{display:block;margin-top:6px;font-size:14.5px;line-height:1.6;color:var(--body);max-width:72ch}
.grow-m{flex:none;display:flex;align-items:center;gap:22px;padding-top:3px}
.grow-cat{font-size:13px;font-weight:600;color:var(--blue);white-space:nowrap}
.grow-rt{font-size:13px;color:var(--body-2);white-space:nowrap;min-width:76px;text-align:right}
@media(max-width:860px){
  .grow{flex-wrap:wrap}
  .grow-m{width:100%;padding-left:42px;padding-top:10px;gap:14px}
  .grow-rt{text-align:left;min-width:0}
  .grow-rt::before{content:"· "}
}
.gnone{margin-top:26px;font-size:15px;line-height:1.6;color:var(--body)}
.gnone a{color:var(--blue);font-weight:600}

/* ---- callout boxes retired: plain prose, no gold bar, no shouting labels ---- */
.aside{
  margin:30px 0;padding:0 0 0 22px;
  border-left:2px solid var(--line);background:none;box-shadow:none;border-radius:0;
}
.aside > *:last-child{margin-bottom:0}
.aside p{margin:0 0 12px;font-size:16px;line-height:1.75;color:var(--body)}
.aside ul,.aside ol{margin:0 0 12px}
.aside li{font-size:16px;line-height:1.7}
.sub-h{
  margin:0 0 10px;font-family:var(--font);
  font-size:15.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink);
}
[dir="rtl"] .aside{padding:0 22px 0 0;border-left:0;border-right:2px solid var(--line)}
/* labels lose the tiny gold uppercase treatment everywhere */
.lbl,.keybox .lbl,.toc .lbl{
  font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--ink);
}

/* footer mirrors the header nav: five columns */
.f-grid{grid-template-columns:1.5fr 1.15fr 1fr 1.15fr .85fr;gap:34px}
@media(max-width:1080px){.f-grid{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:620px){.f-grid{grid-template-columns:1fr}}
footer h5{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
footer .legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.gdisc a{color:var(--blue);font-weight:600}

/* ---- care-area cards ---- */
.ca-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:8px 0 40px}
@media(max-width:760px){.ca-grid{grid-template-columns:1fr}}
.ca{display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:20px;transition:border-color .18s ease,transform .18s ease}
.ca:hover{border-color:var(--blue);transform:translateY(-2px)}
.ca-img{aspect-ratio:16/7;overflow:hidden;background:var(--sky)}
.ca-img img{width:100%;height:100%;object-fit:cover;display:block}
.ca-b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.ca-b h3{font-size:19px;font-weight:700;line-height:1.3;margin-bottom:9px}
.ca-b h3 a{text-decoration:none;color:var(--ink)}
.ca:hover .ca-b h3 a{color:var(--blue)}
.ca-b p{font-size:14.5px;line-height:1.65;color:var(--body);margin-bottom:14px}
.ca-b .more{margin-top:auto;font-size:14px;font-weight:700;color:var(--blue);text-decoration:none}

/* ---- contact cards ---- */
.cc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:8px}
@media(max-width:700px){.cc-grid{grid-template-columns:1fr}}
.cc{padding:24px 26px;background:var(--sky-2);border:1px solid var(--line);border-radius:20px}
.cc h3{font-size:15px;font-weight:700;color:var(--body-2);margin-bottom:10px}
.cc-a{font-size:18px;font-weight:700;color:var(--blue);margin-bottom:10px;word-break:break-word}
.cc p{font-size:14.5px;line-height:1.65;color:var(--body);margin:0}
.cc a{color:var(--blue);font-weight:600}

/* ---- consent checkbox ---- */
.consent{margin-top:4px}
.consent label{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.6;color:var(--body);font-weight:400;cursor:pointer}
.consent input{margin-top:2px;flex:none;width:16px;height:16px;accent-color:var(--deep)}
.consent a{color:var(--blue);font-weight:600}

/* ---- nav stays on one row ---- */
@media(min-width:901px){
  .nav-in{flex-wrap:nowrap;row-gap:0;gap:16px}
  .nav-links{gap:22px;font-size:14.5px;flex:0 1 auto;min-width:0;white-space:nowrap}
  .logo{flex:none;font-size:17.5px}
  .langsel{margin-left:6px}
  .nav-in > .btn-primary{flex:none;white-space:nowrap;padding:10px 18px;font-size:14px}
}
@media(min-width:901px) and (max-width:1240px){
  .nav-in{gap:12px}
  .nav-links{gap:16px;font-size:13.5px}
  .logo{font-size:16px}
  .logo svg{width:20px;height:20px}
  .langsel > summary{padding:7px 11px;font-size:12px}
  .langsel .cur{display:none}
  .nav-in > .btn-primary{padding:9px 15px;font-size:13.5px}
}

/* ---- nav: fit on one row at every desktop width ---- */
@media(min-width:901px){
  .nav-in{flex-wrap:nowrap;row-gap:0;gap:14px;align-items:center}
  .logo{flex:none;font-size:16.5px;gap:8px}
  .logo svg{width:20px;height:20px}
  .nav-links{flex:0 1 auto;min-width:0;gap:18px;font-size:14px;white-space:nowrap}
  .langsel{flex:none;margin-left:2px}
  .langsel > summary{padding:8px 12px;font-size:12.5px}
  .nav-in > .btn-primary{flex:none;white-space:nowrap;padding:10px 17px;font-size:13.5px}
}
@media(min-width:901px) and (max-width:1500px){
  .langsel .cur{display:none}
}
@media(min-width:901px) and (max-width:1180px){
  .nav-in{gap:10px}
  .nav-links{gap:13px;font-size:13px}
  .logo{font-size:15px}
  .nav-in > .btn-primary{padding:9px 13px;font-size:13px}
}

/* ---- homepage hero fills the viewport ---- */
.hero{min-height:100vh;min-height:100svh;display:flex}
.hero > .hero-panel{flex:1;display:flex;flex-direction:column}
.hero-panel > .hero-grid{flex:1;align-content:center;padding-top:8px;padding-bottom:40px}
@media(max-width:900px){
  .hero{min-height:0;display:block}
  .hero > .hero-panel{display:block}
  .hero-panel > .hero-grid{padding-bottom:0}
}

/* ---- homepage hero: true full-bleed, and fits one screen ---- */
@media(min-width:901px){
  .hero{padding:0}
  .hero > .hero-panel{margin:0;border-radius:0 0 34px 34px}
  .hero-panel > .nav .nav-in{padding-top:26px}
}
/* shorter viewports: compress so the whole first screen is visible */
@media(min-width:901px) and (max-height:940px){
  .hero h1{font-size:clamp(34px,4.2vw,52px)}
  .hero .lede{font-size:16.5px;margin-bottom:12px}
  .hero .nots{font-size:14px;margin-bottom:20px}
  .hero .badge{margin-bottom:18px}
  .hero-stats{margin-top:26px;padding-top:22px}
  .hero-grid{padding-bottom:26px;gap:38px}
}
@media(min-width:901px) and (max-height:820px){
  .hero h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:14px}
  .hero .lede{font-size:15.5px;max-width:42ch}
  .hero .nots{font-size:13.5px;margin-bottom:16px}
  .hero .badge{margin-bottom:14px;font-size:12.5px}
  .hero-cta .btn{padding:12px 20px;font-size:14px}
  .hero-stats{margin-top:20px;padding-top:18px}
  .hero-stats b{font-size:30px}
  .hero-stats span{font-size:12px}
  .hero-grid{padding-bottom:20px;gap:30px}
  .hero-panel > .nav .nav-in{padding-top:18px}
  .art-cap{font-size:12.5px}
}
@media(min-width:901px) and (max-height:700px){
  .hero{min-height:0}
  .hero > .hero-panel{border-radius:0 0 28px 28px}
  .hero-grid{padding-bottom:14px;gap:26px}
  .hero-stats{margin-top:16px;padding-top:14px}
  .hero-stats b{font-size:26px}
  .hero .badge{margin-bottom:12px}
  .hero-panel > .nav .nav-in{padding-top:14px}
}

/* ---- nav is identical on every page type ---------------------------------
   .ghead .wrap was capped at 820px (the article measure) and that cap was
   also hitting the nav, squeezing the links until they painted under the
   language selector. The nav keeps the full site measure everywhere.        */
.phead > .nav .nav-in,
.ghead > .nav .nav-in,
.hero-panel > .nav .nav-in{max-width:1160px;margin:0 auto;padding-left:28px;padding-right:28px}
.ghead .nav .wrap{max-width:1160px}
@media(min-width:901px){
  /* never let the links shrink below their content — overlap is worse than any overflow */
  .nav-links{flex:0 0 auto;min-width:auto}
}
@media(min-width:901px) and (max-width:1030px){
  .phead > .nav .nav-in,.ghead > .nav .nav-in,.hero-panel > .nav .nav-in{padding-left:16px;padding-right:16px}
  .nav-in{gap:8px}
  .nav-links{gap:9px;font-size:12.5px}
  .logo{font-size:14px;gap:6px}
  .logo svg{width:18px;height:18px}
  .langsel > summary{padding:7px 9px}
  .nav-in > .btn-primary{padding:8px 11px;font-size:12.5px}
}
@media(min-width:901px) and (max-width:945px){
  /* last sliver before the mobile layout: wordmark gives way to the mark */
  .nav-in > .logo{font-size:0;gap:0}
  .nav-in > .logo svg{width:22px;height:22px}
  .nav-links{gap:8px;font-size:12px}
  .nav-in > .btn-primary{padding:8px 10px;font-size:12px}
}

/* ---- reveal on scroll (classes applied by reveal.js only) ---- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
footer .cn-mark{margin:-6px 0 10px;font-size:14px;font-weight:600;letter-spacing:.14em;opacity:.75}

/* ---- brand mark ----
   旧规则 .logo svg *{stroke:currentColor;fill:none} 是给线性图标用的，
   这里用更高优先级把填充还原。 */
.logo svg.logomark{width:auto;height:1.3em;flex:none;overflow:visible}
.logo svg.logomark path{stroke:none}
.logo svg.logomark .pw-a{fill:var(--brand-a)}
.logo svg.logomark .pw-b{fill:var(--brand-b);opacity:.8}
footer .logo{display:flex;align-items:center;gap:10px}
footer .logo svg.logomark{height:1.18em}
footer .logo svg.logomark .pw-a{fill:#FFFFFF}
footer .logo svg.logomark .pw-b{fill:#FFFFFF;opacity:.6}

/* ---- 品牌名与标志放大 ---- */
@media(min-width:901px){
  .nav-in > .logo{font-size:21px;gap:10px;letter-spacing:-.025em}
  .nav-in > .logo svg.logomark{height:1.42em}
}
@media(min-width:901px) and (max-width:1180px){
  .nav-in > .logo{font-size:18.5px;gap:8px}
}
@media(min-width:901px) and (max-width:1030px){
  .nav-in > .logo{font-size:16.5px}
}
@media(min-width:901px) and (max-width:945px){
  .nav-in > .logo{font-size:0;gap:0}
  .nav-in > .logo svg.logomark{height:26px}
}
@media(max-width:900px){
  .nav-in > .logo{font-size:19px;gap:9px}
  .nav-in > .logo svg.logomark{height:1.4em}
}


/* ---- 首屏与导航拉开距离 ---- */
@media(min-width:901px){
  .hero-panel > .hero-grid{padding-top:52px}
}
@media(min-width:901px) and (max-height:820px){
  .hero-panel > .hero-grid{padding-top:34px}
}
@media(min-width:901px) and (max-height:700px){
  .hero-panel > .hero-grid{padding-top:22px}
}


/* ================= logo 双色品牌系统 ================= */
/* 主按钮：logo 渐变 + 深字（#FB9302 上 8.0:1，#F64D45 上 5.2:1） */
.btn-primary,
.hero .btn-primary,
.nav-in > .btn-primary{
  background:linear-gradient(135deg,var(--brand-a) 0%,var(--brand-b) 100%);
  color:#231205;border:none;
  box-shadow:0 14px 30px -18px rgba(214,55,31,.55);
}
.btn-primary:hover,.hero .btn-primary:hover{filter:brightness(.95);background:linear-gradient(135deg,var(--brand-a) 0%,var(--brand-b) 100%)}
/* 大号强调字用 logo 红（大字 3:1 达标） */
.hero h1 em,.sec-head h2 em,.phead h1 em,.ghead h1 em,.cta h2 em,.figs .lead em{color:var(--brand-b);font-style:inherit}
/* 步骤徽标同样上渐变 */
.gstep-n{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#231205}
/* 首页新区块 */
.home-steps{background:var(--sky-2)}
.home-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.home-3{grid-template-columns:1fr}}
.home-more{margin-top:28px;font-size:15px;font-weight:700}
.home-more a{color:var(--blue);text-decoration:none}
.home-more a:hover{text-decoration:underline}
/* 首屏再离导航远一点 */
@media(min-width:901px){
  .hero-panel > .hero-grid{padding-top:96px}
}
@media(min-width:901px) and (max-height:940px){
  .hero-panel > .hero-grid{padding-top:72px}
}
@media(min-width:901px) and (max-height:820px){
  .hero-panel > .hero-grid{padding-top:48px}
}

/* ---- 子页首屏：左文右图，一屏收纳 ---- */
.phead .head-grid,.ghead .head-grid{
  display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center;
  max-width:1160px;
}
.head-copy{min-width:0}
.head-media{margin:0;min-width:0}
.head-media img{
  display:block;width:100%;aspect-ratio:5/4;object-fit:cover;
  border-radius:22px;box-shadow:0 28px 60px -34px rgba(20,17,15,.5);
}
.head-media figcaption{margin-top:12px;font-size:12.5px;line-height:1.55;color:var(--body-2)}
.phead.has-media h1,.ghead.has-media h1{max-width:none}
@media(max-width:900px){
  .phead .head-grid,.ghead .head-grid{grid-template-columns:1fr;gap:26px}
  .head-media img{aspect-ratio:16/9;border-radius:16px}
}

/* ================= 医疗官网视觉升级 ================= */
/* 科室网格 */
.dept{background:var(--paper)}
.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
@media(max-width:1000px){.dept-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.dept-grid{grid-template-columns:1fr}}
.dept-card{
  display:flex;flex-direction:column;gap:9px;padding:26px 22px 24px;text-decoration:none;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.dept-card:hover{border-color:var(--brand-a);transform:translateY(-3px);box-shadow:0 20px 42px -26px rgba(214,55,31,.35)}
.dept-ic{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:4px;
  background:linear-gradient(135deg,#FFEBD2,#FFDCD4);
}
.dept-ic svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dept-card b{font-size:16px;font-weight:700;color:var(--ink)}
.dept-card:hover b{color:var(--blue)}
.dept-d{font-size:13px;line-height:1.5;color:var(--body-2)}
.home-more.ctr{text-align:center}

/* 数据带 */
.stats{background:linear-gradient(135deg,#FFF3E2,#FFE9DC);padding:44px 0}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media(max-width:900px){.stats-row{grid-template-columns:repeat(2,1fr)}}
.stat{text-align:center;padding:6px 10px;border-left:1px solid rgba(201,58,32,.18)}
.stat:first-child{border-left:none}
@media(max-width:900px){.stat{border-left:none}}
.stat b{display:block;font-size:clamp(30px,3.4vw,42px);font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1}
.stat b small{font-size:.5em;font-weight:800}
.stat span{display:block;margin-top:9px;font-size:13px;line-height:1.5;color:var(--body)}

/* 步骤连接线 */
.home-3{position:relative}
@media(min-width:901px){
  .home-3::before{
    content:"";position:absolute;top:38px;left:16%;right:16%;z-index:0;
    border-top:2px dashed rgba(201,58,32,.35);
  }
  .home-3 .gstep{position:relative;z-index:1}
}
.home-3 .gstep-n{border-radius:999px;width:44px;height:44px;display:grid;place-items:center;padding:0;font-size:13px}

/* 指南资讯卡 */
.gnews{background:var(--sky-2)}
.gnews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media(max-width:900px){.gnews-grid{grid-template-columns:1fr}}
.gn{display:flex;flex-direction:column;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .18s ease,border-color .18s ease}
.gn:hover{transform:translateY(-3px);border-color:var(--brand-a)}
.gn-img{display:block;aspect-ratio:16/9;overflow:hidden}
.gn-img img{width:100%;height:100%;object-fit:cover;display:block}
.gn-tag{margin:16px 20px 6px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.gn b{margin:0 20px 20px;font-size:16.5px;font-weight:700;line-height:1.4;color:var(--ink)}
.gn:hover b{color:var(--blue)}

/* 首屏数字徽章 */
.chip-n{display:flex;align-items:center;gap:10px}
.chip-n b{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--blue)}
.chip-n span{font-size:11.5px;line-height:1.35;color:var(--body)}

/* CTA 渐变板 */
.cta > .wrap{
  background:linear-gradient(135deg,#FFF1DE 0%,#FFE3D6 100%);
  border-radius:28px;padding:64px 40px;
}


/* ---- 按钮渐变：以更高优先级压过主题层与导航层 ---- */
:root:not([data-theme="dark"]) .btn-primary,
:root[data-theme="dark"] .btn-primary,
header.nav .btn-primary,
.hero .btn-primary{
  background:linear-gradient(135deg,var(--brand-a) 0%,var(--brand-b) 100%);
  color:#231205;border:none;
  box-shadow:0 14px 30px -18px rgba(214,55,31,.5);
}
:root:not([data-theme="dark"]) .btn-primary:hover,
header.nav .btn-primary:hover,
.hero .btn-primary:hover{
  background:linear-gradient(135deg,var(--brand-a) 0%,var(--brand-b) 100%);
  filter:brightness(.95);
}
/* 首屏数字徽章排版 */
.chip-n b{font-size:20px}
.chip-n span{width:150px;line-height:1.4}
/* 深赭页脚底栏提亮（≥4.5:1） */
footer .legal, footer .legal span{color:#EAD8CB}
footer .legal a{color:#FFD9B4}

/* ---- 导航当前栏目高亮；面包屑已移除 ---- */
.nav-links > a.nav-on{color:var(--blue)}
.navdrop.nav-on > summary{color:var(--blue)}
/* 子页首图去投影 */
.head-media img{box-shadow:none}

/* ================= 正文排版 v2 ================= */
.head-media img{aspect-ratio:4/3;max-height:430px}
.ghead .lede,.phead .lede{font-size:17.5px;line-height:1.78}
.article .wrap{max-width:760px}
.article p{font-size:16.5px;line-height:1.85;margin:0 0 20px}
.article h2{
  font-size:clamp(23px,2.5vw,29px);font-weight:800;letter-spacing:-.015em;
  color:var(--ink);margin:54px 0 18px;padding-top:20px;position:relative;
}
.article h2::before{
  content:"";position:absolute;top:0;left:0;width:44px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--brand-a),var(--brand-b));
}
.article h3{font-size:18.5px;font-weight:700;color:var(--ink);margin:32px 0 12px}
.article ul{list-style:none;padding:0;margin:0 0 22px}
.article ul > li{position:relative;padding-left:26px;margin-bottom:12px;font-size:16px;line-height:1.75}
.article ul > li::before{
  content:"";position:absolute;left:2px;top:.66em;width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-a),var(--brand-b));
}
.article ol{padding-left:24px;margin:0 0 22px}
.article ol > li{margin-bottom:12px;font-size:16px;line-height:1.75;padding-left:6px}
.article ol > li::marker{font-weight:800;color:var(--blue)}
.article a{
  color:var(--blue);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1.5px;text-decoration-color:rgba(201,58,32,.32);
}
.article a:hover{text-decoration-color:var(--blue)}
.article .tbl{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:26px 0}
.article table{width:100%;border-collapse:collapse;font-size:14.5px}
.article thead th{background:var(--sky);color:var(--ink);font-weight:700;text-align:left;padding:13px 16px;font-size:13.5px}
.article td{padding:13px 16px;border-top:1px solid var(--line);vertical-align:top;line-height:1.6}
.article tbody tr:hover{background:var(--sky-2)}
.article .keybox{
  background:linear-gradient(135deg,#FFF3E2,#FFE9DC);border:none;border-radius:20px;
  padding:28px 30px;margin:6px 0 40px;
}
.article .keybox .lbl{color:var(--blue)}
.article .notcover,.article .sources{
  background:var(--sky-2);border:1px solid var(--line);border-radius:18px;padding:24px 28px;margin:36px 0;
}
.article .aside{border-left-color:var(--brand-a)}

/* ============ 布局统一 v3：子页面页边距与主页一致 + TOC/列表修复 ============ */
/* 首屏与正文容器统一到主页的 1160px 栅格，左右边距完全对齐 */
.ghead .wrap,.phead .wrap,.article .wrap{max-width:1160px}
/* 正文文字块保持可读行长，但左缘与主页各版块对齐 */
.article p,.article ul,.article ol{max-width:none}
.article h2,.article h3{max-width:none}
.article .tbl,.article .toc,.article .keybox,.article .note,.article .aside,.article .warn{max-width:none}

/* 有序列表：恢复网格计数器（修复序号与文字重叠） */
.article ol{list-style:none;padding-left:0;margin:0 0 22px;display:flex;flex-direction:column;gap:11px;counter-reset:o}
.article ol > li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding-left:0;margin-bottom:0}
.article ol > li::before{content:counter(o) ".";counter-increment:o;position:static;width:auto;height:auto;background:none;border-radius:0;font-weight:800;color:var(--blue);font-size:15px;line-height:inherit;margin:0}
/* 无序列表：明确用块级+绝对定位圆点，避免旧网格规则残留 */
.article ul > li{display:block;grid-template-columns:none}

/* 目录卡在宽版下走两栏 */
.article .toc ol{display:grid;grid-template-columns:1fr 1fr;gap:10px 44px;counter-reset:t}
.article .toc li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding-left:0}
.article .toc li::before{content:counter(t,decimal-leading-zero);counter-increment:t;position:static;width:auto;height:auto;background:none;border-radius:0;font-size:12.5px;font-weight:800;color:var(--blue);padding-top:3px;margin:0}
@media (max-width:760px){.article .toc ol{grid-template-columns:1fr}}
/* 有序列表改用绝对定位序号，避免网格自动布局把文字挤进窄列 */
.article ol > li{display:block;grid-template-columns:none;position:relative;padding-left:34px}
.article ol > li::before{position:absolute;left:0;top:0}
.article .toc li{display:grid;grid-template-columns:30px 1fr;padding-left:0;position:static}
.article .toc li::before{position:static}

/* ============ 研学院校卡片 ============ */
.uni-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0 10px;max-width:none}
.uni-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .25s,transform .25s}
.uni-card:hover{box-shadow:0 18px 40px -24px rgba(140,49,23,.35);transform:translateY(-2px)}
.uni-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.uni-mono{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border-radius:10px;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#231205;font-weight:900;font-size:13px;letter-spacing:.06em}
.uni-city{font-size:12px;font-weight:700;color:var(--body-2);background:var(--sky);border:1px solid var(--line);border-radius:999px;padding:4px 11px}
.uni-card > b{font-size:16.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.uni-theme{font-size:13px;font-weight:700;color:var(--blue)}
.uni-card p{font-size:14px;line-height:1.65;color:var(--body);margin:0}
.uni-note{font-size:13px;color:var(--body-2);max-width:none}
@media (max-width:1100px){.uni-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.uni-grid{grid-template-columns:1fr}}
/* 研学卡片 v2：校徽版 */
.uni-top{align-items:flex-start}
.uni-logo{width:64px;height:65px;flex:0 0 auto}
.uni-abbr{display:none}
.uni-card{padding:26px 24px 22px;gap:9px}
.uni-card > b{font-size:17.5px}

/* 研学院校：折叠的完整名单 */
.uni-more{margin:18px 0 6px;max-width:none}
.uni-more > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--blue);border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 22px;transition:box-shadow .2s}
.uni-more > summary::-webkit-details-marker{display:none}
.uni-more > summary:hover{box-shadow:0 10px 24px -16px rgba(140,49,23,.4)}
.uni-more > summary .chev{width:16px;height:16px;transition:transform .25s}
.uni-more[open] > summary .chev{transform:rotate(180deg)}
.uni-all{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.uni-mini{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.uni-mini img{width:46px;height:47px;flex:0 0 auto}
.uni-mini span{display:flex;flex-direction:column;gap:2px;min-width:0}
.uni-mini b{font-size:14px;font-weight:700;color:var(--ink);line-height:1.3}
.uni-mini i{font-style:normal;font-size:12px;font-weight:600;color:var(--body-2)}
@media (max-width:1100px){.uni-all{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.uni-all{grid-template-columns:1fr}}

/* ============ 子页首屏 v4：与首页一致的通栏色块 + 大图展示 ============ */
@media(min-width:901px){
  .phead,.ghead{margin:0;border-radius:0 0 34px 34px}
  .phead > .nav .nav-in,.ghead > .nav .nav-in{padding-top:26px}
}
@media(max-width:900px){
  .phead,.ghead{margin:0;border-radius:0 0 24px 24px}
}
.phead,.ghead{padding-bottom:84px}
.phead .head-grid,.ghead .head-grid{align-items:stretch;gap:64px}
.head-copy{display:flex;flex-direction:column;justify-content:center}
.head-media{display:flex;flex-direction:column;justify-content:center}
.head-media img{aspect-ratio:auto;height:100%;min-height:440px;max-height:560px;object-fit:cover}
@media(max-width:900px){.head-media img{min-height:0;height:auto;aspect-ratio:16/9}}

/* 小节配图 */
.sec-img{margin:28px 0 30px;max-width:none}
.sec-img img{display:block;width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:20px}
@media(max-width:700px){.sec-img img{aspect-ratio:16/9;border-radius:14px}}

/* 名企参访路线卡 */
.ev-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.ev-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 24px 20px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .25s,transform .25s}
.ev-card:hover{box-shadow:0 18px 40px -24px rgba(140,49,23,.35);transform:translateY(-2px)}
.ev-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ev-top b{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.ev-lbl{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--body-2)}
.ev-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ev-tags i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--blue);background:var(--sky);border:1px solid var(--line);border-radius:999px;padding:5px 12px}
@media(max-width:1100px){.ev-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ev-grid{grid-template-columns:1fr}}

/* ============ 套餐 / 项目 / 基地 / 定制 ============ */
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 10px;max-width:none}
.pkg{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .25s,transform .25s}
.pkg:hover{box-shadow:0 18px 40px -24px rgba(140,49,23,.35);transform:translateY(-2px)}
.pkg > b{font-size:17px;font-weight:800;color:var(--ink)}
.pkg-price{font-size:21px;font-weight:900;color:var(--blue);letter-spacing:-.01em;display:flex;align-items:baseline;gap:8px}
.pkg-price i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--body-2);text-transform:uppercase}
.pkg-meta{font-size:12.5px;font-weight:700;color:var(--body-2)}
.pkg ul{list-style:none;padding:0;margin:6px 0 0;max-width:none}
.pkg ul li{position:relative;padding-left:20px;margin-bottom:8px;font-size:13.5px;line-height:1.5;color:var(--body)}
.pkg ul li::before{content:"";position:absolute;left:2px;top:.5em;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--brand-a),var(--brand-b))}
@media(max-width:1100px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pkg-grid{grid-template-columns:1fr}}

.proc-filter{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 20px;max-width:none}
.proc-filter .pf{cursor:pointer;font:inherit;font-size:13.5px;font-weight:700;color:var(--body);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;transition:all .2s}
.proc-filter .pf:hover{color:var(--blue)}
.proc-filter .pf.on{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#231205;border-color:transparent}
.proc-grid{grid-template-columns:repeat(3,1fr)}
.proc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;gap:7px}
.proc p{font-size:13.5px;line-height:1.6;color:var(--body);margin:0;max-width:none}
@media(max-width:1100px){.proc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.proc-grid{grid-template-columns:1fr}}

.base-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 8px;max-width:none}
.base{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .25s,transform .25s}
.base:hover{box-shadow:0 18px 40px -24px rgba(140,49,23,.35);transform:translateY(-2px)}
.base-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.base-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:5px}
.base-b b{font-size:16px;font-weight:800;color:var(--ink)}
.base-b p{font-size:13px;line-height:1.55;color:var(--body);margin:0;max-width:none}
@media(max-width:1100px){.base-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.base-grid{grid-template-columns:1fr}}

.custom-band{margin:44px 0 10px;background:linear-gradient(135deg,#FFF3E2,#FFE9DC);border-radius:22px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:none}
.custom-band b{font-size:19px;font-weight:800;color:var(--ink);display:block;margin-bottom:8px}
.custom-band p{margin:0;font-size:15px;line-height:1.7;color:var(--body);max-width:64ch}
.custom-band .btn{flex:0 0 auto}
@media(max-width:800px){.custom-band{flex-direction:column;align-items:flex-start}}

/* 六档体检 + 三档康养 */
.pkg-6{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.pkg-6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pkg-6{grid-template-columns:1fr}}
.wellness-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.wellness-3{grid-template-columns:1fr}}
.article h3{font-size:20px;margin-top:44px}

/* 下拉菜单不被首屏面板裁切 */
.phead,.ghead{overflow:visible}
.phead .navmenu,.ghead .navmenu,.hero-panel .navmenu,.langmenu{z-index:60}
/* 参访卡公司标识 */
.co-id{display:flex;align-items:center;gap:12px;min-width:0}
.co-logo{height:30px;width:auto;max-width:110px;object-fit:contain;flex:0 0 auto}
.co-id .uni-mono{height:30px;padding:0 10px;font-size:12px}
.ev-top b{font-size:16.5px}

/* 项目图卡 v2 + 详情页 */
.proc-v2{padding:0;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.proc-v2:hover{box-shadow:0 20px 44px -26px rgba(140,49,23,.4);transform:translateY(-3px)}
.proc-img{position:relative;display:block}
.proc-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.proc-badge{position:absolute;left:14px;bottom:12px;font-style:normal;font-size:13px;font-weight:800;color:#231205;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));border-radius:999px;padding:6px 14px;box-shadow:0 8px 18px -8px rgba(214,55,31,.6)}
.proc-b{display:flex;flex-direction:column;gap:7px;padding:18px 20px 20px}
.proc-v2 .more{font-size:13.5px;font-weight:800;color:var(--blue);margin-top:2px}

/* 详情页 FAQ 手风琴 */
.faq{border:1px solid var(--line);border-radius:16px;background:#fff;margin:0 0 12px;max-width:none}
.faq > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:700;font-size:15.5px;color:var(--ink);padding:18px 22px}
.faq > summary::-webkit-details-marker{display:none}
.faq > summary .chev{width:18px;height:18px;color:var(--body-2);transition:transform .25s;flex:0 0 auto}
.faq[open] > summary .chev{transform:rotate(180deg)}
.faq[open] > summary{color:var(--blue)}
.faq > p{margin:0;padding:0 22px 18px;font-size:14.5px;line-height:1.7;color:var(--body)}
.pkg ul{margin-top:8px}
/* 新版 FAQ：去掉旧的 +/− 伪元素，只留箭头 */
details.faq > summary::after,details.faq[open] > summary::after{content:none}

/* 去下划线：正文链接改为色彩+悬浮下划线，卡片类链接彻底无下划线 */
.article a{text-decoration:none}
.article a:hover{text-decoration:underline;text-underline-offset:3px}
.article a.proc,.article a.proc *,.article a.gstep,.article a.gstep *,
.article a.base,.article a.base *,.proc-v2 *,.gn,.gn *,.ca a,.uni-mini *{text-decoration:none!important}
.article a.proc:hover *,.article a.gstep:hover *,.article a.base:hover *{text-decoration:none!important}

/* 项目详情首屏：大图 + 玻璃胶囊 */
.proc-head{padding-bottom:0}
.proc-banner{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;margin-top:18px}
.pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proc-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,18,14,.35),rgba(24,18,14,.55))}
.pb-glass{position:relative;z-index:2;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:44px 84px;text-align:center;max-width:860px;margin:0 24px}
.pb-glass h1{color:#fff;font-size:clamp(26px,3.4vw,40px);font-weight:800;margin:0 0 18px;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.pb-stats{display:flex;align-items:center;justify-content:center;gap:36px}
.pb-stats > div{display:flex;flex-direction:column;gap:6px}
.pb-stats span{font-size:13px;font-weight:600;color:rgba(255,255,255,.85)}
.pb-stats b{font-size:22px;font-weight:900;color:#FFD9B4;letter-spacing:-.01em}
.pb-stats i{width:1px;height:44px;background:rgba(255,255,255,.4)}
@media(max-width:760px){.pb-glass{border-radius:32px;padding:30px 26px}.pb-stats{flex-direction:column;gap:14px}.pb-stats i{display:none}.proc-banner{min-height:380px}}

/* 玻璃胶囊：更细长 + 深色玻璃增强对比 */
.pb-glass{background:rgba(24,18,14,.38);border:1px solid rgba(255,255,255,.28);padding:26px 72px;border-radius:999px;max-width:900px}
.pb-glass h1{margin-bottom:12px;font-size:clamp(24px,3vw,36px)}
.proc-banner{min-height:420px}
.proc-banner::before{background:linear-gradient(180deg,rgba(24,18,14,.28),rgba(24,18,14,.5))}
.pb-stats{gap:44px}
.pb-stats span{color:rgba(255,255,255,.9);font-size:12.5px;letter-spacing:.04em}
.pb-stats b{color:#fff;font-size:21px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.pb-stats i{height:38px}

/* care-areas 首图：图叠数字徽章 */
.head-stack{position:relative}
.head-stack .hs-badge{position:absolute;left:-18px;bottom:26px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 20px;box-shadow:0 22px 48px -24px rgba(20,17,15,.45)}
.head-stack .hs-badge b{font-size:30px;font-weight:900;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));-webkit-background-clip:text;background-clip:text;color:transparent}
.head-stack .hs-badge > span{font-size:12.5px;font-weight:700;color:var(--body);line-height:1.35}
@media(max-width:900px){.head-stack .hs-badge{left:12px;bottom:12px}}

/* ============ 阶段时间线卡片（journey .gate + how-we-work .stage 统一） ============ */
.gates{display:flex;flex-direction:column;gap:14px;margin:26px 0;max-width:none}
.gate{display:grid;grid-template-columns:96px minmax(0,1fr);gap:26px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 30px;transition:box-shadow .25s}
.gate:hover{box-shadow:0 18px 40px -26px rgba(140,49,23,.35)}
.gate .wk{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--blue);padding-top:4px;white-space:nowrap}
.gate h4{font-size:18.5px;font-weight:800;color:var(--ink);margin:0 0 8px}
.gate p{margin:0 0 12px;font-size:15px;line-height:1.7;max-width:none}
.gate .kv,.stage .kv{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gate .kv span,.stage .kv span{font-size:12.5px;font-weight:700;padding:5px 13px;border-radius:999px;background:var(--sky);border:1px solid var(--line);color:var(--body)}
.gate .kv span a{color:var(--blue);text-decoration:none;font-weight:800}
@media(max-width:640px){.gate{grid-template-columns:1fr;gap:8px;padding:20px}}

/* how-we-work 阶段同款卡片化 + 放开行宽 */
.stage{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 30px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.stage p{max-width:none}
.stage .sn{padding-top:4px}
/* prose 容器边距与主页一致 */
.wrap.prose{max-width:1160px}
.prose p,.prose ul{max-width:none}

/* 合作三方切换带 + 对象 chips */
.ptabs{background:radial-gradient(110% 90% at 82% 0%,var(--deep-3) 0%,transparent 60%),linear-gradient(160deg,var(--deep),var(--deep-2));border-radius:24px;padding:44px 48px;margin:0 0 44px;max-width:none}
.pt-k{font-size:11.5px;font-weight:800;letter-spacing:.16em;color:#FFD9B4;margin:0 0 10px}
.pt-h{color:#fff;font-size:clamp(22px,2.4vw,30px);font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.pt-s{color:#EAD8CB;font-size:15px;line-height:1.7;max-width:70ch;margin:0 0 24px}
.pt-row{display:flex;flex-wrap:wrap;gap:12px}
.pt{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:11px 20px;text-decoration:none!important;transition:background .2s}
.pt:hover{background:rgba(255,255,255,.18)}
.pt.on{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#231205;border-color:transparent}
.pt i{font-style:normal}
.chipcloud{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px;max-width:none}
.chipcloud span{font-size:13.5px;font-weight:700;color:var(--body);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px}
@media(max-width:700px){.ptabs{padding:30px 24px}}

/* 页脚镜像导航：品牌区 + 六列 */
.f-brand{margin-bottom:34px;max-width:520px}
.f-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
@media(max-width:1100px){.f-grid-6{grid-template-columns:repeat(3,1fr);gap:30px 24px}}
@media(max-width:640px){.f-grid-6{grid-template-columns:repeat(2,1fr)}}

/* 首页：科室查找器 + 医院名带 + 价格语境 */
.finder{display:flex;gap:12px;margin-top:22px;max-width:520px}
.finder select{flex:1;font:inherit;font-size:15px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:13px 20px;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" viewBox="0 0 24 24" fill="none" stroke="%236B6460" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>');background-repeat:no-repeat;background-position:right 18px center}
.finder .btn{flex:0 0 auto}
@media(max-width:560px){.finder{flex-direction:column}}
.hosp-cloud{justify-content:center;max-width:980px;margin:26px auto 18px}
.hosp-cloud span{font-size:14px;padding:10px 20px}
.home-price{padding:64px 0 24px}
.home-price .tbl{max-width:860px;margin:26px auto}
.home-price .home-more{text-align:center}
/* 首屏视频与原图同框 */
.hero-media video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* ============ 首屏：视频叠底（竞品式） ============ */
.hero-panel.hero-onvideo{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg video{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(28,19,13,.78) 0%,rgba(28,19,13,.55) 46%,rgba(28,19,13,.28) 100%)}
.hero-onvideo > .wrap{position:relative;z-index:3}.hero-onvideo > .nav{position:relative;z-index:40}
.hero-onvideo .nav-links > a,.hero-onvideo .navdrop > summary,.hero-onvideo .logo,.hero-onvideo .langsel > summary{color:#fff}
.hero-onvideo .nav-links > a.nav-on,.hero-onvideo .navdrop.nav-on > summary{color:#FFD9B4}
.hero-onvideo .langsel > summary .cur{color:#fff}
.hero-onvideo h1{color:#fff}
.hero-onvideo h1 em{color:var(--brand-a)}
.hero-onvideo .lede{color:rgba(255,255,255,.92)}
.hero-onvideo .nots{color:rgba(255,255,255,.82)}
.hero-onvideo .nots b{color:#fff}
.hero-onvideo .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-onvideo .btn-ghost:hover{background:rgba(255,255,255,.12)}
.hero-onvideo .hero-deco{display:none}
/* 视频首屏：语言胶囊保持白底深字 */
.hero-onvideo .langsel > summary,.hero-onvideo .langsel > summary .cur{color:var(--ink)}
.hero-onvideo .langsel > summary .globe,.hero-onvideo .langsel > summary .chev{color:var(--ink);stroke:var(--ink)}

/* 首页三卡固定三列 + 意图标签 + 步骤编号 + 价格两栏 */
.ca-3{grid-template-columns:repeat(3,1fr)!important;gap:18px}
@media(max-width:980px){.ca-3{grid-template-columns:1fr!important}}
.ca-img{position:relative}
.ca-img img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}
.ca-k{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--blue);display:block;margin-bottom:6px}
.ca-n{position:absolute;left:14px;bottom:12px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#231205;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));box-shadow:0 8px 18px -8px rgba(214,55,31,.6)}
.home-feat{padding:64px 0 20px}
.home-feat .proc-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.home-feat .proc-grid{grid-template-columns:repeat(2,1fr)}}
.home-more.ctr{text-align:center}
.price-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.price-media{margin:0}
.price-media img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:22px}
@media(max-width:980px){.price-grid{grid-template-columns:1fr}.price-media img{min-height:0;aspect-ratio:16/9}}
.home-price .tbl{margin:26px 0;max-width:none}
.home-price .home-more{text-align:left}

/* 居中视频首屏 + 独立样卡板块 */
.hero-grid.hero-center{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:840px;margin:0 auto}
.hero-center .hero-copy{display:flex;flex-direction:column;align-items:center}
.hero-center h1{max-width:none}
.hero-center .lede{max-width:74ch}.hero-center .nots{max-width:64ch}
.hero-center .hero-cta,.hero-center .finder{justify-content:center}
.hero-center .finder{width:100%;max-width:520px}
.home-proof{padding:72px 0 30px}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.proof-card{position:relative;max-width:460px;justify-self:center}
.proof-card .art{position:static;transform:none;width:100%;margin:0}
.proof-chip{position:absolute;right:-16px;bottom:-18px}
@media(max-width:980px){.proof-grid{grid-template-columns:1fr}.proof-card{justify-self:start}}
/* 居中首屏与导航之间留白 */
.hero-onvideo .hero-grid.hero-center{padding-top:110px;padding-bottom:130px}
@media(max-height:860px){.hero-onvideo .hero-grid.hero-center{padding-top:70px;padding-bottom:90px}}
@media(max-width:700px){.hero-onvideo .hero-grid.hero-center{padding-top:56px;padding-bottom:70px}}

/* 首屏综合：服务条 + 底部数字条 */
.hero-serv{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:26px}
.hero-serv span{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.92)}
.hero-serv svg{width:17px;height:17px;fill:none;stroke:#FFD9B4;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.hero-nums{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.22);border-top:1px solid rgba(255,255,255,.25);margin-top:26px}
.hero-nums > div{background:rgba(24,18,14,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:22px 26px;display:flex;flex-direction:column;gap:5px}
.hero-nums b{font-size:26px;font-weight:900;color:#fff;letter-spacing:-.01em}
.hero-nums span{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.85)}
@media(max-width:900px){.hero-nums{grid-template-columns:repeat(2,1fr)}}
.hero-onvideo .hero-grid.hero-center{padding-bottom:64px}

/* 页脚品牌区：邮箱 + 社媒 */
.f-brand{display:flex;flex-wrap:wrap;gap:28px 64px;align-items:flex-start;max-width:none}
.f-brand > div:first-child{max-width:460px}
.f-contact{display:flex;flex-direction:column;gap:10px}
.f-mail{font-size:16px;font-weight:800;color:#FFD9B4;text-decoration:none}
.f-mail:hover{text-decoration:underline}
.f-note{font-size:12.5px;color:#EAD8CB}
.f-social{display:flex;gap:12px;margin-top:4px}
.f-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);transition:background .2s}
.f-social a:hover{background:rgba(255,255,255,.2)}
.f-social svg{width:17px;height:17px;fill:#EAD8CB}

/* 语言/导航下拉浮层：独立合成层，防止压在视频上时文字重影 */
.langmenu,.navmenu{transform:translateZ(0);backface-visibility:hidden;isolation:isolate;-webkit-font-smoothing:antialiased}
.langmenu{padding-bottom:9px}

/* 品牌口号（页脚 logo 下） */
.f-tag{margin:8px 0 12px;font-size:17px;font-weight:700;letter-spacing:-.01em;color:#FFD9B4;max-width:34ch}
[dir="rtl"] .f-tag{letter-spacing:0}
@media(max-width:700px){.f-tag{font-size:16px}}

/* 等待时间对比 */
.home-wait{padding:84px 0;background:var(--sky-2,#FBF7F2)}
.wait-tbl table{width:100%}
.wait-tbl td:last-child,.wait-tbl th:last-child{white-space:nowrap;text-align:right}
.wait-tbl td:first-child{white-space:nowrap}
.wt-src{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--body-2);margin-top:2px}
.wait-note{margin-top:22px;padding:26px 30px;border:1px solid var(--line);border-radius:18px;background:#fff}
.wait-note h3{margin:0 0 10px;font-size:20px;letter-spacing:-.01em}
.wait-note p{margin:0 0 10px}
.wt-cite{font-size:13px;color:var(--body-2);line-height:1.7;margin-bottom:0!important}
.wt-cite a{color:var(--body-2);text-decoration:underline;text-underline-offset:2px}
.wt-cite a:hover{color:var(--coral)}
@media(max-width:700px){
  .home-wait{padding:58px 0}
  .wait-tbl td:first-child{white-space:normal}
  .wait-note{padding:20px 18px}
}


/* 首屏服务条改为可点锚点 */
a.hero-serv{text-decoration:none;cursor:pointer;transition:opacity .18s}
a.hero-serv:hover{opacity:.82}
a.hero-serv .hs-more{font-weight:800;color:#FFC79A;white-space:nowrap}
[dir="rtl"] a.hero-serv .hs-more{direction:rtl}

/* 八项服务：三段时间线 */
.home-svc8{padding:80px 0 68px}
.phases{margin-top:34px;display:flex;flex-direction:column;gap:22px}
.phase{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;
  background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;overflow:hidden}
.phase.ph-flip .ph-img{order:2}
.ph-img{position:relative;margin:0;border-radius:15px;overflow:hidden;aspect-ratio:16/11}
.ph-img img{width:100%;height:100%;object-fit:cover;display:block}
.ph-step{position:absolute;left:14px;bottom:14px;padding:6px 13px;border-radius:999px;
  background:rgba(24,18,14,.55);backdrop-filter:blur(6px);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.1em}
.ph-body{padding:6px 10px 6px 0}
.ph-body h3{margin:0 0 16px;font-size:25px;letter-spacing:-.02em;color:var(--ink)}
.ph-i{padding:13px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ph-i:first-of-type{border-top:none;padding-top:2px}
.ph-i b{font-size:16px;letter-spacing:-.01em;color:var(--ink)}
.ph-i span{font-size:14px;line-height:1.62;color:var(--body-2);max-width:56ch}
[dir="rtl"] .ph-body{padding:6px 0 6px 10px}
[dir="rtl"] .ph-step{left:auto;right:14px}
@media(max-width:900px){
  .phase{grid-template-columns:1fr;gap:20px}
  .phase.ph-flip .ph-img{order:0}
  .ph-body{padding:0 4px 6px}
  .ph-body h3{font-size:22px}
}
@media(max-width:600px){.home-svc8{padding:56px 0 46px}.phase{padding:14px;border-radius:18px}}

/* 联系卡片：图标 + 地址 + 复制 */
.cc{position:relative}
.cc-ic{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
  background:var(--coral-soft);margin-bottom:14px}
.cc-ic svg{width:21px;height:21px;stroke:var(--coral);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cc-k{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--body-2);margin-bottom:8px}
.cc-a{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cc-a a{font-size:18px;font-weight:800;color:var(--ink);text-decoration:none}
.cc-a a:hover{color:var(--coral)}
.cc-copy{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;
  cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:0;transition:all .18s}
.cc-copy svg{width:15px;height:15px;stroke:var(--body-2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cc-copy:hover{border-color:var(--coral)}
.cc-copy:hover svg{stroke:var(--coral)}
.cc-copy.is-ok{border-color:var(--coral);background:var(--coral-soft)}
.cc-copy.is-ok svg{stroke:var(--coral)}
[dir="rtl"] .cc-k{letter-spacing:0}
@media(max-width:700px){.cc-grid{grid-template-columns:1fr}}
