.page-province { background:#fffdfa; color:#1c2f29; }
.page-province .container { width:min(1360px,calc(100% - 48px)); }
@media(min-width:1101px) { .page-province .site-header .header-inner { width:min(1200px,calc(100% - 56px)); } }
.page-province .site-header { position:fixed; top:0; left:0; right:0; border:0; background:rgba(255,255,255,var(--header-bg-alpha,0)); backdrop-filter:blur(var(--header-blur,0px)); color:#fff; box-shadow:0 4px 24px rgba(16,43,40,var(--header-shadow-alpha,0)); }
.page-province .site-header .main-nav a { color:#fff; text-shadow:0 1px 10px #102d2d80; transition:color .25s,text-shadow .25s; }
.page-province .site-header .header-link { border-color:#ffffff80; background:#ffffff26; color:#fff; }
.page-province .site-header .brand-number { color:#f5c16d; }
.page-province .site-header.is-scrolled,.page-province .site-header.menu-open { color:var(--ink); }
.page-province .site-header.menu-open { background:#fff; }
.page-province .site-header.is-scrolled .main-nav a,.page-province .site-header.menu-open .main-nav a { color:#435d50; text-shadow:none; }
.page-province .site-header.is-scrolled .header-link,.page-province .site-header.menu-open .header-link { border-color:var(--line); background:#fff; color:var(--ink); }
.page-province .site-header.is-scrolled .brand-number,.page-province .site-header.menu-open .brand-number { color:#b47b3c; }
.page-province .site-header .main-nav .destination-menu a { color:#203b31; text-shadow:none; }
.page-province .site-header .main-nav .destination-menu-heading>a { color:#2468bf; }
.page-province .site-header .main-nav .destination-menu a:hover { color:#1b67c8; }
.province-hero { display:block; position:relative; width:100%; height:clamp(280px,27vw,370px); padding:0; border-radius:0; overflow:hidden; background:#345945; color:#fff; }
.province-hero>img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.province-hero-tint { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,25,29,.38),transparent 42%),linear-gradient(90deg,rgba(7,30,32,.62),rgba(8,30,30,.12) 60%,transparent),linear-gradient(0deg,rgba(7,30,32,.2),transparent 50%); }
.province-hero-content { position:relative; z-index:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:86px 0 57px; text-shadow:0 2px 22px rgba(0,0,0,.28); }
.province-hero h1 { margin:0; font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:clamp(60px,7vw,105px); font-weight:700; letter-spacing:-.05em; line-height:1.16; }
.province-destination { --province-accent:#326b54; background:#fffdfa; }
.province-eyebrow { display:block; color:var(--province-accent); font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.province-overview { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,1.18fr) minmax(205px,.68fr); gap:14px; align-items:stretch; margin-top:-24px; padding:20px; border:1px solid #eeeae2; border-radius:18px; background:#faf8f4; box-shadow:0 15px 36px rgba(32,50,39,.08); }
.province-story { min-width:0; padding:5px 8px 0 0; }
.province-story h2,.province-section-heading h2 { margin:7px 0 13px; font-family:"Noto Serif SC","Songti SC","Microsoft YaHei",serif; font-size:clamp(25px,2.3vw,34px); line-height:1.2; letter-spacing:-.035em; }
.province-story p { margin:0 0 10px; color:#46564e; font-size:13px; line-height:1.76; }
.province-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:7px; min-height:0; }
.province-fact { display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:0; padding:9px 8px; border:1px solid #eeeee9; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(27,60,45,.035); }
.province-fact-icon { color:var(--province-accent); font-size:21px; line-height:1; font-weight:600; }
.province-fact-label { margin-top:7px; color:#607b66; font-size:10px; font-weight:700; }
.province-fact strong { display:block; margin-top:3px; overflow-wrap:anywhere; color:#233a2f; font-size:11px; line-height:1.28; white-space:pre-line; }
.province-fact.is-pending strong { color:#9aa9a0; font-size:11px; font-weight:500; }
.province-map-card { display:flex; flex-direction:column; min-width:0; min-height:0; margin:0; padding:12px; border:1px solid #e8eee7; border-radius:12px; background:radial-gradient(circle at 62% 50%,#e7f1df,#f7f5ec 70%); overflow:hidden; }
.province-map-top { display:block; padding:0; letter-spacing:normal; }
.province-map-top h3 { margin:4px 0 0; color:#21382e; font-size:17px; letter-spacing:normal; }
.province-map-art { display:flex; align-items:center; justify-content:center; flex:1; min-height:0; max-height:168px; overflow:hidden; }
.province-shape { display:block; width:100%; height:100%; max-height:168px; filter:drop-shadow(0 10px 10px rgba(40,90,54,.17)); }
.province-map-caption { display:block; padding:6px 0 0; border:0; color:#728779; font-size:11px; text-align:center; }
.province-section { padding-top:34px; padding-bottom:8px; }
.province-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:13px; }
.province-section-heading>div { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 13px; }
.province-section-heading .province-eyebrow { flex-basis:100%; }
.province-section-heading h2 { margin:4px 0 2px; }
.province-section-heading p { margin:0; color:#77837b; font-size:13px; }
.province-section-heading>a { flex:none; color:var(--province-accent); font-size:13px; font-weight:700; text-decoration:none; }
.province-section-heading>a:hover { text-decoration:underline; }
#province-food-title,#province-area-title,#province-first-title { scroll-margin-top:90px; }
.province-explore-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.province-explore-card { --explore-ink:#174c3d; --explore-surface:#edf1e8; position:relative; display:block; height:260px; border:1px solid rgba(53,72,56,.07); border-radius:17px; overflow:hidden; background:var(--explore-surface); color:var(--explore-ink); text-decoration:none; transition:transform .22s ease,box-shadow .22s ease; }
.province-explore-card--eat { --explore-ink:#86571e; --explore-surface:#f9eddb; }
.province-explore-card--stay { --explore-ink:#235470; --explore-surface:#e1edf4; }
.province-explore-card--shop { --explore-ink:#914d3c; --explore-surface:#f5ddd4; }
.province-explore-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(30,54,41,.09); }
.province-explore-card img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s ease; }
.province-explore-card--stay img,.province-explore-card--shop img { object-position:right center; }
.province-explore-card:hover img { transform:scale(1.025); }
.province-explore-shade { position:absolute; inset:0; background:linear-gradient(90deg,var(--explore-surface) 0%,color-mix(in srgb,var(--explore-surface) 90%,transparent) 38%,transparent 78%); opacity:.72; }
.province-explore-copy { position:absolute; inset:19px auto 17px 20px; display:flex; flex-direction:column; align-items:flex-start; max-width:63%; }
.province-explore-icon { display:block; width:29px; height:29px; margin-bottom:7px; color:var(--explore-ink); }
.province-explore-icon svg { width:100%; height:100%; }
.province-explore-copy strong { font-family:"Noto Serif SC","Songti SC","Microsoft YaHei",serif; font-size:30px; font-weight:700; line-height:1.15; letter-spacing:-.04em; white-space:nowrap; }
.province-explore-english { margin-top:5px; font-family:Georgia,serif; font-size:10px; letter-spacing:.1em; white-space:nowrap; }
.province-explore-rule { width:25px; height:1px; margin:11px 0 9px; background:currentColor; }
.province-explore-copy small { font-size:13px; font-weight:700; line-height:1.5; }
.province-explore-copy small span { display:block; white-space:nowrap; }
.province-explore-copy>.province-explore-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; width:auto; min-width:108px; margin-top:auto; padding:7px 13px; border-radius:999px; background:var(--explore-ink); color:#fff; font-size:11px; font-weight:800; white-space:nowrap; }
.province-explore-copy b { font-size:16px; }
.province-first-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.province-first-card,.province-area-card,.province-food-card { display:block; min-width:0; border:1px solid #e9eee8; border-radius:12px; overflow:hidden; background:#fff; color:inherit; text-decoration:none; box-shadow:0 5px 17px rgba(30,54,41,.045); transition:transform .2s ease,box-shadow .2s ease; }
a.province-first-card:hover,a.province-area-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(30,54,41,.12); }
.province-first-image,.province-area-image,.province-food-image { display:block; overflow:hidden; background:#e8eee8; }
.province-first-image { height:118px; }
.province-first-image img,.province-area-image img,.province-food-image img { display:block; width:100%; height:100%; object-fit:cover; }
.province-first-body { display:flex; flex-direction:column; gap:2px; padding:11px 10px 13px; }
.province-first-body strong { font-size:14px; line-height:1.3; }
.province-first-body small { min-height:1.5em; color:#76857d; font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
.province-area-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.province-area-image { height:145px; }
.province-area-copy { display:grid; grid-template-columns:1fr 26px; align-items:center; gap:4px 8px; padding:12px; }
.province-area-copy strong { min-width:0; overflow:hidden; color:inherit; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.province-area-copy small { grid-column:1/-1; min-width:0; overflow:hidden; color:#687a6f; font-size:12px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.province-area-copy>.province-area-arrow { grid-column:2; grid-row:1; display:grid; place-items:center; width:27px; height:27px; border:1px solid #d6e5d8; border-radius:50%; color:var(--province-accent); }
.province-area-stats { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:5px 13px; margin-top:6px; color:#78867c; font-size:11px; }
.province-area-stats b { color:var(--province-accent); font-size:12px; }
.province-food-band { margin-top:38px; background:#f6f4ee; }
.province-food-band .province-section { padding-top:42px; padding-bottom:50px; }
.province-food-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.province-food-image { height:154px; }
.province-food-copy { display:flex; flex-direction:column; gap:2px; padding:12px; }
.province-food-copy small { color:var(--province-accent); font-size:12px; font-weight:750; }
.province-food-copy strong { font-size:15px; }
.province-section-empty { padding:30px; border:1px dashed #ccd9cd; border-radius:12px; background:#fafcf9; color:#6e7e72; font-size:13px; }
.province-section-empty p { margin:0 0 9px; }
.province-section-empty a { color:var(--province-accent); font-weight:700; text-decoration:none; }
@media(max-width:1180px) {
  .province-explore-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .province-explore-card { height:270px; }
}
@media(max-width:900px) {
  .province-overview { grid-template-columns:1fr 1.15fr; }
  .province-map-card { grid-column:1/-1; min-height:210px; flex-direction:row; align-items:center; }
  .province-map-art { min-height:180px; max-height:190px; }
  .province-map-caption { align-self:flex-end; }
  .province-first-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .page-province .container { width:min(100% - 28px,640px); }
  .province-hero { height:330px; }
  .province-hero-content { padding:82px 0 35px; }
  .province-hero h1 { font-size:clamp(56px,11vw,78px); }
  .province-overview { grid-template-columns:1fr; gap:16px; margin-top:-16px; padding:17px; }
  .province-story { padding:0; }
  .province-story p { font-size:13px; }
  .province-facts { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
  .province-fact { min-height:95px; padding:11px; }
  .province-map-card { grid-column:auto; min-height:240px; flex-direction:column; align-items:stretch; }
  .province-map-art { max-height:none; }
  .province-section { padding-top:28px; padding-bottom:10px; }
  .province-section-heading { align-items:flex-start; flex-wrap:wrap; gap:8px; margin-bottom:15px; }
  .province-section-heading>div { flex:1 1 100%; }
  .province-section-heading h2 { font-size:25px; }
  .province-section-heading>a { margin-top:0; font-size:11px; }
  .province-explore-grid,.province-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .province-explore-card { height:255px; }
  .province-explore-copy { inset:17px auto 17px 19px; max-width:53%; }
  .province-explore-copy strong { font-size:27px; }
  .province-explore-icon { width:27px; height:27px; margin-bottom:5px; }
  .province-explore-english { font-size:10px; }
  .province-explore-rule { margin:10px 0 9px; }
  .province-explore-copy small { font-size:12px; }
  .province-explore-copy>.province-explore-cta { min-width:105px; padding:7px 12px; }
  .province-first-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .province-first-image { height:135px; }
  .province-area-image { height:120px; }
  .province-area-copy { padding:10px; }
  .province-area-copy strong { font-size:14px; }
  .province-area-copy small { font-size:11px; }
  .province-area-stats { gap:4px 8px; font-size:10px; }
  .province-food-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .province-food-image { height:125px; }
  .province-food-band { margin-top:28px; }
}
@media(max-width:560px) {
  .province-explore-grid { grid-template-columns:1fr; gap:10px; }
  .province-explore-card { height:230px; }
  .province-explore-copy { inset:16px auto 16px 19px; max-width:52%; }
  .province-explore-copy strong { font-size:29px; }
}
