/* Med Voyage v0.2 — tokens from design/design.md (LOCKED). Swap values here only. */
:root{--mv-navy:#0B2545;--mv-teal:#2A9D8F;--mv-gold:#C9A227;--mv-off:#F7F5F2;--mv-white:#FFFFFF;--mv-ink:#2b3a4f;--mv-muted:#6b7686;--mv-line:#e4e0d8;
--mv-radius:12px;--mv-radius-lg:16px;--mv-space-1:8px;--mv-space-2:16px;--mv-space-3:24px;--mv-space-4:40px;--mv-space-5:64px;--mv-max:1080px;
--mv-font-en:"Inter","Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
--mv-font-zh:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--mv-font:var(--mv-font-en)}
html[lang="zh"],html[lang="zh-Hans"],.lang-zh{--mv-font:var(--mv-font-zh)}
*{box-sizing:border-box}
body{margin:0;font-family:var(--mv-font);color:var(--mv-ink);background:var(--mv-white);line-height:1.65;font-size:17px}
a{color:var(--mv-teal);text-decoration:none}
.wrap{max-width:var(--mv-max);margin:0 auto;padding:0 var(--mv-space-3)}
/* header */
header{background:var(--mv-white);border-bottom:1px solid var(--mv-line);position:sticky;top:0;z-index:5}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--mv-space-2);min-height:76px;flex-wrap:wrap}
.logo img{height:42px;display:block}
nav{display:flex;gap:var(--mv-space-3);align-items:center;flex-wrap:wrap;font-size:15px}
nav a{color:var(--mv-navy)}nav a.on{color:var(--mv-teal)}
.lang{color:var(--mv-muted)!important;font-size:14px}
/* hero */
.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:520px;background:var(--mv-off)}
.hero .txt{padding:var(--mv-space-5) var(--mv-space-4) var(--mv-space-5) max(var(--mv-space-3),calc((100vw - var(--mv-max))/2 + var(--mv-space-3)));display:flex;flex-direction:column;justify-content:center}
.kicker{color:var(--mv-teal);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--mv-space-2)}
.hero h1{color:var(--mv-navy);font-weight:400;font-size:44px;line-height:1.3;margin:0 0 var(--mv-space-3)}
.hero p{margin:0;max-width:30em;color:var(--mv-ink)}
.dest{margin-top:var(--mv-space-3);color:var(--mv-muted);letter-spacing:.08em;font-size:15px}
.ctas{margin-top:var(--mv-space-4);display:flex;gap:var(--mv-space-2);flex-wrap:wrap}
.btn{display:inline-block;background:var(--mv-teal);color:var(--mv-white);padding:12px 28px;border-radius:999px}
.btn.ghost{background:transparent;color:var(--mv-navy);border:1px solid var(--mv-navy)}
/* photo slot: owned people photography drops in as .photo > img.ph-img (object-fit:cover). Until then: soft cool-warm brand field + frosted panel (design/photography.md). */
.photo{position:relative;overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center;
background:radial-gradient(120% 90% at 85% 15%,rgba(247,245,242,.22) 0%,rgba(247,245,242,0) 55%),radial-gradient(90% 80% at 15% 100%,rgba(42,157,143,.55) 0%,rgba(42,157,143,0) 60%),linear-gradient(160deg,var(--mv-navy) 0%,#123a5c 55%,var(--mv-teal) 140%)}
.photo .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo .glass{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--mv-space-2);padding:var(--mv-space-4) var(--mv-space-5);border-radius:var(--mv-radius-lg);
background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--mv-white);text-align:center}
.photo .glass img{width:64px;background:var(--mv-white);border-radius:50%;padding:10px}
.photo .glass span{font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.band{height:240px;min-height:0}
/* page head */
.ph{background:var(--mv-off);padding:var(--mv-space-5) 0 var(--mv-space-4)}
.ph h1{color:var(--mv-navy);font-weight:400;font-size:36px;margin:0 0 var(--mv-space-1)}
.ph p{margin:0;color:var(--mv-muted);max-width:36em}
/* sections */
section{padding:var(--mv-space-5) 0}section.off{background:var(--mv-off)}
.rule{width:40px;height:1.5px;background:var(--mv-teal);margin-bottom:var(--mv-space-2)}
h2{color:var(--mv-navy);font-weight:400;font-size:26px;margin:0 0 var(--mv-space-3)}
.lead{max-width:36em;margin:0 0 var(--mv-space-4)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--mv-space-3)}
.card{background:var(--mv-white);border:1px solid var(--mv-line);border-radius:var(--mv-radius-lg);padding:var(--mv-space-3)}
section:not(.off) .card{background:var(--mv-off)}
.card h3{color:var(--mv-navy);font-size:18px;font-weight:500;margin:0 0 var(--mv-space-1)}
.card p{margin:0}.num{color:var(--mv-teal);font-size:13px;letter-spacing:.12em;margin-bottom:var(--mv-space-1)}
.src{display:block;margin-top:var(--mv-space-2);font-size:.85em;color:var(--mv-muted)}
a.card{display:block;color:inherit;transition:border-color .2s}a.card:hover{border-color:var(--mv-teal)}
.more{color:var(--mv-teal);font-size:14px;margin-top:var(--mv-space-2);display:block}
.destgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--mv-line);border:1px solid var(--mv-line);border-radius:var(--mv-radius-lg);overflow:hidden}
.destgrid div{background:var(--mv-white);padding:var(--mv-space-4) var(--mv-space-2);text-align:center;color:var(--mv-navy);font-size:20px}
.destgrid small{display:block;color:var(--mv-muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
ul.list{list-style:none;padding:0;margin:0;border-top:1px solid var(--mv-line)}
ul.list li{padding:var(--mv-space-2) 0;border-bottom:1px solid var(--mv-line);display:flex;gap:var(--mv-space-3)}
ul.list li span{color:var(--mv-teal);min-width:2em}
.note{color:var(--mv-muted);font-size:14px;margin-top:var(--mv-space-3)}
details{margin-top:var(--mv-space-4);font-size:13px;color:var(--mv-muted)}
details summary{cursor:pointer;color:var(--mv-navy)}details li{margin:6px 0;word-break:break-all}
sup{color:var(--mv-teal);font-size:.7em}
.cta{background:var(--mv-navy);color:var(--mv-white);text-align:center}.cta h2{color:var(--mv-white)}
footer{background:var(--mv-navy);color:#c9d3df;padding:var(--mv-space-4) 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:var(--mv-space-3);flex-wrap:wrap;align-items:flex-start}
footer .slogan{color:var(--mv-white);font-size:17px;margin:var(--mv-space-1) 0}
footer nav a{color:#c9d3df}footer img{width:40px;background:var(--mv-white);border-radius:50%;padding:6px}
footer .edu{width:100%;color:#8fa0b5;font-size:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:var(--mv-space-2)}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero .txt{padding:var(--mv-space-4) var(--mv-space-3)}.photo{min-height:220px}.destgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body{font-size:16px}header .wrap{padding:10px 20px;min-height:0}.logo img{height:34px}nav{gap:14px;font-size:14px}.hero h1{font-size:32px}.ph h1{font-size:28px}section{padding:var(--mv-space-4) 0}.destgrid div{padding:var(--mv-space-3) 8px;font-size:18px}}
.grid.five{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
.slogan-sub{margin:calc(-1*var(--mv-space-2)) 0 var(--mv-space-3);text-transform:none;letter-spacing:.12em;font-size:16px}
.crumb{font-size:13px;color:var(--mv-muted);padding-top:var(--mv-space-2);padding-bottom:var(--mv-space-2)}.crumb a{color:var(--mv-muted)}
.faq details{margin:0 0 var(--mv-space-2);padding:var(--mv-space-2) var(--mv-space-3);border:1px solid var(--mv-line);border-radius:var(--mv-radius);background:var(--mv-white);font-size:16px;color:var(--mv-ink)}
.faq summary{color:var(--mv-navy);font-weight:500}.faq details p{margin:var(--mv-space-1) 0 0}
.upd{font-size:13px;color:var(--mv-muted);padding-bottom:var(--mv-space-4)}
.edu-art{margin:calc(-1*var(--mv-space-3)) calc(-1*var(--mv-space-3)) var(--mv-space-3);background:linear-gradient(180deg,#F4F6F7,#EEF2F2);border-bottom:1px solid var(--mv-line);border-radius:var(--mv-radius) var(--mv-radius) 0 0;overflow:hidden}
.edu-art svg,.edu-art .ph-img{display:block;width:100%;height:auto;aspect-ratio:160/96;object-fit:cover}
.edu-art .a{stroke:var(--mv-teal);stroke-width:1.8}
header nav a[href$="contact/"]{color:var(--mv-teal);border:1px solid var(--mv-teal);border-radius:999px;padding:2px 12px}
.stats .stat{position:relative;padding:var(--mv-space-4) var(--mv-space-3) var(--mv-space-3);border-radius:var(--mv-radius-lg);color:#fff;background:radial-gradient(120% 90% at 85% 10%,rgba(42,157,143,.55),transparent 60%),linear-gradient(160deg,#0B2545,#123a5c 70%,#1d5a63)}
.stat .big{font-size:56px;line-height:1;font-weight:300;letter-spacing:-.01em;margin-bottom:8px}
.stat .lab{font-size:14px;color:rgba(255,255,255,.85);margin-bottom:var(--mv-space-3)}
.stat h3{color:#fff;font-size:16px;margin:0 0 6px;padding-top:var(--mv-space-2);border-top:1px solid rgba(255,255,255,.18)}
.stat p{font-size:14px;color:rgba(255,255,255,.72);margin:0 0 var(--mv-space-2)}
.stat .src{font-size:12px;color:rgba(255,255,255,.5)}
.stat .ring{position:absolute;top:var(--mv-space-3);right:var(--mv-space-3);width:44px;height:44px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke:rgba(255,255,255,.2);stroke-width:2}.ring .arc{stroke:var(--mv-teal);stroke-linecap:round}
.ring .arc{stroke:#7FD3C8;stroke-width:3}.ring circle{stroke-width:3}
.edu-art svg>g:first-child{opacity:.55}
@media(max-width:600px){header nav a[href$="contact/"]{padding:0 8px}}
.photo.has-img{background:var(--mv-navy)}
.hero .photo.has-img .ph-img{object-position:50% 55%}
.band.has-img{height:auto;aspect-ratio:3/1;max-height:427px;justify-content:flex-start}
.band .ph-img{object-position:70% 50%}
.band-txt{position:relative;z-index:1;width:100%}
.band-txt p{max-width:15em;color:#fff;font-size:24px;line-height:1.5;font-weight:300;margin:0}
@media(max-width:820px){.hero .photo.has-img{aspect-ratio:4/5;max-height:520px;min-height:0}.band.has-img{aspect-ratio:auto;height:200px}.band .ph-img{object-position:78% 50%}.band-txt p{font-size:17px;max-width:10em}}
.band.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,37,69,.85) 0%,rgba(11,37,69,.55) 35%,rgba(11,37,69,0) 60%)}
.band-txt{z-index:2}.band-txt p{max-width:13em}
@media(max-width:820px){.band.has-img{align-items:flex-start;padding-top:20px}.band-txt p{max-width:9em;font-size:16px}}
/* v0.7 — generated image grounds */
.stats .stat.has-img{background:#F4F5F5;color:var(--mv-navy);aspect-ratio:4/5;overflow:hidden;padding:0;border:1px solid var(--mv-line)}
.stat .stat-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 60%}
.stat.has-img::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(247,245,242,.94) 0%,rgba(247,245,242,.86) 55%,rgba(247,245,242,.55) 80%,rgba(247,245,242,.3) 100%)}
.stat .stat-in{position:relative;z-index:2;padding:var(--mv-space-4) var(--mv-space-3) var(--mv-space-3)}
.stat.has-img .lab{color:#3E4A57}.stat.has-img h3{color:var(--mv-navy);border-top-color:rgba(11,37,69,.15)}
.stat.has-img p{color:#2F3B48}.stat.has-img .src{color:#5B6672}
.stat.has-img .ring circle{stroke:rgba(11,37,69,.15)}.stat.has-img .ring .arc{stroke:var(--mv-teal)}
.ground{position:relative;aspect-ratio:3/1;max-height:427px;overflow:hidden;background:var(--mv-off,#F7F5F2)}
.ground img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.ground{aspect-ratio:auto;height:160px}}
.stat.has-img .big{font-size:46px;padding-right:48px}.stats .stat.has-img:nth-child(5) .stat-bg{object-position:100% 50%}
.ground{aspect-ratio:auto;max-height:none;width:100%;height:clamp(160px,22vw,340px)}

/* v0.7.1 footer wordmark */
footer img.flogo{width:168px;height:auto;border-radius:8px;padding:8px 12px;background:var(--mv-white)}
