:root{--ink:#2b2521;--green:#8f5742;--deep:#241f1b;--cream:#f0eadf;--paper:#f8f5ee;--accent:#a55f43;--line:#d8cfc1;--serif:"Shippori Mincho",Georgia,serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.9}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.4}.site-header{height:92px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}.logo{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.logo span{font-size:11px;display:block;letter-spacing:.32em;margin-bottom:-7px}.global-nav{display:flex;gap:clamp(24px,4vw,56px);font-size:13px;font-weight:500}.global-nav a{position:relative;padding:10px 0}.global-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--accent);transition:.3s}.global-nav a:hover::after,.global-nav a.active::after{right:0}.menu-toggle{display:none;border:0;background:none;width:34px;padding:4px;cursor:pointer}.menu-toggle span{height:1px;background:var(--ink);display:block;margin:6px 0;transition:.3s}.hero{min-height:calc(100vh - 92px);position:relative;display:grid;grid-template-columns:43% 57%;background:var(--cream)}.hero-image{background:url('https://images.unsplash.com/photo-1493857671505-72967e2e2760?auto=format&fit=crop&w=1600&q=85') center/cover}.hero-copy{align-self:center;padding:60px clamp(36px,8vw,130px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:22px}.hero h1{font-size:clamp(46px,6vw,88px);letter-spacing:.08em;margin-bottom:28px}.hero-copy>p:not(.eyebrow){font-size:14px;margin-bottom:35px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--green);color:#fff;padding:14px 24px;font-size:13px;transition:.25s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button span,.text-link span{font-size:18px}.hero-note{position:absolute;right:28px;bottom:30px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em}.section{padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro h2,.section-heading h2,.story h2,.value-copy h2,.access-info h2{font-size:clamp(32px,4vw,52px);letter-spacing:.08em}.intro-text{padding-top:42px;max-width:530px;font-size:14px}.intro-text p{margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;border-bottom:1px solid var(--ink);padding:4px 2px}.featured{background:var(--cream)}.section-heading{display:flex;align-items:end;gap:35px;margin-bottom:45px}.section-heading .eyebrow{position:absolute}.section-heading h2{margin:20px 0 0}.desktop-link{margin-left:auto;margin-bottom:9px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.menu-card img{height:clamp(240px,30vw,420px);margin-bottom:24px}.menu-card>div{position:relative;padding-left:36px}.card-number{position:absolute;left:0;top:2px;color:var(--accent);font-size:10px}.menu-card h3{font-size:20px;letter-spacing:.07em;margin-bottom:8px}.menu-card div p:not(.card-number){font-size:12px;margin-bottom:8px}.menu-card div span{font-size:12px}.visit-banner{margin:8vw;min-height:380px;padding:70px;display:flex;align-items:end;justify-content:space-between;color:#fff;background:linear-gradient(90deg,rgba(26,48,36,.88),rgba(26,48,36,.35)),url('https://images.unsplash.com/photo-1453614512568-c4024d13c247?auto=format&fit=crop&w=1800&q=85') center/cover}.visit-banner h2{font-size:clamp(36px,5vw,62px);margin-bottom:20px}.visit-banner p:not(.eyebrow){font-size:13px}.button-light{background:#fff;color:var(--green)}.site-footer{background:var(--deep);color:#f4f0e7;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:40px;padding:70px clamp(24px,6vw,90px);font-size:11px}.site-footer p{margin:4px 0}.copyright{letter-spacing:.12em}.page-hero{height:560px;display:grid;grid-template-columns:42% 58%;background:var(--cream)}.page-hero-copy{padding:80px clamp(24px,7vw,100px);align-self:center}.page-hero h1,.page-title h1{font-size:clamp(46px,6vw,76px);letter-spacing:.1em;margin-bottom:20px}.page-hero-copy>p:last-child,.page-title>p:last-child{font-size:13px}.page-hero img{height:100%}.menu-section{display:grid;grid-template-columns:30% 70%;gap:7vw}.menu-category h2{font-size:36px}.menu-list>div{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:20px 50px 20px 0;position:relative}.menu-list h3{font-size:17px;margin:0}.menu-list p{grid-column:1;font-size:11px;margin:3px 0}.menu-list span{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--serif)}.menu-list span::before{content:"¥";font-size:10px;margin-right:3px}.tinted{background:var(--cream)}.menu-note{text-align:center;font-size:10px;margin:50px 20px 100px}.story{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story-body{font-size:14px;max-width:560px}.story-body p{margin-bottom:28px}.story blockquote{font-family:var(--serif);font-size:clamp(24px,3vw,38px);line-height:1.7;margin:65px 0;color:var(--green)}.values{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.value-image img{height:100%;min-height:650px}.value-copy{padding:100px clamp(35px,8vw,110px)}.value-copy ol{list-style:none;padding:0;margin:50px 0 0}.value-copy li{display:flex;gap:25px;border-top:1px solid var(--line);padding:28px 0}.value-copy li>span{font-size:11px;color:var(--accent)}.value-copy h3{font-size:18px;margin:0 0 5px}.value-copy li p{font-size:12px;margin:0}.page-title{text-align:center;padding-bottom:75px}.access-layout{padding-top:0;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.map-placeholder{min-height:590px;background:#e6e2d3;position:relative;overflow:hidden;background-image:radial-gradient(#c8c0ad 1px,transparent 1px);background-size:18px 18px}.map-road{position:absolute;background:#fff;border:1px solid #d5cebc}.road-a{width:140%;height:55px;top:45%;left:-20%;transform:rotate(-13deg)}.road-b{height:130%;width:45px;left:30%;top:-15%;transform:rotate(8deg)}.road-c{height:110%;width:24px;right:18%;top:-5%;transform:rotate(-4deg)}.station,.park,.pin{position:absolute;font-family:var(--serif)}.station{bottom:10%;left:12%;background:var(--green);color:#fff;padding:5px 12px;font-size:11px}.park{right:10%;top:12%;color:#71826f}.pin{left:52%;top:43%;color:var(--accent);font-size:30px;text-align:center;line-height:1}.pin b{display:block;font-size:13px;line-height:1.4;color:var(--ink);white-space:nowrap;margin-top:5px}.access-info{padding-top:30px}.access-info dl{margin-top:45px}.access-info dl>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:18px 0;font-size:13px}.access-info dt{font-weight:700}.access-info dd{margin:0}.access-info small{font-size:10px}.access-note{font-size:10px;margin-top:25px}.access-photo{margin:0 8vw 8vw}.access-photo img{height:480px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.site-header{height:72px;padding:0 20px}.logo{font-size:18px}.menu-toggle{display:block;z-index:2}.global-nav{position:fixed;inset:0;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-family:var(--serif);font-size:22px;opacity:0;visibility:hidden;transition:.3s}.nav-open .global-nav{opacity:1;visibility:visible}.nav-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.nav-open .menu-toggle span:nth-child(2){opacity:0}.nav-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}.hero{min-height:auto;display:block;padding-bottom:60px}.hero-image{height:55vh;min-height:390px}.hero-copy{padding:50px 25px}.hero h1{font-size:48px}.hero-note{display:none}.section{padding:80px 24px}.intro,.story{grid-template-columns:1fr;gap:20px}.intro-text{padding-top:0}.card-grid{grid-template-columns:1fr;gap:50px}.menu-card img{height:390px}.section-heading{display:block}.desktop-link{margin-top:15px}.visit-banner{margin:0;min-height:500px;padding:45px 25px;display:block}.visit-banner .button{margin-top:25px}.site-footer{grid-template-columns:1fr;padding:55px 24px;gap:25px}.page-hero{height:auto;display:flex;flex-direction:column-reverse}.page-hero img{height:380px}.page-hero-copy{padding:55px 24px}.menu-section{grid-template-columns:1fr;gap:20px}.menu-list>div{padding-right:10px}.values{grid-template-columns:1fr}.value-image img{min-height:0;height:430px}.value-copy{padding:70px 24px}.access-layout{grid-template-columns:1fr;padding-top:0}.map-placeholder{min-height:430px}.access-photo{margin:0}.access-photo img{height:360px}.page-title{text-align:left}.access-info{padding-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Refined editorial direction */
body{font-size:15px;letter-spacing:.035em}.site-header{height:104px;border-bottom:1px solid rgba(43,37,33,.1);position:sticky;top:0}.logo{font-family:var(--serif);font-size:20px;line-height:1;letter-spacing:.16em}.logo span{font-family:var(--sans);font-size:8px;letter-spacing:.5em;margin-bottom:8px;color:var(--accent)}.global-nav{gap:clamp(28px,4vw,64px);font-size:10px;letter-spacing:.2em}.global-nav a::after{bottom:2px;background:var(--accent)}
.hero{min-height:calc(100vh - 104px);grid-template-columns:52% 48%;background:var(--paper)}.hero-image{margin:0 0 5vw 5vw;min-height:680px;filter:saturate(.62) contrast(.94)}.hero-copy{padding:80px clamp(38px,6vw,110px)}.hero h1,.page-hero h1,.page-title h1{font-family:Georgia,"Times New Roman",var(--serif);font-weight:400;color:var(--ink);font-size:clamp(64px,7.6vw,118px);line-height:.96;letter-spacing:-.035em}.hero-jp,.jp-heading{font-family:var(--serif);font-size:16px!important;letter-spacing:.14em;margin:28px 0 22px}.eyebrow{font-size:9px;letter-spacing:.34em;color:var(--accent);margin-bottom:30px}.hero-copy>p:not(.eyebrow):not(.hero-jp){font-size:12px;line-height:2.1}.button{background:var(--accent);padding:16px 25px;letter-spacing:.08em}.button:hover{background:var(--ink)}.hero-note{color:#756d65}
.section{padding:clamp(110px,13vw,200px) clamp(28px,9vw,150px)}.intro{grid-template-columns:1.1fr .9fr;gap:12vw}.intro h2,.section-heading h2,.story h2,.value-copy h2,.access-info h2,.visit-banner h2{font-family:Georgia,"Times New Roman",var(--serif);font-size:clamp(54px,6.2vw,96px);font-weight:400;line-height:1.02;letter-spacing:-.035em}.intro-text{padding-top:90px;font-size:13px;line-height:2.25}.jp-heading{display:block;color:#554c45}.section-heading{align-items:end;margin-bottom:75px}.section-heading>div{max-width:780px}.featured{background:var(--cream)}.card-grid{gap:clamp(22px,3vw,48px)}.menu-card img{filter:saturate(.56);transition:filter .5s,transform .6s}.menu-card:hover img{filter:saturate(.8);transform:translateY(-5px)}.menu-card h3{font-size:19px}.visit-banner{margin:10vw;min-height:600px;padding:clamp(40px,7vw,100px);background:linear-gradient(90deg,rgba(37,31,27,.84),rgba(37,31,27,.18)),url('https://images.unsplash.com/photo-1453614512568-c4024d13c247?auto=format&fit=crop&w=1800&q=85') center/cover}.visit-banner .eyebrow{color:#d5a48e}.visit-banner .jp-heading{color:#fff;margin:20px 0}.button-light{background:var(--paper);color:var(--ink)}
.site-footer{grid-template-columns:1.5fr .8fr .7fr;align-items:start;padding:90px clamp(28px,7vw,110px) 45px;gap:60px;background:var(--deep)}.footer-brand>p{font-family:var(--serif);font-size:14px;margin-top:24px;color:#c7beb4}.footer-label{color:#ba8a76;font-size:8px!important;letter-spacing:.3em;margin-bottom:16px!important}.footer-hours p:last-child{font-family:var(--serif);font-size:13px;line-height:2}.footer-social{display:flex;flex-direction:column;align-items:flex-start}.footer-social a{font-family:var(--serif);font-size:13px;border-bottom:1px solid transparent;margin-bottom:6px}.footer-social a:hover{border-color:#f4f0e7}.copyright{grid-column:1/-1;margin-top:50px!important;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);font-size:8px;letter-spacing:.22em}
.page-hero{height:min(740px,80vh);grid-template-columns:46% 54%;background:var(--paper)}.page-hero img,.access-photo img{filter:saturate(.55)}.page-hero-copy{padding:90px clamp(28px,8vw,130px)}.page-hero-copy>p:last-child,.page-title>p:last-child{font-size:12px}.page-title{padding-top:150px;padding-bottom:120px}.page-title .jp-heading{margin:20px 0}.menu-section{grid-template-columns:35% 65%;gap:8vw}.menu-category h2{font-family:Georgia,"Times New Roman",var(--serif);font-size:44px;font-weight:400}.menu-list>div{padding:28px 24px 28px 0}.menu-list h3{font-family:var(--serif);font-size:18px}.tinted{background:var(--cream)}.story{gap:12vw}.story-body{padding-top:80px;line-height:2.25}.story blockquote{color:var(--accent)}.values{background:var(--cream)}.value-image img{filter:saturate(.5)}.value-copy{padding:130px clamp(40px,8vw,125px)}.access-layout{gap:10vw}.map-placeholder{background-color:#e7dfd2}.station{background:var(--ink)}.pin{color:var(--accent)}
@media(max-width:760px){.site-header{height:78px;position:sticky}.logo{font-size:16px}.global-nav{font-size:19px;letter-spacing:.12em}.hero{display:flex;flex-direction:column;min-height:auto}.hero-image{order:2;margin:0 22px 50px;height:55vh;min-height:420px}.hero-copy{padding:70px 24px 60px}.hero h1,.page-hero h1,.page-title h1{font-size:clamp(53px,18vw,74px)}.hero-jp,.jp-heading{font-size:14px!important}.section{padding:100px 24px}.intro h2,.section-heading h2,.story h2,.value-copy h2,.access-info h2,.visit-banner h2{font-size:clamp(48px,15vw,68px)}.intro-text,.story-body{padding-top:30px}.section-heading{margin-bottom:55px}.visit-banner{margin:0;min-height:620px;padding:60px 25px}.site-footer{grid-template-columns:1fr 1fr;padding:70px 24px 35px;gap:45px 20px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1;margin-top:15px!important}.page-hero{height:auto}.page-hero-copy{padding:70px 24px}.page-hero img{height:52vh;min-height:400px}.page-title{padding-top:100px;padding-bottom:80px}.menu-section{grid-template-columns:1fr}.story-body{padding-top:0}.value-copy{padding:90px 24px}}

/* Homepage hero */
body[data-page="index"] .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;color:var(--ink)}
body[data-page="index"] .hero{height:max(760px,100svh);min-height:760px;display:block;position:relative;overflow:hidden;background:var(--cream)}
body[data-page="index"] .hero-image{position:absolute;inset:0;margin:0;min-height:0;background-image:linear-gradient(90deg,rgba(248,245,238,.34) 0%,rgba(248,245,238,.07) 48%,rgba(36,31,27,.1) 100%),url('images/hero-cafe-interior.jpg');background-position:center;background-size:cover;filter:none;transform:scale(1.01);animation:hero-settle 1.8s cubic-bezier(.2,.7,.2,1) both}
body[data-page="index"] .hero-copy{position:relative;z-index:2;width:min(760px,60vw);height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:135px 0 80px clamp(30px,8vw,145px)}
body[data-page="index"] .hero h1{font-size:clamp(72px,8.3vw,136px);text-shadow:0 1px 18px rgba(248,245,238,.15)}
body[data-page="index"] .hero-copy>p:not(.eyebrow):not(.hero-jp){font-size:13px;line-height:2.2;margin-bottom:30px}
.hero-link{display:inline-flex;align-items:center;gap:32px;padding:11px 0;border-bottom:1px solid var(--ink);font-size:9px;font-weight:700;letter-spacing:.22em;transition:color .25s,border-color .25s,gap .25s}.hero-link:hover{color:var(--accent);border-color:var(--accent);gap:40px}.hero-link span{font-size:14px}
body[data-page="index"] .hero-note{z-index:2;right:clamp(20px,3vw,48px);bottom:45px;color:#e9e0d5;text-shadow:0 1px 7px rgba(0,0,0,.55)}.scroll-note{position:absolute;z-index:2;left:clamp(30px,8vw,145px);bottom:35px;margin:0;font-size:8px;letter-spacing:.26em;display:flex;align-items:center;gap:15px}.scroll-note span{display:block;width:62px;height:1px;background:currentColor;transform-origin:left;animation:scroll-line 2s ease-in-out infinite}
body[data-page="index"] .intro{border-bottom:1px solid var(--line)}body[data-page="index"] .featured{padding-top:clamp(100px,12vw,180px)}
@keyframes hero-settle{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1.01)}}@keyframes scroll-line{0%,100%{transform:scaleX(.3);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@media(max-width:760px){body[data-page="index"] .site-header{height:78px}body[data-page="index"] .hero{height:100svh;min-height:690px;display:block;padding:0}body[data-page="index"] .hero-image{height:auto;margin:0;inset:0;background-image:linear-gradient(90deg,rgba(248,245,238,.6),rgba(248,245,238,.06) 82%),url('images/hero-cafe-interior.jpg');background-position:42% center}body[data-page="index"] .hero-copy{width:100%;height:100%;padding:115px 24px 100px;justify-content:center}body[data-page="index"] .hero h1{font-size:clamp(56px,17vw,76px)}body[data-page="index"] .hero-copy>p:not(.eyebrow):not(.hero-jp){max-width:310px}body[data-page="index"] .hero-note{display:none}.scroll-note{left:24px;bottom:28px}}
@media(prefers-reduced-motion:reduce){body[data-page="index"] .hero-image,.scroll-note span{animation:none}}

/* Homepage supplied photography */
body[data-page="index"] .intro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"heading text" "visual visual";align-items:start;row-gap:clamp(70px,8vw,120px)}
body[data-page="index"] .intro-heading{grid-area:heading}body[data-page="index"] .intro-text{grid-area:text}body[data-page="index"] .intro-visual{grid-area:visual;margin:0;overflow:hidden;background:var(--cream)}
body[data-page="index"] .intro-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;filter:saturate(.65);transition:filter .6s ease}
body[data-page="index"] .intro-visual:hover img{filter:saturate(.8)}
body[data-page="index"] .menu-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#eee7dc}
@media(max-width:760px){body[data-page="index"] .intro{grid-template-columns:1fr;grid-template-areas:"heading" "visual" "text";row-gap:42px}body[data-page="index"] .intro-text{padding-top:0}body[data-page="index"] .intro-visual{margin-left:-24px;margin-right:-24px}body[data-page="index"] .intro-visual img{aspect-ratio:3/2;width:100%}body[data-page="index"] .menu-card img{height:auto;aspect-ratio:1;object-fit:contain}}

/* Menu catalog */
.menu-catalog{background:var(--paper)}.catalog-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;align-items:end;margin-bottom:90px}.catalog-intro h2,.shop-details h2{font-family:Georgia,"Times New Roman",var(--serif);font-size:clamp(58px,7vw,104px);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:0}.catalog-intro>p{font-size:12px;line-height:2.2;margin:0 0 10px}.filter-bar{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:60px}.filter-button{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);min-width:130px;padding:18px 30px;font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.22em;cursor:pointer;transition:background .25s,color .25s}.filter-button:hover,.filter-button.active{background:var(--ink);color:var(--paper)}.filter-button: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)}.catalog-item{min-height:265px;padding:38px clamp(22px,3vw,45px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.catalog-item:nth-child(3n){border-right:0}.catalog-item[hidden]{display:none}.catalog-item .item-category{font-size:8px;letter-spacing:.28em;color:var(--accent);margin-bottom:45px}.catalog-item h3{font-size:20px;letter-spacing:.06em;margin-bottom:12px}.catalog-item>p:not(.item-category){font-size:11px;line-height:1.9;color:#6c625a;margin-bottom:25px}.catalog-item span{font-family:var(--serif);font-size:13px;margin-top:auto}.menu-catalog .menu-note{text-align:left;margin:35px 0 0;color:#71675f}

/* About details */
.shop-details{background:var(--paper)}.details-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:90px}.details-heading .eyebrow{grid-column:1/-1}.details-heading .jp-heading{margin:0 0 10px}.details-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.details-grid>div{padding:35px 28px 45px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.details-grid dt{font-size:8px;font-weight:700;letter-spacing:.28em;color:var(--accent);margin-bottom:35px}.details-grid dd{margin:0}.details-grid strong{display:block;font-family:Georgia,"Times New Roman",var(--serif);font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1;margin-bottom:22px}.details-grid span{font-size:11px;line-height:2}.fiction-note{font-size:9px;color:#776d64;margin-top:28px}

/* OpenStreetMap access */
.map-frame{min-width:0}.map-frame iframe{display:block;width:100%;height:620px;border:0;filter:sepia(.18) saturate(.65) contrast(.94)}.map-frame>a{display:inline-block;margin-top:14px;border-bottom:1px solid var(--ink);font-size:10px;letter-spacing:.1em}.fiction-banner{margin:0 clamp(24px,8vw,130px) clamp(90px,10vw,150px);padding:38px clamp(25px,4vw,55px);display:grid;grid-template-columns:180px 1fr;gap:40px;background:var(--cream);border-left:3px solid var(--accent)}.fiction-banner .eyebrow{margin:3px 0}.fiction-banner>p:last-child{font-size:11px;line-height:2;margin:0}.access-info a{border-bottom:1px solid var(--ink)}

@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-item:nth-child(3n){border-right:1px solid var(--line)}.catalog-item:nth-child(2n){border-right:0}.details-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.page-hero img{object-fit:cover}.catalog-intro{grid-template-columns:1fr;gap:30px;margin-bottom:60px}.catalog-intro h2,.shop-details h2{font-size:clamp(54px,17vw,76px)}.filter-bar{overflow-x:auto;margin-left:-24px;margin-right:-24px;padding-left:24px;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-button{min-width:108px;padding:17px 20px}.catalog-grid{grid-template-columns:1fr}.catalog-item,.catalog-item:nth-child(2n),.catalog-item:nth-child(3n){border-right:0;min-height:235px}.details-heading{grid-template-columns:1fr;gap:25px;margin-bottom:60px}.details-heading .jp-heading{margin:0}.details-grid{grid-template-columns:1fr 1fr}.details-grid>div{padding:28px 20px 36px}.details-grid strong{font-size:27px}.map-frame iframe{height:480px}.fiction-banner{margin:0 24px 90px;padding:28px 24px;grid-template-columns:1fr;gap:8px}.access-layout{gap:60px}}
@media(max-width:420px){.details-grid{grid-template-columns:1fr}}

/* Progressive enhancement: content stays visible without JavaScript */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}

/* Interaction and motion */
.menu-card{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.menu-card:hover{transform:translateY(-8px)}.menu-card:hover img{transform:none;filter:saturate(.82)}
.catalog-item{transition:background-color .3s ease,transform .3s ease}.catalog-item:hover{background:var(--cream);transform:translateY(-3px);position:relative;z-index:1}.details-grid>div{transition:background-color .3s ease}.details-grid>div:hover{background:var(--cream)}
.text-link,.map-frame>a,.footer-social a{transition:color .25s ease,border-color .25s ease}.text-link:hover,.map-frame>a:hover{color:var(--accent);border-color:var(--accent)}
.button:focus-visible,.hero-link:focus-visible,.text-link:focus-visible,.global-nav a:focus-visible,.map-frame>a:focus-visible,.footer-social a:focus-visible,.menu-toggle:focus-visible,.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.back-to-top{position:fixed;right:clamp(16px,2.5vw,38px);bottom:clamp(16px,2.5vw,38px);z-index:30;width:58px;height:58px;border:1px solid rgba(248,245,238,.38);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:var(--ink);color:var(--paper);box-shadow:0 8px 28px rgba(35,29,25,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background-color .25s ease}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--accent);transform:translateY(-3px)}.back-to-top span{font-size:17px;line-height:1}.back-to-top small{font-size:7px;letter-spacing:.16em;margin-left:.16em}
@media(max-width:760px){.menu-toggle{width:44px;height:44px;padding:9px;display:block}.menu-toggle span{transform-origin:center}.global-nav{z-index:1}.back-to-top{width:50px;height:50px;right:16px;bottom:16px}.menu-card:hover,.catalog-item:hover{transform:none}}
@media(hover:none){.menu-card:hover,.catalog-item:hover,.button:hover,.back-to-top:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.menu-card,.catalog-item,.button,.back-to-top,.global-nav,.menu-toggle span{transition:none}.back-to-top{transform:none}}
