*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-color:var(--color-accent)}button,input,select,textarea{font:inherit;color:inherit}.wrap{width:min(calc(100% - 40px),var(--content-width));margin-inline:auto}.narrow{width:min(calc(100% - 40px),var(--narrow-width));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;padding:.75rem 1rem;background:#fff}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 1rem;font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted)}.site-header{position:relative;z-index:20;border-bottom:1px solid rgba(30,33,29,.18);background:rgba(243,241,234,.92)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:.78rem;font-weight:750;letter-spacing:.17em;text-decoration:none}.brand-mark{width:31px;height:13px;background:linear-gradient(154deg,transparent 48%,var(--color-text) 49%,var(--color-text) 53%,transparent 54%),linear-gradient(22deg,transparent 48%,var(--color-text) 49%,var(--color-text) 53%,transparent 54%)}.site-nav ul{display:flex;gap:2rem;margin:0;padding:0;list-style:none}.site-nav a{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-decoration:none}.nav-toggle{display:none;border:0;background:none;font-size:.7rem;letter-spacing:.15em}.site-footer{padding:4rem 0 2rem;background:#20251f;color:#e6e7df}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.footer-grid p{max-width:34rem;color:#b9bdb3}.footer-bottom{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1.25rem;border-top:1px solid #454a42;color:#8f958a;font-size:.7rem;letter-spacing:.1em}.hero{position:relative;min-height:700px;display:grid;align-items:end;overflow:hidden;background:#d9dbd3}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 22%,rgba(255,255,255,.8) 0 1%,transparent 2%),linear-gradient(165deg,transparent 0 31%,rgba(47,63,48,.12) 31.2% 36%,transparent 36.2%),linear-gradient(155deg,#daddd2 0 31%,#aab4a6 31.2% 48%,#778579 48.2% 63%,#3e4b41 63.2% 100%)}.hero::after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 65% 82%,transparent 0 46px,rgba(255,255,255,.11) 48px 49px);mix-blend-mode:overlay}.hero-content{position:relative;z-index:1;padding-bottom:clamp(4rem,9vw,8rem);color:white;text-shadow:0 1px 22px rgba(0,0,0,.18)}.hero-index{display:inline-flex;gap:1rem;align-items:center;font-size:.66rem;letter-spacing:.16em}.hero-index::before{content:"";width:44px;border-top:1px solid}.hero h1{max-width:920px;margin:1.4rem 0 1rem;font-family:var(--font-serif);font-size:clamp(3.4rem,8.5vw,7.6rem);font-weight:400;letter-spacing:-.045em;line-height:.98}.hero-lead{max-width:650px;font-size:clamp(1rem,2vw,1.25rem);letter-spacing:.07em}.section{padding-block:var(--space-section)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3.5rem}.section-heading h2{margin:0;font-family:var(--font-serif);font-size:clamp(2.1rem,5vw,4.2rem);font-weight:400;line-height:1.1}.section-heading p{max-width:650px;margin:.5rem 0 0;color:var(--color-muted);font-size:1.05rem}.concept-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(3rem,8vw,9rem)}.concept-copy{font-family:var(--font-serif);font-size:clamp(1.65rem,3.4vw,3rem);line-height:1.5}.principles{border-top:1px solid var(--color-line)}.principle{padding:1.25rem 0;border-bottom:1px solid var(--color-line)}.principle strong{display:block;font-size:.73rem;letter-spacing:.13em}.principle span{color:var(--color-muted);font-size:.88rem}.search-panel{padding:clamp(1.5rem,4vw,3rem);background:var(--color-accent-dark);color:#f7f6f0}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.filter-field{display:flex;flex-direction:column;gap:.45rem}.filter-field label{font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#cbd0c7}.filter-field input,.filter-field select{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid #707a6c;border-radius:0;background:#485448;color:white}.filter-actions{display:flex;align-items:end;gap:1rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.7rem 1.35rem;border:1px solid var(--color-text);background:var(--color-text);color:white;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;cursor:pointer}.button--light{border-color:#f5f4ee;background:#f5f4ee;color:#263027}.button--ghost{background:transparent;color:inherit}.trail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--color-line);border:1px solid var(--color-line)}.trail-card{position:relative;display:flex;min-height:430px;flex-direction:column;padding:2rem;background:var(--color-surface)}.trail-card:hover{background:#f6f5ef}.trail-card a{text-decoration:none}.trail-card h3{margin:auto 0 .4rem;font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1.1}.trail-card .trail-place{color:var(--color-muted);font-size:.78rem;letter-spacing:.08em}.card-route{margin-top:1rem;font-size:.8rem}.card-data{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:2rem;background:var(--color-line)}.card-data div{padding:.8rem 0;background:var(--color-surface)}.card-data span{display:block;color:var(--color-muted);font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.card-data strong{font-size:.92rem}.card-arrow{position:absolute;right:1.6rem;top:1.6rem}.region-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--color-line)}.region-link{display:flex;justify-content:space-between;padding:1.3rem 0;border-bottom:1px solid var(--color-line);text-decoration:none}.region-link:nth-child(odd){padding-right:2rem}.region-link:nth-child(even){padding-left:2rem}.region-link span:last-child{color:var(--color-muted)}.statement{padding:var(--space-section) 0;background:#b9ad92}.statement blockquote{max-width:940px;margin:0;font-family:var(--font-serif);font-size:clamp(2.2rem,5vw,5rem);font-weight:400;line-height:1.22}.statement p{margin-top:2rem}.reports-preview{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem}.reports-box{padding:3rem;border:1px solid var(--color-line);background:var(--color-surface)}.archive-header{padding:6rem 0 3rem}.archive-header h1{margin:0;font-family:var(--font-serif);font-size:clamp(3.5rem,8vw,7rem);font-weight:400;line-height:1}.archive-header p{max-width:640px;color:var(--color-muted)}.results-meta{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1rem;color:var(--color-muted);font-size:.82rem}.pagination{margin:3rem 0 6rem}.page-numbers{display:flex;gap:.5rem;list-style:none;padding:0}.page-numbers a,.page-numbers span{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--color-line);text-decoration:none}.breadcrumbs{display:flex;gap:.7rem;padding-top:1.5rem;color:var(--color-muted);font-size:.72rem}.trail-hero{padding:4rem 0 5rem}.trail-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:end}.trail-kicker{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.trail-hero h1{margin:1rem 0 .5rem;font-family:var(--font-serif);font-size:clamp(4rem,9vw,8rem);font-weight:400;line-height:.86;letter-spacing:-.05em}.trail-subtitle{margin:0;color:var(--color-muted);font-family:var(--font-serif);font-size:1.4rem;font-style:italic}.route-line{display:flex;align-items:center;gap:1rem;margin:2.5rem 0 0;font-size:.8rem;font-weight:700;letter-spacing:.1em}.route-line i{flex:1;border-top:1px solid var(--color-text)}.trail-summary{font-size:1.2rem;line-height:1.9}.hero-visual{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(165deg,#d6dad0 0 31%,#a5b0a1 31.2% 49%,#6d7c6f 49.2% 66%,#38453c 66.2%)}.hero-visual::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 65% 82%,transparent 0 40px,rgba(255,255,255,.13) 42px 43px)}.hero-visual img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;right:0;bottom:0;padding:.5rem .75rem;background:rgba(20,25,21,.82);color:white;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.quick-data{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--color-line)}.quick-item{padding:2rem 1.2rem;border-right:1px solid var(--color-line)}.quick-item:last-child{border-right:0}.quick-item span{display:block;margin-bottom:.5rem;color:var(--color-muted);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.quick-item strong{font-family:var(--font-serif);font-size:1.65rem;font-weight:400}.trail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(3rem,8vw,8rem);padding-block:var(--space-section)}.content-section{padding:0 0 4rem;margin:0 0 4rem;border-bottom:1px solid var(--color-line)}.content-section:last-child{border-bottom:0}.content-section h2{margin:0 0 2rem;font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400}.content-section h3{margin:2rem 0 .5rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.provenance{display:inline-flex;margin-bottom:1.5rem;padding:.25rem .55rem;border:1px solid var(--color-accent);color:var(--color-accent-dark);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.japan-panel{padding:2.5rem;background:#283128;color:#f7f6f0}.japan-panel .provenance{border-color:#aab2a7;color:#dbe0d8}.japan-number{display:flex;align-items:end;gap:1rem;margin:1rem 0 2rem}.japan-number strong{font-family:var(--font-serif);font-size:5rem;font-weight:400;line-height:1}.japan-number span{padding-bottom:.7rem}.flow{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:#d8ddd5;font-size:.76rem}.flow i{width:24px;border-top:1px solid #879084}.difficulty-row{margin:1.2rem 0}.difficulty-label{display:flex;justify-content:space-between;margin-bottom:.45rem;font-size:.8rem}.difficulty-track{height:5px;background:#d7d6ce}.difficulty-track span{display:block;width:calc(var(--score) * 20%);height:100%;background:var(--color-accent-dark)}.trail-sidebar{position:relative}.sticky-card{position:sticky;top:2rem;padding:2rem;border:1px solid var(--color-line);background:var(--color-surface)}.sticky-card dl{margin:0}.sticky-card div{padding:1rem 0;border-bottom:1px solid var(--color-line)}.sticky-card div:last-child{border:0}.sticky-card dt{color:var(--color-muted);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.sticky-card dd{margin:.2rem 0 0}.official-box,.editor-box,.hiker-box{padding:2rem;margin-top:1.5rem}.official-box{border-left:3px solid #3f5c72;background:#e9eef0}.editor-box{border-left:3px solid var(--color-sand);background:#efe9de}.hiker-box{border:1px dashed var(--color-line);background:var(--color-surface)}.source-list{padding:0;list-style:none}.source-list li{padding:1rem 0;border-bottom:1px solid var(--color-line)}.source-list a{word-break:break-word}.unverified{color:var(--color-muted);font-style:italic}.empty-state{padding:4rem 0 7rem}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.filter-grid{grid-template-columns:repeat(2,1fr)}.trail-grid{grid-template-columns:repeat(2,1fr)}.trail-hero-grid,.trail-layout,.concept-grid,.reports-preview{grid-template-columns:1fr}.hero-visual{aspect-ratio:16/9}.quick-data{grid-template-columns:repeat(3,1fr)}.quick-item:nth-child(3){border-right:0}.sticky-card{position:static}.section-heading{grid-template-columns:1fr}.footer-grid{gap:2rem}}
@media(max-width:620px){body{overflow-x:hidden}.wrap,.narrow{width:min(calc(100% - 28px),var(--content-width))}.header-inner{min-height:66px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:66px;left:0;right:0;padding:1rem 20px 2rem;background:var(--color-background);border-bottom:1px solid var(--color-line)}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column;gap:1rem}.hero{min-height:620px}.hero h1{font-size:3.65rem}.filter-grid,.trail-grid,.region-list,.footer-grid{grid-template-columns:1fr}.trail-card{min-height:370px}.region-link:nth-child(n){padding-inline:0}.quick-data{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-item{min-width:0;padding:1.35rem .75rem}.quick-item strong{overflow-wrap:anywhere;font-size:1.25rem}.quick-item:nth-child(n){border-right:1px solid var(--color-line)}.quick-item:nth-child(2n){border-right:0}.quick-item:last-child{grid-column:1/-1}.trail-hero{padding-top:2.5rem}.trail-hero h1{overflow-wrap:anywhere;word-break:break-all;font-size:3.35rem}.image-label{max-width:100%;white-space:normal;font-size:.5rem}.route-line{font-size:.67rem}.flow{align-items:flex-start;flex-direction:column}.flow i{width:1px;height:20px;border-top:0;border-left:1px solid #879084}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Practical, image-led edition */
.hero--practical{min-height:760px}.hero-photo{position:absolute;inset:0;z-index:0}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,27,22,.78) 0%,rgba(19,27,22,.45) 52%,rgba(19,27,22,.08) 100%),linear-gradient(0deg,rgba(19,27,22,.38),transparent 45%)}.hero-photo .editorial-visual{height:100%;margin:0}.hero-photo img,.hero-photo .visual-fallback{width:100%;height:100%;object-fit:cover}.hero--practical .hero-content{padding-bottom:clamp(4rem,8vw,7rem)}.hero--practical h1{max-width:1000px;font-size:clamp(3.5rem,7.5vw,7rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;text-shadow:none}.button--glass{border-color:rgba(255,255,255,.55);background:rgba(20,28,22,.25);color:#fff;backdrop-filter:blur(6px)}.editorial-visual{position:relative;overflow:hidden;margin:0;background:#8a9688}.editorial-visual img{width:100%;height:100%;object-fit:cover}.visual-fallback{min-height:100%;background:linear-gradient(148deg,#dbe0d4 0 25%,#aab7a7 25.2% 46%,#718071 46.2% 68%,#344239 68.2%),repeating-radial-gradient(ellipse at 70% 75%,transparent 0 42px,rgba(255,255,255,.14) 43px 44px)}.editorial-visual figcaption{position:absolute;right:0;bottom:0;padding:.45rem .7rem;background:rgba(20,28,22,.82);color:#fff;font-size:.58rem;letter-spacing:.09em}.utility-strip{border-bottom:1px solid var(--color-line);background:var(--color-surface)}.utility-grid{display:grid;grid-template-columns:repeat(4,1fr)}.utility-grid>div{display:flex;min-height:105px;align-items:center;gap:1rem;padding:1.2rem 1.5rem;border-right:1px solid var(--color-line)}.utility-grid>div:first-child{border-left:1px solid var(--color-line)}.utility-grid strong{font-family:var(--font-serif);font-size:2rem;font-weight:400}.utility-grid span{font-size:.6rem;font-weight:700;letter-spacing:.11em;color:var(--color-muted)}.section-heading--compact h2{font-size:clamp(2rem,4vw,3.65rem)}.section--surface{background:#e9e7de}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-line);border:1px solid var(--color-line)}.decision-card{min-height:290px;padding:2rem;background:var(--color-surface)}.decision-card>span{font-family:var(--font-serif);font-size:2.8rem;color:#a3a79e}.decision-card h3{margin:2rem 0 .75rem;font-size:1.2rem}.decision-card p{color:var(--color-muted)}.decision-card strong{display:block;margin-top:1.7rem;font-size:.62rem;letter-spacing:.1em}.trail-card{min-height:0;padding:0}.card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:#788577}.card-media img,.card-media-fallback{display:block;width:100%;height:100%;object-fit:cover}.card-media-fallback{background:linear-gradient(155deg,#d6dbd0 0 30%,#a6b1a2 30.2% 50%,#6f7e70 50.2% 69%,#38463c 69.2%),repeating-radial-gradient(ellipse at 70% 78%,transparent 0 35px,rgba(255,255,255,.13) 36px 37px)}.card-body{position:relative;display:flex;min-height:330px;flex-direction:column;padding:1.7rem}.card-body>div:first-of-type{margin-top:auto}.card-data div{background:var(--color-surface)}.practical-feature,.report-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,7vw,7rem);align-items:center}.report-feature{grid-template-columns:.85fr 1.15fr}.practical-visual .editorial-visual{aspect-ratio:4/3}.practical-copy h2{margin:.4rem 0 1.5rem;font-family:var(--font-serif);font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;line-height:1.15}.check-list{padding:0;list-style:none;border-top:1px solid var(--color-line)}.check-list li{position:relative;padding:.8rem 0 .8rem 1.7rem;border-bottom:1px solid var(--color-line)}.check-list li::before{content:"↗";position:absolute;left:0;color:var(--color-accent)}.text-link{display:inline-block;margin-top:1.5rem;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-decoration:none}.section--dark{background:#242b25;color:#edf0e9}.section--dark .section-heading p,.section--dark .eyebrow,.section--dark .region-link span:last-child{color:#aeb7ad}.section--dark .region-list,.section--dark .region-link{border-color:#4b554c}.data-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:2rem}.data-legend span{padding:.35rem .55rem;border:1px solid var(--color-line);font-size:.58rem;font-weight:700;letter-spacing:.08em}.visual--section{aspect-ratio:16/9;margin:0 0 2rem}.hero-visual .editorial-visual,.hero-visual .visual-fallback{width:100%;height:100%}.hero-visual .editorial-visual{position:absolute;inset:0}.hero-visual .editorial-visual figcaption{display:none}
@media(max-width:900px){.utility-grid{grid-template-columns:repeat(2,1fr)}.utility-grid>div:nth-child(odd){border-left:1px solid var(--color-line)}.decision-grid{grid-template-columns:1fr}.decision-card{min-height:220px}.practical-feature,.report-feature{grid-template-columns:1fr}.report-feature .practical-visual{grid-row:1}.card-body{min-height:300px}}
@media(max-width:620px){.hero--practical{min-height:680px}.hero--practical h1{font-size:3.45rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.utility-grid>div{min-height:88px;padding:.9rem}.utility-grid strong{font-size:1.5rem}.utility-grid span{font-size:.52rem}.decision-card{padding:1.5rem}.section-heading--compact{margin-bottom:2.2rem}.card-media{aspect-ratio:16/10}.visual--section{aspect-ratio:4/3}}

/* Editorial hierarchy: Japanese display copy should stay readable on desktop. */
.hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:1.04;text-wrap:balance}
.hero--practical h1{max-width:920px;font-size:clamp(3rem,5.7vw,5.4rem);line-height:1.08}
.section-heading h2,.section-heading--compact h2{font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.16;text-wrap:balance}
.trail-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.trail-hero h1{max-width:100%;font-size:clamp(3rem,6.2vw,6rem);line-height:1.02;text-wrap:balance;overflow-wrap:anywhere}
.practical-copy h2{font-size:clamp(2.1rem,3.6vw,3.4rem)}
.trail-intro{padding-block:clamp(3.5rem,7vw,6.5rem)}
.trail-overview{max-width:900px}
.trail-overview h2{margin:.35rem 0 1.3rem;font-family:var(--font-serif);font-size:clamp(2.1rem,4vw,3.5rem);font-weight:400;line-height:1.1}
.trail-overview p{max-width:820px;font-size:1.05rem;line-height:1.95}
.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3rem;background:var(--color-line);border:1px solid var(--color-line)}
.highlight-card{min-height:220px;padding:1.6rem;background:var(--color-surface)}
.highlight-number{color:var(--color-accent-dark);font-family:var(--font-serif);font-size:2.1rem}
.highlight-card h3{margin:1.25rem 0 .65rem;font-size:1.1rem}
.highlight-card p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.75}
.risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;margin-top:2rem}
.risk-grid>div{padding-top:1rem;border-top:1px solid var(--color-line)}
.risk-grid h3{margin-top:0}
@media(max-width:760px){.highlight-grid,.risk-grid{grid-template-columns:1fr}.trail-hero h1{font-size:clamp(3rem,12vw,4.4rem)}}
.trail-alias{margin:.15rem 0 .4rem;color:var(--color-muted);font-family:var(--font-serif);font-size:1rem;font-style:italic}

/* Compact headline scale: keep Japanese display copy within a calm desktop rhythm. */
.section-heading{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,5vw,5rem)}
.section-heading h2,.section-heading--compact h2{max-width:18em;font-size:clamp(1.75rem,2.7vw,2.75rem);line-height:1.22}
.hero h1,.hero--practical h1{max-width:780px;font-size:clamp(2.6rem,4.2vw,4rem);line-height:1.12}
.trail-hero{padding:clamp(2.5rem,5vw,4rem) 0}
.trail-hero h1{max-width:11em;font-size:clamp(2.7rem,4.4vw,4.5rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:break-word;word-break:normal}
.archive-header h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.08}
.content-section h2,.trail-overview h2{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.18}
@media(max-width:900px){.section-heading{grid-template-columns:1fr}.section-heading h2,.section-heading--compact h2{max-width:20em;font-size:clamp(1.75rem,5vw,2.5rem)}.trail-hero h1{font-size:clamp(2.5rem,6vw,3.5rem)}}
@media(max-width:620px){.hero h1,.hero--practical h1{font-size:clamp(2.35rem,10vw,3.15rem)}.trail-hero h1{font-size:clamp(2.35rem,10vw,3.1rem);word-break:normal}}
.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;color:var(--color-muted);font-size:.78rem;letter-spacing:.08em}.filter-reset{border:0;background:transparent;text-decoration:underline;cursor:pointer}.filter-empty{grid-column:1/-1;padding:4rem 2rem;background:var(--color-surface);text-align:center}.trail-card[hidden]{display:none}

/* Trail media and planning metrics: landscape imagery without portrait cropping. */
.trail-hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:center}
.hero-visual{aspect-ratio:3/2}
.hero-visual img{object-position:center}
.quick-data{grid-template-columns:repeat(6,minmax(0,1fr))}
.quick-item strong{font-size:clamp(1.05rem,1.65vw,1.45rem);line-height:1.35}
.season-section{margin-top:clamp(1rem,3vw,2rem);padding:clamp(2rem,5vw,4rem);background:#e7e3d8}
.season-section h2{margin:0;font-family:var(--font-serif);font-size:clamp(1.9rem,3vw,2.75rem);font-weight:400}
.season-primary{margin:.6rem 0 1rem;color:var(--color-accent-dark);font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.6rem);line-height:1.15}
.metric-note{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-line);color:var(--color-muted);font-size:.85rem}
@media(max-width:1000px){.trail-hero-grid{grid-template-columns:1fr}.hero-visual{aspect-ratio:16/9}.quick-data{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.quick-data{grid-template-columns:repeat(2,1fr)}.quick-item:nth-child(odd){border-right:1px solid var(--color-line)}.quick-item:nth-child(even){border-right:0}}
.photo-credit{left:1rem;right:auto;max-width:calc(100% - 2rem);font-size:.62rem;line-height:1.5}.photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:.16em}
.card-media{position:relative}.card-media>a{display:block;width:100%;height:100%}.card-media .photo-credit{left:.65rem;bottom:.65rem;max-width:calc(100% - 1.3rem);padding:.3rem .45rem;font-size:.52rem}
.hero--practical{min-height:0;padding-block:clamp(3.5rem,7vw,6rem)}.hero--practical .hero-content{padding-block:0}.hero--practical h1{max-width:15em;margin:.8rem 0;font-size:clamp(2.4rem,4vw,4rem);line-height:1.12}.hero--practical .hero-lead{margin-bottom:1.2rem}.hero--practical .search-panel{max-width:1000px;margin-top:1.25rem;padding:1.1rem 1.25rem;background:rgba(25,35,28,.9);backdrop-filter:blur(8px)}.hero--practical .search-panel>.eyebrow{margin-bottom:.7rem}.hero--practical .filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.hero--practical .filter-field label{margin-bottom:.2rem;font-size:.62rem}.hero--practical .filter-field select{min-height:42px;padding:.55rem .65rem;font-size:.78rem}.hero--practical .filter-actions{margin-top:.75rem!important}.hero--practical .button{padding:.65rem 1rem}.rating-guide{margin-top:1.5rem;border:1px solid var(--color-line);background:var(--color-surface)}.rating-guide summary{padding:.8rem 1rem;font-weight:700;cursor:pointer}.rating-guide-body{padding:0 1rem 1rem;font-size:.83rem}.rating-guide-body ol{padding-left:1.5rem}.rating-guide-body li{margin:.45rem 0}.about-content{padding-bottom:5rem}.page-hero{padding:clamp(4rem,8vw,7rem) 0 2rem}.page-hero h1{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1.1}.about-content section{padding:2rem 0;border-top:1px solid var(--color-line)}.about-content h2{font-size:1.5rem}.about-warning{padding-inline:1.5rem!important;background:#e8e5db}.about-content li{margin:.5rem 0}
@media(max-width:760px){.hero--practical .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero--practical{padding-block:3rem}.hero--practical h1{font-size:clamp(2.1rem,8vw,3.2rem)}}
.hero--practical .filter-actions .filter-reset{min-height:44px;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;cursor:pointer}.hero--practical .filter-actions .filter-reset:hover{background:rgba(255,255,255,.1)}
.filter-note{max-width:24rem;color:#d7ddd3;font-size:.62rem;line-height:1.5}.gear-content section ul{padding-left:1.25rem}.gear-content section li{padding-left:.2rem}

/* Compact Japanese headlines; use available width before wrapping. */
.hero--practical h1{max-width:none;width:100%;font-size:clamp(1.9rem,3.4vw,3.25rem);line-height:1.2;letter-spacing:-.025em;text-wrap:pretty}
.section-heading h2,.section-heading--compact h2{max-width:none;font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.25;text-wrap:pretty}
.trail-hero h1{max-width:none;width:100%;font-size:clamp(2.35rem,4.2vw,4rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
.trail-overview h2,.content-section h2,.season-section h2{font-size:clamp(1.65rem,2.4vw,2.35rem);line-height:1.25;text-wrap:pretty}
@media(max-width:900px){.hero--practical h1{font-size:clamp(1.8rem,5vw,2.7rem)}.trail-hero h1{font-size:clamp(2.25rem,6vw,3.25rem)}}
@media(max-width:620px){.hero--practical h1{font-size:clamp(1.75rem,7.5vw,2.35rem)}.section-heading h2,.section-heading--compact h2{font-size:clamp(1.55rem,6vw,2rem)}.trail-hero h1{font-size:clamp(2rem,9vw,2.8rem)}.trail-overview h2,.content-section h2,.season-section h2{font-size:clamp(1.5rem,6vw,1.9rem)}}
/* Smaller Japanese trail names; allow more room for the route title. */
.trail-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.trail-hero h1{max-width:none;width:100%;font-size:clamp(2rem,3vw,3rem);line-height:1.15;letter-spacing:-.035em;overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
@media(max-width:900px){.trail-hero h1{font-size:clamp(2.1rem,5vw,3rem)}}
@media(max-width:620px){.trail-hero h1{font-size:clamp(1.9rem,7.5vw,2.4rem);word-break:normal}}