@font-face{font-family:'Bricolage';src:url('../fonts/desaga-v2/BricolageGrotesque.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Hanken';src:url('../fonts/v2/HankenGrotesk[wght].ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--tomato:#c12b31;--butter:#f6e7a9;--ink:#242823;--garden:#244d3f;--paper:#fff5d4;--red:var(--tomato);--oat:var(--butter);--olive:var(--garden);--acid:var(--butter);--ease:cubic-bezier(.2,.8,.2,1);--opening-progress:0}
html{scroll-padding-top:96px}body{font-family:'Hanken',sans-serif;background:var(--tomato);color:var(--butter);overflow-x:clip}h1,h2,h3{font-family:'Bricolage',sans-serif;font-weight:800;font-variation-settings:'opsz' 96,'wdth' 95;line-height:.91;letter-spacing:-.035em}button{font:inherit}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--butter);color:var(--tomato)}.eyebrow{text-transform:uppercase;font-size:11px;line-height:1.35;letter-spacing:.12em;font-weight:600}.section-pad{padding:100px 5vw}.chapter-top{display:flex;justify-content:space-between;gap:20px}.site-header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:91px;margin:0 3.3vw;border-bottom:1px solid #f6e7a966}.brand-wordmark{position:relative;display:block;width:132px;height:40px;overflow:hidden;flex:0 0 auto}.desktop-nav{display:flex;gap:35px;margin-left:6vw}.desktop-nav a{text-decoration:none;font-size:14px;position:relative}.desktop-nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.header-actions{display:flex;align-items:center;gap:18px}.reserve-button{border:1px solid var(--butter);color:var(--butter);background:transparent;padding:12px 18px;min-height:46px;font-size:14px;display:flex;gap:18px;align-items:center;transition:background .2s,color .2s}.reserve-button:hover{background:var(--butter);color:var(--tomato)}.reserve-button span{font-size:20px}.nav-toggle{display:none}.opening{padding-top:136px;position:relative;overflow:hidden}.opening-intro{padding:0 5vw}.opening-intro>.eyebrow{text-align:center}.opening h1{font-size:10.4vw;white-space:nowrap;text-align:center;line-height:1.05;margin:15px 0 8px;letter-spacing:-.035em}.opening-line{display:flex;justify-content:space-between;gap:24px;font-size:13px;align-items:center;margin:0 2.5vw 32px}.opening-line a{text-decoration:none;display:flex;align-items:center;gap:35px}.opening-line a span{font-size:22px}.table-scene{position:relative;margin:0 auto;width:calc(86% + 14% * var(--opening-progress));height:clamp(510px,66vw,800px)}.table-photo{height:100%;overflow:hidden;background:#854622}.table-photo img{width:100%;height:115%;object-fit:cover;object-position:50% 56%;transform:translate3d(0,calc(-3% - var(--opening-progress)*6%),0)}.opening-logo{position:absolute;left:-4vw;top:calc(-12px - var(--opening-progress)*20px);width:clamp(105px,11vw,190px);height:auto;transform:rotate(calc(-8deg + var(--opening-progress)*6deg));filter:drop-shadow(0 8px 4px #0002)}.table-caption{position:absolute;left:4%;right:4%;bottom:32px;display:flex;justify-content:space-between;align-items:end;gap:25px;color:#fff9e7}.table-caption>span{font-size:14px;text-shadow:0 1px 10px #000;line-height:1.35}.photo-menu{display:flex;gap:30px;align-items:center;background:var(--butter);color:var(--ink);border:0;padding:17px 24px;font-size:17px;min-height:60px;box-shadow:4px 4px 0 var(--tomato);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.photo-menu span{font-size:24px}.folk-divider{height:clamp(46px,5.43vw,80px);background-image:url('../assets/desaga-folk-border.png');background-position:center;background-size:auto 100%;background-repeat:repeat-x;position:relative;margin:24px 0}.food-chapter{background:var(--butter);color:var(--ink);padding-bottom:150px}.food-heading{display:flex;align-items:end;justify-content:space-between;gap:8vw;margin:65px 0 -50px;position:relative;z-index:2;pointer-events:none}.food-heading h2{font-size:clamp(70px,9.1vw,148px);max-width:10ch;line-height:.9}.food-heading h2 .poster-accent{color:var(--tomato)}.food-heading>p{font-size:18px;line-height:1.5;max-width:30ch;margin:0 2vw 98px 0}.food-spread{display:grid;grid-template-columns:1fr .72fr;gap:8vw;align-items:start;padding-left:12vw}.food-main{padding-top:16px}.food-main img{height:700px;width:100%;object-fit:cover;object-position:48% 48%}.food-main figcaption{font-size:12px;margin-top:14px}.food-side{padding-top:100px}.zacusca-photo{height:330px;width:100%;overflow:hidden}.zacusca-photo img{height:100%;width:100%;object-fit:cover}.menu-invitation{padding:40px 0 0;max-width:430px}.menu-invitation>p{font-family:'Bricolage',sans-serif;font-size:clamp(28px,3.2vw,46px);font-weight:700;letter-spacing:-.03em;line-height:1.08;margin:18px 0 24px}.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;text-decoration:none;font-size:16px;min-height:50px;padding:8px 0;line-height:1.3}.text-link span{font-size:24px;transition:transform .3s var(--ease)}.bakery{background:var(--tomato);color:var(--butter);position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:1030px;padding:110px 5vw 100px;isolation:isolate;overflow:hidden}.bakery-title{position:relative;z-index:3;grid-column:1/3;pointer-events:none}.bakery h2{font-size:clamp(84px,11.5vw,180px);margin-top:45px;max-width:7.8ch}.bread-frame{position:absolute;left:39%;top:14%;width:40%;height:72%;transform:rotate(7deg);z-index:1;overflow:hidden}.bread-frame img{height:120%;width:100%;object-fit:cover;object-position:center 50%;margin-top:-10%}.bakery-copy{position:relative;z-index:3;grid-column:2;align-self:end;max-width:380px;margin:40px 0 0 auto;background:var(--tomato);padding:30px 0 0 35px}.bakery-copy>p{font-size:17px;line-height:1.6;margin:18px 0}.bread-word{position:absolute;bottom:-.19em;left:1vw;font-family:'Bricolage',sans-serif;font-weight:800;letter-spacing:-.08em;font-size:23vw;line-height:1;color:var(--butter);opacity:.1;z-index:-1}.places{color:var(--butter);background:var(--garden);padding-bottom:110px}.places-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:70px 0 55px}.places-heading h2{font-size:clamp(65px,8.3vw,132px)}.places-heading>p{font-size:17px;line-height:1.6;margin-bottom:8px;max-width:33ch}.place-selectors{display:flex;gap:45px;border-top:1px solid #f6e7a959;border-bottom:1px solid #f6e7a959;padding:8px 0;margin-bottom:28px}.place-selector{border:0;background:transparent;color:inherit;opacity:.75;font-family:'Bricolage',sans-serif;font-size:clamp(24px,3.2vw,46px);font-weight:700;letter-spacing:-.03em;min-height:80px;display:flex;align-items:center;gap:18px;padding:0;transition:opacity .25s}.place-selector>span:first-child{font-family:'Hanken',sans-serif;font-size:11px;letter-spacing:.05em;align-self:start;padding-top:21px}.place-selector>span:last-child{font-size:26px;margin-left:15px;transition:transform .35s var(--ease)}.place-selector:hover,.place-selector.is-active{opacity:1}.place-selector.is-active>span:last-child{transform:rotate(45deg)}.place-stage{display:grid;grid-template-columns:1.4fr 1fr;min-height:610px;gap:5.5vw}.place-photo{overflow:hidden;min-height:100%;background:#193b2f}.place-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);min-height:610px}.place-photo.is-changing img{animation:scene-enter .65s var(--ease)}@keyframes scene-enter{from{clip-path:inset(0 100% 0 0);transform:scale(1.07)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}.place-details{align-self:center;padding:30px 0}.place-details h3{font-size:clamp(44px,4.6vw,70px);margin:28px 0 24px}.place-details>p:not(.eyebrow){max-width:33ch;line-height:1.65}.place-details dl{margin:30px 0;font-size:14px;line-height:1.5}.place-details dl>div{margin-bottom:14px}.place-details dt{text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-bottom:4px;opacity:.8}.place-details dd{margin:0}.place-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px}.solid-button{border:1px solid var(--butter);background:var(--butter);color:var(--garden);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px;min-height:55px;font-size:15px;transition:background .25s,color .25s}.solid-button:hover{background:transparent;color:var(--butter)}.solid-button span{font-size:23px}.gathering{background:var(--butter);color:var(--tomato);position:relative;overflow:hidden}.gathering-top{display:flex;justify-content:space-between;align-items:start}.gathering-art{position:absolute;width:clamp(120px,17vw,270px);height:auto;right:7%;top:65px;transform:rotate(12deg)}.gathering h2{font-size:clamp(84px,13.8vw,205px);margin:55px 0;position:relative;max-width:9ch}.gathering-bottom{display:flex;align-items:end;gap:60px;justify-content:space-between;padding-left:33%}.gathering-bottom p{max-width:35ch;line-height:1.6;font-size:17px;color:var(--ink)}.gathering-bottom>.text-link{flex-shrink:0}.site-footer{padding:0 5vw 20px;background:var(--tomato);color:var(--butter)}.site-footer>.folk-divider{margin:0 -5vw 55px;top:22px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:50px;padding:50px 0 70px}.footer-brand{width:230px;height:70px}.footer-phone{display:block;font-family:'Bricolage',sans-serif;font-size:clamp(25px,3vw,44px);font-weight:700;letter-spacing:-.03em;text-decoration:none;margin-top:15px}.footer-links{display:grid;gap:13px;text-align:left;font-size:15px}.footer-links button,.footer-links a{background:transparent;border:0;color:inherit;text-align:left;text-decoration:none;padding:0}.footer-links button:hover,.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #f6e7a94d;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px 25px;font-size:11px;padding:22px 0 0}.footer-bottom button{font-size:inherit;background:transparent;border:0;color:inherit;padding:0;text-decoration:underline;text-underline-offset:4px}.footer-bottom button:disabled{text-decoration:none}.mobile-navigation{position:fixed;inset:0;z-index:15;padding:130px 6vw 45px;display:flex;flex-direction:column;justify-content:center;gap:23px;background:var(--butter);color:var(--tomato)}.mobile-navigation>.eyebrow{margin-bottom:12px}.mobile-navigation>a:not(.nav-phone),.mobile-navigation>button{font-family:'Bricolage',sans-serif;letter-spacing:-.03em;font-size:clamp(28px,6vw,55px);font-weight:700;line-height:1.1;text-decoration:none;display:flex;justify-content:space-between;border:0;background:transparent;color:inherit;text-align:left;padding:0}.mobile-navigation .nav-phone{margin-top:20px;font-size:16px;text-decoration:none}body.nav-open{overflow:hidden}body.nav-open .site-header{position:fixed;background:var(--butter);color:var(--tomato);border-color:var(--tomato)}body.nav-open .reserve-button{color:var(--tomato);border-color:var(--tomato)}.menu-dialog{padding:0;border:0;background:var(--butter);color:var(--tomato);width:min(750px,calc(100% - 28px));max-height:92dvh;overflow:auto}.menu-dialog::backdrop{background:#17281db8;backdrop-filter:blur(7px)}.menu-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 38px 0}.menu-dialog-head button{border:1px solid currentColor;background:transparent;color:inherit;width:44px;height:44px;font-size:27px}.menu-dialog-body{padding:10px 38px 38px}.menu-dialog h2{font-size:clamp(58px,7vw,96px);margin:10px 0 28px}.menu-dialog-body>p{max-width:42ch;margin-bottom:24px;color:var(--ink)}.menu-venue{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #c12b3170;padding:23px 0;text-decoration:none}.menu-venue:last-of-type{border-bottom:1px solid #c12b3170}.menu-venue small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.menu-venue strong{display:block;font-family:'Bricolage',sans-serif;font-size:clamp(24px,3.5vw,38px);letter-spacing:-.04em;margin-top:6px;line-height:1.15}.menu-venue>span:last-child{font-size:28px;transition:transform .3s}.menu-dialog-body>.menu-note{font-size:12px;line-height:1.6;margin:25px 0 0;max-width:none}[data-brand='desaga'] .preview-dialog{--dialog-bg:var(--butter);--dialog-ink:var(--tomato)}[data-brand='desaga'] .preview-dialog__title{font-family:'Bricolage',sans-serif;font-weight:800;letter-spacing:-.03em;font-size:clamp(42px,6vw,64px);line-height:1}[data-brand='desaga'] .preview-dialog .button{background:var(--tomato);color:var(--butter)}[data-brand='desaga'] .preview-dialog .button:hover{background:var(--garden);border-color:var(--garden)}.preview-dialog__intro,.preview-dialog__fine,.preview-provider__meta,.preview-form{color:var(--ink)}
html.motion-ready [data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .8s var(--ease),transform .9s var(--ease)}html.motion-ready [data-reveal].is-visible{opacity:1;transform:none}html[data-motion='off']{scroll-behavior:auto}html[data-motion='off'] *,html[data-motion='off'] *::before,html[data-motion='off'] *::after{animation:none!important;transition:none!important}html[data-motion='off'] [data-reveal]{opacity:1;transform:none}html[data-motion='off'] [data-parallax]{transform:none!important}
@media(min-width:1500px){.table-scene{height:820px}.food-main img{height:840px}.food-chapter{padding-bottom:170px}.bakery{min-height:1150px}.place-stage{min-height:660px}.place-photo img{min-height:660px}}
@media(max-width:1050px){.desktop-nav{gap:22px;margin-left:0}.site-header{margin:0 4vw}.brand-wordmark{width:110px;height:34px}.opening{padding-top:125px}.opening h1{font-size:10.8vw}.table-scene{height:650px}.food-heading>p{font-size:16px;margin-bottom:85px;max-width:27ch}.food-spread{gap:5vw;padding-left:7vw}.food-main img{height:590px}.zacusca-photo{height:260px}.food-side{padding-top:100px}.bakery{min-height:920px}.bakery-copy{max-width:300px}.place-stage{grid-template-columns:1.1fr 1fr;gap:4vw}.place-photo img{min-height:570px}.gathering-bottom{padding-left:15%;gap:35px}.footer-top{gap:30px}.footer-brand{width:170px;height:52px}.footer-phone{font-size:32px}}
@media(max-width:760px){html{scroll-padding-top:25px}.section-pad{padding:68px 6vw}.site-header{min-height:79px;gap:20px}.desktop-nav{display:none}.brand-wordmark{width:112px;height:34px}.nav-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit;padding:9px}.nav-toggle span{height:1.5px;width:24px;background:currentColor;transition:transform .25s}.nav-open .nav-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.header-actions{gap:5px}.reserve-button{padding:9px 13px;font-size:12px;gap:14px;min-height:43px}.reserve-button span{font-size:17px}.opening{padding-top:113px}.opening-intro{padding:0 5vw}.opening-intro>.eyebrow{font-size:9px;letter-spacing:.1em}.opening h1{font-size:19vw;white-space:normal;line-height:.88;text-wrap:balance;margin:30px auto 20px;max-width:7ch;letter-spacing:-.035em}.opening-line{margin:20px 1vw 32px;font-size:11px;align-items:end;gap:20px}.opening-line>span{max-width:26ch}.opening-line a{gap:20px;white-space:nowrap}.table-scene{width:calc(88% + 12% * var(--opening-progress));height:550px}.table-photo img{object-position:46% 50%;height:110%;transform:translateY(calc(-2% - var(--opening-progress)*5%))}.opening-logo{width:99px;left:-4%;top:14px}.table-caption{left:7%;right:7%;bottom:22px;display:block}.table-caption>span{font-size:12px;display:block;margin-bottom:20px;max-width:25ch}.photo-menu{font-size:15px;min-height:52px;padding:12px 17px;gap:35px}.folk-divider{height:43px;margin:18px 0}.chapter-top{flex-direction:column;gap:9px}.eyebrow{font-size:10px}.chapter-top>.eyebrow:last-child{opacity:.7}.food-heading{display:block;margin:45px 0 -15px}.food-heading h2{font-size:16vw;line-height:.93;max-width:11ch}.food-heading>p{font-size:16px;margin:25px 0 32px 23%;max-width:29ch}.food-spread{grid-template-columns:1fr;gap:0;padding-left:0}.food-main{width:80%;padding-top:0}.food-main img{height:460px}.food-main figcaption{font-size:10px;max-width:30ch}.food-side{display:grid;grid-template-columns:.8fr 1fr;gap:6vw;align-items:start;padding-top:0;margin-top:45px;margin-left:5%;width:95%}.zacusca-photo{height:250px;transform:rotate(-4deg)}.menu-invitation{padding-top:25px}.menu-invitation>.eyebrow{font-size:9px}.menu-invitation>p{font-size:26px;line-height:1.05;margin:15px 0}.menu-invitation .text-link{font-size:13px;gap:12px;min-height:48px}.text-link span{font-size:21px}.food-chapter{padding-bottom:90px}.bakery{display:block;padding:70px 6vw;min-height:940px}.bakery h2{font-size:20vw;line-height:.88;margin-top:35px}.bread-frame{left:28%;top:240px;width:64%;height:465px;transform:rotate(6deg)}.bakery-copy{max-width:29ch;margin:340px 0 0 4%;padding:23px 22px 0 0;position:relative;background:var(--tomato)}.bakery-copy>p{font-size:15px;line-height:1.6}.bakery-copy .eyebrow{font-size:9px}.bakery-copy .text-link{font-size:14px}.bread-word{font-size:34vw;bottom:.04em;left:35%}.places-heading{display:block;margin:43px 0 35px}.places-heading h2{font-size:16.7vw}.places-heading>p{font-size:15px;margin:25px 0 0 14%;max-width:29ch}.place-selectors{gap:25px;padding:3px 0;margin-bottom:23px}.place-selector{font-size:24px;min-height:69px;gap:8px;letter-spacing:-.03em}.place-selector>span:first-child{font-size:9px;padding-top:16px}.place-selector>span:last-child{font-size:20px;margin-left:0}.place-stage{display:block}.place-photo{height:360px;min-height:0}.place-photo img{min-height:0;height:100%}.place-details{padding:33px 0 5px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.place-details>.eyebrow{grid-column:1/3}.place-details h3{grid-column:1/3;font-size:50px;margin:23px 0 20px;max-width:10ch}.place-details>p:not(.eyebrow){font-size:14px;grid-column:1;max-width:20ch}.place-details dl{grid-column:2;grid-row:3;margin:0;font-size:12px}.place-details dt{font-size:9px}.place-actions{grid-column:1/3;margin-top:25px;gap:12px 25px}.place-actions .text-link{font-size:14px}.solid-button{font-size:14px;padding:13px 17px}.gathering-art{top:74px;right:5%;width:100px;opacity:1}.gathering h2{font-size:17.2vw;max-width:9ch;margin:60px 0 35px}.gathering-bottom{display:block;padding-left:15%}.gathering-bottom p{font-size:15px;max-width:27ch}.gathering-bottom .text-link{margin-top:26px;font-size:16px}.site-footer{padding:0 6vw 20px}.site-footer>.folk-divider{margin-left:-6vw;margin-right:-6vw;margin-bottom:30px}.footer-top{flex-wrap:wrap;padding:45px 0;gap:35px 25px;justify-content:start}.footer-brand{width:140px;height:43px;flex-basis:140px}.footer-top>div:nth-child(2){flex-basis:100%;order:2}.footer-links{margin-left:auto;font-size:13px;gap:12px}.footer-phone{font-size:34px;margin-top:10px}.footer-bottom{font-size:10px;justify-content:start;column-gap:22px}.footer-bottom>span{flex-basis:100%;margin-bottom:3px}.menu-dialog-head{padding:22px 24px 0}.menu-dialog-body{padding:10px 24px 28px}.menu-dialog h2{font-size:68px}.menu-dialog-body>p{font-size:15px}.menu-venue strong{font-size:28px}.menu-dialog-body>.menu-note{font-size:11px}.mobile-navigation{padding-top:105px;padding-bottom:35px;gap:24px}.mobile-navigation>a:not(.nav-phone),.mobile-navigation>button{font-size:36px}.mobile-navigation .nav-phone{margin-top:10px}}
@media(max-width:370px){.site-header{margin:0 4vw}.brand-wordmark{width:88px;height:27px}.reserve-button{font-size:11px;padding:9px 10px;gap:8px}.header-actions{gap:2px}.opening-intro>.eyebrow{font-size:8px}.table-scene{height:480px}.food-heading>p{margin-left:12%}.food-main img{height:370px}.food-side{gap:5vw;margin-left:0;width:100%;grid-template-columns:.72fr 1fr}.zacusca-photo{height:230px}.menu-invitation>p{font-size:23px}.menu-invitation .text-link{font-size:12px}.bakery{min-height:900px}.bread-frame{top:230px;height:400px}.bakery-copy{margin-top:295px}.place-selector{font-size:21px}.place-selectors{gap:18px}.place-photo{height:300px}.place-details h3{font-size:45px}.gathering-art{width:78px}.gathering-bottom{padding-left:5%}.mobile-navigation>a:not(.nav-phone),.mobile-navigation>button{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.table-photo img{transform:none}.opening-logo{transform:rotate(-5deg)}[data-parallax]{transform:none!important}[data-reveal]{opacity:1!important;transform:none!important}.place-stage:hover .place-photo img{transform:none}}

.opening h1{word-spacing:.025em}.mobile-navigation{overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start}.mobile-navigation>.eyebrow{margin-top:auto}.mobile-navigation>.nav-phone{margin-bottom:auto}.mobile-navigation>a,.mobile-navigation>button,.mobile-navigation>.eyebrow{flex-shrink:0}@media(max-height:600px){.mobile-navigation{padding-top:110px;padding-bottom:30px;gap:20px}.mobile-navigation>.eyebrow{margin-top:0}.mobile-navigation>.nav-phone{margin-bottom:0}.mobile-navigation>a:not(.nav-phone),.mobile-navigation>button{font-size:30px}}


/* Keep short Romanian phrases conversational even at poster scale. */
h1,h2,h3{word-spacing:.08em}h3{letter-spacing:-.025em}.opening h1{word-spacing:.025em}
@media(max-width:760px){.place-details h3{max-width:none;font-size:clamp(42px,12vw,50px)}}


/* Booking and menu access remain available through the long food chapters. */
.site-header.is-scrolled{position:fixed;margin:0;padding:0 3.3vw;min-height:80px;background:var(--tomato)}
@media(max-width:760px){html{scroll-padding-top:94px}.site-header.is-scrolled{min-height:76px;padding:0 4vw}}

/* Original Desaga vector artwork. The illustrated faces retain their source colors;
   only the original wordmark takes the surrounding text color. */
.brand-mark{display:block;width:100%;height:100%;fill:currentColor}
.brand-art{pointer-events:none;user-select:none;object-fit:contain}
.food-chapter{position:relative}
.food-border{position:absolute;left:0;right:0;bottom:0;margin:0;height:clamp(34px,3.5vw,52px);background-image:url('../assets/desaga-art/pattern.svg');background-size:auto 100%;background-position:center bottom}
.gathering-art{width:clamp(230px,33vw,480px);height:auto;max-height:185px;right:6%;top:72px;transform:none}
.nav-signature{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:18px;margin-bottom:auto;flex-shrink:0}
.mobile-navigation .nav-signature .nav-phone{margin:0;white-space:nowrap}
.nav-art{width:38%;max-width:165px;height:auto;flex-shrink:0}
.menu-dialog-title{display:grid;grid-template-columns:minmax(0,1fr) 25%;align-items:center;gap:22px}
.menu-art{width:100%;height:auto;margin-bottom:18px}
@media(max-width:760px){.gathering-art{top:74px;right:5%;width:150px;max-height:90px}.food-border{height:31px}.menu-dialog-title{display:block}.menu-dialog-title h2{margin-bottom:20px}.menu-art{width:130px;margin:0 0 22px auto}}
@media(max-width:380px){.gathering-art{width:126px;right:5%;top:75px}.nav-signature{gap:12px}.nav-art{max-width:118px}.menu-art{width:115px}}
@media(max-height:600px){.nav-signature{margin-top:0;margin-bottom:0}.nav-art{display:none}}

@media(max-width:760px){.gathering-art{position:relative;top:auto;right:auto;display:block;margin:22px 0 0 auto}.gathering h2{margin-top:24px}}


/* Scroll choreography acts on descendants so the original photo parallax,
   restaurant switch and hover responses retain their own transforms. */
.poster-line{display:block;font:inherit;letter-spacing:inherit;word-spacing:inherit;transform-origin:left center}
.food-portrait{overflow:hidden;transform-origin:left bottom}
.folk-divider{overflow:hidden;background-image:none}
.folk-track{display:block;position:absolute;inset:0 -160px;background-image:url('../assets/desaga-art/pattern.svg');background-repeat:repeat-x;background-position:center;background-size:auto 100%;pointer-events:none}
.footer-brand .brand-mark{transform-origin:left bottom}
@media(max-width:760px){.folk-track{inset-inline:-90px}}


/* Tactile hover feedback. Individual scale/translate compose with the transforms
   owned by scroll animation and the restaurant photo transition. */
.reserve-button,.solid-button,.photo-menu{position:relative;isolation:isolate;overflow:hidden;transition:color 240ms var(--ease),background-color 240ms var(--ease),scale 160ms var(--ease),translate 160ms var(--ease),box-shadow 240ms var(--ease)}
.reserve-button::before,.solid-button::before,.photo-menu::before{content:'';position:absolute;inset:-1px;z-index:-1;background:var(--butter);transform:translateY(103%);pointer-events:none;transition:transform 240ms var(--ease)}
.solid-button::before{background:var(--garden)}
.photo-menu::before{background:var(--tomato)}
.reserve-button>span,.solid-button>span,.photo-menu>span,.text-link>span,.menu-venue>span:last-child,.footer-phone>span{display:inline-block;transition:translate 240ms var(--ease)}
.text-link{position:relative;border-bottom-color:transparent}
.text-link::before,.text-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;pointer-events:none}
.text-link::before{opacity:.4}
.text-link::after{transform:scaleX(0);transform-origin:right;transition:transform 240ms var(--ease)}
.table-photo img,.food-portrait img,.zacusca-photo img,.bread-frame img,.place-photo img{transition:scale 700ms var(--ease)}
.place-selector{transition:opacity 240ms var(--ease),translate 160ms var(--ease)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html[data-motion='on'] .reserve-button:hover{background:transparent;color:var(--tomato)}
  html[data-motion='on'] .solid-button:hover{background:var(--butter);color:var(--butter)}
  html[data-motion='on'] .photo-menu:hover{color:var(--butter);translate:-2px -2px;box-shadow:6px 6px 0 var(--tomato)}
  html[data-motion='on'] :is(.reserve-button,.solid-button,.photo-menu):hover::before{transform:translateY(0)}
  html[data-motion='on'] :is(.reserve-button,.solid-button,.photo-menu,.text-link):hover>span,
  html[data-motion='on'] .menu-venue:hover>span:last-child,
  html[data-motion='on'] .footer-phone:hover>span{translate:4px -4px}
  html[data-motion='on'] .text-link:hover::after{transform:scaleX(1);transform-origin:left}
  html[data-motion='on'] .desktop-nav a:hover::after{transform:scaleX(1)}
  html[data-motion='on'] .table-photo:hover img{scale:1.04}
  html[data-motion='on'] :is(.food-portrait,.zacusca-photo,.place-photo):hover img{scale:1.075}
  html[data-motion='on'] .bread-frame:hover img{scale:1.06}
}
@media(prefers-reduced-motion:no-preference){
  html[data-motion='on'] :is(.reserve-button,.solid-button,.photo-menu):active{scale:.975;translate:0 1px}
  html[data-motion='on'] .place-selector:active{translate:0 1px}
}
.text-link:focus-visible::after,.desktop-nav a:focus-visible::after{transform:scaleX(1);transition:none}

/* Menus leave the interaction tree immediately; supporting browsers retain only
   their visual layer briefly while display/overlay finish the exit transition. */
.mobile-navigation[hidden],.menu-dialog:not([open]),.menu-dialog:not([open])::backdrop{pointer-events:none}
@supports(transition-behavior:allow-discrete){
  @media(prefers-reduced-motion:no-preference){
    html[data-motion='on'] .mobile-navigation{
      opacity:0;transform:translateY(3%);pointer-events:none;
      transition:opacity 180ms var(--ease),transform 180ms var(--ease),display 180ms allow-discrete;
    }
    html[data-motion='on'] .mobile-navigation:not([hidden]){
      opacity:1;transform:none;pointer-events:auto;transition-duration:280ms;
    }
    html[data-motion='on'] .mobile-navigation>:is(.eyebrow,a,button,.nav-signature){
      opacity:0;transform:translateY(18px);
      transition:opacity 180ms var(--ease),transform 180ms var(--ease);
    }
    html[data-motion='on'] .mobile-navigation:not([hidden])>:is(.eyebrow,a,button,.nav-signature){
      opacity:1;transform:none;transition-duration:280ms;transition-delay:var(--menu-entry-delay,0ms);
    }
    .mobile-navigation>a:nth-child(2){--menu-entry-delay:35ms}
    .mobile-navigation>a:nth-child(3){--menu-entry-delay:70ms}
    .mobile-navigation>a:nth-child(4){--menu-entry-delay:105ms}
    .mobile-navigation>a:nth-child(5){--menu-entry-delay:140ms}
    .mobile-navigation>button{--menu-entry-delay:175ms}
    .mobile-navigation>.nav-signature{--menu-entry-delay:140ms}
    html[data-motion='on'] .nav-art{
      transform:translateY(8px) rotate(-3deg);transition:transform 180ms var(--ease);
    }
    html[data-motion='on'] .mobile-navigation:not([hidden]) .nav-art{
      transform:none;transition-duration:280ms;transition-delay:175ms;
    }

    html[data-motion='on'] .menu-dialog{
      opacity:0;transform:translateY(24px) scale(.97);pointer-events:none;
      transition:opacity 180ms var(--ease),transform 180ms var(--ease),display 180ms allow-discrete,overlay 180ms allow-discrete;
    }
    html[data-motion='on'] .menu-dialog[open]{
      opacity:1;transform:none;pointer-events:auto;transition-duration:280ms;
    }
    html[data-motion='on'] .menu-dialog::backdrop{
      opacity:0;transition:opacity 180ms var(--ease),display 180ms allow-discrete,overlay 180ms allow-discrete;
    }
    html[data-motion='on'] .menu-dialog[open]::backdrop{opacity:1;transition-duration:280ms}
    html[data-motion='on'] .menu-dialog :is(.menu-dialog-title h2,.menu-art,.menu-dialog-body>p,.menu-venue){
      opacity:0;transform:translateY(14px);
      transition:opacity 180ms var(--ease),transform 180ms var(--ease);
    }
    html[data-motion='on'] .menu-dialog .menu-art{transform:translateY(12px) rotate(-3deg)}
    html[data-motion='on'] .menu-dialog[open] :is(.menu-dialog-title h2,.menu-art,.menu-dialog-body>p,.menu-venue){
      opacity:1;transform:none;transition-duration:280ms;transition-delay:var(--menu-entry-delay,0ms);
    }
    .menu-dialog-title h2{--menu-entry-delay:35ms}
    .menu-art{--menu-entry-delay:70ms}
    .menu-dialog-body>p{--menu-entry-delay:105ms}
    .menu-venue{--menu-entry-delay:140ms}
    .menu-venue+.menu-venue{--menu-entry-delay:175ms}
    .menu-dialog-body>.menu-note{--menu-entry-delay:175ms}

    @starting-style{
      html[data-motion='on'] .mobile-navigation:not([hidden]){opacity:0;transform:translateY(3%)}
      html[data-motion='on'] .mobile-navigation:not([hidden])>:is(.eyebrow,a,button,.nav-signature){opacity:0;transform:translateY(18px)}
      html[data-motion='on'] .mobile-navigation:not([hidden]) .nav-art{transform:translateY(8px) rotate(-3deg)}
      html[data-motion='on'] .menu-dialog[open]{opacity:0;transform:translateY(24px) scale(.97)}
      html[data-motion='on'] .menu-dialog[open]::backdrop{opacity:0}
      html[data-motion='on'] .menu-dialog[open] :is(.menu-dialog-title h2,.menu-art,.menu-dialog-body>p,.menu-venue){opacity:0;transform:translateY(14px)}
      html[data-motion='on'] .menu-dialog[open] .menu-art{transform:translateY(12px) rotate(-3deg)}
    }
  }
}

/* A pale wash follows a PDF row; the arrow keeps its existing independent hover. */
.menu-venue{position:relative;isolation:isolate;overflow:hidden}
.menu-venue::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--tomato);opacity:.08;transform:translateX(-102%);pointer-events:none;transition:transform 240ms var(--ease)}
.menu-dialog-head button{position:relative;isolation:isolate;overflow:hidden;transition:color 240ms var(--ease),scale 160ms var(--ease)}
.menu-dialog-head button::before{content:'';position:absolute;inset:-1px;z-index:-1;background:var(--tomato);transform:translateY(103%);pointer-events:none;transition:transform 240ms var(--ease)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html[data-motion='on'] .menu-venue:hover::before{transform:translateX(0)}
  html[data-motion='on'] .menu-dialog-head button:hover{color:var(--butter)}
  html[data-motion='on'] .menu-dialog-head button:hover::before{transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
  html[data-motion='on'] .menu-dialog-head button:active{scale:.975}
}
