:root{
  --paper:#FBF3E4;
  --paper-dark:#F1E4C8;
  --ink:#1C160F;
  --ink-soft:#4A4133;
  --gold:#FFCF39;
  --gold-deep:#E7AF17;
  --spice:#B9421F;
  --spice-deep:#8F3117;
  --line: rgba(28,22,15,0.12);
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --hand: 'Caveat', cursive;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}

h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);margin:0 0 .4em;letter-spacing:-0.01em;}
h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.06;font-weight:700;}
h2{font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.12;}
h3.menu-cat{font-size:1.25rem;font-weight:600;margin:1.6em 0 .6em;}
p{margin:0 0 1em;}
.section-lead{max-width:580px;color:var(--ink-soft);font-size:1.05rem;}
.section-head{margin-bottom:2.2rem;}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,243,228,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;}
.brand-logo{height:52px;width:52px;border-radius:50%;}
.main-nav{display:flex;align-items:center;gap:28px;font-size:.96rem;}
.main-nav a{text-decoration:none;color:var(--ink-soft);}
.main-nav a:hover{color:var(--ink);}
.nav-cta{background:var(--spice);color:#fff !important;padding:9px 18px;border-radius:999px;font-weight:500;}
.nav-cta:hover{background:var(--spice-deep);}
.header-phone{display:none;font-family:var(--serif);font-weight:600;font-size:1.05rem;text-decoration:none;color:var(--ink);}
@media (min-width:860px){.header-phone{display:block;}}

/* HERO */
.hero{padding:64px 0 40px;}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero-kicker{font-family:var(--hand);font-size:1.5rem;color:var(--spice);margin:0 0 .2em;font-weight:700;}
.hero-lead{font-size:1.12rem;color:var(--ink-soft);max-width:480px;}
.hero-actions{display:flex;gap:14px;margin-top:1.6rem;flex-wrap:wrap;}
.hero-photo{width:100%;height:520px;object-fit:cover;border-radius:10px;box-shadow:0 20px 44px -14px rgba(28,22,15,0.4);}

.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-family:var(--sans);font-weight:600;font-size:.98rem;text-decoration:none;border:1.5px solid transparent;transition:transform .15s ease, background .15s ease;}
.btn-primary{background:var(--spice);color:#fff;}
.btn-primary:hover{background:var(--spice-deep);}
.btn-ghost{border-color:var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-ghost-light{border-color:rgba(251,243,228,0.7);color:#fff;}
.btn-ghost-light:hover{background:rgba(251,243,228,0.15);}
.btn-lg{padding:16px 30px;font-size:1.05rem;}

/* HISTOIRE */
.histoire{padding:64px 0;background:var(--paper-dark);}
.histoire-tag{font-family:var(--hand);color:var(--spice);font-size:1.4rem;font-weight:700;margin-bottom:.1em;}
.histoire-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:1.6rem;color:var(--ink-soft);font-size:1.05rem;}
.badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem;}
.badge{background:var(--paper);border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:.92rem;font-weight:500;}

/* LES BOX */
.box-section{padding:64px 0;}
.box-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.box-cards .formule-photo{min-height:220px;}
.box-cards .formule-overlay{padding:16px 16px 18px;}
.box-cards .formule-overlay h3{font-size:1.05rem;margin-bottom:.3em;}
.box-cards .formule-price{font-size:1.3rem;}
.box-cards .formule-price small{font-size:.78rem;}
@media (max-width:960px){.box-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.box-cards{grid-template-columns:1fr;}}

/* VISUELS CANVA */
.visuels{padding:56px 0 24px;}
.promo-grid{
  max-width:1160px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.promo-img{border-radius:8px;box-shadow:0 12px 30px -10px rgba(28,22,15,0.3);width:100%;height:auto;object-fit:contain;background:var(--paper-dark);}
.promo-wide{grid-column:1 / -1;}
@media (max-width:640px){.promo-grid{grid-template-columns:1fr;}}

/* FORMULES */
.formules{padding:64px 0;background:var(--paper-dark);}
.formule-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.formule-card{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 14px 30px -14px rgba(28,22,15,0.35);}
.formule-photo{
  position:relative;min-height:340px;background-size:cover;background-position:center;
  display:flex;align-items:flex-end;
}
.formule-scrim{position:absolute;inset:0;background:linear-gradient(180deg, rgba(15,11,6,0.02) 0%, rgba(15,11,6,0.45) 50%, rgba(15,11,6,0.92) 100%);}
.formule-overlay{position:relative;z-index:2;padding:22px 22px 24px;color:#fff;width:100%;}
.formule-min{font-family:var(--hand);color:var(--gold);font-size:1.05rem;font-weight:700;}
.formule-overlay h3{color:#fff;margin:.1em 0 .25em;font-size:1.35rem;}
.formule-price{font-family:var(--serif);font-size:1.9rem;font-weight:700;display:block;margin-bottom:.5em;}
.formule-price small{font-family:var(--sans);font-size:.85rem;font-weight:500;color:rgba(255,255,255,0.75);}
.formule-list{list-style:none;margin:0;padding:0;}
.formule-list li{padding:3px 0;font-size:.92rem;color:rgba(255,255,255,0.92);}
.formule-list li::before{content:"— ";color:var(--gold);}
.formule-btn{
  display:block;text-align:center;background:var(--spice);color:#fff;
  font-family:var(--sans);font-weight:600;font-size:.98rem;text-decoration:none;
  padding:15px;
}
.formule-btn:hover{background:var(--spice-deep);}
@media (max-width:900px){.formule-cards{grid-template-columns:1fr;}}

/* GALERIE */
.galerie{padding:64px 0;}
.gallery-grid{
  column-count:4;
  column-gap:10px;
  max-width:1160px;margin:0 auto;padding:0 28px;
}
.gallery-grid img{
  width:100%;display:block;margin:0 0 10px;border-radius:5px;cursor:pointer;
  break-inside:avoid;transition:opacity .15s ease, transform .15s ease;
}
.gallery-grid img:hover{opacity:.88;transform:scale(0.99);}
@media (max-width:1000px){.gallery-grid{column-count:3;}}
@media (max-width:640px){.gallery-grid{column-count:2;column-gap:8px;}.gallery-grid img{margin-bottom:8px;}}

/* MENU */
.menu-section{padding:64px 0;background:var(--paper-dark);}
.menu-tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin-bottom:1rem;flex-wrap:wrap;}
.menu-tab{background:none;border:none;font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--ink-soft);padding:10px 4px;margin-right:22px;cursor:pointer;border-bottom:2px solid transparent;}
.menu-tab.active{color:var(--ink);border-bottom-color:var(--spice);}
.menu-panel{display:none;max-width:720px;}
.menu-panel.active{display:block;}
.menu-list{list-style:none;margin:0;padding:0;}
.menu-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:1.02rem;}
.menu-list li span:last-child{font-weight:600;white-space:nowrap;}
.menu-note{color:var(--ink-soft);font-size:.92rem;font-style:italic;margin:-0.4em 0 1.4em;}

/* PROJECTION */
.projection{padding:64px 0;}
.projection-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.proj-card{background:var(--paper-dark);border:1px solid var(--line);border-radius:8px;padding:28px;}
.proj-card-highlight{background:var(--ink);color:var(--paper);}
.proj-card-highlight .proj-sub{color:rgba(251,243,228,0.7);}
.proj-card-highlight .proj-list li{border-bottom-color:rgba(251,243,228,0.18);}
.proj-head{margin-bottom:1.2rem;}
.proj-people{font-family:var(--serif);font-size:1.6rem;font-weight:700;display:block;}
.proj-sub{color:var(--ink-soft);font-size:.95rem;}
.proj-list{list-style:none;margin:0;padding:0;}
.proj-list li{padding:8px 0;border-bottom:1px dashed var(--line);font-size:.97rem;}
.proj-note{color:var(--ink-soft);font-size:.94rem;margin-top:1.4rem;max-width:640px;}

/* BARQUETTES */
.barquettes{padding:56px 0;background:var(--gold);}
.barquettes-inner{max-width:640px;}

/* CONTACT */
.contact{padding:72px 0;}
.contact-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
.contact-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.contact-address{color:var(--ink-soft);margin-top:6px;font-size:.98rem;}

/* FOOTER */
.site-footer{background:var(--ink);color:var(--paper);padding:36px 0;}
.footer-inner{display:flex;align-items:center;gap:16px;}
.footer-logo{height:38px;width:38px;border-radius:50%;}
.footer-inner p{margin:0;font-size:.92rem;color:rgba(251,243,228,0.75);}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(15,12,8,0.94);display:none;align-items:center;justify-content:center;z-index:100;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90%;max-height:90vh;border-radius:4px;}
.lightbox-close{position:absolute;top:20px;right:28px;background:none;border:none;color:var(--paper);font-size:1.8rem;cursor:pointer;}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(251,243,228,0.12);border:none;color:var(--paper);font-size:2.4rem;width:56px;height:56px;border-radius:50%;cursor:pointer;line-height:1;}
.lightbox-nav:hover{background:rgba(251,243,228,0.22);}
.lightbox-prev{left:18px;}
.lightbox-next{right:18px;}

/* RESPONSIVE */
@media (max-width:860px){
  .histoire-cols{grid-template-columns:1fr;}
  .projection-cards{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;}
  .main-nav{gap:16px;font-size:.88rem;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-photo{height:320px;}
}
@media (max-width:560px){
  .main-nav a:not(.nav-cta){display:none;}
}
