:root{--ink:#17363f;--teal:#075d69;--sea:#e9f3f4;--paper:#f6f8f7;--orange:#d06b2c;--line:#d5e1e2;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit}a:focus-visible{outline:3px solid #258eb5;outline-offset:4px}
.home-header{height:88px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.25rem;font-weight:750}.brand small{display:block;font-size:.58rem;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:44px;height:47px;border-radius:14px 14px 4px 14px;background:var(--teal);color:#fff}.home-header nav{display:flex;gap:30px}.home-header nav a{text-decoration:none;color:#5d7176;font-size:.875rem}
main{max-width:1600px;margin:auto}.hero{min-height:calc(78vh - 88px);padding:clamp(60px,9vw,140px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:8vw}.kicker,.section-heading p{color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.18em}.hero h1{font-size:clamp(2.6rem,5.5vw,6.2rem);line-height:1.08;letter-spacing:-.055em;margin:14px 0 24px;max-width:8em}.hero-lead{max-width:31em;color:#5c7075;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.8}.hero-action{display:inline-flex;gap:34px;margin-top:34px;padding:15px 20px;background:var(--teal);color:#fff;text-decoration:none;border-radius:4px;font-weight:700}
.route-art{position:relative;min-height:430px;border:1px solid var(--line);border-radius:50% 50% 48% 52%/46% 45% 55% 54%;background:linear-gradient(145deg,#fafdfe,#dfedef);overflow:hidden}.route-grid{position:absolute;inset:0;background-image:linear-gradient(#0a62700e 1px,transparent 1px),linear-gradient(90deg,#0a62700e 1px,transparent 1px);background-size:46px 46px;transform:rotate(-8deg) scale(1.2)}.route-line{position:absolute;width:70%;height:45%;left:14%;top:25%;border:2px dashed var(--teal);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-8deg)}.point{position:absolute;width:16px;height:16px;background:var(--orange);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c8d7d9}.point::after{content:"";position:absolute;inset:-4px;border:2px solid #f2b84b;border-radius:50%;pointer-events:none;animation:point-pulse 2.4s ease-out infinite}.point-b::after{animation-delay:.8s}.point-c::after{animation-delay:1.6s}.point-a{left:18%;bottom:28%}.point-b{left:51%;top:28%}.point-c{right:14%;bottom:34%;background:var(--teal)}.route-label{position:absolute;font-size:.65rem;letter-spacing:.13em}.route-label small{display:block;margin-top:5px;color:#5d7176;font-size:.58rem;font-weight:500;letter-spacing:.1em}.label-a{left:12%;bottom:18%}.label-a small{margin-left:12px}.label-b{right:8%;bottom:23%}@keyframes point-pulse{0%{opacity:.9;transform:scale(.55)}75%,100%{opacity:0;transform:scale(3.1)}}
.destinations,.how{padding:100px clamp(22px,7vw,110px)}.destinations{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading h2{font-size:clamp(2rem,3vw,3.4rem);margin:8px 0 36px}.destination-card{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:35px;padding:38px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:linear-gradient(110deg,#f9fbfa,#eaf4f4);transition:transform .2s,border-color .2s}.destination-card:hover{transform:translateY(-3px);border-color:var(--teal)}.country-code{font-size:.7rem;letter-spacing:.15em;color:var(--teal)}.destination-card h3{font-size:clamp(1.8rem,3vw,3rem);margin:10px 0 0}.destination-card p{margin:0;color:#5d7176}.destination-meta{display:flex;flex-direction:column;color:#5d7176;font-size:.875rem}.destination-card strong{color:var(--teal)}.more-destinations{color:#74858a;margin-top:18px;font-size:.875rem}.how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.how li{display:grid;gap:12px;padding:28px;border-top:2px solid var(--teal);background:#fff}.how li b{color:var(--orange)}.how li span{color:#607378;font-size:.875rem}footer{padding:28px clamp(22px,5vw,80px);display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);font-size:.8125rem;color:#607378}.icp-link{white-space:nowrap;text-underline-offset:3px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.route-art{min-height:320px}.destination-card{grid-template-columns:1fr}.how ol{grid-template-columns:1fr}}
@media(max-width:700px){.home-header{height:76px;padding:0 18px}.home-header nav{display:none}.hero{min-height:auto;padding:65px 20px 45px;gap:46px}.hero h1{font-size:clamp(2.55rem,13vw,4rem)}.route-art{min-height:265px}.destinations,.how{padding:65px 20px}.destination-card{padding:25px;gap:22px}footer{padding:24px 20px;display:block}footer span,footer .icp-link{display:block;margin-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.point::after{animation:none;opacity:.45;transform:scale(1.55)}}
.destination-card+.destination-card{margin-top:16px}
.city-hero{padding:clamp(60px,9vw,140px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:8vw;background:#fff}.city-hero h1{font-size:clamp(2.6rem,5.5vw,6.2rem);line-height:1.08;letter-spacing:-.055em;margin:14px 0 24px;max-width:8em}.city-art{position:relative;min-height:430px;border:1px solid var(--line);border-radius:46% 54% 48% 52%/52% 45% 55% 48%;background:linear-gradient(145deg,#fafdfe,#dcecee);overflow:hidden}.city-grid{position:absolute;inset:0;background-image:linear-gradient(#0a62700e 1px,transparent 1px),linear-gradient(90deg,#0a62700e 1px,transparent 1px);background-size:46px 46px;transform:rotate(8deg) scale(1.2)}.city-river{position:absolute;width:118%;height:35%;left:-9%;top:46%;border:24px solid #fff;border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-9deg);opacity:.9}.city-skyline{position:absolute;bottom:0;width:42%;height:45%;background:linear-gradient(90deg,var(--teal) 0 11%,transparent 11% 16%,var(--teal) 16% 26%,transparent 26% 32%,var(--teal) 32% 46%,transparent 46% 52%,var(--teal) 52% 64%,transparent 64% 70%,var(--teal) 70% 81%,transparent 81% 87%,var(--teal) 87%);opacity:.9}.skyline-a{left:5%;clip-path:polygon(0 100%,0 38%,13% 38%,13% 0,24% 0,24% 52%,36% 52%,36% 20%,48% 20%,48% 58%,60% 58%,60% 12%,73% 12%,73% 45%,86% 45%,86% 30%,100% 30%,100% 100%)}.skyline-b{right:-7%;height:32%;opacity:.48;clip-path:polygon(0 100%,0 42%,14% 42%,14% 16%,29% 16%,29% 55%,42% 55%,42% 0,54% 0,54% 34%,69% 34%,69% 21%,82% 21%,82% 48%,100% 48%,100% 100%)}.city-pin{position:absolute;width:16px;height:16px;background:var(--orange);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c8d7d9}.city-pin::after{content:"";position:absolute;inset:-4px;border:2px solid #f2b84b;border-radius:50%;opacity:.55}.pin-a{left:18%;top:28%}.pin-b{left:47%;top:50%;background:var(--teal)}.pin-c{right:16%;top:25%}.city-label{position:absolute;font-size:.65rem;letter-spacing:.13em}.city-label small{display:block;margin-top:5px;color:#5d7176;font-size:.58rem;font-weight:500;letter-spacing:.1em}.label-west{left:11%;top:18%}.label-east{right:9%;top:17%;text-align:right}.city-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.city-overview div{display:grid;gap:7px;padding:26px clamp(22px,5vw,80px);background:var(--sea)}.city-overview strong{color:var(--teal)}.city-overview span{color:#607378;font-size:.875rem}.city-areas,.city-practical,.city-sources{padding:100px clamp(22px,7vw,110px)}.city-areas{background:var(--paper)}.city-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.city-card{display:flex;min-height:250px;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid var(--line);border-top:3px solid var(--teal);background:#fff}.city-card-code{margin:0;color:var(--orange);font-size:.7rem;font-weight:800;letter-spacing:.16em}.city-card h3{font-size:clamp(1.5rem,2.3vw,2.2rem);margin:16px 0 12px}.city-card>p:not(.city-card-code){margin:0;color:#5d7176;line-height:1.75}.city-card a{margin-top:auto;padding-top:28px;color:var(--teal);font-size:.875rem;font-weight:750;text-decoration:none}.city-card a span{margin-left:8px}.city-practical{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.city-note{max-width:760px;padding:30px;border-left:3px solid var(--orange);background:var(--sea);color:#405c62;line-height:1.8}.city-note p{margin:0}.city-note p+p{margin-top:12px}.city-sources{background:var(--paper)}.city-sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.city-sources a{display:block;padding:18px 20px;border:1px solid var(--line);background:#fff;color:var(--teal);font-size:.9rem;text-decoration:none}
@media(max-width:900px){.city-hero{grid-template-columns:1fr}.city-art{min-height:320px}.city-sources ul{grid-template-columns:1fr}}
@media(max-width:700px){.city-hero{min-height:auto;padding:65px 20px 45px;gap:46px}.city-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.city-art{min-height:265px}.city-areas,.city-practical,.city-sources{padding:65px 20px}.city-overview,.city-card-grid{grid-template-columns:1fr}.city-overview div{padding:24px 20px}.city-card{min-height:0;padding:26px}.city-card a{margin-top:26px;padding-top:0}}
