:root{--ink:#263d3a;--sage:#e7ece5;--paper:#fbfaf6;--muted:#697571;--line:#ccd5ce;--gold:#bd9b64}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,"Times New Roman","Songti SC","Noto Serif CJK SC",serif;font-weight:400;line-height:1.25}h2{font-size:clamp(30px,3.3vw,48px)}h3{font-size:28px}button,input{font:inherit}.wrap{width:min(1120px,calc(100% - 80px));margin:auto}.eyebrow,.kicker{display:block;font-size:11px;letter-spacing:.19em;text-transform:uppercase;margin-bottom:20px}.site-header{min-height:114px;padding:22px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}.brand{text-decoration:none;display:flex;gap:20px;align-items:center}.brand strong{font:22px/1.02 Georgia,serif;letter-spacing:.06em}.brand strong span{letter-spacing:.18em}.brand small{font-size:8px;letter-spacing:.15em}.site-header nav{display:flex;gap:26px;font-size:13px}.site-header nav a{text-decoration:none}.languages{display:flex;gap:11px;font-size:11px}.languages a{text-decoration:none}.languages [aria-current]{border-bottom:1px solid var(--ink)}.hero{height:min(710px,75vw);min-height:510px;position:relative;isolation:isolate;color:white;display:grid;place-items:center;text-align:center}.hero picture,.hero img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(0deg,rgba(13,29,26,.56),rgba(15,32,28,.22))}.hero-copy{padding:50px 25px;width:100%;max-width:1100px}.hero h1{font-size:clamp(40px,5vw,74px);line-height:1.2;text-wrap:balance}.hero-copy>p:not(.eyebrow){margin:25px auto 35px;max-width:640px;font-size:15px}.hero-foot{position:absolute;bottom:25px;left:0;right:0;letter-spacing:.32em;font-size:11px}.button{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;padding:13px 24px;text-decoration:none;font-size:13px;min-height:48px;border:1px solid currentColor}.button-light{color:white}.button:hover{background:rgba(255,255,255,.15)}.opening{text-align:center;padding:100px 0 88px;max-width:880px}.opening>p:not(.eyebrow){margin:28px auto 46px;max-width:640px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.fact{border-top:1px solid var(--line);padding-top:18px}.fact span,.fact strong{display:block}.fact span{font-size:11px;color:var(--muted)}.fact strong{font-weight:400;font-size:14px}.experiences{background:var(--sage);padding:110px 0 75px;clip-path:polygon(0 28px,100% 0,100% 100%,0 100%)}.section-title{text-align:center;margin-bottom:65px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;row-gap:70px}.experience-item:nth-child(2){padding-top:65px}.photo-composition{position:relative;margin-bottom:35px;padding-right:30px;padding-bottom:24px}.feature-photo{width:100%;height:340px;object-fit:cover}.inset-photo{position:absolute;right:0;bottom:0;width:43%;height:150px;object-fit:cover;border:6px solid var(--sage)}.item-2 .feature-photo{object-position:50% 60%}.experience-copy{padding-right:25px}.experience-copy .eyebrow{color:#7c8c84;margin-bottom:10px}.experience-copy p{margin-top:20px;color:#54655d;font-size:14px}.item-3{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.item-3 .photo-composition{margin:0;padding:0}.item-3 .feature-photo{height:270px}.photo-note{font-size:11px;color:var(--muted);margin-top:48px}.film-section{display:grid;grid-template-columns:1fr 1.7fr;gap:75px;padding:95px 0;align-items:center}.film-section h2{font-size:35px}.film-section p{margin-top:20px;font-size:12px;letter-spacing:.12em}.film-frame{position:relative;background:#172a26;aspect-ratio:16/9}.film-frame video{width:100%;height:100%;object-fit:cover;display:block}.film-play{position:absolute;inset:0;margin:auto;width:max-content;height:55px;padding:0 24px;border:1px solid white;background:#20352ddd;color:white;cursor:pointer}.film-error{position:absolute;bottom:0;left:0;right:0;background:#fff;padding:10px;color:var(--ink);letter-spacing:0!important}.section{padding:85px 0}.flow-section{background:#f0eee5}.section-head{display:flex;gap:60px;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head>p{max-width:390px;font-size:13px;color:var(--muted)}.story-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;list-style:none;margin:0}.story-flow li{border-top:1px solid #b9c3b9;padding-top:25px}.story-flow span{display:block;font:38px/1 Georgia,serif;color:#8a9a8c;margin-bottom:25px}.story-flow strong{display:block;font-weight:500}.story-flow small{display:block;line-height:1.7;color:var(--muted);margin-top:10px}.dates-section h2{margin-bottom:20px}.dates-section>div>p{font-size:14px;margin-bottom:25px}table{width:100%;border-collapse:collapse;line-height:1.7}th,td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{font-weight:500}thead th{font-size:11px;letter-spacing:.05em;text-transform:uppercase}.booking-summary{background:var(--ink);padding:75px 0;color:white;text-align:center}.booking-summary h2{font-size:38px}.deadline{margin:24px auto 32px}.deadline span,.deadline strong{display:block}.deadline span{font-size:12px}.deadline strong{font-weight:400;font-size:15px}.contact-email{margin-top:18px;font-size:13px}.ink-section .two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:75px}.data-table th{width:30%;font-size:12px}.data-table td{font-size:13px}.panel{background:#eeefe8;padding:30px;height:max-content}.panel h2{font-size:32px}.panel h3{font-size:24px;margin:20px 0 10px}.panel p,.notice{font-size:12px;line-height:1.9;margin-top:22px}.policy-list{list-style:none;padding:0;margin:22px 0}.policy-list li{padding:14px 0;border-bottom:1px solid #c8d2c8;line-height:1.6}.policy-list strong,.policy-list span{display:block;font-size:12px}.policy-list strong{font-weight:500}.policy-list span{color:var(--muted)}hr{border:0;border-top:1px solid #c8d2c8;margin:30px 0}.rain-summary{background:#efede3}.rain-summary p{font-size:14px;max-width:850px;margin-top:22px}.faq-section{background:#fff}.faq-search-controls{padding:25px 0 35px;max-width:760px}.faq-search-controls label{display:block;font-size:13px;margin-bottom:10px}.faq-search-row{display:flex;gap:8px}.faq-search-row input{border:1px solid #9aa99d;background:#fafbf8;padding:12px;flex:1;min-width:0}.faq-search-row button{border:1px solid #9aa99d;color:var(--ink);background:var(--sage);padding:8px 16px;cursor:pointer}.faq-search-controls p{font-size:12px;color:var(--muted);margin-top:10px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.faq-item{border-top:1px solid var(--line);padding:20px 0;align-self:start}.faq-item summary{cursor:pointer;font-size:14px;font-weight:500}.faq-item p{font-size:13px;color:#52615b;margin-top:20px;line-height:1.9}footer{padding:65px 0 35px;background:#e7ece5}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-brand{font:25px Georgia,serif;text-decoration:none;letter-spacing:.08em}.footer-top p,.footer-top>a:last-child{font-size:11px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;margin-top:50px;border-top:1px solid #c4cec4;padding-top:24px}.legal{display:flex;gap:14px;flex-wrap:wrap}.legal span{color:var(--muted)}.skip-link{position:absolute;top:-100px;left:15px;background:white;padding:8px;z-index:10}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #be9149;outline-offset:4px}[hidden]{display:none!important}.legal-page main,.legal-page header,.legal-page footer{max-width:1000px;padding:25px;margin:auto}.legal-page h1{font-size:38px}.legal-page p{margin:16px 0}.legal-page a{overflow-wrap:anywhere}.legal-page header{display:block}.legal-page .notice{padding:20px;background:var(--sage)}
@media(min-width:1600px){.hero{height:750px}}@media(max-width:1000px){.site-header{flex-wrap:wrap}.brand small{display:none}.site-header nav{gap:16px}.wrap{width:calc(100% - 48px)}.experience-grid,.item-3{gap:45px}.ink-section .two-col{gap:35px}.film-section{gap:35px}.feature-photo{height:300px}.hero h1{font-size:54px}}
@media(max-width:700px){html{scroll-padding-top:12px}.site-header{min-height:110px;gap:18px;padding:18px 22px}.brand strong{font-size:18px}.languages{gap:13px}.languages a{padding:5px 0}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:11px;gap:10px}.wrap{width:calc(100% - 40px)}.hero{height:600px;min-height:0}.hero h1{font-size:39px;line-height:1.24}.hero-copy{padding:40px 20px}.hero-copy>p:not(.eyebrow){font-size:13px;max-width:340px}.hero .eyebrow{font-size:9px;letter-spacing:.15em}.hero img{object-position:50% 50%}.opening{padding:65px 0}.opening h2{font-size:32px}.opening>p:not(.eyebrow){font-size:14px}.facts{grid-template-columns:1fr 1fr;gap:22px 15px}.fact strong{font-size:13px}.experiences{padding-top:80px}.section-title{margin-bottom:38px}.experience-grid{grid-template-columns:1fr;gap:45px}.experience-item:nth-child(2){padding-top:0}.feature-photo{height:320px}.item-3{display:block;grid-column:auto}.item-3 .photo-composition{margin-bottom:25px}.item-3 .feature-photo{height:230px}.experience-copy{padding:0}.inset-photo{height:135px}.experience-copy h3{font-size:27px}.film-section{display:block;padding:65px 0}.film-frame{margin-top:28px}.film-section h2{font-size:30px}.film-play{font-size:12px;padding:0 15px}.section{padding:60px 0}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.story-flow{grid-template-columns:1fr 1fr;gap:30px 20px}.story-flow span{font-size:32px;margin-bottom:18px}.story-flow strong{font-size:14px}.ink-section .two-col{display:block}.panel{margin-top:35px;padding:23px}.booking-summary{padding:60px 0}.booking-summary h2{font-size:30px}.faq-grid{grid-template-columns:1fr}.faq-search-row button{font-size:12px;padding:8px}.footer-top,.footer-bottom{display:block}.footer-top p{margin:20px 0}.footer-bottom>small,.footer-bottom>a{display:block;margin-top:20px}.legal{gap:10px}th,td{padding:12px 7px;font-size:12px}.data-table th{width:29%}body{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Additional views from the supplied Akizuki footage. */
.town-gallery{padding:100px 0 20px}.town-gallery figure{margin:0}.town-panorama img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.town-gallery figcaption{font:13px/1.7 Georgia,serif;margin-top:14px;color:var(--muted)}.town-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.town-detail-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.town-gallery .section-head{align-items:center}.town-gallery .section-head>p{max-width:340px}@media(max-width:700px){.town-gallery{padding:60px 0 0}.town-detail-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.town-gallery figcaption{font-size:13px}.town-detail-grid img{aspect-ratio:3/2}.town-gallery .section-head>p{max-width:none}}
/* Refined desktop composition and accessible photo viewing. */
.hero-shade{background:linear-gradient(0deg,rgba(13,29,26,.62),rgba(15,32,28,.30))}.hero h1{text-shadow:0 2px 22px #10251e44}.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px}.hero-dates{font-size:13px}.site-header nav a{white-space:nowrap}.town-gallery .photo-link{display:block;position:relative;text-decoration:none;overflow:hidden}.zoom-hint{position:absolute;right:12px;bottom:12px;background:#fbfaf6ed;color:var(--ink);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:18px;pointer-events:none}.photo-link img{transition:transform .25s ease}.photo-link:hover img{transform:scale(1.025)}.town-detail-grid figure:nth-child(4),.town-detail-grid figure:nth-child(9){grid-column:span 2}.town-detail-grid figure:nth-child(4) img,.town-detail-grid figure:nth-child(9) img{aspect-ratio:8/3}.town-detail-grid figure:nth-child(6) img{object-position:50% 70%}.full-details{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.full-details summary{font-size:14px;font-weight:500;cursor:pointer}.full-details table{margin-top:18px}.access-section{background:var(--sage)}.access-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}.meeting-card{background:var(--paper);padding:35px}.meeting-card p{font-size:14px;margin:23px 0}.meeting-card .button{font-size:12px;gap:15px}.meeting-card .button:hover{background:#e3e9e0}.travel-card h3{font-size:27px}.travel-card p{font-size:13px;line-height:1.95;margin-top:20px}.language-note{margin-top:30px;padding-top:25px;border-top:1px solid #c1ccc2}.language-note h3{font-size:23px}.photo-viewer{width:min(1160px,94vw);max-width:94vw;max-height:94vh;padding:22px;border:0;background:var(--paper);color:var(--ink);overflow:auto}.photo-viewer::backdrop{background:rgba(11,25,22,.9)}.photo-viewer form{display:flex;justify-content:flex-end;margin-bottom:16px}.photo-close{background:transparent;color:var(--ink);border:1px solid #a6b3a8;padding:7px 15px;min-height:44px;cursor:pointer}.photo-viewer figure{margin:0}.photo-viewer figure img{width:100%;height:min(65vh,760px);object-fit:contain;background:#e8ece5}.photo-viewer figcaption{font:17px/1.7 Georgia,serif;text-align:center;padding:15px 0 4px}.photo-controls{display:flex;align-items:center;justify-content:center;gap:28px;font-size:12px}.photo-controls button{min-width:48px;min-height:44px;cursor:pointer;border:1px solid #a6b3a8;background:transparent;color:var(--ink);font-size:21px}.photo-controls p{margin:0}.photo-controls button:hover,.photo-close:hover{background:var(--sage)}
@media(max-width:1000px){.access-grid{gap:35px}.site-header nav{flex-wrap:wrap}}@media(max-width:700px){.site-header nav{row-gap:9px;justify-content:flex-start;column-gap:18px}.hero-actions{flex-direction:column;gap:18px}.meeting-card{padding:25px}.access-grid{display:block}.travel-card{margin-top:35px}.town-detail-grid figure:nth-child(4),.town-detail-grid figure:nth-child(9){grid-column:auto}.town-detail-grid figure:nth-child(4) img,.town-detail-grid figure:nth-child(9) img{aspect-ratio:3/2}.photo-viewer{padding:15px}.photo-viewer figure img{height:60vh}.photo-viewer figcaption{font-size:15px}.photo-controls{gap:20px}.photo-close{font-size:13px}}
@media(prefers-reduced-motion:reduce){.photo-link img{transition:none}.photo-link:hover img{transform:none}}
.town-detail-grid figure:nth-child(9){grid-column:1/-1}.town-detail-grid figure:nth-child(9) img{aspect-ratio:3/1}@media(max-width:700px){.town-detail-grid figure:nth-child(9){grid-column:auto}.town-detail-grid figure:nth-child(9) img{aspect-ratio:3/2}}
.details-portrait{margin:30px 0 0}.details-portrait img{width:100%;height:auto;max-height:580px;object-fit:cover;object-position:50% 65%}.details-portrait figcaption{font:12px/1.7 Georgia,serif;color:var(--muted);margin-top:10px}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity .5s}.hero-video.is-playing{opacity:1}.hero-motion{position:absolute;bottom:24px;right:24px;z-index:2;width:44px;height:44px;border:1px solid #ffffffb3;border-radius:50%;color:white;background:#20352dbb;cursor:pointer}.hero-motion:focus-visible{outline:3px solid white;outline-offset:4px}.hero-motion[hidden]{display:none}@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}

.town-detail-grid img{height:auto}

/* Approved story introduction, 2026-10-21. */
.story-intro{padding:64px 0;text-align:center;background:var(--sage)}.story-intro .wrap{max-width:900px}.story-intro h2{font-size:clamp(30px,3.4vw,46px)}.story-intro p{margin:20px auto;max-width:650px;color:var(--muted)}.story-intro .button{margin-top:8px}.site-header nav{flex-wrap:wrap;gap:14px 20px}
