@import url("/snow-learning.css");
:root{--ink:#173642;--navy:#102f3c;--muted:#5e7078;--ice:#e7f1f3;--blue:#376f84;--line:#dce5e6;--paper:#f8faf9;--white:#fff;--font:'DM Sans','Noto Sans JP',sans-serif;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);font-family:var(--font);color:var(--ink);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #71b2cc;outline-offset:4px}button{border:0;background:none}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3,h4{font-weight:500;line-height:1.12;letter-spacing:-.045em}h2{font-size:43px}h3{font-size:25px}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.narrow{max-width:900px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}.section{padding:85px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:33px}.section-head p{max-width:370px;font-size:14px}.section-head .eyebrow{color:var(--blue);margin-bottom:14px}.section-head h2 em,.title-serif{font-family:'Playfair Display',serif;font-weight:500}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;padding:8px 0;border-bottom:1px solid #a9bbc0;white-space:nowrap}.text-link:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--navy);border-radius:5px;padding:13px 21px;background:var(--navy);color:white;font-size:13px;font-weight:600;min-height:47px;transition:background .2s,transform .2s}.btn:hover{background:#255365}.btn.light{background:#fff;border-color:#fff;color:var(--ink)}.btn.outline{background:transparent;color:var(--ink);border-color:#b7c9cf}.btn.outline:hover{background:var(--ice)}.btn.small{min-height:38px;padding:8px 15px;font-size:12px}.btn:active{transform:translateY(1px)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;background:#fff;color:var(--ink);border:1px solid var(--line)}.icon-btn:hover{background:var(--ice)}.icon-btn.is-active{color:#3b7c91;background:#e6f1f3}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;border-radius:3px;background:var(--ice);color:#436875;padding:5px 8px;letter-spacing:.01em}.tags{display:flex;gap:6px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:12px}.site-header{height:88px;background:#fff;border-bottom:1px solid #ebeeee;position:sticky;top:0;z-index:40}.nav-wrap{width:calc(100% - 80px);max-width:1440px;height:100%;margin:auto;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:39px;height:39px}.brand-name{display:block;font-size:14px;font-weight:700;letter-spacing:.055em;line-height:1.25}.brand-sub{display:block;font-size:8px;font-weight:500;letter-spacing:.24em;margin-top:5px;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:26px;margin:auto;font-size:12px;font-weight:500}.desktop-nav a{padding:30px 0;position:relative;white-space:nowrap}.desktop-nav a:hover{color:var(--blue)}.desktop-nav a.active:after{content:'';height:2px;position:absolute;bottom:20px;left:0;right:0;background:var(--blue)}.nav-actions{display:flex;align-items:center;gap:17px;flex-shrink:0}.lang-switch{display:flex;font-size:10px;align-items:center;gap:7px}.lang-switch button{padding:5px 2px;color:#627780}.lang-switch button.selected{color:var(--ink);font-weight:700}.saved-nav{position:relative;background:transparent;border:0;width:30px}.saved-count{position:absolute;top:0;right:-4px;min-width:14px;height:14px;padding:0 3px;background:var(--navy);border-radius:10px;color:white;font-size:9px;line-height:14px}.mobile-toggle{display:none}.mobile-nav{display:none}.hero{position:relative;min-height:606px;height:calc(100vh - 168px);max-height:750px;color:#fff;background:#51727b;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-3}.hero-photo img{object-position:center 48%}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,37,50,.65),rgba(10,37,50,.2) 60%,rgba(10,37,50,.07)),linear-gradient(0deg,rgba(11,36,48,.32),transparent 55%)}.hero-content{padding-top:76px}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#eef6f7;letter-spacing:.22em;margin-bottom:23px}.hero .eyebrow:before{content:'';width:28px;height:1px;background:#b9d8e2}.hero h1{font-size:clamp(52px,5.2vw,78px);line-height:1.045;max-width:830px;letter-spacing:-.052em;font-weight:450}.hero h1 em{font-family:'Playfair Display',serif;font-weight:500}.hero-desc{font-size:15px;line-height:1.8;color:#e2ecf0;max-width:420px;margin-top:24px}.hero-cta{margin-top:29px;display:flex;gap:23px;align-items:center}.hero-cta .text-link{border-color:rgba(255,255,255,.6);color:white}.hero-bottom{position:absolute;bottom:100px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.05em}.hero-location{display:flex;align-items:center;gap:7px;color:#f1f7f8}.hero-folio{color:#e7f0f1;font-size:10px}.search-anchor{position:relative;z-index:4;margin-top:-60px}.search-panel{background:#fff;box-shadow:0 8px 45px #132f4212;border-radius:7px;padding:23px 25px 19px}.search-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:0;align-items:center}.search-field{padding:0 23px;border-right:1px solid var(--line);min-width:0}.search-field:first-child{padding-left:0}.search-field label,.field-label{display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.search-field select{width:100%;font-size:13px;appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23738388' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center;padding:4px 21px 4px 0;outline-offset:2px;border:0;border-radius:0}.search-grid>.btn{margin-left:25px;min-height:52px;min-width:163px}.search-hint{font-size:11px;color:var(--muted);margin-top:16px;display:flex;align-items:center;gap:14px}.search-hint button{font-size:11px;padding:0;border-bottom:1px solid #becbce}.search-hint .dot{color:#b3c0c4}.promise-strip{display:flex;align-items:center;justify-content:center;gap:37px;padding:27px 0 29px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.025em;color:#596f79}.promise-strip span{display:flex;align-items:center;gap:9px}.promise-strip strong{color:var(--ink);font-weight:500}.style-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:17px}.style-card{height:224px;position:relative;border-radius:6px;overflow:hidden;color:white;display:flex;align-items:flex-end;padding:20px 17px;background:#557a82;isolation:isolate}.style-card img{position:absolute;inset:0;z-index:-2;transition:transform .5s}.style-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,26,36,.82),rgba(5,26,36,0) 80%)}.style-card:hover img,.destination-card:hover img,.story-image:hover img{transform:scale(1.055)}.style-card .card-symbol{display:block;margin-bottom:8px}.style-card h3{font-size:18px;letter-spacing:-.025em;line-height:1.2}.style-card p{font-size:10px;color:#e0e9ed;margin-top:6px}.map-section{background:#eaf1f2;overflow:hidden}.map-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.map-copy h2{max-width:400px;font-size:47px}.map-copy>p{font-size:14px;margin:22px 0;max-width:350px}.region-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:405px;margin-top:29px}.region-button{display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;border:1px solid #cfdddf;padding:12px 13px;background:transparent;border-radius:4px;font-size:12px}.region-button span.count{font-size:10px;color:var(--muted)}.region-button:hover,.region-button.is-active{background:white;border-color:var(--blue)}.region-button.is-active{box-shadow:0 2px 9px #1b3f4a08}.map-card{min-height:460px;position:relative}.japan-map{display:block;width:100%;height:490px}.map-island{fill:#d0dee1;stroke:#fff;stroke-width:1.1}.map-water{font-size:10px;fill:#93adb5;letter-spacing:.2em;font-style:italic}.map-point{cursor:pointer;outline:none}.map-point circle{fill:var(--navy);stroke:#edf5f6;stroke-width:3;transition:r .2s}.map-point:hover circle,.map-point.is-active circle{fill:#4e90a4;r:7}.map-point text{fill:#214a59;font-size:12px;font-family:var(--font);font-weight:600;paint-order:stroke;stroke:#eaf1f2;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.resort-dot{fill:#85a9b5;opacity:.7}.map-region-peek{position:absolute;bottom:3px;left:0;right:0;background:#ffffffea;padding:16px 19px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d7e2e5}.map-region-peek h3{font-size:20px;margin-bottom:4px}.map-region-peek p{font-size:11px;max-width:360px}.map-region-peek .btn{flex-shrink:0}.map-note{font-size:9px;color:#536e79;margin-top:12px}.resort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.resort-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0;transition:box-shadow .25s,transform .25s}.resort-card:hover{box-shadow:0 10px 35px #0e34410c;transform:translateY(-3px)}.resort-image{height:230px;position:relative;overflow:hidden;background:#b9ccd1}.resort-image img{transition:transform .5s}.resort-card:hover .resort-image img{transform:scale(1.035)}.resort-image .icon-btn{position:absolute;right:13px;top:13px;box-shadow:0 2px 8px #15344312;z-index:2}.image-label{position:absolute;bottom:12px;left:15px;font-size:9px;letter-spacing:.075em;color:#fff;text-shadow:0 1px 6px #001824}.resort-body{padding:23px 23px 18px}.resort-place{font-size:9px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;color:var(--blue);margin-bottom:7px}.resort-body h3{font-size:24px;line-height:1.15;margin-bottom:12px;min-height:28px}.resort-body .tags{margin-top:13px}.resort-summary{font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.resort-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:19px;border-top:1px solid #e6eced;padding-top:15px;gap:12px;font-size:11px}.resort-facts>div{display:flex;gap:7px;align-items:center;color:#687f87}.resort-facts svg{color:#7d9ba6}.resort-card-footer{border-top:1px solid #e8eeee;display:flex;align-items:center;justify-content:space-between;padding:12px 23px;font-size:11px}.compare-toggle{display:flex;align-items:center;gap:7px;font-size:10px;color:#627c86;padding:4px 0}.compare-toggle.is-active{color:#285d71}.square-check{width:13px;height:13px;border:1px solid #a9bec5;border-radius:3px;display:flex;align-items:center;justify-content:center}.is-active .square-check{background:#315f70;border-color:#315f70;color:white}.card-link{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.destinations-section{padding-top:5px}.destination-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:23px}.destination-card{position:relative;border-radius:6px;overflow:hidden;color:white;min-height:370px;display:flex;align-items:flex-end;padding:30px;isolation:isolate}.destination-card img{position:absolute;inset:0;z-index:-2;transition:transform .6s}.destination-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,30,38,.86),transparent 85%)}.destination-card h3{font-size:32px}.destination-card p{margin-top:9px;font-size:12px;max-width:300px;color:#e0e9ee}.destination-card .eyebrow{color:#dce8eb;margin-bottom:12px}.destination-card .circle-arrow{position:absolute;right:22px;bottom:26px;border:1px solid #ffffff60;width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:50%}.feature-band{display:grid;grid-template-columns:1fr 1fr;min-height:455px;background:var(--navy);color:white;border-radius:7px;overflow:hidden}.feature-photo{min-height:440px;position:relative}.feature-copy{padding:60px}.feature-copy h2{font-size:43px;margin:16px 0 23px}.feature-copy p{font-size:13px;color:#b6cbd2;max-width:370px;line-height:1.8;margin-bottom:30px}.feature-copy .eyebrow{color:#b7d5df}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.story-image{height:230px;display:block;overflow:hidden;border-radius:5px;background:#b9ccd1}.story-image img{transition:transform .6s}.story-body{padding-top:20px}.story-meta{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);display:flex;justify-content:space-between;gap:10px}.story-body h3{font-size:23px;line-height:1.25;margin:10px 0 13px}.story-body p{font-size:12px;line-height:1.7}.end-cta{padding:55px 0;background:#edf3f3;border-top:1px solid #d9e4e6}.end-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.end-cta h2{font-size:33px}.end-cta p{margin-top:10px;font-size:13px}.end-cta .actions{display:flex;gap:12px}.site-footer{background:#fff;padding:55px 0 22px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px}.footer-main .brand{margin-bottom:18px}.footer-main p{font-size:11px;max-width:270px}.footer-links{font-size:11px;display:flex;flex-direction:column;gap:10px}.footer-links h4{font-size:11px;font-weight:600;letter-spacing:0;margin:0 0 9px}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-top:22px;margin-top:42px;font-size:9px;color:#61757e}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.compare-tray{position:fixed;bottom:21px;left:50%;transform:translateX(-50%);width:min(890px,calc(100% - 30px));padding:13px 18px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:18px;border-radius:8px;box-shadow:0 5px 32px #072c4240;z-index:50}.tray-label{font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:7px}.tray-items{display:flex;gap:7px;flex:1;overflow:auto}.tray-item{display:flex;align-items:center;gap:7px;font-size:10px;background:#2b4b58;padding:6px 8px;border-radius:3px;white-space:nowrap}.tray-item button{padding:0;color:#cbdde4;display:flex}.tray-clear{font-size:10px;color:#c8dae0;white-space:nowrap}.compare-tray .btn{min-height:38px;padding:9px 15px;font-size:11px;white-space:nowrap}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,20px);padding:13px 22px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:5px;box-shadow:0 10px 35px #183f4820;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 30px);width:max-content}.toast.show{opacity:1;transform:translate(-50%,0)}.skip-link{position:fixed;z-index:101;top:-100px;left:12px;background:#fff;padding:12px}.skip-link:focus{top:8px}.page-heading{padding:49px 0 40px;background:#eef4f5}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:10px;color:#5e737d;margin-bottom:28px}.breadcrumb a:hover{color:var(--ink)}.page-heading h1{font-size:50px;margin-top:10px;line-height:1.1}.page-heading p{font-size:14px;margin-top:17px;max-width:650px}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:25px}.results-layout{display:grid;grid-template-columns:225px 1fr;gap:37px;padding:35px 0 80px}.filter-panel{align-self:start;position:sticky;top:113px}.filter-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.filter-top h2{font-size:15px;font-weight:600;letter-spacing:0}.filter-top button{font-size:10px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.filter-block{padding:19px 0;border-top:1px solid var(--line)}.filter-block h3,.filter-block label.filter-title{display:block;font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:13px}.check-list{display:flex;flex-direction:column;gap:9px}.check-list label{display:flex;align-items:center;gap:9px;font-size:11px;cursor:pointer}.check-list input{accent-color:var(--navy);width:14px;height:14px;margin:0}.filter-select,.filter-input{width:100%;background:#fff;border:1px solid #cbdadd;border-radius:4px;padding:10px 11px;font-size:12px;min-height:41px}.filter-note{font-size:10px;line-height:1.7;color:#5e737d;margin-top:11px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.results-count{font-size:12px}.results-count strong{font-size:20px;font-weight:500;margin-right:5px}.sort-select{background:transparent;border:0;font-size:11px;max-width:160px}.results-search{position:relative;margin-bottom:23px}.results-search svg{position:absolute;left:14px;top:13px;color:var(--muted)}.results-search input{width:100%;padding:12px 15px 12px 42px;border:1px solid #cedcde;border-radius:5px;background:white;font-size:13px}.results-grid{grid-template-columns:repeat(2,1fr);gap:24px}.results-grid .resort-image{height:225px}.active-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filter-chip{display:flex;align-items:center;gap:7px;background:var(--ice);font-size:10px;padding:6px 9px;border-radius:20px}.filter-chip button{padding:0;display:flex}.load-more{margin-top:35px;text-align:center}.load-more p{font-size:11px;margin-bottom:13px}.empty-state{text-align:center;padding:65px 25px;background:#fff;border:1px solid var(--line);border-radius:6px}.empty-state h2{font-size:27px;margin:17px 0 13px}.empty-state p{font-size:13px;max-width:420px;margin:0 auto 25px}.mobile-filter-button{display:none}.detail-hero{position:relative;height:435px;isolation:isolate;background:#6e8c98;color:white}.detail-hero>img{position:absolute;inset:0;z-index:-2}.detail-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,29,42,.86),rgba(7,29,41,.15))}.detail-hero .wrap{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-block:25px 42px}.detail-hero .breadcrumb{color:#e1ecf1}.detail-hero h1{font-size:60px;max-width:850px;line-height:1.05}.detail-hero .eyebrow{margin-bottom:13px;color:#d7e7ed}.detail-hero p{color:#dbe7ec;font-size:14px;max-width:730px;line-height:1.75;margin-top:17px}.detail-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px}.detail-hero .actions{display:flex;gap:10px}.detail-hero .icon-btn{width:46px;height:46px}.detail-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:88px;z-index:20}.detail-nav .wrap{display:flex;gap:31px;overflow:auto;white-space:nowrap}.detail-nav a{font-size:11px;padding:18px 0}.detail-nav a:hover{color:var(--blue)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:63px;padding-top:43px;padding-bottom:75px}.detail-section{padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:160px}.detail-section:first-child{padding-top:0}.detail-section h2{font-size:30px;margin-bottom:22px}.detail-section p{font-size:13px;line-height:1.95;color:#596f77}.detail-section .tags{margin:20px 0}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;background:#edf3f4;border-radius:5px;padding:25px;margin:27px 0 14px}.fact-value{font-size:24px;letter-spacing:-.04em;font-weight:500}.fact-label{font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px}.fact-note{font-size:10px!important;line-height:1.6!important;color:#5c727d!important}.stay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:20px 0}.stay-item{padding:15px 12px;border:1px solid var(--line);background:#fff;border-radius:5px}.stay-item.is-suited{background:#e8f2f1;border-color:#c5ddda}.stay-item .stay-duration{font-size:10px;color:var(--muted);margin-bottom:7px}.stay-item strong{font-size:13px;font-weight:500}.stay-item .stay-check{color:#4b8b7b;display:block;margin-bottom:11px}.terrain-list{display:flex;flex-direction:column;gap:11px}.terrain-item{border:1px solid var(--line);border-radius:5px;background:#fff;padding:16px 18px}.terrain-item h3{font-size:13px;font-weight:600;letter-spacing:0;margin-bottom:8px;display:flex;align-items:center;gap:8px}.terrain-item p{font-size:11px!important;line-height:1.8!important}.terrain-index{font-size:9px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--ice);border-radius:50%;color:#5a8796}.info-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.info-pair h3{font-size:17px;margin-bottom:11px}.info-pair p{font-size:12px;line-height:1.9}.place-list{display:grid;gap:9px;margin-top:18px}.place-item{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:12px;gap:15px}.place-item span small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.place-item:hover{border-color:#86acbc}.sources{margin-top:18px}.sources summary{font-size:12px;font-weight:600;cursor:pointer;padding:13px 0}.sources ol{margin:10px 0 0;padding-left:20px}.sources li{font-size:11px;line-height:1.7;margin:10px 0;color:#4d6d7b;overflow-wrap:anywhere}.sources a{text-decoration:underline;text-underline-offset:3px}.sources small{display:block;font-size:9px;color:#61757e}.data-note{display:flex;gap:12px;padding:15px 17px;border-left:2px solid #8caebc;background:#edf3f4;border-radius:0 5px 5px 0;margin-top:20px}.data-note p{font-size:11px!important;line-height:1.8!important}.data-note svg{margin-top:3px;color:#6b94a4}.detail-sidebar{align-self:start;position:sticky;top:165px}.side-card{border:1px solid #d0dfe2;background:white;border-radius:6px;padding:24px;margin-bottom:18px}.side-card h3{font-size:21px;margin:12px 0 15px}.side-card p{font-size:11px;line-height:1.9;margin-bottom:18px}.side-card .btn{width:100%;margin-top:10px}.side-row{display:flex;gap:10px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.side-row p{font-size:11px;margin:0}.side-row strong{display:block;font-size:10px;font-weight:600;margin-bottom:4px}.side-row svg{color:#7596a4;margin-top:3px}.side-card.ice{background:var(--ice);border-color:var(--ice)}.compare-page{padding:42px 0 75px}.compare-empty{max-width:700px;margin:25px auto}.comparison-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.comparison-controls p{font-size:12px}.comparison-scroll{overflow:auto;border:1px solid var(--line);border-radius:6px;background:white}.comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:680px}.comparison-table th,.comparison-table td{padding:22px;text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.comparison-table th{width:155px;background:#f1f5f5;font-size:11px;font-weight:600;position:sticky;left:0;z-index:2}.comparison-table tr:last-child>*{border-bottom:0}.comparison-table tr>:last-child{border-right:0}.comparison-table .compare-resort-top{position:relative;padding-top:3px}.compare-resort-top img{height:140px;border-radius:4px;margin:12px 0 15px}.compare-resort-top h2{font-size:22px;margin-bottom:10px}.compare-resort-top .icon-btn{position:absolute;top:-8px;right:-6px;width:26px;height:26px}.comparison-table td .tags{margin-bottom:9px}.comparison-table .editorial{font-size:9px;color:#78939e;display:block;margin-top:8px}.comparison-add{display:flex;gap:10px;margin-top:25px;max-width:590px}.comparison-add select{flex:1;min-width:0}.destination-intro{max-width:760px}.destination-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center;margin-bottom:48px}.destination-detail-grid img{height:370px;border-radius:6px}.destination-detail-grid h2{font-size:39px;margin-bottom:20px}.destination-detail-grid p{font-size:13px;line-height:1.9}.destination-info{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.destination-info .info-box{background:white;border:1px solid var(--line);padding:28px;border-radius:6px}.info-box h3{font-size:20px;margin:17px 0}.info-box p{font-size:12px;line-height:1.9}.region-hero{display:grid;grid-template-columns:1fr 1fr;background:#edf3f4;min-height:390px}.region-hero-copy{padding:45px 60px 45px max(56px,calc((100vw - 1280px)/2))}.region-hero-copy h1{font-size:58px;margin:20px 0}.region-hero-copy p{font-size:14px;line-height:1.8;max-width:420px}.region-hero-photo{position:relative;min-height:370px}.region-hero-photo .image-label{left:23px}.article{max-width:760px;margin:0 auto;padding:50px 0 80px}.article h2{font-size:28px;margin:37px 0 18px}.article p{font-size:14px;line-height:2;color:#536e7a;margin:15px 0}.article li{font-size:13px;line-height:1.9;color:#526e78;margin-bottom:11px}.article ul{padding-left:21px}.article .intro{font-size:18px;line-height:1.85;color:var(--ink);margin-bottom:30px}.article-source{padding-top:15px;margin-top:35px;border-top:1px solid var(--line)}.plan-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;padding:40px 0 70px;align-items:start}.plan-card{border:1px solid var(--line);background:white;padding:30px;border-radius:6px}.plan-card h2{font-size:25px;margin-bottom:21px}.plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px}.plan-field label{font-size:11px;font-weight:500;display:block;margin-bottom:7px}.plan-field .field-help{display:block;font-size:9px;color:var(--muted);margin-top:5px}.plan-field input,.plan-field select{width:100%;padding:11px;border:1px solid #cbdcde;background:#fafcfc;border-radius:4px;min-height:44px;font-size:13px}.plan-divider{border:0;border-top:1px solid var(--line);margin:26px 0}.plan-summary{background:var(--navy);color:white;border-radius:6px;padding:31px}.plan-summary h2{font-size:25px;margin:12px 0 21px}.plan-summary .eyebrow{color:#b8d4df}.budget-total{font-size:49px;letter-spacing:-.05em;line-height:1.1;margin-bottom:10px}.budget-person{font-size:12px;color:#bed3dc}.budget-rows{margin-top:27px}.budget-row{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #34525f;padding:13px 0;gap:15px}.budget-row span:first-child{color:#c2d5dc}.plan-summary .small{color:#b1c8d0;font-size:10px;line-height:1.7;margin-top:17px}.budget-chart{display:flex;border-radius:3px;overflow:hidden;height:10px;gap:2px;margin:22px 0 10px}.budget-chart span{min-width:0}.plan-actions{display:flex;gap:10px;margin-top:22px}.itinerary{margin-top:27px;background:#eef4f4;border:1px solid var(--line);padding:27px;border-radius:6px}.itinerary h3{font-size:23px;margin:10px 0 15px}.itinerary p{font-size:11px;line-height:1.9}.itinerary-day{display:flex;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #d8e2e4}.itinerary-day>span{font-size:9px;font-weight:700;min-width:36px;padding-top:2px;color:#598294}.itinerary-day h4{margin:0 0 5px;font-size:12px;font-weight:600;letter-spacing:0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.method-grid>div{border:1px solid var(--line);padding:25px;border-radius:5px;background:white}.method-grid h3{font-size:21px;margin-bottom:15px}.method-grid p{font-size:12px;line-height:1.9}.credits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.credit-card{font-size:10px;line-height:1.7;overflow-wrap:anywhere}.credit-card img{height:150px;border-radius:4px;margin-bottom:10px}.credit-card a{text-decoration:underline}.search-error{padding:60px;max-width:700px;margin:auto}.loading-screen{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading-screen p{font-size:13px;letter-spacing:.1em}.loading-screen span{font-size:12px;color:#91a6af}.app-error{color:#8a4040;font-size:12px}.saved-note{padding:16px 0;font-size:11px}.focus-summary{display:flex;align-items:center;gap:10px;font-size:11px;padding:14px;background:#eaf2f3;border-radius:4px;margin-bottom:20px}.view-switch{display:flex;gap:4px;padding:3px;background:#e7eff0;border-radius:4px}.view-switch button{font-size:10px;padding:6px 10px;display:flex;align-items:center;gap:5px;border-radius:3px}.view-switch button.is-active{background:white;box-shadow:0 1px 3px #193e4a0a}.search-map-mode{display:grid;grid-template-columns:1fr;gap:25px}.results-map{background:#e8f0f2;padding:15px;border-radius:6px;min-height:390px}.results-map .japan-map{height:360px}.result-mini-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-mini{background:white;border:1px solid var(--line);padding:13px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:10px}.result-mini h3{font-size:15px;margin-bottom:4px}.result-mini p{font-size:10px}.map-region-stat{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:5px}html[lang=ja] .hero h1{font-family:var(--font);font-size:clamp(43px,4.5vw,67px);font-weight:500;letter-spacing:-.06em;line-height:1.3}html[lang=ja] h2{line-height:1.4;letter-spacing:-.05em}html[lang=ja] .style-card h3{font-size:17px;line-height:1.5}html[lang=ja] .desktop-nav{gap:20px;font-size:11px}html[lang=ja] .brand-sub{letter-spacing:.17em}html[lang=ja] .resort-body h3{font-size:22px;line-height:1.4}html[lang=ja] .detail-hero h1{font-size:48px;line-height:1.3}html[lang=ja] .section-head h2{font-size:36px}html[lang=ja] .style-card p{font-size:9px}html[lang=ja] .nav-wrap{gap:25px}
@media(min-width:1500px){.hero-content{padding-top:100px}.style-card{height:247px}.hero-bottom{bottom:110px}}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.nav-wrap{width:calc(100% - 48px);gap:20px}.desktop-nav{gap:18px;font-size:11px}.nav-actions{gap:12px}.nav-actions>.btn{display:none}.map-layout{gap:35px}.style-grid{gap:12px}.style-card{padding:15px 13px;height:214px}.style-card h3{font-size:16px}.style-card p{font-size:9px}.resort-image{height:210px}.resort-body{padding:20px}.resort-card-footer{padding-inline:20px}.resort-body h3{font-size:22px}.feature-copy{padding:45px}.feature-copy h2{font-size:36px}.destination-card{padding:25px;min-height:350px}.destination-card h3{font-size:27px}.detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 280px}.detail-hero h1{font-size:53px}.region-hero-copy{padding-left:32px}.results-layout{gap:25px;grid-template-columns:200px 1fr}.results-grid .resort-image{height:185px}.results-grid .resort-body h3{font-size:21px}}
@media(max-width:950px){.desktop-nav{gap:16px}.desktop-nav a:nth-child(3){display:none}.brand-name{font-size:12px}.brand-sub{font-size:7px}.brand-mark{width:32px;height:32px}.nav-actions{gap:10px}.hero{min-height:590px;height:650px}.hero h1{font-size:60px}.hero-content{padding-top:70px}.search-grid{grid-template-columns:repeat(4,1fr)}.search-field{padding-inline:14px}.search-field:nth-child(4){border:0}.search-grid>.btn{grid-column:1/-1;margin:20px 0 0;min-height:44px}.search-anchor{margin-top:-70px}.hero-bottom{bottom:115px}.search-panel{padding:22px}.search-hint{justify-content:center;margin-top:13px}.promise-strip{gap:22px;padding-top:22px}.style-grid{grid-template-columns:repeat(3,1fr);gap:16px}.style-card{height:215px;padding:20px}.style-card h3{font-size:20px}.style-card p{font-size:11px}.map-layout{grid-template-columns:.9fr 1.1fr;gap:20px}.map-copy h2{font-size:38px}.region-buttons{grid-template-columns:1fr}.japan-map{height:520px}.map-region-peek{left:0;padding:14px;gap:12px}.map-region-peek .btn{padding:9px;min-width:36px}.map-region-peek .btn span{display:none}.map-region-peek p{font-size:10px}.map-water{font-size:8px}.resort-grid{gap:18px}.resort-image{height:180px}.resort-body{padding:18px}.resort-body h3{font-size:20px}.resort-card-footer{padding-inline:18px}.resort-facts{grid-template-columns:1fr;gap:7px;font-size:10px}.resort-summary{font-size:11px}.tag{font-size:9px}.destination-grid{grid-template-columns:1fr 1fr}.destination-card:first-child{grid-column:1/-1;min-height:320px}.destination-card{min-height:325px}.feature-copy{padding:35px}.feature-copy h2{font-size:33px}.feature-photo{min-height:410px}.section{padding:65px 0}.section-head h2,h2{font-size:36px}.journal-grid{gap:20px}.story-image{height:190px}.story-body h3{font-size:20px}.footer-main{gap:30px;grid-template-columns:1.5fr 1fr 1fr}.footer-main>div:last-child{display:none}.end-cta h2{font-size:29px}.end-cta .actions{flex-direction:column;min-width:155px}.results-layout{grid-template-columns:180px 1fr;gap:22px}.results-grid{gap:16px}.results-grid .resort-image{height:155px}.results-grid .resort-body{padding:16px}.results-grid .resort-body h3{font-size:19px}.results-grid .resort-card-footer{padding-inline:16px}.results-grid .resort-facts{margin-top:15px}.result-mini-list{grid-template-columns:1fr}.detail-layout{grid-template-columns:minmax(0,1fr) 250px;gap:25px}.fact-grid{grid-template-columns:1fr 1fr;padding:20px;gap:22px}.stay-grid{grid-template-columns:1fr 1fr}.side-card{padding:20px}.detail-hero h1{font-size:46px}.detail-hero-bottom{align-items:start;flex-direction:column}.detail-hero .wrap{padding-bottom:30px}.detail-hero .actions .btn{min-height:38px;padding:8px 14px}.detail-hero .icon-btn{height:38px;width:38px}.detail-nav .wrap{gap:25px}.info-pair{gap:20px}.comparison-table{min-width:730px}.comparison-table th{width:135px}.comparison-table th,.comparison-table td{padding:18px}.destination-detail-grid{gap:28px}.destination-detail-grid h2{font-size:31px}.destination-info{grid-template-columns:repeat(2,1fr);gap:18px}.plan-layout{gap:25px;grid-template-columns:1fr 1fr}.plan-card,.plan-summary{padding:24px}.plan-fields{gap:16px}.budget-total{font-size:42px}.plan-actions{flex-direction:column}.article{width:calc(100% - 64px)}.region-hero-copy{padding-right:30px}.region-hero-copy h1{font-size:48px}html[lang=ja] .hero h1{font-size:52px}html[lang=ja] .section-head h2{font-size:32px}html[lang=ja] .desktop-nav{gap:15px}html[lang=ja] .resort-body h3{font-size:19px}}
@media(max-width:700px){.wrap{width:calc(100% - 38px)}.site-header{height:71px}.nav-wrap{width:calc(100% - 32px);gap:10px;justify-content:space-between}.brand{gap:8px}.brand-name{font-size:11px;letter-spacing:.04em}.brand-sub{font-size:6px;letter-spacing:.18em}.brand-mark{width:30px;height:30px}.desktop-nav{display:none}.nav-actions{gap:10px}.lang-switch{font-size:9px;gap:5px}.saved-nav{display:none}.mobile-toggle{display:inline-flex;width:31px;height:34px;align-items:center;justify-content:center}.mobile-nav{display:flex;flex-direction:column;background:#fff;position:fixed;inset:71px 0 0;padding:26px;gap:0;z-index:39;overflow:auto}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:17px 0;border-bottom:1px solid var(--line);font-size:19px;font-weight:450;display:flex;align-items:center;justify-content:space-between}.mobile-nav .mobile-sub{font-size:12px;color:var(--muted);padding:16px 0}.hero{height:590px;min-height:590px;max-height:none}.hero-photo img{object-position:62% center}.hero:before{background:linear-gradient(90deg,rgba(8,35,46,.57),rgba(8,35,46,.22)),linear-gradient(0deg,rgba(10,33,44,.43),transparent 60%)}.hero-content{padding-top:52px}.hero .eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:21px;gap:9px}.hero .eyebrow:before{width:20px}.hero h1{font-size:47px;line-height:1.1;letter-spacing:-.045em;max-width:390px}.hero-desc{font-size:12px;line-height:1.9;max-width:300px;margin-top:20px}.hero-cta{margin-top:24px;gap:20px}.hero-cta .btn{padding:11px 17px;min-height:43px;font-size:11px}.hero-cta .text-link{font-size:11px}.hero-bottom{bottom:117px;font-size:8px}.hero-folio{display:none}.hero-location{font-size:8px}.search-anchor{margin-top:-85px}.search-panel{padding:20px 18px 14px;border-radius:6px}.search-grid{grid-template-columns:1fr 1fr;row-gap:18px}.search-field{padding:0 13px}.search-field:nth-child(2){padding-right:0;border:0}.search-field:nth-child(3){padding-left:0}.search-field label{font-size:8px;margin-bottom:4px}.search-field select{font-size:12px;min-height:30px}.search-grid>.btn{margin-top:0;min-height:45px;font-size:12px}.search-hint{font-size:9px;gap:9px;margin-top:14px}.search-hint button{font-size:9px}.promise-strip{gap:10px;padding:21px 0;font-size:8px;flex-wrap:wrap;justify-content:space-between}.promise-strip span{gap:5px}.promise-strip svg{width:13px;height:13px}.promise-strip span:last-child{display:none}.section{padding:48px 0}.section-head{align-items:start;gap:20px;margin-bottom:25px}.section-head h2,h2{font-size:31px;line-height:1.18}.section-head .eyebrow{font-size:8px;margin-bottom:12px}.section-head>p{display:none}.section-head>.text-link{font-size:10px;align-self:end;max-width:110px;white-space:normal;gap:6px;line-height:1.6;flex-shrink:0}.style-grid{display:flex;gap:13px;overflow:auto;scroll-snap-type:x mandatory;margin-inline:-19px;padding-inline:19px;padding-bottom:5px;scrollbar-width:none}.style-card{min-width:163px;flex:0 0 43%;height:222px;padding:17px;scroll-snap-align:start}.style-card h3{font-size:19px}.style-card p{font-size:9px}.style-card .card-symbol{margin-bottom:10px}.map-layout{grid-template-columns:1fr;gap:16px}.map-copy h2{font-size:35px;max-width:100%}.map-copy>p{font-size:12px;line-height:1.9;margin:15px 0;max-width:100%}.region-buttons{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:22px;max-width:none}.region-button{padding:10px 9px;gap:4px;font-size:10px}.region-button span.count{font-size:8px}.map-card{min-height:436px}.japan-map{height:436px}.map-region-peek{bottom:0;padding:14px 16px}.map-region-peek h3{font-size:20px}.map-region-peek p{font-size:10px;max-width:230px}.map-region-peek .btn{min-height:35px;padding:8px 11px}.map-note{font-size:8px;margin-top:6px}.resort-grid{grid-template-columns:1fr;gap:22px}.resort-image{height:232px}.resort-body{padding:21px}.resort-body h3{font-size:26px}.resort-place{font-size:9px}.resort-summary{font-size:12px;min-height:auto}.resort-facts{grid-template-columns:1fr 1fr;font-size:11px;margin-top:19px}.resort-card-footer{padding:12px 21px}.resort-card-footer .compare-toggle{font-size:11px}.resort-card-footer .card-link{font-size:11px}.tag{font-size:10px}.destination-grid{grid-template-columns:1fr;gap:17px}.destination-card{min-height:300px;padding:26px}.destination-card:first-child{min-height:330px}.destination-card h3{font-size:34px}.destination-card p{font-size:12px;max-width:280px}.destinations-section{padding-top:0}.feature-band{grid-template-columns:1fr}.feature-photo{min-height:265px;height:265px}.feature-copy{padding:33px 27px 36px}.feature-copy h2{font-size:34px;line-height:1.2}.feature-copy p{font-size:12px;margin-bottom:22px}.feature-copy .eyebrow{font-size:8px}.feature-copy .btn{font-size:11px}.journal-grid{grid-template-columns:1fr;gap:30px}.story-image{height:235px}.story-body{padding-top:15px}.story-body h3{font-size:24px;line-height:1.3}.story-body p{font-size:12px}.story-meta{font-size:8px}.end-cta{padding:35px 0}.end-cta .wrap{align-items:start;flex-direction:column;gap:23px}.end-cta h2{font-size:28px}.end-cta p{font-size:12px}.end-cta .actions{flex-direction:row;gap:10px;width:100%}.end-cta .btn{font-size:11px;padding:11px 15px;flex:1}.site-footer{padding:36px 0 24px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{display:flex}.footer-main>div:nth-child(3){display:none}.footer-main p{max-width:320px;font-size:11px}.footer-main .brand-name{font-size:13px}.footer-main .brand-sub{font-size:7px}.footer-main .brand-mark{width:36px;height:36px}.footer-links{font-size:11px;gap:10px}.footer-bottom{flex-direction:column;gap:12px;font-size:8px;margin-top:30px;padding-top:22px;padding-bottom:70px}.compare-tray{bottom:12px;padding:12px;gap:9px;flex-wrap:wrap;width:calc(100% - 24px)}.tray-label{font-size:10px;flex:1}.tray-items{order:5;width:100%;flex-basis:100%;gap:5px}.tray-item{font-size:9px;padding:5px 7px}.tray-clear{font-size:9px}.compare-tray .btn{padding:8px 11px;min-height:33px;font-size:10px}.toast{font-size:11px;bottom:117px;padding:12px 16px}.page-heading{padding:26px 0 29px}.breadcrumb{font-size:9px;margin-bottom:23px;gap:7px}.page-heading h1{font-size:36px;margin-top:10px}.page-heading p{font-size:12px;line-height:1.9;margin-top:13px}.heading-row{align-items:start;flex-direction:column;gap:18px}.page-heading .eyebrow{font-size:8px}.results-layout{grid-template-columns:1fr;gap:0;padding:23px 0 45px}.filter-panel{display:none;position:static;margin-bottom:25px;padding:20px;background:white;border:1px solid var(--line);border-radius:5px}.filter-panel.is-open{display:block}.mobile-filter-button{display:inline-flex}.results-toolbar{flex-wrap:wrap;gap:11px}.results-toolbar .view-switch{margin-left:auto}.results-count{font-size:10px}.results-count strong{font-size:20px}.sort-select{max-width:135px;font-size:10px}.results-grid{grid-template-columns:1fr;gap:20px}.results-grid .resort-image{height:230px}.results-grid .resort-body{padding:21px}.results-grid .resort-body h3{font-size:25px}.results-grid .resort-card-footer{padding-inline:21px}.active-filters{margin-bottom:17px}.filter-block{padding:16px 0}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.results-search input{font-size:12px}.focus-summary{font-size:10px;align-items:start;line-height:1.8}.detail-hero{height:465px}.detail-hero .wrap{padding-top:21px;padding-bottom:27px}.detail-hero h1{font-size:40px;line-height:1.1;max-width:100%}.detail-hero p{font-size:12px;line-height:1.85;margin-top:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.detail-hero .eyebrow{font-size:8px;margin-bottom:12px}.detail-hero-bottom{gap:20px}.detail-nav{top:71px}.detail-nav .wrap{gap:23px;width:100%;padding-inline:19px;scrollbar-width:none}.detail-nav a{font-size:10px;padding:15px 0}.detail-layout{grid-template-columns:1fr;gap:25px;padding-top:29px;padding-bottom:40px}.detail-section{padding:27px 0;scroll-margin-top:130px}.detail-section h2{font-size:27px;margin-bottom:18px}.detail-section p{font-size:12px;line-height:1.95}.fact-grid{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:23px}.fact-value{font-size:28px}.fact-label{font-size:10px}.stay-grid{grid-template-columns:1fr 1fr}.stay-item{padding:16px}.info-pair{grid-template-columns:1fr;gap:21px}.info-pair h3{font-size:18px}.terrain-item{padding:15px}.terrain-item h3{font-size:12px}.terrain-item p{font-size:11px!important}.detail-sidebar{position:static}.side-card{padding:24px}.side-card h3{font-size:24px}.side-row p{font-size:12px}.side-card .eyebrow{font-size:9px}.comparison-controls{align-items:start;flex-direction:column;gap:17px}.comparison-controls p{font-size:11px}.comparison-scroll{margin-inline:-19px;border-radius:0;border-inline:0}.comparison-table{min-width:660px}.comparison-table th{width:114px;font-size:10px}.comparison-table th,.comparison-table td{padding:14px;font-size:11px}.compare-resort-top h2{font-size:22px}.compare-resort-top img{height:125px}.compare-page{padding-top:27px}.comparison-add{flex-direction:column}.destination-detail-grid{grid-template-columns:1fr;gap:23px}.destination-detail-grid img{height:265px;order:-1}.destination-detail-grid h2{font-size:32px}.destination-detail-grid p{font-size:12px}.destination-info{grid-template-columns:1fr;gap:15px}.destination-info .info-box{padding:25px}.region-hero{grid-template-columns:1fr}.region-hero-copy{padding:28px 19px 30px}.region-hero-copy h1{font-size:44px;margin:13px 0}.region-hero-copy p{font-size:12px}.region-hero-photo{min-height:250px;height:250px}.article{width:calc(100% - 38px);padding:29px 0 50px}.article .intro{font-size:16px}.article h2{font-size:26px;margin-top:31px}.article p{font-size:13px}.article li{font-size:12px}.plan-layout{grid-template-columns:1fr;gap:25px;padding:27px 0 45px}.plan-card,.plan-summary{padding:24px}.plan-card h2{font-size:25px}.plan-fields{gap:17px 14px}.plan-field label{font-size:10px}.plan-field input,.plan-field select{font-size:13px;padding:10px}.plan-field .field-help{font-size:8px}.budget-total{font-size:48px}.budget-row{font-size:12px}.plan-actions{flex-direction:row}.plan-actions .btn{flex:1;font-size:11px;padding:11px 14px}.itinerary{padding:24px}.method-grid{grid-template-columns:1fr;gap:15px}.credits-grid{grid-template-columns:1fr 1fr;gap:17px}.credit-card img{height:125px}.empty-state{padding:45px 23px}.result-mini-list{grid-template-columns:1fr}.search-map-mode .japan-map{height:350px}.results-map{padding:0}.view-switch button{font-size:9px}.search-error{padding:30px}html[lang=ja] .hero h1{font-size:41px;line-height:1.4;letter-spacing:-.055em}html[lang=ja] .hero-desc{font-size:11px}html[lang=ja] .section-head h2{font-size:28px}html[lang=ja] .resort-body h3{font-size:24px}html[lang=ja] .style-card h3{font-size:19px}html[lang=ja] .detail-hero h1{font-size:34px}html[lang=ja] .feature-copy h2{font-size:29px}html[lang=ja] .page-heading h1{font-size:33px}html[lang=ja] .map-copy h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.compare-tray,.toast,.plan-card,.plan-actions,.end-cta,.detail-nav{display:none!important}.wrap{width:100%}.plan-layout{display:block}.plan-summary{background:#fff;color:#163743;border:1px solid #ccd8dc}.plan-summary .eyebrow,.plan-summary p,.plan-summary span{color:#335967!important}.comparison-scroll{overflow:visible}.comparison-table{min-width:0}.comparison-table th{position:static}.plan-summary{break-inside:avoid}.itinerary{break-inside:avoid}body{background:white}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}

@media(max-width:700px){.lang-switch button{min-width:25px;min-height:34px}.detail-section p{font-size:13px}.article p{font-size:14px;line-height:1.95}}

/* Source-scoped destination guides: use the site's existing type and colors. */
.travel-guide{max-width:1168px}.travel-guide>.detail-section{padding:48px 0;scroll-margin-top:155px}.travel-nav .wrap{overflow-x:auto}.travel-nav a{flex:none}.travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px;align-items:start}.travel-panel{padding:28px;background:#eef4f4;border-radius:6px}.travel-panel h3{font-size:23px;margin-bottom:20px}.travel-panel p+p{margin-top:18px}.travel-intro{max-width:830px}.evidence{display:block;color:#64777c;font-size:10px;line-height:1.8;margin:8px 0 18px;overflow-wrap:anywhere}.evidence a{text-decoration:underline;text-underline-offset:3px}.travel-card{border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden;scroll-margin-top:155px;min-width:0}.travel-card summary{padding:25px;cursor:pointer;list-style:none;position:relative}.travel-card summary::-webkit-details-marker{display:none}.travel-card summary:hover{background:#f3f7f7}.travel-card summary:focus-visible,.course-link:focus-visible{outline:3px solid #3b8197;outline-offset:-3px}.travel-card summary .eyebrow{font-size:10px;line-height:1.7;color:var(--muted)}.travel-card h3{font-size:25px;line-height:1.35;margin:12px 0 15px;overflow-wrap:anywhere}.travel-card p{font-size:13px;line-height:1.9}.disclosure-hint{display:block;color:var(--blue);font-size:11px;font-weight:600;margin-top:20px}.travel-card[open] summary{border-bottom:1px solid var(--line)}.travel-card-body{padding:24px}.travel-facts{margin:20px 0}.travel-fact{border-bottom:1px solid var(--line);padding:13px 0}.travel-fact dt{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:8px}.travel-fact dd{font-size:13px;margin:0;line-height:1.85;overflow-wrap:anywhere}.travel-fact .evidence{margin-bottom:0}.travel-links{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;line-height:1.8}.travel-links a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legacy-places{margin:25px 0;font-size:13px}.legacy-places>summary{cursor:pointer;padding:16px 0;color:var(--muted)}.course-link{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--line);border-radius:6px}.course-link:hover{background:#eef4f4}.course-link strong{font-size:23px}.course-link>span:last-child{font-size:12px;color:var(--muted)}.travel-subtitle{margin-top:40px;font-size:25px}.travel-guide .resort-grid{margin-top:26px}.day-plan{padding-left:23px}.day-plan li{margin:23px 0}.day-plan li>strong{font-size:13px}.day-plan p{margin:9px 0}.travel-guide .section-head h2{max-width:100%}.travel-card summary,.travel-panel{overflow-wrap:anywhere}.travel-panel .evidence:last-child{margin-bottom:0}
@media(max-width:900px){.travel-guide .resort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-card h3{font-size:22px}.travel-grid{gap:16px}.travel-panel{padding:22px}}
@media(max-width:700px){.travel-grid,.travel-guide .resort-grid{grid-template-columns:1fr}.travel-guide>.detail-section{padding:30px 0;scroll-margin-top:130px}.travel-card{scroll-margin-top:130px}.travel-card summary,.travel-card-body{padding:21px}.travel-panel{padding:22px}.travel-guide .section-head h2{font-size:29px;line-height:1.3}.travel-card h3{font-size:23px}.travel-nav .wrap{scrollbar-width:thin}.travel-card .eyebrow{letter-spacing:.09em}.travel-fact dd{font-size:13px}.travel-subtitle{font-size:24px}.evidence{font-size:10px}.travel-guide .resort-grid{gap:20px}}
.detail-layout #courses .travel-grid{grid-template-columns:1fr}.course-card .travel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.course-card .travel-fact:last-child{grid-column:1/-1}@media(max-width:700px){.course-card .travel-facts{grid-template-columns:1fr}}
/* Account for the document's existing 110px scroll padding. */
.travel-guide>.detail-section,.travel-card{scroll-margin-top:45px}@media(max-width:700px){.travel-guide>.detail-section,.travel-card{scroll-margin-top:20px}}
/* Integrated search and evidence-led travel planning */
.quick-entry{padding-top:52px;padding-bottom:28px}.quick-entry h2{font-size:clamp(23px,3vw,36px);margin-bottom:22px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-link{display:flex;align-items:center;justify-content:space-between;padding:20px;border:1px solid #cbd9dc;background:#f5f8f8;border-radius:4px}.quick-link:hover{background:#e6eff1}.quick-entry .travel-links{margin-top:24px}.filter-panel fieldset{border:0;padding:0;margin:0;min-width:0}.filter-panel legend,.field-label{font-size:12px;font-weight:650;margin:0 0 14px;display:block}.filter-panel select{width:100%;min-height:42px;border:1px solid #c3d1d7;background:white;border-radius:3px;padding:8px}.filter-panel input[type=checkbox]{accent-color:#234d5e;width:17px;height:17px}.filter-more summary{cursor:pointer;font-weight:600;padding:14px 0}.filter-more[open]{padding-bottom:20px}.view-results{position:sticky;bottom:20px;width:100%;box-shadow:0 3px 12px #142d3a22}.active-filters{gap:8px;flex-wrap:wrap}.results-toolbar{flex-wrap:wrap;gap:12px;position:sticky;top:83px;background:#fff;padding:14px 0;z-index:4}.season-record{display:block;font-size:11px;line-height:1.7;color:#49616c;margin-top:12px}.research-disclosure{margin:24px 0;padding:20px;background:#edf3f4;border-radius:4px}.research-disclosure summary{cursor:pointer;font-weight:600}.research-disclosure p{margin-top:14px}.integrated-guide{padding-top:36px}.travel-fact dd{overflow-wrap:anywhere}.travel-fact dt{font-weight:600}.travel-card summary p{margin-bottom:8px}.travel-panel h2{font-size:25px}.travel-panel p{margin:14px 0}.travel-panel strong{font-size:inherit}.travel-grid>.travel-panel>strong{font-size:36px}.local-pick{margin:28px 0;padding:24px;background:#edf3f4}.local-pick h3{font-size:22px;margin:12px 0}.local-pick p{margin-top:10px}.coverage-table{width:100%;border-collapse:collapse;min-width:650px}.coverage-table caption{text-align:left;padding:18px 0;font-size:18px;font-weight:650}.coverage-table th,.coverage-table td{padding:14px;text-align:left;border-bottom:1px solid #d4e0e4;font-size:13px;line-height:1.7}.coverage-table th{background:#edf3f4}.candidate-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5e0e5;border:1px solid #d5e0e5;margin:24px 0}.candidate-list>div{background:white;padding:16px;font-size:13px}.candidate-list strong,.candidate-list span{display:block;margin-bottom:6px}.budget-row{gap:18px}.budget-row small{display:block}.budget-row strong{white-space:nowrap}#trip-form h3{margin:28px 0 12px}#trip-form .check-list{margin:24px 0}#trip-form input[type=checkbox]{accent-color:#234d5e}.results-search .btn{flex-shrink:0}.results-search input{min-width:0}#search-results,#trip-summary{scroll-margin-top:125px}.travel-card a:focus-visible,.filter-panel input:focus-visible,summary:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #c07136;outline-offset:4px}.travel-panel,.travel-card,.plan-card,.results-layout>section{min-width:0}.travel-card-body{overflow-wrap:anywhere}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,1fr)}.candidate-list{grid-template-columns:repeat(2,1fr)}.results-toolbar{top:74px}.travel-facts .travel-fact{display:block}.travel-fact dd{margin:8px 0 0}.plan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.quick-entry{padding-top:34px}.quick-link{padding:16px;font-size:13px}.candidate-list{grid-template-columns:1fr}.results-toolbar{position:static}.filter-panel{scroll-margin-top:100px}.filter-panel.is-open{display:block}.view-results{bottom:12px}.plan-layout{gap:24px}.plan-fields{gap:16px}.travel-links{flex-wrap:wrap}.quick-entry .travel-links{display:grid}.comparison-scroll{max-width:100%;overflow:auto}.results-search{flex-wrap:wrap}.results-search input{flex:1;width:150px}.results-search .btn{padding:10px 12px}.travel-card-body{padding:18px}.budget-row{font-size:12px}.budget-total{font-size:36px}}

.travel-fact dd>small{display:block;margin-top:6px;line-height:1.6}
.place-highlights{padding-left:1.3em;line-height:1.8;margin:0 0 16px}.place-highlights li+li{margin-top:6px}.place-map-link{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0}.place-map-link a{max-width:100%;white-space:normal}.local-place-jump{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 26px}.local-place-jump a{padding:12px 16px;border:1px solid #b4c5cc;border-radius:4px;color:#173a4b}.local-place-intro{max-width:76ch;color:#52616a;line-height:1.8}.travel-card-body a{overflow-wrap:anywhere}

.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:26px 0}.review-card{border:1px solid #d0dde2;background:#fff;padding:26px;border-radius:6px;min-width:0}.review-card h3{font-size:21px;margin:0 0 18px}.review-card p{line-height:1.8;margin:14px 0}.review-rating-line{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.review-score{color:#214d60;white-space:nowrap;font-variant-numeric:tabular-nums}.review-score>strong{font-size:32px;line-height:1}.review-score>span:first-child{color:#ae742d}.review-meta,.review-scope{font-size:12px;color:#526773;line-height:1.7}.review-unavailable{font-size:16px;color:#526773}.review-caution{padding-left:14px;border-left:3px solid #b8c9d0;color:#52616a}.review-card a{overflow-wrap:anywhere}.review-method{margin:24px 0;padding:20px;background:#edf3f4;border-radius:4px}.review-method summary{cursor:pointer;font-weight:600}.review-method p{margin-top:14px;line-height:1.8}.review-card-badge{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:18px 0;font-size:11px;color:#526773}.review-card-badge .review-score>strong{font-size:22px}.review-area-note{line-height:1.8;max-width:76ch}#reviews{scroll-margin-top:145px}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:20px}.review-rating-line{align-items:flex-start}.review-score>strong{font-size:28px}#reviews{scroll-margin-top:120px}}

.review-summary-label{display:block;font-size:11px;font-weight:650;color:#526773;margin-bottom:6px}

.entity-photo{position:relative;margin:-25px -25px 20px;overflow:hidden;background:#edf2f3}.entity-photo img{display:block;width:100%;height:210px;object-fit:cover}.entity-photo .image-label{position:absolute;left:8px;bottom:7px;max-width:calc(100% - 16px);background:#112a38dd;color:#fff;padding:5px 8px;border-radius:2px;font-size:9px;line-height:1.45}.entity-photo .image-label a{color:#fff;text-decoration:underline;text-underline-offset:2px}.entity-photo .image-label a:hover{color:#d6e8ee}@media(max-width:700px){.entity-photo{margin:-21px -21px 18px}.entity-photo img{height:220px}}

.photo-gallery-section{padding:38px 0 44px;background:#eef4f5;border-block:1px solid var(--line)}.photo-gallery-head{max-width:700px;margin-bottom:20px}.photo-gallery-head h2{margin:8px 0 9px;color:var(--ink);font:500 clamp(24px,3vw,34px)/1.2 var(--font);letter-spacing:-.035em}.photo-gallery-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.photo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.photo-gallery-card{min-width:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.photo-gallery-image{aspect-ratio:16/10;overflow:hidden;background:#e7eff1}.photo-gallery-image img{display:block;width:100%;height:100%;object-fit:cover}.photo-gallery-card figcaption{padding:11px 13px 13px;color:#526a73;font-size:10px;line-height:1.75;overflow-wrap:anywhere}.photo-gallery-card .photo-scene{margin:0 0 7px;color:var(--ink);font-size:12px;line-height:1.65}.photo-gallery-card figcaption a{color:#285d70;text-decoration:underline;text-underline-offset:2px}.photo-gallery-card figcaption a:hover{color:#102f3c}@media(max-width:900px){.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.photo-gallery-section{padding:29px 0 33px}.photo-gallery-head{margin-bottom:15px}.photo-gallery-head p{font-size:11px}.photo-gallery-grid{grid-template-columns:1fr;gap:12px}.photo-gallery-image{aspect-ratio:16/9}.photo-gallery-card figcaption{padding:10px 12px 12px;font-size:10px}}
.nearby-section>h3{margin:30px 0 12px;font-size:20px}.nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 28px;min-width:0}.nearby-card{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden;min-width:0}.nearby-photo{position:relative;min-height:210px;background:#edf3f4}.nearby-photo img{width:100%;height:100%;min-height:210px;object-fit:cover}.nearby-photo .image-label{position:absolute;inset:auto 0 0;background:#102b37dd;color:#fff;padding:8px;font-size:9px;line-height:1.5;overflow-wrap:anywhere}.nearby-no-photo{display:grid;place-items:center;min-height:160px;background:#edf3f4;color:#526970;font-size:12px;text-align:center;padding:16px}.nearby-card-body{padding:18px;min-width:0;overflow-wrap:anywhere}.nearby-card h3{font-size:21px;line-height:1.4;margin:9px 0}.nearby-card-body>p{font-size:13px;line-height:1.8}.nearby-access{padding:10px;background:#f2f6f6;border-radius:4px}.nearby-review{display:grid;gap:5px;font-size:12px;line-height:1.7;margin:12px 0}.nearby-review>span,.nearby-review small{color:#526970}.nearby-review a,.nearby-links a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.nearby-review p{margin:3px 0}.nearby-links{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;margin-top:14px}.nearby-destination{background:#edf3f4}.nearby-destination h2{margin:0 0 10px}.nearby-destination>div>p{max-width:850px}.nearby-destination .nearby-card{grid-template-columns:minmax(110px,30%) minmax(0,1fr)}@media(max-width:700px){.nearby-grid{grid-template-columns:minmax(0,1fr);gap:14px}.nearby-card{grid-template-columns:minmax(0,1fr)}.nearby-photo,.nearby-photo img{min-height:190px;height:190px}.nearby-card-body{padding:17px}.nearby-card h3{font-size:20px}.nearby-no-photo{min-height:110px}.nearby-destination .nearby-card{grid-template-columns:minmax(0,1fr)}}
.nearby-pending{padding:13px 16px;background:#f2f6f6;color:#526970;border-radius:4px;font-size:13px;line-height:1.8}

/* Approved UI refinements: preserve content while making search and evidence usable. */
.hero{height:500px;min-height:0;max-height:none}
.hero-content{padding-top:36px}
.hero .eyebrow{margin-bottom:18px}
.hero h1{font-size:clamp(46px,4.2vw,60px)}
html[lang=ja] .hero h1{font-size:clamp(43px,4.2vw,54px);line-height:1.3}
.hero-desc{margin-top:18px;font-size:14px}
.hero-cta{margin-top:20px}
.hero-bottom{bottom:50px}
.search-anchor{margin-top:-20px}
.resorts-page .page-heading{padding:16px 0 18px}
.resorts-page .breadcrumb{margin-bottom:10px}
.resorts-page .page-heading h1{font-size:clamp(29px,2.8vw,38px);margin-top:8px}
.resorts-page .page-heading p{margin-top:8px}
.resorts-page .results-layout{padding-top:18px}
.resorts-page .results-toolbar{padding:8px 0;margin-bottom:12px}
.resorts-page .results-grid .resort-image{height:180px}
.resorts-page .active-filters:empty{display:none}
.filter-panel{position:static}
.view-results{position:static;margin-top:20px;box-shadow:none}
.results-search{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-bottom:12px}
.results-search input{flex:1;width:0;min-width:0;min-height:46px;font-size:14px}
.results-search .btn{flex:0 0 auto;min-height:46px;margin:0;padding:10px 18px}
.results-search svg{top:15px;pointer-events:none}
.results-layout .filter-note{font-size:12px;line-height:1.7;margin:10px 0}
.nearby-grid{align-items:start}
.nearby-category-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.nearby-category-links a{display:inline-flex;align-items:center;padding:9px 15px;min-height:42px;border:1px solid #b9cbd2;border-radius:4px;background:#fff;font-size:14px;color:#245e77}
.nearby-category-links a:focus-visible{outline:3px solid #c07136;outline-offset:3px}
.nearby-section>h3[id]{scroll-margin-top:165px}
.nearby-card,.nearby-destination .nearby-card{display:flex;flex-direction:column}
.nearby-grid>.nearby-card:only-child{grid-column:1/-1}
.nearby-photo{margin:0;min-height:0;background:#f2f6f6}
.nearby-photo-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:320px;overflow:hidden}
.nearby-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.nearby-photo-badge{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:3px;background:#fff;color:#19313c;font-size:12px;font-weight:600;line-height:1.6;box-shadow:0 1px 6px #102b3722}
.nearby-photo figcaption{padding:12px 16px;font-size:13px;line-height:1.7;color:#465f6b;overflow-wrap:anywhere}
.nearby-photo figcaption a,.nearby-evidence a{color:#245e77;text-decoration:underline;text-underline-offset:3px}
.nearby-card-body{padding:22px}
.nearby-card-body .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.08em}
.nearby-card h3{font-size:23px;margin:9px 0 12px}
.nearby-card-body>p,.nearby-section .nearby-card-body p{font-size:15px;line-height:1.8}
.nearby-summary{margin:0 0 16px}
.nearby-review{font-size:14px;line-height:1.7;gap:7px;margin:16px 0}
.nearby-rating,.nearby-review-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px}
.nearby-rating strong{font-size:20px;color:#193b4b}
.nearby-rating>span,.nearby-review-meta{font-size:13px;color:#465f6b}
.nearby-review .nearby-review-scope,.nearby-review .nearby-review-limit{font-size:13px;line-height:1.7;margin:0;color:#465f6b}
.nearby-access{padding:13px 15px;margin:16px 0 0;border-left:3px solid #8ca6b0}
.nearby-links{font-size:14px;gap:10px 18px;margin:18px 0}
.nearby-links a{display:inline-block;min-height:36px;padding:6px 0}
.nearby-evidence{border-top:1px solid var(--line);margin-top:8px}
.nearby-evidence>summary{cursor:pointer;padding:16px 0 3px;font-size:14px;font-weight:600;line-height:1.6}
.nearby-evidence-body{padding-top:12px;font-size:14px;line-height:1.8}
.nearby-evidence-body p{margin:0 0 12px}
.nearby-source-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px}
.nearby-no-photo{min-height:100px;font-size:14px}
.detail-nav-grouped .wrap{gap:36px;overflow:visible;white-space:normal}
.detail-nav-grouped a{font-size:14px;font-weight:600;line-height:1.6;padding:16px 0}
.detail-section-index{padding-top:14px;padding-bottom:14px}
.detail-section-index summary{cursor:pointer;font-size:14px;line-height:1.7;color:#345663;width:fit-content;padding:6px 0}
.detail-index-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;padding:18px 0 8px}
.detail-index-groups>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.detail-index-groups strong{font-size:14px;margin-bottom:5px}
.detail-index-groups a{font-size:14px;line-height:1.6;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.nearby-card a:focus-visible,.detail-nav-grouped a:focus-visible,.detail-index-groups a:focus-visible{outline:3px solid #c07136;outline-offset:3px}
@media(min-width:701px) and (max-width:1050px){
 .hero{height:470px}.hero-content{padding-top:30px}.hero h1{font-size:49px}html[lang=ja] .hero h1{font-size:44px}
 .hero-bottom{bottom:34px}.search-anchor{margin-top:-10px}.search-grid{grid-template-columns:1.2fr 1fr 1fr 1fr auto}.search-grid>.btn{grid-column:auto;margin:0 0 0 14px;min-width:130px;font-size:12px}
 .search-field{padding-inline:10px}.search-panel{padding:20px}.search-hint{justify-content:flex-start}
 .nearby-card-body{padding:18px}.detail-nav-grouped .wrap{gap:30px}
}
@media(max-width:700px){
 .hero{height:auto;min-height:0;padding-bottom:66px}.hero-content{padding-top:24px}.hero .eyebrow{margin-bottom:14px}
 .hero h1{font-size:36px;line-height:1.12}html[lang=ja] .hero h1{font-size:32px;line-height:1.3}
 .hero-desc,html[lang=ja] .hero-desc{font-size:12px;line-height:1.8;margin-top:14px}.hero-cta{margin-top:18px;gap:18px}.hero-bottom{bottom:23px}.hero-location{font-size:9px}
 .search-anchor{margin-top:0}.search-panel{padding:18px 16px 14px}.search-grid{row-gap:12px}.search-hint{flex-wrap:wrap;gap:6px 10px;margin-top:12px;font-size:10px}.search-hint button{font-size:10px}
 .resorts-page .page-heading{padding:18px 0 20px}.resorts-page .breadcrumb{margin-bottom:12px}.resorts-page .page-heading h1,html[lang=ja] .resorts-page .page-heading h1{font-size:29px;line-height:1.3}.resorts-page .page-heading p{font-size:13px;margin-top:10px}
 .resorts-page .results-layout{padding-top:18px}.resorts-page .results-grid .resort-image{height:170px}.results-search .btn{padding-inline:15px}.results-toolbar{position:static}.filter-panel{padding:18px}
 .nearby-photo,.nearby-photo img{height:auto;min-height:0}.nearby-photo img{height:100%}.nearby-photo-frame{max-height:260px}.nearby-photo figcaption{padding:10px 14px}.nearby-card-body{padding:18px}.nearby-card h3{font-size:22px}.nearby-card-body>p,.nearby-section .nearby-card-body p{font-size:14px}
 .detail-nav-grouped .wrap{width:calc(100% - 38px);padding:0;gap:12px;justify-content:space-between}.detail-nav-grouped a{font-size:12px;padding:14px 0}.detail-index-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-section-index{padding-top:10px;padding-bottom:10px}
}

/* Dated service evidence, current conditions and day itinerary. */
.evidence-period{display:block;color:#65757c;font-size:.74rem;margin-top:4px}.season-pending{border-left:3px solid #bd883f;padding-left:8px}.concrete-services{margin-top:18px;border-top:1px solid #d5e0e2!important;padding-top:15px!important}.concrete-services .field-help{display:block;line-height:1.6}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-heading-row h2{margin:0}.conditions-panel{background:#f0f5f4;padding:28px;border-radius:12px}.conditions-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.conditions-metrics div{background:#fff;padding:16px;border-radius:8px}.conditions-metrics dt{font-size:.8rem;color:#527078}.conditions-metrics dd{font-size:1.25rem;font-weight:700;margin:8px 0 0}.conditions-location{margin-top:20px}.forecast-periods{padding:0;list-style:none}.forecast-periods li{padding:12px 0;border-top:1px solid #d4e0de}.forecast-periods strong,.forecast-periods span,.forecast-periods small{display:block}.forecast-periods strong{font-size:.8rem}.forecast-periods span{margin:5px 0}.itinerary-add-link{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.itinerary-add-link a{font-size:.82rem;text-decoration:underline}.itinerary-chooser{display:flex;flex-wrap:wrap;align-items:end;gap:12px;background:#eff4f3;padding:20px;border-radius:12px;margin:24px 0}.itinerary-chooser label{width:100%;font-weight:600}.itinerary-chooser select{flex:1;min-width:0;padding:12px;background:white;border:1px solid #cbd9dc;border-radius:6px;max-width:100%}.itinerary-day{border:1px solid #cbd9dc;border-radius:12px;padding:22px;margin:22px 0;break-inside:avoid}.itinerary-day h3{padding-bottom:12px;border-bottom:1px solid #dce4e5}.itinerary-slot{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;margin:18px 0}.itinerary-slot h4{margin:8px 0;font-size:.85rem}.itinerary-slot ol,.itinerary-day>ol{list-style:none;padding:0;margin:0;min-width:0}.itinerary-entry{padding:16px;background:#f4f7f6;border-radius:8px;margin-bottom:10px;overflow-wrap:anywhere}.itinerary-entry-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}.itinerary-entry-controls label{display:flex;flex-direction:column;font-size:.75rem;gap:4px;min-width:0}.itinerary-entry-controls select{max-width:100%;padding:8px;background:#fff;border:1px solid #bfced1;border-radius:5px}.itinerary-warning{font-size:.8rem;color:#83541f}.itinerary-empty{color:#7a898e;font-size:.8rem;margin:8px 0}.itinerary-directions{display:flex;flex-direction:column;gap:8px}.itinerary-directions a{text-decoration:underline;font-size:.85rem;overflow-wrap:anywhere}.itinerary-conditions{font-weight:600}.itinerary-entry .travel-links{gap:12px}
@media(max-width:600px){.conditions-panel{padding:18px}.conditions-metrics{gap:7px}.conditions-metrics div{padding:10px}.conditions-metrics dd{font-size:1rem;overflow-wrap:anywhere}.itinerary-day{padding:14px}.itinerary-slot{grid-template-columns:1fr;gap:5px}.itinerary-entry{padding:12px}.itinerary-chooser{padding:14px}.itinerary-chooser select{flex-basis:100%;width:100%}.itinerary-entry-controls label:first-child{max-width:100%}}
@media print{.itinerary-chooser,.itinerary-entry-controls,.itinerary-add-link{display:none!important}#day-itinerary{display:block!important}#day-itinerary .itinerary-day{break-inside:auto}#day-itinerary .itinerary-entry{break-inside:avoid}#day-itinerary .itinerary-conditions{font-size:12pt}.itinerary-empty{color:#555}.itinerary-slot{display:block}.itinerary-entry .travel-links a{font-size:9pt}.itinerary-entry .travel-links a::after{content:' (' attr(href) ')';overflow-wrap:anywhere}}

.itinerary-base-note{display:block;flex-basis:100%;font-size:.75rem;color:#65757c}.conditions-metrics small{display:block;font-size:.66rem;line-height:1.4;margin-top:7px}.itinerary-quote-conditions{font-size:.8rem;overflow-wrap:anywhere}

/* Regional accommodation and dining catalog. */
.catalog-quick-links{display:flex;gap:12px 26px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #d4e0e0}.catalog-quick-links a{text-decoration:underline;font-weight:600;font-size:.9rem}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog-card{position:relative;border:1px solid #d6e0e1;border-radius:12px;background:#fff;overflow:hidden;min-width:0;align-self:start}.catalog-card-body{padding:24px}.catalog-card h3{font-size:1.25rem;line-height:1.4;margin:8px 0 14px}.catalog-card p{font-size:.87rem;line-height:1.8}.catalog-card .catalog-location{font-size:.78rem;color:#63777e;margin:0 0 14px}.catalog-amenities{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none;margin:18px 0}.catalog-amenities li{background:#edf4f2;padding:5px 10px;border-radius:5px;font-size:.78rem;line-height:1.6}.long-stay-reason{background:#f1f6f4;border-left:3px solid #6d9689;padding:15px;margin:18px 0}.long-stay-reason h4{font-size:.85rem;margin:0}.long-stay-reason p{margin:7px 0}.long-stay-reason small,.catalog-card small{font-size:.72rem;line-height:1.6;color:#65797f}.catalog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 12px}.catalog-card .catalog-confirmation{font-size:.76rem;line-height:1.7;color:#526b74}.catalog-sources,.booking-checks{border-top:1px solid #e0e7e7;padding-top:12px;margin-top:18px}.catalog-sources summary,.booking-checks summary{cursor:pointer;font-size:.8rem;font-weight:600}.booking-checks p,.booking-checks li{font-size:.78rem;line-height:1.65}.booking-checks ul{display:flex;flex-wrap:wrap;list-style:none;gap:7px;padding:0}.booking-checks li{padding:4px 8px;background:#f1f4f4;border-radius:4px}.catalog-photo{margin:0}.catalog-photo>div{position:relative;height:190px}.catalog-photo img{width:100%;height:100%;object-fit:cover}.catalog-photo-scope{position:absolute;bottom:8px;left:10px;right:10px;background:#fffE;font-size:.68rem;padding:5px 8px;border-radius:3px}.catalog-photo figcaption{font-size:.65rem;line-height:1.5;padding:9px 15px;background:#f5f7f6;color:#536b72}.catalog-photo figcaption a{text-decoration:underline}.catalog-subtitle{font-size:1.05rem;margin:26px 0 15px}.catalog-scope{font-size:.85rem;line-height:1.8;color:#59727a}.catalog-anchor-alias{position:absolute;top:0}.catalog-card .nearby-review{margin:17px 0}.catalog-card .travel-facts{display:block}.catalog-card .travel-fact{padding:12px 0}.catalog-card .nearby-access{font-size:.78rem}.catalog-section{scroll-margin-top:140px}.catalog-card .btn{white-space:normal;text-align:center}.catalog-card .itinerary-base-note{line-height:1.6}
@media(max-width:700px){.catalog-grid{grid-template-columns:1fr;gap:18px}.catalog-card-body{padding:19px}.catalog-photo>div{height:180px}.catalog-actions .btn{flex:1 1 140px}.catalog-quick-links{gap:12px 18px}.catalog-quick-links a{font-size:.82rem}}
@media print{.catalog-card{break-inside:avoid}.catalog-actions,.booking-checks{display:none}.catalog-grid{display:block}}

.catalog-section>.catalog-confirmation{font-size:.78rem;line-height:1.7;color:#61757d;margin:15px 0 24px}.catalog-season-note{border-left:3px solid #ba8d4d;padding-left:12px;font-weight:600}

/* Day planner uses stacked sections; keep the legacy sample itinerary flex layout isolated. */
#day-itinerary .itinerary-day{display:block;min-width:0}
#day-itinerary .itinerary-slot{grid-template-columns:minmax(0,1fr);min-width:0;gap:5px}
#day-itinerary .itinerary-directions,#day-itinerary .itinerary-directions a{min-width:0;max-width:100%}
#day-itinerary .itinerary-directions a{display:block;white-space:normal;overflow-wrap:anywhere}
