:root{
    --olive:#485b1f;
    --olive2:#66723d;
    --cream:#f4eddf;
    --paper:#fbf7ef;
    --gold:#98881b;
    --wine:#702536;
    --ink:#34241e;
    --white:#fff;
    --serif: 'Cormorant Garamond', Georgia, serif;
    --sans: 'Montserrat', Arial, sans-serif;
}

*{
    box-sizing:border-box
}

html{
    scroll-behavior:smooth
}

body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.65
}

body:before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:99;
    opacity:.04;
    background-image:radial-gradient(#6b5a3c .55px,transparent .55px);
    background-size:5px 5px
}

a{
    color:inherit;
    text-decoration:none
}

img{
    max-width:100%;
    display:block
}

.wrap{
    width:min(1180px,90%);
    margin:auto
}

.eyebrow{
    letter-spacing:.2em;
    text-transform:uppercase;
    font-size:.72rem;
    color:#b49a55;
    font-weight:700
}

.display{
    font-family:var(--serif);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em
}

.btn{
    display:inline-block;
    padding:14px 24px;
    border:1px solid currentColor;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.72rem;
    margin:8px 8px 0 0
}

.btn.solid{
    background:var(--olive);
    color:#fff;
    border-color:var(--olive)
}

header{
    position:fixed;
    z-index:10;
    top:0;
    left:0;
    right:0;
    padding:20px 0;
    color:#fff;
    background:linear-gradient(#0009,transparent)
}

nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px
}

.brand img{
    width:150px;
    filter:brightness(-) invert(1)
}

.links{
    display:flex;
    gap:20px;
    align-items:center;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.1em
}

.reserve{
    border:1px solid #fff;
    padding:10px 16px
}

.hero{
    min-height:100vh;
    display:grid;
    place-items:end start;
    color:#fff;
    position:relative;
    background:linear-gradient(90deg,#1d170fcc,#1d170f33),url('../images/casa-pedra-hero.png') center/cover no-repeat
}


.hero .content{
    position:relative;
    padding:0px 0 90px;
    max-width:820px
}

.hero h1{
    font-size:clamp(3.6rem,9vw,8.4rem);
    margin:.08em 0
}

.hero h2{
    color:#f0dfad;
    font:italic 400 clamp(1.5rem,3vw,2.6rem) var(--serif);
    margin:0 0 24px
}

.hero p{
    max-width:620px;
    font-size:1.05rem
}

section{
    padding:110px 0
}

.split{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:8vw;
    align-items:center
}

.stone{
    min-height:560px;
    background:linear-gradient(0deg,#34241e33,#34241e11),url('../images/casa-de-pedra-picture.jpeg') center/cover no-repeat;
    border-radius: 25% 25% 0 0
}

.copy h2,.gastro h2,.season h2,.reservations h2{
    font-size:clamp(2.8rem,6vw,6rem);
    margin:.15em 0
}

.copy p{
    font-family:var(--serif);
    font-size:1.18rem
}

.quote{
    font:italic 400 1.65rem var(--serif);
    color:var(--gold);
    border-left:1px solid var(--gold);
    padding-left:24px;
    margin:32px 0
}

.gastro{
    background:var(--gold);
    color:#fff
}

.gastro-grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:7vw;
    align-items:end
}

.plate{
    aspect-ratio:4/5;
    background:radial-gradient(circle at 50% 45%,#d2b88d 0 15%,#584d3d 16% 24%,#24251f 25% 52%,#596047 53%);
    border-radius:48% 48% 8% 8%
}

.gastrono{
   height:500px;
    border-radius:50% 50% 0 0;
    background:url('../images/gastro.jpg') center/cover no-repeat;
    border-radius: 25% 0% 25% 0

    

}
.menu{
    background:var(--cream)
}

.menu-head{
    text-align:center;
    max-width:780px;
    margin:0 auto 52px
}

.menu-head h2{
    font-size:clamp(2.8rem,6vw,5.8rem);
    margin:.1em
}

.weekend-menu{
    display:grid;
    gap:18px;
    max-width:960px;
    margin:auto
}

.day{
    display:grid;
    grid-template-columns:180px 1fr;
    background:#fff;
    border:1px solid #b49a5544
}

.day-meta{
    padding:30px;
    background:var(--gold);
    color:#fff;
    border-radius: 0% 10% 10% 0;

}

.day-meta .date{
    font:400 2.2rem var(--serif)
}

.day-meta .weekday{
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.68rem
}

.day-meta .service{
    color:#eadbb4;
    margin-top:8px
}

.courses{
    padding:28px 34px
}

.course{
    padding:10px 0;
    border-bottom:1px solid #b49a5533
}

.course:last-child{
    border:0
}

.course strong{
    font-family:var(--serif);
    font-size:1.08rem;
    color:var(--olive)
}

.season{
    background:linear-gradient(135deg,#fbf7ef,#f3ead8)
}

.season-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:8vw;
    align-items:center
}

.botanical{
    height:500px;
    border-radius:50% 50% 0 0;
    background:url('../images/estacoes.jpg') center/cover no-repeat;
    border-radius: 25% 25% 0
}

.experiences{
    background:var(--cream)
}

.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.card{
    min-height:320px;
    padding:34px;
    display:flex;
    flex-direction:column;
    justify-content:end;
    background:linear-gradient(180deg,#0000,#0009),#7c7566;
    color:#fff
}

.card h3{
    font:400 2rem var(--serif);
    margin:0
}

.duo{
    text-align:center
}

.duo h2{
    font-size:clamp(3rem,7vw,7rem);
    margin:.12em auto
}

.place{
    background:var(--wine);
    color:#fff;
    text-align:center
}

.place h2{
    font-size:clamp(3rem,6vw,6rem);
    margin:.1em
}

.reservations{
    background:var(--olive);
    color:#fff
}

.reserve-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:8vw;
    align-items:start
}

.observations{
    background:#ffffff0d;
    border:1px solid #ffffff33;
    padding:34px
}

.observations h3{
    font:400 2rem var(--serif);
    margin-top:0
}

.observations ul{
    padding-left:20px;
    margin:0
}

.observations li{
    margin:0 0 14px
}

.brand-footer img{
    width:180px
}

footer{
    background:#171814;
    color:#ddd;
    padding:55px 0
}

.foot{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    gap:40px
}

.mobilebar{
    display:none
}

@media(max-width:820px){
    .links{
    display:none
}

.split,.gastro-grid,.season-grid,.reserve-grid,.foot{
    grid-template-columns:1fr
}

.cards{
    grid-template-columns:1fr
}

.day{
    grid-template-columns:1fr
}

.day-meta{
    padding:20px 24px
}

.stone{
    min-height:400px
}

.hero .content{
    padding-top:140px
}

.mobilebar{
    display:flex;
    position:fixed;
    z-index:20;
    bottom:0;
    left:0;
    right:0;
    background:var(--olive);
    color:#fff;
    justify-content:center;
    padding:14px;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.72rem
}

section{
    padding:80px 0
}



}

/* =========================================================
   HEADER / TOP BAR AO ROLAR
   Mantém o header transparente sobre o hero e cria uma
   primeira camada sólida quando a página é rolada.
========================================================= */

.site-header{
    transition:
        background-color .35s ease,
        padding .35s ease,
        box-shadow .35s ease,
        backdrop-filter .35s ease;
}

.site-header.is-scrolled{
    padding:10px 0;
    background:rgba(244,237,223,.96);
    color:var(--olive);
    box-shadow:0 8px 30px rgba(23,24,20,.08);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.site-header.is-scrolled .brand img{
    filter:none;
}

.site-header.is-scrolled .reserve{
    border-color:var(--olive);
}

.site-header.is-scrolled .links a:hover{
    color:var(--gold);
}

.site-header.is-scrolled .brand img{
    width:132px;
}

section{
    scroll-margin-top:90px;
}

/* =========================================================
   BOTÃO E MENU MOBILE
========================================================= */

.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    padding:9px;
    border:1px solid currentColor;
    background:transparent;
    color:inherit;
    cursor:pointer;
}

.menu-toggle span{
    display:block;
    width:100%;
    height:1px;
    margin:5px 0;
    background:currentColor;
    transition:transform .25s ease, opacity .25s ease;
}

.menu-toggle.is-open span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.menu-toggle.is-open span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}

@media(max-width:820px){
    .menu-toggle{
        display:block;
    }

    .site-header .links{
        position:absolute;
        top:100%;
        left:5%;
        right:5%;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:0 22px;
        max-height:0;
        overflow:hidden;
        opacity:0;
        pointer-events:none;
        background:rgba(244,237,223,.98);
        color:var(--olive);
        box-shadow:0 18px 35px rgba(23,24,20,.12);
        transition:max-height .35s ease, opacity .25s ease, padding .35s ease;
    }

    .site-header .links.is-open{
        max-height:520px;
        padding:18px 22px 24px;
        opacity:1;
        pointer-events:auto;
    }

    .site-header .links a{
        padding:12px 0;
        border-bottom:1px solid rgba(72,91,31,.12);
    }

    .site-header .links .reserve{
        margin-top:12px;
        padding:12px 16px;
        text-align:center;
        border:1px solid var(--olive);
    }
}

/* EXPERIÊNCIAS | CARROSSEL */
.experiences-title{font-size:clamp(3rem,6vw,6rem);max-width:800px}
.experience-card{position:relative;min-height:480px;padding:0;overflow:hidden;background:#25251f}
.experience-slider{position:absolute;inset:0;z-index:1}
.experience-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.4s ease,transform 7s ease}
.experience-slider img.active{opacity:1;transform:scale(1.10)}
.experience-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(20,20,15,.05) 10%,rgba(20,20,15,.20) 45%,rgba(20,20,15,.88) 100%)}
.experience-content{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;min-height:480px;padding:36px}
.experience-content h3{max-width:330px;margin:7px 0 12px;font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.3rem);font-weight:400;line-height:1.05;color:#fff}
.experience-content p{max-width:330px;margin:0;font-size:.88rem;line-height:1.65;color:rgba(255,255,255,.82)}
.experience-content .eyebrow{color:#e0c99f}
@media(max-width:820px){.experience-card,.experience-content{min-height:440px}}


/* ===== REFINAMENTO FINAL ORIGINE ===== */
:root{--forest:#2f3a25;--olive:#4b5b31;--cream:#f3ecdf;--paper:#fbf8f1;--stone:#d9cfbf;--gold:#a48b45;--gold-soft:#d7c493;--ink:#302821}
.gastro{background:var(--forest)}
.gastro .eyebrow{color:var(--gold-soft)}
.gastrono{height:610px;border-radius:48% 48% 0 0}
.day-meta{background:var(--forest);border-radius:0}
.btn.solid{background:var(--forest);border-color:var(--forest)}

/* PRATOS */
.dishes{background:#f8f3e9}
.section-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:55px}
.section-intro h2{font-size:clamp(3rem,5.5vw,5.8rem);margin:.12em 0 0;max-width:760px}
.section-intro p{max-width:480px;margin:0 0 10px}
.dish-gallery{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:280px 280px;gap:12px}
.dish{margin:0;overflow:hidden;background:var(--stone)}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.dish:hover img{transform:scale(1.035)}
.dish-large{grid-row:1/3}.dish-wide{grid-column:2/4}

/* EXPERIÊNCIAS */
.experiences{background:#ede5d7}
.experience-heading{max-width:850px;margin-bottom:54px}
.experience-heading h2{font-size:clamp(3.3rem,6vw,6.2rem);margin:.12em 0 .22em}
.experience-heading p{max-width:650px;font-family:var(--serif);font-size:1.35rem}
.cards{gap:12px}
.experience-card{min-height:520px}
.experience-content{min-height:520px;padding:32px}
.experience-content h3{font-size:clamp(1.9rem,2.6vw,2.7rem)}
.experience-cta{text-align:right;margin-top:28px}
.experience-cta a{font-family:var(--serif);font-size:1.3rem;border-bottom:1px solid var(--gold);padding-bottom:5px}

/* O LUGAR */
.place{padding-bottom:0;background:#d8d0c1;color:var(--ink);text-align:left}
.place-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center;margin-bottom:90px}
.place-story h2{font-size:clamp(3.2rem,5.7vw,6rem);margin:.14em 0 .25em}
.place-story p{max-width:520px}
.place-address{display:flex;flex-direction:column;margin-top:30px;padding-top:22px;border-top:1px solid rgba(48,40,33,.18);font-size:.8rem;letter-spacing:.05em}
.place-address strong{font-family:var(--serif);font-size:1.45rem;font-weight:500;margin:4px 0}
.text-link{display:inline-flex;gap:12px;align-items:center;margin-top:26px;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;border-bottom:1px solid var(--gold);padding-bottom:7px}
.place-visual{min-height:580px;overflow:hidden;border-radius:48% 48% 0 0}
.place-visual img{width:100%;height:580px;object-fit:cover}
.map-frame{height:430px;width:100%;background:#ccc}
.map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.65) sepia(.08) contrast(.95)}

/* INSTAGRAM */
.instagram-section{background:var(--paper)}
.instagram-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}
.instagram-head h2{font-size:clamp(3rem,5.5vw,5.6rem);max-width:760px;margin:.12em 0 0}
.instagram-follow{text-align:right;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.instagram-follow>span{display:block;color:#857968;margin-bottom:7px}
.instagram-follow a{font-family:var(--serif);font-size:1.45rem;text-transform:none;letter-spacing:0;color:var(--olive)}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.instagram-grid a{aspect-ratio:1/1;overflow:hidden;background:var(--stone)}
.instagram-grid img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.instagram-grid a:hover img{transform:scale(1.04)}

/* RESERVAS */
.reservations{background:var(--forest)}
.reservation-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:start}
.reservation-main .eyebrow,.observations .eyebrow{color:var(--gold-soft)}
.reservation-main h2{max-width:650px;margin:.12em 0 .25em}
.reservation-lead{max-width:520px;font-family:var(--serif);font-size:1.3rem;color:#e8e1d3}
.reservation-services{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}
.reservation-services span{border:1px solid rgba(255,255,255,.25);padding:8px 13px;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}
.reservation-button{display:flex;justify-content:space-between;align-items:center;max-width:520px;background:#f3ecdf;color:var(--forest);padding:19px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;transition:.25s ease}
.reservation-button:hover{background:var(--gold-soft)}
.reservation-contact{display:flex;flex-direction:column;margin-top:24px;font-size:.72rem;color:#cfc8ba}
.reservation-contact strong{color:#fff;font-family:var(--serif);font-size:1.35rem;font-weight:500}
.observations{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);padding:38px}
.observations h3{font:400 2.2rem var(--serif);line-height:1.05;margin:8px 0 24px}

@media(max-width:900px){
 .place-grid,.section-intro,.reservation-shell{grid-template-columns:1fr}
 .dish-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 220px 220px}
 .dish-large{grid-column:1/3;grid-row:auto}.dish-wide{grid-column:auto}
 .instagram-grid{grid-template-columns:1fr 1fr}.instagram-head{display:block}.instagram-follow{text-align:left;margin-top:25px}
 .place-visual,.place-visual img{min-height:440px;height:440px}
}
@media(max-width:560px){.dish-gallery{grid-template-columns:1fr;grid-template-rows:repeat(5,260px)}.dish-large,.dish-wide{grid-column:auto;grid-row:auto}.map-frame{height:350px}}


/* =========================================================
   PRATOS | GALERIA DINÂMICA + CHEF
========================================================= */

.dishes-copy{
    max-width:520px;
}

.chef-signature{
    position:relative;
    display:grid;
    grid-template-columns:36px 1fr;
    gap:12px 16px;
    align-items:start;
    margin-top:30px;
    padding-top:25px;
    border-top:1px solid rgba(164,139,69,.28);
}

.chef-line{
    width:36px;
    height:1px;
    margin-top:11px;
    background:var(--gold);
}

.chef-copy{
    display:flex;
    flex-direction:column;
}

.chef-name{
    font-family:var(--serif);
    font-size:1.25rem;
    line-height:1;
    color:var(--olive);
}

.chef-copy strong{
    margin-top:7px;
    font-family:var(--serif);
    font-size:1.15rem;
    font-style:italic;
    font-weight:400;
    color:#746858;
}

.chef-signature img{
    grid-column:2;
    width:min(230px,75%);
    height:auto;
    margin-top:4px;
    opacity:.78;
    mix-blend-mode:multiply;
}

.dish-gallery{
    grid-template-columns:1.25fr .75fr .75fr;
    grid-template-rows:280px 280px;
}

.dish-gallery .dish{
    display:none;
}

.dish-gallery .dish.is-visible{
    display:block;
}

.dish-gallery .dish.slot-large{
    grid-row:1/3;
}

.dish-gallery .dish.slot-wide{
    grid-column:2/4;
}

.dish-gallery .dish.slot-standard{
    grid-column:auto;
    grid-row:auto;
}

@media(max-width:900px){
    .dish-gallery{
        grid-template-columns:1fr 1fr;
        grid-template-rows:360px 220px 220px;
    }

    .dish-gallery .dish.slot-large{
        grid-column:1/3;
        grid-row:auto;
    }

    .dish-gallery .dish.slot-wide{
        grid-column:auto;
    }
}

@media(max-width:560px){
    .chef-signature{
        grid-template-columns:28px 1fr;
    }

    .dish-gallery{
        grid-template-columns:1fr;
        grid-template-rows:repeat(7,260px);
    }

    .dish-gallery .dish.slot-large,
    .dish-gallery .dish.slot-wide,
    .dish-gallery .dish.slot-standard{
        grid-column:auto;
        grid-row:auto;
    }
}


/* =========================================================
   ÁLBUM DE PRATOS | MODAL / LIGHTBOX
========================================================= */
.dish-album-action{display:flex;justify-content:center;margin-top:34px}
.dish-album-button{display:inline-flex;align-items:center;gap:18px;padding:13px 20px;border:1px solid var(--gold);background:transparent;color:var(--olive);font:600 .68rem var(--sans);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:.25s ease}
.dish-album-button:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.dish-album-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:28px}
.dish-album-modal.is-open{display:flex}
.dish-album-backdrop{position:absolute;inset:0;background:rgba(18,18,13,.82);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.dish-album-panel{position:relative;z-index:1;width:min(1220px,96vw);max-height:92vh;overflow:auto;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.34);padding:42px}
.dish-album-top{position:sticky;top:-42px;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin:-42px -42px 32px;padding:36px 42px 25px;background:rgba(251,248,241,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(164,139,69,.18)}
.dish-album-top h2{font-size:clamp(2.4rem,5vw,4.8rem);margin:.08em 0 0}
.dish-album-close{flex:0 0 auto;width:46px;height:46px;border:1px solid rgba(48,40,33,.25);background:transparent;color:var(--ink);font:300 2rem/1 var(--sans);cursor:pointer}
.dish-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dish-album-grid figure{margin:0;overflow:hidden;background:var(--stone);aspect-ratio:4/5}
.dish-album-grid figure:nth-child(4n+1){aspect-ratio:1/1}
.dish-album-grid figure:nth-child(5n){grid-column:span 2;aspect-ratio:2/1}
.dish-album-grid img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.dish-album-grid figure:hover img{transform:scale(1.025)}
body.album-open{overflow:hidden}
@media(max-width:760px){.dish-album-modal{padding:10px}.dish-album-panel{padding:22px;max-height:95vh}.dish-album-top{top:-22px;margin:-22px -22px 22px;padding:24px 22px 18px}.dish-album-grid{grid-template-columns:1fr 1fr;gap:6px}.dish-album-grid figure:nth-child(5n){grid-column:span 2}.dish-album-close{width:42px;height:42px}}


/* =========================================================
   ÁLBUM DE PRATOS | CORREÇÃO FINAL
========================================================= */

.dish-album-action{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:30px;
}

.dish-album-button.btn.solid{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    min-width:225px;
    margin:0;
    padding:15px 20px;
    border:1px solid var(--forest);
    background:var(--forest);
    color:#fff;
    font-family:var(--sans);
    font-size:.68rem;
    font-weight:500;
    line-height:1;
    letter-spacing:.14em;
    text-transform:uppercase;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
}

.dish-album-button.btn.solid:hover,
.dish-album-button.btn.solid:focus-visible{
    background:var(--gold);
    border-color:var(--gold);
    color:#fff;
}

.dish-album-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease;
}

.dish-album-modal.is-open{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
}

.dish-album-backdrop{
    position:absolute;
    inset:0;
    z-index:0;
    background:rgba(18,18,13,.86);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}

.dish-album-panel{
    position:relative;
    z-index:1;
    width:min(1220px,96vw);
    max-height:92vh;
    overflow:auto;
    overscroll-behavior:contain;
    background:var(--paper);
    box-shadow:0 30px 90px rgba(0,0,0,.38);
    padding:42px;
    transform:translateY(18px) scale(.985);
    transition:transform .3s ease;
}

.dish-album-modal.is-open .dish-album-panel{
    transform:translateY(0) scale(1);
}

.dish-album-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-flow:dense;
    gap:10px;
}

.dish-album-grid figure{
    display:block;
    margin:0;
    overflow:hidden;
    background:var(--stone);
    aspect-ratio:4/5;
}

.dish-album-grid figure:nth-child(6n+1){
    grid-column:span 2;
    grid-row:span 2;
    aspect-ratio:auto;
    min-height:500px;
}

.dish-album-grid figure:nth-child(5n){
    grid-column:span 2;
    aspect-ratio:2/1;
}

.dish-album-grid img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

@media(max-width:900px){
    .dish-album-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .dish-album-grid figure:nth-child(6n+1){
        min-height:420px;
    }
}

@media(max-width:560px){
    .dish-album-action{
        justify-content:stretch;
    }

    .dish-album-button.btn.solid{
        width:100%;
    }

    .dish-album-modal{
        padding:0;
        align-items:stretch;
    }

    .dish-album-panel{
        width:100%;
        max-height:100vh;
        padding:18px;
    }

    .dish-album-top{
        top:-18px;
        margin:-18px -18px 18px;
        padding:22px 18px 16px;
    }

    .dish-album-grid{
        gap:5px;
    }

    .dish-album-grid figure:nth-child(6n+1){
        min-height:320px;
    }
}


/* =========================================================
   SABORES EM CENA | CABEÇALHO DO ÁLBUM
========================================================= */

.dish-album-heading{
    max-width:760px;
    padding-right:70px;
}

.dish-album-heading h2{
    margin:.08em 0 .12em;
    font-size:clamp(3.4rem,6vw,6.3rem);
    line-height:.88;
    color:var(--ink);
}

.dish-album-heading > p{
    max-width:560px;
    margin:0;
    font-family:var(--serif);
    font-size:1.22rem;
    color:#746858;
}

.album-chef{
    display:flex;
    align-items:flex-end;
    gap:24px;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(164,139,69,.28);
}

.album-chef-copy{
    display:flex;
    flex-direction:column;
    min-width:230px;
}

.album-chef-copy span{
    font-family:var(--serif);
    font-size:1.3rem;
    color:var(--olive);
}

.album-chef-copy em{
    margin-top:4px;
    font-family:var(--serif);
    font-size:1rem;
    font-weight:400;
    color:#807363;
}

.album-chef img{
    width:180px;
    height:auto;
    opacity:.8;
    mix-blend-mode:multiply;
}

@media(max-width:560px){
    .dish-album-heading{
        padding-right:42px;
    }

    .album-chef{
        display:block;
    }

    .album-chef img{
        width:155px;
        margin-top:12px;
    }
}


/* SABORES EM CENA | ajuste compacto solicitado */
.dish-album-top{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 52px;
    gap:28px;
    align-items:center;
}
.dish-album-heading{max-width:650px;padding-right:0}
.dish-album-heading h2{font-size:clamp(2.5rem,4.2vw,4.4rem);line-height:.9;margin:.08em 0 .1em}
.dish-album-heading > p{font-size:1.02rem;max-width:520px}
.album-chef{margin:0;padding:0;border:0;display:flex;align-items:center;gap:20px;justify-self:end}
.album-chef-copy{min-width:220px}
.album-chef-copy span{font-size:1.12rem}
.album-chef-copy em{font-size:.88rem}
.album-chef img{width:175px;margin:0;padding-left:20px;border-left:1px solid rgba(164,139,69,.28)}
.dish-album-close{position:static;align-self:start;justify-self:end}
@media(max-width:900px){
 .dish-album-top{grid-template-columns:1fr 52px;align-items:start}
 .album-chef{grid-column:1/2;justify-self:start;margin-top:10px}
 .dish-album-close{grid-column:2;grid-row:1}
}
@media(max-width:560px){
 .dish-album-heading h2{font-size:2.7rem}
 .album-chef{display:flex;align-items:center;gap:12px}
 .album-chef-copy{min-width:0}
 .album-chef img{width:125px;padding-left:12px}
}
\n\n/* =========================================================\n   SABORES EM CENA | CABEÇALHO FINAL EM DUAS COLUNAS\n   Esquerda: álbum/título/descrição\n   Direita: chef/frase/assinatura\n========================================================= */\n.dish-album-top{\n    display:grid;\n    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr) 52px;\n    column-gap:44px;\n    align-items:start;\n    padding-bottom:26px;\n    border-bottom:1px solid rgba(164,139,69,.25);\n}\n.dish-album-heading{\n    max-width:none;\n    padding:0;\n}\n.dish-album-heading h2{\n    font-size:clamp(2.65rem,3.7vw,4.15rem);\n    line-height:.92;\n    margin:.08em 0 .12em;\n}\n.dish-album-heading > p{\n    max-width:560px;\n    margin:0;\n    font-size:1rem;\n}\n.album-chef{\n    display:block;\n    justify-self:end;\n    width:100%;\n    max-width:430px;\n    margin:0;\n    padding:3px 0 0 28px;\n    border:0;\n    border-left:1px solid rgba(164,139,69,.34);\n}\n.album-chef-copy{\n    display:grid;\n    grid-template-columns:1fr 170px;\n    grid-template-rows:auto auto;\n    column-gap:20px;\n    align-items:center;\n    min-width:0;\n}\n.album-chef-copy span{\n    grid-column:1;\n    grid-row:1;\n    font-size:1.15rem;\n    line-height:1.1;\n}\n.album-chef-copy em{\n    grid-column:1;\n    grid-row:2;\n    margin-top:5px;\n    font-size:.88rem;\n    line-height:1.35;\n}\n.album-chef-copy img{\n    grid-column:2;\n    grid-row:1 / 3;\n    align-self:center;\n    width:170px;\n    max-width:100%;\n    height:auto;\n    margin:0;\n    padding:0;\n    border:0;\n    opacity:.82;\n    mix-blend-mode:multiply;\n}\n.dish-album-close{\n    position:static;\n    grid-column:3;\n    grid-row:1;\n    justify-self:end;\n    align-self:start;\n}\n@media(max-width:980px){\n    .dish-album-top{\n        grid-template-columns:minmax(0,1fr) 52px;\n        row-gap:22px;\n    }\n    .album-chef{\n        grid-column:1;\n        grid-row:2;\n        justify-self:start;\n        max-width:460px;\n    }\n    .dish-album-close{grid-column:2;grid-row:1}\n}\n@media(max-width:560px){\n    .dish-album-heading h2{font-size:2.65rem}\n    .album-chef{padding-left:18px}\n    .album-chef-copy{grid-template-columns:1fr 120px;column-gap:12px}\n    .album-chef-copy img{width:120px;margin:0;padding:0;border:0}\n}\n

/* =========================================================
   PRODUÇÃO | CABEÇALHO
========================================================= */
@media (min-width:901px) and (max-width:1450px){
    .site-header nav{
        gap:18px;
    }

    .site-header .brand img{
        width:138px;
    }

    .site-header .links{
        gap:14px;
        font-size:.62rem;
        letter-spacing:.085em;
    }

    .site-header .reserve{
        padding:9px 13px;
    }
}

@media (min-width:901px) and (max-width:1180px){
    .site-header .links{
        gap:10px;
        font-size:.58rem;
    }

    .site-header .brand img{
        width:122px;
    }
}
