:root{--ink:#2c2521;--green:#a45f48;--deep:#30241f;--cream:#f1eadf;--paper:#f8f4ec;--tan:#a45f48;--line:#d9cfc1;--serif:"Noto Serif JP",Georgia,serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.85}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.45}h2{font-size:clamp(2rem,4vw,3.3rem)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:88px;padding:0 clamp(24px,6vw,90px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}.logo{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.14em}.logo span{font-family:var(--sans);font-size:.58rem;display:inline-block;writing-mode:vertical-rl;margin-right:5px;letter-spacing:.08em}.global-nav{display:flex;gap:clamp(22px,3vw,48px);font-size:.86rem}.global-nav a{position:relative;padding:31px 0}.global-nav a::after{content:"";position:absolute;bottom:23px;left:0;width:0;height:1px;background:var(--green);transition:.25s}.global-nav a:hover::after,.global-nav a.active::after{width:100%}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle>span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink);margin:5px}
.hero{min-height:calc(100vh - 88px);position:relative;display:grid;grid-template-columns:47% 53%;background:var(--cream)}.hero-content{align-self:center;padding:70px clamp(32px,8vw,140px)}.eyebrow{color:#7b806f;font:700 .7rem var(--sans);letter-spacing:.2em;margin-bottom:18px}.hero h1,.page-hero h1{font-size:clamp(2.8rem,5vw,5.4rem);letter-spacing:.08em;margin-bottom:28px}.hero-content>p:not(.eyebrow){font-size:.96rem;color:#59625d;margin-bottom:40px}.hero-photo,.card-photo,.story-photo{background-size:cover;background-position:center}.hero-photo{background-image:linear-gradient(90deg,rgba(25,48,40,.06),rgba(25,48,40,.02)),url('https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=1400&q=85')}.open-card{position:absolute;right:5%;bottom:0;background:var(--deep);color:white;padding:21px 30px;min-width:250px}.open-card span,.open-card small{display:block;font-size:.67rem;letter-spacing:.1em;opacity:.75}.open-card strong{font-family:var(--serif);font-size:1.15rem;display:block;margin:2px 0}.button{display:inline-flex;gap:40px;align-items:center;background:var(--green);color:#fff;padding:15px 23px;font-size:.82rem;transition:.25s}.button:hover{background:var(--deep);transform:translateY(-2px)}.section{max-width:1180px;margin:0 auto;padding:120px 40px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro h2{margin:0}.intro-copy{max-width:500px;color:#535e58}.intro-copy p{margin-bottom:24px}.text-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:.82rem;font-weight:500}.section-heading{position:relative;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>.text-link{position:absolute;right:0;bottom:10px}.featured{padding-top:50px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.menu-card{background:#fff}.card-photo{aspect-ratio:4/3;transition:.35s}.menu-card:hover .card-photo{filter:brightness(.9)}.photo-coffee{background-image:url('https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=800&q=80')}.photo-toast{background-image:url('https://images.unsplash.com/photo-1484723091739-30a097e8f929?auto=format&fit=crop&w=800&q=80')}.photo-pudding{background-image:url('https://images.unsplash.com/photo-1551024506-0bccd828d307?auto=format&fit=crop&w=800&q=80')}.card-body{padding:22px;display:flex;justify-content:space-between;gap:15px}.card-body h3{font-size:1.03rem;margin-bottom:6px}.card-body p{font-size:.75rem;color:#778078;margin:0}.card-body>span{font:600 .9rem var(--serif)}.visit-banner{margin:70px auto 0;max-width:1400px;padding:80px clamp(40px,9vw,140px);background:linear-gradient(90deg,rgba(31,61,49,.97),rgba(31,61,49,.8)),url('https://images.unsplash.com/photo-1493857671505-72967e2e2760?auto=format&fit=crop&w=1400&q=75') center/cover;color:white;display:flex;justify-content:space-between;align-items:end}.visit-banner h2{margin-bottom:15px}.visit-banner p{margin:0;opacity:.8}.button-light{background:var(--paper);color:var(--ink)}
.site-footer{padding:60px clamp(30px,7vw,100px);background:#162b23;color:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.site-footer>p{font-size:.75rem;opacity:.7;margin:0}.copyright{text-align:right;letter-spacing:.1em}
.page-hero{min-height:430px;padding:100px max(7vw,40px);display:flex;align-items:center;background-size:cover;background-position:center;color:white}.page-hero>div{max-width:1180px;width:100%;margin:auto}.page-hero h1{margin:0 0 14px}.page-hero p:last-child{opacity:.85}.menu-hero{background-image:linear-gradient(90deg,rgba(23,45,36,.88),rgba(23,45,36,.25)),url('https://images.unsplash.com/photo-1498804103079-a6351b050096?auto=format&fit=crop&w=1600&q=80')}.about-hero{background-image:linear-gradient(90deg,rgba(23,45,36,.88),rgba(23,45,36,.25)),url('https://images.unsplash.com/photo-1521017432531-fbd92d768814?auto=format&fit=crop&w=1600&q=80')}.access-hero{background-image:linear-gradient(90deg,rgba(23,45,36,.9),rgba(23,45,36,.3)),url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=1600&q=80')}
.menu-section{max-width:1000px}.menu-category{display:grid;grid-template-columns:270px 1fr;padding:55px 0;border-bottom:1px solid var(--line)}.category-title h2{font-size:1.8rem}.menu-list{display:grid;gap:28px}.menu-item{display:flex;justify-content:space-between;gap:20px}.menu-item h3{font-size:1rem;margin-bottom:2px}.menu-item p{font-size:.75rem;color:#7a817d;margin:0}.menu-item>span{font-family:var(--serif)}.menu-note{text-align:right;font-size:.7rem;color:#7a817d;margin-top:28px}
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center}.story-photo{min-height:580px;background-image:url('https://images.unsplash.com/photo-1525610553991-2bede1a236e2?auto=format&fit=crop&w=900&q=80')}.story-copy h2{margin-bottom:30px}.story-copy p{color:#59625d}.values{max-width:none;background:var(--cream);padding-left:max(40px,calc((100% - 1100px)/2));padding-right:max(40px,calc((100% - 1100px)/2))}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.value-card{background:var(--cream);padding:40px}.value-card>span{font:600 .72rem var(--serif);color:var(--tan)}.value-card h3{font-size:1.3rem;margin:25px 0 15px}.value-card p{font-size:.84rem;color:#646b67;margin:0}.quote{text-align:center;padding:130px 30px}.quote blockquote{font:500 clamp(1.4rem,3vw,2.2rem)/2 var(--serif);margin:0 0 25px}.quote p{font-size:.75rem;color:#7a817d}
.access-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center}.map{height:540px;background:#e9e4d8;position:relative;overflow:hidden;border:12px solid #fff;box-shadow:0 8px 30px rgba(44,55,49,.08)}.road{position:absolute;background:#faf8f2;border:1px solid #d8d1c3}.road-h{height:80px;left:-10%;right:-10%;top:55%;transform:rotate(-7deg)}.road-v{width:65px;top:-10%;bottom:-10%;left:32%;transform:rotate(12deg)}.station,.map-pin,.map-label{position:absolute;z-index:2;font-size:.75rem}.station{left:17%;top:68%;background:var(--green);color:white;padding:8px 14px}.map-pin{right:20%;top:32%;display:grid;text-align:center}.map-pin span{color:#b76450;font-size:2rem;line-height:1}.map-pin strong{background:white;padding:5px 9px}.park{left:48%;bottom:13%;color:#677b60}.river{right:4%;top:8%;color:#65828b;writing-mode:vertical-rl}.access-info h2{margin-bottom:30px}.access-info dl{margin:0}.access-info dl>div{display:grid;grid-template-columns:95px 1fr;border-top:1px solid var(--line);padding:18px 0}.access-info dt{font-size:.76rem;font-weight:700}.access-info dd{margin:0;font-size:.85rem}.access-info small{color:#7a817d}.access-note{font-size:.7rem;color:#7a817d;margin-top:25px}.transport{padding-top:20px;max-width:950px}.transport h2{text-align:center;font-size:1.8rem}.transport ol{padding:30px 0 0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none}.transport li{text-align:center}.transport li span{display:grid;place-items:center;margin:0 auto 20px;width:36px;height:36px;border:1px solid var(--tan);border-radius:50%;font:600 .8rem var(--serif)}.transport li p{font-size:.82rem}
.reveal{opacity:1;transform:none}.js-enabled .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.js-enabled .reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:70px;padding:0 22px;position:sticky;top:0}.nav-toggle{display:block;z-index:2}.global-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;gap:0;box-shadow:0 10px 20px rgba(0,0,0,.06)}.global-nav.open{display:flex}.global-nav a{padding:12px}.global-nav a::after{bottom:7px}.hero{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto 52vh}.hero-content{padding:80px 28px}.hero-photo{grid-row:2}.open-card{right:0}.section{padding:80px 25px}.intro,.story-grid,.access-grid{grid-template-columns:1fr;gap:50px}.card-grid,.value-grid,.transport ol{grid-template-columns:1fr}.section-heading>.text-link{position:static;margin-top:10px}.visit-banner{margin:20px 0 0;padding:60px 28px;align-items:start;flex-direction:column;gap:30px}.site-footer{grid-template-columns:1fr;gap:25px}.copyright{text-align:left}.page-hero{min-height:350px;padding:70px 25px}.menu-category{grid-template-columns:1fr;gap:20px}.story-photo{min-height:420px;grid-row:2}.map{height:400px}.transport ol{gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.js-enabled .reveal{opacity:1;transform:none;transition:none}}

/* Refined visual system */
:root{--ink:#2c2521;--green:#a45f48;--deep:#30241f;--cream:#f1eadf;--paper:#f8f4ec;--tan:#a45f48;--line:#d9cfc1}
body{background:var(--paper);color:var(--ink);letter-spacing:.015em}
.site-header{height:104px;padding:0 clamp(28px,6.5vw,110px);background:rgba(248,244,236,.96);border-bottom:1px solid rgba(44,37,33,.1)}
.logo{font-size:1.48rem;letter-spacing:.2em;line-height:1.1}
.logo span{font-family:var(--sans);font-size:.5rem;display:block;writing-mode:initial;margin:0 0 3px;letter-spacing:.38em;color:var(--tan)}
.global-nav{gap:clamp(28px,3.5vw,58px);font-size:.68rem;font-weight:500;letter-spacing:.17em}
.global-nav a{padding:39px 0}.global-nav a::after{bottom:30px;background:var(--tan)}
.hero{min-height:calc(100vh - 104px);grid-template-columns:46% 54%}
.hero-content{padding-left:clamp(34px,7vw,130px);padding-right:clamp(34px,6vw,100px)}
.hero h1,.page-hero h1{font-size:clamp(3.4rem,6.4vw,7.2rem);letter-spacing:-.045em;line-height:1.03;margin-bottom:35px}
.eyebrow{color:var(--tan);font-size:.62rem;letter-spacing:.28em}
.button{background:var(--tan);padding:17px 25px;letter-spacing:.08em}.button:hover{background:#864933}
.open-card{background:var(--deep);padding:25px 32px}
.section{max-width:1240px;padding:150px 48px}
.intro{gap:14%}.intro h2,.section-heading h2{font-size:clamp(3.3rem,6vw,6.3rem);letter-spacing:-.045em;line-height:1.04}
.jp-heading{font-family:var(--sans);font-size:.78rem!important;font-weight:500;letter-spacing:.12em;color:var(--tan)!important;margin:22px 0 0!important}
.intro-copy{padding-top:54px}.intro-copy p{line-height:2.15}
.featured{padding-top:75px}.section-heading{margin-bottom:64px}
.menu-card{background:#fdfbf6;border-bottom:1px solid var(--line)}.card-grid{gap:32px}.card-body{padding:26px 4px 20px}
.visit-banner{padding-top:105px;padding-bottom:105px}.visit-banner h2{font-size:clamp(3.1rem,5.5vw,5.8rem);letter-spacing:-.045em;line-height:1.05}.visit-banner .jp-heading{color:#d5a48f!important;margin-bottom:30px!important}
.site-footer{padding:85px clamp(30px,7vw,110px) 40px;background:var(--deep);color:var(--paper);grid-template-columns:1.7fr 1fr 1fr;gap:50px;align-items:start}
.site-footer p{font-size:.74rem;line-height:1.9;opacity:.68;margin:0}.footer-brand p{margin-top:22px}.footer-label{font-size:.58rem!important;letter-spacing:.18em;opacity:.45!important;margin-bottom:17px!important}.footer-social{display:flex;flex-wrap:wrap;gap:0 22px}.footer-social .footer-label{width:100%}.footer-social a{font-family:var(--serif);font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.25)}.copyright{grid-column:1/-1;text-align:right;letter-spacing:.1em;border-top:1px solid rgba(255,255,255,.12);padding-top:30px;margin-top:30px!important}
.page-hero{min-height:620px;padding-top:130px;padding-bottom:130px}.page-hero h1{margin-bottom:24px}.page-hero p:last-child{letter-spacing:.08em}
.menu-category{padding:75px 0}.category-title h2{font-size:2.25rem}.menu-item{padding-bottom:17px;border-bottom:1px solid rgba(44,37,33,.08)}
.story-grid{gap:11%}.story-copy p{line-height:2.15}.value-card{padding:52px 42px}.quote{padding-top:170px;padding-bottom:170px}
.story-copy h2,.access-info h2,.transport h2{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.04em;line-height:1.08}.access-info .jp-heading{margin-bottom:30px!important}.transport{text-align:center}.transport .jp-heading{margin-bottom:35px!important}
.map-pin span{color:var(--tan)}.station{background:var(--deep)}
@media(max-width:800px){.site-header{height:78px;padding:0 22px}.site-header .logo{font-size:1.15rem}.global-nav{top:78px;padding:32px 25px}.global-nav a{padding:14px}.global-nav a::after{bottom:8px}.hero{min-height:auto;grid-template-columns:1fr}.hero-content{padding-top:90px;padding-bottom:90px}.hero h1{font-size:clamp(3.3rem,15vw,5.2rem)}.section{padding:100px 25px}.intro-copy{padding-top:0}.section-heading{margin-bottom:42px}.page-hero{min-height:480px;padding-top:90px;padding-bottom:90px}.page-hero h1{font-size:clamp(3.8rem,18vw,6rem)}.site-footer{grid-template-columns:1fr 1fr;gap:45px 25px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1;text-align:left}.visit-banner{padding-top:75px;padding-bottom:75px}}

/* Home page hero and finishing details */
.hero{min-height:calc(100svh - 104px);display:flex;align-items:center;position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(24,19,16,.67) 0%,rgba(24,19,16,.42) 52%,rgba(24,19,16,.3) 100%),url("images/cafe-hero.png");background-size:cover;background-position:center;color:var(--paper)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,12,.08),transparent 54%,rgba(20,15,12,.38));pointer-events:none}
.hero-content{position:relative;z-index:2;width:min(850px,78vw);padding:clamp(80px,11vh,145px) clamp(32px,8vw,145px)}
.hero-content .eyebrow{color:#dfb5a3}.hero-content>p:not(.eyebrow){font-size:.92rem;line-height:2.1;letter-spacing:.08em;color:rgba(255,255,255,.82);margin-bottom:42px}
.hero-content .button{background:var(--paper);color:var(--ink)}.hero-content .button:hover{background:#fff}
.hero-hours{position:absolute;z-index:2;right:clamp(28px,5vw,82px);bottom:clamp(35px,6vh,72px);padding-left:25px;border-left:1px solid rgba(255,255,255,.42);display:grid;gap:3px}.hero-hours span,.hero-hours small{font-size:.58rem;letter-spacing:.2em;color:rgba(255,255,255,.68)}.hero-hours strong{font-family:var(--serif);font-size:1.1rem;font-weight:500;letter-spacing:.06em}.scroll-cue{position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);font-size:.52rem;letter-spacing:.24em;display:flex;flex-direction:column;align-items:center;gap:12px;color:rgba(255,255,255,.7)}.scroll-cue span{display:block;width:1px;height:42px;background:rgba(255,255,255,.55)}
#welcome{scroll-margin-top:90px}.intro{min-height:720px;align-items:center}.featured{border-top:1px solid var(--line);padding-top:140px;padding-bottom:160px}.menu-card{transition:transform .35s ease,box-shadow .35s ease}.menu-card:hover{transform:translateY(-8px);box-shadow:0 18px 45px rgba(44,37,33,.08)}.menu-card:hover .card-photo{filter:none;transform:scale(1.025)}.menu-card{overflow:hidden}.card-photo{transition:transform .5s ease}.visit-banner{max-width:none;margin:0;min-height:530px}
a:focus-visible,button:focus-visible{outline:2px solid var(--tan);outline-offset:5px}
@media(max-width:800px){.hero{min-height:calc(100svh - 78px);display:flex;background-position:58% center}.hero-content{width:100%;padding:90px 25px 150px}.hero-content>p:not(.eyebrow) br{display:none}.hero-hours{left:25px;right:auto;bottom:45px}.scroll-cue{display:none}.intro{min-height:auto}.featured{padding-top:95px;padding-bottom:110px}.visit-banner{min-height:460px}}

/* Interior pages */
.catalog-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:95px}.catalog-intro h2,.concept-heading h2,.access-copy h2,.arrival h2,.detail-heading h2{font-size:clamp(3.2rem,6vw,6rem);letter-spacing:-.045em;line-height:1.04;margin-bottom:0}.catalog-intro>p{max-width:470px;line-height:2.1;color:#655b55;margin:0}
.filter-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:55px}.filter-button{appearance:none;border:0;background:transparent;color:#8b817a;padding:16px clamp(16px,3vw,38px);font:500 .67rem var(--sans);letter-spacing:.18em;cursor:pointer;position:relative}.filter-button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--tan);transform:scaleX(0);transition:.25s}.filter-button:hover,.filter-button.active{color:var(--ink)}.filter-button.active::after{transform:scaleX(1)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.catalog-card{background:var(--paper);padding:42px 36px;min-height:270px;display:flex;flex-direction:column}.catalog-card[hidden]{display:none}.item-category{font-size:.56rem;letter-spacing:.2em;color:var(--tan);margin-bottom:35px}.catalog-card h3{font-size:1.25rem;margin-bottom:12px}.catalog-card>p:not(.item-category){font-size:.78rem;line-height:1.9;color:#746a64}.catalog-card strong{font:500 1rem var(--serif);margin-top:auto}.menu-catalog .menu-note{margin-top:25px}
.concept-section{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:start}.concept-copy{padding-top:75px}.concept-copy p{line-height:2.2;color:#625953;margin-bottom:27px}.shop-details{background:var(--cream)}.detail-inner{max-width:1240px}.detail-heading{text-align:center;margin-bottom:75px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.detail-card{background:var(--cream);padding:40px 30px;min-height:300px}.detail-card>span{font:500 .65rem var(--serif);color:var(--tan)}.detail-label{font-size:.55rem;letter-spacing:.2em;color:#8a7c73;margin:45px 0 9px}.detail-card h3{font-size:1.45rem;margin-bottom:20px}.detail-card p:last-child{font-size:.76rem;color:#6c625b;line-height:2}
.access-layout{max-width:1320px;display:grid;grid-template-columns:.78fr 1.22fr;gap:9%;align-items:start}.access-list{margin-top:55px}.access-list>div{display:grid;grid-template-columns:120px 1fr;padding:21px 0;border-top:1px solid var(--line)}.access-list dt{font-size:.57rem;letter-spacing:.18em;color:var(--tan)}.access-list dd{font-size:.83rem;line-height:1.9;margin:0}.access-list small{color:#7b716b}.osm-wrap{min-width:0}.osm-wrap iframe{width:100%;height:650px;border:0;display:block;filter:sepia(.15) saturate(.65) contrast(.95)}.osm-wrap>a{display:flex;justify-content:flex-end;gap:15px;margin-top:14px;font-size:.68rem;letter-spacing:.08em}.arrival{background:var(--deep);color:var(--paper)}.arrival .section{text-align:center}.arrival .eyebrow{color:#d5a48f}.arrival h2{margin-bottom:35px}.arrival p{font-size:.82rem;line-height:2;color:rgba(255,255,255,.7)}.arrival .access-note{margin-top:38px;font-size:.68rem;color:rgba(255,255,255,.45)}
@media(max-width:900px){.catalog-intro,.concept-section,.access-layout{grid-template-columns:1fr;gap:45px}.catalog-intro{margin-bottom:65px}.catalog-intro>p,.concept-copy{padding-top:0}.catalog-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.osm-wrap iframe{height:520px}.access-copy{max-width:620px}}
@media(max-width:560px){.filter-tabs{overflow-x:auto}.filter-button{flex:1;padding-left:15px;padding-right:15px}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:230px}.detail-grid{grid-template-columns:1fr}.detail-card{min-height:240px}.access-list>div{grid-template-columns:100px 1fr}.osm-wrap iframe{height:430px}.arrival h2 br{display:none}}

/* Motion and interaction */
.button,.text-link,.footer-social a,.osm-wrap>a{transition:color .25s ease,background-color .25s ease,transform .25s ease,border-color .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(44,37,33,.14)}.text-link:hover{color:var(--tan);border-color:var(--tan)}.text-link span,.button span,.osm-wrap>a span{display:inline-block;transition:transform .25s ease}.text-link:hover span,.button:hover span{transform:translateX(5px)}.osm-wrap>a:hover span{transform:translate(3px,-3px)}.footer-social a:hover{color:#dfb5a3;border-color:#dfb5a3}
.catalog-card,.detail-card{transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;position:relative}.catalog-card:hover{z-index:1;background:#fffdfa;transform:translateY(-6px);box-shadow:0 16px 38px rgba(44,37,33,.1)}.detail-card:hover{z-index:1;background:#f8f1e7;transform:translateY(-5px);box-shadow:0 14px 32px rgba(44,37,33,.08)}
.back-to-top{position:fixed;z-index:30;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,40px);width:58px;height:58px;border:1px solid rgba(248,244,236,.35);border-radius:50%;background:rgba(48,36,31,.92);color:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background-color .25s ease;box-shadow:0 8px 26px rgba(25,18,15,.18)}.back-to-top span{font-size:1rem;line-height:1}.back-to-top small{font-size:.45rem;letter-spacing:.18em;margin-left:.18em}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--tan);transform:translateY(-3px)}
@media(max-width:800px){.nav-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:3;cursor:pointer}.nav-toggle>span:not(.sr-only){margin:3px;transition:transform .3s ease,opacity .2s ease}.nav-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.global-nav.open{animation:nav-in .25s ease both}.back-to-top{width:52px;height:52px}}
@keyframes nav-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(hover:none){.button:hover,.menu-card:hover,.catalog-card:hover,.detail-card:hover,.back-to-top:hover{transform:none;box-shadow:none}}
