@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--burgundy:#360710;--red:#681521;--gold:#dfad43;--gold-light:#f0ce79;--ink:#241c1a;--muted:#655b55;--cream:#f7f3eb;--paper:#fffdf8;--line:#ddd2c0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}body.modal-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}::selection{background:var(--gold);color:var(--burgundy)}.container{width:min(1312px,100% - 64px);margin:auto}.site-header{position:relative;z-index:20;background:var(--burgundy);color:white;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:11px max(3vw,24px);border-bottom:1px solid #ffffff25}.logo-link{display:flex;align-items:center;gap:13px;text-decoration:none}.logo-link img{width:68px;height:68px;object-fit:contain;border-radius:50%}.brand-text{font:500 1.24rem/1.15 'Playfair Display',serif;letter-spacing:.01em}.brand-text small{display:block;color:var(--gold-light);font:700 .55rem/1.4 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.15em;margin-top:7px}.nav{display:flex;align-items:center;gap:clamp(14px,2.3vw,32px)}.nav a{text-decoration:none;font-size:.73rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--gold-light)}.nav .call{border:1px solid var(--gold);padding:11px 17px;color:var(--gold-light)}.nav .call:hover{color:var(--burgundy);background:var(--gold-light)}.hero{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:680px;background:var(--burgundy);color:#fff}.hero-copy{padding:clamp(70px,7vw,120px) clamp(32px,7vw,120px) 90px max(6vw,36px);display:flex;flex-direction:column;justify-content:center;position:relative}.hero-copy:after{content:'';position:absolute;width:55px;height:1px;background:var(--gold);left:max(6vw,36px);bottom:48px}.kicker,.micro{color:var(--gold-light);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700}.hero h1,h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.1}.hero h1{font-size:clamp(3.55rem,5.5vw,6.7rem);letter-spacing:-.05em;margin:23px 0 27px}.hero h1 em{font-weight:400;color:var(--gold-light)}.hero p{font-size:1.1rem;line-height:1.75;max-width:500px;color:#e9dcd7;margin:0}.hero-image{min-height:680px;overflow:hidden;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(54,7,16,.16),transparent 30%)}.hero-mark{position:absolute;right:28px;bottom:26px;background:rgba(54,7,16,.9);border:1px solid #dfad4380;color:var(--gold-light);padding:12px 18px;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border:1px solid var(--gold);background:var(--gold);color:var(--burgundy);font-size:.76rem;letter-spacing:.13em;font-weight:700;text-decoration:none;text-transform:uppercase;transition:background .2s,transform .2s}.btn:hover{background:var(--gold-light);transform:translateY(-2px)}.btn.ghost{color:white;background:transparent;border-color:#aa8d77}.btn.ghost:hover{background:white;color:var(--burgundy)}.ribbon{padding:19px 24px;display:flex;justify-content:center;gap:36px;background:#eee4d4;color:var(--red);text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:700}.ribbon span:not(:last-child):after{content:'✦';color:#b79248;margin-left:36px}.section{padding:110px 0}.section h2,.visit h2{font-size:clamp(2.7rem,4.4vw,5.1rem);letter-spacing:-.035em;margin:14px 0 30px}.section p{color:var(--muted);font-size:1.08rem;line-height:1.8}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.split>div{max-width:530px}.split .micro{color:#936e34}.picture{width:100%;height:570px;object-fit:cover;object-position:center 53%}.photo-frame{position:relative}.photo-frame:after{content:'LA TERRASSE';position:absolute;bottom:-16px;right:-16px;background:var(--burgundy);color:var(--gold-light);padding:16px 25px;font-size:.7rem;font-weight:700;letter-spacing:.2em}.menu-teaser{background:var(--burgundy);color:white}.menu-teaser .micro{color:var(--gold-light)}.menu-teaser h2{max-width:680px;margin-bottom:42px}.menu-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.menu-card{position:relative;min-height:410px;overflow:hidden;color:white;text-decoration:none;display:flex;align-items:flex-end;padding:35px;isolation:isolate}.menu-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(28,7,8,.88),rgba(28,7,8,.05) 75%)}.menu-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s}.menu-card:hover img{transform:scale(1.045)}.menu-card h3{font-size:clamp(2.3rem,3vw,3.6rem);margin:0 0 4px}.menu-card p{color:#f4e8e2;margin:0 0 16px;max-width:390px;font-size:.95rem}.menu-card strong{color:var(--gold-light);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.gallery-section{background:var(--paper)}.gallery-section .micro{color:#936e34}.gallery-section h2{max-width:800px}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-top:38px}.gallery-grid button{border:0;padding:0;background:var(--burgundy);color:white;position:relative;overflow:hidden;cursor:pointer;text-align:left;min-height:320px}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-grid button:hover img{transform:scale(1.04)}.gallery-grid span{position:absolute;bottom:0;left:0;right:0;padding:40px 21px 19px;background:linear-gradient(transparent,#200609b8);font:500 1.33rem 'Playfair Display',serif}.gallery-dialog{border:0;padding:0;background:transparent;color:white;max-width:min(94vw,1200px);max-height:94vh}.gallery-dialog::backdrop{background:#100506e8}.gallery-dialog img{max-height:83vh;max-width:94vw;object-fit:contain}.gallery-dialog button{position:absolute;right:8px;top:8px;border:0;background:var(--burgundy);color:white;padding:8px 15px;cursor:pointer}.gallery-dialog p{margin:10px 0 0;text-align:center}.visit{background:#310810;color:white;padding:100px 0}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.visit h2{margin-top:13px}.visit address{font-style:normal;font-size:1.25rem;line-height:1.5}.visit .phone{display:inline-block;color:var(--gold-light);font-size:1.6rem;font-weight:700;text-decoration:none;margin:15px 0}.visit p{color:#d9cbc5}.visit .btn{margin:19px 0 0}.hours{margin:30px 0 0;border-top:1px solid #ffffff30;max-width:380px}.hours h3{font-size:1.55rem;margin:20px 0 10px}.hours dl{display:grid;grid-template-columns:1fr auto;gap:4px 20px;margin:0}.hours dt,.hours dd{margin:0;padding:3px 0;color:#f0e4dd}.hours dd{text-align:right}.hours .hours-note{font-size:.8rem;color:#bca9a3;margin-top:13px}.map{width:100%;height:520px;border:0;background:#e9dfd2}.footer{background:#20050b;color:#e6d7d0;padding:31px max(3vw,24px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:.82rem}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.page-hero{background:var(--burgundy);color:white;text-align:center;padding:85px 24px 80px}.page-hero h1{font-size:clamp(3.8rem,7vw,6.5rem);margin:15px 0}.page-hero p{color:#e1d0c8;font-size:1.08rem;margin:0 auto;max-width:580px}.page-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:34px}.page-tabs a,.filter-btn{padding:11px 20px;border:1px solid #b79480;background:transparent;color:white;text-decoration:none;font-size:.78rem;font-weight:700;cursor:pointer}.page-tabs a.active,.page-tabs a:hover,.filter-btn.active,.filter-btn:hover{background:var(--gold);color:var(--burgundy);border-color:var(--gold)}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.72fr);align-items:start;gap:9%;padding:90px 0 110px}.menu-layout h2{font-size:clamp(2.7rem,4vw,4rem);margin:0 0 28px}.menu-list{list-style:none;padding:0;margin:0}.menu-list li{padding:18px 0;border-bottom:1px solid var(--line)}.item-head{display:flex;gap:15px;justify-content:space-between;align-items:baseline}.item-head strong{font:500 1.35rem 'Playfair Display',serif}.item-head span{font-weight:700;color:var(--red);white-space:nowrap}.menu-list p{font-size:.93rem;color:var(--muted);margin:3px 0 0}.subheading{font-size:2rem;color:var(--red);margin:50px 0 10px}.menu-side{position:sticky;top:22px}.menu-side img{width:100%;height:440px;object-fit:cover}.menu-side .note{background:#e9ddc9;padding:30px}.menu-side .note p{margin:0 0 14px}.menu-side .note a{font-weight:700;color:var(--red)}.disclaimer{font-size:.78rem;color:#85776e;margin-top:38px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 15px}.filter-btn{color:var(--red);border-color:#cbbba8}.filter-btn.active{background:var(--red);color:white;border-color:var(--red)}[hidden]{display:none!important}.mobile-call{display:none}@media(max-width:960px){.site-header{flex-wrap:wrap}.nav{width:100%;justify-content:space-between}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7%;min-height:570px}.hero-copy:after{left:7%}.hero-image{height:430px;min-height:0}.split,.visit-grid,.menu-layout{grid-template-columns:1fr;gap:45px}.split>div{max-width:none}.picture{height:500px}.menu-side{position:static}.menu-side img{height:390px}.map{height:430px}}@media(max-width:650px){.container{width:min(100% - 40px,1312px)}.site-header{padding:11px 20px;gap:8px}.logo-link img{width:54px;height:54px}.brand-text{font-size:1rem}.nav{flex-wrap:wrap;justify-content:flex-start;gap:2px 17px}.nav a{font-size:.68rem;letter-spacing:.05em;padding:5px 0}.nav .call{display:none}.hero-copy{padding:66px 22px;min-height:560px}.hero-copy:after{left:22px;bottom:35px}.hero h1{font-size:clamp(3.45rem,11vw,5.5rem)}.hero-image{height:300px}.hero-mark{font-size:.56rem;bottom:10px;right:10px}.ribbon{flex-wrap:wrap;gap:5px 14px;letter-spacing:.07em;font-size:.64rem}.ribbon span:not(:last-child):after{margin-left:14px}.section{padding:75px 0}.section h2,.visit h2{font-size:2.8rem}.picture{height:360px}.photo-frame:after{right:-6px}.menu-cards,.gallery-grid{grid-template-columns:1fr}.menu-card{min-height:340px;padding:25px}.gallery-grid button{min-height:280px}.visit{padding:75px 0 90px}.map{height:310px}.footer{padding-bottom:87px}.page-hero{padding:65px 20px}.menu-layout{padding:65px 0}.menu-side img{height:330px}.mobile-call{display:block;position:fixed;z-index:25;bottom:0;left:0;right:0;background:var(--gold);text-align:center;padding:13px;color:var(--burgundy);font-size:.82rem;font-weight:700;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;box-shadow:0 -4px 18px #16040932}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.gallery-top p{font-size:.95rem;margin:0}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:44px;height:44px;border:1px solid var(--red);background:transparent;color:var(--red);cursor:pointer;font-size:1.15rem}.gallery-controls button:hover{background:var(--red);color:white}.gallery-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:0 0 12px;margin-top:18px}.gallery-grid button{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;height:335px;min-height:335px}.gallery-grid span{display:flex;flex-direction:column;gap:4px}.gallery-grid small{font:700 .65rem 'DM Sans',sans-serif;letter-spacing:.13em;color:var(--gold-light);text-transform:uppercase}@media(max-width:900px){.gallery-grid button{flex-basis:calc((100% - 16px)/2)}}@media(max-width:650px){.gallery-top{align-items:flex-end}.gallery-top p{font-size:.83rem}.gallery-grid button{flex-basis:84%;height:300px;min-height:300px}}

/* Parcours gourmand et vie du lieu */
.menu-teaser{background:#330811}.menu-teaser .menu-lead{color:#e5d4ca;max-width:650px;margin:-8px 0 37px;font-size:1.06rem}.pizza-spotlight{display:grid;grid-template-columns:1fr .78fr;margin-top:24px;min-height:430px;background:#f1e5d3;color:var(--ink)}.pizza-spotlight-image{overflow:hidden}.pizza-spotlight-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pizza-spotlight:hover img{transform:scale(1.035)}.pizza-spotlight-copy{padding:clamp(35px,5vw,75px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.pizza-spotlight-copy .micro{color:#936e34}.pizza-spotlight-copy h3{font-size:clamp(2.35rem,3.5vw,4rem);margin:16px 0}.pizza-spotlight-copy p{font-size:1.08rem;color:#56483f;margin:0 0 20px}.spotlight-price{font-size:1.5rem;color:var(--red);font-weight:700}.text-link{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px;margin-top:27px;color:var(--red);font-weight:700}.play-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#e9dac3}.play-photo{overflow:hidden}.play-photo img{width:100%;height:100%;object-fit:cover}.play-copy{padding:clamp(55px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.play-copy .micro{color:#8e602a}.play-copy h2{font-size:clamp(3rem,4.8vw,5.4rem);letter-spacing:-.04em;margin:23px 0}.play-copy h2 em{font-weight:400;color:var(--red)}.play-copy p{max-width:460px;font-size:1.05rem;color:#5b4b44;line-height:1.8;margin:0 0 22px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:960px){.pizza-spotlight{grid-template-columns:1fr}.pizza-spotlight-image{height:350px}.play-section{grid-template-columns:1fr}.play-photo{height:440px}}@media(max-width:650px){.pizza-spotlight-image{height:280px}.pizza-spotlight-copy{padding:33px 25px}.play-photo{height:330px}.play-copy{padding:60px 25px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* Une maison vivante : carte visuelle, rendez-vous et privatisation */
body{background:#f7f0e5}.hero{min-height:590px}.hero-image{min-height:590px}.hero h1{font-size:clamp(3.6rem,5.8vw,7.3rem)}.ribbon{background:#dfad43;color:#360710}.ribbon span:not(:last-child):after{color:#681521}.menu-card{min-height:470px}.pizza-spotlight{background:#e9d4b5}.pizza-spotlight-copy h3{font-style:italic}.pizza-spotlight-image img{filter:saturate(1.12)}.nav a[aria-current=page]{border-bottom:1px solid var(--gold)}
.happenings{background:#dfad43;color:#360710;padding:75px 0}.happenings-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center}.happenings .micro{color:#681521}.happenings h2{font-size:clamp(2.5rem,4.2vw,5rem);letter-spacing:-.045em;margin:18px 0;max-width:570px}.happenings h2 em{color:#681521}.happening-links{border-top:1px solid #68152155}.happening-links a{display:grid;grid-template-columns:125px 1fr 25px;align-items:baseline;gap:15px;text-decoration:none;border-bottom:1px solid #68152155;padding:20px 3px;transition:padding .2s,background .2s}.happening-links a:hover{padding-left:16px;background:#fff4d533}.happening-links span{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.65rem}.happening-links strong{font:500 clamp(1.4rem,2vw,2.2rem) 'Playfair Display',serif}.happening-links b{font-weight:400;font-size:1.3rem}
.private-section{display:grid;grid-template-columns:1fr 1fr;min-height:660px;background:#330811;color:#fff}.private-image{overflow:hidden}.private-image img{width:100%;height:100%;object-fit:cover}.private-content{padding:clamp(55px,7vw,120px);align-self:center}.private-content h2{font-size:clamp(3rem,4.8vw,5.8rem);letter-spacing:-.055em;margin:20px 0}.private-content h2 em{color:var(--gold-light)}.private-content>p{color:#e8d5cd;max-width:520px;line-height:1.8}.private-tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px}.private-tags span{border:1px solid #bd997a;padding:7px 12px;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}.private-content .private-note{font-size:.78rem;color:#c6aea3;margin-top:15px}
.pizza-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pizza-list li{border:1px solid #dccdb9;background:#fffaf2;padding:0;overflow:hidden;transition:transform .25s,box-shadow .25s}.pizza-list li:hover{transform:translateY(-4px);box-shadow:0 15px 35px #3e07101b}.pizza-thumb{width:100%;height:220px;object-fit:cover}.pizza-details{padding:17px 20px 23px}.pizza-list .item-head{align-items:flex-start}.pizza-list .item-head strong{font-size:1.4rem}.pizza-list p{line-height:1.5;margin-top:8px}.menu-layout:has(.pizza-list){grid-template-columns:minmax(0,1fr) 260px;gap:38px}.menu-layout:has(.pizza-list) .menu-side img{height:260px}.menu-layout:has(.pizza-list) .menu-side .note{padding:20px}.menu-layout:has(.pizza-list) h2{margin-bottom:20px}
.event-hero{display:grid;grid-template-columns:52% 48%;background:#360710;color:#fff;min-height:550px}.event-hero-photo{order:2;overflow:hidden;position:relative}.event-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#36071033,transparent 50%)}.event-hero-photo img{width:100%;height:100%;object-fit:cover}.event-hero-copy{padding:80px clamp(30px,6vw,110px);align-self:center}.event-hero h1{font-size:clamp(3.8rem,5vw,6.4rem);letter-spacing:-.055em;margin:17px 0 25px}.event-hero h1 em{color:#f0ce79}.event-hero p{color:#e5d3cc;max-width:500px;font-size:1.09rem}.event-hero .btn{margin-top:20px}.event-intro{padding:100px 0 38px}.event-intro .micro{color:#936e34}.event-intro h2{font-size:clamp(3rem,5vw,6rem);letter-spacing:-.045em;margin:15px 0}.event-intro h2 em{color:#681521}.event-intro p{font-size:1.1rem;max-width:650px;color:#655b55}.event-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-bottom:110px}.event-card{background:#fffaf2;border:1px solid #ddcdb7}.event-card-image{height:400px;position:relative;overflow:hidden}.event-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.event-card:hover img{transform:scale(1.04)}.event-card-image span{position:absolute;left:20px;bottom:20px;background:#360710;color:#f0ce79;padding:10px 15px;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700}.event-card-body{padding:32px clamp(24px,3vw,48px) 40px}.event-card .eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#8d6b3b;font-size:.7rem;font-weight:700}.event-card h3{font-size:clamp(2.4rem,3.5vw,4rem);margin:12px 0}.event-card-body>p{color:#655b55}.next-date{border-top:1px solid #ddcdb7;padding-top:19px;margin-top:25px}.next-date time{color:#681521;font-weight:700;text-transform:capitalize}.match-section{background:#e4d4b9;padding:105px 0}.match-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center}.match-grid h2{font-size:clamp(3rem,4.7vw,5.6rem);letter-spacing:-.05em;margin:20px 0}.match-grid h2 em{color:#681521}.match-grid p{max-width:510px;font-size:1.06rem}.match-grid .match-note{font-size:.85rem;font-weight:700}.match-grid img{width:100%;height:520px;object-fit:cover}.private-invite{background:#360710;color:white;padding:110px 0;text-align:center}.private-invite h2{font-size:clamp(3rem,5vw,5.8rem);margin:15px 0}.private-invite h2 em{color:#f0ce79}.private-invite p{color:#e4d3cc;font-size:1.08rem}.private-invite .btn{margin-top:15px}
@media(max-width:960px){.happenings-inner,.private-section,.event-hero,.match-grid{grid-template-columns:1fr}.event-hero-photo{order:0;height:390px}.private-image{height:420px}.event-cards{gap:15px}.menu-layout:has(.pizza-list){grid-template-columns:1fr}.menu-layout:has(.pizza-list) .menu-side{display:grid;grid-template-columns:1fr 1fr}.menu-layout:has(.pizza-list) .menu-side img{height:100%}}
@media(max-width:650px){.happenings{padding:60px 0}.happening-links a{grid-template-columns:70px 1fr 20px;gap:8px}.happening-links strong{font-size:1.25rem}.happening-links span{font-size:.57rem}.private-image{height:320px}.private-content{padding:65px 25px}.event-hero-photo{height:280px}.event-hero-copy{padding:56px 22px}.event-intro{padding:72px 0 35px}.event-cards,.pizza-list{grid-template-columns:1fr}.event-cards{padding-bottom:75px}.event-card-image{height:270px}.match-section{padding:70px 0}.match-grid img{height:340px}.private-invite{padding:75px 0}.menu-layout:has(.pizza-list) .menu-side{display:block}.menu-layout:has(.pizza-list) .menu-side img{height:240px}.pizza-thumb{height:240px}.hero,.hero-image{min-height:0}}
/* Navigation, pied de page et panneau de contact */
.menu-toggle{display:none}.footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px 50px;padding:45px max(3vw,24px);border-top:1px solid #dfad4340}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:60px;height:60px;border-radius:50%;object-fit:cover}.footer-brand strong{display:block;font:500 1.55rem 'Playfair Display',serif;color:#f0ce79}.footer-brand span{display:block;font-size:.77rem;letter-spacing:.12em;text-transform:uppercase;color:#c9b4a9}.footer-links{display:flex;gap:25px;align-items:center}.footer-links a{color:#f1dfd4;white-space:nowrap;font-weight:700}.footer-links a:hover{color:#f0ce79}.footer small{grid-column:1/-1;color:#ae9389;font-size:.78rem;letter-spacing:.06em}.contact-dialog{border:0;padding:0;max-width:min(94vw,480px);background:#f7f0e5;color:#360710;box-shadow:0 24px 85px #10040980}.contact-dialog::backdrop{background:#1e050ade;backdrop-filter:blur(3px)}.contact-panel{padding:clamp(30px,5vw,55px);position:relative}.contact-panel .micro{color:#8b652a}.contact-panel h2{font-size:3.3rem;margin:15px 0}.contact-panel p{color:#655b55;line-height:1.7}.contact-panel input{width:100%;font:700 1.8rem 'DM Sans',sans-serif;padding:15px;border:1px solid #c7ac83;background:white;color:#360710;text-align:center;letter-spacing:.03em;margin:12px 0 15px}.contact-copy{width:100%;cursor:pointer}.contact-dial{width:100%;margin-top:9px;background:#360710;color:white}.contact-close{position:absolute;right:16px;top:15px;border:0;background:none;color:#360710;font-size:2rem;line-height:1;cursor:pointer}.contact-feedback{min-height:25px;font-size:.8rem;margin:12px 0 0}.contact-dial{display:none}@media(pointer:coarse){.contact-dial{display:inline-flex}}
/* Carte illustrée */
.carte-hero{background:linear-gradient(145deg,#360710,#681521)}.food-intro{padding:90px 0 30px}.food-intro .micro,.food-section .micro{color:#956a31}.food-intro h2{font-size:clamp(3rem,5vw,5.5rem);margin:12px 0}.food-intro p{max-width:650px;color:#655b55;font-size:1.08rem}.food-section{padding-top:48px;padding-bottom:90px;scroll-margin-top:30px}.food-section-head{display:flex;gap:28px;align-items:baseline;border-bottom:1px solid #cbb697;margin-bottom:30px}.food-section-head .section-index{font:500 3rem 'Playfair Display',serif;color:#9b6e34}.food-section-head h2{font-size:clamp(2.7rem,4.5vw,5rem);margin:6px 0 22px}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dish-card{background:#fffaf2;box-shadow:0 8px 28px #4217090b;overflow:hidden;transition:transform .25s,box-shadow .25s}.dish-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #42170920}.dish-card img{width:100%;height:245px;object-fit:cover;transition:transform .4s}.dish-card:hover img{transform:scale(1.035)}.dish-card-content{padding:19px 21px 22px;min-height:109px}.dish-card .item-head{align-items:start}.dish-card h3{font-size:1.53rem;line-height:1.2;margin:0}.dish-card .item-head span{font-size:.9rem}.dish-card p{color:#72675e;font-size:.88rem;margin:10px 0 0;line-height:1.45}.food-note{color:#776b61;font-size:.88rem;margin:23px 0 0}.ravioles-section{background:#e7d6bb;padding-top:92px;padding-bottom:100px}.ravioles-section .dish-card{background:#fff9ec}.formula-section{padding:95px 0;background:#360710;color:white}.formula-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center}.formula-grid h2{font-size:clamp(3rem,4.8vw,5rem);margin:15px 0}.formula-grid p{color:#e2d2c8}.formula-grid .btn{margin-top:14px}.formula-list>div{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #f0ce795c;padding:16px 0}.formula-list span{font:500 1.28rem 'Playfair Display',serif}.formula-list strong{color:#f0ce79;white-space:nowrap}.carte-disclaimer{padding:25px 0 75px}
@media(max-width:960px){.footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-grid{grid-template-columns:1fr}.site-header{flex-wrap:nowrap}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;width:44px;height:44px;border:1px solid #dfad4380;background:transparent;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:100%;height:2px;background:#f0ce79}.site-header .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#360710;padding:16px 24px 24px;box-shadow:0 16px 24px #25050950;flex-direction:column;align-items:stretch;gap:4px}.site-header .nav.is-open{display:flex}.site-header .nav a{font-size:.82rem;padding:10px 0}.site-header .nav .call{display:block;text-align:center;margin-top:8px;padding:10px}}
@media(max-width:650px){.footer{padding:37px 20px 90px}.footer-links{display:grid;gap:13px}.footer-brand strong{font-size:1.3rem}.footer-brand span{font-size:.65rem}.food-intro{padding:68px 0 15px}.food-section{padding:40px 0 70px}.food-section-head{gap:16px}.dish-grid{grid-template-columns:1fr;gap:15px}.dish-card img{height:230px}.dish-card-content{min-height:0}.ravioles-section{padding:70px 0}.formula-section{padding:75px 0}.contact-panel h2{font-size:2.7rem}.contact-panel input{font-size:1.4rem}.mobile-call{bottom:0}}
.mobile-actions{display:none}@media(max-width:650px){.mobile-call{display:none}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:25;bottom:0;left:0;right:0;background:#dfad43;box-shadow:0 -4px 18px #16040932}.mobile-actions a{text-align:center;text-decoration:none;color:#360710;padding:13px 5px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em;border-right:1px solid #36071040}.mobile-actions a:last-child{border:0}}
/* Terrasse extérieure : deux états du même espace */
.space-visual{position:relative;min-height:680px;background:#2d1b16;isolation:isolate}.space-visual .space-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease}.space-visual .space-photo.is-active{opacity:1}.space-switch{position:absolute;z-index:2;left:24px;bottom:24px;display:flex;padding:5px;background:#fff9ed;box-shadow:0 8px 24px #1a070844}.space-switch button{border:0;background:transparent;color:#360710;padding:12px 18px;cursor:pointer;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700}.space-switch button.is-active{background:#360710;color:#f0ce79}.space-caption{position:absolute;z-index:2;left:24px;top:24px;background:#360710e6;color:#fff;padding:9px 13px;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}
/* Carte des vins */
.wine-section{background:#ead8ba;padding:105px 0;color:#360710}.wine-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.wine-section .micro{color:#8d5f2a}.wine-section h2{font-size:clamp(3.2rem,5vw,6rem);margin:17px 0}.wine-section p{max-width:430px;font-size:1.08rem;color:#605049}.wine-prices{border-top:1px solid #8a5b37}.wine-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:19px 0;border-bottom:1px solid #8a5b37}.wine-prices span{font:500 clamp(1.4rem,2vw,2rem) 'Playfair Display',serif}.wine-prices small{font:500 .8rem 'DM Sans',sans-serif;color:#776553}.wine-prices strong{font-size:1.2rem;white-space:nowrap}
/* Le Reel officiel de la pizzeria */
.pizza-reel{background:#360710;color:white;padding:100px 0}.reel-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8%}.reel-grid h2{font-size:clamp(3rem,4.8vw,5.5rem);margin:18px 0;line-height:1.08}.reel-grid p{color:#e1cec4;max-width:500px}.reel-grid .btn{margin-top:18px}.reel-embed{display:flex;justify-content:center;min-height:500px}.reel-embed blockquote{background:white;color:#360710;border:0;max-width:540px;min-width:326px;width:100%;min-height:480px;margin:0;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center}.reel-embed a{font-weight:700;color:#681521}
/* Le calendrier VRDR */
.fixture-area{margin-top:75px;padding-top:35px;border-top:1px solid #6c4c3e}.fixture-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.fixture-heading h3{font-size:clamp(2rem,3vw,3.4rem);margin:8px 0}.fixture-heading>a{color:#f0ce79;font-size:.8rem;font-weight:700;text-underline-offset:5px}.vrdr-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fixture{background:#f6eddf;color:#360710;padding:25px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.fixture time{color:#8b5c2b;font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.fixture strong{font:500 1.5rem/1.2 'Playfair Display',serif}.fixture span{font-weight:700;font-size:.9rem}.fixture-source{font-size:.75rem!important;color:#c9b7ac!important;margin-top:15px!important}
/* Instagram */
.footer-links a:has(.ig-icon),.mobile-actions a:has(.ig-icon){display:inline-flex;align-items:center;gap:8px}.ig-icon{width:23px;height:23px;flex:0 0 23px;color:#fff;background:linear-gradient(40deg,#ffca53 0%,#fb3958 45%,#883ac9 100%);padding:4px;border-radius:6px}.mobile-actions .ig-icon{width:20px;height:20px;flex-basis:20px}.mobile-actions a:has(.ig-icon){justify-content:center}
@media(max-width:960px){.wine-grid,.reel-grid{grid-template-columns:1fr}.reel-embed{justify-content:flex-start}.space-visual{min-height:480px}.vrdr-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.space-visual{min-height:420px}.space-switch{left:10px;bottom:10px}.space-switch button{font-size:.62rem;padding:10px}.space-caption{left:10px;top:10px}.wine-section,.pizza-reel{padding:70px 0}.reel-embed{min-height:400px}.reel-embed blockquote{min-width:0;min-height:400px}.fixture-heading{align-items:start;flex-direction:column}.vrdr-list{grid-template-columns:1fr}.fixture{min-height:140px}.mobile-actions a:has(.ig-icon){gap:3px}}
@media(prefers-reduced-motion:reduce){.space-visual .space-photo{transition:none}}
/* Passe de lisibilité : informations essentielles à 14 px minimum, contraste renforcé. */
:root{--readable-gold:#69451d;--readable-muted:#514740}
.kicker,.micro{font-size:.875rem;letter-spacing:.13em;line-height:1.5}
.brand-text small{font-size:.75rem;letter-spacing:.08em;line-height:1.35}
.nav a{font-size:.875rem;letter-spacing:.04em}
.nav .call{font-size:.875rem}
.btn,.page-tabs a,.filter-btn{font-size:.875rem;letter-spacing:.055em}
.ribbon{font-size:.875rem;letter-spacing:.08em;line-height:1.5}
.menu-card p,.menu-list p,.pizza-list p,.dish-card p{font-size:1rem;line-height:1.6}
.menu-card strong,.text-link,.footer,.footer-links a{font-size:.9rem;letter-spacing:.035em}
.gallery-grid small,.gallery-top p,.happening-links span,.private-tags span,.event-card .eyebrow,.event-card-image span,.space-caption,.space-switch button,.fixture time,.fixture-heading>a,.mobile-actions a{font-size:.875rem;letter-spacing:.04em}
.hours .hours-note,.private-content .private-note,.fixture-source,.food-note,.contact-feedback,.footer small,.disclaimer{font-size:.875rem;line-height:1.55}
.footer-brand span{font-size:.875rem;letter-spacing:.06em}
.hero-mark,.photo-frame:after{font-size:.875rem}
.menu-teaser .micro,.gallery-section .micro,.split .micro,.pizza-spotlight-copy .micro,.play-copy .micro,.happenings .micro,.private-content .micro,.event-intro .micro,.event-card .eyebrow,.food-intro .micro,.food-section .micro,.wine-section .micro,.contact-panel .micro{color:var(--readable-gold)}
.menu-teaser .micro,.private-content .micro{color:#f0ce79}
.happenings .micro{color:#4d0b15}
.section p,.event-card-body>p,.food-intro p,.wine-section p,.match-grid p,.private-content>p,.reel-grid p{line-height:1.7}
.gallery-top p,.food-note,.dish-card p,.menu-list p,.menu-lead,.food-intro p{color:var(--readable-muted)}
.menu-teaser .menu-lead{color:#f1e5da}
.event-card-body>p,.dish-card p,.pizza-list p{color:#514740}
.food-section .micro,.food-intro .micro,.wine-section .micro{color:#69451d}
.play-copy .micro{color:#69451d}
.menu-list .item-head span,.dish-card .item-head span{color:#681521}
.text-link{text-underline-offset:5px;text-decoration-thickness:1.5px}
@media(max-width:960px){.site-header .nav a{font-size:1rem;padding:12px 0}.site-header .nav .call{font-size:.95rem}}
@media(max-width:650px){.brand-text small{font-size:.7rem}.ribbon{font-size:.78rem}.gallery-top p{font-size:.9rem}.mobile-actions a{font-size:.82rem;letter-spacing:0}.happening-links span{font-size:.78rem;line-height:1.3}.happening-links a{grid-template-columns:95px 1fr 18px}.happening-links strong{font-size:1.3rem}.space-switch button{font-size:.78rem}.footer-brand span{font-size:.75rem}.footer-links a{font-size:1rem}}
.match-grid .micro{color:#69451d}
@media(max-width:650px){.brand-text small{font-size:.8rem}.ribbon,.happening-links span,.space-switch button,.mobile-actions a{font-size:.875rem}.footer-brand span{font-size:.8125rem}}
/* Privatisation : chaque photographie est présentée dans son cadrage entier. */
.private-section{align-items:start}
.private-content{align-self:start;padding:clamp(42px,5.5vw,86px) clamp(35px,6vw,100px) 65px}
.venue-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:5px;height:auto;min-height:0;background:#21090f}
.venue-tile{position:relative;min-width:0;margin:0;overflow:hidden}
.venue-tile-main{grid-column:1/-1;grid-row:auto}
.venue-tile:nth-child(4){grid-column:auto}
.venue-mosaic .venue-tile img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .55s ease}
.venue-tile:hover img{transform:scale(1.025)}
.venue-tile:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#17070cbc);pointer-events:none}
.venue-tile figcaption{position:absolute;bottom:14px;left:15px;z-index:1;color:#fff;font-size:.9rem;font-weight:700;text-shadow:0 2px 12px #000a}
@media(max-width:960px){.venue-mosaic{height:auto;max-width:720px;margin-inline:auto}.private-content{padding:55px clamp(28px,7vw,90px) 75px}}
@media(max-width:650px){.venue-mosaic{height:auto;min-height:0;gap:3px}.venue-tile figcaption{left:8px;bottom:8px;font-size:.72rem;line-height:1.2}.venue-tile-main figcaption{font-size:.95rem;left:14px;bottom:13px}.private-content{padding:50px 25px 65px}}
/* Le Reel garde un cadrage vertical centré sur l'image animée. */
.reel-embed{position:relative;display:block;width:min(100%,405px);height:660px;min-height:0;margin-inline:auto;overflow:hidden;border-radius:15px;background:#21090f;box-shadow:0 25px 65px #19040866}
.reel-embed .instagram-media{max-width:none!important;min-width:0!important;width:100%!important;margin:0!important}
.reel-embed iframe{display:block;width:100%!important;max-width:none!important;min-width:0!important;height:780px!important;max-height:none!important;margin:-58px 0 0!important;border:0!important}
.reel-embed blockquote>a{min-height:660px}
@media(max-width:650px){.reel-embed{height:min(660px,calc((100vw - 40px)*1.58));max-width:405px}.reel-embed iframe{height:calc(100% + 120px)!important}.reel-embed blockquote>a{min-height:100%}}
/* Le contenu et les photos restent visibles même si les animations ne démarrent pas. */
.reveal{opacity:1;transform:none}
.is-visible{animation:section-arrive .55s ease both}
@keyframes section-arrive{from{opacity:.86;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.is-visible{animation:none}}
.reel-embed blockquote{padding:0;overflow:hidden;min-height:0;background:#1d080d}
.reel-embed blockquote>a{position:relative;display:flex;min-height:480px;width:100%;align-items:flex-end;text-align:left;color:#fff;text-decoration:none;background:#1d080d}
.reel-embed blockquote>a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.reel-embed blockquote>a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#22090cdb,transparent 65%)}
.reel-embed blockquote>a span{position:relative;z-index:1;padding:30px;font-size:1.1rem;line-height:1.4}
.reel-embed blockquote>a span:before{content:'▶';display:grid;place-items:center;width:65px;height:65px;margin-bottom:18px;border:1px solid #fff;border-radius:50%;font-size:1.3rem}
.reel-embed blockquote>a:hover img{opacity:1}
@media(max-width:650px){.reel-embed blockquote>a{min-height:400px}}

/* Lisibilité du calendrier VRDR sur fond beige. */
.fixture-heading .micro,.fixture-heading>a{color:#4c101a}
.fixture-heading>a{font-size:.95rem;text-decoration-thickness:1.5px}
.fixture-source{color:#4d3b32!important;font-size:.875rem!important;line-height:1.6}
/* Comparaison interactive de la terrasse extérieure et de la mise en situation pétanque. */
.petanque-feature{background:#f3ebdc;padding:clamp(65px,8vw,120px) 0;color:#360710}
.petanque-feature-inner{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(40px,8vw,130px)}
.petanque-feature .micro{color:#704922}
.petanque-feature h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.08;letter-spacing:-.045em;margin:18px 0 25px}
.petanque-feature h2 em{color:#681521}
.petanque-feature-copy>p{font-size:1.05rem;line-height:1.7;max-width:460px}
.petanque-compare{position:relative;width:min(100%,500px);aspect-ratio:1074/1465;margin-inline:auto;overflow:hidden;background:#2b1017;isolation:isolate}
.petanque-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.petanque-after{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.petanque-label{position:absolute;top:18px;z-index:2;background:#360710e8;color:#fff;padding:9px 13px;font-size:.875rem;font-weight:700}
.petanque-label-before{right:18px}.petanque-label-after{left:18px}
.petanque-divider{position:absolute;z-index:3;left:var(--split);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 12px #0008}
.petanque-divider span{position:absolute;top:50%;left:50%;display:grid;place-items:center;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;color:#360710;font-size:1.45rem;box-shadow:0 4px 18px #0007}
.petanque-compare input[type=range]{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.petanque-compare:focus-within{outline:3px solid #8b602a;outline-offset:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:960px){.petanque-feature-inner{grid-template-columns:1fr;gap:30px}.petanque-feature-copy>p{max-width:650px}}
@media(max-width:650px){.petanque-feature{padding:65px 0}.petanque-feature h2{font-size:clamp(2.6rem,10vw,4rem)}.petanque-label{top:11px;padding:7px 9px;font-size:.75rem}.petanque-label-before{right:11px}.petanque-label-after{left:11px}}

/* Vidéo : lecteur chargé au toucher, sans cadre de publication Instagram. */
.reel-container{width:min(100%,405px);margin-inline:auto}
.reel-container .reel-embed{width:100%;height:auto;aspect-ratio:9/16;min-height:0;margin:0;background:#21090f}
.reel-play{display:block;position:relative;width:100%;height:100%;padding:0;border:0;overflow:hidden;background:#21090f;color:#fff;cursor:pointer}
.reel-play img{width:100%;height:100%;object-fit:cover;display:block}
.reel-play::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#21090fbb);pointer-events:none}
.reel-play span{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border:2px solid #fff;border-radius:50%;background:#360710a8;font-size:1.25rem}
.reel-play strong{position:absolute;z-index:1;bottom:24px;left:0;right:0;font-size:1rem}
.reel-play:focus-visible{outline:3px solid #f0ce79;outline-offset:-5px}
.reel-container .reel-embed iframe{position:absolute;left:0;top:-72px;display:block;width:100%!important;height:calc(100% + 150px)!important;margin:0!important;border:0!important}
.reel-external{display:inline-block;margin-top:13px;color:#f0ce79;text-underline-offset:4px;font-size:.9rem}
@media(max-width:650px){.reel-container .reel-embed{height:auto;aspect-ratio:9/16}}

.footer-links a:has(.g-icon){display:inline-flex;align-items:center;gap:8px}.g-icon{width:23px;height:23px;flex:0 0 23px;background:#fff;padding:3px;border-radius:6px;object-fit:contain}
