:root{
    --accent-dim:#12a55e22;
  }
  html[data-theme="dark"]{
    --bg:#0b0b0a;
    --bg-2:#161614;
    --card:#1a1a17;
    --line:rgba(245,245,240,0.1);
    --text:#f5f4ef;
    --text-soft:#d8d5c9;
    --muted:#9c9a90;
    --accent:#15b568;
    --accent-2:#4c86e0;
    --header-scrolled-bg:rgba(11,11,10,0.86);
  }
  html[data-theme="light"]{
    --bg:#faf9f5;
    --bg-2:#f1efe8;
    --card:#ffffff;
    --line:rgba(11,11,10,0.1);
    --text:#0f0f0d;
    --text-soft:#3a392f;
    --muted:#65635a;
    --accent:#0f9a55;
    --accent-2:#0c4da8;
    --header-scrolled-bg:rgba(250,249,245,0.86);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html,body{transition:background-color .5s ease;}
  body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.55;overflow-x:hidden;}
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:700;letter-spacing:-0.01em;line-height:1.08;}
  em{font-style:italic;font-weight:500;color:var(--accent);}
  a{color:inherit;text-decoration:none;}
  img{display:block;width:100%;height:100%;object-fit:cover;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
  section{padding:130px 0;}
  ::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;}

  /* BRAND MARK */
  .brand-mark{display:inline-flex;align-items:center;background:#fdfdfb;padding:8px 14px;border-radius:9px;box-shadow:0 2px 10px rgba(0,0,0,.15);}
  .brand-mark svg{height:14px;width:auto;display:block;}
  .theme-toggle{
    width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
    background:transparent;color:inherit;cursor:pointer;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    transition:border-color .2s,background .2s;
  }
  .theme-toggle:hover{background:rgba(128,128,128,.12);}
  .theme-toggle svg{width:17px;height:17px;}
  .theme-toggle .sun{display:none;}
  html[data-theme="light"] .theme-toggle .moon{display:none;}
  html[data-theme="light"] .theme-toggle .sun{display:block;}



  /* NAV */
  header{position:fixed;top:0;left:0;right:0;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px 40px;transition:background .3s,border-color .3s,color .3s,opacity .3s,transform .3s;color:#fff;opacity:0;pointer-events:none;transform:translateY(-8px);}
  header.scrolled{background:var(--header-scrolled-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);color:var(--text);opacity:1;pointer-events:auto;transform:translateY(0);}
  .header-logo{justify-self:center;display:flex;align-items:center;}
  .header-logo img{height:22px;width:auto;display:block;}
  .header-logo .logo-white{display:none;}
  html[data-theme="dark"] .header-logo .logo-white{display:block;}
  html[data-theme="dark"] .header-logo .logo-color{display:none;}
  nav{justify-self:start;}
  nav ul{list-style:none;display:flex;gap:6px;background:rgba(128,128,128,.12);border:1px solid var(--line);border-radius:100px;padding:6px;}
  nav a{font-size:13.5px;font-weight:600;color:inherit;opacity:.85;transition:opacity .2s,background .2s;padding:9px 16px;border-radius:100px;display:inline-block;}
  nav a:hover{opacity:1;background:rgba(128,128,128,.14);}
  .logo .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
  .nav-right{display:flex;align-items:center;gap:16px;justify-self:end;}
  .btn-pill{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#0b0b0a;font-weight:700;font-size:14px;padding:13px 24px;border-radius:100px;border:none;cursor:pointer;transition:transform .2s,filter .2s;}
  .btn-pill:hover{transform:translateY(-2px);filter:brightness(1.08);}
  .btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text);font-weight:600;font-size:14px;padding:14px 22px;border-radius:100px;border:1px solid var(--line);cursor:pointer;transition:background .2s,border-color .2s;}
  .btn-outline:hover{background:rgba(128,128,128,.1);border-color:rgba(128,128,128,.35);}
  .btn-outline.disabled{opacity:.4;cursor:not-allowed;}
  .btn-outline.disabled:hover{background:transparent;border-color:var(--line);}

  /* VISION */
  .eyebrow{color:var(--muted);font-size:13.5px;font-weight:600;letter-spacing:.02em;margin-bottom:22px;}
  .eyebrow .dot{display:none;}
  .accent-word{color:var(--accent);}
  .vision-eyebrow{color:var(--muted);font-size:13.5px;font-weight:600;margin-bottom:40px;}
  .vision-copy{max-width:820px;}
  .vision-copy h2{font-size:clamp(30px,4vw,50px);margin-bottom:28px;}
  .vision-copy p{color:var(--muted);font-size:clamp(17px,2vw,21px);line-height:1.7;max-width:760px;margin-bottom:34px;}
  .sr-word{display:inline-block;opacity:.15;filter:blur(3px);transition:opacity .5s ease,filter .5s ease;}
  .sr-word.active{opacity:1;filter:blur(0);}

  /* OFFERS — sticky stacking cards, full content */
  .offer-head{max-width:640px;margin-bottom:70px;}
  .offer-head h2{font-size:clamp(30px,3.6vw,46px);}
  .offers-stack{position:relative;padding-bottom:40px;}
  .offer-card{
    position:sticky;
    display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;
    background:var(--card);border:1px solid var(--line);border-radius:22px;
    padding:48px;margin-bottom:26px;
    box-shadow:0 30px 70px rgba(0,0,0,.4);
  }
  .offer-card:nth-child(1){top:112px;z-index:1;}
  .offer-card:nth-child(2){top:142px;z-index:2;}
  .offer-card:nth-child(3){top:172px;z-index:3;}
  .offer-card:nth-child(4){top:202px;z-index:4;}
  .offer-card:nth-child(5){top:232px;z-index:5;}
  .offer-card:nth-child(6){top:262px;z-index:6;margin-bottom:0;}

  /* SPECIAL OFFER CARD (gradient) */
  .offer-card-special{
    background:linear-gradient(135deg,var(--accent),var(--accent-2));
    border:none;
  }
  .offer-card-special .o-quote{color:rgba(255,255,255,.92);}
  .offer-card-special h3,.offer-card-special .o-desc{color:#fff;}
  .offer-card-special .o-desc{opacity:.92;}
  .offer-card-special .o-included-label{color:rgba(255,255,255,.75);}
  .offer-card-special .o-included div{color:rgba(255,255,255,.92);}
  .offer-card-special .o-included div::before{background:#fff;}
  .offer-card-special .o-pricing{border-color:rgba(255,255,255,.35);}
  .offer-card-special .o-price-tier{border-color:rgba(255,255,255,.35);}
  .offer-card-special .o-price-tier span{color:rgba(255,255,255,.75);}
  .offer-card-special .o-price-tier b{color:#fff;}
  .offer-card-special .btn-pill{background:#fff;color:#0b0b0a;}
  .offer-card-special .o-meta{color:rgba(255,255,255,.75);}
  .offer-card-special .o-meta b{color:#fff;}
  .offer-card-special .o-badge{
    display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);
    color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
    padding:6px 14px;border-radius:100px;margin-bottom:16px;
  }
  .o-media{border-radius:14px;overflow:hidden;position:relative;aspect-ratio:5/4;}
  .o-index{position:absolute;top:16px;left:16px;font-family:'Fraunces',serif;font-size:14px;color:#fff;background:rgba(16,15,12,.6);padding:5px 13px;border-radius:100px;backdrop-filter:blur(3px);}
  .o-info h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:10px;}
  .o-quote{font-style:italic;color:var(--accent-2);font-size:15px;margin-bottom:16px;}
  .o-desc{color:var(--muted);font-size:14.5px;max-width:460px;margin-bottom:22px;line-height:1.6;}
  .o-included-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);margin-bottom:12px;}
  .o-included{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:24px;max-width:460px;}
  .o-included div{font-size:13.5px;color:var(--text-soft);display:flex;align-items:center;gap:8px;}
  .o-included div::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;}
  .o-pricing{display:flex;margin-bottom:22px;border:1px solid var(--line);border-radius:8px;overflow:hidden;max-width:460px;}
  .o-price-tier{flex:1;padding:12px 14px;border-right:1px solid var(--line);}
  .o-price-tier:last-child{border-right:none;}
  .o-price-tier span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;}
  .o-price-tier b{font-family:'Fraunces',serif;font-size:17px;color:var(--text);font-weight:600;}
  .o-meta{font-size:12.5px;color:var(--muted);margin-top:18px;}
  .o-meta b{color:var(--text-soft);font-weight:600;}

  /* PATRIMOINE */
  .heritage-head{margin-bottom:80px;max-width:640px;}
  .heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 60px;}
  .heritage-card{border-top:1px solid var(--line);padding-top:26px;}
  .heritage-num{font-family:'Fraunces',serif;color:var(--accent-2);font-size:14px;margin-bottom:14px;display:block;}
  .heritage-card h3{font-size:22px;margin-bottom:14px;}
  .heritage-card p{color:var(--muted);font-size:15px;max-width:440px;}

  /* OFFRE SPÉCIALE — MODAL (full-screen sheet, slides up like a new page) */
  .offer-modal{position:fixed;inset:0;z-index:500;visibility:hidden;pointer-events:none;}
  .offer-modal.open{visibility:visible;pointer-events:auto;}
  .offer-modal-backdrop{position:absolute;inset:0;background:rgba(6,6,5,.7);opacity:0;transition:opacity .4s ease;}
  .offer-modal.open .offer-modal-backdrop{opacity:1;}
  .offer-modal-panel{
    position:absolute;inset:0;background:var(--bg);
    transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);
    overflow:hidden;box-shadow:0 -20px 60px rgba(0,0,0,.4);
  }
  .offer-modal-bg{position:absolute;inset:0;z-index:0;}
  .offer-modal-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.55) 0%,var(--bg) 62%,var(--bg) 100%);}
  .offer-modal-scroll{position:relative;z-index:1;}
  .offer-modal.open .offer-modal-panel{transform:translateY(0);}
  .offer-modal-scroll{overflow-y:auto;height:100%;padding:80px 48px 80px;max-width:920px;margin:0 auto;}
  .offer-modal-close{
    position:fixed;top:24px;right:34px;z-index:2;width:42px;height:42px;border-radius:50%;
    background:var(--bg-2);border:1px solid var(--line);color:var(--text);cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;
  }
  .offer-modal-close:hover{background:var(--accent);color:#0b0b0a;transform:rotate(90deg);}
  .offer-modal-close svg{width:17px;height:17px;}
  .offer-special-head{max-width:720px;margin-bottom:16px;}
  .offer-special-dates{color:var(--muted);font-size:15px;margin-bottom:34px;}
  .offer-special-price-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:44px;}
  .osp-chip{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:16px 22px;}
  .osp-chip span{display:block;font-size:11px;color:var(--muted);letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase;}
  .osp-chip b{font-family:'Fraunces',serif;font-size:20px;color:var(--text);}
  .osp-chip.highlight{border-color:var(--accent);}
  .osp-chip.highlight b{color:var(--accent);}
  .offer-special-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;margin-bottom:70px;}
  .special-included{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
  .special-included div{font-size:14.5px;color:var(--text-soft);display:flex;align-items:center;gap:10px;}
  .special-included div::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;}
  .special-pricing{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:34px;}
  .special-pricing .row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--muted);}
  .special-pricing .row:last-of-type{border-bottom:none;}
  .special-pricing .row b{color:var(--text);font-family:'Fraunces',serif;font-size:17px;font-weight:600;}
  .special-pricing .row.save b{color:var(--accent);}
  .itinerary{display:flex;flex-direction:column;}
  .itinerary-day{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line);}
  .itinerary-day:last-child{border-bottom:1px solid var(--line);}
  .itinerary-day .date{font-family:'Fraunces',serif;color:var(--accent-2);font-weight:600;font-size:14.5px;}
  .itinerary-day h4{font-size:16.5px;margin-bottom:6px;}
  .itinerary-day p{color:var(--muted);font-size:14px;max-width:560px;}
  .offer-special-note{color:var(--muted);font-size:13px;margin-top:24px;max-width:640px;}

  /* HERO — FarmForm-style slideshow hero */
  .hero-ff{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;}
  .hero-ff-bg{position:absolute;inset:0;}
  .hero-ff-bg img{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;}
  .hero-ff-bg img.active{opacity:1;}
  .hero-ff::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,7,6,.82) 0%,rgba(8,7,6,.05) 40%,rgba(8,7,6,.3) 100%);z-index:1;}
  .hero-ff-top{position:absolute;top:0;left:0;right:0;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:30px 44px;}
  .hero-ff-tag{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.1em;color:#fff;text-transform:uppercase;justify-self:start;}
  .type-cursor{display:inline-block;margin-left:2px;font-weight:400;animation:typeBlink .9s step-end infinite;}
  @keyframes typeBlink{50%{opacity:0;}}
  .hero-ff-tag svg{width:14px;height:14px;color:var(--accent);}
  .hero-ff-top .header-logo{justify-self:center;}
  .hero-ff-top .header-logo img{height:20px;}
  .hero-ff-menu{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.1em;color:#fff;text-transform:uppercase;cursor:pointer;background:none;border:none;padding:0;justify-self:end;}
  .hero-ff-menu svg{width:18px;height:18px;}
  .hero-ff-menu-panel{
    position:absolute;top:70px;right:44px;z-index:5;background:var(--card);border:1px solid var(--line);
    border-radius:12px;padding:32px;display:none;grid-template-columns:1fr 1fr;gap:44px;min-width:420px;
    box-shadow:0 20px 50px rgba(0,0,0,.4);color:var(--text);
  }
  .hero-ff-menu-panel.open{display:grid;}
  .ff-menu-brand{display:flex;flex-direction:column;gap:20px;}
  .brand-mark-flat{display:inline-flex;}
  .brand-mark-flat svg{height:15px;width:auto;display:block;}
  .brand-mark-flat.logo-white{display:none;}
  html[data-theme="dark"] .brand-mark-flat.logo-white{display:inline-flex;}
  html[data-theme="dark"] .brand-mark-flat.logo-color{display:none;}
  .ff-menu-contact{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);}
  .ff-menu-social{display:flex;gap:10px;}
  .ff-menu-social a{
    width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--text);transition:background .2s,color .2s;
  }
  .ff-menu-social a:hover{background:var(--accent);color:#0b0b0a;border-color:var(--accent);}
  .ff-menu-social svg{width:14px;height:14px;}
  .ff-menu-links{display:flex;flex-direction:column;gap:13px;}
  .ff-menu-links a{font-size:14px;font-weight:600;}
  .ff-menu-links a:hover{color:var(--accent);}
  .hero-ff-content{position:absolute;left:44px;right:44px;bottom:64px;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;}
  .hero-ff-welcome{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:#fff;opacity:.85;margin-bottom:14px;text-transform:uppercase;}
  .hero-ff-content h1{font-size:clamp(28px,4vw,50px);color:#fff;max-width:600px;}
  .hero-ff-pagination{display:flex;gap:9px;align-items:center;flex-shrink:0;padding-bottom:8px;}
  .hero-ff-pagination .seg{width:32px;height:2px;background:rgba(255,255,255,.35);transition:background .3s,width .3s;}
  .hero-ff-pagination .seg.active{background:#fff;width:44px;}
  .hero-ff-cta{display:none;align-items:center;gap:8px;margin-top:18px;background:var(--accent);color:#0b0b0a;font-weight:700;font-size:13.5px;padding:11px 20px;border-radius:100px;width:fit-content;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:transform .2s,filter .2s;}
  .hero-ff-cta:hover{transform:translateY(-2px);filter:brightness(1.08);}
  .hero-ff-cta.show{display:inline-flex;}
  .hero-ff-side{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex-shrink:0;}
  .loc-chip{display:inline-flex;align-items:center;gap:9px;background:var(--accent);border-radius:100px;padding:7px 16px 7px 8px;box-shadow:0 12px 26px rgba(0,0,0,.3);}
  .loc-chip-icon{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .loc-chip-icon svg{width:12px;height:12px;color:#fff;}
  .loc-chip-text{font-size:12.5px;font-weight:700;color:#fff;white-space:nowrap;}
  .loc-chip-text span#pinSub{font-weight:500;opacity:.85;}
  .loc-chip-text span#pinTitle{margin-right:4px;}

  /* CONTACT */
  .contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:70px;}
  .contact-info h2{font-size:clamp(28px,3.2vw,40px);margin-bottom:20px;}
  .contact-info p{color:var(--muted);font-size:15.5px;margin-bottom:44px;max-width:400px;}
  .contact-detail{margin-bottom:22px;}
  .contact-detail span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;}
  .contact-detail b{font-size:15.5px;font-weight:600;color:var(--text);}
  .form-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:44px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
  .field{display:flex;flex-direction:column;gap:8px;}
  .field.full{grid-column:1/-1;}
  .field label{font-size:12.5px;color:var(--muted);font-weight:600;}
  .field input,.field select,.field textarea{
    background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text);
    padding:12px 14px;font-family:'Inter',sans-serif;font-size:14.5px;outline:none;transition:border-color .2s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
  .field textarea{resize:vertical;min-height:100px;}
  .form-submit{width:100%;justify-content:center;margin-top:6px;padding:15px;}
  .form-note{font-size:13px;color:var(--muted);margin-top:14px;text-align:center;}

  /* FOOTER */
  footer{padding:90px 0 30px;border-top:1px solid var(--line);}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;}
  .footer-brand p{color:var(--muted);font-size:14.5px;margin-top:14px;max-width:280px;}
  .footer-col h4{font-size:12.5px;letter-spacing:.06em;color:var(--muted);margin-bottom:18px;font-weight:700;}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .footer-col a{font-size:14.5px;color:var(--text-soft);}
  .footer-col a:hover{color:var(--accent);}
  .footer-legal{display:flex;justify-content:space-between;padding-top:26px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);flex-wrap:wrap;gap:14px;}
  .footer-legal .links{display:flex;gap:22px;}

  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  @media (max-width:900px){
    .wrap{padding:0 22px;}
    header{padding:20px 22px;}
    nav{display:none;}
    section{padding:80px 0;}
    .offer-card,.contact-grid,.heritage-grid,.footer-grid{grid-template-columns:1fr;gap:30px;}
    .offer-card:nth-child(even) .o-media,.offer-card:nth-child(even) .o-info{order:initial;}
    .form-row{grid-template-columns:1fr;}
    .offer-card{grid-template-columns:1fr;top:16px !important;padding:28px;}
    .hero-ff-tag span{display:none;}
    .hero-ff-content{flex-direction:column;align-items:flex-start;gap:20px;}
    .hero-ff-side{align-items:flex-start;width:100%;}
    .brand-mark{padding:6px 10px;}
    .brand-mark svg{height:11px;}
    .hero-ff-menu-panel{grid-template-columns:1fr;min-width:260px;right:22px;}
    .offer-special-grid{grid-template-columns:1fr;}
    .offer-modal-scroll{padding:26px;}
    .offer-modal-close{top:12px;right:12px;}
    .itinerary-day{grid-template-columns:1fr;gap:6px;}
    header{grid-template-columns:auto 1fr auto;gap:10px;}
    header .header-logo img{height:15px;}
    .nav-right{gap:8px;}
    .nav-right .ff-menu-social{display:none;}
    .btn-pill{padding:11px 16px;font-size:13px;}
    .theme-toggle{width:34px;height:34px;}
  }