/* Shared design: warm cream, dark brown and one muted terracotta accent. */
:root{--paper:#f7f3eb;--paper-deep:#eee8de;--ink:#302620;--muted:#73645a;--accent:#945c45;--line:#d9cfc2;--white:#fffaf2;--serif:Georgia,'Times New Roman','Yu Mincho',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--container:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2.1;-webkit-font-smoothing:antialiased}body,button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--white)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:disabled{cursor:default}a:focus-visible,button:focus-visible,iframe:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:400}h1,h2{font-family:var(--serif)}h3{font-size:19px;line-height:1.7}small{font-size:11px}[hidden]{display:none!important}.container{width:min(var(--container),calc(100% - 112px));margin-inline:auto}.section{padding-block:116px}.eyebrow{color:var(--accent);font-size:10px;line-height:1.8;letter-spacing:.22em;font-weight:600;margin-bottom:25px}.display{font-family:var(--serif);font-size:clamp(48px,5.7vw,78px);line-height:1.08;letter-spacing:-.045em}.section-heading{font-family:var(--sans);font-size:25px;line-height:1.7}.japanese-heading{font-size:21px;line-height:1.9;letter-spacing:.07em}.note{font-size:11px;line-height:1.9;color:var(--muted)}.note a{text-decoration:underline;text-underline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
/* Header and mobile navigation. */
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;min-height:106px;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}.brand-word{font:38px/.95 var(--serif);letter-spacing:-.06em}.brand-dot{color:var(--accent)}.brand-sub{margin-top:12px;font-size:8px;letter-spacing:.15em}.brand-sub span{padding-inline:8px;color:var(--accent)}.nav{display:flex;align-items:center;gap:36px}.nav a{font-size:10px;font-weight:500;letter-spacing:.16em;position:relative;padding-block:13px}.nav a::after{position:absolute;content:'';height:1px;background:var(--accent);bottom:6px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav a[aria-current=page]{color:var(--accent)}.nav a[aria-current=page]::after{transform:scaleX(1)}.nav-toggle{width:46px;height:46px;background:transparent;border:1px solid var(--line);display:none;position:relative}.nav-toggle span{display:block;position:absolute;left:12px;width:20px;height:1px;background:var(--ink);transition:transform .25s,opacity .25s}.nav-toggle span:nth-child(1){top:16px}.nav-toggle span:nth-child(2){top:22px}.nav-toggle span:nth-child(3){top:28px}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* Home hero. */
.hero{position:relative;isolation:isolate;margin:20px 24px 0;min-height:650px;height:calc(100svh - 148px);max-height:900px;background:#392c21;color:var(--white);overflow:hidden}.hero-image,.hero-image img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{z-index:-3}.hero-image img{object-fit:cover;object-position:center}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(30,21,15,.57),rgba(30,21,15,.18) 60%,rgba(30,21,15,.03)),linear-gradient(0deg,rgba(30,21,15,.32),transparent 35%)}.hero-content{position:relative;padding:clamp(64px,7vw,110px) clamp(32px,6.3vw,100px) 125px;max-width:1100px}.eyebrow.light{color:#f4e6d4;font-size:10px}.hero h1{font-size:clamp(64px,7.6vw,112px);line-height:1.03;letter-spacing:-.05em;text-shadow:0 1px 20px #20160d26}.hero-copy{font-size:13px;line-height:2.3;letter-spacing:.07em;margin-top:28px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:50px;min-height:53px;padding:14px 26px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.16em;border:1px solid var(--ink);transition:background .25s,color .25s,border-color .25s,transform .25s}.button span{font-size:19px;line-height:1}.button-light{background:transparent;border-color:#f7f3eb88;color:var(--white);margin-top:32px}.hero-bottom{position:absolute;bottom:26px;left:6.3vw;right:6.3vw;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.15em;border-top:1px solid #fff4;padding-top:20px}.hero-bottom a span{padding-left:15px}.hero-strip{display:flex;justify-content:space-between;align-items:center;padding-block:24px;border-bottom:1px solid var(--line);gap:20px}.hero-strip>span{font:italic 17px var(--serif);color:var(--muted)}.hero-strip p{font-size:9px;letter-spacing:.12em}.hero-strip i{font-style:normal;color:var(--accent);margin-inline:12px}
/* Home story, photography and product cards. */
.story-section{display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(50px,8vw,130px);align-items:center}.media-frame{overflow:hidden;background:var(--paper-deep);position:relative}.media-frame img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.story-image{aspect-ratio:4/5}.story-image img{object-position:center}.story-figure figcaption{font:italic 14px/1.7 var(--serif);color:var(--muted);padding-top:16px}.story-copy .display{margin-bottom:30px}.story-copy .japanese-heading{margin-bottom:24px}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2.3;margin-bottom:20px}.text-link{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:18px 0;max-width:330px;font-size:12px;transition:border-color .25s,color .25s}.text-link span{font-size:9px;letter-spacing:.12em;white-space:nowrap}.story-copy .text-link{margin-top:24px}.favorites{background:var(--paper-deep)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:50px}.section-top>p{font-size:12px;color:var(--muted);line-height:2.2}.section-top .eyebrow{margin-bottom:18px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.product-image{aspect-ratio:4/3}.product-image img{object-fit:contain;background:var(--paper-deep)}.product-card{transition:transform .3s}.product-meta{display:flex;justify-content:space-between;gap:10px;color:var(--accent);font-size:8px;letter-spacing:.16em;margin-top:24px;margin-bottom:12px}.product-card h3{font-size:18px;letter-spacing:.03em}.product-card>p:not(.price){font-size:12px;line-height:2.1;color:var(--muted);margin-top:12px}.price{font-family:var(--serif);font-size:25px;line-height:1.5;margin-top:18px;letter-spacing:-.02em}.price small{font-family:var(--sans);font-size:9px;color:var(--muted);margin-left:6px}.section-end{text-align:center;margin-top:50px}.visit-section .eyebrow{margin-bottom:25px}.visit-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.visit-inner .display{margin-bottom:26px}.visit-inner p:not(.visit-hours){font-size:13px;color:var(--muted)}.visit-details{padding-left:60px;border-left:1px solid var(--line)}.visit-hours{font:44px/1.3 var(--serif);letter-spacing:-.04em;margin-bottom:20px}.visit-hours span{font-size:25px;color:var(--accent);padding-inline:10px}.visit-details .text-link{margin-top:26px}
/* Interior pages. */
.page-heading{padding-top:90px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(64px,7.8vw,112px)}.heading-bottom{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-top:45px}.heading-bottom>.japanese-heading{font-size:18px}.heading-bottom>p:last-child{font-size:12px;line-height:2.2;color:var(--muted)}.menu-section{padding-top:65px}.menu-section .section-top{margin-bottom:35px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.filter-button{display:flex;align-items:center;justify-content:center;gap:12px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 22px;min-height:48px;font-size:10px;letter-spacing:.13em;transition:background .2s,color .2s,border-color .2s}.filter-button span{font-size:10px;letter-spacing:0}.filter-button.is-active{background:var(--accent);border-color:var(--accent);color:var(--white)}.filter-status{font-size:11px;color:var(--muted);margin-bottom:16px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.menu-item{padding:32px 26px;background:var(--paper-deep);display:flex;flex-direction:column;border-top:1px solid var(--line);transition:transform .3s,box-shadow .3s}.menu-item .eyebrow{font-size:8px;margin-bottom:23px}.menu-item h3{font-size:18px;margin-bottom:16px}.menu-item>p:not(.eyebrow){font-size:12px;line-height:2.1;color:var(--muted)}.menu-item-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:25px;gap:10px}.menu-item-bottom>span{font-size:8px;letter-spacing:.13em;color:var(--muted)}.menu-item-bottom .price{margin:0}.menu-notes{margin-top:45px;padding:30px 0;border-top:1px solid var(--line)}.menu-notes .eyebrow{margin-bottom:14px}.menu-notes>p:last-child{font-size:12px;color:var(--muted)}.compact-cta{border-top:1px solid var(--line);padding-block:70px 100px;text-align:center}.compact-cta .display{font-size:clamp(44px,5vw,68px)}.compact-cta .text-link{margin:25px auto 0}.values-section{background:var(--paper-deep)}.values-section .display{font-size:clamp(46px,5vw,68px)}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:60px}.value-number{font:42px/1 var(--serif);color:var(--accent);display:block;margin-bottom:26px}.values-grid .eyebrow{font-size:9px;margin-bottom:16px}.values-grid h3{font-size:19px;margin-bottom:18px}.values-grid article>p:last-child{font-size:13px;color:var(--muted)}.information-section{display:grid;grid-template-columns:1fr 1.1fr;gap:30px 75px;align-items:start}.information-section .display{font-size:clamp(43px,4.8vw,64px);margin-bottom:28px}.information-section>div>p:last-child{font-size:12px;color:var(--muted)}.info-list{margin:0;border-top:1px solid var(--line);font-size:12px}.info-list>div{display:grid;grid-template-columns:92px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.info-list dt{color:var(--muted)}.info-list dd{margin:0}.info-note{grid-column:2}.access-section{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding-top:65px}.access-copy .section-heading{margin-bottom:32px}.access-copy .info-list>div{grid-template-columns:75px 1fr;padding-block:20px}.sample-note{font-size:11px;line-height:2;color:var(--muted);border-left:2px solid var(--accent);padding-left:16px;margin-top:30px}.map-column{min-width:0}.map-column>.eyebrow{margin-bottom:23px}.map-frame{width:100%;background:var(--paper-deep);border:1px solid var(--line)}.map-frame iframe{display:block;width:100%;height:490px;border:0;filter:grayscale(1)}.map-caption{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;line-height:2;color:var(--muted)}.map-caption a{white-space:nowrap;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.map-column>.note{margin-top:14px}.visit-guidance{border-top:1px solid var(--line)}.visit-guidance .display{font-size:clamp(44px,5vw,68px)}.guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px}.guidance-grid h3{font-size:18px;margin-bottom:14px}.guidance-grid p{font-size:13px;color:var(--muted)}
/* Shared footer and supplementary interactions. */
.site-footer{background:var(--ink);color:var(--paper);padding-top:65px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr .7fr;gap:50px;padding-bottom:60px}.footer-brand .brand-word{font-size:48px}.footer-brand .brand-sub{font-size:9px;color:#d4c5b8}.footer-tagline{font:italic 18px/1.7 var(--serif);margin-top:26px}.footer-main>div>p:not(.eyebrow):not(.footer-tagline){font-size:11px;color:#d4c5b8;margin-top:10px}.site-footer .eyebrow{color:#cdb3a4;font-size:9px;margin-bottom:22px}.footer-hours span{font-size:10px}.footer-social a{display:block;font-size:12px;margin-bottom:8px}.footer-social small{display:block;font-size:9px;color:#c4b7ad;margin-top:14px}.footer-bottom{border-top:1px solid #ffffff26;padding:24px 0 35px;display:flex;justify-content:space-between;gap:30px;color:#c4b7ad;font-size:9px;line-height:1.8}.footer-bottom>p:first-child{letter-spacing:.12em;white-space:nowrap}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:25;width:52px;height:60px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 4px 20px #3026200d;transition:transform .25s,background .25s,color .25s}.back-to-top>span:first-child{font-size:23px;margin-bottom:7px}.back-to-top>span:last-child{font-size:8px;letter-spacing:.15em}.reveal{opacity:1;transform:none}.reveal.is-revealing{animation:soft-reveal .8s cubic-bezier(.2,.6,.3,1) both}@keyframes soft-reveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.nav a:hover::after{transform:scaleX(1)}.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.button-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link:hover{border-color:var(--accent);color:var(--accent)}.product-card:hover{transform:translateY(-5px)}.product-card:hover img{transform:scale(1.025)}.menu-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #30262008}.filter-button:hover:not(.is-active){border-color:var(--accent);color:var(--accent)}.footer-social a:hover{color:#e1b9a4}.back-to-top:hover{background:var(--accent);color:var(--white);border-color:var(--accent)}}
@media(min-width:1600px){.hero-content{padding-left:max(80px,calc((100vw - 1210px)/2))}.hero-bottom{left:max(80px,calc((100vw - 1210px)/2));right:max(80px,calc((100vw - 1210px)/2))}}
@media(max-width:1050px){.container{width:calc(100% - 72px)}.header-inner{padding-inline:32px}.nav{gap:24px}.hero{min-height:630px}.hero-content{padding-top:85px}.story-section{gap:50px}.section{padding-block:85px}.card-grid{gap:24px}.product-card h3{font-size:16px}.product-card>p:not(.price){font-size:11px}.product-card>p br{display:none}.visit-details{padding-left:35px}.visit-hours{font-size:36px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-section{gap:35px;grid-template-columns:1fr 1.15fr}.map-frame iframe{height:450px}.map-caption{flex-direction:column;gap:8px}.information-section{gap:30px 40px}.values-grid{gap:30px}.footer-main{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:92px}.container{width:calc(100% - 44px)}body{font-size:13px}.section{padding-block:70px}.header-inner{min-height:86px;padding:17px 22px;flex-wrap:wrap;gap:15px}.brand-word{font-size:32px}.brand-sub{font-size:7px;margin-top:10px;letter-spacing:.1em}.brand-sub span{padding-inline:4px}.nav{width:100%;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.nav a{font-size:9px;letter-spacing:.1em}.js .nav-toggle:not([hidden]){display:block}.js .nav:not(.is-open){display:none}.js .nav.is-open{display:flex}.hero{margin:10px 10px 0;height:calc(100svh - 106px);min-height:610px;max-height:790px}.hero-image img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#21170fb8,#21170f55),linear-gradient(0deg,#21170f66,transparent 40%)}.hero-content{padding:74px 24px 120px}.hero .eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:27px}.hero h1{font-size:clamp(51px,11.3vw,77px);line-height:1.08}.hero-copy{font-size:11px;line-height:2.3;margin-top:27px;letter-spacing:.03em}.button{min-height:50px;padding:13px 22px;font-size:9px;gap:35px}.button-light{margin-top:30px}.hero-bottom{bottom:24px;left:24px;right:24px;font-size:7px;letter-spacing:.08em;gap:12px;align-items:flex-end}.hero-bottom>span{max-width:145px}.hero-bottom a{white-space:nowrap}.hero-bottom a span{padding-left:6px}.hero-strip{align-items:flex-start;padding-block:20px;gap:10px}.hero-strip>span{font-size:13px;max-width:145px}.hero-strip p{font-size:7px;max-width:140px;text-align:right;line-height:2}.hero-strip i{margin-inline:5px}.story-section{grid-template-columns:1fr;gap:38px}.story-image{aspect-ratio:4/5}.story-image img{object-fit:contain}.story-figure figcaption{font-size:12px;padding-top:12px}.story-copy .display{font-size:62px;margin-bottom:25px}.eyebrow{font-size:9px;margin-bottom:22px}.story-copy .japanese-heading{font-size:20px}.story-copy>p:not(.eyebrow){font-size:12px}.story-copy>p br{display:none}.section-top{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:34px}.section-top>p br{display:none}.display{font-size:50px}.card-grid{grid-template-columns:1fr;gap:46px}.product-image{aspect-ratio:4/3}.product-meta{margin-top:20px}.product-card h3{font-size:20px}.product-card>p:not(.price){font-size:12px}.product-card .price{font-size:25px;margin-top:14px}.section-end{margin-top:38px}.visit-inner{grid-template-columns:1fr;gap:35px}.visit-details{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.visit-inner .display{font-size:54px}.visit-hours{font-size:40px}.visit-details .text-link{max-width:none}.page-heading{padding-top:55px;padding-bottom:40px}.page-heading h1{font-size:clamp(52px,12.5vw,83px)}.heading-bottom{flex-direction:column;align-items:flex-start;gap:22px;margin-top:30px}.heading-bottom>.japanese-heading{font-size:15px}.heading-bottom>p:last-child{font-size:11px}.section-heading{font-size:20px}.menu-section{padding-top:40px}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-button{font-size:9px;padding:11px 14px;gap:8px}.filter-button span{font-size:9px}.menu-grid{grid-template-columns:1fr;gap:18px}.menu-item{padding:27px 24px}.menu-item h3{font-size:19px}.menu-item .eyebrow{margin-bottom:16px}.menu-item-bottom{padding-top:20px}.menu-notes{margin-top:30px}.compact-cta{padding-block:55px 70px}.compact-cta .display{font-size:43px}.values-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.values-grid article{border-top:1px solid var(--line);padding-top:25px}.value-number{font-size:36px;margin-bottom:18px}.values-grid h3{font-size:20px}.information-section{grid-template-columns:1fr;gap:35px}.information-section .display{font-size:52px}.info-list>div{grid-template-columns:78px 1fr;padding-block:19px;font-size:11px}.info-note{grid-column:auto;margin-top:-15px}.access-section{grid-template-columns:1fr;gap:45px;padding-top:45px}.access-copy .info-list>div{font-size:11px}.access-copy .section-heading{font-size:25px}.map-frame iframe{height:390px}.map-caption{font-size:10px}.map-column .eyebrow{font-size:8px}.guidance-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.guidance-grid h3{font-size:18px}.guidance-grid p{font-size:12px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:40px}.footer-main>div:first-child{grid-column:1/-1}.footer-brand .brand-word{font-size:46px}.site-footer{padding-top:50px}.footer-bottom{flex-direction:column;gap:15px;padding-bottom:95px;font-size:8px}.back-to-top{right:14px;bottom:14px;width:45px;height:53px}.footer-tagline{margin-top:24px}.site-footer .eyebrow{font-size:8px}.footer-hours p{font-size:14px}.footer-hours span{display:block}.footer-social small{font-size:8px}}
/* Readable body copy and practical information across all four pages. */
body{font-size:16px;line-height:2}
.hero-copy,
.story-copy>p:not(.eyebrow),
.section-top>p:not(.note),
.product-card>p:not(.price),
.visit-inner p:not(.visit-hours),
.heading-bottom>p:last-child,
.menu-item>p:not(.eyebrow),
.menu-notes>p:last-child,
.values-grid article>p:last-child,
.information-section>div>p:last-child,
.guidance-grid p,
.footer-main>div>p:not(.eyebrow):not(.footer-tagline){font-size:16px;line-height:2}
.note,.sample-note,.filter-status,.map-caption,.footer-bottom,
.footer-social a,.footer-social small,.footer-hours span,
.price small,.menu-item-bottom>span,
.info-list,.info-list>div,.access-copy .info-list>div,
.hero-strip p,.filter-button,.filter-button span,
.text-link,.text-link span{font-size:14px;line-height:1.9}
.hero-strip p{letter-spacing:.06em;max-width:none}
.footer-hours span{display:block}
.hero-strip,.heading-bottom,.section-top,.footer-bottom,.map-caption,
.text-link,.menu-item-bottom{flex-wrap:wrap}
.text-link{gap:8px 20px}
.text-link span,.map-caption a{white-space:normal}
.hero-strip>*,.heading-bottom>*,.section-top>*,.footer-main>*,
.story-section>*,.visit-inner>*,.information-section>*,
.access-section>*,.info-list dd,.product-card,.menu-item{min-width:0}
main p,.info-list dd,.footer-main,.footer-bottom,.text-link{overflow-wrap:anywhere}
.product-card>p br,.heading-bottom>p:last-child br{display:none}
.info-list>div{grid-template-columns:92px minmax(0,1fr)}
.access-copy .info-list>div{grid-template-columns:75px minmax(0,1fr)}
.menu-item-bottom>span{letter-spacing:.05em}
/* Keep the lower hero caption in normal flow when copy needs extra lines. */
.hero{display:flex;flex-direction:column;height:auto;min-height:max(650px,calc(100svh - 148px));max-height:none}
.hero-content{padding-bottom:55px}
.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin:auto 6.3vw 26px}
@media(max-width:1050px){
  .footer-main{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}
}
@media(min-width:701px) and (max-width:900px){
  .story-section,.information-section,.access-section{grid-template-columns:minmax(0,1fr);gap:40px}
  .story-figure{max-width:520px}
  .info-note{grid-column:auto}
  .values-grid{grid-template-columns:minmax(0,1fr);gap:45px}
  .visit-inner{grid-template-columns:minmax(0,1fr);gap:35px}
  .visit-details{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  .heading-bottom{align-items:flex-start;flex-direction:column;gap:24px}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-main>div:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  .hero{min-height:max(610px,calc(100svh - 106px))}
  .hero-content{padding-bottom:45px}
  .hero-copy br{display:none}
  .hero-bottom{margin:0 24px 24px;margin-top:auto;flex-wrap:wrap;row-gap:12px}
  .hero-strip{flex-direction:column;gap:12px}
  .hero-strip>span{max-width:none}
  .hero-strip p{text-align:left}
  .filter-button{flex-wrap:wrap;gap:2px 8px;letter-spacing:.05em;padding:12px 8px}
  .info-list>div,.access-copy .info-list>div{grid-template-columns:78px minmax(0,1fr);gap:12px}
  .footer-main{grid-template-columns:minmax(0,1fr);gap:32px}
  .footer-main>div:first-child{grid-column:auto}
  .footer-bottom{padding-bottom:100px}
}
/* Favorites: a comfortable single column on tablets and phones. */
.product-image picture{display:block;width:100%;height:100%}
.product-image img{max-width:100%;object-fit:contain}
@media(max-width:900px){
  .card-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .product-card{width:100%;max-width:560px;margin-inline:auto}
  .product-image{width:100%;max-width:none;aspect-ratio:4/3}
  .product-meta{margin-top:24px;margin-bottom:14px;flex-wrap:wrap}
  .product-card h3{font-size:20px;line-height:1.7;overflow-wrap:anywhere}
  .product-card>p:not(.price){margin-top:14px}
  .product-card .price{margin-top:20px}
  .favorites .section-top{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:40px}
}
@media(max-width:374px){
  .info-list>div,.access-copy .info-list>div{grid-template-columns:minmax(0,1fr);gap:5px}
}
/* Japanese destinations lead; English remains a quiet secondary label. */
.button,.text-link{max-width:100%;gap:20px;letter-spacing:.04em;flex-wrap:nowrap;min-height:56px}
.button{background:var(--accent);border-color:var(--accent);color:var(--white);text-align:left}
.button .link-label,.text-link .link-label{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;white-space:normal}
.button .link-ja,.text-link .link-ja{font:500 16px/1.7 var(--sans);letter-spacing:.04em;white-space:normal;overflow-wrap:anywhere}
.button .link-en,.text-link .link-en{font:400 11px/1.6 var(--sans);letter-spacing:.16em;white-space:normal;overflow-wrap:anywhere}
.button .link-arrow,.text-link .link-arrow{flex:none;font-size:20px;line-height:1;letter-spacing:0}
.text-link{width:100%;max-width:330px;text-align:left}
.nav a{display:flex;flex-direction:column;align-items:center;gap:4px;letter-spacing:.05em}
.nav-ja{font-size:14px;line-height:1.7}
.nav-en{font-size:9px;line-height:1.6;letter-spacing:.13em}
@media(hover:hover){
  .button:hover,.button-light:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
}
@media(min-width:701px) and (max-width:1050px){
  .header-inner{flex-wrap:wrap;gap:18px}
  .nav{width:100%;justify-content:flex-end;flex-wrap:wrap;gap:16px 28px}
}
@media(max-width:700px){
  .button{padding:15px 20px;gap:16px}
  .text-link{max-width:100%}
  .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
  .js .nav.is-open{display:grid}
  .nav a{min-width:0;padding:12px 4px;overflow-wrap:anywhere;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-revealing{opacity:1;transform:none}}
