@font-face{font-family:Plex;src:url('/assets/ibm-plex-sans.ttf') format('truetype');font-display:swap;font-weight:100 700}
:root{--ink:#06101d;--ink2:#0a1525;--cream:#ded9cf;--cream2:#ebe7df;--muted:#8c929a;--line:rgba(222,217,207,.2);--darkline:rgba(6,16,29,.18);--accent:#b8aa93;--radius:3px;--wrap:min(1520px,calc(100vw - 96px));--head:86px;--ease:cubic-bezier(.2,.75,.25,1);--pattern-opacity:.23;--pattern-opacity-mobile:.2;--pattern-dark-opacity:.07;--pattern-dark-opacity-mobile:.06}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font:300 16px/1.6 Plex,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Plex,Arial,sans-serif;font-weight:300;line-height:1.03;letter-spacing:-.035em}.skip{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);background:var(--cream);color:var(--ink);padding:10px 16px}.skip:focus{transform:none}.eyebrow{margin:0 0 25px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:500}.display{font-family:Plex,Arial,sans-serif;font-weight:300;line-height:1.03;letter-spacing:-.035em;margin:0}.copy{max-width:700px;color:rgba(222,217,207,.7);font-size:1.08rem}.light .copy,.pattern-section .copy{color:rgba(6,16,29,.66)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--head);display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid rgba(255,255,255,.14);transition:background .35s,height .35s,backdrop-filter .35s}.site-header.scrolled,.site-header.solid{height:72px;background:rgba(3,10,18,.91);backdrop-filter:blur(16px)}.header-mark{width:43px;height:43px;opacity:0;transform:translateY(-4px);transition:.3s}.scrolled .header-mark,.solid .header-mark{opacity:1;transform:none}.header-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.nav{display:flex;align-items:center;gap:30px;font-size:13px;line-height:1.6;font-weight:400;text-transform:uppercase;letter-spacing:.13em}.nav a{opacity:.9;transition:.2s}.nav a:hover,.nav a[aria-current=page]{opacity:1}.nav .reserve-link{border:1px solid rgba(255,255,255,.45);padding:12px 18px;opacity:1}.menu-toggle{display:none;border:0;background:none;color:var(--cream);width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0}
.hero{min-height:94svh;position:relative;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,15,.86) 0%,rgba(2,8,15,.45) 54%,rgba(2,8,15,.18) 100%),linear-gradient(0deg,rgba(2,8,15,.7),transparent 48%);z-index:-2}.hero-inner{width:var(--wrap);margin:0 auto;padding:calc(var(--head) + 110px) 0 9vh}.hero-logo{width:min(510px,48vw);max-height:150px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);margin-bottom:70px}.hero-home .hero-logo{width:min(600px,54vw)}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(4.3rem,8.2vw,9.4rem);max-width:1050px}.hero-home h1{font-size:clamp(4.1rem,7.2vw,8.6rem)}.hero-lead{max-width:690px;font-size:1.18rem;color:rgba(255,255,255,.8);margin:28px 0 0}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;border:1px solid rgba(222,217,207,.4);text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;transition:.25s}.button:hover{background:var(--cream);color:var(--ink)}.button.filled{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button.filled:hover{background:#fff}.scroll{position:absolute;z-index:2;bottom:23px;left:50%;right:auto;transform:translateX(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;opacity:.8}.scroll:hover{opacity:1}.scroll:focus-visible{outline:1px solid var(--cream);outline-offset:3px}.scroll svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.section{padding:140px 0}.section-inner{width:var(--wrap);margin:auto}.light{background:var(--cream);color:var(--ink)}.pattern-section{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);color:var(--ink)}.pattern-section::before{content:"";position:absolute;z-index:-1;inset:0;background:url('/assets/pattern.svg') left top/420px 420px repeat;opacity:var(--pattern-opacity);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 30%,rgba(0,0,0,.28) 58%,transparent 76%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 30%,rgba(0,0,0,.28) 58%,transparent 76%)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:80px}.section-head h2{font-size:clamp(3.8rem,7vw,8rem)}.section-head .copy{justify-self:end;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:690px}.split-media img{width:100%;height:100%;object-fit:cover}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:9vw;background:var(--cream);color:var(--ink)}.split-copy h2{font-size:clamp(3.8rem,6vw,7rem);margin-bottom:35px}.split-copy p{max-width:620px}.split.reverse .split-media{order:2}.split.reverse .split-copy{order:1}
.kitchen-title{font-size:clamp(3.1rem,3.45vw,5.5rem)!important}.kitchen-title span{display:block;white-space:nowrap}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.choice-card{position:relative;min-height:660px;overflow:hidden;background:#111}.choice-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.choice-card:hover .choice-bg{transform:scale(1.025)}.choice-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,8,15,.85),rgba(2,8,15,.05) 70%)}.choice-logo{position:absolute;z-index:2;top:50px;left:55px;width:300px;height:90px;object-fit:contain;object-position:left center}.choice-copy{position:absolute;z-index:2;left:55px;right:55px;bottom:50px}.choice-copy h2{font-size:clamp(3.5rem,5vw,6.6rem);margin-bottom:20px}.text-link{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border:1px solid var(--line);padding:42px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.feature h3{font-weight:300;font-size:2.5rem;line-height:1;margin:0}.feature p{color:rgba(222,217,207,.62);margin:30px 0 0}.light .feature{border-color:var(--darkline)}.light .feature p{color:rgba(6,16,29,.64)}
.event-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.event-card{grid-column:span 4;background:var(--ink2);border:1px solid var(--line);border-radius:4px;overflow:hidden}.event-card.main{grid-column:span 8;display:grid;grid-template-columns:1.15fr .85fr}.event-card img{width:100%;height:330px;object-fit:cover}.event-card.main img{height:100%;min-height:520px}.event-body{padding:36px}.event-body .date{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.event-body h3{font-weight:300;font-size:2.65rem;line-height:1.05;margin:20px 0}.event-body p:last-child{color:var(--muted)}.home-calendar .event-card,.home-calendar .event-card.main{grid-column:span 4;display:block}.home-calendar .event-card img,.home-calendar .event-card.main img{height:250px;min-height:0}.home-calendar .event-body{padding:26px}.home-calendar .event-body h3{font-size:2rem;margin:14px 0 12px}
.visit-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:110px;align-items:start}.visit-intro h2{font-size:clamp(4rem,6vw,7.5rem);margin-bottom:35px}.reserve-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.reserve-option{border:1px solid var(--line);min-height:126px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;transition:.2s}.reserve-option:hover{background:var(--cream);color:var(--ink)}.reserve-option svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4}.hours{border-top:1px solid var(--line)}.hours-block{padding:38px 0 18px}.hours-block+.hours-block{border-top:1px solid var(--line);margin-top:20px}.hours-combined{border-top:0}.hours-combined .hours-block:first-child{padding-top:0}.hours-combined .hours-block+.hours-block{border-top:0}.hours dl{margin:15px 0 0}.hours dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}.hours dt,.hours dd{margin:0;color:rgba(222,217,207,.76)}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;grid-area:cards}.menu-card{border:1px solid var(--darkline);padding:35px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.menu-card strong{font-size:2rem;font-weight:300}.menu-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.menu-card.disabled{opacity:.58}.menu-card-link{transition:background .25s,color .25s,border-color .25s}.menu-card-link:hover,.menu-card-link:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--cream)}.menu-card-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.menu-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);grid-template-areas:"title countdown" "cards cards";column-gap:clamp(48px,6vw,100px);row-gap:72px;align-items:end}.menu-layout>.reveal:first-child{grid-area:title;margin-bottom:0}.menu-layout h2{font-size:clamp(3.8rem,7vw,8rem)}.menu-layout h2 span{display:block}.menu-layout h2 span:first-child{white-space:nowrap}.menu-grid-stacked{grid-template-columns:1fr;gap:14px}.menu-grid-stacked .menu-card{min-height:118px;padding:25px 30px}.menu-grid-stacked .menu-card strong{font-size:1.65rem}
.menu-countdown{grid-area:countdown;align-self:start;margin:51px 0 0;padding:0 0 7px clamp(28px,3vw,48px);border-left:1px solid var(--darkline)}
.menu-countdown-head{display:block;margin-bottom:24px}
.menu-countdown-head .eyebrow{margin:0}
.menu-countdown-date{margin:8px 0 0;color:rgba(6,16,29,.56);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.menu-countdown-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:690px}
.menu-countdown-value{padding:0 clamp(12px,1.5vw,24px);border-left:1px solid var(--darkline)}
.menu-countdown-value:first-child{padding-left:0;border-left:0}
.menu-countdown-value strong{display:block;font-size:clamp(2.55rem,3.35vw,4.35rem);font-weight:300;line-height:.9;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.menu-countdown-value span{display:block;margin-top:12px;color:rgba(6,16,29,.58);font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em}
.menu-countdown-expired{margin:0;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:300;letter-spacing:-.02em}
.menu-countdown.is-expired .menu-countdown-values{display:none}
.chef{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.chef img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:saturate(.8)}.chef h2{font-size:clamp(4rem,6vw,7rem);margin:0 0 35px}.chef .role{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.room{position:relative;min-height:620px;overflow:hidden}.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,8,15,.86),transparent 70%)}.room-copy{position:absolute;z-index:2;left:45px;right:45px;bottom:42px;color:var(--cream)}.room h3{font-size:3.7rem;line-height:1;margin:0 0 12px;color:var(--cream)}.room p{max-width:500px;color:rgba(255,255,255,.78)}
.history-intro .section-head{grid-template-columns:1fr;align-items:start;gap:46px;margin-bottom:0}.history-intro .section-head>div:first-child{max-width:1100px}.history-intro .section-head .copy{justify-self:start}.history-copy{max-width:850px}.timeline{border-top:1px solid var(--darkline)}.timeline-row{display:grid;grid-template-columns:240px 1fr;gap:50px;padding:38px 0;border-bottom:1px solid var(--darkline)}.timeline-year{font-size:3rem;font-weight:300;white-space:nowrap}.timeline-row h3{font-size:1.25rem;margin:0 0 8px}.timeline-row p{max-width:800px;margin:0;color:rgba(6,16,29,.66)}
.career-list{border-top:1px solid var(--darkline)}.job{border-bottom:1px solid var(--darkline)}.job button{width:100%;border:0;background:none;color:inherit;padding:26px 0;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.job-title{font-size:2.1rem;font-weight:300}.job-meta{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;margin-right:auto;margin-left:35px}.job-plus{font-size:1.6rem;font-weight:300}.job-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.job-detail>div{overflow:hidden}.job-detail-inner{padding:0 0 38px;max-width:880px}.job.open .job-detail{grid-template-rows:1fr}.job.open .job-plus{transform:rotate(45deg)}
.cta-strip{padding:90px 0;background:#101b2b}.cta-inner{width:var(--wrap);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-strip h2{font-size:clamp(3rem,5vw,6rem)}
.footer{background:#030a12;padding:90px 0 30px}.footer-main{width:var(--wrap);margin:auto;display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:50px}.footer-mark{width:55px}.footer-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 16px}.footer p,.footer address{font-style:normal;color:rgba(222,217,207,.72);margin:0}.footer a:hover{color:#fff}.socials{display:flex;gap:14px}.socials a{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center}.socials svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.footer-bottom{width:var(--wrap);margin:70px auto 0;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.legal-links{display:flex;gap:25px}
.legal-page{background:var(--cream);color:var(--ink)}.legal-hero{padding:170px 0 70px;width:var(--wrap);margin:auto}.legal-hero h1{font-size:clamp(4.5rem,8vw,9rem)}.legal-content{width:min(900px,calc(100vw - 48px));margin:0 auto;padding:40px 0 120px}.legal-content h2{font-weight:300;font-size:2rem;margin:55px 0 10px}.legal-content a{text-decoration:underline}.legal-content p,.legal-content li{color:rgba(6,16,29,.72)}
.legal-header{height:92px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:0}.legal-brand img{width:215px;max-height:54px;transform:translateY(16px)}.legal-back{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.legal-main{width:min(1050px,calc(100vw - 48px));margin:auto;padding:110px 0 80px}.legal-main>h1{font-size:clamp(4rem,8vw,8rem);font-weight:300;line-height:1;margin:0}.legal-main>.kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em}.legal-footer{padding:30px 42px;border-top:1px solid var(--darkline);display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.legal-footer-links{display:flex;gap:24px}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.js .reveal.visible{opacity:1;transform:none}
@media (min-width:821px) and (max-height:800px){.hero-inner{padding-top:125px;padding-bottom:38px}.hero-logo,.hero-home .hero-logo{max-height:100px;margin-bottom:34px}.hero h1,.hero-home h1{font-size:clamp(3.8rem,6.6vw,6.3rem)}.hero-lead{margin-top:18px;font-size:1rem}.hero-actions{margin-top:20px}.button{min-height:49px;padding:12px 22px}}
@media(max-width:1100px){:root{--wrap:calc(100vw - 48px)}.nav{gap:18px}.section-head,.visit-layout,.chef{gap:55px}.kitchen-title span{display:inline;white-space:normal}.kitchen-title span:first-child::after{content:" "}.choice-card{min-height:570px}.event-card{grid-column:span 6}.event-card.main{grid-column:span 12}.footer-main{grid-template-columns:1fr 1fr}.menu-layout{grid-template-columns:1fr;grid-template-areas:"title" "countdown" "cards";row-gap:48px;align-items:start}.menu-countdown{margin-top:0;padding:26px 0 0;border-left:0;border-top:1px solid var(--darkline)}.menu-countdown-values{max-width:760px}.menu-countdown-value strong{font-size:clamp(3rem,7vw,4.8rem)}}
@media(max-width:820px){:root{--head:72px;--wrap:calc(100vw - 36px)}body{font-size:16px}.site-header{padding:0 18px;height:72px}.header-mark{opacity:1;transform:none;width:40px;height:40px}.nav{position:fixed;inset:0;background:rgba(3,10,18,.98);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px;gap:25px;font-size:1.05rem;transform:translateX(100%);transition:.35s}.menu-open .nav{transform:none}.menu-toggle{display:block;position:relative;z-index:3}.hero{min-height:830px}.hero-inner{padding:140px 0 85px}.hero-logo,.hero-home .hero-logo{width:min(88vw,470px);margin-bottom:75px;max-height:115px}.hero h1,.hero-home h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-lead{font-size:1rem}.hero-actions{flex-direction:column}.button{width:100%}.scroll{bottom:20px;height:34px;left:50%;right:auto;transform:translateX(-50%)}.section{padding:90px 0}.section-head{grid-template-columns:1fr;gap:28px;margin-bottom:45px}.section-head h2{font-size:clamp(3.5rem,15vw,5.5rem)}.section-head .copy{justify-self:start}.history-intro .section-head{gap:28px}.split,.split.reverse{grid-template-columns:1fr;min-height:0}.split-media,.split.reverse .split-media{order:1}.split-copy,.split.reverse .split-copy{order:2;padding:80px 24px}.split-copy h2{font-size:clamp(3.4rem,14vw,5.5rem)}.kitchen-title{font-size:clamp(3.4rem,14vw,5.5rem)!important}.kitchen-title span{display:inline;white-space:normal}.kitchen-title span:first-child::after{content:" "}.choice-grid,.feature-grid,.room-grid,.visit-layout,.chef,.menu-grid,.menu-layout{grid-template-columns:1fr}.menu-layout{gap:45px}.menu-layout>.reveal{margin-bottom:0}.menu-layout h2{font-size:clamp(3rem,14vw,5.5rem)}.menu-grid-stacked .menu-card{min-height:118px;padding:25px 28px}.choice-card{min-height:580px}.choice-logo{top:28px;left:28px;width:245px;height:74px}.choice-copy{left:28px;right:28px;bottom:28px}.feature{min-height:230px}.event-card,.event-card.main,.home-calendar .event-card,.home-calendar .event-card.main{grid-column:span 12;display:block}.event-card.main img,.event-card img,.home-calendar .event-card img,.home-calendar .event-card.main img{height:380px;min-height:0}.reserve-options{grid-template-columns:1fr}.reserve-option{min-height:88px}.hours dl div{display:block}.hours dd{margin-top:5px}.chef{gap:45px}.chef img{aspect-ratio:4/4.5}.room{min-height:520px}.timeline-row{grid-template-columns:1fr;gap:6px}.job button{align-items:flex-start}.job-meta{display:none}.cta-inner{display:block}.cta-inner .button{margin-top:28px}.footer-main{grid-template-columns:1fr;gap:36px}.footer-bottom{display:block}.legal-links{margin-top:20px;flex-direction:column;gap:12px}.pattern-section::before{background-size:322px 322px;opacity:var(--pattern-opacity-mobile);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.65) 55%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.65) 55%,transparent 100%)}.legal-hero{padding-top:130px}.legal-header{padding:0 18px}.legal-brand img{width:170px}.legal-back{display:none}.legal-main{padding-top:75px}.legal-footer{padding:25px 18px;display:block}.legal-footer-links{margin-top:20px;flex-direction:column;gap:12px}}
@media(min-width:640px) and (max-width:820px){#karten .menu-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:639px){.menu-countdown-head{display:block}.menu-countdown-date{margin-top:10px}.menu-countdown-values{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.menu-countdown-value{padding:0 18px}.menu-countdown-value:nth-child(odd){padding-left:0;border-left:0}.menu-countdown-value:nth-child(even){padding-right:0}.menu-countdown-value strong{font-size:clamp(3.5rem,19vw,5.4rem)}.menu-countdown-value span{margin-top:11px}}
@keyframes scroll-cue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
.js .scroll{animation:scroll-cue .7s var(--ease) 6.9s 1 both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.choice-card img{transition:none}.js .scroll{animation:none}}

/* Teaser site is the visual source of truth. */
:root{--head:108px;--radius:4px}
.kicker{margin:0 0 25px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:500}
.site-header{height:var(--head);padding:0 max(26px,5vw);border-bottom:0;transition:background .35s,height .35s,backdrop-filter .35s,border-color .35s}
.site-header.scrolled,.site-header.solid{height:72px;border-bottom:0;background:rgba(3,10,18,.91);backdrop-filter:blur(16px)}
.header-brand{position:relative;z-index:3;display:flex;align-items:center;width:clamp(230px,19vw,280px);height:90px}
.header-brand img{position:absolute;top:50%;left:0;max-width:100%;max-height:82px;object-fit:contain;object-position:left center;transition:opacity .3s,transform .3s}
.header-logo-full{opacity:1;transform:translateY(calc(-50% + 25px)) scale(1.15);transform-origin:left center}
.header-brand .header-logo-short{width:39px;height:39px;opacity:0;transform:translateY(calc(-50% - 4px))}
.scrolled .header-logo-full,.solid .header-logo-full{opacity:0;transform:translateY(calc(-50% + 21px)) scale(1.15)}
.scrolled .header-logo-short,.solid .header-logo-short{opacity:1;transform:translateY(-50%)}
.legal-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--head);padding:0 max(26px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:0;background:var(--cream);transition:height .35s}
.legal-header.scrolled{height:72px}
.legal-brand{position:relative;display:flex;align-items:center;width:clamp(230px,19vw,280px);height:90px}
.legal-brand img{position:absolute;top:50%;left:0;width:auto;max-width:100%;max-height:82px;object-fit:contain;object-position:left center;transition:opacity .3s,transform .3s}
.legal-logo-full{opacity:1;transform:translateY(calc(-50% + 25px)) scale(1.15);transform-origin:left center}
.legal-brand .legal-logo-short{width:39px;height:39px;opacity:0;transform:translateY(calc(-50% - 4px))}
.legal-header.scrolled .legal-logo-full{opacity:0;transform:translateY(calc(-50% + 21px)) scale(1.15)}
.legal-header.scrolled .legal-logo-short{opacity:1;transform:translateY(-50%)}
.legal-back{font-size:.78rem;font-weight:400;text-transform:uppercase;letter-spacing:.13em}
.legal-main{padding-top:calc(var(--head) + 110px)}
.footer-career{margin-top:18px!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.nav .reserve-link{border:0;border-radius:var(--radius);padding:12px 18px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.nav .reserve-link:hover{background:rgba(255,255,255,.22)}
.button{min-height:46px;padding:.72rem 1.3rem;border:0;border-radius:var(--radius);background:rgba(255,255,255,.12);color:var(--cream);backdrop-filter:blur(8px);font-size:13px;font-weight:400;letter-spacing:.08em;transition:background .2s,color .2s,opacity .2s}
.button.filled{background:rgba(255,255,255,.2);color:var(--cream)}
.button:hover,.button.filled:hover{background:rgba(255,255,255,.27);color:var(--cream)}
.button.outline{background:transparent;border:1px solid rgba(222,217,207,.58);color:var(--cream)}
.button.outline:hover{background:rgba(255,255,255,.12);color:var(--cream)}
.reserve-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,480px)}
.reserve-options-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.visit-reservation-copy .copy{margin-bottom:0}
.visit-reservation-copy .copy+.copy{margin-top:10px}
.visit-reservation-copy .copy.cafe-reservation-note{margin-top:24px}
.reserve-option{min-height:110px;align-items:center;justify-content:center;gap:8px;padding:15px 8px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.045);text-align:center}
.reserve-option:hover{background:rgba(255,255,255,.12);border-color:rgba(222,217,207,.38);color:var(--cream)}
.choice-card,.feature,.menu-card,.room{border-radius:var(--radius);overflow:hidden}
.career-teaser{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);color:var(--ink);padding:110px 0}
.career-teaser::before,.career-about::before{content:"";position:absolute;z-index:-1;inset:0;background:url('/assets/pattern.svg') left top/420px 420px repeat;opacity:var(--pattern-opacity);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 30%,rgba(0,0,0,.28) 58%,transparent 76%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 30%,rgba(0,0,0,.28) 58%,transparent 76%)}
.career-teaser-inner{width:var(--wrap);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;align-items:end}
.career-teaser h2{font-size:clamp(50px,5.5vw,80px);margin-bottom:0}
.career-teaser-copy{padding-bottom:8px}
.career-teaser-copy p{max-width:590px;margin:0 0 28px;color:#4c5057;font-size:18px;line-height:1.65}
.career-teaser-copy a,.career-jump{display:inline-flex;padding:12px 0;border-bottom:1px solid rgba(3,9,19,.5);font-size:13px;text-transform:uppercase;letter-spacing:.1em;transition:opacity .2s}
.career-teaser-copy a:hover,.career-jump:hover{opacity:.58}
.career-page{background:var(--ink);color:var(--cream)}
.career-hero{position:relative;isolation:isolate;overflow:hidden;min-height:72svh;display:flex;align-items:center;padding:150px max(28px,6vw) 110px}
.career-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:url('/assets/career-hero.webp') left center/cover no-repeat}
.career-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,8,18,.62) 0%,rgba(2,8,18,.44) 55%,rgba(2,8,18,.26) 100%)}
.career-hero-inner{width:min(100%,1260px);margin:auto}
.career-hero h1{font-size:clamp(62px,8vw,116px);max-width:1050px;margin:0 0 34px}
.career-hero-inner>p:not(.kicker){max-width:690px;color:#b2b4b8;font-size:20px;text-shadow:0 2px 14px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.4)}
.career-hero h1{text-shadow:0 2px 14px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.4)}
.career-jump{margin-top:30px;border-bottom-color:rgba(222,217,207,.55)}
.career-about{position:relative;isolation:isolate;overflow:hidden;background:var(--cream);color:var(--ink);padding:130px max(28px,6vw)}
.career-about-grid,.career-benefits{width:min(100%,1260px);margin:auto}
.career-about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw}
.career-about h2{font-size:clamp(50px,5.5vw,82px);margin-bottom:0}
.career-about-copy{padding-top:38px}
.career-about-copy p{font-size:18px;line-height:1.65;color:#3f434a}
.career-about-copy p+p{margin-top:26px}
.career-benefits{margin-top:100px;padding-top:35px;border-top:1px solid rgba(3,9,19,.22)}
.career-benefits ul{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:7vw}
.career-benefits li{padding:18px 0;border-bottom:1px solid rgba(3,9,19,.16);font-size:17px}
.career-jobs{padding:130px max(28px,6vw)}
.career-jobs-heading,.job-list,.career-contact{width:min(100%,1260px);margin-left:auto;margin-right:auto}
.career-jobs-heading{margin-bottom:62px}
.career-jobs-heading h2{font-size:clamp(52px,6vw,88px);margin-bottom:25px}
.career-jobs-heading>p:last-child{font-size:18px;color:#a9abb0}
.job-list{border-top:1px solid rgba(222,217,207,.3)}
.job{border-bottom:1px solid rgba(222,217,207,.3)}
.job summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 0;cursor:pointer}
.job summary::-webkit-details-marker{display:none}
.job summary span{font-size:clamp(27px,3vw,42px);font-weight:300;line-height:1.15;letter-spacing:-.025em}
.job summary small{display:block;margin-bottom:8px;color:#898d94;font-size:11px;font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:.15em}
.job summary i{position:relative;flex:0 0 28px;width:28px;height:28px}
.job summary i::before,.job summary i::after{content:"";position:absolute;left:3px;top:13px;width:22px;height:1px;background:var(--cream);transition:transform .3s}
.job summary i::after{transform:rotate(90deg)}
.job[open] summary i::after{transform:rotate(0)}
.job summary:hover span{opacity:.68}
.job-panel{display:grid;grid-template-columns:1fr 1fr;gap:38px 8vw;padding:10px 0 54px}
.job-lead{grid-column:1/-1;max-width:850px;font-size:20px;line-height:1.55;color:#c1c2c5}
.job-panel h3{font-size:22px;font-weight:400;letter-spacing:-.01em;margin-bottom:19px}
.job-panel ul{margin:0;padding-left:1.15em;color:#a9abb0}
.job-panel li{padding-left:.35em;margin:10px 0;line-height:1.58}
.job-apply{grid-column:1/-1;margin-top:14px;padding-top:28px;border-top:1px solid rgba(222,217,207,.15);display:flex;align-items:center;justify-content:space-between;gap:24px}
.job-apply p{margin:0}
.job-apply a{display:inline-flex;padding:11px 18px;border:1px solid rgba(222,217,207,.5);border-radius:3px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;transition:background .2s,color .2s}
.job-apply a:hover{background:var(--cream);color:var(--ink)}
.career-contact{margin-top:105px;padding:55px 0 0;border-top:1px solid rgba(222,217,207,.3)}
.career-contact h2{font-size:clamp(46px,5vw,72px);margin-bottom:28px}
.career-contact>p:last-child{font-size:18px;color:#a9abb0}
.career-contact a{color:var(--cream);border-bottom:1px solid rgba(222,217,207,.5)}
@media(max-width:820px){
  :root{--head:76px}
  .site-header{height:76px;padding:0 22px}
  .header-brand{width:178px;height:64px}
  .header-brand img{max-height:56px}
  .header-brand .header-logo-short{width:36px;height:36px}
  .nav{padding:50px 22px}
  .hero-home .hero-bg{object-position:76% center}
  .hero-inner{padding-top:130px}
  .career-teaser{padding:84px 0}
  .career-teaser-inner{grid-template-columns:1fr;gap:34px}
  .career-teaser h2{font-size:50px}
  .career-teaser-copy{padding-bottom:0}
  .career-teaser-copy p{font-size:16px}
  .career-teaser::before,.career-about::before{background-size:322px 322px;opacity:var(--pattern-opacity-mobile);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.65) 55%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.65) 55%,transparent 100%)}
  .career-hero{min-height:auto;padding:120px 22px 90px}
  .career-hero h1{font-size:clamp(52px,14vw,76px)}
  .career-hero-inner>p:not(.kicker){font-size:17px}
  .career-about{padding:88px 22px}
  .career-about-grid{grid-template-columns:1fr;gap:35px}
  .career-about h2{font-size:50px}
  .career-about-copy{padding-top:0}
  .career-about-copy p{font-size:16px}
  .career-benefits{margin-top:70px}
  .career-benefits ul{grid-template-columns:1fr}
  .career-jobs{padding:88px 22px}
  .career-jobs-heading{margin-bottom:42px}
  .job summary{padding:26px 0}
  .job summary span{font-size:29px}
  .job-panel{grid-template-columns:1fr;gap:28px;padding-bottom:42px}
  .job-lead,.job-apply{grid-column:auto}
  .job-lead{font-size:18px}
  .job-apply{align-items:flex-start;flex-direction:column}
  .career-contact{margin-top:75px}
}

/* Restaurant and Café intros share one responsive split component. */
.intro-split{
  height:clamp(690px,44vw,860px);
  min-height:0;
}
.intro-split .split-media{
  min-height:0;
  overflow:hidden;
}
.intro-split .split-copy{
  padding:clamp(64px,5vw,104px);
}
.intro-split-title{
  font-size:clamp(3.8rem,5vw,6.5rem)!important;
  line-height:.98;
  margin-bottom:30px!important;
}
.intro-split-title span{
  display:block;
}
.intro-split .split-copy>p:not(.eyebrow){
  margin-bottom:14px;
}
.intro-split .split-copy>p:last-child{
  margin-bottom:0;
}
@media(max-width:1100px){
  .intro-split-title span{
    display:inline;
  }
  .intro-split-title span:first-child::after{
    content:" ";
  }
}
@media(max-width:820px){
  .intro-split{
    height:auto;
    min-height:0;
  }
  .intro-split .split-copy{
    padding:80px 24px;
  }
  .intro-split-title{
    font-size:clamp(3.4rem,14vw,5.5rem)!important;
    line-height:1.03;
  }
}

/* Calendar contact actions are a compact secondary button tier. */
.calendar-contact .reserve-options{
  width:min(100%,420px);
  margin-top:24px;
}
.calendar-contact .reserve-option{
  min-height:92px;
  padding:12px 8px;
  gap:6px;
}
.calendar-contact .reserve-option svg{
  width:20px;
  height:20px;
}
@media(max-width:820px){
  .calendar-contact .reserve-option{
    min-height:80px;
  }
}

/* Restaurant calendar follows the compact card format used on the start page. */
.restaurant-events{grid-auto-rows:1fr}
.restaurant-events .event-card{grid-column:span 4;display:flex;flex-direction:column;background:transparent}
.restaurant-events .event-card img{height:250px;min-height:0}
.restaurant-events .event-body{display:flex;flex:1;flex-direction:column;padding:26px}
.restaurant-events .event-body h3{font-size:2rem;margin:14px 0 12px}
.restaurant-events .event-body p:last-child{margin-top:0}
.calendar-break-note{display:block;margin-top:38px;padding:28px 0 0;border-top:1px solid var(--line);color:var(--muted)}
.calendar-break-note p{margin:0}
.calendar-break-note .date{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.calendar-break-note strong{color:var(--cream);font-weight:400}
@media(max-width:1100px){.restaurant-events .event-card{grid-column:span 6}}
@media(max-width:820px){.restaurant-events .event-card{grid-column:span 12}.restaurant-events .event-card img{height:380px}.calendar-break-note{padding-top:24px}}
.home-calendar .event-card{background:transparent}
.calendar-contact{justify-self:end;width:min(100%,700px)}
.calendar-contact .copy{max-width:none;margin:0}
.calendar-contact .reserve-options{margin-top:28px}
@media(max-width:820px){.calendar-contact{justify-self:start;width:100%}}
.menu-toggle span{transition:transform .25s var(--ease),opacity .2s}
@media(max-width:1000px){
  body.menu-open{overscroll-behavior:none}
  .site-header{height:76px;padding:0 22px}
  .header-brand{width:178px;height:64px}
  .header-brand img{max-height:56px}
  .header-logo-full{transform:translateY(calc(-50% + 8px)) scale(1.15)}
  .scrolled .header-logo-full,.solid .header-logo-full{transform:translateY(calc(-50% + 4px)) scale(1.15)}
  .header-brand .header-logo-short{width:36px;height:36px}
  .legal-header{height:76px;padding:0 22px}
  .legal-header.scrolled{height:76px}
  .legal-brand{width:178px;height:64px}
  .legal-brand img{max-height:56px}
  .legal-logo-full{transform:translateY(calc(-50% + 8px)) scale(1.15)}
  .legal-header.scrolled .legal-logo-full{transform:translateY(calc(-50% + 4px)) scale(1.15)}
  .legal-brand .legal-logo-short{width:36px;height:36px}
  .menu-open .site-header,.menu-open .site-header.scrolled,.menu-open .site-header.solid{height:76px;background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav{position:fixed;inset:0;z-index:2;display:flex;height:100dvh;min-height:100vh;padding:calc(96px + env(safe-area-inset-top)) 22px max(28px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:auto;background:rgba(3,10,18,.985);visibility:hidden;pointer-events:none;transform:translate3d(100%,0,0);transition:transform .35s var(--ease),visibility 0s linear .35s}
  .menu-open .nav{visibility:visible;pointer-events:auto;transform:translate3d(0,0,0);transition-delay:0s}
  .nav>a{display:flex;align-items:center;min-height:58px;width:100%;border-bottom:1px solid var(--line);font-size:.9rem;white-space:nowrap;opacity:.88}
  .nav .reserve-link{width:100%;margin-top:24px;padding:16px 18px;border:0;justify-content:center;background:rgba(255,255,255,.12)}
  .menu-toggle{display:block;position:relative;z-index:3}
  .menu-open .header-logo-full{opacity:1;transform:translateY(calc(-50% + 8px)) scale(1.15);transform-origin:left center}
  .menu-open .header-logo-short{opacity:0;transform:translateY(calc(-50% - 4px))}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .legal-main>h1{font-size:clamp(2.5rem,10vw,4rem);overflow-wrap:anywhere}
  .legal-main{padding-top:151px}
}
@media(max-width:820px){.legal-back{display:none}}

/* Full-viewport heroes and a consistent cue to the first content section. */
.hero,.career-hero{height:100svh;min-height:100svh}
@supports(height:100dvh){.hero,.career-hero{height:100dvh;min-height:100dvh}}
.career-hero{padding-bottom:max(88px,calc(68px + env(safe-area-inset-bottom)))}
@media(max-width:820px){
  .hero{height:100svh;min-height:100svh}
  @supports(height:100dvh){.hero{height:100dvh;min-height:100dvh}}
  .hero-inner{padding-top:calc(var(--head) + 36px);padding-bottom:max(78px,calc(60px + env(safe-area-inset-bottom)))}
  .scroll{bottom:calc(14px + env(safe-area-inset-bottom))}
  .career-hero{align-items:center;padding:calc(var(--head) + 32px) 22px max(78px,calc(60px + env(safe-area-inset-bottom)))}
}
@media(max-width:820px) and (max-height:700px){
  .hero-inner{padding-top:calc(var(--head) + 12px);padding-bottom:max(64px,calc(50px + env(safe-area-inset-bottom)))}
  .hero h1,.hero-home h1{font-size:clamp(2.75rem,12.5vw,3.5rem)}
  .hero .eyebrow{margin-bottom:12px}
  .hero-lead{margin-top:16px;font-size:.92rem;line-height:1.45}
  .hero-actions{gap:8px;margin-top:20px}
  .button{min-height:42px;padding:.58rem 1rem;font-size:12px}
  .career-hero{padding-top:calc(var(--head) + 12px);padding-bottom:max(64px,calc(50px + env(safe-area-inset-bottom)))}
  .career-hero h1{font-size:clamp(2.85rem,12vw,3.4rem);margin-bottom:18px}
  .career-hero .kicker{margin-bottom:12px}
  .career-hero-inner>p:not(.kicker){font-size:15px;line-height:1.45;margin-bottom:0}
  .career-jump{margin-top:16px;padding:8px 0;font-size:11px}
}

/* Keep the footer columns on one consistent, more generous text rhythm. */
.footer-main>div>p:not(.footer-label),.footer-main>div>address{line-height:1.84}
.socials a{width:44px;height:44px;border:0}
.socials svg{width:27px;height:27px}

/* Contrast the temporary opening note with the tracked uppercase heading. */
.hours-note{margin:-7px 0 16px;color:rgba(222,217,207,.9);font-size:.95rem;font-weight:300;line-height:1.4;letter-spacing:.01em}
.hours-note+dl{margin-top:0}

/* Keep the blur stationary so it is visible as soon as the mobile menu opens. */
@media(max-width:1000px){
  body::before{content:"";position:fixed;inset:0;z-index:99;pointer-events:none;opacity:0;background:rgba(3,10,18,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);will-change:opacity;transform:translateZ(0)}
  body.menu-open::before{opacity:1}
  .nav{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Use one balanced inset for every mobile text overlay on imagery. */
@media(max-width:820px){
  .choice-logo{top:24px;left:24px}
  .choice-copy,.room-copy{left:24px;right:24px;bottom:24px}
  .choice-copy h2{font-size:clamp(2.8rem,14.5vw,3.5rem)}
  .room h3{font-size:clamp(2.8rem,15vw,3.7rem)}
}

/* Factory history: a tighter transition into the timeline. */
.history-intro{padding-bottom:80px}
.history-timeline{padding-top:0}

/* Let the original wall texture carry the full restoration story. */
.restoration-feature{position:relative;isolation:isolate;display:flex;align-items:center;min-height:720px;overflow:hidden;background:var(--cream);color:var(--ink)}
.restoration-feature::before{content:"";position:absolute;z-index:-2;inset:0;background:url('/assets/fabrik-spuren.webp') center/cover no-repeat;transform:scale(1.01)}
.restoration-feature::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(239,235,226,.73) 0%,rgba(239,235,226,.8) 46%,rgba(239,235,226,.88) 100%)}
.restoration-feature-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(60px,8vw,150px);align-items:center;padding:140px 0}
.restoration-feature-heading{max-width:830px}
.restoration-feature h2{font-size:clamp(4.25rem,6.3vw,7.4rem);margin:0}
.restoration-feature-copy{max-width:620px;justify-self:end}
.restoration-feature-copy p{font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.65;color:rgba(6,16,29,.78)}
.restoration-feature-copy p+p{margin-top:28px}

@media(max-width:820px){
  .history-intro{padding-bottom:56px}
  .history-timeline{padding-top:0}
  .restoration-feature{min-height:620px}
  .restoration-feature::before{background-position:42% center}
  .restoration-feature::after{background:rgba(239,235,226,.82)}
  .restoration-feature-inner{grid-template-columns:1fr;gap:36px;padding:90px 0}
  .restoration-feature h2{font-size:clamp(3.35rem,14vw,5rem)}
  .restoration-feature-copy{max-width:100%;justify-self:start}
  .restoration-feature-copy p{font-size:1rem}
}

/* Preserve more of the wall texture while keeping the dark copy legible. */
.restoration-feature::after{background:linear-gradient(90deg,rgba(239,235,226,.3) 0%,rgba(239,235,226,.38) 46%,rgba(239,235,226,.5) 100%)}

/* A softer, longer lower fade supports the copy on both room images. */
.room::after{background:linear-gradient(0deg,rgba(2,8,15,.9) 0%,rgba(2,8,15,.64) 28%,rgba(2,8,15,.2) 58%,transparent 78%)}
.choice-card::after{background:linear-gradient(0deg,rgba(2,8,15,.9) 0%,rgba(2,8,15,.64) 28%,rgba(2,8,15,.2) 58%,transparent 78%)}

@media(max-width:820px){
  .restoration-feature::after{background:rgba(239,235,226,.46)}
}

/* Give the factory page a warmer, more emotional closing image. */
.food-cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:520px;overflow:hidden;background:#101b2b}
.food-cta::before{content:"";position:absolute;z-index:-2;inset:0;background:url('/assets/fabrik-food-cta.webp') center 58%/cover no-repeat;transform:scale(1.01)}
.food-cta::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,8,15,.58) 0%,rgba(2,8,15,.48) 48%,rgba(2,8,15,.38) 100%),linear-gradient(0deg,rgba(2,8,15,.22),transparent 62%)}
.food-cta .cta-inner{position:relative;z-index:1;width:var(--wrap)}

@media(max-width:820px){
  .food-cta{min-height:610px;padding:90px 0}
  .food-cta::before{background-position:58% center}
  .food-cta::after{background:linear-gradient(90deg,rgba(2,8,15,.6),rgba(2,8,15,.44)),linear-gradient(0deg,rgba(2,8,15,.28),transparent 65%)}
}

/* Keep primary mobile actions in the natural thumb zone. */
@media(max-width:1000px){
  .nav{padding-bottom:max(48px,calc(env(safe-area-inset-bottom) + 24px))}
  .nav>a{flex-shrink:0}
  .nav>a:first-child{margin-top:auto}
}

@media(max-width:820px){
  .reserve-options-two{grid-template-columns:1fr}
}

/* Keep the homepage career pattern solid instead of fading horizontally. */
.career-teaser::before{
  opacity:var(--pattern-opacity);
  -webkit-mask-image:none;
  mask-image:none;
}

/* Carry the solid heritage pattern into the restaurant kitchen copy panel. */
.kitchen-pattern{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.pattern-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.kitchen-pattern::before,
.pattern-panel::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:url('/assets/pattern.svg') left top/420px 420px repeat;
  opacity:var(--pattern-opacity);
}

/* Oversized tonal pattern across the chef section, strongest at its right edge. */
.chef-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.chef-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:url('/assets/pattern.svg') right center/clamp(1050px,78vw,1500px) clamp(1050px,78vw,1500px) no-repeat;
  opacity:var(--pattern-dark-opacity);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 22%,rgba(0,0,0,.38) 50%,rgba(0,0,0,.72) 76%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 22%,rgba(0,0,0,.38) 50%,rgba(0,0,0,.72) 76%,#000 100%);
}

/* Keep calendar headings inside their tiles and break German compounds cleanly. */
.event-card,.event-body{min-width:0}
.event-body h3{
  max-width:100%;
  font-size:clamp(2.1rem,2.25vw,2.65rem);
  line-height:1.08;
  text-wrap:balance;
  overflow-wrap:normal;
}

@media(max-width:820px){
  .pattern-section::before,.career-teaser::before,.career-about::before,.kitchen-pattern::before,.pattern-panel::before{opacity:var(--pattern-opacity-mobile)}
  .kitchen-pattern::before,.pattern-panel::before{background-size:322px 322px}
  .chef-section::before{
    inset:0;
    height:auto;
    background-position:right center;
    background-size:650px 650px;
    opacity:var(--pattern-dark-opacity-mobile);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 28%,rgba(0,0,0,.52) 62%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 28%,rgba(0,0,0,.52) 62%,#000 100%);
  }
  .event-body h3{font-size:clamp(2rem,11vw,2.65rem)}
}

/* Light heritage patterns stay solid across every page and viewport. */
.pattern-section::before,
.career-teaser::before,
.career-about::before,
.kitchen-pattern::before,
.pattern-panel::before{
  -webkit-mask-image:none;
  mask-image:none;
}

/* The Café hero keeps the image warmer while preserving text contrast. */
.cafe-hero::after{
  background:
    linear-gradient(90deg,rgba(2,8,15,.68) 0%,rgba(2,8,15,.36) 54%,rgba(2,8,15,.14) 100%),
    linear-gradient(0deg,rgba(2,8,15,.56),transparent 48%);
}

/* Preserve the restaurant photography's warm timber and cream palette. */
.hero-home::after,
.restaurant-hero::after{
  background:
    linear-gradient(90deg,rgba(11,7,4,.82) 0%,rgba(11,7,4,.4) 54%,rgba(11,7,4,.14) 100%),
    linear-gradient(0deg,rgba(11,7,4,.66),transparent 48%);
}

/* Lift only the plated dish without changing the photograph's overall mood. */
.restaurant-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse 20% 25% at 41% 37%,rgba(255,246,230,.15) 0%,rgba(255,246,230,.09) 38%,rgba(255,246,230,0) 74%);
  mix-blend-mode:screen;
}

/* The Start page belongs to the mobile thumb menu, not the desktop header. */
.mobile-home-link{display:none}
@media(max-width:820px){
  .nav>.mobile-home-link{display:flex}
}

/* One shared hierarchy for the principal content-section titles site-wide. */
.content-title-standard,
#kalender .section-head h2,
section:has(.room-grid) .section-head h2,
.visit-intro h2,
.history-intro .section-head h2,
.restoration-feature h2,
.food-cta h2,
.career-about h2,
.career-jobs-heading h2,
.career-contact h2{
  font-size:clamp(3.8rem,6vw,7rem)!important;
}
.content-title-standard.kitchen-title span{
  white-space:normal;
}
.career-about h2{
  font-size:clamp(3.8rem,4.4vw,5.125rem)!important;
}
@media(max-width:820px){
  .content-title-standard,
  #kalender .section-head h2,
  section:has(.room-grid) .section-head h2,
  .visit-intro h2,
  .history-intro .section-head h2,
  .restoration-feature h2,
  .food-cta h2,
  .career-about h2,
  .career-jobs-heading h2,
  .career-contact h2{
    font-size:clamp(3.4rem,14vw,5.5rem)!important;
  }
  .career-about h2{
    font-size:clamp(2.7rem,12vw,3rem)!important;
  }
}
