:root{--paper:#f4f0e8;--light:#faf8f3;--ink:#2b2521;--muted:#706861;--accent:#9a6449;--line:rgba(43,37,33,.18);--serif:Georgia,"Times New Roman","Yu Mincho",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--light);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.035em}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:104px;padding:0 clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(250,248,243,.96);position:relative;z-index:10}.logo{display:inline-block;text-decoration:none;font-family:var(--serif);font-size:1.08rem;letter-spacing:.14em;line-height:1}.logo span{display:block;margin-top:8px;color:var(--accent);font-family:var(--sans);font-size:.54rem;font-weight:600;letter-spacing:.52em}.global-nav{display:flex;align-items:center;gap:clamp(28px,4vw,62px)}.global-nav a{position:relative;padding:12px 0;text-decoration:none;font-family:var(--serif);font-size:.76rem;letter-spacing:.15em}.global-nav a::after{content:"";position:absolute;height:1px;right:100%;bottom:4px;left:0;background:var(--accent);transition:right .35s}.global-nav a:hover::after,.global-nav a.current::after{right:0}.menu-toggle{display:none;border:0;background:transparent;padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;width:26px;height:1px;margin:6px 0;background:var(--ink)}
.eyebrow,.footer-label,.item-en{margin:0 0 22px;color:var(--accent);font-size:.65rem;font-weight:600;letter-spacing:.32em;line-height:1.4}h1,h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.95}h1{font-size:clamp(4.3rem,8vw,8.8rem)}h2{font-size:clamp(3.2rem,6vw,6.4rem)}h3{margin:0;font-family:var(--serif);font-size:1.18rem;font-weight:400}.jp-heading,.hero-lead,.page-lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.1rem,1.8vw,1.45rem);letter-spacing:.08em;line-height:1.8}.section{padding:clamp(110px,13vw,210px) clamp(24px,8vw,132px)}
.hero{min-height:calc(100vh - 104px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper);overflow:hidden}.hero-copy{align-self:center;padding:96px clamp(24px,7vw,112px)}.hero-copy h1{margin-bottom:44px}.hero-copy .hero-lead{margin:0 0 14px}.hero-copy>p:not(.eyebrow):not(.hero-lead){margin:0 0 42px;color:var(--muted)}.button{display:inline-flex;min-width:210px;align-items:center;justify-content:space-between;gap:32px;padding:15px 20px;border:1px solid var(--ink);color:var(--light);background:var(--ink);text-decoration:none;font-family:var(--serif);font-size:.7rem;letter-spacing:.16em;transition:.25s}.button:hover{color:var(--ink);background:transparent;transform:translateY(-2px)}
.hero-art{position:relative;min-height:620px;overflow:hidden;background:#d9d0c1}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,255,255,.24),transparent 42%),repeating-linear-gradient(90deg,transparent 0 89px,rgba(43,37,33,.035) 90px)}.art-word{position:absolute;top:-15%;left:4%;color:rgba(43,37,33,.07);font-family:var(--serif);font-size:clamp(25rem,45vw,48rem);line-height:1}.sun{position:absolute;width:min(34vw,420px);aspect-ratio:1;border:1px solid rgba(43,37,33,.24);border-radius:50%;top:11%;right:9%}.cup{position:absolute;z-index:2;width:230px;height:188px;left:19%;top:43%;background:#eee7db;border-radius:4px 4px 80px 80px;box-shadow:35px 46px 60px rgba(43,37,33,.18)}.cup::after{content:"";position:absolute;width:78px;height:86px;right:-72px;top:35px;border:20px solid #eee7db;border-left:0;border-radius:0 60px 60px 0}.coffee{position:absolute;width:208px;height:40px;left:11px;top:8px;border-radius:50%;background:#4a352a;border:6px solid #e4dacb}.saucer{position:absolute;z-index:1;width:350px;height:56px;left:9%;top:68%;border-radius:50%;background:#c9bda9}.steam{position:absolute;z-index:3;width:34px;height:100px;top:27%;border-left:1px solid rgba(43,37,33,.42);border-radius:50%}.steam-one{left:38%}.steam-two{left:48%;top:25%}.art-caption{position:absolute;z-index:4;right:7%;bottom:6%;margin:0;font-family:var(--serif);font-size:.65rem;letter-spacing:.24em;line-height:1.6}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:13vw;align-items:start}.intro-copy{max-width:610px;padding-top:22px}.intro-copy>p:not(.jp-heading){color:var(--muted)}.intro-copy .text-link{margin-top:28px}.text-link{display:inline-flex;gap:34px;padding:8px 0;border-bottom:1px solid var(--ink);text-decoration:none;font-family:var(--serif);font-size:.72rem;letter-spacing:.15em}.text-link:hover{color:var(--accent);border-color:var(--accent)}
.featured{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:78px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}.menu-card{min-width:0}.card-visual{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d4c8b6}.card-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.32),transparent 30%),linear-gradient(145deg,transparent,rgba(43,37,33,.14))}.card-visual i{position:absolute;left:50%;top:50%;display:block;transform:translate(-50%,-50%)}.coffee-visual i{width:42%;aspect-ratio:1.1;background:#ece4d6;border-radius:5px 5px 45% 45%;box-shadow:24px 28px 35px rgba(43,37,33,.18)}.coffee-visual i::after{content:"";position:absolute;width:35%;height:45%;right:-30%;top:20%;border:10px solid #ece4d6;border-left:0;border-radius:0 50% 50% 0}.toast-visual{background:#c8b59c}.toast-visual i{width:54%;height:48%;background:#b78c5e;border:12px solid #ddc49e;border-radius:45% 45% 8% 8%;transform:translate(-50%,-50%) rotate(-7deg);box-shadow:26px 28px 34px rgba(43,37,33,.16)}.pudding-visual{background:#bba890}.pudding-visual i{width:45%;height:38%;top:55%;background:#d6ae67;border-radius:18% 18% 35% 35%;box-shadow:0 -15px #6f4834,25px 26px 34px rgba(43,37,33,.16)}.card-body{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:27px 2px 0}.card-body .item-en{margin-bottom:10px}.card-body p:not(.item-en){margin:7px 0 0;color:var(--muted);font-size:.82rem}.card-body strong{font-family:var(--serif);font-size:.9rem;font-weight:400}
.hours-banner{display:grid;grid-template-columns:1.3fr .8fr auto;align-items:end;gap:56px;color:var(--light);background:var(--ink)}.hours-banner .eyebrow{color:#c38b6e}.hours-banner h2{font-size:clamp(3rem,5.5vw,5.8rem)}.hours-banner>div>p:last-child{color:#c8c0b7}.hours{display:grid;grid-template-columns:auto auto;column-gap:28px;font-size:.8rem}.hours span{color:#a9a19a}.hours strong{font-weight:400}.button-light{color:var(--ink);background:var(--light);border-color:var(--light)}.button-light:hover{color:var(--light)}
.page-hero{min-height:66vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(110px,13vw,190px) clamp(24px,12vw,190px);background:var(--paper);border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:42px}.page-hero .page-lead{margin:0 0 8px}.page-hero>p:last-child{margin:0;color:var(--muted)}.menu-category{display:grid;grid-template-columns:.8fr 1.2fr;gap:12vw;padding:86px 0;border-top:1px solid var(--line)}.menu-category:first-child{padding-top:0;border-top:0}.menu-category>div>span,.values article>span{color:var(--accent);font-family:var(--serif);font-size:.65rem;letter-spacing:.2em}.menu-category h2{margin:18px 0 25px;font-size:clamp(3rem,5vw,5.4rem)}.menu-category>div p{color:var(--muted)}.price-list{list-style:none;margin:0;padding:0}.price-list li{display:flex;justify-content:space-between;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}.price-list li:first-child{padding-top:0}.price-list small{display:block;color:var(--muted);font-size:.7rem}.price-list strong{font-family:var(--serif);font-weight:400}.menu-note{text-align:right;color:var(--muted);font-size:.72rem}
.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:11vw}.story-art{position:relative;min-height:650px;display:grid;place-items:center;overflow:hidden;color:var(--light);background:#66574c}.story-art::before{content:"";position:absolute;width:68%;aspect-ratio:1;border:1px solid rgba(244,240,232,.24);border-radius:50%}.story-monogram{font-family:var(--serif);font-size:clamp(14rem,27vw,27rem);line-height:1;color:rgba(244,240,232,.13)}.story-art p{position:absolute;right:8%;bottom:6%;font-family:var(--serif);font-size:.7rem;letter-spacing:.24em;line-height:1.6}.story-copy h2{margin-bottom:42px}.story-copy p:not(.eyebrow):not(.jp-heading){color:var(--muted)}.values{background:var(--paper)}.values>h2{margin-bottom:74px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.values article{padding:50px 42px;border-right:1px solid var(--line)}.values article:last-child{border-right:0}.values h3{margin:28px 0 12px}.values article p{color:var(--muted)}
.access-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:center}.map{position:relative;min-height:610px;overflow:hidden;background:#ded6c8}.road{position:absolute;background:var(--light)}.road-h{height:80px;left:0;right:0;top:37%;border-top:1px dashed #aaa093;border-bottom:1px dashed #aaa093}.road-v{width:100px;top:0;bottom:0;left:20%;border-left:1px dashed #aaa093;border-right:1px dashed #aaa093}.road span{position:absolute;color:var(--muted);font-size:.65rem}.road-h span{right:10%;top:24px}.road-v span{left:21px;top:8%}.river{position:absolute;width:54px;right:12%;top:-5%;bottom:-5%;background:#c4c0b7;transform:rotate(9deg)}.map-pin{position:absolute;left:48%;top:49%;display:flex;align-items:center;gap:12px}.map-pin b{display:grid;place-items:center;width:54px;height:54px;border-radius:50% 50% 50% 0;color:white;background:var(--accent);transform:rotate(-45deg);font-family:var(--serif)}.map-pin span{font-family:var(--serif);font-size:.62rem;font-weight:600;letter-spacing:.13em;line-height:1.5}.shop-info h2{margin-bottom:42px;font-size:clamp(2.2rem,3.5vw,3.8rem)}.shop-info dl{border-top:1px solid var(--line)}.shop-info dl div{display:grid;grid-template-columns:110px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.shop-info dt{font-size:.75rem;font-weight:600}.shop-info dd{margin:0}.notice{margin-top:28px;padding:18px 20px;background:var(--paper);font-size:.75rem}
.site-footer{display:grid;grid-template-columns:1.5fr 1fr .6fr;gap:7vw;padding:90px clamp(24px,8vw,132px) 55px;color:var(--light);background:var(--ink);font-size:.76rem}.site-footer .logo{color:var(--light)}.footer-brand>p{margin-top:28px;color:#aaa29b;font-family:var(--serif);font-size:1rem;font-style:italic}.footer-label{color:#c38b6e}.footer-hours>p:last-child{color:#c8c0b7;line-height:2.1}.footer-social a{display:block;width:max-content;margin-bottom:8px;text-decoration:none;border-bottom:1px solid rgba(250,248,243,.35)}.footer-social a:hover{color:#c38b6e}.copyright{grid-column:1/-1;margin:55px 0 0;padding-top:22px;border-top:1px solid rgba(250,248,243,.14);color:#8f8882;font-family:var(--serif);font-size:.62rem;letter-spacing:.15em}
@media(max-width:820px){body{font-size:14px}.site-header{height:78px}.menu-toggle{display:block}.global-nav{display:none;position:absolute;top:78px;left:0;right:0;padding:32px 24px 40px;flex-direction:column;align-items:flex-start;gap:16px;background:var(--light);border-bottom:1px solid var(--line);box-shadow:0 20px 30px rgba(43,37,33,.08)}.global-nav.open{display:flex}.global-nav a{font-size:1rem}.hero{grid-template-columns:1fr}.hero-copy{padding:90px 24px 80px}.hero-art{min-height:520px}.cup{left:17%;transform:scale(.82);transform-origin:left center}.saucer{left:3%;transform:scale(.82);transform-origin:left center}.section{padding:105px 24px}.intro,.menu-category,.story,.access-layout{grid-template-columns:1fr;gap:58px}.card-grid,.values-grid{grid-template-columns:1fr}.section-heading{align-items:flex-end;margin-bottom:54px}.section-heading h2{font-size:clamp(3rem,14vw,4.3rem)}.card-grid{gap:64px}.hours-banner{grid-template-columns:1fr;align-items:start}.page-hero{min-height:58vh;padding-inline:24px}.menu-category{padding:62px 0}.story-art,.map{min-height:480px}.values-grid{border:0}.values article{padding:36px 0;border-right:0;border-top:1px solid var(--line)}.site-footer{grid-template-columns:1fr 1fr;gap:54px 28px;padding:72px 24px 40px}.footer-brand{grid-column:1/-1}.copyright{margin-top:20px}}
@media(max-width:420px){h1{font-size:3.8rem}.hero-art{min-height:430px}.section-heading{display:block}.section-heading .text-link{margin-top:30px}.shop-info dl div{grid-template-columns:90px 1fr}.site-footer{grid-template-columns:1fr}.footer-brand,.copyright{grid-column:auto}}
/* Home photography */
.intro{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);grid-template-rows:auto 1fr;column-gap:clamp(56px,9vw,150px);row-gap:56px;align-items:start}
.intro-heading{grid-column:1;grid-row:1}.intro-image{grid-column:2;grid-row:1/3;margin:0;min-width:0;overflow:hidden}.intro-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.intro-copy{grid-column:1;grid-row:2;padding-top:0}
.card-visual{aspect-ratio:1/1}.card-visual::before{z-index:1;pointer-events:none;background:linear-gradient(145deg,transparent 62%,rgba(43,37,33,.08))}.card-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.menu-card:hover .card-visual img{transform:scale(1.025)}
/* Home hero: generated editorial photography */
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 104px);display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(27,22,19,.78) 0%,rgba(27,22,19,.58) 38%,rgba(27,22,19,.08) 72%),linear-gradient(0deg,rgba(27,22,19,.32),transparent 38%),url("images/cafe-interior-hero.jpg");background-size:cover;background-position:center;color:var(--light)}
.hero-copy{width:min(760px,62vw);padding:clamp(90px,11vw,150px) clamp(24px,8vw,132px);position:relative;z-index:1}
.hero-copy h1{font-size:clamp(5rem,9.2vw,10rem);text-shadow:0 2px 24px rgba(0,0,0,.16)}
.hero-copy .eyebrow{color:#d1a389}
.hero-copy .hero-lead{color:var(--light)}
.hero-copy>p:not(.eyebrow):not(.hero-lead){color:rgba(250,248,243,.78)}
.hero .button{color:var(--ink);background:var(--light);border-color:var(--light)}
.hero .button:hover{color:var(--light);background:transparent}
.hero-meta{position:absolute;right:clamp(24px,5vw,78px);bottom:40px;left:clamp(24px,8vw,132px);z-index:1;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(250,248,243,.38);font-family:var(--serif);font-size:.62rem;letter-spacing:.18em}
@media(max-width:820px){.intro{grid-template-columns:1fr;grid-template-rows:auto;gap:44px}.intro-heading,.intro-image,.intro-copy{grid-column:1;grid-row:auto}.intro-image{margin-inline:-24px}.intro-image img{aspect-ratio:3/2}.hero{min-height:calc(100svh - 78px);background-position:62% center}.hero-copy{width:100%;padding:100px 24px 130px}.hero-copy h1{font-size:clamp(4.4rem,20vw,7rem)}.hero-meta{left:24px;right:24px;bottom:26px;gap:20px;font-size:.54rem}.hero-meta span:last-child{text-align:right}}
@media(max-width:420px){.hero{background-image:linear-gradient(90deg,rgba(27,22,19,.78),rgba(27,22,19,.28)),linear-gradient(0deg,rgba(27,22,19,.4),transparent 40%),url("images/cafe-interior-hero.jpg")}.hero-copy>p:not(.eyebrow):not(.hero-lead) br{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Menu catalog */
.menu-filter{position:sticky;top:0;z-index:5;display:flex;gap:10px;margin:-34px 0 100px;padding:16px 0;background:rgba(250,248,243,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.filter-button{min-width:108px;padding:12px 18px;border:1px solid var(--line);color:var(--ink);background:transparent;font-family:var(--serif);font-size:.68rem;letter-spacing:.16em;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.filter-button:hover,.filter-button.active{color:var(--light);background:var(--ink);border-color:var(--ink)}
.catalog-group{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr);gap:clamp(60px,11vw,170px);padding:0 0 120px;margin-bottom:120px;border-bottom:1px solid var(--line)}
.catalog-group[hidden]{display:none}.catalog-heading>span{display:block;margin-bottom:42px;color:var(--accent);font-family:var(--serif);font-size:.72rem;letter-spacing:.2em}.catalog-heading .eyebrow{margin-bottom:18px}.catalog-heading h2{margin-bottom:30px}.catalog-heading p:last-child{max-width:360px;color:var(--muted)}
.catalog-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.catalog-list li{display:flex;justify-content:space-between;gap:24px;padding:27px 0;border-bottom:1px solid var(--line)}.catalog-list h3{font-size:1.12rem}.catalog-list p{margin:6px 0 0;color:var(--muted);font-size:.78rem}.catalog-list strong{flex:none;font-family:var(--serif);font-size:.88rem;font-weight:400}.menu-section .menu-note{margin-top:-70px}

/* Story and shop facts */
.concept{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(60px,10vw,160px);align-items:center;background:var(--paper)}.concept-copy h2{margin-bottom:44px}.concept-copy>p:not(.eyebrow):not(.jp-heading){color:var(--muted)}.concept-image{margin:0;overflow:hidden}.concept-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.facts{position:relative;background:var(--light)}.facts-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:10vw;align-items:end;margin-bottom:90px}.facts-heading .eyebrow{grid-column:1/-1}.facts-heading>p:last-child{max-width:430px;color:var(--muted)}.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-grid>div{padding:42px 32px;border-right:1px solid var(--line)}.facts-grid>div:last-child{border-right:0}.facts-grid dt{margin-bottom:28px;color:var(--accent);font-family:var(--serif);font-size:.64rem;letter-spacing:.18em}.facts-grid dd{margin:0}.facts-grid strong{display:block;margin-bottom:22px;font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,3rem);font-weight:400;line-height:1}.facts-grid span{color:var(--muted);font-size:.75rem}.fiction-note{margin:28px 0 0;color:var(--muted);font-size:.7rem}

/* OpenStreetMap */
.map-embed{min-width:0}.map-embed iframe{display:block;width:100%;height:620px;border:0;filter:grayscale(1) sepia(.12) contrast(.92)}.map-embed>a{display:inline-block;margin-top:14px;text-decoration:none;border-bottom:1px solid var(--ink);font-family:var(--serif);font-size:.68rem;letter-spacing:.08em}.map-embed>a:hover{color:var(--accent);border-color:var(--accent)}.shop-info .fiction-note{padding-top:20px;border-top:1px solid var(--line)}

@media(max-width:900px){.catalog-group{grid-template-columns:1fr;gap:50px}.facts-grid{grid-template-columns:repeat(2,1fr)}.facts-grid>div:nth-child(2){border-right:0}.facts-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:820px){.menu-filter{top:0;margin:-28px -24px 70px;padding:14px 24px;overflow-x:auto;scrollbar-width:none}.menu-filter::-webkit-scrollbar{display:none}.filter-button{min-width:98px}.catalog-group{padding-bottom:80px;margin-bottom:80px}.catalog-heading h2{font-size:clamp(3.7rem,18vw,5.2rem)}.menu-section .menu-note{margin-top:-35px;text-align:left}.concept{grid-template-columns:1fr;gap:54px}.concept-image{margin-inline:-24px}.facts-heading{grid-template-columns:1fr;gap:30px;margin-bottom:58px}.facts-heading .eyebrow{grid-column:auto}.map-embed{margin-inline:-24px}.map-embed iframe{height:480px}.map-embed>a{margin-left:24px}}
@media(max-width:520px){.facts-grid{grid-template-columns:1fr}.facts-grid>div{padding:34px 0;border-right:0;border-bottom:1px solid var(--line)}.facts-grid>div:nth-child(2){border-right:0}.facts-grid>div:last-child{border-bottom:0}.catalog-list li{padding:22px 0}.catalog-list p{padding-right:8px}.map-embed iframe{height:420px}}

/* Progressive motion: content remains visible when JavaScript is unavailable */
.js-enabled [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.js-enabled [data-reveal].is-visible{opacity:1;transform:none}

.button,.text-link,.menu-card,.filter-button,.catalog-list li,.footer-social a{transition-property:color,background-color,border-color,transform,box-shadow,opacity;transition-duration:.3s;transition-timing-function:ease}
.menu-card{padding-bottom:18px;border-bottom:1px solid transparent}.catalog-list li>div{transition:transform .3s ease}

.back-to-top{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,36px);z-index:20;width:62px;height:62px;display:grid;place-content:center;gap:1px;border:1px solid rgba(250,248,243,.3);border-radius:50%;color:var(--light);background:rgba(43,37,33,.92);box-shadow:0 10px 30px rgba(43,37,33,.18);font-family:var(--serif);font-size:.54rem;letter-spacing:.12em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s,visibility .3s,transform .3s,background .3s}
.back-to-top span:first-child{font-family:var(--sans);font-size:1rem;line-height:1}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--accent);transform:translateY(-3px)}

@media(hover:hover){.button:hover{box-shadow:0 10px 24px rgba(43,37,33,.12)}.menu-card:hover{transform:translateY(-7px);border-bottom-color:var(--accent)}.filter-button:hover{transform:translateY(-2px)}.catalog-list li:hover>div{transform:translateX(7px)}.text-link:hover span{transform:translate(2px,-2px)}.footer-social a:hover{transform:translateX(4px)}}

@media(max-width:820px){body.nav-open{overflow:hidden}.menu-toggle{position:relative;z-index:2}.menu-toggle>span:not(.sr-only){transition:transform .3s ease,opacity .2s ease}.menu-toggle.active>span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active>span:nth-child(2){opacity:0}.menu-toggle.active>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.global-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:visibility .3s,opacity .3s,transform .3s}.global-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.back-to-top{width:54px;height:54px;right:16px;bottom:16px}}

@media(prefers-reduced-motion:reduce){.js-enabled [data-reveal]{opacity:1;transform:none}.back-to-top,.menu-toggle>span,.global-nav{transition:none!important}.button,.text-link,.menu-card,.filter-button,.catalog-list li,.footer-social a{transition:none!important}}
