  :root{
    --ivoire:#FBF6EE;
    --ivoire-2:#F3EBDB;
    --encre:#2A211B;
    --bordeaux:#6B1E23;
    --bordeaux-fonce:#4A1418;
    --or:#B08D57;
    --sauge:#7C8B6F;
    --trait:rgba(42,33,27,0.14);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Karla',sans-serif;
    color:var(--encre);
    background:var(--ivoire);
    line-height:1.65;
    font-size:17px;
  }
  h1,h2,h3,.serif{font-family:'Prata',serif;font-weight:400;line-height:1.15;}
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  .wrap{max-width:1060px;margin:0 auto;padding:0 32px;}
  .wrap-narrow{max-width:760px;margin:0 auto;padding:0 32px;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 32px;border-radius:0;
    font-family:'Karla',sans-serif;font-weight:600;font-size:14px;
    letter-spacing:0.3px;border:1px solid var(--bordeaux);
    cursor:pointer;transition:all .2s ease;
  }
  .btn-plein{background:var(--bordeaux);color:var(--ivoire);}
  .btn-plein:hover{background:var(--bordeaux-fonce);border-color:var(--bordeaux-fonce);}
  .btn-vide{background:transparent;color:var(--bordeaux);}
  .btn-vide:hover{background:var(--bordeaux);color:var(--ivoire);}

  .double-trait{width:100%;padding:26px 0;display:flex;justify-content:center;}
  .double-trait span{display:block;width:70px;border-top:1px solid var(--or);position:relative;}
  .double-trait span::after{
    content:'';position:absolute;top:5px;left:0;right:0;border-top:1px solid var(--or);
  }

  /* ===== HEADER ===== */
  header{
    border-bottom:1px solid var(--trait);
    padding:22px 0;
  }
  .navbar{
    max-width:1060px;margin:0 auto;padding:0 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .logo{
    font-family:'Yeseva One',serif;font-size:32px;letter-spacing:0.5px;
    color:var(--bordeaux);line-height:1;
    display:flex;align-items:center;gap:12px;
  }
  .logo img{flex:none;}
  footer .logo{font-size:36px;justify-content:center;}
  nav.liens{display:flex;gap:36px;font-size:15.5px;font-weight:500;}
  nav.liens a{padding-bottom:3px;border-bottom:1px solid transparent;}
  nav.liens a:hover{border-color:var(--or);}
  .burger{display:none;background:none;border:none;cursor:pointer;}
  @media (max-width:880px){
    header{position:relative;}
    nav.liens{display:none;}
    .burger{display:block;}
    nav.liens.menu-ouvert{
      display:flex;flex-direction:column;gap:0;
      position:absolute;top:100%;left:0;right:0;
      background:var(--ivoire);border-bottom:1px solid var(--trait);
      padding:6px 32px 18px;box-shadow:0 12px 20px rgba(42,33,27,0.08);z-index:80;
    }
    nav.liens.menu-ouvert a{padding:14px 0;border-bottom:1px solid var(--trait);}
  }
  @media (max-width:480px){
    .navbar{padding:0 20px;}
    .navbar > a.btn{padding:9px 16px;font-size:13px;}
    .logo{font-size:22px;gap:8px;}
    .logo img{width:64px;height:auto;}
    footer .logo{font-size:26px;}
    footer .logo img{width:80px;}
  }

  /* ===== HERO ===== */
  .hero .wrap{
    display:grid;grid-template-columns:1fr 0.85fr;gap:56px;align-items:center;
    padding:80px 32px 60px;
  }
  @media (max-width:880px){
    .hero .wrap{grid-template-columns:1fr;padding:48px 24px 40px;gap:40px;}
    .hero .arche{max-width:420px;margin:0 auto;}
  }
  @media (max-width:480px){
    .arche{border-radius:120px 120px 0 0;}
  }
  .hero .etiquette{
    font-size:16px;color:var(--bordeaux);font-weight:700;letter-spacing:0.5px;margin-bottom:20px;
  }
  .hero h1{font-size:clamp(38px,5vw,58px);margin-bottom:20px;color:var(--encre);}
  .hero p.sub{font-size:19px;color:rgba(42,33,27,0.72);max-width:460px;margin-bottom:34px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .arche{
    width:100%;aspect-ratio:3/4;
    border-radius:220px 220px 0 0;
    background:var(--ivoire-2);
    border:1px solid var(--trait);
    display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;position:relative;
  }
  .arche svg{width:78%;height:78%;margin-bottom:6%;}
  .arche-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;background:var(--ivoire-2);
  }
  .arche .prix-tag{
    position:absolute;top:24px;right:24px;
    background:var(--bordeaux);color:var(--ivoire);
    font-size:12px;font-weight:700;padding:8px 14px;letter-spacing:0.3px;
  }
  .badge-artisanal{
    position:absolute;bottom:20px;left:20px;z-index:2;
    width:104px;height:104px;border-radius:50%;
    background:var(--bordeaux);color:var(--ivoire);
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-family:'Prata',serif;font-size:20px;line-height:1.25;
    border:2px solid var(--ivoire);
    box-shadow:0 6px 16px rgba(42,33,27,0.28);
    transform:rotate(-8deg);
  }
  @media (max-width:640px){
    .badge-artisanal{width:82px;height:82px;font-size:15.5px;left:12px;bottom:12px;}
  }

  /* ===== LA CARTE (menu) ===== */
  .carte{padding:20px 0 90px;}
  .carte-tete{text-align:center;margin-bottom:56px;}
  .carte-tete .etiquette{color:var(--bordeaux);font-size:16px;font-weight:700;letter-spacing:0.5px;margin-bottom:14px;}
  .carte-tete h2{font-size:clamp(34px,4.2vw,46px);}
  .menu-liste{display:flex;flex-direction:column;}
  .groupe-titre{
    font-family:'Prata',serif;font-size:15px;color:var(--bordeaux);
    letter-spacing:0.3px;margin:44px 0 6px;
  }
  .groupe-titre:first-child{margin-top:0;}
  .menu-item{
    display:grid;grid-template-columns:64px 1fr auto;gap:20px;align-items:center;
    padding:26px 0;border-bottom:1px solid var(--trait);
  }
  .menu-item:first-child{border-top:1px solid var(--trait);}
  .menu-icone{width:64px;height:64px;flex:none;}
  .menu-texte h3{font-size:24px;margin-bottom:4px;font-weight:400;}
  .menu-texte p{font-size:16.5px;color:rgba(42,33,27,0.65);max-width:460px;}
  .menu-prix{
    font-family:'Prata',serif;font-size:20px;white-space:nowrap;text-align:right;
  }
  .menu-prix .ancien{
    font-family:'Karla',sans-serif;font-size:13px;text-decoration:line-through;
    color:rgba(42,33,27,0.4);display:block;font-weight:400;
  }
  .menu-prix .badge{
    display:inline-block;background:var(--bordeaux);color:var(--ivoire);
    font-size:10.5px;font-weight:700;padding:2px 8px;margin-bottom:5px;letter-spacing:0.3px;
  }
  @media (max-width:640px){
    .menu-item{grid-template-columns:48px 1fr;}
    .menu-icone{width:48px;height:48px;}
    .menu-prix{grid-column:1/-1;text-align:left;padding-left:68px;}
  }

  /* ===== PARIS-BREST feature ===== */
  .feature{background:var(--bordeaux);color:var(--ivoire);padding:90px 0;}
  .feature .wrap-narrow{text-align:center;}
  .feature .etiquette{font-size:16px;color:var(--or);font-weight:700;letter-spacing:0.5px;margin-bottom:18px;}
  .feature h2{font-size:clamp(32px,4.5vw,48px);margin-bottom:22px;}
  .feature p{font-size:19px;max-width:580px;margin:0 auto 30px;color:rgba(251,246,238,0.85);}
  .feature-ornement{width:74px;height:74px;margin:0 auto 28px;}

  /* ===== FRISE (horizontale, chronologique) ===== */
  .frise-section{padding:100px 0;}
  .frise{
    position:relative;display:flex;gap:44px;
    max-width:980px;margin:0 auto;padding-top:32px;
  }
  .frise::before{
    content:'';position:absolute;top:4px;left:0;right:14px;height:1px;background:var(--or);
  }
  .frise::after{
    content:'';position:absolute;top:-3.5px;right:0;
    width:0;height:0;
    border-left:11px solid var(--or);
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
  }
  .frise-etape{position:relative;flex:1;}
  .frise-etape .point{
    position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;
    background:var(--bordeaux);border:2px solid var(--ivoire);outline:1px solid var(--or);
    transform:translate(-3px,-50%);
  }
  .frise-etape .annee{font-size:13px;color:var(--bordeaux);font-weight:700;letter-spacing:0.3px;margin:34px 0 6px;}
  .frise-etape h3{font-size:22px;margin-bottom:8px;}
  .frise-etape p{font-size:16px;color:rgba(42,33,27,0.65);}
  @media (max-width:820px){
    .frise{flex-direction:column;gap:0;padding-top:0;padding-left:36px;max-width:520px;}
    .frise::before{top:6px;bottom:6px;left:5px;right:auto;width:1px;height:auto;background:var(--or);}
    .frise::after{
      top:auto;bottom:-2px;left:-4.5px;right:auto;
      border-left:5px solid transparent;border-right:5px solid transparent;
      border-top:11px solid var(--or);
    }
    .frise-etape{padding-bottom:48px;}
    .frise-etape:last-child{padding-bottom:0;}
    .frise-etape .point{left:-36px;top:2px;transform:none;}
    .frise-etape .annee{margin:0 0 6px;}
    .frise-etape p{max-width:460px;}
  }

  /* ===== POURQUOI (médaillons) ===== */
  .pourquoi{background:var(--ivoire-2);padding:90px 0;}
  .medaillons{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center;}
  .medaillon .cercle{
    width:84px;height:84px;border-radius:50%;border:1px solid var(--or);
    display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
  }
  .medaillon .cercle svg{width:38px;height:38px;}
  .medaillon h3{font-size:21px;margin-bottom:10px;}
  .medaillon p{font-size:16px;color:rgba(42,33,27,0.65);max-width:260px;margin:0 auto;}
  @media (max-width:760px){.medaillons{grid-template-columns:1fr;gap:44px;}}

  /* ===== COMMANDE ===== */
  .commande{padding:100px 0;text-align:center;}
  .commande .etiquette{font-size:16px;color:var(--bordeaux);font-weight:700;letter-spacing:0.5px;margin-bottom:16px;}
  .commande h2{font-size:clamp(32px,4.2vw,46px);margin-bottom:16px;}
  .commande p.desc{font-size:17.5px;color:rgba(42,33,27,0.68);max-width:480px;margin:0 auto 40px;}
  form.commande-form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:14px;text-align:left;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  form.commande-form input,form.commande-form textarea{
    width:100%;padding:14px 16px;border:1px solid var(--trait);
    background:var(--ivoire);color:var(--encre);
    font-family:'Karla',sans-serif;font-size:14.5px;
  }
  form.commande-form textarea{min-height:110px;resize:vertical;}
  form.commande-form .btn{align-self:center;margin-top:8px;}
  @media (max-width:600px){.form-row{grid-template-columns:1fr;}}

  /* ===== NEWSLETTER ===== */
  .newsletter{border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);padding:44px 0;text-align:center;}
  .newsletter h3{font-size:23px;margin-bottom:18px;font-weight:400;}
  .newsletter form{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
  .newsletter input{
    padding:13px 16px;border:1px solid var(--trait);background:var(--ivoire);
    min-width:260px;font-family:'Karla',sans-serif;font-size:14px;
  }

  /* ===== FOOTER ===== */
  footer{padding:60px 0 30px;text-align:center;}
  footer .logo{margin-bottom:16px;}
  footer p.baseline{font-size:15.5px;color:rgba(42,33,27,0.6);max-width:400px;margin:0 auto 30px;}
  .footer-liens{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-size:15px;margin-bottom:34px;}
  .footer-liens a:hover{color:var(--bordeaux);}
  .footer-bas{font-size:13px;color:rgba(42,33,27,0.5);}

  /* ===== PAGE INTERIEURE (intro générique) ===== */
  .page-hero{padding:64px 0 20px;text-align:center;}
  .page-hero .etiquette{font-size:16px;color:var(--bordeaux);font-weight:700;letter-spacing:0.5px;margin-bottom:16px;}
  .page-hero h1{font-size:clamp(34px,4.5vw,50px);margin-bottom:16px;}
  .page-hero p{font-size:18px;color:rgba(42,33,27,0.68);max-width:540px;margin:0 auto;}

  /* ===== PRODUITS : catégories ===== */
  .categorie-nav{
    display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
    padding:8px 0 50px;
  }
  .categorie-nav a{
    font-size:13px;padding:8px 16px;border:1px solid var(--trait);
    color:var(--encre);
  }
  .categorie-nav a:hover{border-color:var(--bordeaux);color:var(--bordeaux);}

  /* ===== RECETTES ===== */
  .recette-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:44px 40px;
    padding-bottom:30px;
  }
  .recette-card{display:flex;flex-direction:column;}
  .recette-visuel{
    aspect-ratio:4/3;border-radius:110px 110px 0 0;
    background:var(--ivoire-2);border:1px solid var(--trait);
    display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
    margin-bottom:20px;
  }
  .recette-visuel svg{width:56%;height:56%;margin-bottom:8%;}
  .recette-meta{font-size:12.5px;color:var(--bordeaux);font-weight:700;letter-spacing:0.3px;margin-bottom:8px;}
  .recette-card h3{font-size:23px;margin-bottom:8px;}
  .recette-card p{font-size:16px;color:rgba(42,33,27,0.65);margin-bottom:14px;}
  .recette-lien{font-size:13.5px;font-weight:600;color:var(--bordeaux);border-bottom:1px solid var(--bordeaux);align-self:flex-start;}
  @media (max-width:760px){.recette-grid{grid-template-columns:1fr;}}
  @media (max-width:480px){.recette-visuel{border-radius:70px 70px 0 0;}}

  .recette-du-mois{background:var(--ivoire-2);padding:90px 0;margin-top:20px;}
  .rdm-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
  .rdm-visuel{
    aspect-ratio:1/1;border-radius:160px 160px 0 0;
    background:var(--ivoire);border:1px solid var(--trait);
    display:flex;align-items:flex-end;justify-content:center;overflow:hidden;
  }
  .rdm-visuel svg{width:60%;height:60%;margin-bottom:8%;}
  .rdm-texte .etiquette{font-size:16px;color:var(--bordeaux);font-weight:700;letter-spacing:0.5px;margin-bottom:14px;}
  .rdm-texte h2{font-size:clamp(28px,3.6vw,38px);margin-bottom:16px;}
  .rdm-texte>p{font-size:17px;color:rgba(42,33,27,0.7);margin-bottom:26px;}
  .rdm-colonnes{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;}
  .rdm-colonnes h4{font-size:14px;letter-spacing:0.3px;color:var(--bordeaux);margin-bottom:12px;}
  .rdm-colonnes ul,.rdm-colonnes ol{padding-left:18px;font-size:16px;color:rgba(42,33,27,0.78);}
  .rdm-colonnes li{margin-bottom:9px;}
  @media (max-width:760px){.rdm-grid,.rdm-colonnes{grid-template-columns:1fr;}}
  @media (max-width:480px){.rdm-visuel{border-radius:90px 90px 0 0;}}

  /* ===== CONTACT ===== */
  .contact-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:60px;
    padding:20px 0 100px;align-items:start;
  }
  .contact-infos h2{font-size:26px;margin-bottom:20px;}
  .info-liste{display:flex;flex-direction:column;gap:22px;margin-bottom:34px;}
  .info-item{display:flex;gap:16px;align-items:flex-start;}
  .info-item .puce{
    width:36px;height:36px;border:1px solid var(--or);border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex:none;
  }
  .info-item .puce svg{width:16px;height:16px;}
  .info-item h4{font-size:15px;margin-bottom:4px;font-weight:600;font-family:'Karla',sans-serif;}
  .info-item p{font-size:16px;color:rgba(42,33,27,0.68);}
  .contact-carte{
    aspect-ratio:16/10;background:var(--ivoire-2);border:1px solid var(--trait);
    position:relative;overflow:hidden;
  }
  .contact-carte iframe{position:absolute;inset:0;width:100%;height:100%;}
  .contact-form-wrap h2{font-size:26px;margin-bottom:20px;}
  form.contact-form{display:flex;flex-direction:column;gap:14px;}
  form.contact-form input,form.contact-form select,form.contact-form textarea{
    width:100%;padding:14px 16px;border:1px solid var(--trait);
    background:var(--ivoire);color:var(--encre);
    font-family:'Karla',sans-serif;font-size:14.5px;
  }
  form.contact-form textarea{min-height:130px;resize:vertical;}
  .form-message{
    display:none;padding:14px 16px;font-size:14.5px;
    border:1px solid var(--trait);
  }
  .form-message.ok{display:block;background:rgba(124,139,111,0.12);border-color:var(--sauge);color:#4d5943;}
  .form-message.erreur{display:block;background:rgba(107,30,35,0.08);border-color:var(--bordeaux);color:var(--bordeaux);}
  form.contact-form .btn[disabled]{opacity:0.6;cursor:not-allowed;}
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}

  /* ===== PAGES LEGALES ===== */
  .legal{padding:70px 0 110px;}
  .legal .maj{font-size:13.5px;color:rgba(42,33,27,0.55);margin-bottom:44px;}
  .legal h2{font-size:24px;margin:44px 0 14px;}
  .legal h2:first-of-type{margin-top:0;}
  .legal p, .legal li{font-size:17px;color:rgba(42,33,27,0.78);margin-bottom:12px;}
  .legal ul{padding-left:20px;margin-bottom:16px;}
  .legal strong{font-weight:700;color:var(--encre);}
  .a-completer{background:var(--ivoire-2);padding:1px 6px;border-radius:2px;}

  /* ===== PHOTOS PRODUITS (remplacent les icônes dessinées) ===== */
  .menu-item{grid-template-columns:84px 1fr auto;}
  img.menu-icone{
    width:84px;height:84px;object-fit:cover;border-radius:3px;
    background:var(--ivoire-2);border:1px solid var(--trait);
  }
  @media (max-width:640px){
    .menu-item{grid-template-columns:60px 1fr;}
    img.menu-icone{width:60px;height:60px;}
  }

  /* ===== PHOTOS DANS LES CADRES EN ARCHE (recettes) ===== */
  .recette-visuel img,.rdm-visuel img{
    width:100%;height:100%;object-fit:cover;display:block;
  }

  /* ===== PHOTO RONDE (section Paris-Brest de l'accueil) ===== */
  .feature-photo{
    width:220px;height:220px;border-radius:50%;overflow:hidden;
    margin:0 auto 28px;border:1px solid rgba(251,246,238,0.4);
  }
  .feature-photo img{width:100%;height:100%;object-fit:cover;display:block;}

  /* ===== Harmonisation taille icônes/photos (SVG generées + vraies photos) ===== */
  .menu-item .menu-icone{width:84px;height:84px;flex:none;}
  @media (max-width:640px){
    .menu-item .menu-icone{width:60px;height:60px;}
  }

  /* ===== CITATION (pâtissier historique) ===== */
  .citation{padding:70px 0;text-align:center;}
  .citation blockquote{
    font-family:'Prata',serif;font-size:clamp(22px,2.8vw,30px);
    font-style:italic;color:var(--encre);max-width:720px;margin:0 auto 20px;
    line-height:1.4;
  }
  .citation cite{font-style:normal;font-size:14.5px;color:var(--bordeaux);font-weight:600;letter-spacing:0.3px;}

  /* ===== GRANDES PHOTOS PRODUITS (accueil) ===== */
  .best-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
  .best-card{display:flex;flex-direction:column;}
  .best-photo{
    width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:4px;
    margin-bottom:18px;border:1px solid var(--trait);background:var(--ivoire-2);
  }
  .best-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .best-card h3{font-size:21px;margin-bottom:6px;font-weight:400;}
  .best-card .best-desc{font-size:15px;color:rgba(42,33,27,0.65);margin-bottom:10px;}
  .best-card .best-prix{font-family:'Prata',serif;font-size:19px;}
  .best-card .best-prix .ancien{
    font-family:'Karla',sans-serif;font-size:13.5px;text-decoration:line-through;
    color:rgba(42,33,27,0.4);display:block;font-weight:400;
  }
  .best-card .best-prix .badge{
    display:inline-block;background:var(--bordeaux);color:var(--ivoire);
    font-size:11px;font-weight:700;padding:3px 9px;margin-bottom:6px;letter-spacing:0.3px;
  }
  @media (max-width:860px){.best-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:480px){.best-grid{grid-template-columns:1fr;}}
