.page-region,.page-region-directory{background:#fff;color:#102b3b}
.site-search-results{margin-top:48px}.site-search-results[hidden],.site-search-card[hidden]{display:none}.site-search-results h2{font-size:1.5rem;margin:0 0 20px}.site-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.site-search-card{display:block;padding:20px;border:1px solid #d9e4e8;border-radius:14px;color:inherit;text-decoration:none;background:#f8fbfc}.site-search-card span{display:block;margin-bottom:7px;color:#27647d;font-size:.8rem}.site-search-card strong{display:block;line-height:1.5}@media(max-width:800px){.site-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.site-search-grid{grid-template-columns:1fr}}
.region-page,.region-directory{width:min(100% - 48px,1180px);margin:auto}
.region-crumb{display:flex;align-items:center;gap:11px;padding:24px 0 31px;font-size:.77rem;color:#657d89}
.region-crumb a{text-decoration:none}.region-crumb a:hover{text-decoration:underline}
.region-page-hero{display:grid;grid-template-columns:1fr 1.04fr;min-height:520px;background:#edf5f8}
.region-page-hero-copy{padding:clamp(42px,5.5vw,85px);display:flex;flex-direction:column;align-items:start;justify-content:center}
.region-page-hero-copy>span{font-size:.76rem;letter-spacing:.14em;color:#28748d;font-weight:700}
.region-page-hero h1{font-family:var(--serif);font-size:clamp(2.45rem,4vw,4rem);line-height:1.35;letter-spacing:0;margin:22px 0 20px}
.region-page-hero p{font-size:1.02rem;line-height:1.9;color:#486472;margin-bottom:24px}
.region-page-hero-copy>a,.region-route a{display:inline-flex;gap:18px;align-items:center;color:#1d6581;font-weight:700;text-decoration:none;border-bottom:1px solid #1d6581;padding-bottom:5px}
.region-page svg,.region-directory svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.region-page-hero-image{min-height:500px;overflow:hidden}.region-page-hero-image picture,.region-page-hero-image img{height:100%}
.region-page-main{width:min(100%,1060px);margin:auto;padding:82px 0 110px}
.region-section-number{font-size:.72rem;letter-spacing:.16em;color:#33819a;font-weight:700}
.region-decision,.region-route{display:grid;grid-template-columns:minmax(170px,.34fr) 1fr;gap:6%;align-items:start;padding:0 0 70px;border-bottom:1px solid #d7e1e6}
.region-decision h2,.region-route h2,.region-areas h2,.region-qa h2,.region-next h2{font-family:var(--serif);letter-spacing:0;font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.45;margin:0 0 18px}
.region-decision p,.region-route p{color:#4d6773;font-size:1.04rem;line-height:2;max-width:72ch}
.region-areas{padding:70px 0}.region-section-heading{display:grid;grid-template-columns:minmax(170px,.34fr) 1fr;gap:6%;margin-bottom:28px}
.region-area{display:grid;grid-template-columns:70px minmax(230px,.65fr) 1fr;gap:25px;align-items:start;border-top:1px solid #d7e1e6;padding:25px 0}
.region-area:last-child{border-bottom:1px solid #d7e1e6}
.region-area>span{font-family:Georgia,serif;color:#6a9db1;font-size:.85rem;padding-top:5px}
.region-area h3{font-family:var(--serif);font-size:1.36rem;letter-spacing:0;margin:0 0 8px}
.region-area p{color:#55717d;font-size:.92rem;line-height:1.85;margin:0}.region-area>div p{font-weight:700;color:#1c4253}
.region-route{padding:63px 0 75px;border-top:1px solid #d7e1e6}.region-route h2{margin-top:12px}.region-route a{margin-top:12px}
.region-qa{padding:62px 0;border-bottom:1px solid #d7e1e6}.region-qa details{border-top:1px solid #d7e1e6;padding:20px 0}.region-qa summary,.region-sources summary{cursor:pointer;font-weight:700}.region-qa details p{margin:17px 0 0;color:#4d6773}
.region-sources{padding:25px 0;border-bottom:1px solid #d7e1e6}.region-sources ul{list-style:none;padding:0;margin:20px 0 0}.region-sources li{padding:10px 0}.region-sources li span{display:block;font-size:.78rem;color:#6d828d}.region-sources a{color:#1d6581;text-underline-offset:4px}
.region-next{padding:65px 0 0}.region-next>div{display:flex;gap:10px;flex-wrap:wrap}.region-next a{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:13px 16px;min-width:175px;border:1px solid #d7e1e6;text-decoration:none;font-weight:700}.region-next a:hover{background:#edf5f8;color:#1d6581}
.region-directory{padding:70px 0 110px}.region-directory header{margin-bottom:40px}.region-directory h1{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4.4rem);letter-spacing:0;margin:0 0 15px}.region-directory header p{color:#59737f;font-size:1.03rem}
.region-directory>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.region-directory-card{grid-column:span 2;text-decoration:none;border:1px solid #d7e1e6;padding-bottom:20px}.region-directory-card:nth-child(-n+2){grid-column:span 3}.region-directory-card picture,.region-directory-card img{height:250px;overflow:hidden}.region-directory-card span,.region-directory-card strong,.region-directory-card p{display:block;margin-left:20px;margin-right:20px}.region-directory-card span{font-size:.73rem;color:#337d97;letter-spacing:.07em;margin-top:18px}.region-directory-card strong{font-family:var(--serif);font-size:1.65rem;line-height:1.4;margin-top:5px}.region-directory-card p{font-size:.87rem;color:#5c7480;margin-top:7px;margin-bottom:0}.region-directory-card:hover{box-shadow:0 14px 28px #0e354319}
.region-directory-card[hidden],.region-no-results[hidden]{display:none}
.region-search-label{display:block;font-size:.8rem;font-weight:700;color:#1d6581;margin:22px 0 7px}.region-directory input[type=search]{width:min(100%,420px);padding:11px 14px;border:1px solid #a8c1cc;border-radius:0;background:#fff;color:#102b3b;font:inherit;scroll-margin-top:20px}.region-directory input[type=search]:focus-visible{outline:3px solid #f0b76a;outline-offset:2px}.region-no-results{padding:25px 0;color:#55717d}
.region-guide-entry{margin:54px 0 0;padding:30px;border:1px solid #cbd9df;background:linear-gradient(135deg,#f4f8f9 0%,#fff 72%)}.region-guide-entry-heading{max-width:760px;margin:0 0 24px}.region-guide-entry-heading>span,.region-guide-card>span:first-child{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:#337d97}.region-guide-entry h2{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.35;margin:8px 0}.region-guide-entry-heading p,.region-guide-group-heading p{font-size:.88rem;color:#59737f;margin:0}.region-guide-groups{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.region-guide-group-heading{margin:0 0 12px}.region-guide-group-heading h3{font-family:var(--serif);font-size:1.08rem;line-height:1.4;color:#14384b;margin:0 0 5px}.region-guide-group-heading p{font-size:.79rem;line-height:1.6}.region-guide-group-practical .region-guide-grid{grid-template-columns:1fr}.region-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.region-guide-card{position:relative;min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:14px 38px 14px 16px;border:1px solid #d7e1e6;background:#fff;color:#102b3b;text-decoration:none}.region-guide-card strong{font-family:var(--serif);font-size:.98rem;line-height:1.4}.region-guide-card:hover{border-color:#4b879c;box-shadow:0 8px 18px #0e354310}.region-guide-card:focus-visible{outline:3px solid #f0b76a;outline-offset:2px}.region-guide-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1rem;color:#337d97}
.region-directory-region-heading{margin:46px 0 18px}.region-directory-region-heading h2{font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.4;color:#14384b;margin:0 0 5px}.region-directory-region-heading p{font-size:.88rem;color:#59737f;margin:0}.region-comparison-entry{margin-top:28px}.region-comparison-entry .region-guide-groups{display:block}.region-comparison-entry .region-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.region-page-hero{grid-template-columns:1fr}.region-page-hero-image{min-height:380px;max-height:400px;order:-1}.region-page-hero-copy{padding:44px}.region-directory>div{grid-template-columns:repeat(2,1fr)}.region-directory-card,.region-directory-card:nth-child(-n+2){grid-column:span 1}.region-guide-groups{grid-template-columns:1fr}.region-guide-group-practical .region-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.region-page,.region-directory{width:min(100% - 36px,1180px)}.region-page-hero-image{min-height:260px;max-height:290px}.region-page-hero-copy{padding:34px 26px 40px}.region-page-hero h1{font-size:2.35rem}.region-page-main{padding:57px 0 75px}.region-decision,.region-route,.region-section-heading{grid-template-columns:1fr;gap:10px}.region-decision{padding-bottom:45px}.region-areas{padding:50px 0}.region-area{grid-template-columns:35px 1fr;gap:12px}.region-area>p{grid-column:2}.region-route{padding:45px 0}.region-qa{padding:45px 0}.region-next{padding-top:45px}.region-next a{width:100%}.region-directory{padding:55px 0 80px}.region-directory>div{grid-template-columns:1fr}.region-directory-card picture,.region-directory-card img{height:210px}.region-guide-entry{margin-top:36px;padding:22px 18px}.region-guide-group-practical .region-guide-grid,.region-guide-grid{grid-template-columns:1fr;gap:8px}.region-guide-card{min-height:76px}}

/* Region pages are article hubs. Existing guide copy sits after the article directory. */
.region-page-hero{min-height:380px;grid-template-columns:.85fr 1.15fr;background:#f0f6f8}
.region-page-hero-copy{padding:48px 55px}
.region-page-hero h1{font-size:clamp(2.6rem,4.5vw,4.5rem);margin:14px 0 16px}
.region-page-hero p{font-size:.95rem;line-height:1.85;margin:0 0 24px}
.region-page-hero-image{min-height:380px;max-height:380px}
.region-page-hero-image img{object-position:center 53%}
.region-hub-nav{display:flex;gap:0;border-bottom:1px solid #cddde4;background:#fff}
.region-page-hero-copy>.region-region-compare-link{margin-top:12px;padding:0;border:0;color:#54717e;font-size:.82rem;font-weight:600}
.region-page-hero-copy>.region-region-compare-link:hover,.region-page-hero-copy>.region-region-compare-link:focus-visible{color:#1d6581;text-decoration:underline}
.region-hub-nav a{padding:17px 23px;color:#1d5770;text-decoration:none;font-size:.84rem;font-weight:700;border-right:1px solid #d9e5ea}
.region-hub-nav a:hover,.region-hub-nav a:focus-visible{background:#e9f3f6}
.region-page-main{padding:0 0 95px}
.region-library{padding:62px 0 68px;border-bottom:1px solid #d7e1e6;scroll-margin-top:25px}
.region-library-head,.hub-places-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.region-library-head h2,.hub-places-head h2,.hub-decision h2{font-family:var(--serif);font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.42;margin:7px 0 0}
.region-library-head p,.hub-places-head>p{max-width:440px;color:#54717e;line-height:1.7;margin:0;font-size:.9rem}
.hub-empty{border-top:1px solid #cddde4;background:#f1f7f9;color:#476672;padding:25px 30px;margin:0;line-height:1.8}
.hub-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #bcd2dc}
.hub-start-grid a{display:flex;flex-direction:column;min-height:205px;padding:20px 22px 17px;color:#102b3b;text-decoration:none;border-right:1px solid #d7e1e6}
.hub-start-grid a:last-child{border-right:0}
.hub-start-grid a:hover,.hub-start-grid a:focus-visible{background:#edf5f8}
.hub-start-grid span{color:#367d98;font-size:.72rem;letter-spacing:.07em}
.hub-start-grid strong{font-family:var(--serif);font-size:1.25rem;line-height:1.45;margin-top:12px}
.hub-start-grid p{font-size:.8rem;color:#607984;line-height:1.7;margin:11px 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hub-start-grid em{font-style:normal;color:#1d6581;font-size:.76rem;font-weight:700;margin-top:auto}
.hub-article-group{padding:16px 0 30px;border-top:1px solid #d7e1e6}
.hub-draft-notice{margin:0 0 20px;padding:12px 16px;border-left:3px solid #ba8c52;background:#f7f2e9;color:#665235;font-size:.84rem;line-height:1.65}
.hub-article-group-preview h3{color:#82663c}
.hub-article-group h3{font-family:var(--serif);font-size:1.45rem;margin:4px 0 19px}
.hub-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hub-article-card{text-decoration:none;padding-bottom:17px;border-bottom:1px solid #cbdde5;display:block}
.hub-article-card-preview{border-bottom-color:#d8c8ac}
.hub-article-card-preview>span{color:#86683c}
.hub-article-card picture,.hub-article-card img{display:block;height:155px;overflow:hidden}
.hub-article-card>span{display:block;color:#377a95;font-size:.72rem;margin-top:14px}
.hub-article-card h3{font-family:var(--serif);color:#102b3b;font-size:1.22rem;margin:6px 0}
.hub-article-card p{font-size:.84rem;line-height:1.7;color:#607985;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hub-article-card>strong{color:#1d6581;font-size:.79rem}
.hub-places{padding:65px 0 75px;scroll-margin-top:20px}
.hub-orientation{border-top:1px solid #cbdde5}
.hub-orientation strong{display:block;font-family:var(--serif);font-size:1.27rem;line-height:1.4}
.hub-orientation span{color:#5b93aa;font-family:Georgia,serif;font-size:.8rem}
.hub-orientation p{margin:9px 0 8px;color:#183b4b;font-weight:700;font-size:.88rem;line-height:1.6}
.hub-orientation small{display:block;color:#617b87;font-size:.79rem;line-height:1.75}
.hub-orientation-four{display:grid;grid-template-columns:repeat(4,1fr)}
.hub-base{padding:25px 20px 28px;border-left:1px solid #d7e1e6;background:#f6fafb}
.hub-base:first-child{border-left:0}
.hub-base strong{margin-top:13px}
.hub-orientation-bands .hub-band-row{display:grid;grid-template-columns:50px 180px .9fr 1.3fr;gap:20px;align-items:start;padding:24px 14px;border-bottom:1px solid #d7e1e6}
.hub-band-row p{margin:0}
.hub-orientation-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:0}
.hub-zone{padding:25px 28px;background:#eef6f9;min-height:170px}
.hub-zone-3{grid-column:1/-1;background:#e2eef3;min-height:130px;display:grid;grid-template-columns:50px 180px .8fr 1.2fr;gap:20px;align-items:center}
.hub-zone-3 p{margin:0}
.hub-orientation-route{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid #5f9bb4}
.hub-route-stop{padding:24px 26px;border-left:1px solid #d7e1e6;position:relative}
.hub-route-stop:before{content:'';position:absolute;width:9px;height:9px;background:#1d6581;top:-6px;left:24px;border-radius:50%}
.hub-route-stop:first-child{border-left:0}
.hub-route-stop strong{margin-top:14px}
.hub-orientation-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0}
.hub-choice{padding:26px;background:#eaf4f7}
.hub-choice-2{background:#f1f6f8}
.hub-choice-3{grid-column:1/-1;display:grid;grid-template-columns:45px 160px 1fr 1.2fr;align-items:center;gap:17px;padding:19px 25px;background:#f8fafb;border-top:1px solid #d7e1e6}
.hub-choice-3 p{margin:0}
.hub-decision{display:grid;grid-template-columns:.45fr 1fr;gap:5%;background:#edf5f8;padding:40px 46px;scroll-margin-top:20px}
.hub-decision p{font-size:.92rem;line-height:1.8;color:#4c6875;margin:0 0 13px}
.hub-decision a{display:inline-flex;gap:12px;align-items:center;color:#1d6581;font-weight:700;text-decoration:none;border-bottom:1px solid #1d6581;padding-bottom:4px;font-size:.82rem}
.region-qa{padding:54px 0 45px}
.region-next{padding-top:44px}
.region-theme-rusutsu .region-page-hero{background:#e9f2f5}
.region-theme-rusutsu .region-page-hero-image img{object-position:48% 50%}
.region-theme-furano .region-page-hero{grid-template-columns:1.15fr .85fr}
.region-theme-furano .region-page-hero-image{order:-1}
.region-theme-hakuba .region-page-hero{background:#e7f1f5}
.region-theme-hakuba .region-page-hero-image img{object-position:55% 40%}
.region-theme-yuzawa-naeba .region-page-hero{grid-template-columns:1fr 1fr;background:#eef4f7}
@media(max-width:900px){
  .region-page-hero,.region-theme-furano .region-page-hero,.region-theme-yuzawa-naeba .region-page-hero{grid-template-columns:1fr}
  .region-page-hero-image,.region-theme-furano .region-page-hero-image{order:-1}
  .region-page-hero-copy{padding:36px}
  .hub-orientation-four{grid-template-columns:repeat(2,1fr)}
  .hub-base:nth-child(3){border-left:0}
  .hub-article-grid{grid-template-columns:repeat(2,1fr)}
  .hub-start-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hub-orientation-bands .hub-band-row{grid-template-columns:40px 150px 1fr}
  .hub-band-row small{grid-column:3}
}
@media(max-width:650px){
  .region-page-hero-image{min-height:250px;max-height:270px}
  .region-page-hero-copy{padding:32px 25px 38px}
  .region-page-hero h1{font-size:2.5rem}
  .region-hub-nav{overflow-x:auto;white-space:nowrap}
  .region-hub-nav a{padding:13px 15px;font-size:.78rem}
  .region-library{padding:45px 0 50px}
  .region-library-head,.hub-places-head{display:block}
  .region-library-head p,.hub-places-head>p{margin-top:12px}
  .hub-article-grid{grid-template-columns:1fr}
  .hub-start-grid{grid-template-columns:1fr}
  .hub-start-grid a{min-height:0;border-right:0;border-bottom:1px solid #d7e1e6;padding:18px 9px}
  .hub-places{padding:48px 0 55px}
  .hub-orientation-four{grid-template-columns:1fr 1fr}
  .hub-base{padding:17px 12px}
  .hub-base:nth-child(odd){border-left:0}
  .hub-orientation strong{font-size:1.05rem}
  .hub-orientation-bands .hub-band-row,.hub-zone-3,.hub-choice-3{grid-template-columns:35px 1fr;gap:8px 12px}
  .hub-band-row p,.hub-band-row small,.hub-zone-3 p,.hub-zone-3 small,.hub-choice-3 p,.hub-choice-3 small{grid-column:2}
  .hub-orientation-zones,.hub-orientation-choice,.hub-orientation-route{grid-template-columns:1fr}
  .hub-zone-3,.hub-choice-3{grid-column:auto}
  .hub-route-stop{border-left:0;border-bottom:1px solid #d7e1e6}
  .hub-decision{grid-template-columns:1fr;padding:31px 25px}
}

.hub-article-section{padding:26px 0 34px;border-top:1px solid #d7e1e6}
.hub-article-section-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:17px}
.hub-article-section-heading h3{font-family:var(--serif);font-size:1.4rem;color:#102b3b;margin:0}
.hub-article-section-heading span{color:#64808c;font-size:.78rem}
.hub-article-search-label{display:block;margin:19px 0 7px;font-size:.8rem;font-weight:700;color:#1d6581}
.hub-article-search{display:block;width:min(100%,430px);padding:11px 14px;border:1px solid #a8c1cc;border-radius:0;background:#fff;color:#102b3b;font:inherit}
.hub-article-search:focus-visible{outline:3px solid #f0b76a;outline-offset:2px}
.hub-article-empty{margin:20px 0;padding:15px;background:#edf5f8;color:#486472}
.hub-article-card[hidden],.hub-article-section[hidden]{display:none}
