@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--gold:#b29455;--deep:#917039;--ink:#262626;--muted:#797a77;--paper:#f7f5ef;--line:#dedbd1;--serif:'Noto Serif SC','Songti SC','SimSun',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fcfbf8;font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#dcca9d;color:#181a18}:focus-visible{outline:2px solid var(--deep);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}header{height:100px;display:flex;align-items:center;padding:0 5%;gap:36px;background:#fcfbf8;position:sticky;top:0;z-index:30;border-bottom:1px solid #e8e4da}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand strong{font-family:var(--serif);font-size:25px;letter-spacing:3px;font-weight:600;line-height:1.4;display:block}.brand small{display:block;letter-spacing:3px;font-size:9px;color:var(--deep);margin-top:4px}.emblem{display:block;position:relative;width:52px;height:52px;overflow:hidden;flex-shrink:0;border-radius:50%;mix-blend-mode:multiply}.emblem img{position:absolute;width:200px;max-width:none;left:-12px;top:-8px}nav{display:flex;gap:28px;margin-left:auto;font-size:13px;white-space:nowrap}nav a{position:relative;padding:8px 0}nav a.active:after,nav a:hover:after{content:'';height:2px;background:var(--gold);position:absolute;bottom:0;left:0;width:100%}.header-cta{padding:10px 20px;border:1px solid var(--line);font-size:12px;white-space:nowrap}.header-cta span{margin-left:20px;color:var(--deep)}.menu{display:none}.hero{position:relative;min-height:660px;height:calc(100svh - 100px);max-height:1000px;overflow:hidden;background:#263537;color:#fff}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;animation:slowzoom 24s ease-out forwards}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,21,24,.79),rgba(12,23,29,.2)),linear-gradient(0deg,#101e2570,transparent 50%)}.hero-content{position:relative;z-index:2;padding:100px 8% 100px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--deep);display:block;font-weight:500}.hero .eyebrow{color:#dfc68f}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,4.8vw,76px);line-height:1.55;letter-spacing:4px;margin:23px 0}.hero h1 em{font-style:normal;color:#dfc68f}.hero p{color:#dfdfd9;font-size:14px;letter-spacing:2px;margin:0 0 35px}.actions{display:flex;gap:16px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:14px 25px;border:1px solid var(--gold);background:var(--gold);color:#fff;font-size:13px;transition:.25s}.btn:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-2px)}.btn.light{background:transparent;border-color:#ffffff80;color:#fff}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.hero-bottom{position:absolute;bottom:30px;left:8%;right:5%;z-index:3;display:flex;justify-content:space-between;align-items:end;font-size:10px;letter-spacing:2px;color:#e4e4de}.hero-bottom span:last-child{color:#ffffff9c;font-size:9px}.hero-side{position:absolute;right:4%;top:42%;z-index:3;writing-mode:vertical-rl;letter-spacing:4px;font-size:10px;color:#fff9}.intro-bar{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:35px 8%;border-bottom:1px solid var(--line);gap:40px;background:var(--paper)}.intro-bar>div:not(:first-child){border-left:1px solid var(--line);padding-left:35px}.intro-bar strong{font-family:var(--serif);font-size:20px;font-weight:500}.intro-bar p{color:var(--muted);font-size:12px;margin:5px 0 0}.section{padding:100px 8%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section h2,.contact-band h2{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.5;margin:13px 0 0;letter-spacing:2px}.section-head p{font-size:13px;color:var(--muted);max-width:330px;margin:0}.text-link{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:8px;display:inline-block}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.region-card{position:relative;min-height:500px;overflow:hidden;color:white;display:flex;align-items:end;padding:38px}.region-card>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform 1s}.region-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#142022ed,transparent 90%)}.region-card:hover>img{transform:scale(1.05)}.region-copy{z-index:1;position:relative;width:100%}.region-copy small{letter-spacing:3px;color:#e1c993;font-size:10px}.region-copy h3{font-family:var(--serif);font-size:36px;font-weight:500;margin:10px 0}.region-copy p{font-size:12px;color:#eee9df;max-width:360px}.region-bottom{border-top:1px solid #ffffff40;margin-top:24px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}.image-note{font-size:10px;color:var(--muted);margin-top:10px}.journey{background:var(--paper);position:relative;overflow:hidden}.journey:after{content:'';pointer-events:none;position:absolute;width:550px;height:550px;border:1px solid #b2945528;border-radius:50%;right:-250px;top:-260px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--line);padding-top:28px}.step .num{font-family:Georgia,serif;font-size:37px;color:var(--gold)}.step h3{font-weight:500;font-size:17px;letter-spacing:1px}.step p{font-size:12px;color:var(--muted);line-height:2}.editorial{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:75px}.editorial .photo{height:500px;width:100%;object-fit:cover}.editorial p{font-size:13px;color:var(--muted);line-height:2.2;margin:25px 0}.tags{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tags span{font-size:11px;padding:5px 12px;border:1px solid var(--line)}.coverage{display:grid;grid-template-columns:.9fr 1.2fr;gap:80px;align-items:center}.city-diagram{position:relative;height:350px;background:radial-gradient(ellipse at center,#e8e4d7 0,transparent 70%);display:flex;align-items:center;justify-content:center}.city-diagram svg{width:100%;height:100%;overflow:visible}.city-diagram text{font-family:'Microsoft YaHei',sans-serif;font-size:13px}.districts{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.districts a{font-size:12px;padding:7px 14px;background:#eeeae0;transition:.2s}.districts a:hover{background:var(--gold);color:#fff}.note{font-size:11px;color:var(--muted);line-height:1.9}.contact-band{margin:0 8% 90px;padding:55px 50px;background:#292e2b;color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.contact-band:before{content:'';position:absolute;width:400px;height:400px;right:150px;top:-280px;border:1px solid #b2945540;border-radius:50%;pointer-events:none}.contact-band h2{font-size:29px;margin:9px 0}.contact-band p{color:#bfc1b8;font-size:12px}.contact-band .eyebrow{color:#d3bc88}footer{border-top:1px solid var(--line);padding:55px 8% 25px;background:var(--paper)}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-top p{font-size:12px;color:var(--muted);margin-top:20px}.footer-top>div>a:not(.brand){display:block;margin-top:15px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.top{position:fixed;right:22px;bottom:25px;width:40px;height:40px;border:1px solid var(--line);background:#fcfbf8e8;color:var(--deep);z-index:20}.subhero{height:460px;min-height:0}.subhero .hero-content{padding-top:50px;padding-bottom:60px}.subhero h1{font-size:52px}.subhero p{max-width:650px;line-height:2}.subnav{display:flex;justify-content:center;gap:45px;border-bottom:1px solid var(--line);padding:22px;background:var(--paper);font-size:12px}.subnav a:hover{color:var(--deep)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-card{border:1px solid var(--line);padding:35px;background:#fff}.info-card h3{font-family:var(--serif);font-weight:500;font-size:23px;margin:12px 0}.info-card p{font-size:13px;color:var(--muted)}.rail-panel{background:#fff;padding:40px;border:1px solid var(--line);margin:30px 0}.rail-route{display:flex;align-items:center;margin:28px 0 40px}.rail-stop{flex:1;position:relative;padding:35px 5px 0;text-align:center;font-size:12px}.rail-stop:before{content:'';position:absolute;left:0;right:0;top:10px;height:3px;background:#bd824a;transform-origin:left;animation:grow 1.2s both}.rail-stop:after{content:'';position:absolute;left:calc(50% - 6px);top:5px;width:12px;height:12px;border:3px solid #bd824a;border-radius:50%;background:white}.rail-stop small{display:block;font-size:10px;color:var(--muted)}.tabs{display:flex;gap:10px;margin:30px 0 20px;flex-wrap:wrap}.tabs button{background:none;border:1px solid var(--line);padding:10px 24px;color:var(--muted);font-size:12px}.tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.tab-content{min-height:210px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.tab-content h3{font-family:var(--serif);font-size:23px;font-weight:500}.tab-content p{font-size:13px;color:var(--muted);line-height:2.1}.tab-aside{padding:28px;background:#ede9de;font-size:13px;align-self:start}.tab-aside a{display:block;margin-top:18px;color:var(--deep);font-size:12px}.source-list{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:25px}.source-list a{text-decoration:underline}.article{max-width:860px;margin:auto}.article h2{font-size:30px}.article p{line-height:2.2;color:#656963}.article .info-card{margin-top:20px}.quote{font-family:var(--serif);font-size:27px;border-left:2px solid var(--gold);padding:15px 30px;margin:40px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.form-field{display:block;margin-bottom:22px;font-size:12px}.form-field input,.form-field textarea{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #c9c4b7;padding:12px 0;border-radius:0;color:var(--ink)}.form-field textarea{resize:vertical}.form-result{background:#e9e5d8;padding:20px;font-size:12px;margin-top:20px;white-space:pre-wrap}.contact-status{border-top:1px solid var(--line);padding:22px 0;margin-top:20px;font-size:13px}.contact-status small{color:var(--muted);display:block}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.compare{position:relative;height:420px;overflow:hidden}.compare img{position:absolute;width:100%;height:100%;object-fit:cover}.compare .alternate{filter:grayscale(1) brightness(.8)}.compare .foreground{clip-path:inset(0 0 0 var(--split,50%))}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare:after{content:'';position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;background:white;pointer-events:none}.compare-label{position:absolute;bottom:20px;z-index:2;background:#262626aa;color:white;padding:5px 12px;font-size:11px}.compare-label.right{right:20px}.compare-label.left{left:20px}.hidden{display:none!important}@keyframes slowzoom{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(min-width:1700px){.section{padding-left:max(8%,calc((100vw - 1450px)/2));padding-right:max(8%,calc((100vw - 1450px)/2))}}@media(max-width:1100px){header{gap:20px;padding:0 4%}nav{gap:18px;font-size:12px}.header-cta{display:none}.section{padding:75px 6%}.editorial{gap:40px}.coverage{gap:30px}.region-card{min-height:430px;padding:28px}}@media(max-width:760px){header{height:80px;padding:0 6%}.brand strong{font-size:21px}.brand small{font-size:8px}.emblem{transform:scale(.85);margin:-4px}.menu{display:block;margin-left:auto;background:none;border:0;font-size:24px;color:var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:20px 6%;box-shadow:0 12px 15px #0001}nav.open{display:flex;flex-direction:column;gap:12px}html{scroll-padding-top:80px}.hero{height:calc(88svh - 80px);min-height:580px}.hero-content{padding:60px 7% 110px}.hero h1{font-size:39px;letter-spacing:1px}.hero p{font-size:12px;letter-spacing:1px;max-width:290px}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-bottom span:last-child{max-width:130px;letter-spacing:0}.hero-side{display:none}.intro-bar{grid-template-columns:1fr;gap:20px;padding:28px 7%}.intro-bar>div:not(:first-child){padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:15px}.intro-bar strong{font-size:18px}.section{padding:60px 7%}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:18px}.section h2{font-size:29px}.region-grid,.editorial,.coverage,.content-grid,.contact-layout{grid-template-columns:1fr;gap:28px}.region-card{min-height:430px}.region-copy h3{font-size:30px}.steps{grid-template-columns:1fr 1fr;gap:24px}.editorial .photo{height:330px}.coverage .city-diagram{height:270px}.contact-band{margin:0 7% 55px;padding:30px;display:block}.contact-band h2{font-size:24px}.contact-band .btn{margin-top:15px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}footer{padding:40px 7% 25px}.subhero{height:400px;min-height:0}.subhero h1{font-size:39px}.subnav{gap:20px;font-size:11px;overflow:auto;justify-content:flex-start;white-space:nowrap;padding:18px 7%}.rail-panel{padding:20px 12px}.rail-stop{font-size:10px}.rail-stop small{font-size:8px}.tab-content{grid-template-columns:1fr;gap:10px}.tabs button{padding:9px 17px}.info-card{padding:25px}.compare{height:290px}.top{right:12px;bottom:15px;width:34px;height:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Daylight covers and district photography */
.hero {
  background: #f7f4ea;
  color: #202c27;
}
.hero-bg {
  object-position: 64% 43%;
}
.hero:after {
  pointer-events: none;
  background: linear-gradient(90deg, #faf8ef 4%, #faf8effa 32%, #faf8efe6 43%, #faf8ef72 57%, transparent 76%);
}
.hero-content {
  max-width: 68%;
}
.hero .eyebrow, .hero h1 em {
  color: #785c29;
}
.hero p {
  color: #39453d;
}
.hero .btn {
  background: #765923;
  border-color: #765923;
}
.hero .btn.light {
  color: #29372f;
  background: #faf8ef;
  border-color: #908570;
}
.hero .btn:hover {
  color: #fff;
  background: #29372f;
  border-color: #29372f;
}
.hero-bottom {
  gap: 12px;
  color: #29372f;
}
.hero-bottom > a, .hero-bottom > span:last-child {
  padding: 4px 10px;
  background: #faf8eff5;
  color: #29372f;
}
.hero-side {
  color: #29372f;
  padding: 10px 4px;
  background: #faf8eff0;
}
.region-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  padding: 0;
  background: #faf8f0;
  border: 1px solid var(--line);
  color: #29372f;
}
.region-card > img {
  position: relative;
  flex: none;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-position: center 44%;
}
.region-card:after {
  content: none;
}
.region-card:hover > img {
  transform: none;
}
.region-card:hover {
  border-color: var(--gold);
}
.region-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 3vw, 38px);
}
.region-copy small { color: #785c29; }
.region-copy p { color: #4e584e; max-width: none; }
.region-bottom {
  margin-top: auto;
  border-color: var(--line);
  gap: 10px;
}

@media (max-width: 760px) {
  .hero, .hero.subhero {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .hero-bg {
    position: relative;
    flex: none;
    height: clamp(180px, 49vw, 300px);
    object-position: 58% 43%;
    animation: none;
  }
  .hero:after { content: none; }
  .hero .hero-content {
    height: auto;
    max-width: none;
    padding: 28px 7% 16px;
  }
  .hero h1, .subhero h1 {
    font-size: clamp(30px, 7.5vw, 39px);
    margin: 12px 0 16px;
    line-height: 1.45;
  }
  .hero p { margin-bottom: 16px; }
  .hero .actions { gap: 8px; }
  .hero .actions .btn { margin-top: 0; gap: 12px; padding: 10px 14px; }
  .hero-bottom {
    position: static;
    padding: 0 7% 16px;
    align-items: start;
  }
  .hero-bottom > a, .hero-bottom > span:last-child { padding: 0; }
}

/* The panorama runs across the full banner, with copy on a separate band. */
.home-hero {
  display: block;
  height: auto;
  min-height: 0;
  max-height: none;
  background: #faf8ef;
}
.home-hero:after { content: none; }
.home-hero-visual {
  position: relative;
  margin: 0;
  aspect-ratio: 2.84;
  max-height: 620px;
  overflow: hidden;
  background: #dce8e9;
}
.home-hero-visual .hero-bg {
  position: absolute;
  height: 100%;
  object-position: 58% center;
  animation: none;
}
.home-hero-visual figcaption {
  position: absolute;
  right: clamp(8px, 2vw, 24px);
  bottom: clamp(8px, 2vw, 24px);
  padding: 5px 10px;
  background: #faf8eff5;
  color: #37413b;
  font-size: 10px;
  line-height: 1.6;
}
.home-hero-visual figcaption a { text-decoration: underline; text-underline-offset: 2px; }
.home-hero .hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .9fr);
  column-gap: clamp(30px, 6vw, 96px);
  max-width: none;
  height: auto;
  padding: clamp(24px, 3.5vw, 52px) 8%;
  align-items: center;
  border-top: 1px solid #d8c9a6;
}
.home-hero .eyebrow { grid-column: 1 / -1; }
.home-hero h1 {
  margin: 8px 0 0;
  font-size: clamp(34px, 4.2vw, 65px);
  line-height: 1.3;
  letter-spacing: .04em;
}
.home-hero h1 em { display: inline-block; }
.home-hero p { margin: 0 0 14px; letter-spacing: .04em; line-height: 1.9; }
.home-hero .actions { gap: 8px; }
.home-hero .actions .btn { gap: 12px; padding-inline: 14px; }
.home-hero-next {
  display: inline-block;
  margin-top: 12px;
  color: #5d5848;
  font-size: 11px;
  letter-spacing: .12em;
}
.home-hero-next span { color: #785c29; margin-left: 5px; }

@media (max-width: 760px) {
  .hero.home-hero { display: block; height: auto; }
  .home-hero-visual { aspect-ratio: 2.45; }
  .home-hero-visual figcaption { font-size: 8px; padding: 3px 6px; }
  .hero.home-hero .hero-content { display: block; padding: 22px 7% 20px; }
  .home-hero h1 {
    font-size: clamp(29px, 7.6vw, 43px);
    margin: 10px 0 14px;
  }
}

.region-card > .region-panorama {
  aspect-ratio: 1280 / 451;
  object-fit: contain;
}

@media (min-width: 761px) {
  .region-grid .region-card > img { aspect-ratio: 1280 / 451; }
}
