/* Landscape-led editorial presentation. Existing content and controls are retained. */
:root{--ink:#173f3b;--green:#0d5d54;--deep:#103f3b;--paper:#fafbf7;--muted:#566c64;--line:#d0dad1;--gutter:clamp(24px,4.4vw,64px)}
:root{--bg-water:url('/assets/bg-water-1440.webp');--bg-wisteria:url('/assets/bg-wisteria-1440.webp');--bg-paper:url('/assets/bg-paper-1440.webp');--bg-night:url('/assets/bg-sarakura-1440.webp')}
body{background:var(--paper);color:var(--ink)}
h2{letter-spacing:.025em;line-height:1.5}
.section-wrap{max-width:1360px;padding-inline:var(--gutter)}
.eyebrow{color:#56766c;font-size:13px;letter-spacing:.13em;font-weight:600}
.section-heading{align-items:end;margin-bottom:48px;gap:40px}
.section-heading h2,.around .section-heading h2,.food-drink .section-heading h2,.day-plans .section-heading h2{font-size:clamp(32px,3.6vw,50px);line-height:1.5;letter-spacing:.025em}
.section-heading>p{font-size:15px;line-height:2.1;color:var(--muted)}
.place-tag{font-size:13px;letter-spacing:.05em;color:#59766b}
.text-link{gap:24px;min-height:44px;padding-block:6px;font-size:14px;border-color:#9ab3a5}
.text-link:hover{color:#00695b;border-color:currentColor}
.text-link span:last-child{transition:transform .22s}
.text-link:hover span:last-child{transform:translate(3px,-2px)}
.button{border-radius:50px;padding:15px 21px 15px 28px;min-height:58px}
.circle-arrow{background:transparent;border-color:#a1b9ac}
.site-header{height:90px;padding-inline:var(--gutter);background:#fafbf7f5;border-bottom:0}
.site-header::before{display:none}
.brand img{width:66px;height:52px}
.brand-name{font-size:21px;letter-spacing:.06em}
.brand-name>span{font-size:12px;letter-spacing:.06em}
.desktop-nav{gap:28px;font-size:13px}
.nav-visit{background:#123f3b;color:#fff;border:0;padding:13px 20px}
.nav-visit:hover{background:#00695b}
.desktop-nav>a:not(.nav-visit)::after{background:#6e9782;height:1px}
.menu-label{font-size:13px}
.mobile-menu{background:#f5f8f0;top:90px;height:calc(100dvh - 90px)}

/* A single, generous panorama carries the first impression. */
.hero{display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;max-width:1760px;margin:0 24px;min-height:700px;height:calc(100svh - 116px);max-height:900px;padding:64px clamp(40px,5vw,88px);border-radius:16px;color:white;background:#184c44}
.hero::before,.hero::after{display:none}
.hero .hero-copy{position:relative;z-index:4;width:62%;padding:0;align-self:center}
.hero .hero-media{position:absolute;inset:0;display:block;z-index:0}
.hero .hero-media .hero-visual{position:absolute;inset:0;min-height:0;height:100%;width:100%;margin:0;border-radius:0;box-shadow:none;overflow:hidden}
.hero .hero-visual::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#082e2be8 0%,#082e2bba 27%,#082e2b49 61%,#082e2b0a 100%),linear-gradient(0deg,#062e2b88,transparent 50%)}
.hero .hero-season-photo img{height:100%;object-position:50% 55%;filter:none}
.hero .hero-copy .eyebrow{font-size:13px;font-weight:400;letter-spacing:.09em;color:#fff;gap:13px}
.hero .tiny-line{width:30px;background:#e4c8a0}
.hero .hero-copy h1{font-size:clamp(56px,5.9vw,94px);line-height:1.4;letter-spacing:.02em;margin-top:28px;max-width:none;text-shadow:0 2px 24px #00282325}
.hero .hero-copy h1>span{color:white;white-space:nowrap}
.hero .hero-copy .hero-lead{font-size:16px;line-height:2.1;letter-spacing:.06em;margin-top:25px;color:#fff}
.hero .hero-copy .button{margin-top:29px;background:#fafcf3;color:#123f3b;border-color:#fafcf3;min-width:254px;box-shadow:none}
.hero .hero-copy .button:hover{background:#dce8ca;border-color:#dce8ca}
.hero .hero-copy .hero-history{position:static;display:flex;width:max-content;color:#fff;font-size:14px;border-color:#ffffff80;margin:13px 0 0;min-height:38px}
.hero .hero-years{color:#e6eddf;display:flex;align-items:center;gap:15px;margin-top:28px;font-family:Georgia,serif;font-size:19px;letter-spacing:.04em}
.hero .year-line{width:48px;background:#ffffff6b}
.hero .years-caption{display:inline;font:10px var(--sans);letter-spacing:.12em;color:#d3e1d6}
.hero .season-jump{top:28px;right:28px;padding:10px 16px;background:#ffffffed;border:0;box-shadow:none;color:#123f3b}
.hero .anniversary-seal{right:40px;top:115px;bottom:auto;width:132px;height:132px;transform:none;background:#f4f8e9ee;border:1px solid #ffffffb3;color:#174b3b;box-shadow:none}
.hero .seal-dots{display:none}
.hero .seal-small{font-size:8px}
.hero .seal-number{font-family:Georgia,serif;font-size:61px;letter-spacing:-.065em;font-weight:400}
.hero .seal-number>span{font-family:var(--sans);font-size:16px;letter-spacing:-.02em}
.hero .seal-bottom{font-size:9px;letter-spacing:.02em}
.hero .anniversary-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}
.hero .seal-small{display:none}
.hero .seal-number{line-height:1.05;white-space:nowrap}
.hero .seal-bottom{font-size:11px;line-height:1.5;margin-top:8px}
.hero .photo-note{bottom:180px;right:30px;background:#082e2bc9;border:1px solid #ffffff35;border-radius:30px;padding:7px 13px;font-size:13px}
.hero .hero-season-switch{position:absolute;z-index:5;bottom:30px;right:30px;width:350px;padding:16px 20px;background:#f6faf1f5;border:1px solid #ffffffa6;border-radius:12px;color:#123f3b;box-shadow:0 14px 34px #082e2b14}
.hero .hero-switch-topline{gap:12px;align-items:center}
.hero .hero-switch-label{display:block;white-space:nowrap;font-size:13px}
.hero .hero-switch-choices{width:212px;gap:4px;flex:1;max-width:230px}
.hero .hero-switch-choices .season-choice{min-height:44px;font-size:14px;padding:7px 5px;gap:5px;background:#ffffffd9;border-color:#d1dbcd}
.hero .hero-switch-choices .season-choice[aria-pressed="true"]{background:#164e43;color:white;border-color:#164e43}
.hero .hero-switch-meta{font-size:13px;line-height:1.8;min-height:30px;margin-top:7px;gap:4px 12px}
.hero .hero-season-reset{font-size:13px;line-height:1.8}
.anniversary-note{max-width:1232px;margin:0 auto;padding:23px 0;border-image:none;border:0;border-bottom:1px solid #d0dad1;gap:16px}
.anniversary-note p{font-size:14px;letter-spacing:.02em}
.anniversary-note .note-dot{background:#a18d63;width:5px;height:5px}

/* Introduction and picture index. */
.about{padding-top:105px;padding-bottom:62px;gap:10%;grid-template-columns:1fr 1fr}
.about::before{background-image:linear-gradient(90deg,#fafbf7ed 0%,#fafbf7c9 48%,#fafbf7a6 100%),var(--bg-water);background-position:center 58%;background-size:cover}
.about .section-intro h2{font-size:clamp(36px,3.7vw,52px);line-height:1.5}
.about .section-index{letter-spacing:.18em;font-size:11px;margin-top:30px}
.about-body .lead{font-size:24px;line-height:1.8;margin-bottom:26px}
.about-body>p:not(.lead){font-size:15px;line-height:2.1;margin-top:22px}
.holiday-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding-bottom:88px;border:0}
.holiday-shortcuts a{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:nowrap;gap:0;min-width:0;min-height:216px;padding:22px 17px;border:0!important;border-radius:7px;color:#fff;font-size:14px;line-height:1.7;font-weight:600;letter-spacing:.02em;transition:transform .3s,box-shadow .3s}
.holiday-shortcuts a::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0a342cef,transparent 75%),linear-gradient(180deg,#123f3b3b,transparent 38%);pointer-events:none}
.holiday-shortcuts a img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.holiday-shortcuts a>span:first-of-type{position:absolute;left:17px;top:15px;font:italic 22px Georgia,serif;letter-spacing:.02em;color:#fff}
.holiday-shortcuts a>span:last-of-type{font-size:20px;margin-left:6px;flex:none}
.holiday-shortcuts a:hover{transform:translateY(-4px);box-shadow:0 15px 25px #174b3b15;color:white}
.holiday-shortcuts a:hover img{transform:scale(1.035)}
.holiday-shortcuts a:nth-child(3) img{object-fit:contain;padding:24px 38px 46px;background:#f1eee2}
.holiday-shortcuts a:nth-child(3)::after{background:linear-gradient(0deg,#173f3b,transparent 90%)}
.holiday-shortcuts a:nth-child(3)>span:first-of-type{color:#173f3b}

/* Water, seasons and architecture have different photographic rhythms. */
.seasons{max-width:none;margin:0;background:#f2f5ed}
.seasons::before{background:linear-gradient(120deg,#f3f6ee,var(--season-wash));opacity:.7}
.season-inner{padding-block:76px 28px;gap:8%;grid-template-columns:1fr 1.05fr}
.season-copy h2{font-size:clamp(32px,3.4vw,46px);line-height:1.5;margin-top:20px}
.season-intro{font-size:15px;margin-top:23px}
.season-landscape img{aspect-ratio:1.12/1;border-radius:8px 90px 8px 8px;object-position:center 50%}
.season-landscape figcaption{font-size:13px}
.season-choices{gap:8px;margin-top:30px;max-width:380px}
.season-choices .season-choice{border-radius:3px;background:#ffffff6b;border-color:#c4d2c0;min-height:48px}
.season-choices .season-choice[aria-pressed="true"]{background:#174c3e;color:white;border-color:#174c3e;box-shadow:none}
.season-story{border-left:2px solid #9eaf87;margin-top:28px;padding-left:20px;min-height:0}
.season-story h3{font-size:21px;line-height:1.7}
.season-story p{font-size:14px}
.seasons .season-motion-toggle{margin:0 max(var(--gutter),calc((100% - 1232px)/2)) 34px auto;background:#fff8;border-color:#b8c9b2}
.visit{background-image:linear-gradient(90deg,#edf5e9ed 0%,#edf5e9d6 52%,#edf5e98c 100%),var(--bg-water);background-size:cover;background-position:center bottom}
.visit::after{display:none}
.visit-grid{padding-block:90px;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.visit-text h2{font-size:clamp(34px,3.4vw,48px);line-height:1.5}
.visit-lead{font-size:21px;line-height:1.9;margin-top:28px}
.visit-image img{border-radius:8px 100px 8px 8px;min-height:0;height:auto;aspect-ratio:.76/1;object-fit:cover;object-position:55% 50%}
.visit-choice{padding-block:24px;gap:20px}
.visit-choice h3{font-size:18px;line-height:1.7}
.visit-choice p{font-size:14px;line-height:2}
.photo-label{right:20px;bottom:45px;box-shadow:none;border:1px solid #d3dfbf;background:#edf4d9;transform:none}
.highlights{padding-block:94px;background:#fafbf7}
.dam-feature{grid-template-columns:1.3fr 1fr;gap:7%;align-items:center}
.dam-feature figure img{border-radius:8px 8px 80px 8px;aspect-ratio:1.28/1}
.feature-copy h3{font-size:clamp(30px,3.2vw,43px);line-height:1.5}
.feature-copy>p:not(.small-title){font-size:15px;line-height:2.1}
.feature-no{font-family:Georgia,serif;font-size:32px;color:#a68a57}
.bridge-feature{margin-top:72px}
.bridge-feature figure img{border-radius:8px;aspect-ratio:2.34/1;object-position:center}
.bridge-caption{gap:8%;padding-top:28px}
.bridge-title h3{font-size:clamp(28px,2.8vw,38px);line-height:1.5}
.bridge-description{font-size:15px;line-height:2.1}
figcaption{line-height:1.8}

/* A darker chapter for the night view, followed by light and flowers. */
.around{padding-block:90px;background:linear-gradient(160deg,#edf3f0,#f6f5f0 48%,#f2edf7)}
.sarakura-feature{background:#123f3b;color:#fff;border-radius:10px;overflow:hidden}
.nightscape{margin:0}
.nightscape img{aspect-ratio:2.15/1;object-position:center 63%;border-radius:0;box-shadow:none;filter:none}
.nightscape figcaption{padding:13px 40px 0;color:#bfd3ca;font-size:13px}
.sarakura-body{padding:28px 40px 42px;grid-template-columns:1.15fr .7fr;gap:12%;margin:0;align-items:center;background-image:linear-gradient(90deg,#0e302fe8,#0e302fcc),var(--bg-night);background-size:cover;background-position:center 60%}
.sarakura-feature .place-tag{color:#c7d9c9;margin-bottom:12px}
.sarakura-feature h3{font-size:clamp(30px,3.2vw,43px);line-height:1.5}
.sarakura-feature .destination-copy>p:not(.place-tag):not(.destination-note){font-size:15px;line-height:2.1}
.sarakura-feature .text-link{color:#fff;border-color:#c2d6c0}
.sarakura-feature .destination-note{color:#cbdad2;font-size:13px}
.sarakura-feature .cable-photo{margin:0;width:100%;max-width:none}
.sarakura-feature .cable-photo img{border-radius:7px;aspect-ratio:1.35/1;box-shadow:none;filter:none}
.sarakura-feature .cable-photo figcaption,.sarakura-feature .small-photo-label{color:#bfd3ca;font-size:12px}
.higashida-heading{margin-top:92px;column-gap:8%}
.higashida-heading h3{font-size:34px;line-height:1.55}
.higashida-heading>p:not(.eyebrow){font-size:15px;line-height:2.1}
.higashida-grid{margin-top:36px;gap:32px}
.higashida-grid img{border-radius:7px;filter:none;aspect-ratio:1.25/1}
.higashida-grid h4{font-size:25px;line-height:1.6}
.higashida-grid article>p:not(.place-tag):not(.destination-note){font-size:15px;line-height:2}
.higashida-grid .furnace-spot{background:#e3ece1;border-radius:7px;padding:20px}
.higashida-grid .furnace-spot img{aspect-ratio:3/4;object-fit:contain;background:transparent}
.museum-spot figure::after,.science-spot figure::after{display:none}
.flower-note{display:grid;grid-template-columns:1.45fr 1fr;gap:0;margin-top:88px;padding:0;border-radius:10px;background:#eeebf4;align-items:stretch}
.flower-note::before{background-image:linear-gradient(90deg,#f6f1faed 12%,#f4eef8d9 60%,#f2edf6cc),var(--bg-wisteria);background-position:right top;background-size:cover}
.flower-note .fujien-photo{align-self:stretch;height:100%}
.flower-note .fujien-photo img{height:100%;min-height:460px;aspect-ratio:auto;border-radius:0;object-position:50% 50%}
.flower-note>div{padding:46px 38px;align-self:center}
.flower-note h3{font-size:clamp(29px,2.8vw,38px);line-height:1.6;margin-block:18px 20px}
.flower-note>div>p:not(.place-tag):not(.destination-note){font-size:15px;line-height:2.1}
.flower-note .place-tag{font-size:13px;color:#67577a}
.flower-note .destination-note{color:#675b78;font-size:13px;margin-top:18px}
.flower-note .text-link{font-size:14px;line-height:1.8;margin-top:22px;border-color:#a89cb8}
.area-note{font-size:13px;line-height:2;color:#566c64}

/* Local tastes and a longer stay, in warmer paper tones. */
.food-drink{padding-block:90px;background:#fafbf7}
.tenshin-feature{padding:42px 48px;gap:60px;grid-template-columns:1fr 210px;border:0;border-left:3px solid #ae9a71;border-radius:0 9px 9px 0;background-color:#f3f1e8;background-image:linear-gradient(100deg,#f7f3eab8,#f7f3eacc),var(--bg-paper);background-position:center;background-size:cover}
.tenshin-photo{width:200px;padding:14px;border-radius:5px;background:#fff;box-shadow:0 12px 25px #4c493509}
.tenshin-photo figcaption{font-size:12px}
.tenshin-copy{max-width:660px;padding:0}
.tenshin-copy h3{font-size:38px;line-height:1.5;margin-block:16px 23px}
.tenshin-copy>p:not(.place-tag):not(.destination-note){font-size:15px;line-height:2.1}
.dining-list{gap:55px;margin-top:48px}
.dining-list article{padding-top:27px;grid-template-columns:28px minmax(0,1fr) 40px;gap:14px}
.dining-list h3{font-size:25px;line-height:1.6}
.dining-list h4{font-size:15px}
.dining-list article>div>p:not(.place-tag):not(.destination-note){font-size:15px;line-height:2}
.dining-list .circle-arrow{width:40px;height:40px}
.stay{background-color:#f3efe5;background-image:linear-gradient(110deg,#f8f3e6b8,#f3efe5db),var(--bg-paper);background-size:cover;background-position:center; border-block:0}
.stay-inner{padding-block:88px;gap:7%}
.stay h2{font-size:clamp(33px,3.4vw,47px);line-height:1.5}
.stay-lead{font-size:21px;line-height:1.9}
.chigusa-stay{gap:28px;grid-template-columns:1fr 1fr;align-items:center}
.chigusa-stay img{box-shadow:none;border-radius:6px;aspect-ratio:1.1/1;filter:none}
.chigusa-stay h3{font-size:26px}
.chigusa-stay>div>p:not(.place-tag){font-size:15px}
.az-stay{margin-top:32px;padding-top:26px}
.az-stay h3{font-size:20px}
.day-plans{padding-block:90px;background:#fafbf7}
.trip-tablist{padding-bottom:0;border:0;gap:8px}
.trip-tablist button{flex:1;border:0;border-bottom:2px solid #cfd9cd;border-radius:0;padding:16px 10px;font-size:15px;background:transparent;min-height:56px;transition:background .2s,color .2s,border-color .2s}
.trip-tablist button[aria-selected="true"]{background:#e9f0df;color:#194c3c;border-bottom-color:#194c3c}
.trip-tablist button:hover{box-shadow:none;background:#eff4e9}
.trip-panel{background:#f0f4e9;border:0;border-radius:0 0 8px 8px;padding:36px 36px 39px}
.trip-panel h3{font-size:29px;line-height:1.7;margin-bottom:29px}
.trip-steps{gap:32px}
.trip-steps li>span{color:#719468;font:italic 23px Georgia,serif;margin-bottom:15px}
.trip-steps h4{font-weight:600;font-size:17px;line-height:1.8}
.trip-steps p{font-size:14px;line-height:2}
.trip-steps a{min-height:36px;font-size:13px}
.photo-contest{background-color:#edf0f4;background-image:linear-gradient(125deg,#eaf1f4e6,#f2eef4ed),var(--bg-paper);background-size:cover;background-position:center; padding-block:85px}
.photo-copy h2{font-size:clamp(34px,3.6vw,50px);line-height:1.5}
.photo-frame{transform:rotate(-4deg);box-shadow:0 18px 36px #263f3b12}
.photo-spark{display:none}
.history{background-image:linear-gradient(115deg,#123c36e3,#163f3bd6),url('/assets/dam-v2-1200.webp');background-position:center 46%;background-size:cover;padding-block:92px}
.history .eyebrow{color:#bfd2c0}
.history-heading{gap:9%}
.history-heading h2{font-size:clamp(34px,3.8vw,52px);line-height:1.5}
.history-lead{font-size:15px;line-height:2.1;color:#d5e2d7}
.timeline{margin-top:55px;column-gap:20px}
.timeline-year{font:38px Georgia,serif;letter-spacing:0}
.timeline-year>span{font:12px var(--sans);margin-left:4px}
.timeline-label,.timeline p{font-size:13px;line-height:1.9}
.timeline li::after{display:none}
.history-end{margin-top:46px;padding-block:30px}
.history-end>span{font:36px Georgia,serif}
.history-end p{font-size:19px}
.history .source-line,.history .source-line a{font-size:13px;color:#d5e2d7}
.airport{padding-block:85px 66px}
.airport::before{inset:0;background:linear-gradient(115deg,#fafbf7 5%,#edf3f6)}
.airport-grid{gap:9%}
.airport h2{font-size:clamp(34px,3.5vw,48px);line-height:1.5}
.airport-grid>div:first-child>p:not(.eyebrow){font-size:15px;line-height:2.1}
.plane-photo img{aspect-ratio:1.55/1;border-radius:8px 80px 8px 8px;filter:none}
.airport-photos .terminal-photo{margin-top:-24px;width:65%;padding:7px;background:#fafbf7;border-radius:7px;position:relative}
.terminal-photo img{border-radius:3px;filter:none}
.airport-links{gap:18px 30px}
.guide{padding-top:55px;padding-bottom:70px;background:#f4f7ef}
.guide-row{padding-block:29px}
.guide-row h3{font-size:25px;line-height:1.6}
.guide-row p{font-size:14px;line-height:2}
.guide-row:hover{background:#e7eee4}
.faq{padding-top:74px;padding-bottom:85px;background:#fafbf7;gap:9%}
.faq h2{font-size:37px}
.faq summary{font-size:15px;line-height:1.9;padding-block:24px}
.faq-answer{font-size:14px;line-height:2.1}

/* A final landscape, then a clear and quiet footer. */
.closing{padding:100px 24px 106px;color:white;background:#164f47;overflow:hidden}
.closing::before{opacity:1;background-image:linear-gradient(90deg,#0b3837ca,#0b383799),url('/assets/hero-1440.webp');background-position:center 55%;background-size:cover}
.closing .eyebrow{color:#e1ecdd}
.closing h2{font-size:clamp(36px,4.8vw,66px);letter-spacing:.03em;line-height:1.6}
.closing p:not(.eyebrow){font-size:16px;line-height:2.1;color:#fff}
.closing .button{background:#f7faee;color:#123f3b;box-shadow:none;margin-top:30px}
.closing .button:hover{background:#dfebd3}
.closing-water{display:none}
.site-footer{background:#123f3b;color:#f1f6ea;padding:54px var(--gutter) 26px}
.site-footer .brand img{filter:brightness(0) invert(1)}
.site-footer .brand-name{color:#f1f6ea}
.site-footer .footer-main nav{font-size:14px;gap:16px 24px}
.site-footer .back-top{color:#f1f6ea;border-color:#8ba999}
.site-footer .credits{border-color:#ffffff38;color:#d6e3d6}
.site-footer .credits-content{color:#d6e3d6}
.site-footer .credits-content p,.site-footer .credits-content li{color:inherit}
.site-footer .credits a{color:#e6eee0;border-color:#789b86}
.site-footer .credits summary{font-size:14px;min-height:52px}
.site-footer .footer-bottom{color:#b4cbb9;border-color:#ffffff2b;line-height:1.9}
.site-footer .footer-bottom span{color:inherit}

@media(min-width:1808px){.hero{margin-inline:auto}}
@media(max-width:1100px){
 .site-header{height:82px}.mobile-menu{top:82px;height:calc(100dvh - 82px)}
 .hero{margin-inline:18px;padding:60px 44px;min-height:720px;height:auto;max-height:none}
 .hero .hero-copy{width:76%;padding-bottom:115px}
 .hero .hero-copy h1{font-size:clamp(50px,6.8vw,72px)}
 .hero .hero-copy .hero-lead{font-size:16px}
 .hero .hero-years{margin-top:26px}
 .hero .hero-season-switch{right:26px;bottom:26px;width:350px}
 .hero .photo-note{bottom:174px;right:27px}
 .hero .anniversary-seal{right:30px;top:104px;width:114px;height:114px}
 .hero .seal-number{font-size:52px}.hero .seal-small{font-size:7px}.hero .seal-bottom{font-size:8px}
 .anniversary-note{margin-inline:var(--gutter);padding-block:20px}
 .about{padding-block:80px 48px;gap:7%}.about-body .lead{font-size:22px}
 .about-body>p:not(.lead){font-size:14px}
 .holiday-shortcuts{gap:10px;padding-bottom:66px}.holiday-shortcuts a{min-height:190px;padding:18px 12px;font-size:13px}
 .holiday-shortcuts a>span:first-of-type{left:12px;top:12px;font-size:19px}
 .holiday-shortcuts a:nth-child(3) img{padding:20px 25px 45px}
 .season-inner{gap:6%;padding-top:65px}.season-landscape img{aspect-ratio:1/1.1}
 .season-story h3{font-size:19px}.season-story h3 br{display:none}
 .visit-grid{gap:7%;padding-block:75px}.visit-image img{aspect-ratio:.6/1;min-height:0}.visit-lead{font-size:19px}
 .visit-choice{padding-block:20px}.visit-choice h3{font-size:17px}
 .highlights,.around,.food-drink,.day-plans{padding-block:74px}
 .sarakura-body{gap:8%;padding:27px 32px 36px}.nightscape figcaption{padding-inline:32px}
 .higashida-heading{margin-top:70px}.higashida-heading h3{font-size:29px}.higashida-grid{gap:25px}
 .flower-note{display:block;margin-top:68px;padding:0}.flower-note .fujien-photo{height:auto}
 .flower-note .fujien-photo img{height:auto;min-height:0;aspect-ratio:1.7/1}
 .flower-note>div{display:grid;grid-template-columns:.95fr 1.05fr;gap:10px 34px;padding:34px}
 .flower-note .place-tag{grid-column:1/-1;margin:0}.flower-note h3{grid-column:1;grid-row:2/5;font-size:32px;margin:4px 0 0}
 .flower-note>div>p:not(.place-tag){grid-column:2;margin:0}.flower-note .text-link{grid-column:2;width:max-content;max-width:100%;margin-top:6px}
 .tenshin-feature{grid-template-columns:1fr 180px;gap:32px;padding:34px}.tenshin-photo{width:180px}.tenshin-copy h3{font-size:33px}
 .dining-list{gap:30px}.dining-list h3{font-size:23px}
 .stay-inner{padding-block:72px}.stay-lead{font-size:19px}.hotel-list{margin-top:36px}
 .chigusa-stay{grid-template-columns:250px 1fr;gap:36px}.chigusa-stay img{aspect-ratio:1.25/1}
 .trip-panel{padding:30px}.trip-panel h3{font-size:27px}.trip-steps{gap:22px}.trip-steps h4{font-size:16px}
 .history{padding-block:75px}.timeline{grid-template-columns:repeat(3,1fr);gap:32px 20px}.timeline-year{font-size:34px}
 .history-end{gap:35px}.history-end>span{font-size:32px}.history-end p{font-size:17px}
 .airport{padding-block:72px 55px}.airport-grid{gap:7%}
 .guide-row h3{font-size:23px}.faq h2{font-size:32px}
 .site-footer .footer-main nav{font-size:13px}
}
@media(max-width:800px) and (min-width:701px){
 .hero{padding-inline:35px;min-height:750px}.hero .hero-copy{width:100%;padding-bottom:132px}
 .hero .hero-copy h1{font-size:57px}.hero .hero-copy .eyebrow{font-size:13px}
 .hero .hero-season-switch{left:35px;right:auto;bottom:26px;width:360px}.hero .photo-note{bottom:39px;right:22px;padding:6px 10px;font-size:13px}
 .hero .anniversary-seal{right:25px;top:96px;width:100px;height:100px}.hero .seal-number{font-size:46px}
 .about{grid-template-columns:.85fr 1.15fr;gap:30px}.about .section-intro h2{font-size:35px}.about-body .lead{font-size:21px}
 .holiday-shortcuts{gap:8px}.holiday-shortcuts a{min-height:172px;font-size:13px;line-height:1.8;padding:15px 10px;display:flex}
 .holiday-shortcuts a>span:last-of-type{display:inline;font-size:19px;margin:0 0 0 5px}.holiday-shortcuts a:nth-child(3) img{padding-inline:17px}
 .season-copy h2{font-size:31px}.season-inner{gap:26px}.season-landscape img{aspect-ratio:3/4}.season-story h3{font-size:19px}
 .visit-grid{gap:30px}.visit-text h2{font-size:32px}.visit-lead{font-size:18px}.visit-choice h3{font-size:16px}
 .visit-image img{aspect-ratio:.46/1;object-position:60% 50%}.visit-choice p{font-size:13px}
 .dam-feature{gap:30px}.feature-copy h3{font-size:30px}.feature-copy>p:not(.small-title){font-size:14px}
 .bridge-caption{gap:30px}.bridge-title h3{font-size:28px}.bridge-description{font-size:14px}
 .sarakura-feature h3{font-size:30px}.sarakura-body{grid-template-columns:1.2fr .8fr;gap:25px;padding-inline:28px}
 .sarakura-feature .destination-copy>p:not(.place-tag):not(.destination-note){font-size:14px}
 .higashida-heading h3{font-size:27px}.higashida-heading>p:not(.eyebrow){font-size:14px}
 .flower-note h3{font-size:29px}.flower-note>div{padding:28px;gap:10px 26px}.flower-note>div>p:not(.place-tag):not(.destination-note){font-size:14px}
 .tenshin-feature{grid-template-columns:1fr 156px;gap:28px;padding:28px}.tenshin-photo{width:156px;padding:10px}.tenshin-copy h3{font-size:30px}.tenshin-copy>p:not(.place-tag):not(.destination-note){font-size:14px}
 .dining-list{display:block}.dining-list article+article{margin-top:28px}.dining-list h3{font-size:25px}
 .trip-panel{padding:26px 24px}.trip-panel h3{font-size:25px}.trip-steps{gap:15px}.trip-steps li+li{padding-left:15px}.trip-steps h4{font-size:15px}.trip-steps p{font-size:13px}
 .airport h2{font-size:32px}.airport-grid>div:first-child>p:not(.eyebrow){font-size:14px}.airport-links{gap:15px 24px}
 .closing{padding-block:80px}.site-footer .footer-main nav{gap:14px 23px}
}
@media(max-width:700px){
 :root{--gutter:24px}html{scroll-padding-top:96px}
 .site-header{height:78px;padding-inline:20px}.brand{gap:9px}.brand img{width:53px;height:43px}.brand-name{font-size:18px;letter-spacing:.04em}.brand-name>span{font-size:11px}.brand-year{font-size:10px}
 .mobile-menu{top:78px;height:calc(100dvh - 78px);padding-inline:var(--gutter)}.menu-label{font-size:13px}
 .hero{display:flex;align-items:center;margin:0 10px;padding:48px 24px 164px;min-height:730px;height:auto;max-height:none;border-radius:10px}
 .hero .hero-copy{width:100%;padding:0;align-self:center}
 .hero .hero-copy .eyebrow{font-size:13px;letter-spacing:0;gap:9px;padding-right:55px;line-height:1.9}
 .hero .tiny-line{width:17px;flex-shrink:0}
 .hero .hero-copy h1{font-size:clamp(35px,10.4vw,50px);line-height:1.42;letter-spacing:.01em;margin-top:29px}
 .hero .hero-copy .hero-lead{font-size:14px;line-height:2.1;letter-spacing:.025em;margin-top:22px}
 .hero .hero-copy .button{margin-top:23px;min-width:233px;font-size:14px;padding-block:13px;gap:22px}
 .hero .hero-copy .hero-history{margin-top:10px;min-height:38px;font-size:13px}
 .hero .hero-years{margin-top:20px;font-size:17px;gap:12px}.hero .years-caption{font-size:8px;letter-spacing:.07em}
 .hero .hero-visual::after{background:linear-gradient(90deg,#082e2be8 0%,#082e2b9c 55%,#082e2b24 100%),linear-gradient(0deg,#062e2b8c,transparent 70%)}
 .hero .hero-season-photo img{object-position:56% 50%}
 .hero .season-jump{display:none}
 .hero .anniversary-seal{right:17px;top:24px;width:78px;height:78px;bottom:auto;opacity:.95}
 .hero .seal-number{font-size:36px}.hero .seal-number>span{font-size:10px}.hero .seal-small{font-size:5px;letter-spacing:.01em}.hero .seal-bottom{font-size:6px;letter-spacing:0}
 .hero .seal-small,.hero .seal-bottom{display:none}
 .hero .photo-note{bottom:144px;right:18px;padding:4px 9px;min-height:29px;font-size:13px;background:#082e2bba}
 .hero .hero-season-switch{left:16px;right:16px;bottom:18px;width:auto;padding:12px 13px;border-radius:8px}
 .hero .hero-switch-label{display:block;font-size:13px}.hero .hero-switch-topline{gap:8px}.hero .hero-switch-choices{width:190px;flex:1;gap:4px;max-width:230px}
 .hero .hero-switch-choices .season-choice{min-height:44px;font-size:13px;padding-inline:5px;gap:4px}.hero .season-choice::before{width:6px;height:6px;box-shadow:none}
 .hero .hero-switch-meta{font-size:13px;line-height:1.7;margin-top:5px;gap:3px 10px;min-height:28px}.hero .hero-season-reset{font-size:13px;line-height:1.7;padding-block:2px}
 .anniversary-note{margin-inline:var(--gutter);padding-block:19px;gap:12px;align-items:center}.anniversary-note p{font-size:13px;line-height:1.9}.anniversary-note>a{width:34px;height:34px;flex-shrink:0}
 .section-heading{display:block;margin-bottom:28px}.section-heading h2,.around .section-heading h2,.food-drink .section-heading h2,.day-plans .section-heading h2{font-size:31px;line-height:1.55}
 .section-heading>p{font-size:14px;line-height:2;margin-top:21px}.eyebrow{font-size:11px;letter-spacing:.1em}
 .about{display:block;padding-top:62px;padding-bottom:35px}.about .section-intro h2{font-size:34px;line-height:1.55}.about .section-index{margin-top:19px;font-size:10px}
 .about-body{margin-top:29px}.about-body .lead{font-size:21px;line-height:1.9;margin-bottom:22px}.about-body>p:not(.lead){font-size:14px;line-height:2.1;margin-top:22px}
 .holiday-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:57px}
 .holiday-shortcuts a{display:flex;align-items:flex-end;min-height:160px;padding:17px 13px;font-size:13px;border-radius:6px;grid-column:auto;line-height:1.7}
 .holiday-shortcuts a:last-child{grid-column:1/-1;min-height:124px}.holiday-shortcuts a>span:first-of-type{left:13px;top:13px;font-size:20px}.holiday-shortcuts a>span:last-of-type{font-size:21px;margin:0 0 0 4px}
 .holiday-shortcuts a:nth-child(3) img{padding:15px 40px 30px}.holiday-shortcuts a:last-child img{object-position:center 60%}
 .season-inner{display:flex;gap:28px;padding-block:51px 24px}.season-copy h2{font-size:31px;line-height:1.55;margin-top:15px}.season-intro{font-size:14px;margin-top:21px}.season-choices{margin-top:24px;max-width:none;gap:6px}.season-choices .season-choice{min-height:46px;font-size:14px}
 .season-story{margin-top:23px;padding-left:17px;min-height:0}.season-story h3{font-size:20px}.season-story h3 br{display:block}.season-story p{font-size:14px;line-height:2}.season-landscape img{aspect-ratio:1.15/1;border-radius:7px 64px 7px 7px}.season-landscape figcaption{font-size:12px}.season-landscape figcaption a{font-size:13px}.seasons .season-motion-toggle{margin-right:var(--gutter);margin-bottom:27px}
 .visit-grid{padding-block:54px;gap:30px}.visit-text h2{font-size:32px;line-height:1.55}.visit-lead{font-size:19px;line-height:1.9;margin-top:23px}.visit-choice{padding-block:22px;gap:16px}.visit-choice h3{font-size:17px}.visit-choice p{font-size:14px;line-height:2}
 .visit-image img{height:auto;min-height:0;aspect-ratio:.95/1;border-radius:7px 72px 7px 7px;object-position:center}.photo-label{right:14px;bottom:40px;padding:13px 16px}
 .highlights{padding-block:56px}.dam-feature{gap:25px}.dam-feature figure img{aspect-ratio:1.15/1;border-radius:7px 7px 64px 7px}.feature-copy h3{font-size:32px;line-height:1.55}.feature-copy>p:not(.small-title){font-size:14px;line-height:2.1}.feature-no{font-size:28px}
 .bridge-feature{margin-top:42px}.bridge-feature figure img{aspect-ratio:2.34/1;border-radius:5px}.bridge-caption{padding-top:22px;gap:22px}.bridge-title h3{font-size:29px;line-height:1.6}.bridge-description{font-size:14px;line-height:2.1}
 .around{padding-block:56px}.sarakura-feature{margin-inline:calc(-1 * var(--gutter));border-radius:0}.nightscape{margin:0}.nightscape img{aspect-ratio:1.4/1;object-position:58% 70%}.nightscape figcaption{padding:11px var(--gutter) 0;font-size:12px}
 .sarakura-body{display:block;padding:24px var(--gutter) 32px;margin:0}.sarakura-feature h3{font-size:32px;line-height:1.6}.sarakura-feature .destination-copy>p:not(.place-tag):not(.destination-note){font-size:14px;line-height:2.1}.sarakura-feature .cable-photo{margin:27px 0 0 auto;width:78%;max-width:380px}.sarakura-feature .cable-photo img{aspect-ratio:1.5/1}.sarakura-feature .small-photo-label{font-size:9px}
 .higashida-heading{display:block;margin-top:55px}.higashida-heading h3{font-size:28px;line-height:1.6;margin-top:14px}.higashida-heading>p:not(.eyebrow){font-size:14px;line-height:2.1;margin-top:20px}.higashida-grid{margin-top:28px}.higashida-grid img{aspect-ratio:1.35/1}.higashida-grid h4{font-size:25px;line-height:1.6}.higashida-grid article>p:not(.place-tag):not(.destination-note){font-size:14px;line-height:2.1}.higashida-grid article+article{margin-top:38px}
 .higashida-grid .furnace-spot{padding:24px}.higashida-grid .furnace-spot img{aspect-ratio:3/4;object-fit:contain}.furnace-spot figure{max-width:215px}
 .flower-note{display:block;margin-top:48px;margin-inline:calc(-1 * var(--gutter));padding:0;border-radius:0}.flower-note .fujien-photo{margin:0;height:auto}.flower-note .fujien-photo img{height:auto;min-height:0;aspect-ratio:1.3/1;object-position:center}
 .flower-note>div{display:block;padding:27px var(--gutter) 32px}.flower-note .place-tag{font-size:13px}.flower-note h3{font-size:29px;line-height:1.6;margin-block:17px 20px}.flower-note>div>p:not(.place-tag):not(.destination-note){font-size:14px;line-height:2.1}.flower-note .destination-note{font-size:13px;margin-top:18px}.flower-note .text-link{font-size:13px;margin-top:18px}
 .food-drink{padding-block:56px}.tenshin-feature{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:26px 22px}.tenshin-copy h3{font-size:30px;line-height:1.6;margin-block:16px 20px}.tenshin-copy>p:not(.place-tag):not(.destination-note){font-size:14px;line-height:2.1}.tenshin-photo{align-self:center;width:166px;padding:11px}.tenshin-photo figcaption{font-size:12px}
 .dining-list{display:block;margin-top:34px}.dining-list article{grid-template-columns:20px minmax(0,1fr) 32px;gap:10px;padding-top:24px}.dining-list h3{font-size:22px;line-height:1.65}.dining-list h4{font-size:14px}.dining-list article>div>p:not(.place-tag):not(.destination-note){font-size:14px;line-height:2.1}.dining-list article+article{margin-top:30px}.dining-list .circle-arrow{width:32px;height:32px}
 .stay-inner{padding-block:54px}.stay h2{font-size:32px;line-height:1.55}.stay-lead{font-size:19px;line-height:1.9}.stay-intro{font-size:14px;line-height:2.1}.hotel-list{margin-top:30px}.chigusa-stay{display:block}.chigusa-stay figure{max-width:none;margin-bottom:24px}.chigusa-stay img{aspect-ratio:1.4/1;border-radius:6px}.chigusa-stay h3{font-size:26px}.chigusa-stay>div>p:not(.place-tag){font-size:14px;line-height:2.1}.az-stay h3{font-size:19px}.az-stay p:not(.place-tag){font-size:14px;line-height:2.1}
 .day-plans{padding-block:56px}.trip-tablist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.trip-tablist button{min-height:52px;padding:12px 3px;font-size:13px;line-height:1.8;white-space:normal}.trip-panel{padding:27px 21px 29px}.trip-panel h3{font-size:23px;line-height:1.7;margin-bottom:25px}.trip-steps li{padding-left:37px}.trip-steps li+li{padding-left:37px;padding-top:22px;margin-top:23px}.trip-steps li>span{font-size:21px;top:5px}.trip-steps li+li>span{top:27px}.trip-steps h4{font-size:16px}.trip-steps p{font-size:14px;line-height:2}
 .photo-contest{padding-block:55px}.photo-copy h2{font-size:32px;line-height:1.6}
 .history{padding-block:57px}.history-heading h2{font-size:34px;line-height:1.55}.history-lead{font-size:14px;line-height:2.1}.timeline{grid-template-columns:1fr;gap:28px;margin-top:35px}.timeline-year{font-size:34px}.timeline-label,.timeline p{font-size:13px}.history-end{margin-top:34px;padding-block:24px;gap:18px}.history-end>span{font-size:30px}.history-end p{font-size:17px;line-height:1.9}
 .airport{padding-block:55px 45px}.airport-grid{gap:30px}.airport h2{font-size:32px;line-height:1.6}.airport-grid>div:first-child>p:not(.eyebrow){font-size:14px;line-height:2.1}.airport-links{gap:15px 24px}.plane-photo img{aspect-ratio:1.5/1;border-radius:7px 64px 7px 7px}.airport-photos .terminal-photo{width:70%;margin-top:-18px}
 .guide{padding-top:45px;padding-bottom:50px}.guide-row{padding-block:24px}.guide-row h3{font-size:21px;line-height:1.6}.guide-row p{font-size:14px;line-height:2}.faq{padding-top:50px;padding-bottom:55px;gap:25px}.faq h2{font-size:30px}.faq summary{font-size:14px;line-height:1.9;padding-block:21px}
 .closing{padding:65px var(--gutter) 70px}.closing h2{font-size:35px;line-height:1.65;letter-spacing:.025em}.closing p:not(.eyebrow){font-size:14px;line-height:2.1}.closing .button{margin-top:26px}
 .site-footer{padding:38px var(--gutter) 24px}.site-footer .footer-main nav{font-size:13px;gap:16px 20px}.site-footer .credits summary{font-size:13px}.site-footer .footer-bottom{font-size:10px}
}
@media(max-width:365px){
 :root{--gutter:21px}.site-header{padding-inline:17px}.brand img{width:47px}.brand-name{font-size:17px}.brand-name>span{font-size:10px}.brand-year{font-size:9px;margin-left:5px}
 .hero{padding-inline:21px;min-height:730px}.hero .hero-copy h1{font-size:35px}.hero .hero-copy .eyebrow{padding-right:30px}.hero .anniversary-seal{width:69px;height:69px;right:13px}.hero .seal-number{font-size:32px}.hero .seal-small{font-size:4.5px}.hero .seal-bottom{font-size:5px}
 .hero .hero-switch-label{font-size:13px}.hero .hero-season-switch{left:13px;right:13px;padding-inline:10px}.hero .hero-switch-choices{gap:3px}.hero .hero-switch-choices .season-choice{gap:3px;padding-inline:4px}.hero .years-caption{display:none}
 .holiday-shortcuts a{padding-inline:11px;min-height:153px}.holiday-shortcuts a:nth-child(3) img{padding-inline:33px}
 .section-heading h2,.around .section-heading h2,.food-drink .section-heading h2,.day-plans .section-heading h2{font-size:29px}.about .section-intro h2{font-size:32px}.flower-note h3{font-size:27px}.tenshin-copy h3{font-size:28px}.dining-list h3{font-size:20px}.trip-panel{padding-inline:17px}.closing h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.holiday-shortcuts a,.holiday-shortcuts img,.text-link span:last-child,.trip-tablist button{transition:none}.holiday-shortcuts a:hover,.holiday-shortcuts a:hover img,.text-link:hover span:last-child{transform:none}}
:root[data-motion="paused"] .holiday-shortcuts a,:root[data-motion="paused"] .holiday-shortcuts img,:root[data-motion="paused"] .text-link span:last-child{transition:none}

/* Caption spacing and short supporting statements after the first complete review. */
.airport-photos .terminal-photo{margin-top:16px}
.water-story>div{font-size:13px}
@media(max-width:700px){.history-end p .sp-break{display:inline}}
@media(min-width:701px) and (max-width:900px){
 .holiday-shortcuts{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
 .holiday-shortcuts a{grid-column:span 2;display:flex;align-items:flex-end;min-height:160px;padding:18px 14px}
 .holiday-shortcuts a:nth-child(n+4){grid-column:span 3}
 .holiday-shortcuts a>span:last-of-type{display:inline;margin:0 0 0 6px}
}

@media(max-width:1100px){.sarakura-feature .small-photo-label{display:none}}

/* Use one spacing layer for chapters that already have a padded inner wrapper. */
.photo-contest,.history{padding-block:0}
.photo-contest .photo-grid{padding-block:85px}
.history .history-inner{padding-block:92px}
@media(max-width:1100px){.photo-contest .photo-grid{padding-block:72px}.history .history-inner{padding-block:75px}}
@media(max-width:700px){.photo-contest .photo-grid{padding-block:55px}.history .history-inner{padding-block:57px}.about-body{padding-top:0}}

/* Smaller supporting backgrounds keep the mobile transfer light. */
@media(max-width:800px){:root{--bg-water:url('/assets/bg-water-800.webp');--bg-wisteria:url('/assets/bg-wisteria-800.webp');--bg-paper:url('/assets/bg-paper-800.webp');--bg-night:url('/assets/bg-sarakura-800.webp')}}
@media(max-width:700px){.about::before{background-image:linear-gradient(90deg,#fafbf7f0,#fafbf7d9),var(--bg-water);background-position:72% center}.visit{background-image:linear-gradient(90deg,#edf5e9ed,#edf5e9d6),var(--bg-water);background-position:68% center}.flower-note::before{background-image:linear-gradient(90deg,#f6f1fae6,#f4eef8d9),var(--bg-wisteria);background-position:72% top}.sarakura-body{background-image:linear-gradient(100deg,#0e302feb,#0e302fd1),var(--bg-night)}}

/* Keep provenance, product names and location text readable at every size. */
.visit-image figcaption,
.dam-feature figcaption,
.bridge-feature figcaption,
.sarakura-feature .cable-photo figcaption,
.higashida-grid figure figcaption,
.tenshin-photo figcaption,
.chigusa-stay figcaption,
.airport-photos figcaption,
.nightscape figcaption,
.season-landscape figcaption { font-size: 13px; line-height: 1.8; }
.site-footer .footer-bottom { font-size: 13px; letter-spacing: .035em; }

/* Keep short editorial headings at their intended meaning break on narrow columns. */
@media(max-width:1100px){.season-story h3 br,.higashida-grid .furnace-spot h4 br{display:block}}
