
    /* ══════════ BASE ══════════ */
    *,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body {
      background:#F5F0E8; color:#0F172A;
      font-family:'Montserrat',sans-serif; font-weight:400;
      line-height:1.7; -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    ::selection { background:#C69B3C; color:#fff; }

    .font-serif { font-family:'Playfair Display',serif; }
    .eyebrow {
      font-size:10px; font-weight:600; letter-spacing:0.28em;
      text-transform:uppercase; color:#C69B3C;
    }
    .section-title { font-family:'Playfair Display',serif; font-weight:600; line-height:1.15; }
    .gold-rule { width:52px; height:1px; background:#C69B3C; }

    /* ══════════ NAVIGATION ══════════ */
    #navbar {
      position:fixed; top:0; left:0; right:0; z-index:100;
      padding:18px 28px;
      display:flex; align-items:center; justify-content:space-between;
      transition:background 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease;
      background:transparent;
    }
    #navbar.scrolled {
      background:rgba(245,240,232,0.92);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      box-shadow:0 1px 0 rgba(198,155,60,0.25);
      padding:10px 28px;
    }
    #navbar .nav-logo { height:48px; width:auto; object-fit:contain; opacity:.95; transition:transform .25s ease, opacity .3s ease; }
    @media (min-width:768px){ #navbar .nav-logo { height:56px; } }
    #navbar .nav-logo:hover { opacity:1; }
    #navbar .nav-logo:hover { transform:scale(1.05); }
    /* logo blanc sur hero, normal après scroll */
    #navbar:not(.scrolled) .nav-logo { filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(15,23,42,.45)); }

    .nav-link {
      font-size:11px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase;
      color:#F4EADE; text-decoration:none; position:relative; transition:color .25s;
    }
    #navbar.scrolled .nav-link { color:#0F172A; }
    .nav-link::after {
      content:''; position:absolute; left:0; bottom:-5px; width:0; height:1px;
      background:#C69B3C; transition:width .3s ease;
    }
    .nav-link:hover::after { width:100%; }
    .nav-link:hover { color:#C69B3C; }

    .lang-switch {
      display:flex; align-items:center; gap:2px;
      border:1px solid rgba(198,155,60,0.55); border-radius:30px; overflow:hidden;
    }
    .lang-switch a {
      padding:5px 13px; background:none; border:none; cursor:pointer;
      font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600;
      letter-spacing:0.08em; color:#F4EADE; opacity:.6; transition:.25s;
    }
    #navbar.scrolled .lang-switch a { color:#0F172A; }
    .lang-switch a.active { background:#C69B3C; color:#fff; opacity:1; }

    /* Menu mobile */
    #mobile-menu {
      display:none;
      position:fixed; inset:0; z-index:99;
      background:rgba(15,23,42,0.97); backdrop-filter:blur(8px);
      flex-direction:column; align-items:center; justify-content:center; gap:34px;
    }
    #mobile-menu.visible { display:flex !important; }
    #mobile-menu a {
      font-family:'Playfair Display',serif; font-size:26px; color:#F4EADE;
      text-decoration:none; transition:color .25s;
    }
    #mobile-menu a:hover { color:#C69B3C; }
    .burger { display:none; background:none; border:none; cursor:pointer; z-index:101; padding:6px; }
    .burger span { display:block; width:24px; height:1.5px; background:#F4EADE; margin:5px 0; transition:.3s; }
    #navbar.scrolled .burger span { background:#0F172A; }
    @media (max-width: 880px) {
      .nav-links-desktop { display:none !important; }
      .burger { display:block; }
    }

    /* ══════════ HERO ══════════ */
    .hero {
      position:relative; min-height:100svh;
      display:flex; align-items:center; justify-content:center;
      text-align:center; overflow:hidden;
    }
    .hero-bg {
      position:absolute; inset:0;
      width:100%; height:100%; object-fit:cover; object-position:center 35%;
      transform:scale(1.04);
      animation:heroZoom 18s ease-out forwards;
    }
    @keyframes heroZoom { to { transform:scale(1); } }
    .hero-veil {
      position:absolute; inset:0;
      background:linear-gradient(180deg, rgba(15,23,42,0.42) 0%, rgba(15,23,42,0.28) 45%, rgba(15,23,42,0.62) 100%);
    }
    .hero-content { position:relative; z-index:2; padding:0 24px; max-width:880px; }
    .hero h1 {
      font-family:'Playfair Display',serif; font-weight:600;
      font-size:clamp(2.1rem, 5.4vw, 4.1rem); line-height:1.12;
      color:#F4EADE; text-shadow:0 2px 30px rgba(0,0,0,0.35);
    }
    .hero .hero-sub {
      font-family:'Playfair Display',serif; font-style:italic;
      font-size:clamp(1.05rem, 2.2vw, 1.45rem); color:rgba(244,234,222,0.92);
      margin-top:18px;
    }
    .scroll-cue {
      position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2;
      display:flex; flex-direction:column; align-items:center; gap:10px;
      color:rgba(244,234,222,0.75); font-size:9px; letter-spacing:0.3em; text-transform:uppercase;
      text-decoration:none; transition:color .25s;
    }
    .scroll-cue:hover { color:#C69B3C; }
    .scroll-cue .line { width:1px; height:46px; background:linear-gradient(180deg,#C69B3C,transparent); animation:cue 2.2s ease-in-out infinite; }
    @keyframes cue { 0%,100%{opacity:.4; transform:scaleY(.7); transform-origin:top;} 50%{opacity:1; transform:scaleY(1);} }

    /* ══════════ BOUTONS ══════════ */
    .btn-discover {
      display:inline-flex; align-items:center; gap:14px;
      padding:15px 34px;
      border:1px solid #C69B3C; background:transparent;
      font-size:11px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase;
      color:#0F172A; text-decoration:none;
      position:relative; overflow:hidden; transition:color .35s ease;
    }
    .btn-discover::before {
      content:''; position:absolute; inset:0; background:#0F172A;
      transform:scaleX(0); transform-origin:left; transition:transform .35s ease; z-index:0;
    }
    .btn-discover:hover::before { transform:scaleX(1); }
    .btn-discover:hover { color:#F4EADE; }
    .btn-discover span, .btn-discover svg { position:relative; z-index:1; }
    .btn-discover svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.5; transition:transform .3s; }
    .btn-discover:hover svg { transform:translateX(5px); }

    .btn-hero {
      border-color:rgba(244,234,222,0.65); color:#F4EADE;
    }
    .btn-hero::before { background:#C69B3C; }
    .btn-hero:hover { color:#fff; }

    /* ══════════ CARTES COLLECTION ══════════ */
    .res-card {
      background:#FBF7F0;
      border:1px solid rgba(198,155,60,0.22);
      box-shadow:0 18px 50px rgba(15,23,42,0.07);
      overflow:hidden;
      display:flex; flex-direction:column;
      transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease;
    }
    .res-card:hover { transform:translateY(-8px); box-shadow:0 28px 70px rgba(15,23,42,0.13); }
    .res-card .img-wrap { position:relative; overflow:hidden; display:block; }
    .res-card .img-wrap img {
      width:100%; height:100%; object-fit:cover; display:block;
      transition:transform 1.1s cubic-bezier(.16,1,.3,1);
    }
    .res-card:hover .img-wrap img { transform:scale(1.045); }
    .res-card .img-veil {
      position:absolute; inset:0;
      background:linear-gradient(180deg, transparent 55%, rgba(15,23,42,0.38) 100%);
      pointer-events:none;
    }
    .res-card .img-tag {
      position:absolute; left:22px; bottom:18px;
      font-size:9.5px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase;
      color:#F4EADE;
    }
    .chip {
      display:inline-block; padding:6px 13px;
      border:1px solid rgba(198,155,60,0.4); border-radius:30px;
      font-size:10px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase;
      color:#5a6275;
    }

    /* ══════════ RÉASSURANCE ══════════ */
    .pillar { text-align:center; padding:0 18px; }
    .pillar svg { width:30px; height:30px; stroke:#C69B3C; fill:none; stroke-width:1.2; margin:0 auto 14px; }
    .pillar h4 { font-family:'Playfair Display',serif; font-size:17px; font-weight:600; margin-bottom:8px; }
    .pillar p { font-size:12.5px; color:#5a6275; line-height:1.8; }

    /* ══════════ REVEAL ══════════ */
    .js .reveal { opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s cubic-bezier(.16,1,.3,1); }
    .reveal.in { opacity:1; transform:translateY(0); }
    @media (prefers-reduced-motion: reduce) {
      .js .reveal { opacity:1; transform:none; transition:none; }
      .hero-bg { animation:none; transform:none; }
    }

    /* ══════════ FOOTER ══════════ */
    footer a { text-decoration:none; color:inherit; transition:color .25s; }
    footer a:hover { color:#C69B3C; }
  