:root{--bg:#F6F3EC;--sand:#EDE7DA;--ink:#13232B;--teal:#0F4C4A;--accent:#B8432A;--muted:#5B6A70;--body:#3E4C52;--line:#E2DCCF}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"IBM Plex Sans","Noto Sans TC","PingFang TC","Helvetica Neue",sans-serif;line-height:1.6}
a{color:var(--teal)}h1,h2,h3{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:96px 0}.sand{background:var(--sand)}.dark{background:var(--ink);color:var(--bg)}
.serif,h1,h2{font-family:Fraunces,"Noto Serif TC",Georgia,serif;font-weight:400}
h1{font-size:clamp(40px,6vw,72px);line-height:1.05;letter-spacing:-1px}
h2{font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-.5px}
.zh h1,.zh h2{font-weight:600;letter-spacing:0;line-height:1.3}
.eyebrow{display:block;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:16px}
.dark .eyebrow{color:#E9A08F}
.lead{font-size:18px;color:var(--body);max-width:560px;margin:24px 0 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 48px;margin-bottom:56px;flex-wrap:wrap}
.head h2{max-width:680px}.head p{margin:0;max-width:420px;color:var(--body)}.dark .head p{color:#BCC8CB}
.btn{display:inline-block;padding:15px 27px;border-radius:999px;font-weight:600;text-decoration:none;border:1.5px solid transparent}
.btn-accent{background:var(--accent);color:#fff}.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-dark{background:var(--ink);color:var(--bg)}
header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;height:80px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink)}
.logo b{font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:600}
.logo small{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
header nav{display:flex;align-items:center;gap:28px;font-size:15px}
header nav a{text-decoration:none;color:var(--ink)}
header nav .lang{border:1.5px solid #CFC7B6;padding:8px 14px;border-radius:999px;font-weight:600}
header nav .btn{padding:10px 20px;color:var(--bg)}
.grid2,.grid3,.grid4,.hero,.why,.contact,.row{display:grid;gap:28px}
.grid2,.row{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hero,.why,.contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.why,.contact{align-items:start}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}
.stats{display:flex;gap:40px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap}
.stats b{display:block;font-family:Fraunces,Georgia,serif;font-size:36px;font-weight:400}
.stats span{font-size:14px;color:var(--muted)}
.map{background:var(--ink);color:var(--bg);border-radius:28px;padding:40px}
.map h3{font-family:Fraunces,"Noto Serif TC",Georgia,serif;font-weight:400;font-size:26px;margin-bottom:8px}
.region{padding:20px 0;border-bottom:1px solid #2C3E46}.region:last-child{border:0;padding-bottom:0}
.region small{display:block;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:#A9B7BB;margin-bottom:12px}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{background:var(--sand);padding:9px 16px;border-radius:999px;font-size:15px}
.map .pill{background:var(--bg);color:var(--ink);font-weight:500}
.card{border-radius:24px;padding:40px}.card-light{background:var(--bg)}.card-teal{background:var(--teal);color:var(--bg)}.card-line{border:1px solid #D9D1C0}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.card-top .big{font-family:Fraunces,Georgia,serif;font-size:40px;color:var(--accent)}.card-teal .big{color:var(--bg)}
.card-top h3{font-family:Fraunces,"Noto Serif TC",Georgia,serif;font-weight:400;font-size:32px}
.card-top span{color:var(--muted)}.card-teal .card-top span{color:#BFD3CF}
.card p{margin:0;color:var(--body)}.card-teal p{color:#DCE7E4}
.checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.checks li{position:relative;padding-left:30px}
.checks li:before{content:"";position:absolute;left:3px;top:7px;width:12px;height:6px;border-left:2.2px solid var(--teal);border-bottom:2.2px solid var(--teal);transform:rotate(-45deg)}
.card-teal .checks li:before{border-color:var(--bg)}
.note{margin:32px 0 0;color:var(--muted);font-size:15px}
.brand{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;min-height:104px;display:flex;flex-direction:column;justify-content:center;gap:6px;color:var(--ink)}
.brand b{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:600}
.brand span{font-size:14px;color:var(--muted)}
.brand.more{background:var(--ink);color:var(--bg);text-decoration:none}.brand.more b{font-family:inherit;font-size:20px}.brand.more span{color:#BCC8CB}
.chan{background:#1C3039;border-radius:24px;padding:36px}
.chan h3{font-family:Fraunces,"Noto Serif TC",Georgia,serif;font-weight:400;font-size:30px}
.chan p{color:#A9B7BB;margin:4px 0 20px;font-size:15px}
.chan ul{list-style:none;margin:0;padding:0}
.chan li{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid #2E444D;font-size:18px}
.chan li:last-child{border-bottom:1px solid #2E444D}.chan li span{color:#A9B7BB;text-align:right}
.points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}
.point{padding-top:20px;border-top:2px solid var(--ink)}.point h3{font-size:19px}.point p{margin:8px 0 0;color:var(--body)}
.step{background:var(--bg);border-radius:20px;padding:32px}
.step .num{font-family:Fraunces,Georgia,serif;font-size:44px;color:var(--accent);display:block}
.step h3{font-size:19px;margin:8px 0}.step p{margin:0;font-size:15px;color:var(--body)}
.contact-links{display:grid;gap:12px;margin-top:28px;font-size:17px}
form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;display:grid;gap:18px}
.row{gap:16px}
label{display:grid;gap:8px;font-size:14px;font-weight:500}
input,select,textarea{font:inherit;font-size:16px;border:1px solid #CFC7B6;border-radius:12px;padding:12px 14px;background:#FBFAF6;width:100%;color:var(--ink)}
button{font:inherit;font-weight:600;font-size:16px;height:54px;border:0;border-radius:999px;background:var(--accent);color:#fff;cursor:pointer}
button:hover,.btn-accent:hover{background:#9C3822}
.hidden{display:none}.small{font-size:13px;color:var(--muted);margin:0}
footer{background:var(--ink);color:#BCC8CB;padding:48px 0;font-size:14px}
.foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.foot b{display:block;font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:400;color:var(--bg);margin-bottom:8px}
.foot-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:10px}.foot-links a{color:var(--bg);text-decoration:none}
@media(max-width:900px){
section{padding:72px 0}.hero,.grid2,.grid3,.why,.contact,.points{grid-template-columns:1fr}
.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.map,form{padding:28px}
header nav a:not(.lang):not(.btn){display:none}}
@media(max-width:520px){.grid4,.row{grid-template-columns:1fr}header nav .btn{display:none}}
