*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
  legend { padding: 0; }
  input, select, textarea, button { font-family: inherit; }

  :root {
    --gold:         #C8A96E;
    --gold-light:   #E2CB9A;
    --gold-dark:    #8B6B35;
    --gold-subtle:  rgba(200,169,110,0.12);
    --ink:          #0D0D0D;
    --charcoal:     #1A1A1A;
    --graphite:     #2C2C2C;
    --smoke:        #4A4A4A;
    --muted:        #6E6E6E;
    --border:       #E0D8CC;
    --cream:        #F7F3EC;
    --paper:        #FDFAF5;
    --white:        #FFFFFF;
    --font-display: 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
    --font-body:    'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', Verdana, sans-serif;
    --radius:    3px;
    --radius-lg: 6px;
    --shadow:    0 2px 24px rgba(0,0,0,.08);
    --shadow-lg: 0 8px 56px rgba(0,0,0,.14);
    --trans:     0.25s ease;
    --form-bg:           #fff;
    --form-border:       #ddd8cf;
    --form-border-focus: var(--gold);
    --form-text:         var(--ink);
    --form-label:        var(--graphite);
    --form-radius:       var(--radius);
    --error:             #b03030;
    --success-bg:        #f0f7f0;
    --success-text:      #1a5c2a;
  }

  html { scroll-behavior: smooth; }
  body { font-family: var(--font-body); background: var(--paper); color: var(--graphite); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }

  .container     { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
  .container--sm { max-width: 820px;  margin: 0 auto; padding: 0 2rem; }
  .section       { padding: 5rem 0; }
  .section--dark  { background: var(--charcoal); color: var(--paper); }
  .section--ink   { background: var(--ink); color: var(--paper); }
  .section--cream { background: var(--cream); }
  .section--white { background: var(--white); }

  .section-eyebrow { display: inline-block; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 0.85rem; }
  .section--dark .section-eyebrow, .section--ink .section-eyebrow { color: var(--gold); }

  h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 400; line-height: 1.2; }
  h1 { font-size: clamp(1.9rem, 4.5vw, 3.2rem); }
  h2 { font-size: clamp(1.5rem, 3vw, 2.3rem); margin-bottom: 1.2rem; }
  h3 { font-size: 1.15rem; margin-bottom: 0.5rem; font-weight: 600; }
  h4 { font-size: 1rem; margin-bottom: 0.4rem; font-weight: 600; font-family: var(--font-body); }
  p  { margin-bottom: 1rem; color: var(--muted); font-size: 0.95rem; }
  .section--dark p, .section--ink p { color: rgba(255,255,255,.62); }
  strong { color: var(--graphite); font-weight: 600; }
  em { font-style: italic; color: var(--gold-dark); }

  .gold-rule { display: block; width: 48px; height: 1px; background: var(--gold); margin: 0 0 2rem; }
  .gold-rule--center { margin: 0 auto 2rem; }

  .btn { display: inline-block; padding: 0.85rem 2.2rem; font-family: var(--font-body); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; border-radius: var(--radius); transition: var(--trans); cursor: pointer; border: 1.5px solid transparent; }
  .btn-primary { background: var(--gold); color: var(--ink); border-color: var(--gold); }
  .btn-primary:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: var(--white); }
  .btn-outline { background: transparent; color: var(--paper); border-color: rgba(255,255,255,.35); }
  .btn-outline:hover { border-color: var(--gold); color: var(--gold-light); }
  .btn-outline-dark { background: transparent; color: var(--graphite); border-color: var(--border); }
  .btn-outline-dark:hover { border-color: var(--gold); color: var(--gold-dark); }
  @media (max-width: 600px) { .btn { display: block; width: 100%; text-align: center; } .hero-actions, .page-hero-actions, .cta-actions { flex-direction: column; align-items: stretch; } }



  .breadcrumb { background: var(--cream); border-bottom: 1px solid var(--border); padding: 0.65rem 0; }
  .breadcrumb nav { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
  .breadcrumb a { font-size: 0.75rem; color: var(--muted); text-decoration: none; }
  .breadcrumb a:hover { color: var(--gold-dark); }
  .breadcrumb span { font-size: 0.75rem; color: var(--border); }
  .breadcrumb strong { font-size: 0.75rem; color: var(--smoke); font-weight: 600; }

  .page-hero { background: var(--ink); position: relative; overflow: hidden; padding: 5rem 0 4rem; }
  .page-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 85% 50%, rgba(200,169,110,.07) 0%, transparent 65%), radial-gradient(ellipse 30% 40% at 10% 80%, rgba(200,169,110,.04) 0%, transparent 60%); pointer-events: none; }
  .page-hero .container { position: relative; z-index: 1; }
  .hero-tag { font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 1.1rem; display: flex; align-items: center; gap: 0.75rem; }
  .hero-tag::before { content: ''; display: inline-block; width: 28px; height: 1px; background: var(--gold); }
  .page-hero h1 { color: var(--paper); max-width: 720px; margin-bottom: 1.25rem; }
  .page-hero h1 em { color: var(--gold-light); font-style: italic; }
  .page-hero-lead { font-size: 1rem; color: rgba(255,255,255,.65); max-width: 600px; margin-bottom: 2rem; line-height: 1.8; }
  .page-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }

  .content-grid { display: grid; grid-template-columns: 1fr 340px; gap: 4rem; align-items: start; }
  @media (max-width: 960px) { .content-grid { grid-template-columns: 1fr; } }
  .content-grid--reverse { grid-template-columns: 340px 1fr; }
  @media (max-width: 960px) { .content-grid--reverse { grid-template-columns: 1fr; } }

  .sidebar-card { background: var(--ink); border-radius: var(--radius-lg); padding: 2rem 1.75rem; position: sticky; top: 90px; }
  .sidebar-card::before { content: ''; display: block; width: 48px; height: 2px; background: var(--gold); margin-bottom: 1.5rem; }
  .sidebar-card h3 { font-family: var(--font-display); font-size: 1.3rem; color: var(--paper); margin-bottom: 0.35rem; font-weight: 400; }
  .sidebar-card p { font-size: 0.85rem; color: rgba(255,255,255,.5); margin-bottom: 1.25rem; }
  .sidebar-list { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; margin-bottom: 1.5rem; }
  .sidebar-list li { font-size: 0.82rem; color: rgba(255,255,255,.6); display: flex; align-items: flex-start; gap: 0.6rem; line-height: 1.5; }
  .sidebar-list li::before { content: '♦'; color: var(--gold); font-size: 0.5rem; margin-top: 0.35rem; flex-shrink: 0; }
  .sidebar-cta { display: block; text-align: center; padding: 0.85rem; background: var(--gold); color: var(--ink); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; border-radius: var(--radius); transition: background var(--trans), color var(--trans); }
  .sidebar-cta:hover { background: var(--gold-dark); color: var(--white); }
  @media (max-width: 960px) { .sidebar-card { position: static; } }

  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 1.75rem 0; }
  @media (max-width: 640px) { .two-col { grid-template-columns: 1fr; } }
  .three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2.5rem; }
  @media (max-width: 900px) { .three-col { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 520px) { .three-col { grid-template-columns: 1fr; } }
  .four-col { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 2rem; }
  @media (max-width: 900px) { .four-col { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 520px) { .four-col { grid-template-columns: 1fr; } }

  .info-card { background: var(--white); border: 1px solid var(--border); border-left: 3px solid var(--gold); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; padding: 1.25rem 1.1rem; }
  .info-card h4 { color: var(--graphite); margin-bottom: 0.35rem; }
  .info-card p { font-size: 0.87rem; margin-bottom: 0; color: var(--muted); line-height: 1.6; }

  .dark-card { background: rgba(255,255,255,.04); border: 1px solid rgba(200,169,110,.15); border-radius: var(--radius-lg); padding: 1.5rem 1.25rem; transition: background var(--trans), border-color var(--trans); }
  .dark-card:hover { background: rgba(200,169,110,.07); border-color: rgba(200,169,110,.3); }
  .dark-card-icon { font-size: 1.4rem; display: block; margin-bottom: 0.6rem; color: var(--gold); }
  .dark-card h3 { font-size: 0.95rem; color: var(--paper); margin-bottom: 0.35rem; font-family: var(--font-body); font-weight: 700; }
  .dark-card p  { font-size: 0.83rem; color: rgba(255,255,255,.48); margin-bottom: 0; line-height: 1.6; }

  .check-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; margin: 1rem 0 1.5rem; }
  .check-list li { display: flex; align-items: flex-start; gap: 0.65rem; font-size: 0.9rem; color: var(--smoke); line-height: 1.55; }
  .check-list li::before { content: '✦'; color: var(--gold); font-size: 0.55rem; margin-top: 0.35rem; flex-shrink: 0; }

  .tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0 1.5rem; }
  .tag { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; padding: 0.3rem 0.8rem; border: 1px solid var(--border); border-radius: 2px; color: var(--smoke); background: var(--white); }
  .tag--gold { border-color: rgba(200,169,110,.4); color: var(--gold-dark); background: var(--gold-subtle); }

  .step-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-top: 3rem; }
  @media (max-width: 768px) { .step-list { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }
  @media (max-width: 480px) { .step-list { grid-template-columns: 1fr; } }
  .step { text-align: center; padding: 0 1.5rem; position: relative; }
  .step:not(:last-child)::after { content: ''; position: absolute; top: 28px; right: -10%; width: 60%; height: 1px; background: linear-gradient(to right, rgba(200,169,110,.4), transparent); }
  .step-num { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid rgba(200,169,110,.3); border-radius: 50%; font-family: var(--font-display); font-size: 1.25rem; color: var(--gold); background: var(--ink); margin-bottom: 1.25rem; position: relative; z-index: 1; }
  .step h3 { font-size: 0.92rem; color: var(--paper); margin-bottom: 0.4rem; font-family: var(--font-body); font-weight: 600; letter-spacing: 0.04em; }
  .step p  { font-size: 0.82rem; color: rgba(255,255,255,.45); margin-bottom: 0; line-height: 1.55; }

  .faq-list { display: flex; flex-direction: column; margin-top: 2.5rem; }
  .faq-item { border-bottom: 1px solid var(--border); }
  .faq-question { width: 100%; background: none; border: none; padding: 1.35rem 0; font-family: var(--font-display); font-size: 1rem; color: var(--charcoal); text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; transition: color var(--trans); }
  .faq-question:hover { color: var(--gold-dark); }
  .faq-question::after { content: '+'; font-size: 1.5rem; color: var(--gold); transition: transform var(--trans); flex-shrink: 0; font-family: var(--font-body); font-weight: 300; line-height: 1; }
  .faq-item.open .faq-question::after { transform: rotate(45deg); }
  .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.38s ease; }
  .faq-item.open .faq-answer { max-height: 900px; }
  .faq-answer p { padding-bottom: 1.35rem; }

  .mini-form-wrap { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 2.5rem; box-shadow: var(--shadow-lg); max-width: 680px; margin: 0 auto; }
  .mini-form-title { font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; color: var(--gold-dark); margin-bottom: 0.4rem; text-align: center; }
  .mini-form-sub { font-size: 0.85rem; color: var(--muted); text-align: center; margin-bottom: 1.75rem; }
  .mini-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  @media (max-width: 560px) { .mini-form { grid-template-columns: 1fr; } }
  .form-group-full { grid-column: 1 / -1; }
  .form-group { display: flex; flex-direction: column; gap: 0.35rem; }
  .form-group label { font-size: 0.73rem; font-weight: 700; color: var(--graphite); letter-spacing: 0.06em; text-transform: uppercase; }
  .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 0.75rem 1rem; font-size: 0.9rem; color: var(--ink); background: var(--paper); border: 1.5px solid var(--form-border); border-radius: var(--form-radius); transition: border-color 0.2s; appearance: auto;
    -webkit-appearance: auto; font-family: var(--font-body); }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--gold); }
  .field-error { font-size: 0.73rem; color: var(--error); }
  .required { color: var(--gold-dark); }
  .hp-field { position: absolute; left: -9999px; opacity: 0; pointer-events: none; height: 0; overflow: hidden; }
  .form-submit-area { grid-column: 1 / -1; text-align: center; margin-top: 0.5rem; }
  .btn-submit { background: var(--gold); color: var(--ink); border: 1.5px solid var(--gold); padding: 0.95rem 3rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; border-radius: var(--radius); cursor: pointer; width: 100%; transition: background 0.2s, color 0.2s; font-family: var(--font-body); }
  .btn-submit:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: var(--white); }
  .btn-submit:disabled { opacity: 0.6; cursor: not-allowed; }
  .form-mention { font-size: 0.7rem; color: var(--muted); margin-top: 0.75rem; }
  .form-success { margin-top: 1.5rem; padding: 1.5rem; background: var(--success-bg); border: 1px solid #a8d5b0; border-left: 3px solid #2d8a4e; border-radius: var(--radius-lg); text-align: center; color: var(--success-text); }
  .form-success h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 400; margin-bottom: 0.5rem; color: var(--success-text); }
  .form-success p { margin: 0; font-size: 0.875rem; color: var(--success-text); }
  .form-error-global { margin-top: 1rem; padding: 1rem 1.25rem; background: #fef2f2; border-left: 3px solid var(--error); border-radius: var(--radius); color: var(--error); font-size: 0.875rem; }

  .cta-section { background: var(--charcoal); position: relative; overflow: hidden; text-align: center; padding: 6rem 0; }
  .cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(200,169,110,.07) 0%, transparent 70%); pointer-events: none; }
  .cta-inner { position: relative; z-index: 1; }
  .cta-section h2 { color: var(--paper); max-width: 580px; margin: 0 auto 1rem; }
  .cta-section p { max-width: 460px; margin: 0 auto 2.25rem; color: rgba(255,255,255,.55); font-size: 0.92rem; }
  .cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

  /* ── FOOTER ── */
  .site-footer { background:var(--ink); border-top:1px solid rgba(200,169,110,.12); padding:3rem 2rem 2rem; }
  .footer-inner { max-width:820px; margin:0 auto; text-align:center; margin-bottom:2rem; }
  .footer-brand-logo { font-family:var(--font-display); font-size:1.1rem; color:var(--paper); margin-bottom:.75rem; display:block; letter-spacing:.02em; }
  .fbl-accent { color:var(--gold); }
  .fbl-sep { display:inline-block; width:1px; height:.9em; background:rgba(200,169,110,.35); margin:0 .3rem; vertical-align:middle; }
  .fbl-sub { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.35); font-family:var(--font-body); font-weight:400; }
  .footer-brand-desc { font-size:.82rem; color:rgba(255,255,255,.35); line-height:1.65; margin-bottom:1rem; }
  .footer-info { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem 1.5rem; margin:0; }
  .footer-info li { font-size:.72rem; color:rgba(255,255,255,.22); }
  .footer-bottom { max-width:1100px; margin:0 auto; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.06); text-align:center; }
  .footer-bottom p { font-size:.7rem; color:rgba(255,255,255,.2); margin:0; }
  .footer-bottom a { color:rgba(255,255,255,.2); text-decoration:none; }
  .footer-bottom a:hover { color:var(--gold); }

  .text-center { text-align: center; }
  .mt-1 { margin-top: 1rem; } .mt-2 { margin-top: 2rem; } .mt-3 { margin-top: 3rem; }
  .mb-2 { margin-bottom: 2rem; }
    /* ── NAV ── */
    .site-nav { position:sticky;top:0;z-index:200;background:rgba(13,13,13,.97);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,169,110,.18); }
    .nav-inner { display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:68px;max-width:1200px;margin:0 auto; }
    .nav-logo { font-family:var(--font-display);font-size:1.45rem;color:var(--paper);text-decoration:none;letter-spacing:.02em;display:flex;align-items:center;gap:.25rem;flex-shrink:0; }
    .nav-logo-accent { color:var(--gold); }
    .nav-logo-sep { display:inline-block;width:1px;height:1em;background:rgba(200,169,110,.35);margin:0 .35rem; }
    .nav-logo-sub { font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);font-family:var(--font-body);font-weight:400;line-height:1;vertical-align:middle; }
    .nav-links { display:flex;list-style:none;align-items:stretch;height:68px;gap:0; }
    .nav-links > li { display:flex;align-items:center;position:relative; }
    .nav-links > li > a,
    .nav-links > li > button { font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-weight:500;padding:0 .9rem;height:68px;display:flex;align-items:center;gap:.3rem;transition:color .2s;white-space:nowrap; }
    .nav-links > li > a:hover,
    .nav-links > li > button:hover { color:var(--gold-light); }
    .nav-links > li:hover > button,
    .nav-links > li:focus-within > button { color:var(--gold-light); }
    .nav-chevron { font-size:.45rem;opacity:.45;transition:transform .2s;margin-left:.1rem; }
    .nav-links > li:hover .nav-chevron,
    .nav-links > li:focus-within .nav-chevron { transform:rotate(180deg);opacity:1; }

    /* ── MEGA WRAP — commun à tous les menus ── */
    .nav-mega-wrap {
      position:absolute;top:68px;left:50%;
      transform:translateX(-50%) translateY(-6px);
      background:rgba(13,13,13,.98);
      border:1px solid rgba(200,169,110,.2);
      border-top:2px solid var(--gold);
      border-radius:0 0 8px 8px;
      padding:1.75rem 2rem;
      min-width:640px;
      opacity:0;visibility:hidden;pointer-events:none;
      transition:opacity .18s,transform .18s;
      box-shadow:0 20px 60px rgba(0,0,0,.6);
      z-index:300;
    }
    .nav-links > li:hover .nav-mega-wrap,
    .nav-links > li:focus-within .nav-mega-wrap { opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0); }

    /* ── MEGA GRID ── */
    .nav-mega-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:0 2.5rem; }

    /* ── COLONNES ── */
    .nav-mega-col-title {
      display:block;
      font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--gold);font-weight:700;font-family:var(--font-body);
      padding-bottom:.45rem;margin-bottom:.4rem;
      border-bottom:1px solid rgba(200,169,110,.2);
    }
    .nav-mega-col a {
      display:block;
      font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;
      color:rgba(255,255,255,.55);
      text-decoration:none;
      font-family:var(--font-body);font-weight:400;
      padding:.32rem 0;
      transition:color .15s;
      white-space:nowrap;
    }
    .nav-mega-col a:hover { color:var(--gold-light); }
    .nav-mega-col a.mega-pivot {
      color:rgba(255,255,255,.88);
      font-weight:600;
    }
    .nav-mega-col a.mega-pivot:hover { color:var(--gold-light); }

    /* ── CTA externe (bouton "Devis gratuit" flottant) ── */
    .nav-cta { font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1.4rem;background:var(--gold);color:var(--ink);text-decoration:none;border-radius:3px;font-weight:700;transition:background .2s;white-space:nowrap;flex-shrink:0;margin-left:.75rem; }
    .nav-cta:hover { background:var(--gold-dark);color:#fff; }

    /* ── Toggle mobile ── */
    .nav-toggle { display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;flex-shrink:0;z-index:10000;position:relative; }
    .nav-toggle span { display:block;width:24px;height:2px;background:var(--paper);border-radius:2px;transition:transform .35s,opacity .2s; }
    .nav-toggle.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .nav-toggle.open span:nth-child(2) { opacity:0; }
    .nav-toggle.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

  
  /* ── HOME HERO ── */
  .home-hero { background:var(--ink);position:relative;overflow:hidden;padding:7rem 0 6rem;min-height:520px;display:flex;align-items:center; }
  .home-hero::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 40%,rgba(200,169,110,.09) 0%,transparent 65%),radial-gradient(ellipse 35% 50% at 10% 90%,rgba(200,169,110,.05) 0%,transparent 60%);pointer-events:none; }
  .home-hero::after { content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(200,169,110,.03) 80px),repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(200,169,110,.03) 80px);pointer-events:none; }
  .home-hero .container { position:relative;z-index:1; }
  .home-hero-eyebrow { display:flex;align-items:center;gap:.75rem;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:1.4rem; }
  .home-hero-eyebrow::before { content:'';display:inline-block;width:32px;height:1px;background:var(--gold); }
  .home-hero h1 { font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,4rem);color:var(--paper);font-weight:400;line-height:1.12;max-width:780px;margin-bottom:1.5rem; }
  .home-hero h1 em { color:var(--gold-light);font-style:italic; }
  .home-hero-lead { font-size:1.05rem;color:rgba(255,255,255,.6);max-width:580px;line-height:1.8;margin-bottom:2.5rem; }
  .home-hero-actions { display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:3.5rem; }
  .home-hero-stats { display:flex;gap:3rem;flex-wrap:wrap; }
  .home-stat { text-align:left; }
  .home-stat-num { font-family:var(--font-display);font-size:2rem;color:var(--gold);font-weight:400;line-height:1;display:block; }
  .home-stat-label { font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);display:block;margin-top:.25rem; }

  /* ── FORMULES GRID ── */
  .formules-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem; }
  @media (max-width:900px){ .formules-grid { grid-template-columns:1fr 1fr; } }
  @media (max-width:520px){ .formules-grid { grid-template-columns:1fr; } }
  .formule-card {
      background:var(--white);
      border:1px solid var(--border);
      border-top:2px solid var(--gold);
      border-radius:var(--radius-lg);
      padding:2rem 1.75rem;
      text-decoration:none;
      display:block;
      transition:box-shadow var(--trans),transform var(--trans),border-color var(--trans);
    }
  .formule-card:hover { box-shadow:var(--shadow-lg);transform:translateY(-3px); }
  .formule-picto {
      font-size:2.2rem;
      display:block;
      margin-bottom:1rem;
      color:var(--gold);
      line-height:1;
      font-weight:400;
      text-shadow: 0 1px 12px rgba(200,169,110,.35);
      letter-spacing:-.02em;
    }
  .formule-card h3 { font-family:var(--font-display);font-size:1.15rem;color:var(--charcoal);margin-bottom:.4rem;font-weight:400; }
  .formule-card-desc { font-size:.85rem;color:var(--muted);line-height:1.6;margin-bottom:1rem; }
  .formule-card-detail { font-size:.75rem;color:var(--gold-dark);font-weight:600;letter-spacing:.04em; }

  /* ── OCCASIONS ── */
  .occasions-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem; }
  @media (max-width:640px){ .occasions-grid { grid-template-columns:1fr; } }
  .occasion-card { background:rgba(255,255,255,.04);border:1px solid rgba(200,169,110,.15);border-radius:var(--radius-lg);padding:1.75rem;text-decoration:none;display:flex;align-items:flex-start;gap:1.25rem;transition:background var(--trans),border-color var(--trans); }
  .occasion-card:hover { background:rgba(200,169,110,.07);border-color:rgba(200,169,110,.3); }
.occasion-card h3 { font-size:.95rem;color:var(--paper);margin-bottom:.3rem;font-family:var(--font-body);font-weight:600; }
  .occasion-card p { font-size:.82rem;color:rgba(255,255,255,.48);margin:0;line-height:1.55; }

  /* ── PROCESS ── */
  .process-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem; }
  @media (max-width:768px){ .process-steps { grid-template-columns:1fr 1fr;gap:2rem; } }
  .process-step { text-align:center;padding:0 1.5rem;position:relative; }
  .process-step:not(:last-child)::after { content:'';position:absolute;top:28px;right:-8%;width:55%;height:1px;background:linear-gradient(to right,rgba(200,169,110,.4),transparent); }
  @media (max-width:768px){ .process-step::after { display:none; } }
  .process-step-num { display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid rgba(200,169,110,.3);border-radius:50%;font-family:var(--font-display);font-size:1.25rem;color:var(--gold);background:var(--white);margin-bottom:1.25rem;position:relative;z-index:1; }
  .process-step h3 { font-size:.9rem;color:var(--charcoal);margin-bottom:.4rem;font-family:var(--font-body);font-weight:700; }
  .process-step p { font-size:.82rem;color:var(--muted);margin:0;line-height:1.55; }

  /* ── STYLES STRIP ── */
  .styles-strip { display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem; }
  .style-pill { display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--white);border:1px solid var(--border);border-radius:99px;font-size:.78rem;color:var(--smoke);text-decoration:none;transition:border-color var(--trans),color var(--trans),background var(--trans); }
  .style-pill:hover { border-color:var(--gold);color:var(--gold-dark);background:var(--gold-subtle); }
  .style-pill-dot { width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0; }

  /* ── VILLES ── */
  .villes-grid { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem; }
  .ville-tag { padding:.4rem .9rem;background:var(--white);border:1px solid var(--border);border-radius:3px;font-size:.78rem;color:var(--smoke);text-decoration:none;transition:border-color var(--trans),color var(--trans); }
  .ville-tag:hover { border-color:var(--gold);color:var(--gold-dark); }

    /* ── MENU MOBILE ── */
    .mob-menu {
      display: none;
      position: fixed;
      top: 68px; left: 0; right: 0; bottom: 0;
      background: rgba(10,10,10,.98);
      overflow-y: auto;
      z-index: 199;
      padding: 1rem 0 3rem;
    }
    .mob-menu.open { display: block; }
    .mob-menu ul { list-style: none; }
    .mob-menu > ul > li { border-bottom: 1px solid rgba(200,169,110,.1); }
    .mob-item {
      display: flex; align-items: center; justify-content: space-between;
      width: 100%; background: none; border: none; cursor: pointer;
      font-family: var(--font-body); font-size: .8rem;
      letter-spacing: .12em; text-transform: uppercase;
      color: rgba(255,255,255,.8); padding: .9rem 1.5rem;
      transition: color .15s;
    }
    .mob-item:hover { color: var(--gold-light); }
    .mob-item.active { color: var(--gold-light); }
    .mob-sub {
      display: none;
      background: rgba(255,255,255,.03);
      border-top: 1px solid rgba(200,169,110,.08);
      padding: .4rem 0 .8rem;
    }
    .mob-sub.open { display: block; }
    .mob-sub li a {
      display: block;
      font-size: .78rem; letter-spacing: .04em; text-transform: uppercase;
      color: rgba(255,255,255,.5); text-decoration: none;
      padding: .4rem 2rem;
      transition: color .15s;
    }
    .mob-sub li a:hover { color: var(--gold-light); }
    .mob-sub-label {
      font-size: .58rem; letter-spacing: .2em; text-transform: uppercase;
      color: var(--gold); font-weight: 700;
      padding: .8rem 1.5rem .3rem;
      display: block;
    }
    @media (min-width: 860px) {
      .mob-menu { display: none !important; }
      .nav-links, .nav-cta { display: flex !important; }
      .nav-toggle { display: none !important; }
    }
    @media (max-width: 859px) {
      .nav-links, .nav-cta { display: none !important; }
      .nav-toggle { display: flex !important; }
      .nav-inner { height: 58px; padding: 0 1rem; }
      .mob-menu { top: 58px; }
    }
    .mob-cta {
      display: block;
      margin: 1rem 1.5rem 0;
      padding: .75rem 1.5rem;
      background: var(--gold);
      color: var(--ink) !important;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: var(--radius);
      text-align: center;
      width: auto;
      box-sizing: border-box;
    }
    .mob-cta:hover { background: var(--gold-dark); color: var(--white) !important; }
  
  /* ── RELATED ITEMS ── */
  .related-item {
    display: inline-flex;
    align-items: center;
    padding: .35rem .85rem;
    font-size: .73rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--smoke);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    text-decoration: none;
    transition: border-color var(--trans), color var(--trans), background var(--trans);
    white-space: nowrap;
  }
  .related-item:hover {
    border-color: var(--gold);
    color: var(--gold-dark);
    background: var(--gold-subtle);
  }
  
    /* ── HOME ENRICHIE ── */
    .pourquoi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:2rem; }
    @media (max-width:900px){ .pourquoi-grid { grid-template-columns:1fr 1fr; } }
    @media (max-width:560px){ .pourquoi-grid { grid-template-columns:1fr; } }
    .pourquoi-item { display:flex; flex-direction:column; gap:.6rem; }
    .pourquoi-icon {
      font-size:2rem;
      color:var(--gold);
      display:block;
      margin-bottom:.5rem;
      line-height:1;
      text-shadow:0 1px 8px rgba(200,169,110,.3);
    }
    .pourquoi-item h3 { font-size:.95rem; font-family:var(--font-body); font-weight:700; color:var(--charcoal); margin:0; }
    .pourquoi-item p { font-size:.85rem; color:var(--muted); line-height:1.7; margin:0; }

    .budget-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
    @media (max-width:800px){ .budget-grid { grid-template-columns:1fr; } }
    .budget-tier { background:rgba(255,255,255,.04); border:1px solid rgba(200,169,110,.15); border-radius:var(--radius-lg); padding:2rem 1.5rem; }
    .budget-tier--featured { background:rgba(200,169,110,.1); border-color:rgba(200,169,110,.4); }
    .budget-tier-label { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:.5rem; }
    .budget-tier-price { font-family:var(--font-display); font-size:1.5rem; color:var(--paper); margin-bottom:1rem; }
    .budget-tier-desc { font-size:.83rem; color:rgba(255,255,255,.52); line-height:1.65; margin-bottom:1rem; }
    .budget-tier-examples { font-size:.72rem; color:rgba(200,169,110,.7); letter-spacing:.04em; font-style:italic; }

    .engagements-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 4rem; }
    @media (max-width:768px){ .engagements-grid { grid-template-columns:1fr; gap:2rem; } }
    .engagement-item { display:flex; gap:1.5rem; align-items:flex-start; }
    .engagement-num { font-family:var(--font-display); font-size:1.8rem; color:var(--gold); font-weight:400; line-height:1; flex-shrink:0; width:2.5rem; }
    .engagement-item h3 { font-size:.95rem; font-family:var(--font-body); font-weight:700; color:var(--charcoal); margin-bottom:.35rem; }
    .engagement-item p { font-size:.85rem; color:var(--muted); line-height:1.7; margin:0; }

    .guide-steps { display:flex; flex-direction:column; gap:1.5rem; }
    .guide-step { border-left:3px solid var(--gold); padding-left:1.5rem; }
    .guide-step-q { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-dark); display:block; margin-bottom:.75rem; }
    .guide-step-a p { font-size:.87rem; color:var(--smoke); line-height:1.7; margin-bottom:.5rem; }
    .guide-step-a p:last-child { margin-bottom:0; }
  
    .occasion-icon {
      font-size:1.8rem;
      display:block;
      margin-bottom:.6rem;
      color:var(--gold);
      line-height:1;
      text-shadow:0 1px 8px rgba(200,169,110,.3);
    }
  
    /* ── ICÔNES DORÉES ── */
    .dark-card-icon,
    .raison-icon,
    .prix-card-icon,
    .pourquoi-icon,
      color: var(--gold);
      text-shadow: 0 1px 10px rgba(200,169,110,.3);
      line-height: 1;

/* ── DEVIS PAGE — Processus sidebar ─────────────────────────────── */
.devis-process { display:flex; flex-direction:column; gap:.75rem; }
.devis-process-step { display:flex; align-items:flex-start; gap:.85rem; }
.devis-process-num { width:28px; height:28px; border-radius:50%; border:1px solid rgba(200,169,110,.35); display:flex; align-items:center; justify-content:center; font-size:.75rem; color:var(--gold); flex-shrink:0; font-family:var(--font-display); }
.devis-process-text { font-size:.82rem; color:rgba(255,255,255,.55); line-height:1.5; padding-top:3px; }
