.image-gallery{max-width:1440px;margin:auto;position:relative}.gallery-track{display:flex;gap:12px;height:440px}.gallery-card{position:relative;min-width:0;flex:1 1 0;padding:0;height:100%;overflow:hidden;transition:flex .65s cubic-bezier(.22,.68,0,1)}.gallery-card.is-active,.gallery-card:focus-visible{flex:3.8 1 0}.gallery-card:focus-visible{outline-offset:3px}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-card.is-active img{transform:scale(1.02)}.gallery-card-label{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr auto;gap:5px;padding:50px 18px 18px;text-align:left;color:white;background:linear-gradient(transparent,rgba(0,0,0,.8));opacity:0;transition:opacity .3s}.gallery-card.is-active .gallery-card-label,.gallery-card:focus-visible .gallery-card-label{opacity:1}.gallery-card-label small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1}.gallery-card-label>span{font-size:22px}.gallery-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:22px}.gallery-help{font-size:16px;color:#d6cabd}.gallery-help span{margin-left:12px}.gallery-dots{display:flex;gap:3px}.gallery-dots button{display:grid;place-items:center;min-width:34px;min-height:44px;padding:8px}.gallery-dots button span{display:block;width:16px;height:2px;background:#8c8179;transition:background .2s}.gallery-dots button.is-active span{background:var(--orange);height:3px}
.gallery-lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;background:#201d1bf5;color:var(--paper)}.gallery-lightbox[open]{display:grid;grid-template-rows:70px minmax(0,1fr) 85px}.gallery-lightbox header,.gallery-lightbox footer{display:flex;justify-content:space-between;align-items:center;padding:12px 30px;gap:20px}.gallery-lightbox header{border-bottom:1px solid #ffffff24;font-size:18px}.gallery-lightbox header button{font-size:18px;display:flex;gap:15px;align-items:center;min-height:44px}.gallery-lightbox header button span{font-size:30px;color:var(--orange)}.gallery-lightbox-stage{min-height:0;padding:15px;display:grid;place-items:center}.gallery-lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.gallery-lightbox footer{justify-content:center;border-top:1px solid #ffffff24}.gallery-lightbox footer button{min-width:48px;min-height:48px;font-size:27px}.gallery-lightbox footer p{font-size:19px;text-align:center;min-width:150px}.gallery-lightbox footer small{display:block;font-size:14px}
/* Local additions only. The approved global stylesheet is preserved. */
.gallery-disclosure{text-align:center}.gallery-disclosure>details{margin:35px auto 0;max-width:1180px}.gallery-disclosure summary{display:table;cursor:pointer;list-style:none;margin:auto}.gallery-disclosure summary::-webkit-details-marker{display:none}.gallery-disclosure #gallery-root{margin-top:38px}.gallery-track{height:400px}.gallery-controls{color:var(--coal)}.gallery-help{color:var(--coal)}.gallery-dots button span{background:#a79c90}.gallery-card-label{color:white}.gallery-lightbox button{color:var(--paper)}
.spaces-dialog-tabs{gap:20px;flex-wrap:wrap}.spaces-dialog-tabs button{font-size:18px}.environment-info{flex-wrap:wrap}.space-photo-view button:disabled{visibility:hidden}
.living-paper::before,.living-paper::after{opacity:.45}
@media(max-width:760px){.gallery-track{height:400px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6px;gap:14px;overscroll-behavior-x:contain;padding:6px 6px 12px;scrollbar-width:thin}.gallery-card,.gallery-card.is-active,.gallery-card:focus-visible{flex:0 0 86%;scroll-snap-align:center;transition:none}.gallery-card-label{opacity:1}.gallery-card img,.gallery-card.is-active img{transform:none}.gallery-controls{flex-direction:column;align-items:start;gap:5px}.gallery-help{font-size:15px}.gallery-help span{display:block;margin:0}.gallery-dots button{min-width:30px}.spaces-dialog-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spaces-dialog-tabs button{font-size:16px;padding:8px 3px 18px}.space-photo-view{height:calc(100dvh - 330px);min-height:220px}.gallery-lightbox header,.gallery-lightbox footer{padding-inline:16px}.gallery-lightbox header{font-size:16px}.gallery-lightbox footer p{min-width:110px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.gallery-card,.gallery-card img,.gallery-card-label{transition:none!important}}

/* Cardápio sob demanda, preservando os rabiscos da casa. */
.menu-categories{max-width:850px;margin:0 auto}.menu-categories summary{cursor:pointer;list-style:none}.menu-categories summary::-webkit-details-marker{display:none}.menu-category-list{margin:55px auto 40px}.menu-category{margin:28px 0}.menu-category>summary{font-size:27px}.menu-category dl{margin:35px auto;text-align:left;max-width:680px}.menu-category dl>div{padding:14px 0}.menu-category dt{display:flex;justify-content:space-between;gap:20px;font-size:20px}.menu-category dt span{white-space:nowrap}.menu-category dd{margin:5px 0 0;font-size:16px;line-height:1.6;opacity:.75}.menu-categories summary:focus-visible{outline:2px solid currentColor;outline-offset:8px}@media(max-width:540px){.menu-category dt{font-size:18px}.menu-category>summary{font-size:23px}}

/* Varal de fotos: integração local do componente fornecido. */
.polaroid-section{min-height:540px;background:var(--paper)}.polaroid-section #gallery-root{min-height:clamp(540px,80svh,760px)}.polaroid-section .pl-note,.polaroid-section .pl-title{font-family:'Fira Sans Condensed',sans-serif;font-style:normal;font-weight:300}.polaroid-section .pl-title{font-size:24px}.polaroid-section .pl-pause{font-size:16px;white-space:nowrap}.polaroid-section .pl-btn{min-width:40px}.polaroid-section .pl-count{letter-spacing:.03em}@media(max-width:540px){.polaroid-section .pl-bar{flex-wrap:wrap;gap:12px}.polaroid-section .pl-cap{flex-basis:100%}.polaroid-section .pl-pause{margin-right:auto}.polaroid-section .pl-title{font-size:22px}}
/* Desenhos a lápis: hachuras locais e saída mais rápida dos talheres. */
.bottom-dock{background:#f58220 url('assets/orange-crayon-band.svg') center/800px 100%;color:#352015}.bottom-dock::before{display:none}.bottom-dock a:hover,.bottom-dock button:hover{color:#fff8ed}.bottom-dock a:focus-visible,.bottom-dock button:focus-visible{outline:2px solid #352015;outline-offset:3px}
.drawn-table,.cooking-interlude{color:#c76722}.drawn-table .table-sketch{animation-name:utensil-pencil;animation-duration:10s;animation-delay:calc(var(--i)*.18s)}
@keyframes utensil-pencil{0%{opacity:0;transform:translate(-4%,-135%) rotate(calc(var(--angle) - 40deg))}2%{opacity:1}18%{opacity:1;transform:translate(2%,5%) rotate(calc(var(--angle) + 8deg))}26%{opacity:1;transform:translate(0,-2%) rotate(calc(var(--angle) - 4deg))}40%{opacity:1;transform:translate(-3%,-5%) rotate(calc(var(--angle) - 8deg))}55%{opacity:1;transform:translate(3%,2%) rotate(calc(var(--angle) + 7deg))}70%{opacity:1;transform:translate(-2%,-3%) rotate(calc(var(--angle) - 5deg))}78%{opacity:1;transform:translate(0,-5%) rotate(calc(var(--angle) - 9deg))}86%{opacity:1;transform:translate(7%,155%) rotate(calc(var(--angle) + 46deg))}87%,100%{opacity:0;transform:translate(7%,160%) rotate(calc(var(--angle) + 46deg))}}
.brand-letter{animation:letter-pencil 8s cubic-bezier(.2,.7,.25,1) infinite;animation-delay:calc(var(--letter)*.09s);animation-play-state:paused}.brand-signature{animation:signature-pencil 8s ease-in-out infinite;animation-play-state:paused}.brand-symbol{transform-origin:515px 94px;animation:spoon-signature 8s cubic-bezier(.25,.65,.3,1) infinite;animation-play-state:paused}.art-visible .brand-letter,.art-visible .brand-signature,.art-visible .brand-symbol{animation-play-state:running}
@keyframes letter-pencil{0%,5%{opacity:0;transform:translateY(38px)}19%,79%{opacity:1;transform:translateY(0)}88%,100%{opacity:0;transform:translateY(-20px)}}
@keyframes signature-pencil{0%,18%{opacity:0;transform:translateY(12px)}30%,80%{opacity:1;transform:translateY(0)}88%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes spoon-signature{0%,8%{opacity:0;transform:translate(-90px,-40px) rotate(-38deg) scale(.8)}18%{opacity:1;transform:translate(8px,5px) rotate(8deg) scale(1.03)}27%,45%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}54%{opacity:1;transform:translate(-6px,-5px) rotate(-6deg) scale(1)}65%,79%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}90%,100%{opacity:0;transform:translate(100px,25px) rotate(24deg) scale(.9)}}
.page-inactive .brand-letter,.page-inactive .brand-signature{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.drawn-table .table-sketch{animation:none;opacity:1;transform:rotate(var(--angle))}.brand-letter,.brand-signature,.brand-symbol{animation:none;opacity:1;transform:none}}
.bottom-dock a,.bottom-dock button{color:#352015;text-shadow:none}
/* Conteúdo por clique: PDF direto, reservas em modal e endereço enxuto. */
.house-video{height:min(78vh,900px);min-height:420px;position:relative;background:#231f20;overflow:hidden}.house-video video{height:100%;width:100%;object-fit:cover}.house-video>button{position:absolute;right:28px;bottom:24px;color:white;background:#231f2080;padding:8px 16px;font-size:16px}
.reservation-teaser{text-align:center}.reservation-teaser .sketch-link{margin-top:25px}.reservation-dialog{position:fixed;inset:20px;margin:auto;width:min(1100px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);background:var(--paper);color:var(--coal);overflow:auto;overscroll-behavior:contain}.reservation-dialog::backdrop{background:#231f2080;backdrop-filter:blur(5px)}.reservation-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;position:sticky;top:0;z-index:2;background:var(--paper);border-bottom:1px solid var(--line)}.reservation-dialog>header h2{font-size:25px;font-weight:300}.reservation-dialog>header button{font-size:32px;min-width:44px;min-height:44px}.reservation-content{padding:35px;gap:45px}.reservation-content .reservation-intro>.section-title{font-size:32px}.reservation-content .reservation-intro>p{font-size:17px}.reservation-content .reservation-discover{display:none}
.location-clean{text-align:center;background:var(--paper);font-family:'Fira Sans Condensed',sans-serif}.location-clean h2{font-family:inherit;font-size:clamp(27px,3vw,40px);font-weight:500}.location-clean address{font-style:normal;font-size:clamp(23px,2.5vw,34px);line-height:1.7;margin:28px auto;max-width:850px}.location-clean .opening-hours{font-size:clamp(22px,2.4vw,32px);line-height:1.5}.location-clean .opening-hours p{margin:25px 0}.location-clean strong{font-weight:400}.location-actions{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:45px}.location-actions .sketch-link{font-family:Raleway,sans-serif;letter-spacing:.08em;font-size:24px}.location-actions .text-link{font-size:17px}
@media(max-width:760px){.reservation-dialog{inset:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.reservation-dialog>header{padding:15px 20px}.reservation-content{padding:25px 20px;gap:30px}.house-video{height:75svh;min-height:400px}}
.table-celebration{padding:35px 0 45px;background:var(--paper);color:#bc6025;overflow:hidden}.table-celebration>svg{display:block;width:min(1100px,100%);height:auto;margin:auto;overflow:visible}.table-plate{animation:table-plate-drift 9s ease-in-out infinite;animation-delay:var(--scene-delay);animation-play-state:paused}.table-glass{transform-origin:0 115px;animation:table-toast 6s ease-in-out infinite;animation-delay:var(--scene-delay);animation-play-state:paused}.table-medallion{animation:table-turn 22s linear infinite;animation-play-state:paused}.table-citrus{animation:table-turn 26s linear infinite reverse;animation-play-state:paused}.table-logo{animation:table-sign 7s ease-in-out infinite;animation-play-state:paused}.table-celebration.art-visible :is(.table-plate,.table-glass,.table-medallion,.table-citrus,.table-logo){animation-play-state:running}
@keyframes table-plate-drift{50%{transform:translate(0,-9px) rotate(5deg)}}@keyframes table-toast{25%{transform:rotate(-7deg) translateY(-6px)}65%{transform:rotate(5deg)}}@keyframes table-turn{to{transform:rotate(360deg)}}@keyframes table-sign{0%,100%{opacity:.55}45%,70%{opacity:1}}
.page-inactive .table-celebration *{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.table-celebration *{animation:none!important}}@media(max-width:540px){.table-celebration{padding:30px 0}.table-celebration>svg{width:130%;max-width:none;margin-left:-15%}}

/* A marca permanece inteira e visível durante todo o ciclo. */
.brand-letters{animation:none;opacity:1;transform:none}
@keyframes letter-pencil{0%,100%{opacity:1;transform:translateY(0)}45%{opacity:1;transform:translateY(-3px)}70%{opacity:1;transform:translateY(1px)}}
@keyframes signature-pencil{0%,100%{opacity:1;transform:translateY(0)}50%{opacity:1;transform:translateY(2px)}}
@keyframes spoon-signature{0%,100%{opacity:1;transform:rotate(0)}30%{opacity:1;transform:translate(-3px,-4px) rotate(-5deg)}65%{opacity:1;transform:translate(2px,2px) rotate(4deg)}}
/* Ilustrações de margem, com contornos múltiplos e hachuras de lápis. */
.living-paper::before{background-image:url('assets/sketch-herb.svg')}
.living-paper::after{background-image:url('assets/sketch-citrus.svg')}
.living-paper::before,.living-paper::after{opacity:.72}
.menu-section.living-paper::before,.reservation-teaser.living-paper::after,.brand-finale.living-paper::before{background-image:url('assets/sketch-plate.svg');height:220px;width:240px;top:20%;left:-55px}
.reservation-teaser.living-paper::after{left:auto;right:-55px;top:auto;bottom:5px}
.location-clean.living-paper::before{top:18%;left:-35px; width:230px;height:330px}
.location-clean.living-paper::after{bottom:10%;right:-45px;width:220px;height:220px}
.brand-finale.living-paper::after{right:-30px;bottom:5px}
@media(max-width:760px){.living-paper::before,.living-paper::after{opacity:.55}.menu-section.living-paper::before,.reservation-teaser.living-paper::after,.brand-finale.living-paper::before{width:110px;height:110px;left:-55px;top:0}.reservation-teaser.living-paper::after{left:auto;right:-45px;top:auto;bottom:0}.location-clean.living-paper::before{width:100px;height:155px;left:-45px;top:8%}.location-clean.living-paper::after{width:110px;height:110px;right:-50px;bottom:10%}}

/* Seleção exclusiva de fotos: transição automática sem controles. */
.house-slideshow{position:relative;height:clamp(420px,68vw,800px);max-height:85svh;min-height:360px;overflow:hidden;background:#302720}
.house-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.house-slide.is-active{opacity:1}
@media(max-width:760px){.house-slideshow{height:64svh;min-height:370px}.house-slide{object-position:52% center}}
@media(prefers-reduced-motion:reduce){.house-slide{transition:none}}

/* Fotos deslizam a cada três segundos, sem controles. */
.house-slide{opacity:1;transform:translateX(100%);transition:none;z-index:0}
.house-slide.is-active{transform:translateX(0);transition:transform .55s cubic-bezier(.45,0,.2,1);z-index:2}
.house-slide.is-leaving{transform:translateX(-100%);transition:transform .55s cubic-bezier(.45,0,.2,1);z-index:1}
@media(prefers-reduced-motion:reduce){.house-slide,.house-slide.is-active,.house-slide.is-leaving{transition:none}}

/* Pause only the owner outside the viewport, even when its parent is visible. */
.drawn-table:not(.art-visible) .table-sketch,
.cooking-interlude:not(.art-visible) :is(.cook-spoon,.cook-pot,.cook-steam path,.cook-bubbles circle,.cook-aromas path),
.brand-finale:not(.art-visible) :is(.brand-letter,.brand-symbol,.brand-signature),
.hero:not(.hero-in-view) .hero-discover span{animation-play-state:paused!important}
.drawn-table:not(.art-visible) .table-sketch{will-change:auto}
.page-inactive .hero-discover span{animation-play-state:paused!important}
