
    /* ══════════ 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 (identique portail) ══════════ */
    #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 .4s ease, box-shadow .4s ease, padding .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; transform:scale(1.05); }
    #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; }
    /* ── Onglet ACTIF : Séjour à Saumur ── */
    .nav-link.is-active { color:#C69B3C !important; }
    .nav-link.is-active::after { width:100%; }

    .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; }

    #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, #mobile-menu a.is-active { 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 !important; } }

    /* ══════════ HERO ══════════ */
    .hero {
      position:relative; min-height:72svh;
      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.48) 0%, rgba(15,23,42,0.3) 45%, rgba(15,23,42,0.66) 100%); }
    .hero-content { position:relative; z-index:2; padding:120px 24px 70px; max-width:920px; }
    .hero h1 {
      font-family:'Playfair Display',serif; font-weight:600;
      font-size:clamp(1.9rem, 4.6vw, 3.4rem); line-height:1.18;
      color:#F4EADE; text-shadow:0 2px 30px rgba(0,0,0,0.35);
    }

    /* ══════════ 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; cursor:pointer;
    }
    .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); }

    /* ══════════ SOMMAIRE (ancres) ══════════ */
    .toc { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
    .toc a {
      display:inline-block; padding:9px 20px;
      border:1px solid rgba(198,155,60,0.45); border-radius:40px;
      font-size:10.5px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
      color:#5a6275; text-decoration:none; background:rgba(251,247,240,0.7);
      transition:color .25s, border-color .25s, background .25s;
    }
    .toc a:hover { color:#C69B3C; border-color:#C69B3C; background:#fff; }

    /* ══════════ BLOCS GUIDE ══════════ */
    .guide-section { padding:96px 24px; }
    .guide-section:nth-of-type(even) { background:#F4EADE; }
    .guide-inner { max-width:820px; margin:0 auto; }
    .guide-lede { font-size:14px; color:#5a6275; line-height:2; }
    .guide-lede + .guide-lede { margin-top:18px; }
    .guide-h3 {
      font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:600;
      color:#0F172A; margin:38px 0 10px; display:flex; align-items:center; gap:12px;
    }
    .guide-h3::before { content:''; width:22px; height:1px; background:#C69B3C; flex-shrink:0; }
    .guide-img {
      width:100%; height:auto; display:block; margin:36px 0 8px;
      box-shadow:0 18px 50px rgba(15,23,42,0.12);
    }
    .guide-img-caption { font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:#8a93a3; margin-bottom:8px; }

    /* ── Encart « Nos Adresses » (registre A) ── */
    .our-picks {
      margin-top:34px; padding:26px 28px;
      background:#FBF7F0; border:1px solid rgba(198,155,60,0.35);
      border-left:2px solid #C69B3C;
      box-shadow:0 14px 40px rgba(15,23,42,0.06);
    }
    .our-picks .op-eyebrow {
      font-size:9.5px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase;
      color:#C69B3C; margin-bottom:12px; display:block;
    }
    .our-picks p { font-size:13.5px; color:#3d4657; line-height:2; }
    .our-picks p + p { margin-top:12px; }
    .our-picks .op-name { font-family:'Playfair Display',serif; font-weight:600; font-size:1.02rem; color:#0F172A; }
    .our-picks .op-dist { font-size:11px; color:#C69B3C; letter-spacing:0.08em; }

    /* ── Encart maillage logement (discret) ── */
    .host-note {
      margin-top:34px; padding:22px 0; text-align:center;
      border-top:1px solid rgba(198,155,60,0.3); border-bottom:1px solid rgba(198,155,60,0.3);
    }
    .host-note p {
      font-family:'Playfair Display',serif; font-style:italic;
      font-size:1.02rem; color:#5a6275; line-height:1.9; max-width:620px; margin:0 auto;
    }
    .host-note a { color:#C69B3C; text-decoration:none; border-bottom:1px solid rgba(198,155,60,0.5); transition:border-color .25s; white-space:nowrap; }
    .host-note a:hover { border-bottom-color:#C69B3C; }

    /* ══════════ CARTES SÉJOURNER ══════════ */
    .stay-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;
    }
    .stay-card:hover { transform:translateY(-6px); box-shadow:0 26px 64px rgba(15,23,42,0.12); }
    .stay-card .img-wrap { position:relative; overflow:hidden; display:block; aspect-ratio:16/10; }
    .stay-card .img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
    .stay-card:hover .img-wrap img { transform:scale(1.045); }

    /* ══════════ 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 a { text-decoration:none; color:inherit; transition:color .25s; }
    footer a:hover { color:#C69B3C; }
  