/*
Theme Name: François Création
Theme URI: https://francoiscreation.com
Description: Thème sur mesure François Création — Tailleur Paris 17e
Version: 3.0.0
Author: François Création
License: Private
Text Domain: fc-creation
*/

/* ══ HOMEPAGE ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; font-weight: 400; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { padding-top: 54px; }
.hero__top { padding: 40px 20px 32px; display: flex; flex-direction: column; gap: 22px; background: var(--blanc); }
.hero__eyebrow { display: flex; align-items: center; gap: 10px; }
.eye-line { width: 22px; height: 0.5px; background: var(--or); flex-shrink: 0; }
.eye-text { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); font-weight: 400; }
.hero__h1 { font-family: var(--fs); font-size: 2.6rem; font-weight: 300; line-height: 1.05; }
.hero__h1 em { color: var(--or); font-style: italic; display: block; }
.hero__sub { font-size: .82rem; color: var(--pierre); line-height: 1.85; }
.hero__btns { display: flex; flex-direction: column; gap: 10px; }
.btn-p { background: var(--encre); color: var(--blanc); border: none; padding: 13px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); text-align: center; }
.btn-g { border: 0.5px solid var(--encre); color: var(--encre); background: none; padding: 12px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); text-align: center; text-decoration: none; display: block; }
.hero__reassurance { display: flex; flex-direction: column; gap: 7px; padding-top: 14px; border-top: 0.5px solid var(--lin); }
.hero__reassurance span { font-size: .6rem; color: var(--pierre); }
.hero__stats { display: grid; grid-template-columns: repeat(3,1fr); background: var(--encre); }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.07); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.4rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.35); }

/* CITATION */
.citation { background: var(--brun); padding: 44px 20px; text-align: center; }
.cit-q { font-family: var(--fs); font-size: 3.5rem; color: var(--or); line-height: .5; opacity: .35; }
.cit-text { font-family: var(--fs); font-size: 1.1rem; font-weight: 300; color: var(--blanc); line-height: 1.75; margin: 14px 0 12px; font-style: italic; }
.cit-stars { color: var(--or); margin-bottom: 8px; }
.cit-auth { font-size: .52rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* VESTIAIRE */
.cr-header { margin-bottom: 28px; }
.cr-featured { background: var(--brun); padding: 32px 24px; cursor: pointer; display: flex; flex-direction: column; gap: 10px; margin-bottom: 1px; }
.cf-label { font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(201,168,108,.5); }
.cf-h { font-family: var(--fs); font-size: 1.7rem; font-weight: 300; color: var(--blanc); line-height: 1.1; }
.cf-p { font-size: .78rem; color: rgba(250,250,248,.5); line-height: 1.8; }
.cf-price { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; color: var(--blanc); }
.cf-cta { font-size: .55rem; letter-spacing: .13em; text-transform: uppercase; color: var(--or-pale); display: flex; align-items: center; gap: 6px; padding-top: 14px; border-top: 0.5px solid rgba(255,255,255,.08); }
.cf-cta::after { content: '→'; }
.cr-small { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--lin); }
.cr-card { background: var(--blanc); padding: 22px 18px; cursor: pointer; display: flex; flex-direction: column; gap: 7px; }
.cc-num { font-size: .48rem; letter-spacing: .17em; color: var(--pierre); }
.cc-h { font-family: var(--fs); font-size: .95rem; font-weight: 400; color: var(--encre); line-height: 1.2; }
.cc-p { font-size: .7rem; color: var(--pierre); line-height: 1.65; flex: 1; }
.cc-price { font-family: var(--fs); font-size: 1.25rem; color: var(--encre); }
.cc-cta { font-size: .52rem; letter-spacing: .11em; text-transform: uppercase; color: var(--pierre); display: flex; align-items: center; gap: 5px; padding-top: 10px; border-top: 0.5px solid var(--lin); }
.cc-cta::after { content: '→'; color: var(--or); }

/* MARIAGE */
.mariage { background: var(--encre); margin-top: 2px; }
.mariage-img { height: 180px; position: relative; overflow: hidden; background: linear-gradient(135deg,#18160F,#2a2418); }
.mariage-img::after { content: ''; position: absolute; inset: 0; background: rgba(24,22,15,.55); }
.mariage-express { position: absolute; top: 16px; right: 16px; z-index: 2; background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .13em; text-transform: uppercase; padding: 4px 10px; font-weight: 500; }
.mariage-badge { position: absolute; bottom: 16px; left: 16px; z-index: 2; background: rgba(168,132,60,.12); border: 0.5px solid rgba(168,132,60,.28); padding: 10px 18px; }
.mb-val { font-family: var(--fs); font-size: 1.4rem; color: var(--or-pale); line-height: 1; }
.mb-lbl { font-size: .46rem; letter-spacing: .11em; text-transform: uppercase; color: rgba(168,132,60,.55); margin-top: 3px; }
.mariage-body { padding: 32px 20px; display: flex; flex-direction: column; gap: 18px; }
.mariage-tag { font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 8px; }
.mariage-tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.mariage-h { font-family: var(--fs); font-size: 1.7rem; font-weight: 300; color: var(--blanc); line-height: 1.2; }
.mariage-h em { color: var(--or-pale); font-style: italic; }
.mariage-desc { font-size: .78rem; color: rgba(250,250,248,.5); line-height: 1.85; }
.mariage-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.pill { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(168,132,60,.65); border: 0.5px solid rgba(168,132,60,.22); padding: 5px 11px; }
.btn-m { background: var(--or); color: var(--encre); border: none; padding: 13px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; margin-bottom: 8px; }
.btn-mg { border: 0.5px solid rgba(168,132,60,.35); color: var(--or-pale); background: none; padding: 12px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); width: 100%; }

/* PROCESSUS */
.proc-g { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.proc { background: var(--blanc); padding: 28px 20px; position: relative; overflow: hidden; }
.proc-ghost { position: absolute; right: -6px; bottom: -14px; font-family: var(--fs); font-size: 5rem; font-weight: 300; color: var(--lin); line-height: 1; user-select: none; }
.proc-num { display: block; font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); margin-bottom: 12px; }
.proc-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 10px; line-height: 1.2; }
.proc-p { font-size: .76rem; color: var(--pierre); line-height: 1.8; margin-bottom: 14px; position: relative; z-index: 1; }
.proc-d { font-size: .52rem; letter-spacing: .1em; color: var(--or); text-transform: uppercase; padding-top: 12px; border-top: 0.5px solid var(--lin); }

/* TARIFS */
.tarif-note { font-size: .73rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarif-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; right: 0; background: var(--or); color: var(--encre); font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; padding: 4px 11px; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 9px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 5px; }
.tc-tagline { font-size: .78rem; color: var(--pierre); font-style: italic; font-family: var(--fs); margin-bottom: 14px; line-height: 1.5; }
.tc.dark .tc-tagline { color: rgba(250,250,248,.45); }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 5px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-name em { font-style: italic; color: var(--or); }
.tc.dark .tc-name em { color: var(--or-pale); }
.tc-sub { font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; color: var(--pierre); margin-bottom: 12px; padding-bottom: 12px; border-bottom: 0.5px solid var(--lin); }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-incl { font-size: .66rem; color: var(--pierre); margin-bottom: 16px; }
.tc.dark .tc-incl { color: rgba(255,255,255,.28); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 0; flex: 1; margin-bottom: 18px; }
.tc-item { padding: 12px 0; border-bottom: 0.5px solid var(--lin); }
.tc.dark .tc-item { border-color: rgba(255,255,255,.07); }
.tc-item:last-child { border: none; }
.tc-item-label { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); margin-bottom: 4px; font-weight: 400; display: flex; align-items: center; gap: 6px; }
.tc.dark .tc-item-label { color: var(--or-pale); }
.tc-item-label::before { content: '✦'; font-size: .45rem; }
.tc-item-text { font-size: .75rem; color: var(--pierre); line-height: 1.55; padding-left: 14px; }
.tc.dark .tc-item-text { color: rgba(255,255,255,.5); }
.tc-item-option { font-size: .68rem; color: var(--pierre); font-style: italic; padding-left: 14px; margin-top: 3px; }
.tc.dark .tc-item-option { color: rgba(255,255,255,.3); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; font-weight: 400; transition: all .2s; }
.tc-delai { font-size: .75rem; letter-spacing: .04em; color: var(--pierre); border-top: 0.5px solid var(--lin); padding-top: 12px; margin-bottom: 14px; font-family: var(--sans); }
.tarifs-price-row { display: flex; align-items: baseline; gap: 14px; margin-bottom: 20px; }
.tarifs-price-val { font-size: 2.6rem; font-weight: 400; color: var(--encre); line-height: 1; }
.tarifs-price-sub { font-size: .72rem; letter-spacing: .06em; color: var(--pierre); font-family: var(--sans); }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }
.tc.dark .tc-btn:hover { background: var(--or-pale); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cf-inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cf-h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cf-h2 em { color: var(--or-pale); font-style: italic; }
.cf-p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.cf-urg { font-size: .56rem; color: rgba(250,250,248,.28); letter-spacing: .05em; }
.cf-tel { font-size: .68rem; color: rgba(250,250,248,.33); }
.cf-tel a { color: var(--or-pale); text-decoration: none; }
.btn-cta { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; padding-top: 64px; }
  .hero__top { padding: 80px 64px; justify-content: center; }
  .hero__h1 { font-size: 3.8rem; }
  .hero__btns { flex-direction: row; }
  .btn-p, .btn-g { width: auto; }
  .hero__reassurance { flex-direction: row; gap: 20px; }
  .s-iv, .s-wh { padding: 96px 80px; }
  .cr-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
  .cr-small { grid-template-columns: repeat(4,1fr); }
  .mariage { display: grid; grid-template-columns: 1fr 1fr; }
  .mariage-img { height: auto; min-height: 360px; }
  .mariage-body { padding: 56px 48px; }
  .btn-m, .btn-mg { width: auto; }
  .proc-g { display: grid; grid-template-columns: repeat(3,1fr); }
  .tarif-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .btn-cta { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ MARIAGE ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --nuit: #1C2235;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO MARIAGE */
.hero-mariage {
  margin-top: 54px;
  background: var(--encre);
  padding: 64px 24px 56px;
  position: relative; overflow: hidden;
  text-align: center;
}
.hero-mariage::before {
  content: ''; position: absolute; inset: 0;
  background: none;
  opacity: .12;
}
.hero-mariage__content { position: relative; z-index: 2; max-width: 600px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; align-items: center; }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 300; color: var(--blanc); line-height: 1.05; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: rgba(250,250,248,.55); line-height: 1.7; }
.hero-price { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.hero-price-from { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.35); }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .56rem; color: rgba(250,250,248,.28); letter-spacing: .08em; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.h2-light { color: var(--blanc); }
.h2-light em { color: var(--or-pale); }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.s-nuit { background: var(--nuit); padding: 52px 20px; }
.intro-text { font-size: .82rem; color: var(--pierre); line-height: 1.85; margin-top: 12px; }

/* ACCOMPAGNEMENT */
.accomp-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.accomp-card { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; gap: 12px; }
.accomp-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.accomp-sub { font-size: .78rem; font-style: italic; color: var(--pierre); font-family: var(--fs); }
.accomp-items { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.accomp-item { font-size: .8rem; line-height: 1.7; color: var(--pierre); display: flex; gap: 10px; }
.accomp-item span.or { color: var(--or); flex-shrink: 0; margin-top: 2px; }
.accomp-item strong { color: var(--encre); font-weight: 500; }

/* EXPRESS */
.express-bloc { background: var(--encre); display: flex; flex-direction: column; gap: 1px; margin-top: 1px; }
.express-left { padding: 36px 24px; display: flex; flex-direction: column; gap: 12px; }
.express-tag { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or-pale); display: block; }
.express-h { font-family: var(--fs); font-size: 1.4rem; font-weight: 400; color: var(--blanc); line-height: 1.2; }
.express-h em { font-style: italic; color: var(--or-pale); }
.express-sub { font-size: .78rem; font-style: italic; color: rgba(250,250,248,.38); font-family: var(--fs); }
.express-p { font-size: .82rem; line-height: 1.8; color: rgba(250,250,248,.6); }
.express-right { padding: 36px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; border-top: 0.5px solid rgba(255,255,255,.07); }
.express-num { font-family: var(--fs); font-size: 5rem; font-weight: 300; color: var(--or-pale); line-height: 1; }
.express-lbl { font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(250,250,248,.3); }
.express-pill { background: rgba(168,132,60,.18); color: var(--or-pale); font-size: .72rem; padding: 7px 18px; letter-spacing: .1em; }
.express-mention { font-size: .66rem; color: rgba(250,250,248,.25); font-style: italic; line-height: 1.5; }

/* UNIVERS CHAMPÊTRE */
.champetre-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 24px; }
.champetre-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.champetre-title { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.champetre-tag { font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); }
.champetre-items { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.champetre-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.champetre-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }

/* UNIVERS SOIR */
.soir-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,.05); margin-top: 24px; }
.soir-card { background: rgba(255,255,255,.03); border: 0.5px solid rgba(255,255,255,.07); padding: 28px 20px; display: flex; flex-direction: column; gap: 10px; }
.soir-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--blanc); }
.soir-title em { color: var(--or-pale); font-style: italic; }
.soir-sub { font-size: .65rem; font-style: italic; color: rgba(250,250,248,.32); font-family: var(--fs); }
.soir-p { font-size: .8rem; line-height: 1.75; color: rgba(250,250,248,.55); }
.soir-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.soir-item { font-size: .76rem; color: rgba(250,250,248,.55); display: flex; gap: 8px; line-height: 1.5; }
.soir-item strong { color: rgba(250,250,248,.8); font-weight: 500; }
.soir-item span.or { color: var(--or-pale); flex-shrink: 0; }
.soir-intro { font-family: var(--fs); font-style: italic; font-size: .92rem; line-height: 1.85; color: rgba(250,250,248,.45); border-left: 2px solid var(--or-pale); padding-left: 18px; margin-top: 12px; }

/* FORMULES */
.formules-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.formules-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.fc-card { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.fc-card.dark { background: #18160F; }
.fc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.fc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.fc-card.dark .fc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.fc-name { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.fc-card.dark .fc-name { color: var(--blanc); }
.fc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.fc-card.dark .fc-price { color: var(--blanc); }
.fc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.fc-card.dark .fc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.fc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.fc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.fc-items li:last-child { border: none; padding-bottom: 0; }
.fc-card.dark .fc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.fc-items li span { color: var(--or); flex-shrink: 0; }
.fc-card.dark .fc-items li span { color: var(--or-pale); }
.fc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.fc-card.dark .fc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* GILET */
.gilet-bloc { background: #F7F3EC; border: 0.5px solid rgba(168,132,60,.2); margin-top: 1px; padding: 28px 20px; display: flex; flex-direction: column; gap: 16px; }
.gilet-tag { font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.gilet-h { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); line-height: 1.2; }
.gilet-h em { color: var(--or); font-style: italic; }
.gilet-sub { font-family: var(--fs); font-style: italic; font-size: .8rem; color: var(--pierre); }
.gilet-p { font-size: .8rem; line-height: 1.78; color: var(--pierre); }
.gilet-price { font-family: var(--fs); font-size: 2rem; color: var(--or); line-height: 1; }
.gilet-price-sub { font-size: .72rem; color: var(--pierre); font-style: italic; }
.gilet-items { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gilet-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.gilet-item span { color: var(--or); flex-shrink: 0; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); padding: 32px 24px; margin-top: 24px; border-left: 3px solid var(--or); }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }


/* GALERIE */
.galerie {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 200px 200px;
  gap: 4px;
  margin-top: 28px;
  margin-bottom: 8px;
}
.galerie__item { position: relative; overflow: hidden; background: var(--ivoire); }
.galerie__item--large {
  grid-row: span 2;
  grid-column: 1;
}
.galerie__placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 6px;
  background: var(--lin);
  border: 1.5px dashed var(--or);
  border-style: dashed;
}
.galerie__placeholder span:first-child {
  font-family: var(--fs); font-size: 1.1rem; font-weight: 300; color: var(--pierre);
}
.galerie__hint {
  font-size: .55rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--or); opacity: .7;
}
.galerie__note {
  font-size: .68rem; color: var(--pierre); font-style: italic;
  text-align: center; padding: 10px;
  background: rgba(168,132,60,.05); border: 0.5px solid rgba(168,132,60,.15);
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .galerie {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 240px 240px;
  }
  .galerie__item--large { grid-row: span 2; }
}

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero-mariage { padding: 100px 48px 80px; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh, .s-nuit { padding: 80px 80px; }
  .accomp-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .express-bloc { display: grid; grid-template-columns: 1.3fr 1fr; }
  .express-right { border-top: none; border-left: 0.5px solid rgba(255,255,255,.07); }
  .champetre-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .soir-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .formules-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .gilet-bloc { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; padding: 36px 48px; }
  .btn-or { width: auto; padding: 16px 40px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ LA-MAISON ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero-maison {
  margin-top: 54px; padding: 72px 24px 56px;
  background: var(--brun); position: relative; overflow: hidden;
}
.hero-maison::before {
  content: ''; position: absolute; inset: 0;
  background: none;
  opacity: .1;
}
.hero-maison__content { position: relative; z-index: 2; max-width: 560px; display: flex; flex-direction: column; gap: 16px; }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 3.8rem); font-weight: 300; color: var(--blanc); line-height: 1.05; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.7; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* ADN / TIMELINE */
.adn-photo { height: 260px; background: var(--brun); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.adn-photo::before { display: none; }
.adn-mono { font-family: var(--fs); font-size: 6rem; font-weight: 300; color: rgba(201,168,108,.15); position: relative; z-index: 1; }
.adn-badge { position: absolute; bottom: 16px; left: 16px; z-index: 2; background: rgba(168,132,60,.15); border: 0.5px solid rgba(168,132,60,.3); padding: 10px 18px; }
.adn-badge-val { font-family: var(--fs); font-size: 1.5rem; color: var(--or-pale); line-height: 1; }
.adn-badge-lbl { font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(168,132,60,.55); margin-top: 3px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-bottom: 14px; }

/* TIMELINE */
.timeline { display: flex; flex-direction: column; gap: 0; margin-top: 24px; border-left: 1px solid var(--lin); padding-left: 0; }
.tl-item { padding: 0 0 28px 24px; position: relative; }
.tl-item::before { content: ''; position: absolute; left: -5px; top: 4px; width: 9px; height: 9px; border-radius: 50%; background: var(--or); }
.tl-item:last-child { padding-bottom: 0; }
.tl-year { font-size: .55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 6px; }
.tl-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); margin-bottom: 8px; }
.tl-p { font-size: .78rem; line-height: 1.8; color: var(--pierre); }

/* PORTRAITS */
.portraits-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.portrait-card { background: var(--blanc); display: flex; flex-direction: column; }
.portrait-photo { height: 220px; background: var(--encre); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.portrait-photo.light { background: var(--ivoire); }
.portrait-letter { font-family: var(--fs); font-size: 5rem; font-weight: 300; color: rgba(168,132,60,.1); }
.portrait-photo-hint { position: absolute; bottom: 12px; left: 14px; font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(168,132,60,.45); }
.portrait-body { padding: 24px 20px; display: flex; flex-direction: column; gap: 10px; }
.portrait-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.portrait-role { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; }
.portrait-diplome { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); padding: 11px 14px; }
.portrait-diplome-label { font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.portrait-diplome-text { font-size: .78rem; line-height: 1.55; color: var(--pierre); }
.portrait-p { font-size: .82rem; line-height: 1.78; color: var(--pierre); }

/* ATELIER */
.atelier-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.atelier-photo { height: 200px; background: var(--ivoire); display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 20px; }
.atelier-photo-mono { font-family: var(--fs); font-size: 3.5rem; color: rgba(168,132,60,.08); }
.atelier-photo-hint { position: absolute; bottom: 10px; left: 12px; font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(168,132,60,.35); }
.atelier-left { background: var(--blanc); padding: 28px 20px; }
.atelier-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.atelier-title em { color: var(--or); font-style: italic; }
.atelier-tag { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 14px; }
.atelier-p { font-size: .82rem; line-height: 1.8; color: var(--pierre); margin-bottom: 10px; }
.atelier-right { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; gap: 16px; }
.info-grid { border: 0.5px solid var(--lin); }
.info-row { display: flex; gap: 14px; padding: 13px 16px; border-bottom: 0.5px solid var(--lin); }
.info-row:last-child { border: none; }
.info-label { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre); font-weight: 500; margin-bottom: 2px; }
.info-val { font-size: .82rem; color: var(--pierre); }
.atelier-promise { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 18px 20px; }
.atelier-promise-h { font-family: var(--fs); font-size: .95rem; color: var(--encre); margin-bottom: 10px; }
.atelier-promise-h em { color: var(--or); font-style: italic; }
.promise-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.promise-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.promise-item span { color: var(--or); flex-shrink: 0; }

/* VALEURS */
.valeurs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.valeur-card { background: var(--ivoire); padding: 28px 20px; display: flex; flex-direction: column; gap: 8px; }
.valeur-num { font-family: var(--fs); font-size: 2.5rem; font-weight: 300; color: rgba(168,132,60,.12); line-height: 1; }
.valeur-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.valeur-p { font-size: .78rem; line-height: 1.7; color: var(--pierre); }

/* TÉMOIGNAGE */
.temoignage { background: var(--blanc); border-left: 3px solid var(--or); padding: 28px 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero-maison { margin-top: 64px; padding: 100px 80px 80px; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .adn-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: start; }
  .adn-photo { height: 100%; min-height: 400px; margin-bottom: 0; position: sticky; top: 80px; }
  .portraits-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .atelier-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .atelier-left { padding: 40px 36px; }
  .atelier-right { padding: 40px 36px; }
  .valeurs-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .btn-or { width: auto; padding: 15px 40px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ VESTE ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 56px; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 20px; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .08; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 16px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.6rem, 7vw, 4.5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 500px; }
.hero-price { display: flex; flex-direction: column; gap: 3px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); }
.hero-price-val { font-family: var(--fs); font-size: 2.6rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; gap: 8px; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 13px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 16px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* SAVOIR-FAIRE */
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-body { display: flex; flex-direction: column; gap: 6px; }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; transition: all .2s; }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }



/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }


/* VESTIAIRE CASUAL */
.casual-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.casual-card { background: var(--ivoire); padding: 28px 20px; display: flex; flex-direction: column; gap: 10px; }
.casual-h { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.casual-tag { font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.casual-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); flex: 1; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; padding: 0; min-height: 90vh; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  .casual-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ COSTUME ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .07; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; gap: 8px; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-body { display: flex; flex-direction: column; gap: 6px; }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* ÉTOFFES */
.etoffes-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.etoffe-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.etoffe-maison { font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 8px; }
.etoffe-maison::before { content: '✦'; font-size: .4rem; }
.etoffe-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.etoffe-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.etoffe-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.etoffe-tag { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 4px 10px; background: var(--blanc); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-item-label { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); margin-bottom: 3px; display: block; }
.tc.dark .tc-item-label { color: var(--or-pale); }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; transition: all .2s; }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--blanc); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid var(--lin); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; margin-top: 4px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .etoffes-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ MANTEAU ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--brun); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .08; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* SILHOUETTES */
.silhouettes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--lin); margin-top: 28px; }
.sil-card { background: var(--ivoire); padding: 20px 18px; display: flex; flex-direction: column; gap: 6px; }
.sil-num { font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.sil-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.sil-p { font-size: .72rem; line-height: 1.65; color: var(--pierre); }

/* MATIÈRES */
.matieres-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.mat-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.mat-card.dark-bg { background: var(--blanc); }
.mat-origin { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.mat-origin::before { content: '✦'; font-size: .4rem; }
.mat-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.mat-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.mat-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mat-tag { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 4px 10px; background: var(--blanc); }

/* OPTIONS */
.options-bloc { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 24px 20px; margin-top: 24px; display: flex; flex-direction: column; gap: 14px; }
.options-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); }
.options-h em { color: var(--or); font-style: italic; }
.options-items { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.options-item { font-size: .78rem; color: var(--pierre); display: flex; gap: 10px; line-height: 1.55; }
.options-item span { color: var(--or); flex-shrink: 0; }
.options-item strong { color: var(--encre); font-weight: 500; }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--blanc); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid var(--lin); }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); flex: 1; min-width: 240px; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .silhouettes-grid { grid-template-columns: repeat(4, 1fr); }
  .matieres-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ CHEMISE ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--blanc); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; border-bottom: 1px solid var(--lin); }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { display: grid; grid-template-columns: repeat(3,1fr); background: var(--encre); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: var(--pierre); text-transform: uppercase; }
.hero-bread a { color: var(--pierre); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--encre); line-height: 1.02; }
.hero-h1 em { color: var(--or); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: var(--pierre); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.btn-hero { background: var(--encre); color: var(--blanc); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: var(--pierre); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.35); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* COLS & POIGNETS */
.options-section { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.options-group { background: var(--blanc); padding: 24px 20px; }
.options-group-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.options-group-sub { font-size: .72rem; font-style: italic; color: var(--pierre); font-family: var(--fs); margin-bottom: 14px; }
.options-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pill-option { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre); border: 0.5px solid var(--lin); padding: 7px 14px; background: var(--ivoire); }
.pill-option.active { background: var(--encre); color: var(--blanc); border-color: var(--encre); }

/* TISSUS */
.tissus-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.tissu-card { background: var(--ivoire); padding: 22px 20px; display: flex; flex-direction: column; gap: 6px; }
.tissu-card.alt { background: var(--blanc); }
.tissu-origine { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.tissu-origine::before { content: '✦'; font-size: .4rem; }
.tissu-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.tissu-p { font-size: .74rem; line-height: 1.65; color: var(--pierre); }

/* OFFRE SEMAINIER */
.semainier { background: var(--encre); padding: 28px 20px; margin-top: 1px; display: flex; flex-direction: column; gap: 14px; }
.semainier-tag { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or-pale); display: flex; align-items: center; gap: 8px; }
.semainier-tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or-pale); }
.semainier-h { font-family: var(--fs); font-size: 1.6rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.semainier-h em { color: var(--or-pale); font-style: italic; }
.semainier-desc { font-size: .8rem; color: rgba(250,250,248,.5); line-height: 1.85; }
.semainier-price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.semainier-price-val { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.semainier-price-sub { font-size: .72rem; color: rgba(250,250,248,.4); font-style: italic; }
.semainier-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.semainier-item { font-size: .76rem; color: rgba(250,250,248,.55); display: flex; gap: 8px; line-height: 1.5; }
.semainier-item span { color: var(--or-pale); flex-shrink: 0; }
.btn-semainier { background: var(--or); color: var(--encre); border: none; padding: 12px 24px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--ivoire); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid rgba(168,132,60,.2); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 85vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-left: 0.5px solid var(--lin); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .options-section { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .tissus-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .semainier { flex-direction: row; align-items: center; justify-content: space-between; }
  .semainier-content { flex: 1; }
  .semainier-aside { text-align: right; min-width: 200px; }
  .btn-semainier { width: auto; }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ PANTALON ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .07; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* MODÈLES */
.modeles-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.modele-card { background: var(--blanc); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.modele-card.featured { background: var(--brun); }
.modele-num { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.modele-card.featured .modele-num { color: var(--or-pale); opacity: .6; }
.modele-h { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); }
.modele-card.featured .modele-h { color: var(--blanc); }
.modele-sub { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); }
.modele-card.featured .modele-sub { color: var(--or-pale); opacity: .7; }
.modele-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.modele-card.featured .modele-p { color: rgba(250,250,248,.5); }

/* MESURES */
.mesures-bloc { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 24px 20px; margin-top: 24px; }
.mesures-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); margin-bottom: 14px; }
.mesures-h em { color: var(--or); font-style: italic; }
.mesures-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.mesure-item { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 6px 12px; background: var(--blanc); }

/* OPTIONS */
.options-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.12); margin-top: 28px; }
.option-card { background: var(--ivoire); padding: 20px 18px; display: flex; flex-direction: column; gap: 6px; }
.option-card.alt { background: var(--blanc); }
.option-tag { font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.option-tag::before { content: '✦'; font-size: .4rem; }
.option-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.option-p { font-size: .74rem; line-height: 1.65; color: var(--pierre); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--ivoire); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid rgba(168,132,60,.2); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .modeles-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
  .options-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ CONTACT ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--ivoire); padding: 56px 24px 48px; position: relative; overflow: hidden; border-bottom: 0.5px solid var(--lin); }
.hero::before { content: ''; position: absolute; right: -40px; top: -40px; width: 300px; height: 300px; border-radius: 50%; background: rgba(168,132,60,.06); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: var(--pierre); text-transform: uppercase; margin-bottom: 16px; }
.hero-bread a { color: var(--pierre); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or); margin-bottom: 12px; display: block; }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 300; color: var(--encre); line-height: 1.05; margin-bottom: 16px; }
.hero-h1 em { color: var(--or); font-style: italic; }
.hero-desc { font-size: .85rem; color: var(--pierre); line-height: 1.85; max-width: 480px; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.s-dk { background: var(--encre); padding: 52px 20px; }

/* INFOS PRATIQUES */
.infos-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.info-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.info-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); font-size: 1rem; }
.info-label { font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.info-val { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); line-height: 1.3; }
.info-val a { color: var(--encre); text-decoration: none; }
.info-val a:hover { color: var(--or); }
.info-sub { font-size: .72rem; color: var(--pierre); margin-top: 4px; line-height: 1.5; }

/* CALENDLY */
.calendly-section { background: var(--ivoire); padding: 52px 20px; }
.calendly-wrapper { background: var(--blanc); border: 0.5px solid var(--lin); margin-top: 28px; overflow: hidden; }
.calendly-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 64px 24px; text-align: center; border: 1.5px dashed rgba(168,132,60,.3); margin: 0; }
.calendly-icon { width: 56px; height: 56px; background: rgba(168,132,60,.08); border: 0.5px solid rgba(168,132,60,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--or); font-size: 1.4rem; }
.calendly-title { font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--encre); }
.calendly-desc { font-size: .78rem; color: var(--pierre); line-height: 1.8; max-width: 360px; }
.calendly-btn { background: var(--or); color: var(--encre); border: none; padding: 13px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; }
.calendly-note { font-size: .6rem; color: var(--pierre); font-style: italic; }

/* CARTE */
.map-section { background: var(--blanc); padding: 52px 20px; }
.map-wrapper { height: 280px; background: var(--lin); border: 0.5px solid var(--lin); margin-top: 28px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.map-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.map-pin { font-size: 2rem; color: var(--or); }
.map-addr { font-family: var(--fs); font-size: 1.1rem; color: var(--encre); }
.map-sub { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--pierre); }
.map-link { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--or); text-decoration: none; border-bottom: 0.5px solid rgba(168,132,60,.4); padding-bottom: 2px; }

/* POURQUOI */
.pourquoi-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,.06); margin-top: 28px; }
.pourquoi-card { background: rgba(255,255,255,.03); border: 0.5px solid rgba(255,255,255,.07); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.pourquoi-num { font-family: var(--fs); font-size: 2rem; font-weight: 300; color: rgba(168,132,60,.2); line-height: 1; }
.pourquoi-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--blanc); }
.pourquoi-p { font-size: .76rem; line-height: 1.75; color: rgba(250,250,248,.45); }

/* FAQ CONTACT */
.faq-contact { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.faq-item { background: var(--blanc); }
.faq-question { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; gap: 16px; width: 100%; text-align: left; border: none; background: none; cursor: pointer; }
.faq-q { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); line-height: 1.3; }
.faq-icon { font-size: 1.2rem; color: var(--or); flex-shrink: 0; transition: transform .3s; }
.faq-answer { padding: 0 20px 18px; font-size: .8rem; line-height: 1.8; color: var(--pierre); border-top: 0.5px solid var(--lin); padding-top: 14px; display: none; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-icon { transform: rotate(45deg); }

/* CTA FINAL */
.cta-fin { background: var(--brun); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.btn-ghost-light { border: 0.5px solid rgba(250,250,248,.3); color: rgba(250,250,248,.7); background: none; padding: 13px 24px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }
.fc-footer__social { margin: 4px 0; }
.fc-footer__social-link { display: inline-flex; align-items: center; gap: 8px; color: rgba(250,250,248,.45); text-decoration: none; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; transition: color .2s; }
.fc-footer__social-link:hover { color: var(--or); }
.fc-footer__social-link svg { flex-shrink: 0; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; padding: 80px 80px 64px; }
  .s-iv, .s-wh, .s-dk, .calendly-section, .map-section { padding: 80px 80px; }
  .infos-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .map-wrapper { height: 380px; }
  .pourquoi-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .cta-btns { flex-direction: row; gap: 16px; }
  .btn-or, .btn-ghost-light { width: auto; padding: 14px 36px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
/* ══════════ CSS MIGRÉ DEPUIS HEADER.PHP (inline) — ordre de cascade préservé ══════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; font-weight: 400; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { padding-top: 54px; }
.hero__top { padding: 40px 20px 32px; display: flex; flex-direction: column; gap: 22px; background: var(--blanc); }
.hero__eyebrow { display: flex; align-items: center; gap: 10px; }
.eye-line { width: 22px; height: 0.5px; background: var(--or); flex-shrink: 0; }
.eye-text { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); font-weight: 400; }
.hero__h1 { font-family: var(--fs); font-size: 2.6rem; font-weight: 300; line-height: 1.05; }
.hero__h1 em { color: var(--or); font-style: italic; display: block; }
.hero__sub { font-size: .82rem; color: var(--pierre); line-height: 1.85; }
.hero__btns { display: flex; flex-direction: column; gap: 10px; }
.btn-p { background: var(--encre); color: var(--blanc); border: none; padding: 13px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); text-align: center; }
.btn-g { border: 0.5px solid var(--encre); color: var(--encre); background: none; padding: 12px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); text-align: center; text-decoration: none; display: block; }
.hero__reassurance { display: flex; flex-direction: column; gap: 7px; padding-top: 14px; border-top: 0.5px solid var(--lin); }
.hero__reassurance span { font-size: .6rem; color: var(--pierre); }
.hero__stats { display: grid; grid-template-columns: repeat(3,1fr); background: var(--encre); }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.07); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.4rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.35); }

/* CITATION */
.citation { background: var(--brun); padding: 44px 20px; text-align: center; }
.cit-q { font-family: var(--fs); font-size: 3.5rem; color: var(--or); line-height: .5; opacity: .35; }
.cit-text { font-family: var(--fs); font-size: 1.1rem; font-weight: 300; color: var(--blanc); line-height: 1.75; margin: 14px 0 12px; font-style: italic; }
.cit-stars { color: var(--or); margin-bottom: 8px; }
.cit-auth { font-size: .52rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* VESTIAIRE */
.cr-header { margin-bottom: 28px; }
.cr-featured { background: var(--brun); padding: 32px 24px; cursor: pointer; display: flex; flex-direction: column; gap: 10px; margin-bottom: 1px; }
.cf-label { font-size: .48rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(201,168,108,.5); }
.cf-h { font-family: var(--fs); font-size: 1.7rem; font-weight: 300; color: var(--blanc); line-height: 1.1; }
.cf-p { font-size: .78rem; color: rgba(250,250,248,.5); line-height: 1.8; }
.cf-price { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; color: var(--blanc); }
.cf-cta { font-size: .55rem; letter-spacing: .13em; text-transform: uppercase; color: var(--or-pale); display: flex; align-items: center; gap: 6px; padding-top: 14px; border-top: 0.5px solid rgba(255,255,255,.08); }
.cf-cta::after { content: '→'; }
.cr-small { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--lin); }
.cr-card { background: var(--blanc); padding: 22px 18px; cursor: pointer; display: flex; flex-direction: column; gap: 7px; }
.cc-num { font-size: .48rem; letter-spacing: .17em; color: var(--pierre); }
.cc-h { font-family: var(--fs); font-size: .95rem; font-weight: 400; color: var(--encre); line-height: 1.2; }
.cc-p { font-size: .7rem; color: var(--pierre); line-height: 1.65; flex: 1; }
.cc-price { font-family: var(--fs); font-size: 1.25rem; color: var(--encre); }
.cc-cta { font-size: .52rem; letter-spacing: .11em; text-transform: uppercase; color: var(--pierre); display: flex; align-items: center; gap: 5px; padding-top: 10px; border-top: 0.5px solid var(--lin); }
.cc-cta::after { content: '→'; color: var(--or); }

/* MARIAGE */
.mariage { background: var(--encre); margin-top: 2px; }
.mariage-img { height: 180px; position: relative; overflow: hidden; background: linear-gradient(135deg,#18160F,#2a2418); }
.mariage-img::after { content: ''; position: absolute; inset: 0; background: rgba(24,22,15,.55); }
.mariage-express { position: absolute; top: 16px; right: 16px; z-index: 2; background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .13em; text-transform: uppercase; padding: 4px 10px; font-weight: 500; }
.mariage-badge { position: absolute; bottom: 16px; left: 16px; z-index: 2; background: rgba(168,132,60,.12); border: 0.5px solid rgba(168,132,60,.28); padding: 10px 18px; }
.mb-val { font-family: var(--fs); font-size: 1.4rem; color: var(--or-pale); line-height: 1; }
.mb-lbl { font-size: .46rem; letter-spacing: .11em; text-transform: uppercase; color: rgba(168,132,60,.55); margin-top: 3px; }
.mariage-body { padding: 32px 20px; display: flex; flex-direction: column; gap: 18px; }
.mariage-tag { font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 8px; }
.mariage-tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.mariage-h { font-family: var(--fs); font-size: 1.7rem; font-weight: 300; color: var(--blanc); line-height: 1.2; }
.mariage-h em { color: var(--or-pale); font-style: italic; }
.mariage-desc { font-size: .78rem; color: rgba(250,250,248,.5); line-height: 1.85; }
.mariage-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.pill { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(168,132,60,.65); border: 0.5px solid rgba(168,132,60,.22); padding: 5px 11px; }
.btn-m { background: var(--or); color: var(--encre); border: none; padding: 13px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; margin-bottom: 8px; }
.btn-mg { border: 0.5px solid rgba(168,132,60,.35); color: var(--or-pale); background: none; padding: 12px 20px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); width: 100%; }

/* PROCESSUS */
.proc-g { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.proc { background: var(--blanc); padding: 28px 20px; position: relative; overflow: hidden; }
.proc-ghost { position: absolute; right: -6px; bottom: -14px; font-family: var(--fs); font-size: 5rem; font-weight: 300; color: var(--lin); line-height: 1; user-select: none; }
.proc-num { display: block; font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); margin-bottom: 12px; }
.proc-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 10px; line-height: 1.2; }
.proc-p { font-size: .76rem; color: var(--pierre); line-height: 1.8; margin-bottom: 14px; position: relative; z-index: 1; }
.proc-d { font-size: .52rem; letter-spacing: .1em; color: var(--or); text-transform: uppercase; padding-top: 12px; border-top: 0.5px solid var(--lin); }

/* TARIFS */
.tarif-note { font-size: .73rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarif-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; right: 0; background: var(--or); color: var(--encre); font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; padding: 4px 11px; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 9px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 5px; }
.tc-tagline { font-size: .78rem; color: var(--pierre); font-style: italic; font-family: var(--fs); margin-bottom: 14px; line-height: 1.5; }
.tc.dark .tc-tagline { color: rgba(250,250,248,.45); }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 5px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-name em { font-style: italic; color: var(--or); }
.tc.dark .tc-name em { color: var(--or-pale); }
.tc-sub { font-size: .58rem; letter-spacing: .07em; text-transform: uppercase; color: var(--pierre); margin-bottom: 12px; padding-bottom: 12px; border-bottom: 0.5px solid var(--lin); }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-incl { font-size: .66rem; color: var(--pierre); margin-bottom: 16px; }
.tc.dark .tc-incl { color: rgba(255,255,255,.28); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 0; flex: 1; margin-bottom: 18px; }
.tc-item { padding: 12px 0; border-bottom: 0.5px solid var(--lin); }
.tc.dark .tc-item { border-color: rgba(255,255,255,.07); }
.tc-item:last-child { border: none; }
.tc-item-label { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); margin-bottom: 4px; font-weight: 400; display: flex; align-items: center; gap: 6px; }
.tc.dark .tc-item-label { color: var(--or-pale); }
.tc-item-label::before { content: '✦'; font-size: .45rem; }
.tc-item-text { font-size: .75rem; color: var(--pierre); line-height: 1.55; padding-left: 14px; }
.tc.dark .tc-item-text { color: rgba(255,255,255,.5); }
.tc-item-option { font-size: .68rem; color: var(--pierre); font-style: italic; padding-left: 14px; margin-top: 3px; }
.tc.dark .tc-item-option { color: rgba(255,255,255,.3); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; font-weight: 400; transition: all .2s; }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }
.tc.dark .tc-btn:hover { background: var(--or-pale); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cf-inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cf-h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cf-h2 em { color: var(--or-pale); font-style: italic; }
.cf-p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.cf-urg { font-size: .56rem; color: rgba(250,250,248,.28); letter-spacing: .05em; }
.cf-tel { font-size: .68rem; color: rgba(250,250,248,.33); }
.cf-tel a { color: var(--or-pale); text-decoration: none; }
.btn-cta { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; padding-top: 64px; }
  .hero__top { padding: 80px 64px; justify-content: center; }
  .hero__h1 { font-size: 3.8rem; }
  .hero__btns { flex-direction: row; }
  .btn-p, .btn-g { width: auto; }
  .hero__reassurance { flex-direction: row; gap: 20px; }
  .s-iv, .s-wh { padding: 96px 80px; }
  .cr-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
  .cr-small { grid-template-columns: repeat(4,1fr); }
  .mariage { display: grid; grid-template-columns: 1fr 1fr; }
  .mariage-img { height: auto; min-height: 360px; }
  .mariage-body { padding: 56px 48px; }
  .btn-m, .btn-mg { width: auto; }
  .proc-g { display: grid; grid-template-columns: repeat(3,1fr); }
  .tarif-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .btn-cta { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --nuit: #1C2235;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO MARIAGE */
.hero-mariage {
  margin-top: 54px;
  background: var(--encre);
  padding: 64px 24px 56px;
  position: relative; overflow: hidden;
  text-align: center;
}
.hero-mariage::before {
  content: ''; position: absolute; inset: 0;
  background: none;
  opacity: .12;
}
.hero-mariage__content { position: relative; z-index: 2; max-width: 600px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; align-items: center; }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 300; color: var(--blanc); line-height: 1.05; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: rgba(250,250,248,.55); line-height: 1.7; }
.hero-price { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.hero-price-from { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.35); }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .56rem; color: rgba(250,250,248,.28); letter-spacing: .08em; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.h2-light { color: var(--blanc); }
.h2-light em { color: var(--or-pale); }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.s-nuit { background: var(--nuit); padding: 52px 20px; }
.intro-text { font-size: .82rem; color: var(--pierre); line-height: 1.85; margin-top: 12px; }

/* ACCOMPAGNEMENT */
.accomp-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.accomp-card { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; gap: 12px; }
.accomp-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.accomp-sub { font-size: .78rem; font-style: italic; color: var(--pierre); font-family: var(--fs); }
.accomp-items { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.accomp-item { font-size: .8rem; line-height: 1.7; color: var(--pierre); display: flex; gap: 10px; }
.accomp-item span.or { color: var(--or); flex-shrink: 0; margin-top: 2px; }
.accomp-item strong { color: var(--encre); font-weight: 500; }

/* EXPRESS */
.express-bloc { background: var(--encre); display: flex; flex-direction: column; gap: 1px; margin-top: 1px; }
.express-left { padding: 36px 24px; display: flex; flex-direction: column; gap: 12px; }
.express-tag { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or-pale); display: block; }
.express-h { font-family: var(--fs); font-size: 1.4rem; font-weight: 400; color: var(--blanc); line-height: 1.2; }
.express-h em { font-style: italic; color: var(--or-pale); }
.express-sub { font-size: .78rem; font-style: italic; color: rgba(250,250,248,.38); font-family: var(--fs); }
.express-p { font-size: .82rem; line-height: 1.8; color: rgba(250,250,248,.6); }
.express-right { padding: 36px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; border-top: 0.5px solid rgba(255,255,255,.07); }
.express-num { font-family: var(--fs); font-size: 5rem; font-weight: 300; color: var(--or-pale); line-height: 1; }
.express-lbl { font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(250,250,248,.3); }
.express-pill { background: rgba(168,132,60,.18); color: var(--or-pale); font-size: .72rem; padding: 7px 18px; letter-spacing: .1em; }
.express-mention { font-size: .66rem; color: rgba(250,250,248,.25); font-style: italic; line-height: 1.5; }

/* UNIVERS CHAMPÊTRE */
.champetre-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 24px; }
.champetre-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.champetre-title { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.champetre-tag { font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); }
.champetre-items { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.champetre-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.champetre-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }

/* UNIVERS SOIR */
.soir-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,.05); margin-top: 24px; }
.soir-card { background: rgba(255,255,255,.03); border: 0.5px solid rgba(255,255,255,.07); padding: 28px 20px; display: flex; flex-direction: column; gap: 10px; }
.soir-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--blanc); }
.soir-title em { color: var(--or-pale); font-style: italic; }
.soir-sub { font-size: .65rem; font-style: italic; color: rgba(250,250,248,.32); font-family: var(--fs); }
.soir-p { font-size: .8rem; line-height: 1.75; color: rgba(250,250,248,.55); }
.soir-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.soir-item { font-size: .76rem; color: rgba(250,250,248,.55); display: flex; gap: 8px; line-height: 1.5; }
.soir-item strong { color: rgba(250,250,248,.8); font-weight: 500; }
.soir-item span.or { color: var(--or-pale); flex-shrink: 0; }
.soir-intro { font-family: var(--fs); font-style: italic; font-size: .92rem; line-height: 1.85; color: rgba(250,250,248,.45); border-left: 2px solid var(--or-pale); padding-left: 18px; margin-top: 12px; }

/* FORMULES */
.formules-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.formules-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.fc-card { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.fc-card.dark { background: #18160F; }
.fc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.fc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.fc-card.dark .fc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.fc-name { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.fc-card.dark .fc-name { color: var(--blanc); }
.fc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.fc-card.dark .fc-price { color: var(--blanc); }
.fc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.fc-card.dark .fc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.fc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.fc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.fc-items li:last-child { border: none; padding-bottom: 0; }
.fc-card.dark .fc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.fc-items li span { color: var(--or); flex-shrink: 0; }
.fc-card.dark .fc-items li span { color: var(--or-pale); }
.fc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.fc-card.dark .fc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* GILET */
.gilet-bloc { background: #F7F3EC; border: 0.5px solid rgba(168,132,60,.2); margin-top: 1px; padding: 28px 20px; display: flex; flex-direction: column; gap: 16px; }
.gilet-tag { font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.gilet-h { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); line-height: 1.2; }
.gilet-h em { color: var(--or); font-style: italic; }
.gilet-sub { font-family: var(--fs); font-style: italic; font-size: .8rem; color: var(--pierre); }
.gilet-p { font-size: .8rem; line-height: 1.78; color: var(--pierre); }
.gilet-price { font-family: var(--fs); font-size: 2rem; color: var(--or); line-height: 1; }
.gilet-price-sub { font-size: .72rem; color: var(--pierre); font-style: italic; }
.gilet-items { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gilet-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.gilet-item span { color: var(--or); flex-shrink: 0; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); padding: 32px 24px; margin-top: 24px; border-left: 3px solid var(--or); }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }


/* GALERIE */
.galerie {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 200px 200px;
  gap: 4px;
  margin-top: 28px;
  margin-bottom: 8px;
}
.galerie__item { position: relative; overflow: hidden; background: var(--ivoire); }
.galerie__item--large {
  grid-row: span 2;
  grid-column: 1;
}
.galerie__placeholder {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 6px;
  background: var(--lin);
  border: 1.5px dashed var(--or);
  border-style: dashed;
}
.galerie__placeholder span:first-child {
  font-family: var(--fs); font-size: 1.1rem; font-weight: 300; color: var(--pierre);
}
.galerie__hint {
  font-size: .55rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--or); opacity: .7;
}
.galerie__note {
  font-size: .68rem; color: var(--pierre); font-style: italic;
  text-align: center; padding: 10px;
  background: rgba(168,132,60,.05); border: 0.5px solid rgba(168,132,60,.15);
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .galerie {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 240px 240px;
  }
  .galerie__item--large { grid-row: span 2; }
}

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero-mariage { padding: 100px 48px 80px; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh, .s-nuit { padding: 80px 80px; }
  .accomp-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .express-bloc { display: grid; grid-template-columns: 1.3fr 1fr; }
  .express-right { border-top: none; border-left: 0.5px solid rgba(255,255,255,.07); }
  .champetre-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .soir-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .formules-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .gilet-bloc { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; padding: 36px 48px; }
  .btn-or { width: auto; padding: 16px 40px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero-maison {
  margin-top: 54px; padding: 72px 24px 56px;
  background: var(--brun); position: relative; overflow: hidden;
}
.hero-maison::before {
  content: ''; position: absolute; inset: 0;
  background: none;
  opacity: .1;
}
.hero-maison__content { position: relative; z-index: 2; max-width: 560px; display: flex; flex-direction: column; gap: 16px; }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 3.8rem); font-weight: 300; color: var(--blanc); line-height: 1.05; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.7; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* ADN / TIMELINE */
.adn-photo { height: 260px; background: var(--brun); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.adn-photo::before { display: none; }
.adn-mono { font-family: var(--fs); font-size: 6rem; font-weight: 300; color: rgba(201,168,108,.15); position: relative; z-index: 1; }
.adn-badge { position: absolute; bottom: 16px; left: 16px; z-index: 2; background: rgba(168,132,60,.15); border: 0.5px solid rgba(168,132,60,.3); padding: 10px 18px; }
.adn-badge-val { font-family: var(--fs); font-size: 1.5rem; color: var(--or-pale); line-height: 1; }
.adn-badge-lbl { font-size: .46rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(168,132,60,.55); margin-top: 3px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-bottom: 14px; }

/* TIMELINE */
.timeline { display: flex; flex-direction: column; gap: 0; margin-top: 24px; border-left: 1px solid var(--lin); padding-left: 0; }
.tl-item { padding: 0 0 28px 24px; position: relative; }
.tl-item::before { content: ''; position: absolute; left: -5px; top: 4px; width: 9px; height: 9px; border-radius: 50%; background: var(--or); }
.tl-item:last-child { padding-bottom: 0; }
.tl-year { font-size: .55rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 6px; }
.tl-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); margin-bottom: 8px; }
.tl-p { font-size: .78rem; line-height: 1.8; color: var(--pierre); }

/* PORTRAITS */
.portraits-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.portrait-card { background: var(--blanc); display: flex; flex-direction: column; }
.portrait-photo { height: 220px; background: var(--encre); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.portrait-photo.light { background: var(--ivoire); }
.portrait-letter { font-family: var(--fs); font-size: 5rem; font-weight: 300; color: rgba(168,132,60,.1); }
.portrait-photo-hint { position: absolute; bottom: 12px; left: 14px; font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(168,132,60,.45); }
.portrait-body { padding: 24px 20px; display: flex; flex-direction: column; gap: 10px; }
.portrait-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.portrait-role { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; }
.portrait-diplome { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); padding: 11px 14px; }
.portrait-diplome-label { font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.portrait-diplome-text { font-size: .78rem; line-height: 1.55; color: var(--pierre); }
.portrait-p { font-size: .82rem; line-height: 1.78; color: var(--pierre); }

/* ATELIER */
.atelier-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.atelier-photo { height: 200px; background: var(--ivoire); display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 20px; }
.atelier-photo-mono { font-family: var(--fs); font-size: 3.5rem; color: rgba(168,132,60,.08); }
.atelier-photo-hint { position: absolute; bottom: 10px; left: 12px; font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(168,132,60,.35); }
.atelier-left { background: var(--blanc); padding: 28px 20px; }
.atelier-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.atelier-title em { color: var(--or); font-style: italic; }
.atelier-tag { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 14px; }
.atelier-p { font-size: .82rem; line-height: 1.8; color: var(--pierre); margin-bottom: 10px; }
.atelier-right { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; gap: 16px; }
.info-grid { border: 0.5px solid var(--lin); }
.info-row { display: flex; gap: 14px; padding: 13px 16px; border-bottom: 0.5px solid var(--lin); }
.info-row:last-child { border: none; }
.info-label { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre); font-weight: 500; margin-bottom: 2px; }
.info-val { font-size: .82rem; color: var(--pierre); }
.atelier-promise { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 18px 20px; }
.atelier-promise-h { font-family: var(--fs); font-size: .95rem; color: var(--encre); margin-bottom: 10px; }
.atelier-promise-h em { color: var(--or); font-style: italic; }
.promise-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.promise-item { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; line-height: 1.5; }
.promise-item span { color: var(--or); flex-shrink: 0; }

/* VALEURS */
.valeurs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 24px; }
.valeur-card { background: var(--ivoire); padding: 28px 20px; display: flex; flex-direction: column; gap: 8px; }
.valeur-num { font-family: var(--fs); font-size: 2.5rem; font-weight: 300; color: rgba(168,132,60,.12); line-height: 1; }
.valeur-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.valeur-p { font-size: .78rem; line-height: 1.7; color: var(--pierre); }

/* TÉMOIGNAGE */
.temoignage { background: var(--blanc); border-left: 3px solid var(--or); padding: 28px 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero-maison { margin-top: 64px; padding: 100px 80px 80px; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .adn-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: start; }
  .adn-photo { height: 100%; min-height: 400px; margin-bottom: 0; position: sticky; top: 80px; }
  .portraits-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .atelier-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .atelier-left { padding: 40px 36px; }
  .atelier-right { padding: 40px 36px; }
  .valeurs-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .btn-or { width: auto; padding: 15px 40px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 56px; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 20px; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .08; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 16px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.6rem, 7vw, 4.5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 500px; }
.hero-price { display: flex; flex-direction: column; gap: 3px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); }
.hero-price-val { font-family: var(--fs); font-size: 2.6rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; gap: 8px; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 13px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 16px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }

/* SAVOIR-FAIRE */
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-body { display: flex; flex-direction: column; gap: 6px; }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; transition: all .2s; }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }



/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }


/* VESTIAIRE CASUAL */
.casual-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.casual-card { background: var(--ivoire); padding: 28px 20px; display: flex; flex-direction: column; gap: 10px; }
.casual-h { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.casual-tag { font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.casual-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); flex: 1; }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; padding: 0; min-height: 90vh; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  .casual-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .07; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.hero-cta { display: flex; flex-direction: column; gap: 8px; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-body { display: flex; flex-direction: column; gap: 6px; }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* ÉTOFFES */
.etoffes-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.etoffe-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.etoffe-maison { font-size: .52rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 8px; }
.etoffe-maison::before { content: '✦'; font-size: .4rem; }
.etoffe-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.etoffe-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.etoffe-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.etoffe-tag { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 4px 10px; background: var(--blanc); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-item-label { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); margin-bottom: 3px; display: block; }
.tc.dark .tc-item-label { color: var(--or-pale); }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; transition: all .2s; }
.tc-btn:hover { background: var(--encre); color: var(--blanc); }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--blanc); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid var(--lin); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; margin-top: 4px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }

/* CTA FINAL */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .etoffes-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--brun); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .08; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* SILHOUETTES */
.silhouettes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--lin); margin-top: 28px; }
.sil-card { background: var(--ivoire); padding: 20px 18px; display: flex; flex-direction: column; gap: 6px; }
.sil-num { font-size: .48rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.sil-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.sil-p { font-size: .72rem; line-height: 1.65; color: var(--pierre); }

/* MATIÈRES */
.matieres-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.mat-card { background: var(--ivoire); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.mat-card.dark-bg { background: var(--blanc); }
.mat-origin { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.mat-origin::before { content: '✦'; font-size: .4rem; }
.mat-h { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); }
.mat-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.mat-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mat-tag { font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 4px 10px; background: var(--blanc); }

/* OPTIONS */
.options-bloc { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 24px 20px; margin-top: 24px; display: flex; flex-direction: column; gap: 14px; }
.options-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); }
.options-h em { color: var(--or); font-style: italic; }
.options-items { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.options-item { font-size: .78rem; color: var(--pierre); display: flex; gap: 10px; line-height: 1.55; }
.options-item span { color: var(--or); flex-shrink: 0; }
.options-item strong { color: var(--encre); font-weight: 500; }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--blanc); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid var(--lin); }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); flex: 1; min-width: 240px; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .silhouettes-grid { grid-template-columns: repeat(4, 1fr); }
  .matieres-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--blanc); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; border-bottom: 1px solid var(--lin); }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { display: grid; grid-template-columns: repeat(3,1fr); background: var(--encre); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: var(--pierre); text-transform: uppercase; }
.hero-bread a { color: var(--pierre); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--encre); line-height: 1.02; }
.hero-h1 em { color: var(--or); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: var(--pierre); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.btn-hero { background: var(--encre); color: var(--blanc); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: var(--pierre); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.35); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* COLS & POIGNETS */
.options-section { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.options-group { background: var(--blanc); padding: 24px 20px; }
.options-group-title { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.options-group-sub { font-size: .72rem; font-style: italic; color: var(--pierre); font-family: var(--fs); margin-bottom: 14px; }
.options-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pill-option { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre); border: 0.5px solid var(--lin); padding: 7px 14px; background: var(--ivoire); }
.pill-option.active { background: var(--encre); color: var(--blanc); border-color: var(--encre); }

/* TISSUS */
.tissus-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.15); margin-top: 28px; }
.tissu-card { background: var(--ivoire); padding: 22px 20px; display: flex; flex-direction: column; gap: 6px; }
.tissu-card.alt { background: var(--blanc); }
.tissu-origine { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.tissu-origine::before { content: '✦'; font-size: .4rem; }
.tissu-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.tissu-p { font-size: .74rem; line-height: 1.65; color: var(--pierre); }

/* OFFRE SEMAINIER */
.semainier { background: var(--encre); padding: 28px 20px; margin-top: 1px; display: flex; flex-direction: column; gap: 14px; }
.semainier-tag { font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or-pale); display: flex; align-items: center; gap: 8px; }
.semainier-tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or-pale); }
.semainier-h { font-family: var(--fs); font-size: 1.6rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.semainier-h em { color: var(--or-pale); font-style: italic; }
.semainier-desc { font-size: .8rem; color: rgba(250,250,248,.5); line-height: 1.85; }
.semainier-price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.semainier-price-val { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.semainier-price-sub { font-size: .72rem; color: rgba(250,250,248,.4); font-style: italic; }
.semainier-items { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.semainier-item { font-size: .76rem; color: rgba(250,250,248,.55); display: flex; gap: 8px; line-height: 1.5; }
.semainier-item span { color: var(--or-pale); flex-shrink: 0; }
.btn-semainier { background: var(--or); color: var(--encre); border: none; padding: 12px 24px; font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--ivoire); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid rgba(168,132,60,.2); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 85vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-left: 0.5px solid var(--lin); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .options-section { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .tissus-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .semainier { flex-direction: row; align-items: center; justify-content: space-between; }
  .semainier-content { flex: 1; }
  .semainier-aside { text-align: right; min-width: 200px; }
  .btn-semainier { width: auto; }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--encre); padding: 64px 24px 0; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.hero::before { content: ''; position: absolute; inset: 0; background: none; opacity: .07; }
.hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 18px; padding-bottom: 52px; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.04); border-top: 0.5px solid rgba(255,255,255,.08); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: rgba(250,250,248,.3); text-transform: uppercase; }
.hero-bread a { color: rgba(250,250,248,.35); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or-pale); }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.8rem, 7vw, 5rem); font-weight: 300; color: var(--blanc); line-height: 1.02; }
.hero-h1 em { color: var(--or-pale); font-style: italic; }
.hero-desc { font-family: var(--fs); font-size: 1rem; font-style: italic; color: rgba(250,250,248,.5); line-height: 1.75; max-width: 520px; }
.hero-price-from { font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(250,250,248,.3); display: block; }
.hero-price-val { font-family: var(--fs); font-size: 2.8rem; font-weight: 300; color: var(--blanc); line-height: 1; }
.btn-hero { background: var(--or); color: var(--encre); border: none; padding: 14px 24px; font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.hero-note { font-size: .55rem; color: rgba(250,250,248,.25); letter-spacing: .07em; }
.hs { padding: 18px 14px; border-right: 0.5px solid rgba(255,255,255,.06); }
.hs:last-child { border: none; }
.hs-val { display: block; font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--blanc); line-height: 1; margin-bottom: 5px; }
.hs-sep { width: 14px; height: 0.5px; background: var(--or); margin-bottom: 5px; }
.hs-lbl { display: block; font-size: .44rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,250,248,.3); }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.intro-p { font-size: .85rem; line-height: 1.85; color: var(--pierre); margin-top: 14px; }

/* SAVOIR-FAIRE */
.details-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.detail-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.detail-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); }
.detail-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); margin-bottom: 6px; }
.detail-p { font-size: .78rem; line-height: 1.75; color: var(--pierre); }

/* MODÈLES */
.modeles-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.modele-card { background: var(--blanc); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.modele-card.featured { background: var(--brun); }
.modele-num { font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); }
.modele-card.featured .modele-num { color: var(--or-pale); opacity: .6; }
.modele-h { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); }
.modele-card.featured .modele-h { color: var(--blanc); }
.modele-sub { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--or); }
.modele-card.featured .modele-sub { color: var(--or-pale); opacity: .7; }
.modele-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.modele-card.featured .modele-p { color: rgba(250,250,248,.5); }

/* MESURES */
.mesures-bloc { background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.18); padding: 24px 20px; margin-top: 24px; }
.mesures-h { font-family: var(--fs); font-size: 1.05rem; font-weight: 400; color: var(--encre); margin-bottom: 14px; }
.mesures-h em { color: var(--or); font-style: italic; }
.mesures-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.mesure-item { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; color: var(--pierre); border: 0.5px solid var(--lin); padding: 6px 12px; background: var(--blanc); }

/* OPTIONS */
.options-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(168,132,60,.12); margin-top: 28px; }
.option-card { background: var(--ivoire); padding: 20px 18px; display: flex; flex-direction: column; gap: 6px; }
.option-card.alt { background: var(--blanc); }
.option-tag { font-size: .5rem; letter-spacing: .14em; text-transform: uppercase; color: var(--or); display: flex; align-items: center; gap: 6px; }
.option-tag::before { content: '✦'; font-size: .4rem; }
.option-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); }
.option-p { font-size: .74rem; line-height: 1.65; color: var(--pierre); }

/* GALERIE */
.galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 28px; }
.galerie__item { height: 160px; background: var(--lin); position: relative; display: flex; align-items: center; justify-content: center; }
.galerie__item--large { grid-column: span 2; height: 200px; }
.galerie__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1.5px dashed rgba(168,132,60,.3); }
.galerie__label { font-family: var(--fs); font-size: 1rem; color: var(--pierre); }
.galerie__hint { font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; color: var(--or); opacity: .6; }
.galerie__note { font-size: .68rem; color: var(--pierre); font-style: italic; text-align: center; padding: 10px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.15); margin-top: 4px; }

/* TÉMOIGNAGE */
.temoignage { background: var(--ivoire); border-left: 3px solid var(--or); padding: 28px 20px; margin-top: 24px; }
.temoignage blockquote { font-family: var(--fs); font-size: 1.05rem; font-style: italic; color: var(--encre); line-height: 1.75; margin-bottom: 12px; }
.temoignage cite { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--pierre); }

/* TARIFS */
.tarifs-note { font-size: .75rem; color: var(--pierre); line-height: 1.85; padding: 12px 14px; background: rgba(168,132,60,.04); border: 0.5px solid rgba(168,132,60,.17); margin-top: 14px; }
.tarifs-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 22px; }
.tc { background: var(--blanc); padding: 28px 20px; display: flex; flex-direction: column; position: relative; }
.tc.dark { background: #18160F; }
.tc-badge { position: absolute; top: 0; left: 50%; transform: translateX(-50%); background: var(--or); color: var(--encre); font-size: .46rem; letter-spacing: .14em; text-transform: uppercase; padding: 4px 14px; white-space: nowrap; font-weight: 500; }
.tc-num { font-size: .5rem; letter-spacing: .17em; text-transform: uppercase; color: var(--pierre); display: block; margin-bottom: 8px; }
.tc.dark .tc-num { color: rgba(201,168,108,.45); margin-top: 8px; }
.tc-name { font-family: var(--fs); font-size: 1.15rem; font-weight: 400; color: var(--encre); margin-bottom: 4px; }
.tc.dark .tc-name { color: var(--blanc); }
.tc-price { font-family: var(--fs); font-size: 2.4rem; font-weight: 300; color: var(--encre); line-height: 1; margin-bottom: 3px; }
.tc.dark .tc-price { color: var(--blanc); }
.tc-sub { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pierre); margin-bottom: 14px; padding-bottom: 14px; border-bottom: 0.5px solid var(--lin); font-style: italic; }
.tc.dark .tc-sub { color: rgba(201,168,108,.45); border-color: rgba(255,255,255,.07); }
.tc-items { list-style: none; display: flex; flex-direction: column; gap: 8px; flex: 1; margin-bottom: 18px; }
.tc-items li { font-size: .76rem; color: var(--pierre); display: flex; gap: 8px; padding-bottom: 8px; border-bottom: 0.5px solid var(--lin); line-height: 1.5; }
.tc-items li:last-child { border: none; padding-bottom: 0; }
.tc.dark .tc-items li { color: rgba(255,255,255,.6); border-color: rgba(255,255,255,.07); }
.tc-items li span { color: var(--or); flex-shrink: 0; }
.tc.dark .tc-items li span { color: var(--or-pale); }
.tc-btn { display: block; padding: 12px; text-align: center; border: 0.5px solid var(--encre); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; color: var(--encre); cursor: pointer; font-family: var(--fn); width: 100%; background: none; }
.tc.dark .tc-btn { background: var(--or); color: var(--encre); border: none; font-weight: 500; }

/* UPSELL */
.upsell { background: var(--ivoire); padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; margin-top: 1px; border: 0.5px solid rgba(168,132,60,.2); }
.upsell-left { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 6px; }
.upsell-name { font-family: var(--fs); font-size: 1.2rem; font-weight: 400; color: var(--encre); }
.upsell-name em { color: var(--or); font-style: italic; }
.upsell-p { font-size: .76rem; line-height: 1.7; color: var(--pierre); }
.upsell-price { text-align: right; }
.upsell-price-val { font-family: var(--fs); font-size: 1.8rem; font-weight: 300; color: var(--encre); line-height: 1; }
.upsell-price-sub { font-size: .6rem; color: var(--pierre); font-style: italic; display: block; }

/* CTA */
.cta-fin { background: var(--encre); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.4); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; flex-direction: row; align-items: stretch; min-height: 90vh; padding: 0; }
  .hero__content { flex: 1; padding: 100px 64px 80px; justify-content: center; }
  .hero__stats { flex-direction: column; width: 180px; flex-shrink: 0; border-top: none; border-left: 0.5px solid rgba(255,255,255,.08); }
  .hs { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,.06); padding: 28px 24px; }
  .hs:last-child { border: none; }
  .btn-hero { width: auto; }
  .s-iv, .s-wh { padding: 80px 80px; }
  .details-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .modeles-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
  .options-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .galerie { grid-template-columns: repeat(3, 1fr); }
  .galerie__item { height: 220px; }
  .galerie__item--large { grid-column: span 1; height: 220px; }
  .tarifs-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .btn-or { width: auto; padding: 15px 48px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --blanc: #FAFAF8; --ivoire: #F2EEE6; --lin: #E5DFD3;
  --pierre: #787068; --encre: #18160F; --brun: #2E2B22;
  --or: #A8843C; --or-pale: #C9A86C;
  --fs: 'Cormorant Garamond', Georgia, serif;
  --fn: 'Jost', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--fn); background: var(--blanc); color: var(--encre); font-weight: 300; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; height: 54px; background: rgba(250,250,248,.97); backdrop-filter: blur(12px); border-bottom: 0.5px solid var(--lin); }
.nav-logo { font-family: var(--fs); font-size: .95rem; color: var(--encre); }
.nav-logo em { color: var(--or); font-style: italic; }
.nav-links { display: none; }
.nav-cta { font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; background: var(--encre); color: var(--blanc); padding: 8px 14px; border: none; cursor: pointer; font-family: var(--fn); }

/* HÉRO */
.hero { margin-top: 54px; background: var(--ivoire); padding: 56px 24px 48px; position: relative; overflow: hidden; border-bottom: 0.5px solid var(--lin); }
.hero::before { content: ''; position: absolute; right: -40px; top: -40px; width: 300px; height: 300px; border-radius: 50%; background: rgba(168,132,60,.06); }
.hero-bread { font-size: .52rem; letter-spacing: .14em; color: var(--pierre); text-transform: uppercase; margin-bottom: 16px; }
.hero-bread a { color: var(--pierre); text-decoration: none; }
.hero-eyebrow { font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--or); margin-bottom: 12px; display: block; }
.hero-h1 { font-family: var(--fs); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 300; color: var(--encre); line-height: 1.05; margin-bottom: 16px; }
.hero-h1 em { color: var(--or); font-style: italic; }
.hero-desc { font-size: .85rem; color: var(--pierre); line-height: 1.85; max-width: 480px; }

/* UTILS */
.tag { display: inline-flex; align-items: center; gap: 8px; font-size: .52rem; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.tag::before { content: ''; width: 14px; height: 0.5px; background: var(--or); }
.h2 { font-family: var(--fs); font-size: 1.9rem; font-weight: 300; line-height: 1.15; color: var(--encre); margin-top: 8px; }
.h2 em { color: var(--or); font-style: italic; }
.s-iv { background: var(--ivoire); padding: 52px 20px; }
.s-wh { background: var(--blanc); padding: 52px 20px; }
.s-dk { background: var(--encre); padding: 52px 20px; }

/* INFOS PRATIQUES */
.infos-grid { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.info-card { background: var(--blanc); padding: 24px 20px; display: flex; gap: 16px; align-items: flex-start; }
.info-icon { width: 40px; height: 40px; background: rgba(168,132,60,.07); border: 0.5px solid rgba(168,132,60,.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--or); font-size: 1rem; }
.info-label { font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; color: var(--or); display: block; margin-bottom: 4px; }
.info-val { font-family: var(--fs); font-size: 1.1rem; font-weight: 400; color: var(--encre); line-height: 1.3; }
.info-val a { color: var(--encre); text-decoration: none; }
.info-val a:hover { color: var(--or); }
.info-sub { font-size: .72rem; color: var(--pierre); margin-top: 4px; line-height: 1.5; }

/* CALENDLY */
.calendly-section { background: var(--ivoire); padding: 52px 20px; }
.calendly-wrapper { background: var(--blanc); border: 0.5px solid var(--lin); margin-top: 28px; overflow: hidden; }
.calendly-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 64px 24px; text-align: center; border: 1.5px dashed rgba(168,132,60,.3); margin: 0; }
.calendly-icon { width: 56px; height: 56px; background: rgba(168,132,60,.08); border: 0.5px solid rgba(168,132,60,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--or); font-size: 1.4rem; }
.calendly-title { font-family: var(--fs); font-size: 1.3rem; font-weight: 300; color: var(--encre); }
.calendly-desc { font-size: .78rem; color: var(--pierre); line-height: 1.8; max-width: 360px; }
.calendly-btn { background: var(--or); color: var(--encre); border: none; padding: 13px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; }
.calendly-note { font-size: .6rem; color: var(--pierre); font-style: italic; }

/* CARTE */
.map-section { background: var(--blanc); padding: 52px 20px; }
.map-wrapper { height: 280px; background: var(--lin); border: 0.5px solid var(--lin); margin-top: 28px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.map-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.map-pin { font-size: 2rem; color: var(--or); }
.map-addr { font-family: var(--fs); font-size: 1.1rem; color: var(--encre); }
.map-sub { font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; color: var(--pierre); }
.map-link { font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--or); text-decoration: none; border-bottom: 0.5px solid rgba(168,132,60,.4); padding-bottom: 2px; }

/* POURQUOI */
.pourquoi-grid { display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,.06); margin-top: 28px; }
.pourquoi-card { background: rgba(255,255,255,.03); border: 0.5px solid rgba(255,255,255,.07); padding: 24px 20px; display: flex; flex-direction: column; gap: 8px; }
.pourquoi-num { font-family: var(--fs); font-size: 2rem; font-weight: 300; color: rgba(168,132,60,.2); line-height: 1; }
.pourquoi-h { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--blanc); }
.pourquoi-p { font-size: .76rem; line-height: 1.75; color: rgba(250,250,248,.45); }

/* FAQ CONTACT */
.faq-contact { display: flex; flex-direction: column; gap: 1px; background: var(--lin); margin-top: 28px; }
.faq-item { background: var(--blanc); }
.faq-question { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; gap: 16px; width: 100%; text-align: left; border: none; background: none; cursor: pointer; }
.faq-q { font-family: var(--fs); font-size: 1rem; font-weight: 400; color: var(--encre); line-height: 1.3; }
.faq-icon { font-size: 1.2rem; color: var(--or); flex-shrink: 0; transition: transform .3s; }
.faq-answer { padding: 0 20px 18px; font-size: .8rem; line-height: 1.8; color: var(--pierre); border-top: 0.5px solid var(--lin); padding-top: 14px; display: none; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-icon { transform: rotate(45deg); }

/* CTA FINAL */
.cta-fin { background: var(--brun); padding: 56px 20px; text-align: center; }
.cta-fin__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.cta-fin__h2 { font-family: var(--fs); font-size: 2.1rem; font-weight: 300; color: var(--blanc); line-height: 1.15; }
.cta-fin__h2 em { color: var(--or-pale); font-style: italic; }
.cta-fin__p { font-size: .78rem; color: rgba(250,250,248,.45); line-height: 1.85; }
.btn-or { background: var(--or); color: var(--encre); border: none; padding: 14px 28px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); font-weight: 500; width: 100%; }
.btn-ghost-light { border: 0.5px solid rgba(250,250,248,.3); color: rgba(250,250,248,.7); background: none; padding: 13px 24px; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; font-family: var(--fn); width: 100%; }

/* FOOTER */
footer { background: #0d0b06; padding: 24px 20px; display: flex; flex-direction: column; gap: 7px; }
.f-logo { font-family: var(--fs); font-size: .88rem; color: rgba(250,250,248,.3); }
.f-logo em { color: var(--or); font-style: italic; }
.f-info { font-size: .52rem; letter-spacing: .09em; color: rgba(250,250,248,.18); }

/* DESKTOP */
@media (min-width: 768px) {
  nav { padding: 0 48px; height: 64px; }
  .nav-links { display: flex; gap: 32px; list-style: none; }
  .nav-links a { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--pierre); text-decoration: none; }
  .nav-cta { font-size: .6rem; padding: 10px 20px; }
  .hero { margin-top: 64px; padding: 80px 80px 64px; }
  .s-iv, .s-wh, .s-dk, .calendly-section, .map-section { padding: 80px 80px; }
  .infos-grid { display: grid; grid-template-columns: 1fr 1fr; }
  .map-wrapper { height: 380px; }
  .pourquoi-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
  .cta-btns { flex-direction: row; gap: 16px; }
  .btn-or, .btn-ghost-light { width: auto; padding: 14px 36px; }
  footer { flex-direction: row; align-items: center; justify-content: space-between; padding: 28px 80px; }
  .cta-fin { padding: 96px 80px; }
}

/* ══ NAV & MODAL & FOOTER ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--blanc:#FAFAF8;--ivoire:#F2EEE6;--lin:#E5DFD3;--pierre:#787068;--encre:#18160F;--brun:#2E2B22;--or:#A8843C;--or-pale:#C9A86C;--nuit:#1C2235;--fs:'Cormorant Garamond',Georgia,serif;--fn:'Jost',sans-serif;}
body{font-family:var(--fn);background:var(--blanc);color:var(--encre);font-weight:300;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{cursor:pointer;font-family:var(--fn)}
.fc-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:rgba(250,250,248,.97);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--lin)}
.fc-nav__logo{font-family:var(--fs);font-size:1.05rem;font-weight:400;color:var(--encre);text-decoration:none}
.fc-nav__logo em{color:var(--or);font-style:italic}
.fc-nav__links{display:flex;gap:28px;list-style:none}
.fc-nav__links a{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pierre);text-decoration:none;transition:color .2s}
.fc-nav__links a:hover,.fc-nav__links a.active{color:var(--or)}
.fc-nav__cta{font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;background:var(--encre);color:var(--blanc);border:none;padding:9px 16px;font-family:var(--fn);cursor:pointer}
.fc-nav__hamburger{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer}
.fc-nav__hamburger span{display:block;width:22px;height:1px;background:var(--encre)}
.fc-nav__mobile{display:none;position:fixed;top:54px;left:0;right:0;background:var(--blanc);border-bottom:0.5px solid var(--lin);padding:20px 24px;flex-direction:column;gap:16px;z-index:199}
.fc-nav__mobile.open{display:flex}
.fc-nav__mobile a{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pierre);text-decoration:none;padding:8px 0;border-bottom:0.5px solid var(--lin)}
.fc-modal-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(24,22,15,.85);backdrop-filter:blur(4px);align-items:center;justify-content:center}
.fc-modal-overlay.open{display:flex}
.fc-modal{background:var(--blanc);width:90%;max-width:680px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}
.fc-modal__header{padding:20px 24px;border-bottom:0.5px solid var(--lin);display:flex;align-items:center;justify-content:space-between}
.fc-modal__title{font-family:var(--fs);font-size:1.2rem;font-weight:300;color:var(--encre)}
.fc-modal__title em{color:var(--or);font-style:italic}
.fc-modal__close{background:none;border:none;font-size:1.6rem;color:var(--pierre);cursor:pointer;line-height:1;padding:0 6px}
.fc-modal__body{flex:1;overflow:auto}
.fc-modal__body iframe{display:block;width:100%;min-height:580px;border:none}
.fc-modal__note{padding:10px 24px;background:rgba(168,132,60,.05);border-top:0.5px solid var(--lin);font-size:.62rem;color:var(--pierre);text-align:center;font-style:italic}
.fc-footer{background:#0d0b06;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.fc-footer__logo{font-family:var(--fs);font-size:.9rem;color:rgba(250,250,248,.3);text-decoration:none}
.fc-footer__logo em{color:var(--or);font-style:italic}
.fc-footer__info{font-size:.54rem;letter-spacing:.09em;color:rgba(250,250,248,.2)}
.fc-footer__links{display:flex;gap:20px;list-style:none}
.fc-footer__links a{font-size:.5rem;letter-spacing:.11em;text-transform:uppercase;color:rgba(250,250,248,.22);text-decoration:none}
@media(max-width:900px){.fc-nav{padding:0 20px;height:54px}.fc-nav__links,.fc-nav__cta{display:none}.fc-nav__hamburger{display:flex}.fc-footer{padding:24px 20px;flex-direction:column;gap:8px}}

/* HÉRO PHOTO PLEIN FOND */
.page-hero-photo{margin-top:54px;position:relative;overflow:hidden;min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,var(--brun) 0%,var(--encre) 60%)}
.page-hero-photo__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28;filter:blur(3px);transform:scale(1.06)}
.page-hero-photo__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,22,15,.95) 0%,rgba(24,22,15,.65) 50%,rgba(24,22,15,.25) 100%)}
.page-hero-photo__content{position:relative;z-index:2;padding:64px 24px 56px;width:100%;display:flex;flex-direction:column;gap:14px}
.page-hero-photo__bread{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,250,248,.3)}
.page-hero-photo__bread a{color:rgba(250,250,248,.35);text-decoration:none}
.page-hero-photo__eyebrow{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or-pale)}
.page-hero-photo__h1{font-family:var(--fs);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;color:var(--blanc);line-height:1.04}
.page-hero-photo__h1 em{color:var(--or-pale);font-style:italic}
.page-hero-photo__desc{font-family:var(--fs);font-style:italic;font-size:1rem;color:rgba(250,250,248,.5);line-height:1.7;max-width:520px}
@media(min-width:768px){.page-hero-photo{min-height:560px;margin-top:64px}.page-hero-photo__content{padding:80px 80px 64px}}

/* LIGHTBOX */
.fc-lightbox{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);align-items:center;justify-content:center;cursor:zoom-out}
.fc-lightbox.open{display:flex}
.fc-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain}
.fc-lightbox__close{position:fixed;top:20px;right:28px;color:#fff;font-size:2rem;cursor:pointer;opacity:.7;line-height:1;background:none;border:none}
.fc-lightbox__prev,.fc-lightbox__next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;font-size:1.5rem;padding:12px 16px;cursor:pointer}
.fc-lightbox__prev{left:16px}
.fc-lightbox__next{right:16px}
.galerie__item{cursor:zoom-in;overflow:hidden;position:relative}

