:root{--bg:#fbf6ec;--paper:#fffdf8;--ink:#231a14;--mute:#6f6255;--line:#e6dcc9;--green:#2f7a45;--red:#c8321f;--gold:#d99a2b}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bg);color:var(--ink);font:400 1rem/1.6 Inter,system-ui,sans-serif}
h1,h2,h3,h4,.logo{font-family:Fraunces,Georgia,serif;font-weight:800;letter-spacing:-.01em}
a{color:inherit}
.wrap{width:min(1080px,100% - 32px);margin-inline:auto}
.tri{height:6px;background:linear-gradient(90deg,var(--green) 33.3%,#fff 33.3% 66.6%,var(--red) 66.6%)}
.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:10px;font-weight:600;text-decoration:none;background:var(--red);color:#fff;border:2px solid var(--red)}
.btn--out{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn:hover{transform:translateY(-1px)}

.top{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;height:64px;gap:1.5rem}
.logo{font-size:1.45rem;text-decoration:none}.logo span{color:var(--red)}
.top nav{margin-left:auto;display:flex;gap:1.5rem;font-weight:500;font-size:.95rem}
.top nav a{text-decoration:none;color:var(--mute)}.top nav a:hover{color:var(--ink)}

/* hero centré */
.hero{text-align:center;padding:64px 0 24px}
.kicker{display:inline-flex;gap:.6rem;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-weight:600;margin-bottom:1rem}
.kicker::before,.kicker::after{content:"";width:34px;height:1px;background:var(--green)}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;max-width:16ch;margin:0 auto 1rem}
h1 em{color:var(--red);font-style:italic}
.lead{max-width:52ch;margin:0 auto 1.6rem;color:var(--mute);font-size:1.1rem}
.cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.hero-img{margin:44px auto 0;width:min(940px,100% - 32px);position:relative}
.hero-img .crop{border-radius:220px 220px 20px 20px;box-shadow:0 24px 60px rgba(60,30,10,.25)}
.seal{position:absolute;right:4%;bottom:-26px;width:132px;height:132px;border-radius:50%;background:var(--gold);color:#231a14;display:grid;place-content:center;text-align:center;font:800 .95rem/1.15 Fraunces,serif;transform:rotate(8deg);box-shadow:0 8px 24px rgba(0,0,0,.25);padding:.6rem}
.seal small{font:500 .62rem Inter;display:block;margin-top:.2rem}

.facts{display:flex;justify-content:center;gap:.6rem 2.2rem;flex-wrap:wrap;padding:52px 16px 8px;color:var(--mute);font-weight:500}
.facts b{color:var(--ink)}

/* carte papier */
section.block{padding:72px 0}
.title{text-align:center;margin-bottom:2rem}
.title h2{font-size:clamp(2rem,4.5vw,3rem)}
.title p{color:var(--mute)}
.paper{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,4vw,52px);box-shadow:0 10px 40px rgba(60,30,10,.06)}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}
.tabs a{padding:.4rem .9rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);text-decoration:none;font-size:.92rem;font-weight:500}
.tabs a:hover{border-color:var(--red);color:var(--red)}
.cat{margin-bottom:3rem}
.cat-head{text-align:center;margin-bottom:1.4rem}
.cat-head h3{font-size:1.9rem;display:inline-block;position:relative;padding:0 1rem}
#tomate h3{color:var(--red)}#creme h3{color:var(--gold)}#speciales h3{color:var(--green)}
.cat-note{color:var(--mute)}
.sizes{list-style:none;padding:0;display:flex;justify-content:center;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.size{display:flex;align-items:baseline;gap:.4rem;padding:.35rem .9rem;border:1px solid var(--line);border-radius:99px;background:var(--bg);font-size:.9rem}
.size-name{font-weight:600}.size-cm{color:var(--mute);font-size:.8rem}.size-price{color:var(--red)}
.dishes{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.dish{padding:.85rem 0;border-bottom:1px dotted #cbbd9f;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem 1rem}
.dish>:not(.add){grid-column:1}
.dish .add{grid-column:2;grid-row:1/span 2;align-self:center}
.dish h4{font-size:1.08rem;font-weight:600}
.dish p{color:var(--mute);font-size:.9rem;font-style:italic}
.new{margin-left:.5rem;font:600 .62rem Inter;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--green);padding:.15rem .45rem;border-radius:4px;vertical-align:middle}
.opts{list-style:none;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.opts li{display:flex;gap:.4rem;color:var(--mute)}.opts strong{color:var(--red)}
.dish .opts-flavors{font-style:normal;color:var(--mute);font-size:.92rem;line-height:1.45;margin:.2rem 0 .4rem}
.add{border:1.5px solid var(--red);color:var(--red);background:transparent;padding:.2rem .7rem;border-radius:8px;font-weight:600;cursor:pointer}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:3rem}
.duo .crop,.duo .shot{border-radius:16px;box-shadow:0 10px 30px rgba(60,30,10,.18)}
.duo .shot{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.duo .cat{margin:0}
.duo .cat-head{text-align:left}
.duo .dishes{grid-template-columns:1fr}
.sauces{list-style:none;padding:0;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}
.sauces li{padding:.25rem .8rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-size:.9rem}

/* photos */
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.photos a{display:block;text-decoration:none}
.photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:6px solid #fff;box-shadow:0 8px 24px rgba(60,30,10,.18);transition:transform .25s}
.photos a:nth-child(1) img{transform:rotate(-1.5deg)}.photos a:nth-child(3) img{transform:rotate(1.5deg)}
.photos img:hover{transform:rotate(0) scale(1.02)!important}
.photos span{display:block;text-align:center;margin-top:.7rem;color:var(--mute);font-size:.9rem}

/* contact */
.contact{background:var(--ink);color:#f5ecda}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact h2{font-size:2.4rem;margin-bottom:1rem}
.contact .tel{display:block;font:800 clamp(1.8rem,4vw,2.6rem)/1.15 Fraunces,serif;text-decoration:none;color:#fff}
.contact .tel:hover{color:var(--gold)}
dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:1.4rem 0;color:#cfc3ad}dd{color:#fff;font-weight:500}
.contact .btn--out{color:#fff;border-color:#fff}
.contact .flyer{width:100%;max-height:480px;object-fit:cover;object-position:center 55%;border-radius:16px}
footer{background:var(--ink);color:#8f8471;text-align:center;font-size:.85rem;padding:20px;border-top:1px solid #3a2f27}
footer p{margin:.2rem 0}footer a{color:#cdbfa6}.foot-legal{font-size:.8rem}

@media (max-width:800px){
  .top nav{display:none}.top .btn{margin-left:auto}
  .dishes,.duo,.contact .wrap{grid-template-columns:1fr}
  .hero-img .crop{border-radius:120px 120px 16px 16px}
  .seal{width:104px;height:104px;font-size:.78rem}
  .photos{grid-template-columns:1fr;max-width:340px;margin-inline:auto}
}
