@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500&display=swap');
:root{--paper:#f4f0e8;--deep:#e8e0d3;--ink:#29231f;--muted:#716861;--accent:#a45f47;--line:rgba(41,35,31,.18);--serif:"Cormorant Garamond","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:300 16px/2 var(--sans);letter-spacing:.055em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:104px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(244,240,232,.96)}.brand{font:500 1.75rem/1 var(--serif);letter-spacing:.12em}.brand small{display:block;font:400 .57rem/1 var(--sans);letter-spacing:.32em;margin-top:9px;color:var(--accent)}.site-nav{display:flex;gap:clamp(24px,3.2vw,54px);font:500 .68rem/1 var(--sans);letter-spacing:.18em}.site-nav a{padding:14px 0;position:relative}.site-nav a::after{content:"";position:absolute;left:0;bottom:5px;width:0;height:1px;background:var(--accent);transition:.3s}.site-nav a:hover::after,.site-nav a.active::after{width:100%}.header-meta{justify-self:end;font-size:.61rem;line-height:1.7;letter-spacing:.15em;text-align:right;color:var(--muted)}.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle>span:not(.sr-only){display:block;width:26px;height:1px;background:var(--ink);margin:6px;transition:.25s}
.label{margin:0 0 26px;color:var(--accent);font:500 .67rem/1 var(--sans);letter-spacing:.3em}.display{margin:0;font:400 clamp(4rem,9vw,9.5rem)/.82 var(--serif);letter-spacing:-.035em}.display em{font-weight:400;color:var(--accent)}.section-title{font:400 clamp(3.4rem,7vw,7rem)/.9 var(--serif);letter-spacing:-.025em;margin:0 0 38px}.jp-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.05rem;font-weight:400;letter-spacing:.16em}.copy{font-size:.84rem;color:var(--muted);max-width:570px}.text-link{display:inline-flex;align-items:center;gap:30px;margin-top:28px;font:500 .67rem/1 var(--sans);letter-spacing:.22em;border-bottom:1px solid;padding-bottom:8px}.text-link::after{content:"→";color:var(--accent);transition:.25s}.text-link:hover::after{transform:translateX(5px)}
.home-hero{min-height:calc(100vh - 104px);display:grid;grid-template-columns:43% 57%;padding:0 clamp(24px,5vw,80px) 70px}.home-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:80px 5vw 80px 0;position:relative;z-index:2}.home-hero__copy .jp-title{margin:42px 0 12px}.home-hero__copy .copy{margin:0}.home-hero__image{position:relative;overflow:hidden}.home-hero__image img{filter:saturate(.62) contrast(.96)}.vertical-note{position:absolute;right:20px;top:30px;color:#fff;font-size:.58rem;letter-spacing:.25em;writing-mode:vertical-rl}.scroll-cue{position:absolute;bottom:28px;left:28px;color:#fff;font-size:.55rem;letter-spacing:.25em;display:flex;align-items:center;gap:14px}.scroll-cue::before{content:"";width:40px;height:1px;background:#fff}
.section{padding:clamp(100px,13vw,190px) clamp(24px,8vw,130px)}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.intro__aside{font:400 clamp(3rem,7vw,7.5rem)/.85 var(--serif);color:var(--deep);writing-mode:vertical-rl;height:370px}.intro__body{padding-top:30px}.intro__body .copy{font-size:.92rem;line-height:2.3}.home-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:var(--ink);color:var(--paper)}.home-feature__image{overflow:hidden}.home-feature__image img{filter:saturate(.5);transform:scale(1.12)}.home-feature__body{display:flex;flex-direction:column;justify-content:center;padding:8vw}.home-feature__body .copy{color:#bdb4ac}.home-feature .text-link{border-color:var(--paper)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-head .copy{max-width:340px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.card{padding:38px 3vw 20px 0;border-right:1px solid var(--line);min-height:265px;position:relative}.card+.card{padding-left:3vw}.card:last-child{border:0}.card__number{font:400 1rem var(--serif);color:var(--accent)}.card h3{font:400 2.2rem var(--serif);margin:56px 0 16px}.card p{font-size:.75rem;color:var(--muted);margin:0}.card strong{position:absolute;right:3vw;top:42px;font:400 1rem var(--serif)}
.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:630px;border-bottom:1px solid var(--line)}.page-hero__copy{padding:clamp(90px,11vw,165px) clamp(24px,8vw,130px);display:flex;justify-content:center;flex-direction:column}.page-hero .display{font-size:clamp(4.5rem,9vw,9rem)}.page-hero__art{background:var(--deep);position:relative;overflow:hidden}.page-hero__art::before{content:"";position:absolute;width:min(28vw,400px);aspect-ratio:1;border:1px solid var(--accent);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.page-hero__art::after{content:attr(data-word);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:italic 400 clamp(3rem,7vw,7rem) var(--serif);color:var(--accent);white-space:nowrap}.page-hero__art.photo::before,.page-hero__art.photo::after{display:none}.page-hero__art.photo img{filter:saturate(.5) brightness(.72)}
.menu-block{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding:70px 0;border-top:1px solid var(--line)}.menu-block:first-of-type{border:0}.menu-block__title h2{font:400 clamp(3rem,5vw,5.5rem)/.9 var(--serif);margin:0}.menu-list article{display:grid;grid-template-columns:1fr auto;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.menu-list h3{font:400 1.1rem var(--serif);margin:0}.menu-list p{font-size:.7rem;color:var(--muted);margin:5px 0}.menu-list strong{font:400 1.05rem var(--serif)}.notice{font-size:.7rem;color:var(--muted);margin-top:30px}
.story-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.story-quote{font:italic 400 clamp(3.5rem,7vw,7rem)/.88 var(--serif);color:var(--accent);position:sticky;top:150px}.story-copy h2,.details h2{font:400 clamp(3.2rem,6vw,6rem)/.9 var(--serif);margin:0 0 50px}.story-copy .copy{margin-bottom:28px;line-height:2.25}.values{background:var(--deep)}.value-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--line)}.value{padding:45px 4vw 10px 0;border-right:1px solid var(--line)}.value+.value{padding-left:4vw}.value:last-child{border:0}.value span{font:italic 400 4rem var(--serif);color:var(--accent)}.value h3{font:400 1.7rem var(--serif);margin:40px 0 20px}.value p{font-size:.76rem;color:var(--muted)}
.access-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw}.map{min-height:580px;background:var(--deep);position:relative;overflow:hidden;border:1px solid var(--line)}.road{position:absolute;background:var(--paper)}.road-a{height:52px;width:120%;top:48%;left:-10%;transform:rotate(-7deg)}.road-b{width:44px;height:120%;top:-10%;left:28%;transform:rotate(12deg)}.road-c{height:28px;width:100%;top:20%;left:10%;transform:rotate(23deg)}.station{position:absolute;right:8%;top:8%;font-size:.62rem;letter-spacing:.16em;background:var(--ink);color:var(--paper);padding:8px 14px}.pin{position:absolute;left:55%;top:55%;width:58px;height:58px;background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center}.pin span{transform:rotate(45deg);color:white;font:400 1.2rem var(--serif)}.map>p{position:absolute;left:48%;top:67%;font-size:.7rem}.details dl{margin:0}.details dl div{display:grid;grid-template-columns:120px 1fr;padding:22px 0;border-top:1px solid var(--line)}.details dt{font-size:.65rem;letter-spacing:.17em;color:var(--accent)}.details dd{margin:0;font-size:.78rem}.details dd a{border-bottom:1px solid}
.cta{background:var(--accent);color:var(--paper);display:flex;justify-content:space-between;align-items:end;gap:40px;padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px)}.cta .label{color:var(--paper);opacity:.7}.cta h2{font:400 clamp(3.5rem,8vw,8rem)/.82 var(--serif);margin:0}.cta .text-link{border-color:var(--paper)}.cta .text-link::after{color:var(--paper)}
.site-footer{background:var(--ink);color:var(--paper);padding:80px clamp(24px,5vw,80px) 32px}.footer-main{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:7vw;padding-bottom:80px}.footer-brand .brand{font-size:2.4rem}.tagline{font:400 1.15rem/1.8 "Yu Mincho",serif;margin-top:30px;color:#bdb4ac}.footer-title{font-size:.59rem;letter-spacing:.25em;color:#9e9187;margin:8px 0 22px}.footer-info p,.footer-social a{font-size:.72rem;line-height:2.1}.footer-social{display:flex;flex-direction:column;align-items:flex-start}.footer-social a{border-bottom:1px solid #6b625b;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #4d4540;padding-top:26px;font-size:.56rem;letter-spacing:.15em;color:#897f77}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:820px){.site-header{height:82px;grid-template-columns:1fr auto;padding:0 22px}.header-meta{display:none}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:30px 24px;flex-direction:column}.site-nav.open{display:flex}.nav-toggle.open>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open>span:nth-child(2){opacity:0}.nav-toggle.open>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.home-hero{grid-template-columns:1fr;padding:0}.home-hero__copy{padding:90px 24px 70px}.home-hero__image{height:70vh}.display{font-size:clamp(4rem,20vw,6.8rem)}.intro,.home-feature,.page-hero,.menu-block,.story-section,.access-layout{grid-template-columns:1fr}.intro__aside{display:none}.home-feature__image{height:520px}.home-feature__body{padding:90px 24px}.section-head{display:block}.cards,.value-list{grid-template-columns:1fr}.card,.card+.card,.value,.value+.value{border-right:0;border-bottom:1px solid var(--line);padding:35px 0}.page-hero__copy{padding:110px 24px}.page-hero__art{min-height:430px}.story-quote{position:static}.access-layout{gap:70px}.map{min-height:450px}.cta{display:block}.cta .text-link{margin-top:50px}.footer-main{grid-template-columns:1fr;gap:45px}.footer-bottom{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Finished home page */
.top-hero{height:calc(100svh - 104px);min-height:680px;position:relative;overflow:hidden;color:var(--paper)}.top-hero__image{position:absolute;inset:0;filter:saturate(.58) contrast(1.03);animation:hero-in 1.6s ease both}.top-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,19,16,.78) 0%,rgba(25,19,16,.55) 38%,rgba(25,19,16,.06) 74%),linear-gradient(0deg,rgba(20,15,12,.32),transparent 45%)}.top-hero__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:6vh clamp(24px,8vw,130px);max-width:1000px}.top-hero .label{color:#d5a18d}.top-hero .display{font-size:clamp(4.6rem,9vw,9.8rem);text-shadow:0 2px 30px rgba(0,0,0,.2)}.top-hero .display em{color:#d5a18d}.top-hero__jp{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1rem,1.5vw,1.25rem);letter-spacing:.16em;margin:42px 0 12px}.top-hero__copy{font-size:.78rem;color:rgba(244,240,232,.76);margin:0}.hero-link{display:inline-flex;align-items:center;justify-content:space-between;width:255px;border:1px solid rgba(244,240,232,.55);padding:16px 18px;margin-top:34px;font-size:.62rem;font-weight:500;letter-spacing:.19em;transition:.3s}.hero-link:hover{background:var(--paper);color:var(--ink)}.hero-link span{font-size:1rem}.top-hero__meta{position:absolute;z-index:2;right:38px;top:44px;margin:0;font-size:.55rem;letter-spacing:.23em;writing-mode:vertical-rl}.top-hero__scroll{position:absolute;z-index:2;right:38px;bottom:38px;margin:0;font-size:.52rem;letter-spacing:.22em}.top-hero__scroll::before{content:"";display:inline-block;width:42px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px}@keyframes hero-in{from{transform:scale(1.04);opacity:.7}to{transform:scale(1);opacity:1}}
.shop-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.shop-intro__heading .section-title em{color:var(--accent);font-weight:400}.shop-intro__copy{padding-top:52px}.shop-intro__copy .jp-title{font-size:1.15rem;margin:0 0 28px}.shop-intro__copy .copy{line-height:2.25;margin-bottom:24px}
.favorites-home{background:var(--deep)}.favorite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.favorite-card{background:var(--paper);padding:34px clamp(24px,3vw,48px) 44px;min-height:500px;display:flex;flex-direction:column;transition:transform .3s,background .3s}.favorite-card:hover{transform:translateY(-8px);background:#f8f5ef}.favorite-card--accent{background:#eee5da}.favorite-card__top{display:flex;justify-content:space-between;align-items:center;font:400 1rem var(--serif)}.favorite-card__top span{color:var(--accent)}.favorite-card__top strong{font-weight:400}.favorite-card__mark{width:110px;height:110px;border:1px solid var(--accent);border-radius:50%;margin:55px auto 45px;display:grid;place-items:center;color:var(--accent);font:italic 400 4rem/1 var(--serif)}.favorite-card h3{font:400 clamp(1.8rem,2.5vw,2.6rem)/1 var(--serif);margin:0 0 8px}.favorite-card h4{font-size:.74rem;font-weight:400;letter-spacing:.14em;margin:0 0 24px}.favorite-card p{font-size:.72rem;color:var(--muted);line-height:2;margin:auto 0 0}.favorites-home__link{margin-top:45px}
.access-invite{background:var(--accent);color:var(--paper);min-height:620px;display:grid;grid-template-columns:1.2fr .8fr;padding:clamp(80px,11vw,150px) clamp(24px,8vw,130px);align-items:center}.access-invite .label{color:rgba(244,240,232,.7)}.access-invite h2{font:400 clamp(4rem,8vw,8rem)/.82 var(--serif);margin:0}.access-invite__copy>p:not(.label){font-size:.78rem;margin:42px 0 0;color:rgba(244,240,232,.8)}.access-invite__hours{border-left:1px solid rgba(244,240,232,.35);padding:35px 0 35px 7vw;display:flex;flex-direction:column}.access-invite__hours span,.access-invite__hours small{font-size:.57rem;letter-spacing:.23em}.access-invite__hours strong{font:400 clamp(2.4rem,4vw,4.7rem)/1 var(--serif);margin:25px 0}
@media(max-width:820px){.top-hero{height:calc(100svh - 82px);min-height:660px}.top-hero__shade{background:linear-gradient(90deg,rgba(25,19,16,.77),rgba(25,19,16,.28)),linear-gradient(0deg,rgba(20,15,12,.5),transparent 55%)}.top-hero__content{padding:50px 24px}.top-hero .display{font-size:clamp(4rem,19vw,6.5rem)}.top-hero__jp{margin-top:35px}.top-hero__meta{right:16px;top:25px}.top-hero__scroll{display:none}.shop-intro{grid-template-columns:1fr;gap:30px}.shop-intro__copy{padding-top:0}.favorite-grid{grid-template-columns:1fr}.favorite-card{min-height:430px}.favorite-card:hover{transform:none}.access-invite{grid-template-columns:1fr;gap:70px}.access-invite__hours{border-left:0;border-top:1px solid rgba(244,240,232,.35);padding:45px 0 0}}

/* Content photography */
.shop-intro{grid-template-columns:1.08fr .92fr;gap:8vw;align-items:center}.shop-intro__image{margin:0}.shop-intro__image img{aspect-ratio:3/2;object-fit:cover;object-position:center}.shop-intro__image figcaption{margin-top:14px;font-size:.54rem;letter-spacing:.24em;color:var(--muted)}.shop-intro__body .section-title em{color:var(--accent);font-weight:400}.shop-intro__body .jp-title{font-size:1.15rem;margin:0 0 28px}.shop-intro__body .copy{line-height:2.25;margin-bottom:24px}.favorite-card__top{margin-bottom:26px}.favorite-card__image{aspect-ratio:1;overflow:hidden;margin-bottom:34px;background:var(--deep)}.favorite-card__image img{object-fit:cover;object-position:center;transition:transform .65s ease}.favorite-card:hover .favorite-card__image img{transform:scale(1.035)}
@media(max-width:820px){.shop-intro{grid-template-columns:1fr;gap:55px}.shop-intro__image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.favorite-card{min-height:0}.favorite-card__image{width:100%;height:auto;aspect-ratio:1}.favorite-card__image img{width:100%;height:100%;object-fit:cover}.favorite-card:hover .favorite-card__image img{transform:none}}

/* Interior pages */
.menu-hero-photo img{filter:saturate(.62) brightness(.78);object-position:center}.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:70px}.catalog-head .copy{max-width:380px}.menu-filters{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:65px}.menu-filter{flex:1;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:20px 12px;font:500 .64rem/1 var(--sans);letter-spacing:.22em;cursor:pointer;transition:background .25s,color .25s}.menu-filter:last-child{border-right:0}.menu-filter:hover,.menu-filter.is-active{background:var(--ink);color:var(--paper)}.menu-filter:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.catalog-item{min-height:350px;padding:36px clamp(24px,3vw,46px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.catalog-item[hidden]{display:none}.catalog-item__category{font-size:.57rem;line-height:1;letter-spacing:.24em;color:var(--accent);margin:0 0 58px}.catalog-item h3{font:400 clamp(1.65rem,2.3vw,2.35rem)/1.1 var(--serif);margin:0 0 8px}.catalog-item h4{font-size:.73rem;font-weight:400;letter-spacing:.1em;margin:0 0 25px}.catalog-item>p:not(.catalog-item__category){font-size:.7rem;line-height:2;color:var(--muted);margin:0}.catalog-item strong{font:400 1.25rem/1 var(--serif);margin-top:auto;padding-top:35px}.fiction-note{font-size:.67rem;line-height:1.8;color:var(--muted);margin:32px 0 0;padding-left:18px;border-left:2px solid var(--accent)}
.concept-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:start}.concept-aside{position:sticky;top:145px}.concept-aside blockquote{font:italic 400 clamp(3.7rem,7vw,7rem)/.88 var(--serif);color:var(--accent);margin:55px 0 0}.concept-copy h2{font:400 clamp(3.4rem,6vw,6.5rem)/.88 var(--serif);margin:0 0 48px}.concept-copy .jp-title{margin-bottom:30px}.concept-copy .copy{line-height:2.3;margin-bottom:28px}.shop-facts{background:var(--deep)}.facts-head{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw}.facts-head .label{grid-column:1/-1}.facts-head .copy{align-self:end;margin-bottom:42px}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:70px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.facts-grid>div{min-height:260px;padding:32px clamp(22px,3vw,42px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-grid dt{font-size:.57rem;letter-spacing:.25em;color:var(--accent)}.facts-grid dd{margin:48px 0 0;display:flex;flex-direction:column}.facts-grid strong{font:400 clamp(2rem,3vw,3.1rem)/1 var(--serif)}.facts-grid span{font-size:.7rem;line-height:1.9;color:var(--muted);margin-top:20px}
.access-page{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:start}.access-page__info .section-title{margin-bottom:48px}.access-page__info dl{margin:0}.access-page__info dl>div{display:grid;grid-template-columns:105px 1fr;padding:19px 0;border-top:1px solid var(--line)}.access-page__info dt{font-size:.58rem;letter-spacing:.2em;color:var(--accent)}.access-page__info dd{font-size:.75rem;line-height:1.9;margin:0}.access-page__info dd a{border-bottom:1px solid}.osm-map{position:sticky;top:135px}.osm-map iframe{display:block;width:100%;height:650px;border:1px solid var(--line);filter:saturate(.45) sepia(.08)}.map-caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:.52rem;letter-spacing:.13em;color:var(--muted)}.map-caption a{border-bottom:1px solid var(--muted)}.access-notes{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--accent);color:var(--paper);padding:clamp(90px,11vw,150px) clamp(24px,8vw,130px)}.access-notes .label{color:rgba(244,240,232,.7)}.access-notes h2{font:400 clamp(3.5rem,7vw,7rem)/.86 var(--serif);margin:0}.access-notes .copy{color:rgba(244,240,232,.78);align-self:end}.access-notes .copy p{margin:18px 0}
@media(max-width:820px){.catalog-head{display:block}.catalog-head .copy{margin-top:28px}.menu-filters{display:grid;grid-template-columns:1fr 1fr}.menu-filter{border-bottom:1px solid var(--line)}.catalog-grid{grid-template-columns:1fr}.catalog-item{min-height:310px}.concept-section{grid-template-columns:1fr;gap:75px}.concept-aside{position:static}.facts-head{grid-template-columns:1fr}.facts-head .copy{margin-bottom:0}.facts-grid{grid-template-columns:1fr 1fr}.facts-grid>div{min-height:230px}.access-page{grid-template-columns:1fr;gap:70px}.osm-map{position:static}.osm-map iframe{height:58vh;min-height:420px;max-height:560px}.map-caption{flex-direction:column}.access-notes{grid-template-columns:1fr;gap:55px}}
@media(max-width:520px){.facts-grid{grid-template-columns:1fr}.facts-grid>div{min-height:210px}.menu-filter{padding:18px 8px}.osm-map iframe{height:440px}}

/* Progressive motion and interaction */
.catalog-item,.facts-grid>div,.value,.card{transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.catalog-item:hover,.facts-grid>div:hover,.value:hover,.card:hover{background:#f8f5ef;transform:translateY(-5px);box-shadow:0 18px 40px rgba(41,35,31,.07)}.text-link,.footer-social a,.map-caption a{transition:color .25s ease,border-color .25s ease}.text-link:hover,.footer-social a:hover,.map-caption a:hover{color:var(--accent);border-color:var(--accent)}button,.hero-link,.text-link,.favorite-card,.catalog-item{-webkit-tap-highlight-color:transparent}.back-to-top{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,42px);z-index:40;width:58px;height:58px;border:1px solid rgba(244,240,232,.35);border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .25s ease;color:transparent;font-size:0;box-shadow:0 12px 30px rgba(41,35,31,.2)}.back-to-top::before{content:"↑";color:var(--paper);font:400 1.2rem/1 var(--serif)}.back-to-top:hover{background:var(--accent);transform:translateY(-3px)}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:820px){.site-nav{display:flex;position:static;grid-column:1/-1;padding:20px 0;flex-direction:column;gap:3px;border:0}.nav-toggle{display:none}.js .nav-toggle{display:block}.js .site-nav{display:flex;position:absolute;top:82px;left:0;right:0;padding:26px 24px 34px;background:var(--paper);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .25s ease,visibility .25s ease,transform .25s ease}.js .site-nav.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.js .site-nav a{padding:15px 0}.back-to-top{width:52px;height:52px}}
@media(hover:none){.catalog-item:hover,.facts-grid>div:hover,.value:hover,.card:hover,.favorite-card:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}.top-hero__image{animation:none!important}.back-to-top,.catalog-item,.facts-grid>div,.value,.card{transition:none!important}}
