@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-italic-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/barlow-normal-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/barlow-normal-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/barlow-normal-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url(/fonts/big-shoulders-display-normal-600-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/ibm-plex-mono-normal-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  :root{
    --radius:14px;
    --radius-sm:8px;
    --bg:#faf9f5;
    --surface:#ffffff;
    --surface-2:#f1efe6;
    --ink:#15130f;
    --ink-soft:#5c564a;
    --ink-faint:#96907f;
    --line:#e3ded0;
    --black:#100f0c;
    --gold:#93742a;
    --gold-soft:#c8a45b;
    --gold-wash:#f4ecd8;
    --shadow: 0 20px 45px -30px rgba(16,15,12,.45);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0c0b09;
      --surface:#17140f;
      --surface-2:#1e1a13;
      --ink:#f4f1e8;
      --ink-soft:#b9b2a0;
      --ink-faint:#726b5b;
      --line:#2d2820;
      --black:#050505;
      --gold:#d8b869;
      --gold-soft:#e9d093;
      --gold-wash:#241f14;
      --shadow: 0 20px 45px -25px rgba(0,0,0,.7);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0c0b09;
    --surface:#17140f;
    --surface-2:#1e1a13;
    --ink:#f4f1e8;
    --ink-soft:#b9b2a0;
    --ink-faint:#726b5b;
    --line:#2d2820;
    --black:#050505;
    --gold:#d8b869;
    --gold-soft:#e9d093;
    --gold-wash:#241f14;
    --shadow: 0 20px 45px -25px rgba(0,0,0,.7);
  }

  *{box-sizing:border-box;}
  html{-webkit-font-smoothing:antialiased;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:"Barlow",-apple-system,"Helvetica Neue",Arial,sans-serif;
    font-size:16px;
    line-height:1.55;
  }
  h1,h2,h3,.display{
    font-family:"Big Shoulders Display","Oswald",sans-serif;
    font-weight:700;
    letter-spacing:.01em;
    text-wrap:balance;
    margin:0;
    color:var(--ink);
  }
  .mono{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; }
  a{ color:inherit; }
  button{ font-family:inherit; }
  :focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
  img,svg{ display:block; max-width:100%; }

  .eyebrow{
    font-family:"Barlow",sans-serif;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .lede{ color:var(--ink-soft); font-size:1.05rem; max-width:60ch; }
  .note{ color:var(--ink-faint); font-size:.85rem; font-style:italic; }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
  section{ padding:76px 0; }
  .section-head{ margin-bottom:40px; max-width:62ch; }
  .section-head h2{ font-size:clamp(1.7rem,3vw,2.3rem); margin-top:8px; }

  /* ---------- checker motif ---------- */
  .checker-strip{
    height:9px;
    background-image:
      linear-gradient(45deg, var(--black) 25%, transparent 25%),
      linear-gradient(-45deg, var(--black) 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, var(--black) 75%),
      linear-gradient(-45deg, transparent 75%, var(--black) 75%);
    background-size:14px 14px;
    background-position:0 0, 0 7px, 7px -7px, -7px 0px;
    background-color:#fff;
    border-top:1px solid var(--gold);
    border-bottom:1px solid var(--gold);
  }
  .logo-img{ display:block; border-radius:var(--radius-sm); }
  .logo-img-header{ height:40px; width:auto; box-shadow:var(--shadow); }
  .brand-tag{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:700; white-space:nowrap; }

  /* ---------- header ---------- */
  header.site{
    position:sticky; top:0; z-index:40; background:var(--bg);
  }
  .header-inner{
    display:flex; align-items:center; gap:16px; padding:16px 28px;
    max-width:1180px; margin:0 auto;
  }
  .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }

  nav.primary{ display:flex; gap:2px; }
  nav.primary a{
    text-decoration:none; font-size:.86rem; font-weight:600; letter-spacing:.02em;
    color:var(--ink-soft); padding:10px 14px; border-radius:var(--radius-sm); position:relative;
    transition:color .15s ease;
  }
  nav.primary a:hover{ color:var(--ink); }
  nav.primary a.active{ color:var(--ink); }
  nav.primary a.active::after{
    content:""; position:absolute; left:14px; right:14px; bottom:5px; height:2px; background:var(--gold);
  }
  nav.primary details.nav-dropdown{ position:relative; }
  nav.primary details.nav-dropdown summary{
    list-style:none; cursor:pointer; text-decoration:none; font-size:.86rem; font-weight:600;
    letter-spacing:.02em; color:var(--ink-soft); padding:10px 14px; border-radius:var(--radius-sm);
    display:flex; align-items:center; gap:5px; transition:color .15s ease;
  }
  nav.primary details.nav-dropdown summary::-webkit-details-marker{ display:none; }
  nav.primary details.nav-dropdown summary::marker{ content:""; }
  nav.primary details.nav-dropdown summary:hover{ color:var(--ink); }
  nav.primary details.nav-dropdown[open] summary{ color:var(--ink); }
  nav.primary details.nav-dropdown .caret{ font-size:.7em; transition:transform .15s ease; }
  nav.primary details.nav-dropdown[open] .caret{ transform:rotate(180deg); }
  nav.primary details.nav-dropdown .nav-dropdown-panel{
    position:absolute; top:100%; left:0; margin-top:8px; min-width:210px;
    background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);
    border-radius:var(--radius); z-index:50; display:flex; flex-direction:column; padding:6px;
  }
  nav.primary details.nav-dropdown .nav-dropdown-panel a{
    text-decoration:none; font-size:.85rem; font-weight:600; color:var(--ink-soft);
    padding:10px 12px; border-radius:var(--radius-sm);
  }
  nav.primary details.nav-dropdown .nav-dropdown-panel a:hover{ color:var(--ink); background:var(--surface-2); }
  .header-cta{
    display:flex; align-items:center; gap:8px; text-decoration:none;
    font-size:.8rem; font-weight:700; letter-spacing:.03em;
    padding:9px 16px; border:1px solid var(--ink); border-radius:999px;
    white-space:nowrap;
  }
  .header-cta:hover{ background:var(--ink); color:var(--bg); }
  .menu-btn{ display:none; background:none; border:1px solid var(--line); border-radius:var(--radius-sm); padding:8px 10px; cursor:pointer; color:var(--ink); }

  @media (max-width:860px){
    nav.primary{
      display:none; position:absolute; top:100%; left:0; right:0;
      background:var(--surface); border-bottom:1px solid var(--line);
      flex-direction:column; padding:8px 20px 18px;
    }
    nav.primary.open{ display:flex; }
    nav.primary a{ padding:12px 4px; border-bottom:1px solid var(--line); }
    nav.primary details.nav-dropdown{ border-bottom:1px solid var(--line); }
    nav.primary details.nav-dropdown summary{ padding:12px 4px; }
    nav.primary details.nav-dropdown .nav-dropdown-panel{
      position:static; margin-top:0; border:none; box-shadow:none; padding:0 0 8px 14px;
    }
    .header-cta{ display:none; }
    .menu-btn{ display:block; }
  }

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    font-size:.86rem; font-weight:700; letter-spacing:.03em; cursor:pointer;
    padding:13px 24px; border-radius:999px; border:1px solid transparent;
    font-family:"Barlow",sans-serif;
  }
  .btn-primary{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
  .btn-primary:hover{ background:transparent; color:var(--ink); }
  .btn-ghost{ border-color:var(--ink); color:var(--ink); background:transparent; }
  .btn-ghost:hover{ background:var(--ink); color:var(--bg); }
  .btn-gold{ background:var(--gold); color:#fff; border-color:var(--gold); }
  .btn-gold:hover{ opacity:.88; }
  .btn[disabled]{ opacity:.55; cursor:not-allowed; }

  /* ---------- hero ---------- */
  .hero{ padding:64px 0 20px; }
  .hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
  .hero h1{ font-size:clamp(2.3rem,4.6vw,3.6rem); margin-top:14px; }
  .hero h1 .accent{ font-style:italic; color:var(--gold); }
  .hero .lede{ margin-top:18px; }
  .hero-ctas{ display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
  .hero-visual{
    position:relative; aspect-ratio:4/5; border:1px solid var(--line);
    background:#000; overflow:hidden; box-shadow:var(--shadow);
    border-radius:var(--radius); display:flex; align-items:center; justify-content:center;
  }
  .hero-visual .corner{ position:absolute; width:34px; height:34px; }
  .hero-visual .corner.tl{ top:14px; left:14px; border-top:2px solid var(--gold); border-left:2px solid var(--gold); }
  .hero-visual .corner.br{ bottom:14px; right:14px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold); }
  .hero-logo-img{ width:64%; max-width:320px; height:auto; }
  @media (max-width:860px){ .hero-grid{ grid-template-columns:1fr; } .hero-visual{ aspect-ratio:16/11; } }

  /* ---------- trust pills ---------- */
  .trust-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
  .trust-item{
    display:flex; align-items:center; gap:9px; background:var(--black); color:#f3f0e7;
    padding:11px 20px; border-radius:999px; font-size:.84rem; font-weight:600;
  }
  .trust-item svg{ width:17px; height:17px; color:var(--gold); flex:none; }

  /* ---------- process steps ---------- */
  .steps-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:8px; }
  .step-item{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; display:flex; flex-direction:column; gap:10px; }
  .step-num{ font-family:"IBM Plex Mono",monospace; font-size:.72rem; font-weight:600; color:var(--gold); }
  .step-item svg{ width:21px; height:21px; color:var(--gold); }
  .step-item h4{ font-family:"Big Shoulders Display",sans-serif; font-size:.96rem; font-weight:600; margin:0; }
  .step-item p{ margin:0; font-size:.8rem; color:var(--ink-soft); }
  @media (max-width:980px){ .steps-row{ grid-template-columns:repeat(3,1fr); } }
  @media (max-width:640px){ .steps-row{ grid-template-columns:1fr 1fr; } }
  @media (max-width:460px){ .steps-row{ grid-template-columns:1fr; } }

  /* ---------- présentation ---------- */
  .about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
  .about-grid p{ color:var(--ink-soft); margin:0 0 16px; }
  .pull{
    border-left:3px solid var(--gold); padding-left:22px; margin:0;
    font-family:"Big Shoulders Display",sans-serif; font-size:1.35rem; font-style:italic; color:var(--ink);
  }
  .pull cite{ display:block; margin-top:12px; font-family:"Barlow",sans-serif; font-style:normal; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); }
  @media (max-width:860px){ .about-grid{ grid-template-columns:1fr; gap:32px; } }

  /* ---------- rappel pages ---------- */
  .recap-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .recap-card{
    display:flex; flex-direction:column; gap:14px; padding:26px 22px;
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); text-decoration:none;
    transition:border-color .15s ease, transform .15s ease;
  }
  .recap-card:hover{ border-color:var(--gold); transform:translateY(-2px); }
  .recap-icon{
    width:42px; height:42px; border-radius:var(--radius-sm); display:grid; place-items:center;
    background:var(--gold-wash); color:var(--gold);
  }
  .recap-icon svg{ width:20px; height:20px; }
  .recap-card h3{ font-size:1.05rem; }
  .recap-card p{ margin:0; font-size:.85rem; color:var(--ink-soft); }
  @media (max-width:940px){ .recap-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .recap-grid{ grid-template-columns:1fr; } }

  /* ---------- empty state ---------- */
  .empty-state{
    max-width:620px; margin:0 auto; text-align:center; padding:64px 34px;
    border:1px dashed var(--line); border-radius:var(--radius); background:var(--surface);
  }
  .empty-state .empty-icon{ display:inline-flex; width:46px; height:46px; color:var(--gold); margin-bottom:22px; }
  .empty-state .empty-icon svg{ width:100%; height:100%; }
  .empty-state h3{ font-family:"Big Shoulders Display",sans-serif; font-size:1.5rem; margin-bottom:14px; }
  .empty-state p{ color:var(--ink-soft); margin:0 auto 26px; max-width:48ch; }

  /* ---------- sold vehicles accordion (homepage) ---------- */
  .sold-preview summary{ list-style:none; cursor:pointer; }
  .sold-preview summary::-webkit-details-marker{ display:none; }
  .sold-preview summary::marker{ content:""; }
  .sold-preview .accordion-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
  .sold-preview .accordion-caret{ font-size:1.3rem; color:var(--gold); transition:transform .2s ease; flex:none; }
  .sold-preview[open] .accordion-caret{ transform:rotate(180deg); }
  .sold-preview .veh-grid{ margin-top:36px; }
  .sold-preview .btn{ margin-top:28px; }

  /* ---------- vehicle cards ---------- */
  .veh-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  @media (max-width:980px){ .veh-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:620px){ .veh-grid{ grid-template-columns:1fr; } }

  .veh-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; }
  .veh-media{
    position:relative; aspect-ratio:4/3; background:var(--surface-2); overflow:hidden;
    border-bottom:1px solid var(--line);
  }
  .veh-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .veh-media .brandtype{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    text-align:center; padding:10px; font-family:"Big Shoulders Display",sans-serif; font-weight:700;
    font-size:1.5rem; line-height:1.05; color:var(--ink); opacity:.09; text-transform:uppercase;
    letter-spacing:.02em; user-select:none;
  }
  .veh-media .car-icon{ position:relative; width:46%; margin:0 auto; color:var(--ink-faint); }
  .veh-media .corner{ position:absolute; width:22px; height:22px; }
  .veh-media .corner.tl{ top:10px; left:10px; border-top:1.5px solid var(--gold); border-left:1.5px solid var(--gold); }
  .veh-media .corner.br{ bottom:10px; right:10px; border-bottom:1.5px solid var(--gold); border-right:1.5px solid var(--gold); }
  .sold-ribbon{
    position:absolute; top:16px; left:-34px; width:150px; text-align:center;
    background:var(--gold); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.12em;
    padding:5px 0; transform:rotate(-40deg); box-shadow:0 4px 10px rgba(0,0,0,.2);
  }
  .veh-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:12px; flex:1; }
  .veh-body h3{ font-size:1.12rem; }
  .veh-body .kind{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:700; }
  .spec-row{ display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.8rem; color:var(--ink-soft); }
  .spec-row span{ display:flex; align-items:center; gap:6px; }
  .spec-row b{ color:var(--ink); font-weight:600; }
  .veh-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:6px; border-top:1px solid var(--line); }
  .price{ font-size:1.05rem; font-weight:600; color:var(--ink); }
  .price small{ display:block; font-size:.68rem; color:var(--ink-faint); font-weight:400; }
  .veh-cta{ font-size:.78rem; font-weight:700; letter-spacing:.03em; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--gold); padding-bottom:2px; }
  .veh-cta:hover{ color:var(--gold); }
  .sold-tag{ font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }

  /* ---------- testimonials ---------- */
  .quote-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:980px){ .quote-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:640px){ .quote-grid{ grid-template-columns:1fr; } }
  .quote-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; display:flex; flex-direction:column; gap:14px; }
  .quote-mark{ font-family:"Big Shoulders Display",sans-serif; font-size:2.6rem; color:var(--gold); line-height:.5; height:.5em; }
  .stars{ display:flex; gap:3px; }
  .stars svg{ width:13px; height:13px; color:var(--gold); }
  .google-rating{ display:flex; align-items:center; gap:10px; margin-top:16px; flex-wrap:wrap; }
  .google-rating .stars svg{ width:16px; height:16px; }
  .google-rating span{ font-size:.86rem; font-weight:600; color:var(--ink-soft); }
  .google-rating a{ font-size:.8rem; font-weight:700; color:var(--gold); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:1px; }
  .quote-card p.txt{ margin:0; color:var(--ink); font-size:.96rem; flex:1; }
  .quote-who{ display:flex; align-items:center; gap:10px; padding-top:10px; border-top:1px solid var(--line); }
  .avatar{ width:34px; height:34px; border-radius:50%; background:var(--gold-wash); color:var(--gold); display:grid; place-items:center; font-family:"Big Shoulders Display",sans-serif; font-weight:700; font-size:.85rem; flex:none; }
  .quote-who .name{ font-size:.85rem; font-weight:700; }
  .quote-who .meta{ font-size:.76rem; color:var(--ink-faint); }

  /* ---------- contact ---------- */
  .contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:start; }
  @media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
  .card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:30px; }
  .coord-list{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
  .coord-list li{ display:flex; gap:14px; align-items:flex-start; }
  .coord-list svg{ width:19px; height:19px; color:var(--gold); flex:none; margin-top:2px; }
  .coord-list a{ text-decoration:none; }
  .coord-list a:hover{ color:var(--gold); }
  .coord-list .label{ font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:2px; }
  .coord-list .value{ font-size:.95rem; }
  .maps-link{ display:inline-block; margin-top:24px; font-size:.8rem; font-weight:700; letter-spacing:.03em; text-decoration:none; color:var(--gold); border-bottom:1px solid var(--gold); padding-bottom:2px; }

  form.contact-form{ display:flex; flex-direction:column; gap:18px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
  .field{ display:flex; flex-direction:column; gap:7px; }
  .field label{ font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
  .field input, .field select, .field textarea{
    font-family:"Barlow",sans-serif; font-size:.94rem; padding:12px 13px; border:1px solid var(--line);
    background:var(--bg); color:var(--ink); border-radius:var(--radius-sm); width:100%;
  }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--gold); }
  .field textarea{ resize:vertical; min-height:110px; font-family:inherit; }
  .form-foot{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
  .form-status{ font-size:.82rem; color:var(--ink-soft); }
  .form-status.ok{ color:var(--gold); }

  /* ---------- footer ---------- */
  footer.site{ background:var(--black); color:#efece2; margin-top:40px; }
  .footer-inner{ padding:52px 0 34px; display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; }
  @media (max-width:760px){ .footer-inner{ grid-template-columns:1fr; gap:30px; } }
  footer.site p{ color:#a39c8b; font-size:.86rem; max-width:36ch; }
  footer.site h4{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:#a39c8b; margin:0 0 14px; font-family:"Barlow",sans-serif; }
  footer.site ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
  footer.site a{ color:#efece2; text-decoration:none; font-size:.88rem; }
  footer.site a:hover{ color:var(--gold-soft); }
  .footer-bottom{ border-top:1px solid #29251c; padding:18px 0; font-size:.76rem; color:#7d7768; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }

  [hidden]{ display:none !important; }

  /* ---------- ajouts version multi-pages ---------- */
  img{ height:auto; }
  .skip{ position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--bg); padding:10px 16px; z-index:100; }
  .skip:focus{ left:12px; top:12px; }
  address{ font-style:normal; }
  .page-intro{ color:var(--ink-soft); max-width:68ch; margin:0 0 36px; }
  .legal h2{ font-size:1.35rem; margin:34px 0 10px; }
  .legal p, .legal li{ color:var(--ink-soft); max-width:72ch; }
  .legal a{ color:var(--gold); }
  .quote-card blockquote{ margin:0; }
  .hero-visual .hero-logo-img{ width:64%; max-width:320px; height:auto; }
  .logo-img-footer{ height:40px; width:auto; }
  .footer-inner .brand-line{ display:flex; align-items:center; gap:12px; }
