
    :root {
      --cream:      #faf7f2;
      --beige:      #eee7de;
      --beige2:     #e2d8cd;
      --taupe:      #9f8e7d;
      --taupe-mid:  #8f6e4f;
      --taupe-dark: #6f4e37;
      --text:       #4d4035;
      --text-light: #67584c;
      --dark:       #342820;
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{background:var(--cream);color:var(--text);font-family:'Nunito',sans-serif;font-weight:400;overflow-x:hidden;}

```
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1rem 4rem;background:rgba(250,247,242,0.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(111,78,55,0.16);}
.nav-logo{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{text-decoration:none;font-size:0.67rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--text);transition:color 0.3s;}
.nav-links a:hover{color:var(--taupe-dark);}
.nav-cta{color:var(--taupe-dark)!important;border:1px solid var(--taupe-mid);padding:0.45rem 1.2rem;transition:all 0.3s!important;}
.nav-cta:hover{background:var(--taupe-dark)!important;color:var(--cream)!important;}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:5rem;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 6rem;}
.hero-eyebrow{font-size:0.62rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--taupe-dark);margin-bottom:2rem;opacity:0;animation:fadeUp 0.8s 0.2s forwards;}
.hero-title{font-family:'Bodoni Moda',serif;font-size:clamp(3rem,5.5vw,5.5rem);font-weight:400;line-height:1.1;color:var(--dark);margin-bottom:2rem;opacity:0;animation:fadeUp 0.8s 0.4s forwards;}
.hero-title em{font-style:italic;color:var(--taupe-mid);}
.hero-sub{font-size:0.92rem;line-height:1.9;color:var(--text);max-width:430px;margin-bottom:3rem;opacity:0;animation:fadeUp 0.8s 0.6s forwards;}
.hero-buttons{display:flex;gap:1.2rem;flex-wrap:wrap;opacity:0;animation:fadeUp 0.8s 0.8s forwards;}
.btn-primary{background:var(--taupe-dark);color:var(--cream);padding:0.9rem 2.2rem;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;transition:background 0.3s;font-family:'Nunito',sans-serif;}
.btn-primary:hover{background:#4f3728;}
.btn-secondary{border:1px solid var(--taupe-mid);color:var(--text);padding:0.9rem 2.2rem;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;transition:all 0.3s;background:rgba(255,255,255,0.35);}
.btn-secondary:hover{border-color:var(--taupe-dark);color:var(--taupe-dark);background:var(--beige);}
.hero-right{position:relative;overflow:hidden;}
.hero-img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center top;display:block;opacity:0;animation:fadeIn 1.2s 0.3s forwards;}
.hero-badge{position:absolute;bottom:2.5rem;left:0;background:var(--taupe-dark);color:var(--cream);padding:1rem 1.8rem;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;animation:fadeUp 0.8s 1s forwards;opacity:0;}
.hero-badge strong{display:block;font-family:'Bodoni Moda',serif;font-size:1.3rem;font-weight:400;font-style:italic;letter-spacing:0.03em;text-transform:none;color:rgba(248,244,239,0.85);}

/* INSTA */
.insta-strip{background:var(--beige2);padding:1rem 4rem;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(196,181,165,0.2);border-bottom:1px solid rgba(196,181,165,0.2);}
.insta-strip a{display:flex;align-items:center;gap:0.7rem;text-decoration:none;color:var(--text);font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;transition:color 0.3s;}
.insta-strip a:hover{color:var(--taupe-dark);}
.insta-icon{width:15px;height:15px;fill:currentColor;}

/* DIVIDER */
.divider{display:flex;align-items:center;gap:1.5rem;padding:0 6rem;margin:2rem 0;}
.divider-line{flex:1;height:1px;background:var(--beige2);}
.divider-ornament{font-family:'Bodoni Moda',serif;font-size:1rem;color:var(--taupe-mid);font-style:italic;line-height:1;}

/* SERVICES */
.services{padding:6rem;}
.section-header{text-align:center;margin-bottom:4rem;}
.section-eyebrow{font-size:0.62rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--taupe-dark);margin-bottom:0.8rem;}
.section-title{font-family:'Bodoni Moda',serif;font-size:clamp(2rem,3.8vw,3rem);font-weight:400;color:var(--dark);line-height:1.2;}
.section-title em{font-style:italic;color:var(--taupe-mid);}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;}
.service-card{background:var(--beige);padding:3rem 2rem;transition:transform 0.4s,background 0.3s;border:1px solid rgba(111,78,55,0.16);}
.service-card:hover{transform:translateY(-4px);background:var(--beige2);}
.service-num{font-family:'Bodoni Moda',serif;font-size:2.8rem;font-weight:400;font-style:italic;color:rgba(168,149,127,0.18);line-height:1;margin-bottom:1rem;}
.service-name{font-family:'Bodoni Moda',serif;font-size:1.3rem;font-weight:400;color:var(--dark);margin-bottom:0.8rem;}
.service-desc{font-size:0.84rem;line-height:1.85;color:var(--text);}

/* GALLERY */
.gallery{padding:0 6rem 6rem;}
.tab-nav{display:flex;justify-content:center;margin-bottom:3rem;border-bottom:1px solid var(--beige2);}
.tab-btn{background:none;border:none;cursor:pointer;font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:0.74rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--text);padding:0.9rem 2.5rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.3s;}
.tab-btn:hover{color:var(--taupe-dark);}
.tab-btn.active{color:var(--taupe-dark);border-bottom-color:var(--taupe-dark);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.tab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.tab-item{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:1/1;opacity:0;animation:fadeUp 0.5s forwards;}
.tab-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;display:block;}
.tab-item:hover img{transform:scale(1.05);}
.tab-overlay{position:absolute;inset:0;background:rgba(74,61,48,0);display:flex;align-items:flex-end;padding:1rem;transition:background 0.4s;}
.tab-item:hover .tab-overlay{background:rgba(74,61,48,0.35);}
.tab-overlay span{font-family:'Bodoni Moda',serif;font-size:0.85rem;font-style:italic;color:var(--cream);opacity:0;transform:translateY(6px);transition:all 0.4s;}
.tab-item:hover .tab-overlay span{opacity:1;transform:translateY(0);}

/* ABOUT / BIO */
.about{display:grid;grid-template-columns:1fr 1fr;min-height:55vh;background:var(--beige);}
.about-image{position:relative;overflow:hidden;min-height:380px;}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.about-content{padding:5rem 4.5rem;display:flex;flex-direction:column;justify-content:center;}
.about-content .section-eyebrow{text-align:left;}
.about-title{font-family:'Bodoni Moda',serif;font-size:clamp(2rem,3.2vw,2.6rem);font-weight:400;color:var(--dark);line-height:1.2;margin:0.8rem 0 1.4rem;}
.about-title em{font-style:italic;color:var(--taupe-mid);}
.about-text{font-size:0.88rem;line-height:1.9;color:var(--text);margin-bottom:2.2rem;}
.about-stats{display:flex;gap:3rem;padding-top:2rem;border-top:1px solid rgba(196,181,165,0.35);}
.stat-num{font-family:'Bodoni Moda',serif;font-size:2.2rem;font-weight:400;font-style:italic;color:var(--taupe-mid);line-height:1;}
.stat-label{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text);margin-top:0.3rem;}

/* SIGNATURE / GOÛT */
.signature{padding:6rem;background:var(--cream);}
.signature-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1100px;margin:0 auto;}
.signature-text p{font-size:0.9rem;line-height:1.9;color:var(--text);margin-bottom:1.2rem;}
.signature-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.signature-photos img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}

/* GUIDE DES TAILLES */
.tailles{padding:5rem 6rem;background:var(--beige);}
.tailles-inner{max-width:900px;margin:0 auto;}
.tailles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;text-align:center;}
.taille-item{background:var(--cream);padding:1.8rem 1rem;border:1px solid rgba(111,78,55,0.18);transition:transform 0.3s;}
.taille-item:hover{transform:translateY(-3px);}
.taille-svg{margin:0 auto 1rem;}
.taille-parts{font-family:'Bodoni Moda',serif;font-size:1.1rem;font-weight:400;font-style:italic;color:var(--taupe-dark);}
.taille-desc{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);margin-top:0.3rem;}
.tailles-row2{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;max-width:680px;margin-left:auto;margin-right:auto;text-align:center;}

/* LIVRAISON */
.livraison{padding:5rem 6rem;background:var(--cream);}
.livraison-inner{max-width:780px;margin:0 auto;}
.livraison-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.livraison-card{background:var(--beige);padding:2rem 1.5rem;border:1px solid rgba(111,78,55,0.16);}
.livraison-icon{font-size:1.5rem;margin-bottom:0.8rem;}
.livraison-card h4{font-family:'Bodoni Moda',serif;font-size:1rem;font-weight:400;color:var(--dark);margin-bottom:0.6rem;}
.livraison-card p{font-size:0.84rem;line-height:1.8;color:var(--text);}

/* CONTACT */
.contact{padding:7rem 6rem;background:var(--beige2);}
.contact-inner{max-width:820px;margin:0 auto;}
.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;align-items:start;}
.contact-coords h3{font-family:'Bodoni Moda',serif;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--dark);margin-bottom:1.8rem;}
.coord-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;text-decoration:none;color:var(--text);font-size:0.86rem;transition:color 0.3s;}
.coord-item:hover{color:var(--taupe-dark);}
.coord-icon{width:36px;height:36px;background:var(--cream);border:1px solid var(--taupe);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.coord-icon svg{width:16px;height:16px;fill:var(--taupe-dark);}
.contact-divider{width:1px;background:rgba(196,181,165,0.4);}
.contact-form-wrap h3{font-family:'Bodoni Moda',serif;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--dark);margin-bottom:1.8rem;}
.contact-sub{font-size:0.88rem;line-height:1.9;color:var(--text);margin-bottom:3rem;text-align:center;}
.contact-form{display:flex;flex-direction:column;gap:1rem;text-align:left;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-field{display:flex;flex-direction:column;gap:0.35rem;}
.form-field label{font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--text);}
.form-field input,.form-field select,.form-field textarea{background:#fffdfa;border:1px solid var(--beige2);border-bottom:1px solid var(--taupe-mid);padding:0.9rem 0.85rem;font-family:'Nunito',sans-serif;font-size:0.9rem;font-weight:400;color:var(--dark);outline:none;transition:border-color 0.3s,background 0.3s,box-shadow 0.3s;width:100%;-webkit-appearance:none;border-radius:0;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--taupe-dark);background:#fff;border-bottom-color:var(--taupe-dark);box-shadow:0 0 0 3px rgba(111,78,55,0.08);}
.form-field textarea{resize:none;min-height:110px;}
.form-note{font-size:0.63rem;color:var(--text-light);font-style:italic;margin-top:0.2rem;}
.form-section-label{font-family:'Bodoni Moda',serif;font-size:0.95rem;font-style:italic;font-weight:400;color:var(--taupe-dark);padding:0.5rem 0 0.3rem;border-bottom:1px solid var(--beige2);margin-top:0.8rem;}
.btn-submit{background:var(--taupe-dark);color:var(--cream);padding:1rem 2.8rem;border:none;font-family:'Nunito',sans-serif;font-size:0.7rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;transition:background 0.3s,transform 0.2s;align-self:center;margin-top:1.2rem;}
.btn-submit:hover{background:#4f3728;transform:translateY(-1px);}

/* FOOTER */
footer{background:#9e8878;color:rgba(245,240,230,0.6);padding:3rem 4rem;display:flex;justify-content:space-between;align-items:center;font-size:0.66rem;letter-spacing:0.1em;}
.footer-links{display:flex;gap:2rem;}
.footer-links a{color:rgba(248,244,239,0.5);text-decoration:none;transition:color 0.3s;}
.footer-links a:hover{color:var(--taupe);}
.footer-social{display:flex;gap:1rem;}
.footer-social a{color:rgba(248,244,239,0.5);text-decoration:none;font-size:0.62rem;letter-spacing:0.2em;transition:color 0.3s;}
.footer-social a:hover{color:var(--taupe);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:1000px){.services-grid{grid-template-columns:1fr 1fr;}.tab-grid{grid-template-columns:repeat(2,1fr);}.tailles-grid{grid-template-columns:repeat(2,1fr);}.livraison-cards{grid-template-columns:1fr;}.contact-top{grid-template-columns:1fr;}.contact-divider{display:none;}.signature-inner{grid-template-columns:1fr;}}
@media(max-width:900px){nav{padding:0.8rem 1.5rem;}.nav-links{display:none;}.hero{grid-template-columns:1fr;}.hero-left{padding:5rem 2rem 3rem;}.hero-right{min-height:85vw;}.services,.gallery,.contact,.tailles,.livraison,.signature{padding-left:1.5rem;padding-right:1.5rem;}.services{padding-top:4rem;padding-bottom:4rem;}.services-grid{grid-template-columns:1fr;}.tab-grid{grid-template-columns:repeat(2,1fr);}.about{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}footer{flex-direction:column;gap:1.2rem;text-align:center;padding:2rem 1.5rem;}.divider{padding:0 2rem;}.tab-btn{padding:0.8rem 1rem;font-size:0.62rem;letter-spacing:0.15em;}.tailles-row2{grid-template-columns:1fr 1fr;}}

/* SUB-TABS */
.sub-tab-nav { display:flex; justify-content:center; gap:0; margin-bottom:2rem; }
.sub-tab-btn { background:none; border:none; cursor:pointer; font-family:'Josefin Sans',sans-serif; font-weight:200; font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--text-light); padding:0.6rem 1.8rem; border-bottom:1px solid transparent; transition:all 0.3s; }
.sub-tab-btn:hover { color:var(--taupe-dark); }
.sub-tab-btn.active { color:var(--taupe-mid); border-bottom-color:var(--taupe-mid); }
.sub-tab-panel { display:none; }
.sub-tab-panel.active { display:block; }
```

  

:root {
  --content-max: 1280px;
}
.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--taupe-dark);color:var(--cream);padding:.75rem 1rem;z-index:200;border-radius:4px;text-decoration:none}
.skip-link:focus{top:1rem}
main{display:block}
.container{max-width:var(--content-max);margin-inline:auto}
.hero-right img,.about-image img,.signature-photos img,.tab-item img{background:var(--beige2)}
.contact-form [required]:invalid{box-shadow:none}
.form-error{color:#8a3b2e;font-size:.75rem;margin-top:.25rem;display:none}
.form-field.invalid .form-error{display:block}
@media (max-width: 900px){
  .hero{grid-template-columns:1fr!important}
  .hero-right{order:-1;min-height:68vw}
  .hero-left{padding:5rem 1.5rem 3rem!important}
  .gallery,.services,.contact,.tailles,.livraison,.signature{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .tab-grid{grid-template-columns:1fr 1fr!important}
}
@media (max-width: 640px){
  nav{padding:.8rem 1rem!important}
  .hero-right{min-height:82vw}
  .hero-title{font-size:clamp(2.5rem,14vw,4.2rem)!important}
  .hero-sub{font-size:.95rem!important;line-height:1.8!important}
  .tab-grid,.services-grid,.tailles-grid,.livraison-cards,.signature-photos,.form-row{grid-template-columns:1fr!important}
  .tab-item{aspect-ratio:4/5!important}
  .contact-top,.about,.signature-inner{grid-template-columns:1fr!important}
  .about-content,.signature{padding-top:3.5rem!important;padding-bottom:3.5rem!important}
  .btn-primary,.btn-secondary,.btn-submit{min-height:44px}
}


/* ── Formulaire — états feedback ─────────────────────────────────────────── */
.req { color: var(--taupe-dark); font-style: normal; }

.form-field.invalid label { color: #9e3a2a; }
.form-field.invalid input,
.form-field.invalid select,
.form-field.invalid textarea {
  border-bottom-color: #9e3a2a;
  background: #fdf7f5;
}

#form-status {
  padding: 0.9rem 1.2rem;
  font-size: 0.82rem;
  line-height: 1.8;
  border: 1px solid transparent;
  text-align: center;
  margin-bottom: 0.5rem;
}
#form-status.success {
  color: #4a6e28;
  background: rgba(90,122,58,0.07);
  border-color: rgba(90,122,58,0.2);
}
#form-status.error {
  color: #9e3a2a;
  background: rgba(158,58,42,0.07);
  border-color: rgba(158,58,42,0.2);
}

.btn-submit:disabled { opacity: 0.65; cursor: not-allowed; }

.spinner {
  display: inline-block;
  width: 11px;
  height: 11px;
  border: 2px solid rgba(249,247,244,0.35);
  border-top-color: var(--cream);
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes spin { to { transform: rotate(360deg); } }
