@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--olive:#29392e;--deep:#1c2b23;--cream:#f4eee2;--gold:#d3b47b;--ink:#2b372e;--purple:#7c688d;--muted:#756f64;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--ink)}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ac90be;outline-offset:6px}button{color:inherit}img{display:block;width:100%;object-fit:cover}button svg{width:24px;height:24px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}em{font-weight:400}h2{font-size:clamp(42px,4.8vw,70px);letter-spacing:-1.4px}h2 em{color:#7c7960}.skip{position:fixed;top:-80px;z-index:1000;background:var(--gold);padding:10px}.skip:focus{top:0}.concept{height:29px;background:#e7ddce;color:#4e5045;text-align:center;font-size:10px;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px}.concept-dot{width:5px;height:5px;background:#867293;border-radius:50%}.header{height:100px;padding:0 6%;display:flex;justify-content:space-between;align-items:center;gap:28px;background:var(--olive);color:var(--cream);border-bottom:1px solid #ffffff1b;position:relative;z-index:20}.wordmark{display:flex;align-items:center;gap:15px;font-family:var(--serif);font-size:22px;letter-spacing:2px;line-height:1.2;white-space:nowrap}.wordmark small{font-size:20px;font-style:italic;letter-spacing:1px;display:block;text-align:center;color:var(--gold)}.mark-flourish{font-size:38px;color:var(--gold)}nav{display:flex;gap:30px;font-size:12px}nav a{transition:color .2s}nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:25px}.languages{display:flex;gap:7px;font-size:11px;align-items:center}.languages button{border:0;background:none;padding:3px;color:#aeb6ac}.languages button[aria-pressed=true]{color:var(--gold)}.languages span{opacity:.3}.basket{display:flex;gap:7px;align-items:center;border:0;background:none;color:var(--cream);padding:5px}.basket span{font-size:10px;color:var(--gold)}.mobile-toggle{display:none;background:none;border:0;color:var(--cream);font-size:24px}.hero{height:710px;min-height:600px;position:relative;background:var(--deep);color:var(--cream);overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;width:100%;object-position:center 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,39,29,.97) 0%,rgba(24,39,29,.83) 25%,rgba(24,39,29,.14) 65%,rgba(24,39,29,.05)),linear-gradient(0deg,rgba(24,39,29,.35),transparent 40%)}.hero-content{position:relative;z-index:1;padding:55px 0 0 9%;max-width:680px}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:2.4px;font-weight:500;display:flex;align-items:center;gap:12px;line-height:1.8}.hero .eyebrow{color:var(--gold);margin-bottom:24px}.hero .eyebrow>span:first-child{width:30px;height:1px;background:var(--gold)}h1{font-size:clamp(70px,7.7vw,108px);line-height:.95;letter-spacing:-2px}h1 em{color:var(--gold)}.hero-text{font-size:14px;line-height:1.9;color:#e1dfd3;margin-top:26px}.hero-buttons{display:flex;align-items:center;gap:30px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 24px;border:1px solid transparent;font-size:12px;font-family:var(--sans);font-weight:500;transition:background .2s,transform .2s}.gold{background:var(--gold);color:#243429}.gold:hover{background:#e4c58c;transform:translateY(-2px)}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;border-bottom:1px solid #b4ac9666;padding:8px 0}.text-link:hover{color:var(--gold)}.hero-caption{position:absolute;right:7%;bottom:67px;display:flex;align-items:center;gap:13px;transform:rotate(-5deg);font-family:var(--serif);font-size:30px;font-style:italic;color:#fff1d8}.mini-star{color:var(--gold);font-size:34px}.scroll-cue{position:absolute;left:9%;bottom:24px;font-size:9px;letter-spacing:2px;color:#d8d7cb;display:flex;gap:25px}.ribbon{height:55px;background:#d7c49f;display:flex;justify-content:space-around;align-items:center;gap:30px;overflow:hidden;white-space:nowrap;font-size:10px;letter-spacing:3px}.ribbon i,.colored-dots i,.small-dots i{display:block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.red{background:#b56452}.blue{background:#7d9caa}.yellow{background:#cda857}.section{padding:100px 9%;scroll-margin-top:15px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-heading .eyebrow{color:#78745d;margin-bottom:15px}.section-intro{font-size:13px;color:var(--muted);line-height:1.9;max-width:280px}.pleasure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.pleasure-img{height:300px;overflow:hidden;position:relative;background:#e6ddcc}.pleasure-img img{height:100%;transition:transform .7s}.pleasure-card:hover img{transform:scale(1.05)}.coffee-crop img{object-position:85% 65%;width:175%;max-width:none;margin-left:-75%}.atmosphere-crop img{width:190%;max-width:none;object-position:left center}.pleasure-img>span{position:absolute;left:16px;top:16px;color:white;border:1px solid #fff6;width:28px;height:28px;display:grid;place-items:center;font-size:10px;border-radius:50%;backdrop-filter:blur(5px)}.pleasure-card>div:nth-child(2){display:flex;align-items:center;justify-content:space-between;padding:22px 0 8px}.pleasure-card h3{font-size:35px}.pleasure-card>p{font-size:12px;color:var(--muted)}.story{background:#e9e2d4;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;overflow:hidden}.story-art{height:510px;position:relative;display:flex;justify-content:center;align-items:center}.purple-door{height:440px;width:280px;background:linear-gradient(100deg,#837092,#6d577d);border:12px solid #8d789b;box-shadow:inset 0 0 0 5px #5c486e,18px 20px 0 #d8ceb9;position:relative;transform:rotate(-4deg)}.door-panel{position:absolute;left:20px;right:20px;border:5px solid #715b83;box-shadow:inset 2px 2px 6px #0003,2px 2px 3px #fff2}.door-panel.top{top:20px;height:250px}.door-panel.bottom{top:292px;bottom:16px}.door-knob{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f4dfa5,#b58b45);position:absolute;right:9px;top:275px;box-shadow:2px 2px 4px #0006}.photo-frame{position:relative;isolation:isolate}.story-frame{position:absolute;width:230px;height:300px;left:13px;top:8px;transform:rotate(4deg)}.framed-photo{position:absolute;top:14%;left:15%;width:70%;height:72%;object-fit:cover;z-index:0}.frame-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;filter:drop-shadow(4px 6px 4px #0003)}.handwritten{position:absolute;right:-5px;bottom:12px;font-family:var(--serif);font-style:italic;font-size:32px;transform:rotate(-9deg);color:#78648a}.story-spark{position:absolute;left:0;top:12px;font-size:60px;color:#99845f}.story-copy .eyebrow{color:#7b765f;margin-bottom:20px}.story-copy h2{font-size:68px}.story-copy p:not(.eyebrow){font-size:13px;line-height:1.95;color:#66675b;margin-top:20px}.colored-dots{display:flex;gap:10px;margin-top:25px}.story-copy .text-link{margin-top:18px}.demo-note{display:flex;gap:10px;align-items:center;padding:12px 16px;font-size:11px;background:#e9e2d4;color:#655b4c;margin-bottom:24px}.demo-note>span:first-child{font-size:20px;color:#8a7351}.menu-tabs{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}.menu-tabs button{padding:9px 20px;border:1px solid #b7b5a6;background:none;font-size:11px;border-radius:30px}.menu-tabs button.selected{background:var(--olive);color:var(--cream);border-color:var(--olive)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product{background:#ece5d8}.product-img{height:210px;overflow:hidden;background:#ded4c3}.product-img img{height:100%}.product-img.coffee img{object-position:right 70%;width:170%;max-width:none;margin-left:-70%}.product-info{padding:22px}.product-tag{font-size:9px;letter-spacing:1.8px;color:#807c66}.product h3{font-size:29px;margin:9px 0}.product-description{font-size:11px;color:#706e60;min-height:36px;line-height:1.7}.product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:19px;padding-top:14px;border-top:1px solid #a29d862b}.product-price{font-size:16px}.add-button{border:1px solid #838873;background:transparent;color:var(--olive);font-size:11px;padding:8px 11px;transition:background .2s}.add-button:hover{background:var(--olive);color:var(--cream)}.gallery{background:var(--olive);color:var(--cream);text-align:center;position:relative;overflow:hidden}.gallery-heading .eyebrow{justify-content:center;color:var(--gold);margin-bottom:15px}.gallery h2 em{color:var(--gold)}.gallery-heading>p:last-child{font-size:13px;color:#c6cbbf;margin-top:20px}.gallery-wall{display:flex;align-items:center;justify-content:center;gap:65px;margin-top:45px;min-height:430px}.gallery-frame{border:0;background:none;padding:0;width:260px;height:350px;flex-shrink:0;transition:transform .4s}.gallery-frame.first{transform:rotate(-7deg)}.gallery-frame.second{transform:rotate(7deg)}.gallery-frame:hover{transform:rotate(0) scale(1.035)}.gallery-frame.first .framed-photo{object-position:75% center}.gallery-middle{min-width:200px}.gallery-middle p{font-family:var(--serif);font-size:43px;line-height:1.15}.gallery-middle em{color:var(--gold)}.small-dots{display:flex;justify-content:center;gap:12px;margin-bottom:25px}.tiny-star{display:block;color:var(--gold);font-size:32px;margin-top:25px}.gallery-note{font-size:10px;color:#acb7a9;margin-top:35px}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:15%;align-items:center}.visit .eyebrow{color:#78745d;margin-bottom:20px}.visit-copy>p:not(.eyebrow){font-size:13px;color:#777365;max-width:340px;margin-top:22px}.address{display:flex;gap:18px;align-items:center;margin:28px 0}.address>span{font-size:28px;color:#8c7a57}.address strong{font-weight:500;font-size:13px;display:block}.address div>span{font-size:11px;color:#79786a;display:block}.visit-buttons{display:flex;gap:25px;align-items:center}.visit-card{border:1px solid #aa946d;background:#e7decb;outline:1px solid #aa946d;outline-offset:-12px;padding:40px 25px;text-align:center;transform:rotate(3deg);box-shadow:12px 14px 0 #ded4c2;max-width:380px}.visit-card-top{font-family:var(--serif);font-size:18px;letter-spacing:3px}.drawn-cup{font-size:70px;line-height:1.4;margin:25px 0;color:var(--olive)}.visit-card p{font-family:var(--serif);font-size:44px;line-height:1.1}.visit-card .colored-dots{justify-content:center}.visit-card-bottom{font-size:9px;letter-spacing:2px;display:block;margin-top:30px}footer{padding:55px 9% 20px;background:var(--deep);color:var(--cream);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px}footer>p{font-family:var(--serif);font-size:23px;font-style:italic;color:#c4c5b4}footer>a:last-of-type{font-size:12px}.footer-bottom{flex-basis:100%;border-top:1px solid #ffffff20;padding-top:20px;margin-top:15px;display:flex;justify-content:space-between;color:#a4afa1;font-size:9px}.cart-dialog{border:0;padding:32px;width:470px;max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;background:var(--cream);color:var(--ink);overscroll-behavior:contain}.cart-dialog::backdrop,.lightbox::backdrop{background:#0d1813b8;backdrop-filter:blur(5px)}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{font-size:42px;margin-top:5px}.drawer-head .eyebrow{font-size:9px}.close{background:none;border:0;font-size:33px;line-height:1;padding:8px;color:inherit}.cart-demo{font-size:11px;color:#77674c;background:#e9e0cf;padding:12px;margin:25px 0}.cart-items{margin-bottom:30px}.cart-row{padding:20px 0;border-bottom:1px solid #b8b7a044;display:flex;gap:14px}.cart-row>img{width:66px;height:80px;object-fit:cover}.cart-row-content{flex:1}.cart-row-content h3{font-size:24px}.cart-row-content>p{font-size:11px;margin:3px 0 8px}.quantity{display:flex;align-items:center;gap:13px}.quantity button{background:none;border:1px solid #9fa48f;width:28px;height:28px;padding:0}.quantity span{font-size:12px}.remove{font-size:10px;background:none;border:0;color:#77674c;text-decoration:underline}.row-right{display:flex;flex-direction:column;justify-content:space-between;align-items:end;font-size:12px}.total{display:flex;justify-content:space-between;font-size:15px;padding:20px 0}.total strong{font-size:22px;font-weight:500}#copyCart{width:100%;justify-content:center}.cart-hint{font-size:10px;color:#7a7767;margin:15px 0}.clear{background:none;border:0;text-decoration:underline;font-size:11px;padding:4px 0}.empty{padding:55px 0;text-align:center;color:#7d7d6b}.empty span{display:block;font-size:40px;margin-bottom:15px}.empty p{font-family:var(--serif);font-size:30px;margin-bottom:20px}.lightbox{border:0;padding:16px;background:var(--cream);width:800px;max-width:94vw;color:var(--ink);overflow:auto;max-height:94dvh}.lightbox>.close{position:absolute;right:20px;top:20px;background:var(--cream);border-radius:50%;height:40px;width:40px;z-index:2}.lightbox img{max-height:78dvh;object-fit:contain;background:var(--deep)}.lightbox p{font-size:11px;text-align:center;margin-top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 24px;background:var(--deep);color:var(--cream);box-shadow:0 5px 25px #0002;font-size:12px;z-index:100;opacity:0;visibility:hidden;transition:.3s;max-width:90vw;text-align:center}#toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(min-width:1500px){.header{padding-left:max(9%,calc((100vw - 1300px)/2));padding-right:max(9%,calc((100vw - 1300px)/2))}.hero{height:790px}.hero-content{padding-top:75px}.section{padding-left:max(9%,calc((100vw - 1200px)/2));padding-right:max(9%,calc((100vw - 1200px)/2))}}
@media(max-width:1100px){nav{gap:18px;font-size:11px}.header{padding:0 5%;gap:20px}.wordmark{font-size:19px;gap:10px}.mark-flourish{font-size:30px}.header-actions{gap:15px}.section{padding:80px 7%}.hero-content{padding-left:7%}.pleasure-img{height:240px}.story{gap:8%}.story-copy h2{font-size:56px}.gallery-wall{gap:30px}.gallery-frame{width:225px;height:310px}.gallery-middle{min-width:160px}.gallery-middle p{font-size:37px}.visit{gap:8%}.product-info{padding:18px}.product h3{font-size:25px}}
@media(max-width:800px){.header{height:85px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--olive);padding:20px 7% 30px;box-shadow:0 15px 20px #0003;flex-direction:column;gap:0;font-size:15px}.header nav.open{display:flex}.header nav a{padding:12px 0;border-bottom:1px solid #ffffff20}.mobile-toggle{display:block}.hero{height:690px}.hero-photo{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#1b2b21ed 0%,#1b2b21b8 40%,#1b2b2140),linear-gradient(0deg,#1b2b2166,transparent)}h1{font-size:85px}.hero-content{padding-top:70px}.section-heading{align-items:start}.section-intro{max-width:220px;font-size:12px}.pleasure-grid{gap:18px}.pleasure-img{height:200px}.pleasure-card h3{font-size:29px}.story{grid-template-columns:1fr 1fr;gap:5%}.story-art{height:450px}.purple-door{width:230px;height:400px}.story-frame{width:200px;height:265px;left:3px}.story-copy h2{font-size:47px}.handwritten{font-size:25px;right:-15px}.products{grid-template-columns:repeat(2,1fr)}.gallery-frame{width:200px;height:280px}.gallery-wall{gap:15px}.gallery-middle{min-width:130px}.gallery-middle p{font-size:30px}.visit-card p{font-size:35px}.visit-card{padding:35px 20px}.visit-buttons{gap:15px}.visit-buttons .button{gap:15px;padding:13px 18px}}
@media(max-width:600px){html{scroll-padding-top:20px}.concept{height:28px;font-size:8px;letter-spacing:0;padding:0 8px}.header{height:80px;padding:0 6%;gap:12px}.wordmark{font-size:16px;letter-spacing:1px;gap:8px}.wordmark small{font-size:17px}.mark-flourish{font-size:25px}.header-actions{gap:12px}.languages{gap:3px;font-size:10px}.basket{gap:3px;padding:0}.basket svg{width:20px}.mobile-toggle{font-size:21px;padding:0}.header nav{top:80px}.hero{height:690px;min-height:0}.hero-photo{object-position:67% center}.hero-shade{background:linear-gradient(90deg,#192c23de 0%,#192c2399 65%,#192c2344),linear-gradient(0deg,#192c2388,transparent 60%)}.hero-content{padding:55px 7% 0;max-width:none}h1{font-size:82px;line-height:.98}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:25px}.hero-text{font-size:12px;line-height:1.9;margin-top:25px}.hero-buttons{gap:20px;flex-wrap:wrap;margin-top:25px}.button{padding:14px 18px;gap:24px;font-size:11px}.hero-buttons .text-link{font-size:11px}.hero-caption{bottom:46px;right:7%;font-size:25px}.hero-caption .mini-star{font-size:24px}.scroll-cue{left:7%;bottom:20px;font-size:8px;letter-spacing:1.4px}.ribbon{height:46px;font-size:9px;gap:25px;justify-content:start;padding:0 25px;letter-spacing:2px}.section{padding:65px 7%}.section-heading{display:block;margin-bottom:30px}h2{font-size:44px;letter-spacing:-.7px}.section-heading .eyebrow,.eyebrow{font-size:8px;letter-spacing:1.9px}.section-intro{max-width:none;margin-top:18px;font-size:12px}.pleasure-grid{grid-template-columns:1fr;gap:30px}.pleasure-img{height:310px}.pleasure-card h3{font-size:34px}.pleasure-card>div:nth-child(2){padding-top:16px}.pleasure-card>p{font-size:12px}.story{display:flex;flex-direction:column-reverse;gap:35px}.story-copy h2{font-size:51px}.story-copy p:not(.eyebrow){font-size:12px}.story-art{width:100%;height:430px}.purple-door{height:390px;width:245px}.door-panel.bottom{top:280px}.story-frame{width:213px;height:280px;top:2px;left:3px}.handwritten{right:0;bottom:0;font-size:29px}.story-spark{left:0;font-size:45px}.products{gap:14px}.product-img{height:158px}.product-info{padding:13px}.product h3{font-size:24px;min-height:48px;line-height:1.05}.product-tag{font-size:8px;letter-spacing:1px}.product-description{font-size:10px;min-height:50px}.product-bottom{align-items:start;gap:8px;flex-direction:column;margin-top:10px}.product-price{font-size:14px}.add-button{width:100%;font-size:10px;padding:7px 5px}.menu-tabs button{padding:8px 14px;font-size:10px}.demo-note{font-size:10px;line-height:1.7}.gallery-heading p:last-child{font-size:12px}.gallery-wall{display:grid;grid-template-columns:1fr 1fr;gap:28px 12px;margin-top:38px;min-height:0}.gallery-frame{width:100%;height:auto;aspect-ratio:3/4}.gallery-frame.first{transform:rotate(-5deg)}.gallery-frame.second{transform:rotate(5deg)}.gallery-middle{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:24px}.gallery-middle p{font-size:32px}.gallery-middle .small-dots{flex-direction:column;gap:10px;margin:0}.gallery-middle .tiny-star{margin:0}.gallery-note{font-size:9px;line-height:1.9}.visit{grid-template-columns:1fr;gap:50px}.visit-copy>p:not(.eyebrow){font-size:12px}.visit-card{max-width:300px;width:90%;justify-self:center}.visit-card p{font-size:43px}footer{padding:40px 7% 20px;gap:25px}footer .wordmark{font-size:19px}footer>p{font-size:20px;flex-basis:100%;order:2}footer>a:last-of-type{font-size:11px}.footer-bottom{order:3;display:block;font-size:9px;margin-top:0}.footer-bottom span{display:block;margin-top:4px}.cart-dialog{padding:25px 20px;width:100%}.drawer-head h2{font-size:36px}.cart-demo{font-size:10px}.cart-row-content h3{font-size:22px}.lightbox{padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.framed-photo{top:20%;left:20%;width:60%;height:60%}
/* Woven bohemian direction, inspired by the café's round cream mirror. */
:root{--olive:#414a35;--deep:#293225;--gold:#d6b98b;--cream:#f3ecde;--ink:#343b2c;--purple:#a16d53}
.hero-shade{background:linear-gradient(90deg,#293423f5 0%,#293423d9 25%,#29342321 67%,#2934230d),linear-gradient(0deg,#29342377,transparent 40%)}
.section.pleasures,.menu-section,.visit{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}
.wordmark{letter-spacing:1.7px}.wordmark small{color:#e3cba6}.hero .eyebrow,.gallery-heading .eyebrow{color:#e3cba6}.hero-caption{border-top:1px dashed #e2cfa66b;padding-top:12px;font-size:28px}.ribbon{background:#d2b691;color:#3f4734}.button{border-radius:3px}.gold{background:#d9bd91}.story{background:#ded7c5;gap:9%}.story-art{height:510px}.story-frame{position:absolute;width:370px;height:370px;left:9%;top:2%;transform:rotate(-6deg);z-index:2}.framed-photo{top:20%;left:20%;width:60%;height:60%;border-radius:50%}.frame-overlay{filter:drop-shadow(4px 8px 7px #0003)}.paper-note{position:absolute;right:-6%;bottom:24px;width:285px;min-height:250px;padding:37px 32px 25px;background:#eee6d5;border:1px solid #d0c3a9;box-shadow:8px 8px 0 #c9b99c66;transform:rotate(6deg);z-index:3}.paper-note:before{content:'';position:absolute;top:-12px;left:calc(50% - 40px);width:80px;height:27px;background:#c3ab7e77;transform:rotate(-8deg)}.paper-note>span{font-size:8px;letter-spacing:1.2px;color:#74705c}.paper-note>p{font-family:var(--serif);font-size:33px;line-height:1.15;margin-top:15px}.paper-note em{color:#a16d53}.paper-note .colored-dots{margin-top:20px;gap:7px}.story-spark{z-index:4;top:0;left:0;color:#9e7250;font-size:55px}.handwritten{z-index:4;bottom:-15px;right:3%;color:#8a5e44;font-size:29px;transform:rotate(-6deg)}.story-copy h2 em{color:#9c7450}.pleasure-img{border-radius:42% 42% 2px 2px}.product{background:#e8deca;border-radius:3px}.menu-tabs button.selected{background:#515840}.gallery{background:#414a35;background-image:radial-gradient(#e8dcbe08 1px,transparent 1px);background-size:7px 7px}.gallery-wall{gap:35px;margin-top:40px;min-height:390px}.gallery-frame{width:310px;height:310px}.gallery-frame.first{transform:translateY(-20px) rotate(-9deg)}.gallery-frame.second{transform:translateY(30px) rotate(8deg)}.gallery-frame:hover{transform:translateY(0) rotate(0) scale(1.04)}.gallery-middle{min-width:190px}.gallery-middle p{font-size:38px}.gallery-middle em{color:#e3cba6}.gallery-note{color:#d7d6c6}.visit-card{background:#dfcbb0;outline-style:dashed;border-color:#a3855f;outline-color:#b69771;box-shadow:10px 12px 0 #d5c6ac;transform:rotate(-3deg)}.visit-card p em{color:#9b694a}.hero-caption .mini-star{color:#deb88d}footer{background:#293225}
@media(max-width:1100px){.story-frame{width:310px;height:310px;left:0}.paper-note{right:-4%;width:255px}.gallery-frame{width:255px;height:255px}.gallery-middle{min-width:155px}.gallery-middle p{font-size:33px}}
@media(max-width:800px){.story-art{height:450px}.story-frame{width:265px;height:265px;left:0}.paper-note{right:0;width:225px;min-height:220px;padding:30px 23px}.paper-note>p{font-size:29px}.handwritten{font-size:23px;right:0;bottom:0}.gallery-wall{gap:15px;min-height:320px}.gallery-frame{width:215px;height:215px}.gallery-middle{min-width:125px}.gallery-middle p{font-size:28px}}
@media(max-width:600px){.hero-shade{background:linear-gradient(90deg,#293423ef,#293423a8 65%,#29342366),linear-gradient(0deg,#29342388,transparent 60%)}.hero-caption{font-size:23px;bottom:47px}.story-art{height:455px;max-width:380px}.story-frame{width:290px;height:290px;left:-3%;top:0}.paper-note{width:240px;right:-1%;bottom:30px;min-height:220px}.paper-note>p{font-size:31px}.story-spark{left:auto;right:0;top:20px;font-size:45px}.handwritten{font-size:26px;bottom:-6px;right:0}.gallery-wall{gap:20px 3px;min-height:0}.gallery-frame{width:100%;height:auto;aspect-ratio:1}.gallery-frame.first{transform:translateY(-6px) rotate(-8deg)}.gallery-frame.second{transform:translateY(15px) rotate(7deg)}.gallery-middle{margin-top:10px}.gallery-middle p{font-size:32px}.gallery-heading h2{font-size:43px}.pleasure-img{height:320px;border-radius:43% 43% 2px 2px}}
.trailer-details{max-width:800px;margin:25px auto 0}.trailer-description{font-size:15px;line-height:1.95;color:#e4e4d6;max-width:690px;margin:0 auto}.trailer-history{font-size:12px;color:#c3cab7;line-height:1.9;max-width:650px;margin:20px auto 32px}.trailer-invite{border-top:1px solid #e5d8b735;padding-top:32px}.trailer-invite .eyebrow{justify-content:center;color:#e3cba6;font-size:10px}.trailer-invite>p{font-size:13px;line-height:1.9;color:#d2d8c7;max-width:570px;margin:15px auto 0}.trailer-buttons{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:25px}.trailer-section .gallery-middle p{font-size:34px}.trailer-section .gallery-middle{min-width:220px}
@media(max-width:1100px){.header nav{gap:18px}.trailer-section .gallery-middle p{font-size:30px}.trailer-section .gallery-middle{min-width:185px}}
@media(max-width:800px){.trailer-section .gallery-middle p{font-size:25px}.trailer-section .gallery-middle{min-width:150px}}
@media(max-width:600px){.trailer-section .gallery-middle p{font-size:30px}.trailer-details{margin-top:30px}.trailer-description{font-size:13px;line-height:1.9}.trailer-history{font-size:11px;margin-top:20px}.trailer-invite .eyebrow{font-size:8px}.trailer-invite>p{font-size:12px}.trailer-buttons{gap:20px;flex-direction:column}.trailer-buttons .button{min-width:240px}.trailer-section .gallery-note{margin-top:30px}}

/* Unframed photographs */
.photo-frame{background:none;border:0;padding:0;box-shadow:none}.photo-frame .framed-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:6px;object-fit:cover}.gallery-frame.first,.gallery-frame.second{transform:none}.gallery-frame:hover{transform:translateY(-4px)}.gallery-frame{height:390px}.story-frame{transform:rotate(-3deg)}
@media(max-width:1100px){.gallery-frame{height:340px}}
@media(max-width:800px){.gallery-frame{height:290px}}
@media(max-width:600px){.gallery-frame{height:auto;aspect-ratio:3/4}.gallery-frame.first,.gallery-frame.second{transform:none}}

.opening-hours{margin:26px 0 30px;max-width:420px}.opening-hours h3{font-size:30px;margin-bottom:14px}.opening-hours dl{margin:0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #29392e22;font-size:12px}.opening-hours dt{font-weight:400}.opening-hours dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap;color:#6e613e}@media(max-width:400px){.opening-hours dl>div{font-size:11px;gap:12px}}


/* Café menu: two photo-led categories with clear, compact menu rows. */
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;align-items:start;max-width:1100px;margin:32px auto 0;padding:0}.menu-group{min-width:0;background:#eee6d5;border:1px solid #c9bda44d;border-radius:7px;overflow:hidden}.menu-group-photo{height:235px;position:relative;overflow:hidden;background:#d4c7b0}.menu-group-photo img{height:100%;width:100%;object-fit:cover;object-position:center 62%}.menu-group-number{position:absolute;left:20px;top:18px;display:grid;place-items:center;width:35px;height:35px;background:#f4eee2e8;color:#4c533e;border-radius:50%;font-size:11px}.menu-group-body{padding:29px 29px 10px}.menu-group-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:22px;border-bottom:1px solid #9a8d7055}.menu-group-heading h3{font-family:var(--serif);font-size:43px;line-height:1;font-weight:400}.menu-group-heading>span{font-size:8px;letter-spacing:1.5px;color:#81785e}.menu-rows .product{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;background:transparent;border:0;border-bottom:1px solid #9a8d7033;border-radius:0;box-shadow:none;margin:0;transform:none;overflow:visible}.menu-rows .product:last-child{border-bottom:0}.product-copy{min-width:0}.product-copy h4{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.15;margin:0}.menu-rows .product-description{font-size:11px;line-height:1.65;color:#786f5e;min-height:0;margin:8px 0 0;max-width:240px}.product-order{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:12px}.menu-rows .product-price{font-size:16px;white-space:nowrap;color:#374731;font-variant-numeric:tabular-nums}.menu-rows .add-button{width:auto;min-height:36px;padding:7px 13px;border:1px solid #68715a88;border-radius:3px;color:#3b4933;background:transparent;font-size:10px;white-space:nowrap}.menu-rows .add-button:hover{background:#4b583e;color:#fff6e5}.products:has(.menu-group:only-child){grid-template-columns:minmax(0,640px);justify-content:center}
@media(max-width:1000px){.products{gap:24px}.menu-group-body{padding:24px 20px 8px}.menu-group-photo{height:200px}.menu-rows .product{gap:14px}.product-copy h4{font-size:25px}.menu-rows .product-description{font-size:10px}}
@media(max-width:700px){.products{grid-template-columns:minmax(0,1fr);gap:30px;max-width:520px}.menu-group-photo{height:240px}.menu-group-body{padding:26px 24px 8px}.menu-group-heading h3{font-size:39px}.menu-rows .product{gap:18px;padding:21px 0}.product-copy h4{font-size:28px}.menu-rows .product-description{font-size:11px;max-width:240px}.menu-rows .product-price{font-size:16px}.menu-rows .add-button{min-height:40px;font-size:10px}.product-order{gap:10px}}
@media(max-width:380px){.menu-group-body{padding:22px 17px 6px}.menu-group-photo{height:205px}.product-copy h4{font-size:25px}.menu-rows .product-description{font-size:10px}.menu-rows .product{gap:12px}.menu-rows .add-button{padding:7px 9px}}
/* The opening is a café-inspired room rather than a photo collage. */
.header{background:#303c2c;border-bottom:4px solid #69523b;box-shadow:0 8px 20px #17221533}.hero{height:740px;min-height:0;background-color:#35412d;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 105px,#14251635 106px,#67734e20 108px),radial-gradient(ellipse at 78% 12%,#b48b3b33 0,transparent 48%);overflow:hidden;isolation:isolate}.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:12px;background:#614d35;border-top:2px solid #ae8a5666;z-index:3}.hero-content{max-width:49%;padding:86px 0 0 7%;z-index:2}.hero .eyebrow{font-size:9px;letter-spacing:2px;color:#e2c892;margin-bottom:25px}.hero h1{font-size:clamp(76px,7.4vw,108px);line-height:1.01;letter-spacing:-2.3px}.hero h1 em{color:#dfbf7c}.hero-text{font-size:13px;line-height:1.95;max-width:350px;color:#dfdfcb;margin-top:28px}.hero-buttons{margin-top:29px;gap:25px}.hero-buttons .button{font-size:11px;padding:14px 22px;gap:25px}.hero-buttons .text-link{font-size:11px}.cafe-room{position:absolute;right:0;top:0;bottom:13px;width:55%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:1}.cafe-room>img{width:100%;height:100%;object-fit:contain;object-position:center bottom;position:relative;z-index:1;filter:drop-shadow(0 12px 13px #1420133d)}.room-glow{position:absolute;inset:-25% -20% 20%;background:radial-gradient(ellipse at 55% 42%,#e4b85520,transparent 57%)}.hero-caption{right:8%;bottom:30px;font-size:27px;color:#e3c58b;border:0;padding:0;transform:rotate(-4deg);z-index:4}.hero-caption .mini-star{font-size:28px;color:#d0af6e}.scroll-cue{left:7%;bottom:35px;font-size:8px;z-index:4;color:#dbdcc6}.hero:has(+.ribbon){border-bottom:0}
@media(min-width:1600px){.hero{height:800px}.hero-content{padding-top:100px}.cafe-room{right:3%;max-width:850px}.hero h1{font-size:118px}}
@media(max-width:1100px){.hero{height:680px}.hero-content{padding:80px 0 0 6%;max-width:49%}.hero h1{font-size:86px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}.hero-text{font-size:12px;max-width:320px}.hero-buttons{gap:19px}.hero-buttons .button{padding:13px 17px;gap:15px;font-size:10px}.hero-buttons .text-link{font-size:10px}.cafe-room{width:54%;right:-1%}.hero-caption{font-size:24px;right:6%}}
@media(max-width:800px){.hero{height:620px}.hero-content{padding:70px 0 0 6%;max-width:49%}.hero h1{font-size:69px}.hero-text{font-size:11px;max-width:265px}.hero-text br{display:none}.hero-buttons{flex-direction:column;align-items:flex-start;gap:10px}.cafe-room{width:57%;right:-4%;top:0}.hero-caption{font-size:21px;right:5%}.scroll-cue{left:6%}}
@media(max-width:600px){.hero{height:auto;display:flex;flex-direction:column;padding-bottom:38px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 78px,#14251635 79px,#67734e20 81px),radial-gradient(ellipse at 80% 60%,#b48b3b22,transparent 50%)}.hero-content{padding:38px 7% 0;max-width:100%}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:20px}.hero h1{font-size:clamp(64px,16.7vw,90px);line-height:1.01;letter-spacing:-2px}.hero-text{font-size:12px;max-width:320px;margin-top:23px}.hero-text br{display:initial}.hero-buttons{flex-direction:row;align-items:center;gap:22px;margin-top:23px}.hero-buttons .button{font-size:10px;padding:13px 18px;gap:18px}.hero-buttons .text-link{font-size:10px}.cafe-room{position:relative;inset:auto;width:100%;height:460px;margin:-3px auto -16px;flex-shrink:0}.cafe-room>img{object-position:center bottom}.hero-caption{position:relative;inset:auto;align-self:flex-end;margin:0 8% 0;font-size:23px;z-index:4}.scroll-cue{display:none}.hero:after{height:10px}}
@media(max-width:380px){.cafe-room{height:410px}.hero h1{font-size:61px}.hero-content{padding-top:32px}}
/* Ceiling lamp, a framed welcome and an explicit live-music café corner. */
.header{overflow:visible}.header .mark-flourish{visibility:hidden}.ceiling-chandelier{position:absolute;left:1.2%;top:-29px;width:115px;height:235px;pointer-events:none;z-index:35}.ceiling-chandelier img{width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 4px 7px #151b1433)}.hero-content{max-width:52%;padding:74px 0 0 5.5%}.hero .eyebrow{margin-left:35px;margin-bottom:20px}.headline-frame{position:relative;width:100%;max-width:560px;aspect-ratio:900/585;margin-left:-5px;isolation:isolate}.headline-frame>img{position:absolute;width:65%;height:154%;left:17.5%;top:-27%;max-width:none;object-fit:fill;transform:rotate(90deg);z-index:1;pointer-events:none;filter:drop-shadow(3px 6px 8px #15201155)}.hero .headline-frame h1{position:absolute;left:19%;top:20%;width:62%;height:60%;margin:0;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:clamp(49px,5vw,72px);line-height:1;letter-spacing:-1.8px;z-index:2}.headline-frame h1 br{display:none}.hero .headline-frame h1 em{display:block}.hero-text{margin-left:35px;margin-top:28px}.hero-buttons{margin-left:35px}.cafe-room{width:53%;right:0;top:50px;bottom:12px}.music-sign{position:absolute;top:42px;right:8%;width:36%;max-width:440px;z-index:5;text-align:center;padding:15px 18px 17px;background:#263328f0;border:1px solid #c3a46699;box-shadow:inset 0 0 0 5px #303c2c,0 5px 12px #16241633;transform:rotate(1.5deg);color:#eee4cc}.music-sign-label{font-size:8px;letter-spacing:2.4px;color:#d2b16e;display:block}.music-sign-title{display:block;font-family:var(--serif);font-size:31px;line-height:1.1;margin:8px 0}.music-sign-title>span:first-child{font-size:24px;color:#d9bb7b}.music-sign-detail{display:block;font-size:10px;line-height:1.8;color:#d4d6c2}.music-sign:hover{border-color:#e6c98d;background:#303e2d}.hero-caption{right:6%;font-size:24px}
@media(min-width:1600px){.hero-content{padding-top:95px}.hero .headline-frame h1{font-size:73px}.music-sign{top:50px;right:10%}}
@media(max-width:1100px){.ceiling-chandelier{width:95px;height:215px;left:.3%}.hero-content{padding:70px 0 0 4%;max-width:53%}.hero .eyebrow,.hero-text,.hero-buttons{margin-left:25px}.hero .headline-frame h1{font-size:clamp(43px,5vw,61px)}.music-sign{right:5%;width:38%;top:38px}.music-sign-title{font-size:26px}.music-sign-detail{font-size:9px}.hero-text{margin-top:28px}.cafe-room{right:-1%;width:52%;top:66px}}
@media(max-width:800px){.ceiling-chandelier{left:-.5%;width:80px;height:195px}.header .wordmark{gap:8px}.hero-content{padding-top:65px;max-width:54%}.hero .headline-frame h1{font-size:43px}.hero .eyebrow,.hero-text,.hero-buttons{margin-left:18px}.music-sign{width:39%;right:3.5%;top:35px;padding:12px 10px}.music-sign-title{font-size:23px}.music-sign-label{font-size:7px;letter-spacing:1.4px}.music-sign-detail{font-size:8px}.cafe-room{width:52%;right:-3%;top:115px}.hero-caption{font-size:20px}}
@media(max-width:600px){.ceiling-chandelier{left:0;top:-29px;width:63px;height:175px}.header .mark-flourish{width:23px;flex-shrink:0}.hero-content{padding:47px 5% 0;max-width:100%;width:100%}.hero .eyebrow{margin:0 0 20px 25px;font-size:7px}.headline-frame{max-width:440px;margin:0 auto}.hero .headline-frame h1{font-size:clamp(39px,10.4vw,52px);letter-spacing:-1px}.hero-text{margin:22px 5% 0;max-width:330px}.hero-buttons{margin:23px 5% 0;gap:20px}.music-sign{position:relative;inset:auto;order:2;width:82%;max-width:360px;margin:30px auto 0;padding:15px 18px;transform:rotate(1.5deg)}.music-sign-title{font-size:28px}.music-sign-label{font-size:8px;letter-spacing:2px}.music-sign-detail{font-size:10px}.cafe-room{order:3;position:relative;inset:auto;width:100%;height:440px;margin:-15px auto -10px}.hero-content{order:1}.hero-caption{order:4;position:relative;font-size:22px;inset:auto;margin:0 8% 0}.hero{padding-bottom:35px}}
@media(max-width:380px){.hero .headline-frame h1{font-size:37px}.cafe-room{height:390px}.ceiling-chandelier{width:55px;height:160px}}
@media(min-width:1101px){.ceiling-chandelier{left:0;width:150px;height:225px}}
/* Larger hanging chandelier, anchored at the same left ceiling point. */
@media(min-width:1101px){.ceiling-chandelier{width:210px;height:315px;left:-30px;top:-70px}.hero .eyebrow{margin-left:105px}}
@media(min-width:801px) and (max-width:1100px){.ceiling-chandelier{width:150px;height:260px;left:-20px;top:-60px}.hero .eyebrow{margin-left:75px}}
@media(min-width:601px) and (max-width:800px){.ceiling-chandelier{width:120px;height:220px;left:-15px;top:-45px}.hero .eyebrow{margin-left:62px}}
@media(max-width:600px){.ceiling-chandelier{width:95px;height:190px;left:-14px;top:-42px}}
@media(max-width:380px){.ceiling-chandelier{width:85px;height:180px;left:-12px;top:-40px}}
/* Consolidated narrow-screen layout: no desktop offsets or overlapping ornaments. */
@media(max-width:800px){
 .hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:36px 0 28px;overflow:hidden}
 .hero-content{order:1;width:100%;max-width:none;padding:0 5%;margin:0;min-width:0}
 .hero .eyebrow{justify-content:center;font-size:9px;letter-spacing:1.4px;margin:0 0 18px;gap:10px}
 .headline-frame{width:100%;max-width:520px;margin:0 auto;aspect-ratio:900/585}
 .hero .headline-frame h1{font-size:clamp(30px,8.7vw,61px);line-height:1;letter-spacing:-1px;left:20%;width:60%;top:20%;height:60%}
 .headline-frame h1>span,.headline-frame h1>em{flex-shrink:0;white-space:nowrap}
 .hero-text{margin:23px auto 0;max-width:460px;text-align:center;font-size:13px;line-height:1.85;padding:0 10px}
 .hero-text br{display:none}
 .hero-buttons{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;margin:22px 0 0}
 .hero-buttons .button,.hero-buttons .text-link{min-height:44px;font-size:12px;justify-content:center}
 .hero-buttons .button{padding:12px 19px;gap:20px}.hero-buttons .text-link{gap:12px}
 .music-sign{position:relative;inset:auto;order:2;width:calc(100% - 48px);max-width:450px;transform:none;margin:27px auto 0;padding:17px 15px;min-width:0}
 .music-sign-title{font-size:clamp(25px,6vw,34px);line-height:1.15;margin:9px 0}.music-sign-label{font-size:9px;letter-spacing:1.8px}.music-sign-detail{font-size:12px;line-height:1.7}.music-sign-detail br{display:none}
 .cafe-room{position:relative;inset:auto;order:3;width:min(100%,560px);height:clamp(300px,84vw,470px);margin:0 auto;overflow:hidden;flex-shrink:0}
 .cafe-room>img{position:absolute;bottom:0;left:0;top:auto;width:100%;height:auto;object-fit:contain;object-position:center bottom;max-width:none}
 .hero-caption{position:relative;inset:auto;order:4;align-self:center;transform:none;margin:8px 16px 0;font-size:25px;text-align:center}.hero-caption .mini-star{font-size:24px}.scroll-cue{display:none}
 .hero:after{height:9px}
 .header nav{top:100%;z-index:50;max-height:calc(100dvh - 130px);overflow-y:auto;padding:12px 7% 20px}
 .header nav a{min-height:48px;display:flex;align-items:center;font-size:15px}
 .menu-tabs button{min-height:44px;font-size:12px}.menu-rows .add-button{min-height:44px;font-size:12px;padding:9px 13px}
}
@media(max-width:600px){
 html{scroll-padding-top:16px}body{min-width:0}.concept{height:auto;min-height:28px;line-height:1.4;padding:7px 12px;font-size:8px;text-align:center}
 .header{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:112px;padding:10px 16px 8px;gap:5px;border-bottom-width:3px;overflow:visible}
 .header>.wordmark{justify-self:center;font-size:18px;letter-spacing:1.2px;line-height:1.15;gap:0;padding:0;min-width:0}.header .wordmark small{font-size:17px;line-height:1.2}.header .mark-flourish{display:none}
 .header-actions{display:flex;align-items:center;width:100%;gap:10px;min-width:0;padding-left:64px;justify-content:flex-end}.languages{margin-right:auto;gap:0;font-size:11px}.languages button{min-width:36px;min-height:44px;padding:8px 4px}.languages span{padding:0 2px}.basket{min-width:44px;min-height:44px;justify-content:center;gap:4px;padding:5px}.basket svg{width:22px;height:22px}.basket span{font-size:11px}.mobile-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:25px;flex-shrink:0}
 .ceiling-chandelier{width:92px;height:160px;left:-8px;top:-36px;z-index:25}.ceiling-chandelier img{object-position:center top}
 .header nav{top:100%;padding:8px 20px 18px;max-height:calc(100dvh - 150px);z-index:50;background:#303c2c}
 .hero{padding-top:28px}.hero .eyebrow{font-size:8px}.hero .eyebrow>span:first-child{width:23px}.hero .headline-frame h1{font-size:clamp(28px,8.7vw,47px)}
 .section{padding:48px 6%}.section-heading{margin-bottom:24px}.section-heading h2,.gallery-heading h2,.visit-copy h2,.story-copy h2{font-size:clamp(35px,10.2vw,47px);line-height:1.07;overflow-wrap:break-word}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.section-intro{font-size:13px;margin-top:16px}
 .pleasure-img{height:auto;aspect-ratio:1.15}.pleasure-card>p{font-size:13px}.pleasure-card h3{font-size:34px}
 .story{gap:30px;overflow:hidden}.story-art{width:100%;max-width:360px;height:auto;display:flex;flex-direction:column;gap:22px;margin:auto;padding:0 0 10px}
 .story-frame{order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;transform:none;flex-shrink:0;overflow:hidden;border-radius:5px}.paper-note{order:2;position:relative;inset:auto;width:calc(100% - 22px);max-width:310px;min-height:0;padding:26px;transform:rotate(-2deg);margin:0 auto;box-shadow:5px 6px 0 #c9b99c66}.paper-note>p{font-size:30px}.paper-note>span{font-size:8px}.handwritten{order:3;position:static;inset:auto;font-size:25px;transform:none}.story-spark{display:none}.story-copy p:not(.eyebrow){font-size:13px}
 .products,.products:has(.menu-group:only-child){grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:25px;margin-top:24px}.menu-group-photo{height:auto;aspect-ratio:1.6}.menu-group-body{padding:22px 18px 6px}.menu-group-heading h3{font-size:36px}.menu-rows .product{gap:12px}.product-copy h4{font-size:26px;overflow-wrap:anywhere}.menu-rows .product-description{font-size:12px;line-height:1.65}.product-order{gap:10px}.menu-rows .product-price{font-size:17px}.demo-note{align-items:flex-start;font-size:11px;line-height:1.65;padding:12px}
 .gallery-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;width:100%;min-height:0;margin-top:28px}.gallery-frame{width:100%;min-width:0;height:auto;aspect-ratio:3/4;transform:none!important}.gallery-middle{grid-column:1/-1;grid-row:2;min-width:0!important;gap:20px;margin:0}.trailer-section .gallery-middle p{font-size:29px}.trailer-description{font-size:14px}.trailer-history{font-size:12px}.trailer-invite>p{font-size:13px}.trailer-invite .eyebrow{font-size:9px;letter-spacing:1.5px}.trailer-buttons{gap:14px}.trailer-buttons .button{min-width:0;width:100%;max-width:310px;min-height:46px;font-size:12px}.trailer-buttons .text-link{min-height:44px;font-size:12px}
 .visit{grid-template-columns:minmax(0,1fr);gap:35px}.visit-copy>p:not(.eyebrow){font-size:13px}.visit-buttons{flex-wrap:wrap;gap:14px}.visit-buttons .button,.visit-buttons .text-link{min-height:44px;font-size:12px}.opening-hours{width:100%;max-width:none}.opening-hours dl>div{font-size:12px;gap:12px}.visit-card{width:90%;max-width:300px;transform:none;box-shadow:5px 6px 0 #d5c6ac}
 footer{padding:35px 6% 22px;gap:22px}.footer-bottom{line-height:1.7}.footer-bottom span{overflow-wrap:anywhere}
 .cart-dialog{width:100%;max-width:100%;padding:22px 16px max(22px,env(safe-area-inset-bottom));height:100dvh;overflow-y:auto}.drawer-head h2{font-size:36px}.close{width:44px;height:44px;min-width:44px;padding:5px}.cart-row{gap:10px}.cart-row>img{width:42px;height:62px}.cart-row-content{min-width:0}.cart-row-content h3{font-size:23px;overflow-wrap:anywhere}.quantity{gap:4px}.quantity button{width:44px;height:44px;flex-shrink:0;font-size:18px}.quantity span{min-width:17px;text-align:center}.remove{min-height:44px;font-size:12px}.row-right{font-size:12px;flex-shrink:0}.clear{min-height:44px;font-size:12px}.cart-demo,.cart-hint{font-size:12px;line-height:1.65}.lightbox{padding:10px;max-height:92dvh}.lightbox>.close{right:12px;top:12px}
}
@media(max-width:350px){.header-actions{padding-left:55px;gap:4px}.header>.wordmark{font-size:16px}.languages button{min-width:32px}.hero-buttons{gap:8px 15px}.hero-buttons .button,.hero-buttons .text-link{font-size:11px}.menu-group-body{padding:20px 14px 5px}.menu-rows .add-button{font-size:11px;padding:8px 10px}.product-copy h4{font-size:24px}.opening-hours dl>div{font-size:11px}.quantity button{width:38px;height:44px}}
/* Reservations and a single location label in the header. */
.header-location{display:block;font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:1.6px;color:#c9cdb8;margin-top:7px;text-align:center;font-weight:400}.header .wordmark small{font-size:19px}.header nav{gap:22px}.nav-booking{color:#e4c58c}.music-sign{padding-top:20px}.hero-content{padding-top:65px}.reservation-section{display:grid;grid-template-columns:1fr 1.25fr;align-items:start;gap:8%;background:#e6decc}.reservation-copy .eyebrow{color:#87734e;margin-bottom:20px}.reservation-copy h2{font-size:clamp(43px,4.5vw,66px)}.reservation-copy>p{font-size:14px;line-height:1.9;color:#6a6b59;max-width:350px;margin-top:25px}.booking-explanation{display:flex;align-items:flex-start;gap:15px;margin:27px 0 22px;padding-top:24px;border-top:1px solid #aea38966;max-width:350px}.booking-explanation>span{font-size:27px;color:#8a7450}.booking-explanation p{font-size:12px;line-height:1.85;color:#646651}.reservation-copy>.text-link{font-size:11px;max-width:100%;line-height:1.8}.reservation-form{padding:30px;background:#f5efe2;border:1px solid #c6baa0;border-radius:5px;min-width:0}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px}.booking-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:11px;color:#515942}.booking-field input,.booking-field select,.booking-field textarea{font:inherit;font-size:15px;line-height:1.4;min-height:46px;padding:11px 12px;border:1px solid #b5b29c;background:#fcf8ef;color:#343e2e;border-radius:3px;width:100%;min-width:0;box-sizing:border-box}.booking-field textarea{resize:vertical;min-height:95px}.booking-field :focus-visible{outline:2px solid #a88750;outline-offset:3px}.booking-field select:disabled{color:#898d7c;background:#ece9dd}.booking-wide{grid-column:1/-1}.booking-availability{align-self:center;margin:20px 0 0;font-size:11px;line-height:1.8;color:#6e725c;min-width:0}.booking-hours-note{font-size:10px;line-height:1.8;color:#6c715a;margin:22px 0 17px}.booking-submit{width:100%;min-height:48px;justify-content:space-between;font-size:12px;background:#445139;color:#fff5df}.booking-submit:hover{background:#566247;color:#fff5df}.booking-disclaimer{font-size:11px;line-height:1.8;margin:15px 0 0;color:#7a7c6c}.booking-result{padding:17px;background:#e3e8d7;margin-top:20px;border-left:3px solid #71815e}.booking-result[hidden]{display:none}.booking-result p{font-size:12px;line-height:1.85;color:#3f5036}.booking-result .text-link{font-size:12px;min-height:44px;margin-top:7px}.reservation-section .text-link{overflow-wrap:anywhere}
@media(max-width:1100px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#303c2c;flex-direction:column;padding:15px 6% 24px;box-shadow:0 12px 16px #0003;max-height:calc(100dvh - 130px);overflow-y:auto;z-index:50;gap:0}.header nav.open{display:flex}.header nav a{min-height:48px;padding:12px 0;border-bottom:1px solid #ffffff22;font-size:14px;display:flex;align-items:center}.mobile-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0}.reservation-section{gap:5%}.reservation-form{padding:24px}.booking-fields{gap:18px 14px}}
@media(max-width:800px){.hero-content{padding-top:0}.reservation-section{grid-template-columns:minmax(0,1fr);gap:30px}.reservation-copy>p,.booking-explanation{max-width:580px}.reservation-copy h2{font-size:47px}.reservation-form{width:100%}.booking-explanation{margin:22px 0 15px}.header-location{font-size:9px}}
@media(max-width:600px){.header{min-height:127px}.header>.wordmark{font-size:17px}.header-location{font-size:9px;letter-spacing:1.3px;margin-top:5px}.header .wordmark small{font-size:17px}.reservation-section{gap:26px}.reservation-copy h2{font-size:43px}.reservation-copy>p{font-size:14px;margin-top:20px}.booking-explanation p{font-size:13px}.reservation-copy>.text-link{font-size:12px;min-height:44px}.reservation-form{padding:23px 19px}.booking-fields{gap:18px 14px}.booking-field{font-size:12px}.booking-field input,.booking-field select,.booking-field textarea{font-size:16px;padding:11px 10px;min-height:48px}.booking-hours-note,.booking-disclaimer{font-size:12px}.booking-availability{font-size:11px}.booking-submit{min-height:50px;font-size:13px}}
@media(max-width:400px){.booking-fields{grid-template-columns:minmax(0,1fr)}.booking-wide{grid-column:auto}.booking-availability{margin:0}.reservation-form{padding:22px 16px}.reservation-copy h2{font-size:39px}}
/* A framed café sentiment and a Monday baking note in the story. */
.story-art{height:auto;display:flex;flex-direction:column;align-items:center;gap:28px;padding:5px 0 18px}.story-frame.quote-frame{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:900/585;transform:rotate(-2deg);border:0;background:none;padding:0;overflow:visible;cursor:zoom-in;isolation:isolate}.story-frame.quote-frame .framed-photo{inset:auto;left:19%;top:20%;width:62%;height:60%;border-radius:0;object-fit:cover;object-position:center;z-index:0}.quote-frame-overlay{position:absolute;left:17.5%;top:-27%;width:65%;height:154%;max-width:none;object-fit:fill;transform:rotate(90deg);pointer-events:none;z-index:1;filter:drop-shadow(3px 6px 7px #34271833)}.story-art .paper-note{position:relative;inset:auto;width:88%;max-width:320px;min-height:0;margin:0;padding:27px;transform:rotate(2deg);order:2}.story-art .paper-note>p{font-size:30px;line-height:1.17}.story-art .paper-note>span{font-size:8px;letter-spacing:1.1px}.story-art .handwritten{position:static;inset:auto;order:3;transform:rotate(-3deg);font-size:25px;margin:0}.story-art .story-spark{display:none}.story-frame.quote-frame{order:1}.monday-hours-note{font-size:12px;line-height:1.8;color:#81704d;margin:17px 0 0;max-width:380px}.opening-hours dl>div:first-child dd{color:#8a5e44;font-style:italic}
@media(max-width:800px){.story-art .paper-note{width:92%;padding:23px}.story-art .paper-note>p{font-size:27px}.story-art .paper-note>span{font-size:7px}.story-art{gap:24px}}
@media(max-width:600px){.story-art{height:auto;width:100%;max-width:390px;gap:25px;padding:0 0 10px}.story-frame.quote-frame{width:100%;max-width:390px;aspect-ratio:900/585;transform:none}.story-art .paper-note{width:90%;max-width:310px;padding:25px;transform:rotate(-2deg)}.story-art .paper-note>p{font-size:30px}.story-art .paper-note>span{font-size:8px}.monday-hours-note{font-size:13px}.story-art .handwritten{font-size:24px}}
/* Navigation and its hanging lamp follow the visitor down the page. */
:root{--header-offset:116px}html{scroll-padding-top:var(--header-offset)}.header{position:sticky;top:0;z-index:60}.section{scroll-margin-top:14px}
.cafe-offerings{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:0 0 38px;padding:0}.cafe-offerings li{display:flex;align-items:center;gap:10px;padding:15px 12px;min-width:0;min-height:72px;border-top:1px solid #b8ab8c66;border-bottom:1px solid #b8ab8c66;font-size:12px;line-height:1.55;color:#5d654e}.cafe-offerings li>span:first-child{flex-shrink:0;font-size:23px;line-height:1}.cafe-offerings .lactose-free{background:#e8dec8;border:1px solid #c1a57488;border-radius:4px;color:#655431}.cafe-offerings .lactose-free>span:first-child{font-size:30px;color:#9b7547}
@media(max-width:1100px){.cafe-offerings{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cafe-offerings li{padding:12px;font-size:12px;min-height:65px}}
@media(max-width:800px){:root{--header-offset:103px}.cafe-offerings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cafe-offerings .lactose-free{grid-column:1/-1;justify-content:center}.cafe-offerings li{min-height:62px}}
@media(max-width:600px){:root{--header-offset:155px}html{scroll-padding-top:var(--header-offset)}.cafe-offerings{margin:0 0 28px;gap:10px}.cafe-offerings li{padding:12px 10px;gap:9px;font-size:12px;line-height:1.5}.cafe-offerings li>span:first-child{font-size:22px}.cafe-offerings .lactose-free{font-size:13px}.header nav{max-height:calc(100dvh - 150px)}}
@media(max-width:350px){.cafe-offerings li{font-size:11px;padding:10px 8px;gap:7px}}
/* Text in the story frame, with quiet frames and illustrated daily pleasures. */
.story-quote{order:1;position:relative;isolation:isolate;margin:0;width:100%;max-width:500px;aspect-ratio:4/3;display:grid;place-items:center;transform:rotate(-2deg)}.story-quote:before{content:'';position:absolute;left:19%;top:20%;width:62%;height:60%;background:#eee6d5;z-index:0}.story-quote-border{position:absolute;left:12.5%;top:-16.6667%;width:75%;height:133.3333%;max-width:none;object-fit:fill;transform:rotate(90deg);pointer-events:none;z-index:1;filter:drop-shadow(3px 6px 7px #34271833)}.story-quote p{position:relative;z-index:2;margin:0;max-width:60%;text-align:center;font-family:var(--serif);font-size:clamp(20px,2.1vw,29px);font-weight:400;line-height:1.18;color:#535a42}.story-quote p em{color:#8f6b40}.pleasures .section-intro{position:relative;border:1px solid #b7a47c80;outline:1px solid #c9b99466;outline-offset:-6px;padding:20px 24px;max-width:305px;font-family:var(--serif);font-size:20px;line-height:1.4;color:#79735f;font-style:italic;transform:rotate(1.5deg);background:#f2ebdd80}.pleasures .section-intro:before{content:'✧';position:absolute;left:calc(50% - 11px);top:-13px;padding:0 5px;background:#f3ecde;font-size:17px;line-height:22px;color:#a49169}.pleasure-grid{align-items:start;gap:35px}.pleasure-img{border-radius:0;background:transparent;height:auto;aspect-ratio:1;position:relative;overflow:visible;isolation:isolate}.pleasure-img:before{content:'';position:absolute;inset:15% 8% 6%;border-radius:50%;background:radial-gradient(ellipse,#dbcdb24d,transparent 70%);z-index:-1}.pleasure-img img,.coffee-crop img,.atmosphere-crop img{position:static;inset:auto;width:100%;height:100%;max-width:100%;margin:0;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 10px #6d59341a);transition:transform .35s}.pleasure-card:hover img{transform:translateY(-5px)}.pleasure-img>span{top:14px;left:8px;color:#8d7a58;border-color:#b6a68166;background:#eee6d5;font-size:10px;width:27px;height:27px;backdrop-filter:none}.pleasure-card>div:nth-child(2){padding-top:12px}.pleasure-card h3{font-size:35px}.pleasure-card>p{font-size:13px;line-height:1.75}
@media(max-width:1100px){.story-quote p{font-size:23px}.pleasures .section-intro{font-size:18px;max-width:275px;padding:19px 23px}.pleasure-grid{gap:25px}}
@media(max-width:800px){.story-quote p{font-size:20px}.pleasures .section-intro{max-width:245px;font-size:18px}.pleasure-grid{gap:18px}.pleasure-card h3{font-size:29px}}
@media(max-width:600px){.story-quote{max-width:390px;transform:none;width:100%;aspect-ratio:4/3}.story-quote p{font-size:clamp(18px,5.7vw,23px);line-height:1.18;max-width:59%}.pleasures .section-intro{width:100%;max-width:350px;margin:25px 0 5px;padding:21px 24px;font-size:20px;line-height:1.4;transform:rotate(1deg)}.pleasure-grid{grid-template-columns:minmax(0,1fr);gap:28px}.pleasure-card{max-width:390px;width:100%;justify-self:center}.pleasure-img{width:100%;height:auto;aspect-ratio:1.15;border-radius:0}.pleasure-img img{object-fit:contain}.pleasure-card h3{font-size:34px}.pleasure-card>p{font-size:13px}.pleasure-card>div:nth-child(2){padding-top:3px}}
/* Interactive Google Maps location next to the café address. */
.location-map{width:100%;min-width:0;margin:0;background:#e8deca;border:1px solid #bbaa8566;border-radius:5px;overflow:hidden;box-shadow:8px 10px 0 #dfd4be66}.location-map iframe{display:block;width:100%;height:405px;border:0;background:#e4ddcd}.location-map figcaption{padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}.location-map strong{display:block;font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.2}.location-map figcaption span{display:block;font-size:12px;color:#76735e;margin-top:6px}.location-map figcaption a{font-size:12px;line-height:1.7;border-bottom:1px solid #a4926f66;min-height:35px;display:flex;align-items:center}
@media(max-width:1100px){.location-map iframe{height:370px}.location-map figcaption{padding:18px}.location-map strong{font-size:23px}}
@media(max-width:800px){.visit{grid-template-columns:minmax(0,1fr);gap:35px}.visit-copy>p:not(.eyebrow){max-width:500px}.location-map iframe{height:360px}.location-map{max-width:700px;justify-self:center}}
@media(max-width:600px){.location-map iframe{height:320px}.location-map figcaption{padding:19px;gap:10px}.location-map strong{font-size:26px}.location-map figcaption a{font-size:13px;min-height:44px}.location-map{box-shadow:4px 5px 0 #dfd4be66}}
/* Muted warm map colours and an olive/brass mount to match the café. */
.location-map{padding:9px;background:linear-gradient(140deg,#e6d2a7,#c6aa75 42%,#eadcbb 70%,#b79861);border:1px solid #a88b57;border-radius:6px;box-shadow:0 0 0 3px #c2ae862e,8px 10px 0 #d6c8aa66;position:relative}.location-map iframe{filter:grayscale(.72) sepia(.38) saturate(.66) hue-rotate(9deg) contrast(.94);border-radius:2px 2px 0 0;background:#e5ddc8}.location-map figcaption{background:#35412d;color:#f2ead8;border-top:3px solid #b99b66;padding:20px 22px 18px;gap:12px;border-radius:0 0 2px 2px}.location-map strong{color:#eee5cf;font-family:var(--serif);font-size:27px;font-weight:400}.location-map figcaption span{color:#c6cbb6;font-size:12px}.location-map figcaption a{color:#e0c38c;border-bottom-color:#c3a16777;font-size:12px;letter-spacing:.2px}.location-map figcaption a:hover{color:#fff0cc;border-bottom-color:#e3c88d}.location-map figcaption a:focus-visible{outline:2px solid #e3c88d;outline-offset:4px}
@media(max-width:600px){.location-map{padding:7px;border-radius:4px;box-shadow:0 0 0 2px #c2ae862e,4px 5px 0 #d6c8aa66}.location-map figcaption{padding:19px 17px 16px}.location-map strong{font-size:26px}.location-map figcaption a{font-size:13px;min-height:44px}}
/* Shift the live Google map palette so its red location marker appears olive green. */
.location-map iframe{filter:grayscale(.28) hue-rotate(85deg) saturate(.72) contrast(.94)}
/* A custom, geographically grounded map with direct navigation links. */
.custom-map-link{display:block;position:relative;overflow:hidden;background:#f0e8d4;border-radius:2px 2px 0 0}.custom-map-link>img{display:block;width:100%;height:auto;aspect-ratio:900/630;object-fit:contain;filter:none;transition:opacity .2s}.custom-map-link:hover>img{opacity:.94}.custom-map-link:focus-visible{outline:3px solid #536d40;outline-offset:-4px}.custom-map-hint{position:absolute;right:12px;bottom:12px;background:#f7f0e4ed;color:#536047;padding:7px 11px;border:1px solid #b8aa8566;border-radius:3px;line-height:1.5;font-size:10px;box-shadow:0 2px 6px #34422b14}.map-navigation{display:flex;gap:12px;flex-wrap:wrap;width:100%;margin-top:4px}.location-map figcaption .map-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border:1px solid #bda27399;border-radius:3px;background:#405235;color:#eee1bf;font-size:12px;line-height:1.5;letter-spacing:0}.location-map figcaption .map-navigation a:hover{background:#536343;color:#fff7df;border-color:#dfc38e}.map-attribution{background:#ece3cd;color:#6c735e;font-size:9px;line-height:1.5;text-align:right;padding:5px 8px}.map-attribution a{text-decoration:underline;text-underline-offset:2px}.visit-buttons{flex-wrap:wrap}.custom-location-map figcaption{gap:10px}
@media(max-width:600px){.custom-map-hint{font-size:10px;right:9px;bottom:9px;padding:6px 9px}.map-navigation{gap:10px}.location-map figcaption .map-navigation a{flex:1;min-width:110px;font-size:13px;min-height:46px}.map-attribution{font-size:9px}.custom-location-map figcaption{padding:18px 16px}}

/* Keep the welcome inside its mount; size typography from the actual frame. */
.headline-frame{container-type:inline-size}
.hero .headline-frame h1{left:21%;top:22%;width:58%;height:55%;font-size:clamp(24px,4.1vw,56px);font-size:clamp(22px,10cqw,56px);line-height:1.05;letter-spacing:-.7px;overflow:hidden;padding:0 0 .04em}
.headline-frame h1>span,.headline-frame h1>em{display:block;flex-shrink:0;white-space:nowrap}
/* A quiet brass frame for the opening hours. */
.opening-hours{position:relative;max-width:440px;width:100%;padding:27px 26px 24px;border:4px double #a68b59;background:linear-gradient(130deg,#f8f1e3,#ebe1cc);box-shadow:inset 0 0 0 7px #f3ebda,0 5px 13px #5b4c2910;border-radius:3px}
.opening-hours:before,.opening-hours:after{content:'❧';position:absolute;left:calc(50% - 22px);width:44px;text-align:center;background:#f2e9d7;color:#a68b59;font-size:24px;line-height:25px}
.opening-hours:before{top:-15px}.opening-hours:after{bottom:-14px;transform:rotate(180deg)}
.opening-hours h3{text-align:center;font-size:32px;margin-bottom:19px;color:#626448}
.opening-hours dl{margin:0}.opening-hours dl>div{gap:12px}.opening-hours dt{min-width:0;flex:1}.opening-hours dd{flex-shrink:0}.opening-hours .monday-hours-note{font-size:12px;line-height:1.7;margin-top:17px;padding-top:13px;border-top:1px solid #bba88266}
/* Small room details, with space reserved around the readable content. */
.cafe-decoration{object-fit:contain;pointer-events:none;user-select:none}
.trailer-section{position:relative;isolation:isolate}.gallery-painting{position:absolute;left:1.5%;top:125px;width:clamp(75px,8vw,125px);height:auto;transform:rotate(-5deg);filter:drop-shadow(4px 6px 7px #14211555)}
.reservation-copy{min-width:0}.reservation-vignette{display:block;width:100%;max-width:420px;height:auto;margin:26px auto 0;filter:drop-shadow(0 8px 8px #5e4e2914)}
.visit{position:relative;padding-bottom:245px;isolation:isolate;overflow:hidden}.visit-copy,.location-map{position:relative;z-index:1}.visit-lamp,.visit-flower{position:absolute;z-index:0;bottom:16px;height:205px;width:145px}.visit-lamp{left:2%}.visit-flower{right:2%;width:180px;height:205px}
@media(max-width:1100px){.gallery-painting{left:1%;width:75px;top:115px}.opening-hours{padding:26px 20px}.opening-hours dl>div{font-size:12px}.visit{padding-bottom:220px}.visit-lamp,.visit-flower{height:180px}}
@media(max-width:800px){.gallery-painting{position:static;display:block;width:95px;margin:0 auto 27px;transform:rotate(-4deg)}.reservation-vignette{max-width:340px;margin:20px auto 0}.visit{padding-bottom:205px}.visit-lamp{left:6%;width:115px;height:175px}.visit-flower{right:6%;width:145px;height:165px}.opening-hours{max-width:440px}}
@media(max-width:600px){.opening-hours{max-width:100%;padding:26px 18px 23px;margin-top:27px}.opening-hours h3{font-size:31px}.opening-hours dl>div{font-size:12px;gap:10px}.opening-hours .monday-hours-note{font-size:12px}.reservation-vignette{max-width:320px}.visit{padding-bottom:185px}.visit-lamp{height:155px;width:100px;bottom:10px}.visit-flower{height:145px;width:130px;bottom:12px}.gallery-painting{width:85px;margin-bottom:24px}}
@media(max-width:350px){.opening-hours{padding-left:14px;padding-right:14px}.opening-hours dl>div{font-size:10.5px;gap:7px}.visit-flower{width:115px}.visit-lamp{width:85px}}

/* A taller floor lamp and a more generous flowering corner. */
.visit-lamp{height:460px;width:307px;left:-62px;bottom:16px}
.visit-flower{height:340px;width:270px;right:1%;bottom:16px}
/* The painting belongs beside the trailer's introduction. */
.trailer-heading-layout{display:grid;grid-template-columns:200px minmax(0,760px);gap:45px;align-items:center;justify-content:center;max-width:1050px;margin:0 auto 38px}
.trailer-heading-layout .gallery-painting{position:static;width:200px;height:auto;margin:0;transform:rotate(-5deg)}
.trailer-heading-layout .gallery-heading{min-width:0;margin:0;text-align:center}
.trailer-heading-layout .gallery-heading .eyebrow{justify-content:center}
/* Align the whole invitation, including its table, on the same axis. */
.reservation-copy{text-align:center;display:flex;flex-direction:column;align-items:center}
.reservation-copy>.eyebrow{justify-content:center}.reservation-copy>p,.reservation-copy>.booking-explanation{margin-left:auto;margin-right:auto}
.reservation-copy .booking-explanation{text-align:left;width:100%;max-width:350px}
.reservation-copy .reservation-vignette{width:100%;max-width:400px;margin:27px auto 0}
/* Illustrated menu headers, without photo blocks or picture frames. */
.menu-group{background:transparent;border:0;border-radius:0;overflow:visible}
.menu-group-photo{height:245px;aspect-ratio:auto;overflow:visible;background:radial-gradient(ellipse at 50% 65%,#dfd0ae66,transparent 65%)}
.menu-group-photo img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 6px 8px #5a47251a)}
.menu-group-number{left:15px;top:15px;border:1px solid #bba98780;background:#f0e8d8}
.menu-group-body{padding-top:16px}.cart-row>img{object-fit:contain;background:#eae0cc}
/* An olive and brass booking panel, like a small cabinet in the café. */
.reservation-form{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent 95px,#18261920 96px,#8d956113 98px),linear-gradient(135deg,#3c4934,#2f3e2c);border:4px double #c0a16a;border-radius:3px;padding:38px 32px 30px;box-shadow:inset 0 0 0 7px #29382c,8px 10px 0 #c9bc9e55}
.reservation-form:before{content:'❧';position:absolute;top:-18px;left:calc(50% - 26px);width:52px;font-family:var(--serif);font-size:32px;line-height:32px;text-align:center;color:#d6b87b;background:#35422f}
.reservation-form .booking-field{color:#e8dbbd;letter-spacing:.3px;font-size:12px;gap:10px}
.reservation-form .booking-field>span{font-family:var(--serif);font-size:21px;line-height:1.15}
.reservation-form input,.reservation-form select,.reservation-form textarea{background:#f5eddc;color:#35412e;border:1px solid #c3ad7e;border-radius:2px;box-shadow:inset 0 2px 4px #72613c0c}
.reservation-form select:disabled{background:#59614a;color:#e0ddc8;border-color:#929578}
.reservation-form .booking-hours-note,.reservation-form .booking-disclaimer{color:#cdd0b9}
.reservation-form .booking-availability{color:#ecd6aa}
.reservation-form .booking-submit{background:linear-gradient(120deg,#ddc394,#c3a36b);border:1px solid #e7cfa0;color:#2c3b2b;min-height:50px}
.reservation-form .booking-submit:hover{background:#e7cea0;color:#263927}
.reservation-form .booking-result{background:#e6e1ce;border-left-color:#c6a769}.reservation-form .booking-result .text-link{color:#3e5136}
/* Each navigation link has a small, distinct vintage mount. */
.header #navigation{gap:11px;align-items:center}
.header #navigation a{position:relative;padding:10px 13px;border:1px solid #bda16d88;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:11px;line-height:1.4;white-space:nowrap;box-shadow:inset 0 0 0 3px #303c2c,inset 0 0 0 4px #bd9e6333;transition:background .2s,color .2s}
.header #navigation a:nth-child(1){border:3px double #bca16f;border-radius:3px 10px 3px 10px;transform:rotate(-1deg)}
.header #navigation a:nth-child(2){border-radius:50% / 18%;border-color:#cbb17e}
.header #navigation a:nth-child(3){border:3px double #9eaa84;border-radius:10px 2px;transform:rotate(1deg)}
.header #navigation a:nth-child(4){border-radius:3px;outline:1px solid #bda16d55;outline-offset:3px}
.header #navigation a:nth-child(5){border:3px double #d7b97c;border-radius:18px 3px;transform:rotate(-1deg)}
.header #navigation a:hover{background:#46503b;color:#f1dfb6}
@media(max-width:1250px){.header #navigation{gap:7px}.header #navigation a{padding:9px 9px;font-size:10px}.trailer-heading-layout{grid-template-columns:175px minmax(0,1fr);gap:28px}.trailer-heading-layout .gallery-painting{width:175px}}
@media(min-width:801px) and (max-width:1100px){.visit-lamp{width:240px;height:360px;left:-65px}.visit-flower{width:220px;height:290px;right:0}.reservation-form{padding:33px 22px 27px}}
@media(max-width:1000px){.header #navigation a{white-space:normal}.trailer-heading-layout .gallery-heading h2{font-size:52px}}
@media(max-width:800px){.visit{padding-bottom:300px}.visit-lamp{height:270px;width:180px;left:0;bottom:10px}.visit-flower{height:245px;width:185px;right:2%;bottom:12px}.trailer-heading-layout{grid-template-columns:130px minmax(0,1fr);gap:25px}.trailer-heading-layout .gallery-painting{width:130px}.trailer-heading-layout .gallery-heading h2{font-size:42px}.trailer-heading-layout .gallery-heading .eyebrow{font-size:8px}.reservation-copy .reservation-vignette{max-width:340px}.header #navigation{gap:12px}.header #navigation a{display:flex;width:100%;min-height:48px;font-size:14px;padding:12px 16px;transform:none!important}.reservation-form{padding:32px 24px 26px}}
@media(max-width:600px){.trailer-heading-layout{display:flex;flex-direction:column;gap:28px;margin-bottom:30px}.trailer-heading-layout .gallery-painting{width:140px}.trailer-heading-layout .gallery-heading h2{font-size:clamp(35px,10.2vw,47px)}.menu-group-photo{height:220px;aspect-ratio:auto}.menu-group-body{padding:14px 0 6px}.reservation-copy .reservation-vignette{max-width:320px}.reservation-form{padding:31px 18px 24px;box-shadow:inset 0 0 0 5px #29382c,4px 6px 0 #c9bc9e55}.reservation-form .booking-field>span{font-size:21px}.visit{padding-bottom:280px}.visit-lamp{height:250px;width:167px;left:-9px}.visit-flower{height:215px;width:150px;right:1%}}
@media(max-width:350px){.visit-lamp{width:140px;height:220px;left:-10px}.visit-flower{width:135px;height:195px}.visit{padding-bottom:250px}.reservation-form{padding-left:14px;padding-right:14px}}
@media(max-width:1250px){.header #navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#303c2c;flex-direction:column;padding:18px 7% 25px;max-height:calc(100dvh - 150px);overflow-y:auto;gap:13px;box-shadow:0 12px 16px #0003;z-index:50}.header #navigation.open{display:flex}.header #navigation a{width:100%;min-height:48px;font-size:14px;transform:none!important;padding:12px 16px;white-space:normal}.mobile-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0}}

/* A small gallery over the map, like pictures on the café wall. */
.visit-location{position:relative;z-index:1;min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:29px;align-self:center}
.visit-paintings{display:block;width:100%;max-width:390px;height:185px;object-fit:contain;object-position:center;margin:0 auto;filter:drop-shadow(2px 4px 5px #5b43241a)}
/* Walnut moulding and brass inlay around the geographically accurate map. */
.custom-location-map{width:100%;padding:15px;background:repeating-linear-gradient(3deg,#513a27 0,#644831 2px,#725139 4px,#533a28 7px);border:3px solid #ab8853;border-radius:3px;box-shadow:inset 0 0 0 3px #302c20,inset 0 0 0 5px #ac8a53,0 0 0 1px #78603e,7px 9px 0 #beaf8c44,0 10px 20px #56412416;overflow:visible}
.custom-location-map:before{content:'❧';position:absolute;left:calc(50% - 25px);top:-20px;width:50px;font-size:30px;line-height:32px;color:#cbb17a;background:#59432c;text-align:center;border:1px solid #ac8a53;border-radius:50%;pointer-events:none}
.custom-location-map:after{content:'';position:absolute;inset:7px;border:1px solid #c5a46b88;border-radius:2px;pointer-events:none}
.custom-location-map .custom-map-link{border:1px solid #aa9266;border-radius:0;background:#eae1c9}
.custom-location-map .custom-map-link>img{filter:sepia(.12) saturate(.78);opacity:1}
.custom-location-map .custom-map-link:hover>img{opacity:.94}
.custom-location-map .custom-map-hint{border:1px solid #b89c63;background:#eee1c8ed;color:#4d583c;border-radius:0}
.custom-location-map figcaption{background:repeating-linear-gradient(90deg,transparent 0,transparent 85px,#14261726 86px,#87925b13 88px),#303e2d;border-top:3px double #c2a16a;border-radius:0;padding:24px 22px 21px;gap:16px}
.custom-location-map strong{font-size:30px;line-height:1.1;color:#ecdbb5}
.custom-location-map figcaption span{color:#ccd0b8}
.custom-location-map figcaption .map-navigation a{background:linear-gradient(130deg,#d8bc88,#c5a36a);border:1px solid #e0c693;border-radius:2px;color:#2e3e2c;box-shadow:inset 0 0 0 2px #ad8e5833;font-size:12px}
.custom-location-map figcaption .map-navigation a:hover{background:#e5cca0;border-color:#ecd5ab;color:#273a27}
.custom-location-map .map-attribution{background:#e7ddc5;color:#5d644e;border-top:1px solid #bea777}
/* A coffee grinder on its own little walnut shelf. */
.trailer-accessory{position:absolute;right:1.8%;bottom:155px;width:170px;pointer-events:none;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 6px 6px #12211322)}
.trailer-accessory>img{width:155px;height:185px;object-fit:contain;position:relative;z-index:1}
.accessory-shelf{display:block;width:170px;height:10px;background:linear-gradient(#b08854,#795739 40%,#4f3a29);border-bottom:3px solid #483625;box-shadow:0 6px 9px #14211433;position:relative;margin-top:-4px}
.accessory-shelf:before,.accessory-shelf:after{content:'';position:absolute;top:7px;width:5px;height:24px;background:#a48750;border:1px solid #675439;transform:skew(-22deg)}
.accessory-shelf:before{left:22px}.accessory-shelf:after{right:22px}
@media(max-width:1250px){.trailer-accessory{width:130px;right:1%;bottom:135px}.trailer-accessory>img{width:125px;height:150px}.accessory-shelf{width:130px}.visit-paintings{height:155px}}
@media(max-width:1000px){.trailer-accessory{position:relative;inset:auto;width:150px;margin:37px 0 0 auto}.trailer-accessory>img{width:140px;height:160px}.accessory-shelf{width:150px}}
@media(max-width:800px){.visit-location{max-width:700px;justify-self:center;gap:25px}.visit-paintings{max-width:370px;height:175px}.custom-location-map{max-width:100%}}
@media(max-width:600px){.visit-paintings{height:145px;max-width:310px}.visit-location{gap:23px}.custom-location-map{padding:11px;box-shadow:inset 0 0 0 2px #302c20,inset 0 0 0 4px #ac8a53,0 0 0 1px #78603e,4px 5px 0 #beaf8c44}.custom-location-map:after{inset:5px}.custom-location-map figcaption{padding:21px 16px 18px}.custom-location-map strong{font-size:27px}.custom-location-map figcaption .map-navigation a{font-size:13px}.trailer-accessory{margin:32px auto 0;width:145px}.trailer-accessory>img{width:135px;height:155px}.accessory-shelf{width:145px}}
.trailer-accessory>img{height:auto;aspect-ratio:1}.trailer-accessory .accessory-shelf{margin-top:-10px}

/* Equal side columns put the trailer title on the actual centre line. */
.trailer-heading-layout{grid-template-columns:180px minmax(0,1fr) 180px;gap:30px;max-width:none;width:100%;margin:0 auto 38px}
.trailer-heading-layout .gallery-painting{grid-column:1;width:180px;justify-self:start;transform:rotate(-5deg)}
.trailer-heading-layout .gallery-heading{grid-column:2;width:100%;text-align:center}
.trailer-heading-layout .gallery-heading h2{font-size:clamp(42px,4.6vw,70px);overflow-wrap:normal}
.trailer-heading-layout .gallery-heading .eyebrow{font-size:9px;letter-spacing:1.7px;justify-content:center}
.trailer-accessory{right:1.8%;bottom:110px;width:180px}.trailer-accessory>img{width:180px;height:auto;aspect-ratio:1;filter:drop-shadow(0 5px 6px #18271633)}
/* A looser little collection of paintings, with room below for the map. */
.visit-paintings{max-width:410px;height:210px}.visit-location{gap:27px}
.visit-location>.map-attribution{align-self:flex-end;width:auto;background:transparent;border:0;color:#73745f;padding:0 2px;font-size:9px;line-height:1.5;margin-top:-17px}
/* Keep the plant below the map instead of behind its frame. */
.visit{padding-bottom:320px}
.visit-flower{width:205px;height:260px;right:2%;bottom:21px}
.visit:after{content:'';position:absolute;left:0;right:0;bottom:0;height:15px;background:linear-gradient(#c0a475 0 2px,#8a704d 3px,#a68a61 5px,#6c583e 8px,#594c37);box-shadow:0 -3px 8px #74613c0d;z-index:2;pointer-events:none}
.visit-welcome{position:absolute;left:25%;right:25%;bottom:77px;text-align:center;font-family:var(--serif);font-style:italic;font-size:31px;line-height:1.25;color:#857853;transform:rotate(-2deg);pointer-events:none}
.visit-welcome>span:first-child{display:block;color:#b19661;font-size:27px;margin-bottom:9px}
/* Five visibly different small frames: brass, oval, walnut, ivory and gilt. */
.header #navigation a{box-shadow:none;min-height:49px;isolation:isolate;line-height:1.2}
.header #navigation a:nth-child(1){border:5px ridge #b79b64;border-radius:1px;outline:1px solid #806d46;outline-offset:1px;background:#303e2f;padding:8px 12px;transform:rotate(-1.5deg)}
.header #navigation a:nth-child(2){border:3px double #d6bc84;border-radius:50%;background:#434b36;padding:12px 16px;transform:rotate(1deg);box-shadow:0 0 0 2px #766342}
.header #navigation a:nth-child(3){border:5px ridge #876044;border-radius:3px 3px 9px 3px;background:#2b3a2c;padding:8px 12px;transform:rotate(1deg);box-shadow:inset 0 0 0 1px #b19363}
.header #navigation a:nth-child(4){border:3px double #e3d4b1;outline:2px solid #a89e82;outline-offset:1px;border-radius:9px 1px;background:#4b5540;padding:10px 12px;transform:rotate(-1deg)}
.header #navigation a:nth-child(5){border:4px ridge #d1ae65;outline:1px solid #9e814a;outline-offset:2px;border-radius:17px 3px 17px 3px;background:#39452d;padding:9px 13px;transform:rotate(1.5deg);color:#efd5a3;box-shadow:inset 0 0 0 2px #a38a4a44}
.header #navigation a:hover{background:#596044;color:#fff0cd}
@media(max-width:1250px){.header #navigation{gap:17px}.header #navigation a:nth-child(n){transform:none;width:100%;min-height:49px;padding:12px 16px}.header #navigation a:nth-child(2){border-radius:26px / 50%}.trailer-heading-layout{grid-template-columns:145px minmax(0,1fr) 145px;gap:23px}.trailer-heading-layout .gallery-painting{width:145px}.trailer-accessory{width:145px;bottom:110px}.trailer-accessory>img{width:145px}}
@media(max-width:1000px){.trailer-heading-layout{grid-template-columns:120px minmax(0,1fr) 120px;gap:20px}.trailer-heading-layout .gallery-painting{width:120px}.trailer-heading-layout .gallery-heading .eyebrow{font-size:8px;letter-spacing:1px}.trailer-accessory{position:relative;inset:auto;margin:28px 0 0 auto}.visit-flower{width:185px;height:240px}}
@media(max-width:800px){.trailer-heading-layout{display:flex;flex-direction:column;gap:28px}.trailer-heading-layout .gallery-painting{width:145px;align-self:center}.trailer-heading-layout .gallery-heading{width:100%}.trailer-heading-layout .gallery-heading h2{font-size:clamp(38px,6.4vw,52px)}.visit-paintings{height:195px;max-width:385px}.visit{padding-bottom:285px}.visit-flower{width:165px;height:220px;right:2%}.visit-welcome{bottom:70px;font-size:27px;left:28%;right:25%}}
@media(max-width:600px){.trailer-accessory{margin:28px auto 0;width:150px}.trailer-accessory>img{width:150px}.trailer-heading-layout .gallery-heading h2{font-size:clamp(35px,10.2vw,47px)}.visit-paintings{height:175px;max-width:325px}.visit{padding-bottom:360px}.visit-flower{width:140px;height:190px;bottom:21px;right:0}.visit-lamp{height:250px;width:167px;bottom:21px;left:-9px}.visit-welcome{left:10%;right:10%;bottom:265px;font-size:26px;transform:rotate(-2deg)}.visit-welcome>span:first-child{font-size:22px;margin-bottom:6px}}

/* Quiet outlines: the silhouette differs, without bright material effects. */
.header #navigation a:nth-child(n){border:1px solid #b9a27177;background:transparent;box-shadow:none;outline:0;transform:none;padding:10px 13px;color:#e1dfcf;min-height:42px}
.header #navigation a:nth-child(1){border-radius:2px}
.header #navigation a:nth-child(2){border-radius:50%}
.header #navigation a:nth-child(3){border-radius:15px 15px 2px 2px}
.header #navigation a:nth-child(4){border-radius:12px 2px 12px 2px}
.header #navigation a:nth-child(5){border-radius:22px 5px 5px 22px;color:#d8c18e}
.header #navigation a:nth-child(n):hover{background:#ffffff08;border-color:#c6af7aaa;color:#f1e6cc}
.trailer-wall-clock{position:absolute;left:6.5%;top:425px;width:120px;height:120px;object-fit:contain;filter:drop-shadow(2px 5px 7px #18231533)}
@media(max-width:1250px){.header #navigation a:nth-child(n){padding:12px 16px;min-height:46px}.header #navigation a:nth-child(2){border-radius:50% / 25%}.trailer-wall-clock{left:5%;top:385px;width:105px;height:105px}}
@media(max-width:1000px){.trailer-wall-clock{position:relative;inset:auto;width:95px;height:95px;margin:0 auto 27px}}
@media(max-width:600px){.trailer-wall-clock{width:88px;height:88px;margin-bottom:24px}}

/* A little more weight, keeping the quiet, different frame silhouettes. */
.header #navigation a:nth-child(n){border-width:2px;border-color:#b9a27199;padding:9px 12px}
.header #navigation a:nth-child(n):hover{border-color:#cbb17cbf}
/* This ornament is part of the sticky header, just like the chandelier. */
.header-hanging-art{position:absolute;right:1%;top:calc(100% - 5px);width:132px;height:218px;z-index:35;pointer-events:none;user-select:none}
.header-hanging-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;filter:drop-shadow(2px 4px 5px #15201333)}
@media(min-width:1251px){.hero .music-sign{right:12%;width:33%}}
@media(max-width:1250px){.header #navigation a:nth-child(n){padding:11px 15px}.header-hanging-art{top:9px;right:205px;width:51px;height:76px}}
@media(max-width:800px){.header-hanging-art{right:190px;top:7px;width:46px;height:70px}}
@media(max-width:600px){.header-hanging-art{right:7px;top:5px;width:43px;height:72px}}
@media(max-width:350px){.header-hanging-art{right:3px;width:36px;height:64px}}
/* An announcement board for confirmed live-music evenings. */
.music-events{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:10%;align-items:center;background:repeating-linear-gradient(90deg,transparent 0,transparent 110px,#1d2c2024 111px,#8a94621a 113px),#35422f;color:#eee6d3;position:relative;overflow:hidden}
.music-events-copy{min-width:0}.music-events-copy .eyebrow{color:#cdb47e;margin-bottom:20px}.music-events-copy h2{font-size:clamp(42px,4.5vw,66px);line-height:1.08}.music-events-copy h2 em{color:#d3ba86}.music-events-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#cdd0bb;max-width:390px;margin-top:26px}.music-events-copy .text-link{margin-top:23px;color:#dec695;font-size:12px;min-height:44px}.music-events-flourish{display:block;font-family:var(--serif);font-size:30px;color:#bfa16c;letter-spacing:12px;margin:31px 0 0 4px}
.music-event-list{min-width:0;width:100%;display:grid;gap:27px}
.music-empty{position:relative;text-align:center;background:radial-gradient(ellipse at 50% 0,#fbf4e5,#e8dcc0);border:5px double #ad8e57;box-shadow:inset 0 0 0 8px #eee2c9,7px 9px 0 #172b1b33;padding:37px 30px 40px;color:#46503a;transform:rotate(1deg)}
.music-empty:before{content:'';position:absolute;top:10px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e4c78e,#967542);box-shadow:1px 2px 2px #493a2b55}.music-empty-note{display:block;font-family:var(--serif);font-size:70px;line-height:1.15;color:#9a7e4a;margin-bottom:15px}.music-empty .eyebrow{justify-content:center;color:#8f7c56;font-size:9px;letter-spacing:1.8px;margin-bottom:17px}.music-empty h3{font-size:48px;line-height:1.05}.music-empty h3 em{color:#91815b}.music-empty>p:last-child{font-size:13px;line-height:1.85;max-width:300px;margin:24px auto 0;color:#73735b}
.music-event{background:#eee5d2;color:#35442e;border:3px double #b99c63;box-shadow:5px 7px 0 #192a1b2b;min-width:0}.music-event-poster{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#e5d9bd}.music-event-body{padding:27px}.music-event-date{display:block;color:#7c6842;font-size:12px;letter-spacing:.3px;margin-bottom:14px}.music-event h3{font-size:38px;line-height:1.1;overflow-wrap:anywhere}.music-event-description{font-size:14px;line-height:1.85;margin-top:18px;white-space:pre-line}.music-event-price{font-size:13px;color:#746340;margin-top:15px}.music-event .button{min-height:46px;margin-top:23px;justify-content:center;background:#425038;color:#eee2c4}
.header #navigation a:nth-child(6){border-radius:3px 14px 14px 3px}
@media(min-width:1251px) and (max-width:1400px){.header #navigation{gap:7px}.header #navigation a:nth-child(n){font-size:10px;padding:9px 8px}}
@media(max-width:1100px){.music-events{gap:6%}.music-events-copy h2{font-size:48px}.music-empty{padding:34px 22px}.music-empty h3{font-size:43px}}
@media(max-width:800px){.music-events{grid-template-columns:minmax(0,1fr);gap:37px}.music-events-copy{max-width:580px}.music-events-copy>p:not(.eyebrow){max-width:540px}.music-event-list{max-width:540px;justify-self:center}.music-events-flourish{display:none}.music-empty{transform:rotate(.6deg)}}
@media(max-width:600px){.music-events-copy h2{font-size:clamp(38px,10.4vw,48px)}.music-events-copy>p:not(.eyebrow){font-size:14px;margin-top:22px}.music-events-copy .eyebrow{font-size:9px}.music-empty{padding:32px 22px 35px}.music-empty h3{font-size:42px}.music-empty>p:last-child{font-size:13px}.music-event-body{padding:24px 20px}.music-event h3{font-size:34px}.music-event-date{font-size:12px}.music-event .button{width:100%}.music-empty-note{font-size:62px}}
/* A vintage billboard, with readable typeset details from the supplied poster. */
.event-billboard{position:relative;margin:0;padding:15px;border:4px solid #aa8750;border-radius:2px;background:repeating-linear-gradient(2deg,#674a30 0,#795739 3px,#503c29 6px,#6b4d32 9px);box-shadow:inset 0 0 0 3px #302c20,inset 0 0 0 5px #b99a63,8px 11px 0 #192a1c44,0 10px 24px #17241733;transform:rotate(.7deg);text-align:center}
.event-billboard:before{content:'';position:absolute;left:7px;top:7px;width:6px;height:6px;border-radius:50%;background:#c8ac72;box-shadow:0 1px 2px #211b16}
.billboard-paper{position:relative;isolation:isolate;padding:24px 23px 18px;background:radial-gradient(ellipse at 30% 10%,#fcf5e6,#e6d7b7);border:1px solid #b29662;outline:1px solid #b89b6266;outline-offset:-8px;color:#3f4b33;overflow:hidden}
.billboard-paper:before,.billboard-paper:after{content:'❧';position:absolute;top:100px;font-family:var(--serif);font-size:130px;line-height:1;color:#9c9a6529;z-index:-1;pointer-events:none}.billboard-paper:before{left:-25px;transform:rotate(-50deg)}.billboard-paper:after{right:-25px;transform:rotate(130deg)}
.billboard-archive-label{font-family:var(--sans);font-size:8px;line-height:1.6;letter-spacing:1.2px;color:#807255;margin:0 0 20px}
.billboard-brand{font-family:var(--serif);font-size:19px;letter-spacing:2px;line-height:1.15}.billboard-brand span{display:block;font-size:18px;letter-spacing:.6px;font-style:italic;color:#947849;margin-top:3px}
.billboard-rule{display:flex;align-items:center;gap:9px;max-width:220px;margin:14px auto 9px;color:#a88a56;font-size:19px;line-height:1}.billboard-rule:before,.billboard-rule:after{content:'';height:1px;background:#b49b6366;flex:1}
.billboard-notes{font-family:var(--serif);font-size:30px;letter-spacing:8px;line-height:1.1;color:#ad8f54;display:block;margin-bottom:6px}
.event-billboard .billboard-title{font-size:clamp(44px,4.4vw,66px);line-height:.98;letter-spacing:-1.5px;margin:0;color:#3d4a32}.billboard-title em{color:#947947}
.billboard-with{font-family:var(--sans);font-size:8px;letter-spacing:3px;color:#857653;margin-top:20px}.billboard-artist{font-family:var(--serif);font-size:clamp(31px,2.8vw,42px);font-style:italic;line-height:1.1;margin-top:8px;color:#435039}
.billboard-date{margin:22px auto 0;display:inline-flex;flex-direction:column;align-items:center;padding:10px 29px 9px;background:#39482f;color:#f2e4c6;border:3px double #b59a60;box-shadow:0 2px 5px #6254381a}.billboard-date strong{font-family:var(--serif);font-size:48px;font-weight:400;line-height:1}.billboard-date span{font-size:8px;letter-spacing:1.8px;margin-top:6px}
.billboard-footer{font-size:11px;line-height:1.7;color:#7f7355;margin-top:19px}.billboard-ornament{display:block;font-family:var(--serif);font-size:26px;line-height:1.1;color:#a28a57;margin-top:10px}
.music-event-list>.billboard-next{font-family:var(--serif);font-style:italic;font-size:20px;color:#c9c9af;line-height:1.45;text-align:center;max-width:370px;margin:0 auto}
@media(max-width:1100px){.event-billboard{padding:12px}.billboard-paper{padding:23px 18px 17px}.event-billboard .billboard-title{font-size:48px}.billboard-artist{font-size:34px}}
@media(max-width:800px){.event-billboard{max-width:430px;justify-self:center;width:100%}.event-billboard .billboard-title{font-size:60px}.billboard-artist{font-size:39px}}
@media(max-width:600px){.event-billboard{padding:11px;transform:rotate(.5deg);box-shadow:inset 0 0 0 2px #302c20,inset 0 0 0 4px #b99a63,4px 6px 0 #192a1c44}.billboard-paper{padding:23px 17px 17px}.event-billboard .billboard-title{font-size:clamp(43px,12.3vw,59px)}.billboard-archive-label{font-size:7px;letter-spacing:1px}.billboard-brand{font-size:18px}.billboard-artist{font-size:clamp(30px,9vw,39px)}.billboard-date strong{font-size:45px}.billboard-footer{font-size:11px}.music-event-list>.billboard-next{font-size:19px}}

.billboard-date .billboard-time{display:block;border-top:1px solid #c8b27d66;margin-top:10px;padding-top:8px;font-size:13px;letter-spacing:1.4px;line-height:1.4;color:#f0dfb6}

/* Time is typeset like the rest of the vintage poster. */
.billboard-date .billboard-time{display:flex;align-items:baseline;justify-content:center;gap:9px;font-family:var(--serif);font-size:32px;line-height:1.1;letter-spacing:0;border-top:1px solid #c8b27d77;margin-top:12px;padding-top:11px;color:#e7ca92}
.billboard-date .billboard-time>span{font-family:var(--serif);font-size:19px;font-style:italic;font-weight:400;line-height:1.1;letter-spacing:.2px;margin:0;color:#dbc59a}
.billboard-date .billboard-time>strong{font-family:var(--serif);font-size:35px;font-weight:400;line-height:1;letter-spacing:.2px;color:#edd5a2}
@media(max-width:600px){.billboard-date .billboard-time>strong{font-size:33px}.billboard-date .billboard-time>span{font-size:18px}}
/* Keep the floor-lamp shade clear of the hours frame on desktop. */
@media(min-width:1101px){.visit-lamp{width:245px;height:368px;left:-62px}}
/* Phone layout: readable spacing and the same hanging-room details as desktop. */
@media(max-width:600px){
 :root{--header-offset:230px}
 body{font-size:15px}
 .header{padding:12px 18px 10px;min-height:132px;gap:9px}
 .header>.wordmark{font-size:clamp(16px,4.8vw,19px);letter-spacing:1.2px;line-height:1.2;padding:0 25px}
 .header .wordmark small{font-size:19px;line-height:1.2;margin-top:2px}.header-location{font-size:10px;letter-spacing:1.1px;margin-top:7px}
 .header-actions{padding-left:0;gap:12px;justify-content:flex-end}.languages{margin-right:auto}.languages button{font-size:12px;min-width:40px;min-height:44px}.basket,.mobile-toggle{width:46px;height:46px;min-height:46px}.mobile-toggle{font-size:27px}
 .ceiling-chandelier{width:128px;height:214px;left:-24px;top:-40px;z-index:35}
 .header-hanging-art{width:80px;height:135px;right:0;top:calc(100% - 6px);z-index:35}
 .header #navigation{padding:25px 26px 29px;gap:17px;max-height:calc(100dvh - 145px);z-index:50}
 .header #navigation a:nth-child(n){font-size:15px;min-height:52px;padding:14px 17px}
 .hero{padding:150px 0 46px}
 .hero-content{padding:0 22px;max-width:none;width:100%}
 .headline-frame{max-width:420px;width:100%;margin:0 auto}
 .hero .headline-frame h1{font-size:clamp(22px,10cqw,56px);line-height:1.05}
 .hero-text{font-size:15px;line-height:1.9;max-width:355px;padding:0;margin:33px auto 0}
 .hero-buttons{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:17px;margin:30px auto 0;width:100%;max-width:320px}
 .hero-buttons .button,.hero-buttons .text-link{width:100%;min-height:52px;font-size:14px;justify-content:center;padding:14px 21px;gap:20px}
 .hero-buttons .text-link{align-self:center;max-width:245px}
 .hero .music-sign{width:calc(100% - 48px);max-width:390px;margin:42px auto 0;padding:23px 18px;transform:none}
 .music-sign-title{font-size:29px;line-height:1.2;margin:0 0 13px}.music-sign-detail{font-size:14px;line-height:1.85}
 .cafe-room{position:relative;inset:auto;width:100%;max-width:470px;height:auto;aspect-ratio:1122/1402;overflow:visible;margin:24px auto 0}
 .cafe-room>img{position:static;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
 .hero-caption{font-size:26px;margin:18px 22px 0;line-height:1.3}
 .ribbon{height:55px;font-size:10px}
 .section{padding:72px 24px}
 .section-heading{margin-bottom:34px}.section-heading h2,.story-copy h2,.visit-copy h2{font-size:clamp(38px,11vw,47px);line-height:1.12;letter-spacing:-.7px}
 .section-heading .eyebrow,.story-copy>.eyebrow,.visit-copy>.eyebrow,.reservation-copy>.eyebrow{font-size:10px;line-height:1.9;letter-spacing:1.5px;margin-bottom:20px}
 .pleasures .section-intro{margin-top:30px;max-width:none;width:100%;font-size:22px;line-height:1.5;padding:25px}
 .cafe-offerings{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:42px}
 .cafe-offerings li{padding:17px 14px;min-height:64px;font-size:15px;line-height:1.6;gap:16px;border-top:0;border-bottom:1px solid #b8ab8c66}
 .cafe-offerings li:first-child{border-top:1px solid #b8ab8c66}.cafe-offerings li>span:first-child{font-size:26px}
 .cafe-offerings .lactose-free{grid-column:auto;justify-content:flex-start;margin-top:13px;border:1px solid #c1a57488;font-size:15px;border-radius:3px}
 .pleasure-grid{gap:48px}.pleasure-card{max-width:390px}.pleasure-img{aspect-ratio:1.08}.pleasure-card h3{font-size:37px}.pleasure-card>div:nth-child(2){padding-top:16px}.pleasure-card>p{font-size:15px;line-height:1.9;margin-top:7px}
 .story{gap:47px}.story-copy p:not(.eyebrow){font-size:15px;line-height:1.95;margin-top:25px}.story-copy .text-link{font-size:14px;min-height:48px;margin-top:23px}.story-art{gap:29px;padding-top:7px;max-width:390px}.story-quote{max-width:390px}.story-art .handwritten{font-size:27px}
 .music-events{gap:46px}.music-events-copy h2{font-size:clamp(38px,10.8vw,47px);line-height:1.13}.music-events-copy>.eyebrow{font-size:10px;line-height:1.9;margin-bottom:22px}.music-events-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;margin-top:27px}.music-events-copy .text-link{font-size:14px;min-height:50px;margin-top:24px}
 .music-event-list{gap:31px}.event-billboard{width:100%;max-width:390px}.billboard-paper{padding:27px 17px 23px}.billboard-archive-label{font-size:8px;line-height:1.8;letter-spacing:.9px;margin-bottom:23px}.billboard-brand{font-size:20px}.billboard-brand span{font-size:20px}.billboard-with{font-size:10px;margin-top:24px}.billboard-date{margin-top:26px;padding:14px 27px 12px}.billboard-date>span:not(.billboard-time){font-size:10px;line-height:1.5}.billboard-footer{font-size:13px;line-height:1.8;margin-top:23px}.music-event-list>.billboard-next{font-size:21px;line-height:1.6}
 .menu-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.menu-tabs button{font-size:14px;min-height:48px;padding:11px 18px}.demo-note{font-size:13px;line-height:1.85;padding:18px;margin-top:28px;gap:12px}.menu .section-intro{font-size:15px;line-height:1.9;margin-top:25px}
 .products,.products:has(.menu-group:only-child){gap:54px;margin-top:33px}.menu-group-photo{height:250px}.menu-group-body{padding:23px 0 0}.menu-group-heading{padding-bottom:25px}.menu-group-heading h3{font-size:40px}.menu-group-heading>span{font-size:9px}.menu-rows .product{padding:29px 0;gap:17px;align-items:center}.product-copy h4{font-size:28px;line-height:1.15}.menu-rows .product-description{font-size:14px;line-height:1.8;margin-top:12px}.product-order{gap:15px;max-width:110px}.menu-rows .product-price{font-size:19px}.menu-rows .add-button{font-size:13px;min-height:48px;padding:11px 13px}
 .trailer-heading-layout{gap:34px;margin-bottom:36px}.trailer-heading-layout .gallery-painting{width:155px}.trailer-heading-layout .gallery-heading h2{font-size:clamp(38px,10.5vw,47px);line-height:1.13}.trailer-heading-layout .gallery-heading .eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.9;margin-bottom:22px}.gallery-heading>p:last-child{font-size:15px;line-height:1.85;margin-top:25px}.trailer-wall-clock{width:96px;height:96px;margin:0 auto 36px}
 .gallery-wall{display:flex;flex-direction:column;gap:35px;align-items:center;margin-top:0}.gallery-frame{width:100%;max-width:340px;aspect-ratio:3/4;flex-shrink:0}.gallery-middle{display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;padding:4px 0;min-width:0}.gallery-middle .small-dots{flex-direction:row;gap:12px;margin:0}.trailer-section .gallery-middle p{font-size:35px;line-height:1.16}.gallery-middle .tiny-star{font-size:30px;margin:0}
 .trailer-description{font-size:15px;line-height:1.95;margin-top:37px}.trailer-history{font-size:14px;line-height:1.9;margin-top:25px}.trailer-invite{margin-top:36px;padding-top:31px}.trailer-invite .eyebrow{font-size:10px;line-height:1.9;letter-spacing:1.3px}.trailer-invite>p{font-size:15px;line-height:1.95;margin-top:20px}.trailer-buttons{flex-direction:column;gap:19px;align-items:center;margin-top:27px}.trailer-buttons .button{min-height:53px;font-size:14px;width:100%;max-width:340px;padding:14px 16px;gap:12px}.trailer-buttons .text-link{font-size:14px;min-height:50px}.trailer-accessory{margin:37px auto 0;width:165px}.trailer-accessory>img{width:165px}.gallery-note{font-size:13px;line-height:1.9;margin-top:29px}
 .reservation-section{gap:41px}.reservation-copy h2{font-size:clamp(39px,11vw,47px);line-height:1.13}.reservation-copy>p{font-size:15px;line-height:1.95;margin-top:27px}.reservation-copy .booking-explanation{gap:14px;max-width:360px;padding-top:27px;margin-top:30px;margin-bottom:21px}.booking-explanation p{font-size:14px;line-height:1.95}.reservation-copy>.text-link{font-size:13px;min-height:50px;line-height:1.9;justify-content:center}.reservation-copy .reservation-vignette{margin-top:35px;max-width:360px}
 .reservation-form{padding:34px 20px 29px}.booking-fields{grid-template-columns:minmax(0,1fr);gap:25px}.booking-wide{grid-column:auto}.reservation-form .booking-field{gap:12px}.reservation-form .booking-field>span{font-size:23px;line-height:1.2}.booking-field input,.booking-field select,.booking-field textarea{font-size:16px;min-height:54px;padding:14px 12px}.booking-field textarea{min-height:130px}.booking-availability{margin:0;font-size:13px;line-height:1.85}.booking-hours-note{font-size:13px;line-height:1.9;margin:28px 0 22px}.booking-submit{font-size:15px;min-height:54px}.booking-disclaimer{font-size:13px;line-height:1.9;margin-top:22px}
 .visit{gap:46px;padding-bottom:370px}.visit-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;margin-top:26px}.address{margin-top:29px;font-size:14px}.opening-hours{padding:30px 19px 27px;margin-top:36px}.opening-hours h3{font-size:35px;margin-bottom:24px}.opening-hours dl>div{font-size:13px;line-height:1.8;padding:13px 0;gap:13px}.opening-hours .monday-hours-note{font-size:13px;line-height:1.9;margin-top:21px;padding-top:18px}.visit-buttons{gap:16px;margin-top:29px}.visit-buttons .button,.visit-buttons .text-link{font-size:14px;min-height:50px}.visit-buttons .button{width:100%;justify-content:center;gap:20px}.visit-buttons .text-link{margin-right:14px}
 .visit-location{gap:30px}.visit-paintings{height:200px;max-width:350px}.custom-location-map{padding:10px}.custom-location-map figcaption{padding:25px 18px 22px;gap:19px}.custom-location-map strong{font-size:29px;line-height:1.12}.custom-location-map figcaption span{font-size:13px;line-height:1.8}.custom-map-hint{font-size:11px}.map-navigation{gap:13px}.custom-location-map figcaption .map-navigation a{min-height:50px;font-size:14px;padding:12px 15px;flex:1}.visit-location>.map-attribution{font-size:10px;line-height:1.6;margin-top:-18px}.visit-welcome{bottom:267px;left:9%;right:9%;font-size:28px;line-height:1.35}.visit-lamp{height:245px;width:164px;left:-12px;bottom:20px}.visit-flower{width:150px;height:200px;right:0;bottom:21px}
 footer{padding:51px 24px 29px;gap:28px}footer .wordmark{font-size:21px}footer>p{font-size:24px;line-height:1.45}footer>a:last-of-type{font-size:14px;min-height:44px;display:flex;align-items:center}.footer-bottom{font-size:11px;line-height:1.9}.footer-bottom span{margin-top:9px}
 .cart-dialog{padding:28px 20px max(28px,env(safe-area-inset-bottom))}.drawer-head{gap:15px}.drawer-head h2{font-size:38px}.cart-demo,.cart-hint{font-size:14px;line-height:1.85}.cart-demo{margin-top:21px}.cart-row{padding:25px 0;gap:12px}.cart-row>img{width:46px;height:68px}.cart-row-content h3{font-size:25px;line-height:1.15}.cart-row-content>p{font-size:14px}.quantity{margin-top:17px;gap:6px}.quantity button{width:44px;height:46px;font-size:21px}.quantity span{font-size:15px}.row-right{font-size:14px;min-width:55px}.remove{font-size:13px;min-height:48px}.total{font-size:16px;margin:25px 0}.cart-dialog .button{min-height:52px;font-size:14px}.clear{font-size:14px;min-height:48px}.lightbox>p{font-size:13px;line-height:1.7}
}
@media(max-width:350px){
 .section{padding-left:20px;padding-right:20px}.hero-content{padding-left:16px;padding-right:16px}.hero-text{font-size:15px;max-width:280px}.header{padding-left:14px;padding-right:14px}.header>.wordmark{font-size:16px;padding:0 19px}.header-location{font-size:9px}.header-actions{gap:7px;padding-left:0}.languages button{min-width:36px}.ceiling-chandelier{left:-29px;width:122px;height:207px}.header-hanging-art{width:72px;height:123px;right:0}.hero{padding-top:139px}.opening-hours{padding-left:14px;padding-right:14px}.opening-hours dl>div{font-size:12px;gap:8px}.reservation-form{padding-left:16px;padding-right:16px}.menu-rows .add-button{font-size:12px;padding:10px}.menu-rows .product{gap:13px}.product-copy h4{font-size:26px}.cart-dialog{padding-left:15px;padding-right:15px}.cart-row>img{width:35px}.cart-row{gap:9px}.cart-row-content h3{font-size:23px}.row-right{font-size:13px;min-width:51px}
}
/* Leave the language buttons clear of the full hanging chandelier. */
@media(max-width:600px){
 .ceiling-chandelier{width:155px;height:250px;left:-36px;top:-40px}
 .header-actions{padding-left:100px;gap:12px}
 .languages button{min-width:36px}
}
@media(max-width:350px){
 .ceiling-chandelier{width:143px;height:236px;left:-35px;top:-36px}
 .header-actions{padding-left:92px;gap:6px}
 .languages button{min-width:32px;padding:8px 2px}
 .basket,.mobile-toggle{width:44px;min-width:44px;height:46px}
}
/* Landscape phones retain readable type and the hanging details, too. */
@media(min-width:601px) and (max-width:800px){
 .section{padding:72px 6%}
 .header-hanging-art{top:calc(100% - 6px);right:0;width:98px;height:162px}
 .ceiling-chandelier{width:160px;height:260px;left:-30px;top:-50px}
 .hero{padding-top:125px}.hero-text{font-size:15px;line-height:1.9}.hero-buttons .button,.hero-buttons .text-link{font-size:14px;min-height:50px}.hero-buttons{gap:25px;margin-top:29px}.hero .music-sign{margin-top:37px;padding:23px 20px}.music-sign-detail{font-size:14px;line-height:1.85}
 .cafe-room{height:auto;aspect-ratio:1122/1402;max-width:510px;overflow:visible;margin:25px auto 0}.cafe-room>img{position:static;inset:auto;width:100%;height:auto;object-fit:contain}
 .section-intro,.story-copy p:not(.eyebrow),.visit-copy>p:not(.eyebrow),.reservation-copy>p,.music-events-copy>p:not(.eyebrow){font-size:15px;line-height:1.9}.cafe-offerings li{font-size:14px;min-height:75px}.pleasure-card>p{font-size:14px;line-height:1.85}.pleasure-grid{gap:24px}.products{gap:30px}.menu-rows .product-description{font-size:14px;line-height:1.8}.menu-rows .product{padding:27px 0}.menu-rows .add-button{font-size:13px;min-height:48px}.menu-rows .product-price{font-size:18px}.menu-tabs button{font-size:14px;min-height:48px}.demo-note{font-size:13px;line-height:1.8}.gallery-heading>p:last-child{font-size:15px;line-height:1.85}.trailer-description,.trailer-invite>p{font-size:15px;line-height:1.9}.trailer-history,.gallery-note{font-size:13px;line-height:1.9}.booking-explanation p{font-size:14px;line-height:1.85}.booking-disclaimer,.booking-hours-note{font-size:13px;line-height:1.8}.booking-field input,.booking-field select{font-size:16px;min-height:52px}.booking-fields{gap:25px 22px}.reservation-form{padding:34px 28px}.booking-submit{min-height:52px;font-size:15px}.opening-hours dl>div{font-size:14px;padding:12px 0}.visit-buttons .button,.visit-buttons .text-link{font-size:14px;min-height:48px}
}
/* A quiet one-row phone header and genuinely full-width content. */
.mobile-nav-tools{display:none}
@media(max-width:600px){
 :root{--header-offset:205px}
 .header{display:flex;position:sticky;top:0;align-items:center;justify-content:flex-end;height:88px;min-height:88px;padding:12px;gap:0;border-bottom-width:3px}
 .header>.wordmark{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:clamp(15px,4.6vw,18px);letter-spacing:1px;padding:0;line-height:1.15;width:max-content;max-width:calc(100% - 112px)}
 .header .wordmark small{font-size:18px;margin-top:3px}.header-location{font-size:9px;margin-top:5px;letter-spacing:1px}
 .header-actions{width:44px;min-width:44px;padding:0;gap:0;display:flex;align-items:center;justify-content:center}
 .header-actions>.languages,.header-actions>.basket{display:none}
 .mobile-toggle{width:44px;height:48px;min-width:44px;font-size:27px}
 .ceiling-chandelier{left:0;top:-5px;width:120px;height:185px}
 .header-hanging-art{right:0;top:calc(100% - 3px);width:72px;height:121px}
 .header #navigation{top:100%;max-height:calc(100dvh - 88px);padding:25px 24px 30px;gap:15px}
 .header #navigation a:nth-child(n){font-size:15px;padding:13px 15px;min-height:50px}
 .mobile-nav-tools{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:19px;margin-top:13px;padding-top:23px;border-top:1px solid #b9a27155}
 .nav-language-buttons{display:flex;gap:14px;justify-content:center}.nav-language-buttons button{font:inherit;color:#d8d8c3;background:transparent;border:1px solid #b9a27177;border-radius:3px;min-width:64px;min-height:48px;padding:11px 17px;font-size:14px}.nav-language-buttons button[aria-pressed=true]{background:#d3b47b;color:#2d3d2d;border-color:#d3b47b}
 .nav-cart-button{display:flex;align-items:center;justify-content:center;gap:17px;min-height:52px;font:inherit;font-size:15px;background:#d3b47b;color:#2d3d2d;border:1px solid #d3b47b;border-radius:2px;padding:13px 20px}.nav-cart-count{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#33452d;color:#f0e3c5;font-size:12px}
 .hero{padding-top:80px;padding-bottom:46px}
 .hero-content{padding:0;width:100%}
 .headline-frame{width:100%;max-width:440px;margin:0 auto}
 .hero-text{font-size:16px;line-height:1.85;width:calc(100% - 44px);max-width:360px;padding:0;margin-top:30px}
 .hero-buttons{width:calc(100% - 44px);max-width:350px;gap:15px;margin-top:28px}
 .hero .music-sign{margin-top:34px;width:calc(100% - 44px)}
 .section{padding-left:20px;padding-right:20px}
 .story-copy p:not(.eyebrow),.music-events-copy>p:not(.eyebrow),.reservation-copy>p,.visit-copy>p:not(.eyebrow),.pleasure-card>p,.trailer-description,.trailer-invite>p{font-size:16px;line-height:1.85}
 .menu-rows .product{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:31px 0;align-items:start}
 .product-copy{width:100%}.product-copy h4{font-size:30px;line-height:1.15}.menu-rows .product-description{font-size:15px;line-height:1.8;max-width:none;margin-top:12px}
 .product-order{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:none}.menu-rows .product-price{font-size:21px}.menu-rows .add-button{font-size:14px;min-height:50px;padding:12px 17px}
 .billboard-paper{padding-left:12px;padding-right:12px}.event-billboard{padding:9px}
 .custom-location-map .map-navigation{flex-direction:column;gap:13px}.custom-location-map figcaption .map-navigation a{width:100%;min-height:51px;flex:auto}
 footer{flex-direction:column;align-items:center;text-align:center;gap:25px}.footer-bottom{width:100%}.footer-bottom span{margin-top:9px}
}
@media(max-width:350px){
 .header{height:86px;min-height:86px;padding:10px}.header>.wordmark{font-size:15px;max-width:calc(100% - 104px);top:12px}.header .wordmark small{font-size:17px}.header-location{font-size:8px;letter-spacing:.8px}.header-actions{width:44px;min-width:44px;padding:0;gap:0}.ceiling-chandelier{width:108px;height:170px;left:0;top:-4px}.header-hanging-art{width:64px;height:108px}.hero{padding-top:70px}.hero-content{padding:0}.hero-text,.hero-buttons{width:calc(100% - 40px)}.product-copy h4{font-size:29px}.menu-rows .add-button{font-size:14px;padding:12px 15px}.section{padding-left:20px;padding-right:20px}
}

/* Shared vector icons never use the operating system emoji font. */
.site-icon{display:inline-block;width:1em;height:1em;min-width:1em;flex:0 0 auto;vertical-align:-.12em;line-height:1;color:inherit}
.site-icon>svg{display:block;width:100%;height:100%;overflow:visible}
.mini-star .site-icon,.tiny-star .site-icon{vertical-align:-.08em}
.cafe-offerings>li>span:first-child{color:#92764a}
.mobile-toggle>.site-icon{width:25px;height:25px}
.custom-map-hint .site-icon{margin-left:.3em}
