:root{
  --paper:#FAF3E3;
  --paper-deep:#F2E5C2;
  --crust:#7A3E1D;
  --crust-deep:#4E2710;
  --ble:#C8A04A;
  --rule:#D7C39A;
  --muted:#7C6A4A;
  --ink:#2A1B0F;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
a{color:var(--crust);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--ble)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ble);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--crust);color:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}

h1,h2,h3,h4{font-family:'DM Serif Display','Georgia',serif;line-height:1.05;margin:0;font-weight:400;color:var(--crust-deep)}
.display{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.005em}
.italic{font-style:italic;color:var(--ble)}
p{margin:0 0 1rem}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem}
.small-caps{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600;color:var(--crust)}

/* Masthead */
.masthead{padding:1rem 0;border-bottom:3px double var(--crust);background:var(--paper)}
.masthead-in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.masthead-brand{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--crust-deep);line-height:1}
.masthead-brand .ital{font-style:italic;color:var(--ble);font-size:1.3rem;display:block;margin-top:.2rem}
.masthead-meta{font-family:'Inter',sans-serif;font-size:.82rem;color:var(--muted);text-align:right}
.masthead-meta strong{color:var(--crust);display:block}

/* Hero éditorial */
.hero-ed{padding:5rem 0 4rem;border-bottom:1px solid var(--rule)}
.hero-ed-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:end}
.hero-kicker{font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble);margin-bottom:1.5rem}
.hero-ed .lead{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.4rem;color:var(--muted);margin-top:2rem;max-width:32ch;line-height:1.45}
.hero-sidebar{background:var(--paper-deep);padding:1.6rem;border:1px solid var(--rule)}
.hero-sidebar h3{font-size:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem}
.hero-side-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px dotted var(--rule);font-size:.95rem}
.hero-side-row:last-child{border-bottom:none}
.hero-side-row .k{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:880px){.hero-ed-grid{grid-template-columns:1fr;gap:2.5rem}.hero-ed .lead{font-size:1.2rem}}

/* Manifeste */
.manifeste{padding:5rem 0;border-bottom:1px solid var(--rule)}
.manifeste-grid{display:grid;grid-template-columns:1fr 2.4fr;gap:3rem}
.manifeste-grid h2{font-size:clamp(1.8rem,3.8vw,2.6rem);line-height:1}
.dropcap::first-letter{font-family:'DM Serif Display',serif;font-size:5rem;float:left;line-height:.8;color:var(--ble);margin:.18rem .5rem -.2rem 0;font-style:italic}
.prose-cols{column-count:2;column-gap:3rem;column-rule:1px dotted var(--rule);font-size:1.02rem}
.prose-cols p{break-inside:avoid}
.signature{font-family:'DM Serif Display',serif;font-style:italic;color:var(--ble);font-size:1.3rem;margin-top:1.5rem;display:block}
@media (max-width:780px){.manifeste-grid{grid-template-columns:1fr}.prose-cols{column-count:1}}

/* Vitrine — grid asymmetric */
.vitrine{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.vitrine-head{margin-bottom:2.5rem;text-align:center}
.vitrine-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:auto;gap:1.5rem}
.vit-item{background:var(--paper);padding:1.6rem;border:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem}
.vit-item .roman{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.1rem;color:var(--ble)}
.vit-item h3{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--crust-deep);margin:0}
.vit-item p{color:var(--muted);font-size:.95rem;margin:0}
.vit-hero{grid-column:span 3;grid-row:span 2;background:var(--crust-deep);color:var(--paper);padding:2.2rem}
.vit-hero h3{color:var(--paper);font-size:1.9rem}
.vit-hero p{color:rgba(250,243,227,.78);font-size:1.05rem}
.vit-hero .roman{color:var(--ble)}
.vit-std{grid-column:span 3}
.vit-small{grid-column:span 2}
@media (max-width:880px){
  .vitrine-grid{grid-template-columns:1fr 1fr}
  .vit-hero,.vit-std,.vit-small{grid-column:span 2}
}
@media (max-width:560px){
  .vitrine-grid{grid-template-columns:1fr}
  .vit-hero,.vit-std,.vit-small{grid-column:auto}
}

/* Rythme des fournées (variation propre) */
.fournees{padding:5rem 0;border-bottom:1px solid var(--rule)}
.fournees-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:1rem}
.fournees-table th,.fournees-table td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.fournees-table th{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
.fournees-table .hour{font-family:'DM Serif Display',serif;font-style:italic;color:var(--ble);font-size:1.3rem;width:140px}
.fournees-table .product{font-family:'DM Serif Display',serif;color:var(--crust-deep);font-size:1.15rem}
.fournees-table td.note{font-size:.92rem;color:var(--muted);max-width:34ch}
@media (max-width:680px){.fournees-table th:last-child,.fournees-table td:last-child{display:none}}

/* Process — 3 steps */
.process{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.step-card{background:var(--paper);padding:2rem;border:1px solid var(--rule);position:relative}
.step-card .big{font-family:'DM Serif Display',serif;font-style:italic;font-size:5rem;color:var(--ble);line-height:.8;display:block;margin-bottom:1rem;opacity:.85}
.step-card h3{font-size:1.4rem;margin-bottom:.6rem}
.step-card p{color:var(--muted);font-size:.97rem}
@media (max-width:780px){.process-grid{grid-template-columns:1fr}}

/* Quote band */
.praline{padding:6rem 0;background:var(--crust-deep);color:var(--paper);text-align:center}
.praline blockquote{font-family:'DM Serif Display',serif;font-style:italic;font-size:clamp(1.4rem,2.8vw,2.2rem);color:var(--paper);max-width:30ch;margin:0 auto;line-height:1.4}
.praline cite{display:block;margin-top:1.5rem;font-style:normal;font-family:'Inter',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble)}

/* Pratique */
.pratique{padding:5rem 0;border-bottom:1px solid var(--rule)}
.pratique-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}
.pratique-list{list-style:none;padding:0;margin:0}
.pratique-list li{padding:.7rem 0 .7rem 1.2rem;border-left:3px solid var(--ble);margin-bottom:.5rem;font-size:.98rem}
.pratique-list li strong{display:block;font-family:'DM Serif Display',serif;color:var(--crust-deep);font-size:1.1rem;margin-bottom:.2rem}
@media (max-width:680px){.pratique-grid{grid-template-columns:1fr;gap:1.5rem}}

/* FAQ */
.faq{padding:5rem 0;background:var(--paper-deep);border-bottom:1px solid var(--rule)}
.faq-list{margin-top:2rem;max-width:780px;margin-left:auto;margin-right:auto}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{padding:1.2rem 0;cursor:pointer;font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--crust-deep);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'›';font-size:1.8rem;color:var(--ble);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(90deg)}
.faq-item p{padding:0 0 1.2rem;color:var(--muted)}

/* Contact final */
.contact-final{padding:5rem 0;background:var(--crust-deep);color:var(--paper)}
.contact-final h2{color:var(--paper)}
.contact-final-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.5rem}
.contact-block .label{font-family:'Inter',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ble);margin-bottom:.5rem;display:block}
.contact-block p,.contact-block a{color:var(--paper);text-decoration:none;font-family:'DM Serif Display',serif;font-size:1.3rem;line-height:1.3}
.contact-block a:hover{color:var(--ble)}
@media (max-width:780px){.contact-final-grid{grid-template-columns:1fr;gap:1.8rem}}

footer{background:#000;color:rgba(250,243,227,.5);padding:1.5rem 0;font-size:.85rem;text-align:center}

/* ═══════════════════════════════════════════════════════════
   ANIMATION PASS — added by AnimationDesigner
   Fully encapsulé dans prefers-reduced-motion: no-preference
   ═══════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: no-preference) {

  /* --- Scroll-reveal : éléments individuels ---------------------- */
  @keyframes fade-up {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .55s ease, transform .55s ease;
  }
  [data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
  }

  /* --- Scroll-reveal : groupes avec stagger ---------------------- */
  [data-reveal-stagger] > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .5s ease, transform .5s ease;
  }
  [data-reveal-stagger].revealed > * { opacity: 1; transform: translateY(0); }
  [data-reveal-stagger].revealed > *:nth-child(1) { transition-delay: 0s; }
  [data-reveal-stagger].revealed > *:nth-child(2) { transition-delay: .08s; }
  [data-reveal-stagger].revealed > *:nth-child(3) { transition-delay: .16s; }
  [data-reveal-stagger].revealed > *:nth-child(4) { transition-delay: .24s; }
  [data-reveal-stagger].revealed > *:nth-child(5) { transition-delay: .32s; }
  [data-reveal-stagger].revealed > *:nth-child(6) { transition-delay: .40s; }
  [data-reveal-stagger].revealed > *:nth-child(7) { transition-delay: .48s; }
  [data-reveal-stagger].revealed > *:nth-child(8) { transition-delay: .56s; }

  /* --- Hover cartes génériques ----------------------------------- */
  .card, .service-card, .feature-card, .feat, .prestations-card,
  .menu-item, .offer-card, .avis-card, .tarif-card, .gallery-item,
  .partner, .blog-card, .room-card, .product-card {
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .card:hover, .service-card:hover, .feature-card:hover, .feat:hover,
  .prestations-card:hover, .menu-item:hover, .offer-card:hover,
  .avis-card:hover, .tarif-card:hover, .gallery-item:hover,
  .partner:hover, .blog-card:hover, .room-card:hover, .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
  }

  /* --- Hover liens nav ------------------------------------------- */
  nav a, .nav-link, header a {
    transition: opacity .18s ease, color .18s ease;
  }

  /* --- CTA boutons ---------------------------------------------- */
  .btn, .cta-btn, .cta-link, .button, [class*="btn-"], [class*="-btn"],
  .hero-cta, .bigcta a, .band-cta a {
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn:hover, .cta-btn:hover, .cta-link:hover, .button:hover,
  [class*="btn-"]:hover, [class*="-btn"]:hover,
  .hero-cta:hover, .bigcta a:hover, .band-cta a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
  }

  /* --- Focus visible ring élégant ------------------------------- */
  :focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
    border-radius: 2px;
  }

}
/* End animation pass */

/* ═══════════════════════════════════════════════════════════════
   ANIMATIONS TEMPLATE B — ambassade-gourmandises spécifiques
   Boulangerie artisanale · Sainte-Anne · Guadeloupe
   ═══════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: no-preference) {

  /* 1. Entrée hero au chargement (au-dessus du fold, sans scroll-reveal) */
  @keyframes hero-ed-in {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .hero-ed-grid > *:first-child { animation: hero-ed-in .75s .1s ease both; }
  .hero-ed-grid > aside         { animation: hero-ed-in .75s .3s ease both; }

  /* 2. Hover cartes vitrine — lift + bordure ambrée */
  .vit-item {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .vit-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(122,62,29,.14);
    border-color: var(--ble);
  }

  /* 3. Hover step-cards process */
  .step-card {
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .step-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(122,62,29,.10);
  }

  /* 4. Stagger lignes fournées au reveal de la section */
  .fournees-table tbody tr {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity .42s ease, transform .42s ease;
  }
  .fournees.revealed .fournees-table tbody tr             { opacity: 1; transform: translateX(0); }
  .fournees.revealed .fournees-table tbody tr:nth-child(1){ transition-delay: .10s; }
  .fournees.revealed .fournees-table tbody tr:nth-child(2){ transition-delay: .20s; }
  .fournees.revealed .fournees-table tbody tr:nth-child(3){ transition-delay: .30s; }
  .fournees.revealed .fournees-table tbody tr:nth-child(4){ transition-delay: .40s; }
  .fournees.revealed .fournees-table tbody tr:nth-child(5){ transition-delay: .50s; }

  /* 5. Praline — scale doux de la citation au reveal */
  .praline blockquote { transform: scale(.96); transition: transform .7s ease; }
  .praline.revealed blockquote { transform: scale(1); }

  /* 6. Pratique-list — accent gauche au survol */
  .pratique-list li { transition: border-left-color .2s ease, padding-left .2s ease; }
  .pratique-list li:hover { border-left-color: var(--crust); padding-left: 1.6rem; }

  /* 7. Masthead — entrée douce au chargement de page */
  @keyframes masthead-drop {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .masthead-brand { animation: masthead-drop .55s .05s ease both; }
  .masthead-meta  { animation: masthead-drop .55s .18s ease both; }

  /* 8. FAQ panel — fade+slide à l'ouverture */
  @keyframes faq-panel-in {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .faq-item[open] > p {
    animation: faq-panel-in .28s ease both;
  }

  /* 9. Contact final — stagger des 3 blocs au scroll-in */
  .contact-final .contact-block {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .45s ease, transform .45s ease;
  }
  .contact-final.revealed .contact-block                  { opacity: 1; transform: translateY(0); }
  .contact-final.revealed .contact-block:nth-child(1)     { transition-delay: .10s; }
  .contact-final.revealed .contact-block:nth-child(2)     { transition-delay: .22s; }
  .contact-final.revealed .contact-block:nth-child(3)     { transition-delay: .34s; }

}
/* End template-B specific */
