@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;700&family=Roboto:wght@400;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap";:root{--cm-red: #810c0a;--cm-red-hover: #6b0807;--cm-orange: #f67936;--cm-orange-hover: #d9631f;--cm-orange-soft: #faa026;--cm-yellow: #f8db65;--cm-charcoal: #303030;--cm-paper: #ffffff;--cm-paper-soft: #f6f3ee;--cm-muted: #7a4a3b;--content-max: 1210px;--accent: var(--cm-red);--accent-hover: var(--cm-red-hover);--accent-soft: var(--cm-yellow);--header-bg: var(--cm-red)}*{box-sizing:border-box}.skip-link{position:absolute;top:0;left:8px;transform:translateY(-100%);background:var(--cm-red);color:#fff;padding:10px 16px;z-index:1000;text-decoration:none;border-radius:0 0 6px 6px;font-weight:600}.skip-link:focus{transform:translateY(0);outline:2px solid #fff;outline-offset:2px}html,body{margin:0;padding:0;font-family:Quicksand,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--cm-red);background:var(--cm-charcoal);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none;transition:color .18s ease}a:hover{color:var(--accent-hover)}h1,h2,h3,h4,h5,h6{font-family:Quicksand,sans-serif;font-weight:400;line-height:1.2;margin:0 0 .4em;color:var(--cm-red)}h1{font-size:clamp(32px,4vw,44px)}h2{font-size:clamp(26px,3vw,34px)}h3{font-size:clamp(20px,2.4vw,24px)}h4{font-size:20px;font-weight:700}h5{font-size:18px;font-weight:700}h6{font-size:16px;font-weight:700}p{margin:0 0 1em;text-wrap:pretty}.splash{position:fixed;inset:0;height:100dvh;display:flex;overflow:hidden;background:#1c1413}.splash .side{position:relative;flex:1 1 50%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;color:inherit;transition:flex-basis .55s cubic-bezier(.22,1,.36,1)}.splash .side.nuernberg{clip-path:polygon(0 0,100% 0,calc(100% - 70px) 100%,0 100%);margin-right:-35px}.splash .side.oberasbach{clip-path:polygon(70px 0,100% 0,100% 100%,0 100%);margin-left:-35px}.splash .side.nuernberg .content{padding-right:110px}.splash .side.oberasbach .content{padding-left:110px}.splash:has(.side.nuernberg:hover) .side.nuernberg{flex-basis:62%}.splash:has(.side.nuernberg:hover) .side.oberasbach{flex-basis:38%}.splash:has(.side.oberasbach:hover) .side.oberasbach{flex-basis:62%}.splash:has(.side.oberasbach:hover) .side.nuernberg{flex-basis:38%}.splash .side .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .5s ease;filter:grayscale(.15) brightness(.62)}.splash .side:hover .bg{transform:scale(1.12);filter:grayscale(0) brightness(.72)}.splash:has(.side.nuernberg:hover) .side.oberasbach .bg,.splash:has(.side.oberasbach:hover) .side.nuernberg .bg{filter:grayscale(.35) brightness(.42)}.splash .side .tint{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.58;transition:opacity .55s ease;background:var(--cm-red)}.splash .side:hover .tint{opacity:.45}.splash:has(.side.nuernberg:hover) .side.oberasbach .tint,.splash:has(.side.oberasbach:hover) .side.nuernberg .tint{opacity:.72}.splash .side .vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);pointer-events:none}.splash .content{position:relative;z-index:2;text-align:center;padding:0 48px;color:#fff;transform:translateY(8px);transition:transform .5s ease}.splash .side:hover .content{transform:translateY(0)}.splash .content .label-es{font-family:Playfair Display,serif;font-style:italic;font-size:24px;letter-spacing:.04em;opacity:.85;margin:0 0 10px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.splash .content .city{font-family:Quicksand,sans-serif;font-weight:300;font-size:clamp(42px,5.6vw,72px);letter-spacing:.03em;line-height:1;margin:0;color:#fff;text-transform:uppercase;text-shadow:0 3px 30px rgba(0,0,0,.55)}.splash .content .addr{font-family:Quicksand,sans-serif;font-size:14px;letter-spacing:.18em;text-transform:uppercase;margin:20px 0 10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9),0 2px 14px rgba(0,0,0,.75)}.splash .content .phone-line{font-family:Quicksand,sans-serif;font-size:15px;letter-spacing:.06em;margin:0 0 26px;opacity:.9;font-weight:700}.splash .content .phone-line svg{vertical-align:-2px;margin-right:8px;opacity:.8}.splash .content .enter{display:inline-flex;align-items:center;gap:12px;font-family:Roboto,sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:14px 26px;border:1.5px solid rgba(255,255,255,.7);color:#fff;background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease;font-weight:700}.splash .side:hover .enter{background:#fff;border-color:#fff;color:var(--cm-red)}.splash .divider{position:absolute;top:-20px;bottom:-20px;left:50%;transform:translate(-50%) rotate(3deg);transform-origin:center;width:1px;background:#ffffff59;z-index:3;pointer-events:none;transition:opacity .4s ease}.splash:has(.side:hover) .divider{opacity:0}.splash .brand{position:absolute;top:36px;left:50%;transform:translate(-50%);z-index:4;text-align:center;pointer-events:none}.splash .brand img{height:92px;margin:0 auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.55))}.splash .hint{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:4;color:#ffffffb3;font-family:Roboto,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;pointer-events:none}.page{max-width:var(--content-max);margin:0 auto;background:var(--cm-paper);box-shadow:0 0 2px 2px #0000001a;min-height:100vh;position:relative;display:flex;flex-direction:column}.page-main{flex:1}.header{display:flex;align-items:center;background:var(--header-bg);padding:18px 36px;gap:28px;position:sticky;top:0;z-index:50;box-shadow:0 4px 16px #00000026}.header .logo-wrap{display:flex;align-items:center;gap:14px;flex-shrink:0}.header .logo-wrap img{height:56px;width:auto}.header .loc-switcher{position:relative;flex-shrink:0}.header .loc-switcher[open]>summary .chev{transform:rotate(180deg)}.header .loc-switcher summary{list-style:none;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;padding:8px 14px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:Roboto,sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;transition:background .2s,border-color .2s}.header .loc-switcher summary::-webkit-details-marker{display:none}.header .loc-switcher summary:hover{background:#ffffff24;border-color:#ffffff4d}.header .loc-switcher summary .loc-label{color:var(--accent-soft)}.header .loc-switcher summary .chev{font-size:9px;opacity:.8;transition:transform .25s}.header .loc-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:#1c1413;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px #0000008c;padding:8px;z-index:20}.header .loc-menu-head{padding:8px 12px 10px;font-family:Roboto,sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#ffffff80;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.header .loc-menu-item{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:12px;cursor:pointer;color:#fff;text-transform:none;letter-spacing:0;font-family:Roboto,sans-serif;font-size:14px;transition:background .15s;align-items:center;text-decoration:none}.header .loc-menu-item:hover{background:#ffffff0f;color:#fff}.header .loc-menu-item svg{grid-row:1 / 3;color:var(--accent-soft);align-self:center}.header .loc-menu-item>span:first-of-type{font-weight:700;font-size:14px;letter-spacing:.04em}.header .loc-menu-addr{font-size:11px;color:#ffffff8c;grid-column:2;margin-top:2px}.header .loc-menu-item.active{cursor:default}.header .loc-menu-item.active:hover{background:transparent}.header .loc-menu-item.active svg{color:var(--cm-yellow)}.header .loc-menu-foot{display:inline-flex;align-items:center;gap:8px;margin:6px 4px 2px;padding:10px 12px;font-family:Roboto,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff9;text-decoration:none;border-top:1px solid rgba(255,255,255,.08);transition:color .18s}.header .loc-menu-foot:hover{color:var(--cm-yellow)}.header .loc-menu-foot-icon{transform:rotate(-135deg);opacity:.75}.header .header-location-mobile{display:none;align-items:center;gap:7px;background:#00000038;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 11px;font-family:Quicksand,sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cm-yellow);text-decoration:none;white-space:nowrap;transition:background .14s ease}.header .header-location-mobile svg{opacity:.78}.header .header-location-mobile:hover,.header .header-location-mobile:focus-visible{background:#0006;outline:none}.header .burger{display:none;background:none;border:1px solid rgba(255,255,255,.3);padding:10px 12px;margin-left:auto;cursor:pointer;flex-direction:column;gap:5px}.header .burger span{display:block;width:22px;height:2px;background:#fff;transition:transform .2s,opacity .2s}.header .burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header .burger[aria-expanded=true] span:nth-child(2){opacity:0}.header .burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header .nav-panel{display:flex;align-items:center;gap:28px;margin-left:auto;flex:1 1 auto;justify-content:flex-end;min-width:0}.header .nav-panel .loc-switcher{margin-right:auto;margin-left:0}.header nav{display:flex;gap:2px;align-items:center;flex-wrap:nowrap}.header nav a{font-family:Roboto,sans-serif;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:10px;border-bottom:2px solid transparent;cursor:pointer;transition:color .18s,border-color .18s;white-space:nowrap}.header nav a.active{color:var(--accent-soft);border-bottom-color:var(--accent-soft)}.header nav a:hover:not(.active){color:var(--cm-yellow)}.header .social{display:flex;gap:10px;margin-left:12px;padding-left:14px;border-left:1px solid rgba(255,255,255,.3);flex-shrink:0}.header .social a{color:#fff;font-size:15px;padding:4px;cursor:pointer;display:inline-flex;align-items:center}.footer{background:var(--header-bg);color:#fff;padding:48px 48px 40px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px}.footer h3{color:var(--cm-yellow);font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;font-weight:700}.footer p,.footer li{font-size:13.5px;line-height:1.6;margin:0 0 6px;color:#fff}.footer a{color:inherit}.footer ul{list-style:none;padding:0;margin:0}.footer .social-icons{display:flex;gap:12px;margin-top:10px}.footer .social-icons a{color:#fff;font-size:16px;cursor:pointer;display:inline-flex;align-items:center}.footer .logo-footer img{height:52px;width:auto;max-width:100%;margin:4px 0 12px}.footer .contact-icon{color:var(--cm-yellow);margin-right:6px;vertical-align:-2px}.bottom-bar{background:var(--cm-orange-soft);color:var(--cm-red);padding:12px 48px;font-size:12.5px;display:flex;gap:28px;font-weight:700;letter-spacing:.04em}.bottom-bar a{color:var(--cm-red)}.bottom-bar a:hover{color:var(--cm-red-hover)}.bottom-bar .copy{margin-left:auto}@media(max-width:1100px){.header{padding:14px 20px;gap:14px}.header .logo-wrap img{height:44px}.header .header-location-mobile{display:inline-flex;margin-left:auto}.header .burger{display:flex;margin-left:0}.header .nav-panel{display:none;position:absolute;top:100%;left:0;right:0;background:var(--header-bg);flex-direction:column;align-items:stretch;padding:16px 20px 24px;gap:18px;box-shadow:0 12px 24px #0000004d;border-top:1px solid rgba(255,255,255,.1)}.header .nav-panel.open{display:flex}.header .nav-panel .loc-switcher{margin:0}.header .nav-panel .loc-switcher summary{width:100%;justify-content:space-between}.header .nav-panel nav{flex-direction:column;align-items:stretch;gap:0;width:100%}.header .nav-panel nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}.header .nav-panel nav a.active{border-bottom-color:var(--accent-soft)}.header .nav-panel .social{border-left:none;padding-left:0;margin-left:0;gap:16px;justify-content:flex-start;padding-top:6px}.header .loc-menu{min-width:240px}}@media(max-width:900px){.splash{flex-direction:column}.splash .side{flex-basis:50%}.splash:has(.side.nuernberg:hover) .side.nuernberg,.splash:has(.side.oberasbach:hover) .side.oberasbach{flex-basis:50%}.splash:has(.side.nuernberg:hover) .side.oberasbach,.splash:has(.side.oberasbach:hover) .side.nuernberg{flex-basis:50%}.splash .side.nuernberg{clip-path:polygon(0 0,100% 0,100% calc(100% - 60px),0 100%);margin:0}.splash .side.oberasbach{clip-path:polygon(0 60px,100% 0,100% 100%,0 100%);margin:0}.splash .divider{display:none}.splash .brand{top:50%;transform:translate(-50%,-50%);z-index:6}.splash .brand img{height:48px;filter:drop-shadow(0 2px 18px rgba(0,0,0,.9))}.splash .side .bg{filter:grayscale(0) brightness(.78);transform:scale(1.08);animation:cm-ken 16s ease-in-out infinite alternate}.splash .side.oberasbach .bg{animation-delay:-8s}.splash .side .tint{opacity:.35}.splash .side.nuernberg .content,.splash .side.oberasbach .content{padding:0 32px}.splash .content .label-es{font-size:18px}.splash .content .city{font-size:clamp(38px,11vw,52px)}.splash .content .addr{font-size:12px;margin:14px 0 6px}.splash .content .phone-line{font-size:13px;margin:0 0 18px}.splash .content .enter{background:#fff;border-color:#fff;color:var(--cm-red);padding:12px 22px;font-size:12px}.splash .side:active .content{transform:translateY(-2px)}.splash .hint{font-size:10px;bottom:18px}.footer{grid-template-columns:1fr}}@keyframes cm-ken{0%{transform:scale(1.06) translate(-3%,-2%)}to{transform:scale(1.24) translate(3%,2%)}}@media(prefers-reduced-motion:reduce){.splash .side .bg{animation:none}}.hero-slider{position:relative;height:min(72vh,640px);overflow:hidden;background:#1c1413}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease-in-out}.hero-slide-img{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-slide-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;animation:cm-hero-ken 16s ease-in-out infinite alternate;will-change:transform}.hero-slide:nth-child(2) .hero-slide-img img{animation-delay:-4s}.hero-slide:nth-child(3) .hero-slide-img img{animation-delay:-8s}.hero-slide:nth-child(4) .hero-slide-img img{animation-delay:-12s}@keyframes cm-hero-ken{0%{transform:scale(1.05) translate(-2%,-1.5%)}to{transform:scale(1.32) translate(2%,1.5%)}}@media(prefers-reduced-motion:reduce){.hero-slide-img img{animation:none}}.hero-slide.is-active{opacity:1}.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000040,#0000 40%,#0000008c),#1c14134d}.hero-slide-content{position:absolute;inset:auto 0 0;padding:0 48px 56px;color:#fff;text-align:center}.hero-kicker{font-family:Playfair Display,serif;font-style:italic;font-size:22px;letter-spacing:.04em;opacity:.9;margin:0 0 8px;color:var(--cm-yellow);text-shadow:0 2px 10px rgba(0,0,0,.6)}.hero-lead{font-family:Quicksand,sans-serif;font-weight:300;font-size:clamp(22px,2.6vw,34px);line-height:1.2;letter-spacing:.01em;margin:0;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.6);text-wrap:balance}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:#1c141373;color:#fff;cursor:pointer;z-index:3;transition:background .2s ease,transform .2s ease;padding:0}.hero-arrow:hover,.hero-arrow:focus-visible{background:#1c1413b3;outline:none}.hero-arrow-prev{left:16px}.hero-arrow-next{right:16px}.hero-dots{position:absolute;bottom:18px;left:0;right:0;display:flex;gap:10px;justify-content:center;z-index:3}.hero-dot{width:24px;height:24px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer;position:relative}.hero-dot:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#ffffff73;transition:background .2s ease,transform .2s ease}.hero-dot:hover:before,.hero-dot:focus-visible:before{background:#ffffffd9}.hero-dot:focus-visible{outline:none}.hero-dot.is-active:before{background:#fff;transform:scale(1.25)}@media(max-width:600px){.hero-arrow{display:none}}.page-header{position:relative;height:clamp(220px,36vh,340px);background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.page-header-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#1c141333,#1c1413a6)}.page-header-content{position:relative;z-index:2;text-align:center;color:#fff;padding:0 32px 40px}.page-header-kicker{font-family:Playfair Display,serif;font-style:italic;color:var(--cm-yellow);margin:0 0 6px;letter-spacing:.04em}.page-header-content h1{color:#fff;font-weight:300;font-size:clamp(32px,4vw,48px);letter-spacing:.02em;margin:0;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.55)}.text-image-bar{display:grid;grid-template-columns:1fr 1fr;min-height:460px;background:var(--cm-paper-soft);color:var(--cm-charcoal)}.text-image-bar.image-left{grid-template-areas:"image text"}.text-image-bar.image-right{grid-template-areas:"text image"}.text-image-bar.tib-prominent{min-height:620px}.text-image-bar.tib-prominent.image-right{grid-template-columns:1fr 1.5fr}.text-image-bar.tib-prominent.image-left{grid-template-columns:1.5fr 1fr}.text-image-bar .tib-image{grid-area:image;background-position:center;background-repeat:no-repeat;background-image:var(--tib-bg);min-height:300px}.text-image-bar .tib-image.fit-cover{background-size:cover}.text-image-bar .tib-image.fit-contain{background-size:contain;background-color:var(--cm-paper-soft)}.text-image-bar .tib-text{grid-area:text;padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:center;color:var(--cm-charcoal)}.text-image-bar .tib-text h2{color:var(--accent);margin:0 0 18px}.tib-kicker{font-family:Playfair Display,serif;font-style:italic;color:var(--cm-orange);margin:0 0 8px;letter-spacing:.04em;font-size:18px}.tib-body{font-size:16px;line-height:1.7;color:var(--cm-charcoal)}.tib-body p{margin:0 0 .8em}.tib-body strong{color:var(--accent)}.tib-cta{margin-top:26px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-family:Roboto,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:13px 24px;border:1.5px solid var(--accent);color:var(--accent);background:transparent;font-weight:700;transition:background .2s,color .2s}.tib-cta:hover{background:var(--accent);color:#fff}.section-divider-image{height:clamp(560px,70vh,820px);background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}.section-divider-image:has(.divider-tag):before{content:"";position:absolute;inset:0;background:#1c141373}.section-divider-image .divider-tag{position:relative;z-index:2;font-family:Playfair Display,serif;font-style:italic;color:var(--cm-yellow);font-size:clamp(20px,2.4vw,30px);letter-spacing:.04em;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.6)}.section-divider-image.is-grayscale{filter:grayscale(1)}.gallery{display:grid;grid-template-columns:repeat(var(--gallery-cols, 4),1fr);gap:0}.gallery-item{all:unset;position:relative;display:block;aspect-ratio:1 / 1;overflow:hidden;cursor:zoom-in;background:var(--cm-charcoal)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .3s}.gallery-item:hover img{transform:scale(1.06);filter:brightness(1.08)}.gallery-item:after{content:"";position:absolute;inset:0;background:#810c0a00;transition:background .25s;pointer-events:none}.gallery-item:hover:after{background:#810c0a26}.gallery-item:focus-visible{outline:2px solid var(--cm-yellow);outline-offset:-2px}.lightbox{max-width:95vw;max-height:95vh;padding:0;border:none;background:transparent;overflow:visible}.lightbox::backdrop{background:#000000d9;backdrop-filter:blur(4px)}.lightbox-img{display:block;max-width:95vw;max-height:95vh;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px #00000080}.lightbox-close{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:6px 10px;opacity:.8}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000059;border:none;color:#fff;width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.85;transition:opacity .12s ease,background .12s ease}.lightbox-nav:hover{opacity:1;background:#0000008c}.lightbox-prev{left:-64px}.lightbox-next{right:-64px}@media(max-width:900px){.lightbox-nav{width:44px;height:44px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-nav svg{width:24px;height:24px}}.menu-page{background:var(--cm-paper)}.menu-section{padding:clamp(48px,7vw,80px) clamp(24px,5vw,64px);max-width:960px;margin:0 auto}.menu-section-header{text-align:center;margin-bottom:40px}.menu-kicker{font-family:Playfair Display,serif;font-style:italic;color:var(--cm-orange);margin:0 0 8px;letter-spacing:.04em;font-size:20px}.menu-section-header h2{color:var(--accent);margin:0}.menu-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px}.menu-item{border-bottom:1px dotted rgba(129,12,10,.2);padding-bottom:18px}.menu-item-label{font-family:Quicksand,sans-serif;font-weight:700;color:var(--accent);font-size:18px;margin-bottom:4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.menu-vegan{font-family:Roboto,sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#2f6b3a;background:#4091501f;border:1px solid rgba(64,145,80,.4);border-radius:999px;padding:2px 8px;line-height:1.4}.menu-item-subline{color:var(--cm-charcoal);font-size:14.5px;line-height:1.5}.menu-item-note{display:inline-block;margin-left:6px;color:var(--cm-muted);font-style:italic}.menu-lead,.menu-footnote{max-width:960px;margin:0 auto;padding:clamp(28px,5vw,40px) clamp(24px,5vw,64px) 0;font-family:Playfair Display,serif;font-style:italic;color:var(--cm-muted);text-align:center;font-size:16px}.menu-footnote{padding:0 clamp(24px,5vw,64px) clamp(40px,6vw,64px);font-size:13.5px}.menu-divider{position:relative;height:clamp(240px,32vh,340px);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.menu-divider-overlay{position:absolute;inset:0;background:#1c141373}.menu-divider-tag{position:relative;z-index:2;font-family:Playfair Display,serif;font-style:italic;color:var(--cm-yellow);font-size:clamp(18px,2vw,24px);letter-spacing:.08em;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.6)}.event-page{padding:clamp(48px,7vw,80px) clamp(24px,5vw,64px);max-width:640px;margin:0 auto;color:var(--cm-charcoal);font-size:16px;line-height:1.7;text-align:center}.event-page .menu-section-header h2{margin:0}.event-when{font-family:Quicksand,sans-serif;font-weight:600;font-size:clamp(22px,3vw,32px);line-height:1.2;letter-spacing:.04em;color:var(--accent);max-width:540px;margin:0 auto 12px;text-wrap:balance;position:relative;padding-bottom:18px}.event-when:after{content:"";display:block;width:64px;height:2px;background:var(--cm-orange);margin:18px auto 0;opacity:.7}.event-tagline{font-size:clamp(16px,1.8vw,18px);line-height:1.55;color:var(--cm-muted);max-width:520px;margin:0 auto 44px;text-wrap:balance}.event-body{max-width:520px;margin:0 auto 48px;text-align:left;color:var(--cm-charcoal)}.event-price{font-family:Quicksand,sans-serif;font-weight:300;font-size:clamp(34px,4.6vw,52px);letter-spacing:.02em;color:var(--accent);margin:0 auto 6px;line-height:1.1}.event-price span{display:block;font-family:Roboto,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--cm-muted);margin-top:10px;font-weight:700}.event-note{font-style:italic;color:var(--cm-muted);font-size:15px;max-width:520px;margin:52px auto;line-height:1.6}.event-closing{color:var(--cm-muted);font-size:15px;line-height:1.6;margin:0 auto 48px;max-width:480px}.event-reserve{padding-top:36px;border-top:1px solid rgba(129,12,10,.18)}.event-reserve p{margin:0 0 6px}.event-reserve a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.event-reserve a:hover{border-bottom-color:var(--accent)}.event-reserve-label{font-family:Roboto,sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cm-muted);font-weight:700;margin:0 0 6px}.event-reserve-where{font-family:Quicksand,sans-serif;font-weight:600;color:var(--accent);font-size:17px;letter-spacing:.02em;margin:0 0 14px}.event-reserve-sep{color:var(--cm-muted);margin:0 10px}.event-reserve-hint{font-size:13px;color:var(--cm-muted);margin-top:10px}.prose-cta-row{margin-top:48px;text-align:center}.prose-cta-row .tib-cta{display:inline-flex}@media(max-width:640px){.event-reserve p a{display:block;margin:2px 0}.event-reserve-sep{display:none}}.reservation-page{padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px);max-width:900px;margin:0 auto}.reservation-page h2{color:var(--accent);text-align:center;margin:0 0 8px}.reservation-page .subtitle{text-align:center;color:var(--cm-muted);margin:0 0 32px}.reservation-embed{background:var(--cm-paper);padding:18px;min-height:460px;border-radius:12px;box-shadow:0 8px 28px #00000014,0 1px #0000000a;border:1px solid rgba(0,0,0,.05);max-width:720px;margin:0 auto}.reservation-embed iframe{border-radius:8px;display:block}.home-reservation{padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px);background:var(--cm-paper);text-align:center}.home-reservation h2{color:var(--accent);margin:0 0 24px}.home-reservation .reservation-embed{max-width:900px;margin:0 auto}.address-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,56px);padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px);max-width:1000px;margin:0 auto;color:var(--cm-charcoal)}.address-col h2{color:var(--accent);margin:0 0 18px}.address-block{font-size:17px;line-height:1.6;margin:0 0 20px}.address-line{margin:0 0 10px;font-size:16px}.address-line a{color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s}.address-line a:hover{border-color:var(--accent)}.address-icon{color:var(--cm-orange);margin-right:8px;vertical-align:-2px}.address-directions{color:var(--cm-muted);font-size:15px;font-style:italic;margin-top:16px}.maps-link{display:inline-block;margin-top:16px;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.hours-table{width:100%;border-collapse:collapse;font-size:15px}.hours-table td{padding:10px 0;border-bottom:1px dotted rgba(129,12,10,.2)}.hours-table td:last-child{text-align:right;color:var(--cm-muted);font-weight:700}.legal-page{padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px);max-width:820px;margin:0 auto;color:var(--cm-charcoal);line-height:1.7;background:var(--cm-paper)}.legal-page h1{color:var(--accent);margin:0 0 24px}.legal-page h2{color:var(--accent);margin:32px 0 12px;font-weight:700}.legal-page h3{color:var(--cm-orange);font-weight:700;margin:24px 0 8px}.legal-page p{margin:0 0 14px}.legal-page a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.legal-meta{background:var(--cm-paper-soft);padding:20px 24px;margin:0 0 32px;border-left:3px solid var(--accent)}.legal-meta p{margin:0 0 4px;font-size:15px}.legal-notice{background:#fff5d6;border-left:3px solid var(--cm-orange);padding:14px 20px;margin:0 0 32px;font-size:15px}.legal-page ul{margin:0 0 14px;padding-left:22px}.legal-page ul li{margin:0 0 4px}@media(max-width:900px){.hero-slider{height:clamp(220px,32vh,280px)}.text-image-bar,.text-image-bar.tib-prominent.image-left,.text-image-bar.tib-prominent.image-right{grid-template-columns:1fr}.text-image-bar.image-left,.text-image-bar.image-right{grid-template-areas:"image" "text"}.text-image-bar.tib-mobile-text-first{grid-template-areas:"text" "image"}.text-image-bar,.text-image-bar.tib-prominent{min-height:0}.text-image-bar .tib-image{min-height:220px;background-image:var(--tib-bg-sm)}.text-image-bar .tib-text{padding:28px 24px}.section-divider-image{height:clamp(260px,38vh,360px)}.menu-list{grid-template-columns:1fr;gap:22px}.address-card{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
