:root{
    --cream:#F7F3EC; --cream2:#EFE8DB; --pine:#28362E; --pine2:#38493F;
    --sauge:#6E7F68; --teal:#4E7A88; --teal-d:#3B606C;
    --sand:#C6A566; --sand-d:#B08D4C; --ink:#2A322C; --muted:#65706A; --line:#e4ddcf;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--cream);
    line-height:1.75;overflow-x:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  h1,h2,h3,h4,h5,.serif{font-family:'Cormorant Garamond',serif;}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .kicker{font-family:'Jost';font-weight:500;letter-spacing:.34em;text-transform:uppercase;font-size:12px;color:var(--teal);}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
  .btn{display:inline-block;padding:15px 32px;border-radius:2px;font-family:'Jost';font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;font-size:12.5px;transition:.25s ease;cursor:pointer;}
  .btn-sand{background:var(--sand);color:#fff;}
  .btn-sand:hover{background:var(--sand-d);transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(176,141,76,.8);}
  .btn-ghost{border:1px solid rgba(255,255,255,.75);color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,.14);}
  .btn-pine{background:var(--pine);color:#fff;}
  .btn-pine:hover{background:var(--pine2);transform:translateY(-2px);}
  .divider{width:64px;height:2px;background:var(--sand);margin:18px 0;border:none;}
  .center .divider{margin-left:auto;margin-right:auto;}

  /* reveal on scroll */
  .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.d1{transition-delay:.12s;} .reveal.d2{transition-delay:.24s;} .reveal.d3{transition-delay:.36s;}

  /* ---------- NAV ---------- */
  .nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
    padding:22px 5vw;transition:.35s ease;}
  .nav .logo .n{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:26px;line-height:1;transition:.35s;}
  .nav .logo .t{font-family:'Jost';font-weight:400;letter-spacing:.36em;text-transform:uppercase;font-size:9.5px;opacity:.85;transition:.35s;}
  .nav ul{display:flex;gap:32px;list-style:none;}
  .nav ul a{font-weight:400;font-size:14px;letter-spacing:.04em;position:relative;padding:4px 0;transition:.25s;}
  .nav ul a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--sand);transition:.3s;}
  .nav ul a:hover::after{width:100%;}
  .nav .book{background:var(--sand);color:#fff;padding:12px 24px;border-radius:2px;font-size:12px;
    letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:.25s;}
  .nav .book:hover{background:var(--sand-d);}
  /* nav sur le hero (clair) */
  .nav .logo .n,.nav .logo .t,.nav ul a{color:#fff;}
  /* nav figée (fond crème) */
  .nav.scrolled{background:rgba(247,243,236,.96);box-shadow:0 6px 30px -18px rgba(40,54,46,.5);padding:14px 5vw;backdrop-filter:blur(6px);}
  .nav.scrolled .logo .n{color:var(--pine);} .nav.scrolled .logo .t{color:var(--muted);}
  .nav.scrolled ul a{color:var(--ink);}

  /* ---------- HERO ---------- */
  .hero{position:relative;height:100vh;min-height:660px;max-height:1000px;overflow:hidden;background:#0f1612;}
  .hero .slides{position:absolute;inset:0;will-change:transform;}
  .hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;}
  .hero .slide.active{opacity:1;}
  .hero .slide img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);transform:scale(1.08);}
  .hero .slide.active img{animation:kbOut 9s ease-out forwards;}
  .hero .slide.zin.active img{animation:kbIn 9s ease-out forwards;}
  @keyframes kbOut{from{transform:scale(1.16);}to{transform:scale(1.0);}}
  @keyframes kbIn{from{transform:scale(1.0);}to{transform:scale(1.16);}}

  /* faune qui se promène */
  .wild{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
  .bird{position:absolute;color:rgba(22,30,25,.5);will-change:transform;}
  .bird svg{display:block;animation:flap 1s ease-in-out infinite alternate;transform-origin:center;}
  @keyframes flap{from{transform:scaleY(1);}to{transform:scaleY(.5);}}
  .b1{top:22%;animation:fly1 26s linear infinite;}
  .b2{top:30%;animation:fly2 34s linear infinite;animation-delay:-8s;transform:scale(.7);}
  .b3{top:17%;animation:fly1 40s linear infinite;animation-delay:-20s;transform:scale(1.35);}
  .b4{top:36%;animation:fly2 30s linear infinite;animation-delay:-15s;transform:scale(.55);}
  .b5{top:25%;animation:fly1 62s linear infinite;animation-delay:-31s;color:rgba(20,28,24,.42);}
  .b5 svg{animation:flap 3.4s ease-in-out infinite alternate;}
  @keyframes fly1{0%{transform:translate(-14vw,0);}50%{transform:translate(52vw,-4vh);}100%{transform:translate(116vw,2vh);}}
  @keyframes fly2{0%{transform:translate(116vw,0);}50%{transform:translate(48vw,3vh);}100%{transform:translate(-14vw,-2vh);}}
  .hero .ov{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(16,22,18,.42) 0%,rgba(16,22,18,.05) 24%,rgba(16,22,18,0) 48%,rgba(16,22,18,.28) 72%,rgba(16,22,18,.62) 100%);}
  .hero .vign{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 95% 80% at 50% 40%,transparent 58%,rgba(12,18,14,.4) 100%);}
  .hero .hcontent{position:absolute;left:0;right:0;bottom:12vh;text-align:center;color:#fff;padding:0 6vw;z-index:3;}
  .hero .kicker{color:#fff;opacity:.92;}
  .hero .hline{height:2px;width:0;background:var(--sand);margin:22px auto 4px;animation:hlineIn 1.1s ease forwards;animation-delay:.9s;}
  @keyframes hlineIn{to{width:96px;}}
  .hero h1{font-size:clamp(50px,7.4vw,94px);font-weight:600;line-height:1;margin:14px 0 8px;letter-spacing:.005em;text-shadow:0 6px 50px rgba(0,0,0,.5);}
  .hero .lead{font-size:clamp(16px,1.5vw,21px);font-weight:300;max-width:640px;margin:8px auto 32px;text-shadow:0 2px 20px rgba(0,0,0,.5);}
  .hero .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .hero .fade{opacity:0;transform:translateY(22px);animation:fadeUp 1s ease forwards;animation-delay:var(--d,0s);}
  @keyframes fadeUp{to{opacity:1;transform:none;}}
  .hero .dots{position:absolute;bottom:8.5vh;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:11px;}
  .hero .dots b{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s;display:block;}
  .hero .dots b.on{background:var(--sand);transform:scale(1.25);}
  .scrolldown{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;opacity:.7;animation:bounce 2s infinite;}
  @keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}

  /* INFO BAR */
  .infobar{background:var(--pine);color:#fff;}
  .infobar .wrap{display:flex;justify-content:space-between;padding:26px 40px;gap:10px;}
  .infobar .it{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.12);}
  .infobar .it:last-child{border-right:none;}
  .infobar .it .v{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;}
  .infobar .it .l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.7;}

  /* INTRO */
  .intro{padding:110px 0;}
  .intro .grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
  .intro h2{font-size:clamp(34px,3.4vw,48px);color:var(--pine);line-height:1.08;font-weight:600;margin-bottom:6px;}
  .intro p{color:var(--muted);font-size:16.5px;margin-bottom:16px;}
  .intro .imgwrap{position:relative;}
  .intro .imgwrap .ph{overflow:hidden;border-radius:3px;}
  .intro .imgwrap img{width:100%;height:460px;object-fit:cover;transition:transform .8s ease;}
  .intro .imgwrap:hover img{transform:scale(1.05);}
  .intro .imgwrap .badge{position:absolute;bottom:-26px;right:-26px;background:var(--cream);border:1px solid var(--line);
    border-radius:3px;padding:20px 26px;text-align:center;box-shadow:0 24px 50px -30px rgba(40,54,46,.6);}
  .intro .badge .n{font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--sand-d);font-weight:600;line-height:1;}
  .intro .badge .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;}

  /* APPARTEMENTS */
  .apts{padding:110px 0;background:var(--cream2);}
  .apts .head{text-align:center;margin-bottom:60px;}
  .apts .head h2{font-size:clamp(36px,4vw,50px);color:var(--pine);font-weight:600;line-height:1.05;}
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:38px;}
  .card{background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 26px 60px -40px rgba(40,54,46,.7);
    border:1px solid var(--line);transition:transform .4s ease,box-shadow .4s ease;}
  .card:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(40,54,46,.75);}
  .card .ph{height:300px;position:relative;overflow:hidden;}
  .card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
  .card:hover .ph img{transform:scale(1.07);}
  .card .ph .tag{position:absolute;top:16px;left:16px;background:rgba(40,54,46,.86);color:#fff;font-size:11px;
    letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:2px;z-index:2;}
  .card .body{padding:32px 34px 36px;}
  .card .body h3{font-size:36px;color:var(--pine);font-weight:600;line-height:1;margin-bottom:8px;}
  .card .body p{color:var(--muted);font-size:15px;margin-bottom:18px;}
  .amen{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
  .amen span{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--sauge);
    background:var(--cream);border:1px solid var(--line);padding:6px 12px;border-radius:30px;}
  .card .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;}
  .card .foot .price{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--pine);font-weight:600;}
  .card .foot .price small{font-family:'Jost';font-size:12px;color:var(--muted);font-weight:300;}
  .card .foot .lnk{color:var(--teal);font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:.25s;}
  .card:hover .foot .lnk{color:var(--sand-d);letter-spacing:.16em;}

  /* EQUIPEMENTS */
  .feats{padding:90px 0;}
  .feats .head{text-align:center;margin-bottom:50px;}
  .feats .head h2{font-size:clamp(30px,3vw,42px);color:var(--pine);font-weight:600;}
  .row{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;text-align:center;}
  .feat .ic{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:var(--cream2);
    display:flex;align-items:center;justify-content:center;transition:.35s;}
  .feat:hover .ic{background:var(--sand);transform:translateY(-4px);}
  .feat:hover .ic svg{stroke:#fff;}
  .feat .ic svg{transition:.35s;}
  .feat h4{font-family:'Jost';font-weight:500;font-size:14px;color:var(--pine);}
  .feat p{font-size:12.5px;color:var(--muted);}

  /* NATURE */
  .nature{position:relative;color:#fff;padding:130px 0;overflow:hidden;background:#1a241d url("../photos/photo10.jpg") center/cover fixed;}
  .nature .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(24,34,29,.92) 0%,rgba(24,34,29,.74) 45%,rgba(24,34,29,.4) 100%);}
  .nature .wrap{position:relative;z-index:2;}
  .nature .kicker{color:var(--sand);}
  .nature h2{font-size:clamp(34px,3.4vw,48px);font-weight:600;line-height:1.1;margin:8px 0 14px;max-width:620px;}
  .nature p{max-width:560px;color:rgba(255,255,255,.85);font-size:16px;margin-bottom:26px;}
  .chips{display:flex;flex-wrap:wrap;gap:10px;max-width:660px;}
  .chip{font-size:13px;color:#fff;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);
    padding:8px 15px;border-radius:30px;transition:.3s;}
  .chip:hover{background:var(--sand);border-color:var(--sand);}

  /* GALERIE */
  .gal{padding:110px 0 40px;}
  .gal .head{text-align:center;margin-bottom:50px;}
  .gal .head h2{font-size:clamp(34px,3.4vw,48px);color:var(--pine);font-weight:600;}
  /* carrousel de photos rondes */
  .circles{position:relative;overflow:hidden;padding:20px 0 10px;
    -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
  .circles .track{display:flex;gap:48px;width:max-content;animation:marquee 46s linear infinite;}
  .circles:hover .track{animation-play-state:paused;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .circ{flex:none;text-align:center;cursor:pointer;}
  .circ .ph{width:230px;height:230px;border-radius:50%;overflow:hidden;border:5px solid #fff;
    box-shadow:0 20px 44px -22px rgba(40,54,46,.7);transition:transform .45s ease,box-shadow .45s ease;position:relative;}
  .circ .ph::after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(198,165,102,.5);}
  .circ img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
  .circ:hover .ph{transform:scale(1.06) translateY(-6px);box-shadow:0 30px 56px -24px rgba(40,54,46,.8);}
  .circ:hover img{transform:scale(1.1);}
  .circ .lbl{margin-top:16px;font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--pine);font-weight:600;
    letter-spacing:.01em;transition:.35s;}
  .circ:hover .lbl{color:var(--sand-d);}

  /* CONTACT */
  .contact{background:var(--pine);color:#fff;padding:110px 0;margin-top:80px;text-align:center;position:relative;overflow:hidden;}
  .contact .kicker{color:var(--sand);}
  .contact h2{font-size:clamp(38px,4.4vw,54px);font-weight:600;margin:10px 0 8px;}
  .contact p{color:rgba(255,255,255,.8);font-size:16px;max-width:560px;margin:0 auto 30px;}
  .contact .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

  /* FOOTER */
  footer{background:#1E2A24;color:rgba(255,255,255,.72);padding:64px 0 30px;}
  footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;}
  footer .logo .n{font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;font-weight:600;line-height:1;}
  footer .logo .t{font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;opacity:.6;}
  footer p{font-size:14px;margin-top:14px;line-height:1.7;}
  footer h5{color:#fff;font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;}
  footer li{list-style:none;font-size:14px;margin-bottom:9px;transition:.25s;}
  footer li:hover{color:#fff;}
  footer .copy{border-top:1px solid rgba(255,255,255,.12);margin-top:46px;padding-top:22px;text-align:center;font-size:12.5px;opacity:.6;}

  /* ---------- EFFETS WOUAH ---------- */
  /* titre mot par mot */
  .hero h1 .w{display:inline-block;opacity:0;transform:translateY(46px);animation:wordUp 1s cubic-bezier(.2,.7,.2,1) forwards;}
  @keyframes wordUp{to{opacity:1;transform:none;}}

  /* parallaxe génériques */
  .parx{position:absolute;inset:-14% 0;will-change:transform;}
  .parx img{width:100%;height:100%;object-fit:cover;}

  /* bandeau photo + citation */
  .pband{position:relative;height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:#28362e url("../photos/pano-nuages.jpg") center 32%/cover fixed;}
  .pband .ov{position:absolute;inset:0;background:linear-gradient(rgba(24,34,29,.55),rgba(24,34,29,.55));z-index:1;}
  .pband .q{position:relative;z-index:2;color:#fff;max-width:820px;padding:0 34px;}
  .pband .q p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(26px,3.2vw,42px);line-height:1.3;}
  .pband .q .s{margin-top:16px;letter-spacing:.3em;text-transform:uppercase;font-size:11px;font-family:'Jost';opacity:.85;}
  .pband .q .line{width:54px;height:2px;background:var(--sand);margin:20px auto 0;}

  /* galerie : overlay au survol + curseur */
  .grid6 .g{cursor:pointer;}
  .grid6 .g .cap{position:absolute;inset:0;z-index:2;opacity:0;transition:.45s;
    background:linear-gradient(0deg,rgba(24,34,29,.7) 0%,rgba(24,34,29,0) 55%);}
  .grid6 .g:hover .cap{opacity:1;}
  .grid6 .g .zoom{position:absolute;top:50%;left:50%;width:56px;height:56px;border:1px solid rgba(255,255,255,.85);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    transform:translate(-50%,-50%) scale(.5);opacity:0;transition:.45s;}
  .grid6 .g:hover .zoom{opacity:1;transform:translate(-50%,-50%) scale(1);}

  /* lightbox */
  .lb{position:fixed;inset:0;z-index:100;background:rgba(16,22,18,.95);display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:.4s;}
  .lb.open{opacity:1;pointer-events:auto;}
  .lb figure{position:relative;transform:scale(.94);transition:.45s cubic-bezier(.2,.7,.2,1);text-align:center;}
  .lb.open figure{transform:scale(1);}
  .lb img{max-width:86vw;max-height:82vh;border-radius:4px;box-shadow:0 40px 90px rgba(0,0,0,.6);}
  .lb .cc{color:rgba(255,255,255,.75);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:16px;}
  .lb .x{position:absolute;top:24px;right:34px;color:#fff;font-size:30px;line-height:1;cursor:pointer;opacity:.8;font-family:'Jost';font-weight:300;}
  .lb .arw{position:absolute;top:50%;transform:translateY(-50%);color:#fff;cursor:pointer;opacity:.65;padding:18px;user-select:none;}
  .lb .arw:hover,.lb .x:hover{opacity:1;}
  .lb .prev{left:16px;} .lb .next{right:16px;}

  /* carte 3D */
  .card{will-change:transform;transition:transform .3s ease,box-shadow .4s ease;}

  /* Fenêtre très haute = export : on fige effets pour une capture propre */
  @media screen and (min-height:3000px){
    .reveal{opacity:1!important;transform:none!important;}
    .parx{transform:none!important;}
    .hero .slide img,.hero h1 .w,.hero .fade{animation:none!important;opacity:1!important;transform:none!important;}
    .hero .hline{animation:none!important;width:96px!important;}
    .hero .slide{opacity:0!important;} .hero .slide.active{opacity:1!important;}
    .wild{display:none!important;}
    .scrolldown,.hero .dots{display:none!important;}
    .pband,.nature{background-attachment:scroll!important;}
    .circles .track{animation:none!important;}
    .circ .lbl{opacity:1!important;transform:none!important;}
  }

  /* RESPONSIVE */
  @media(max-width:980px){
    .nav ul{display:none;}
    .intro .grid{grid-template-columns:1fr;gap:50px;}
    .intro .imgwrap .badge{right:20px;}
    .cards{grid-template-columns:1fr;}
    .row{grid-template-columns:repeat(2,1fr);gap:30px;}
    .grid6{grid-template-columns:repeat(2,1fr);}
    footer .grid{grid-template-columns:1fr 1fr;gap:34px;}
  }
  @media(max-width:560px){
    .wrap{padding:0 24px;}
    .infobar .wrap{flex-wrap:wrap;} .infobar .it{flex:1 0 45%;border:none;margin-bottom:10px;}
    .row{grid-template-columns:1fr;} .grid6{grid-template-columns:1fr;}
    .grid6 .big{grid-row:span 1;} footer .grid{grid-template-columns:1fr;}
  }

  /* PRINT (pour export PDF) */
  @media print{
    @page{ size:1280px 6320px; margin:0; }
    .reveal{opacity:1!important;transform:none!important;}
    .hero .slide img,.hero h1 .w,.hero .fade{animation:none!important;opacity:1!important;transform:none!important;}
    .hero .hline{animation:none!important;width:96px!important;}
    .hero .slide{opacity:0!important;} .hero .slide.active{opacity:1!important;}
    .wild{display:none!important;}
    .parx{transform:none!important;}
    .scrolldown,.hero .dots,.lb{display:none!important;}
    .nav{position:absolute;}
  }

/* ============================================================
   POLISH PREMIUM — pjmweb.fr (ajouts hors maquette d'origine)
   ============================================================ */

/* Rendu typographique plus net */
html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }

/* Sélection de texte aux couleurs du gîte */
::selection{ background:var(--sand); color:#fff; }
::-moz-selection{ background:var(--sand); color:#fff; }

/* Focus clavier accessible (a11y + SEO) */
a:focus-visible,.btn:focus-visible,.book:focus-visible,.chip:focus-visible,.circ:focus-visible{
  outline:2px solid var(--sand); outline-offset:4px; border-radius:3px;
}

/* Barre de progression de lecture au défilement */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0;
  z-index:60; pointer-events:none;
  background:linear-gradient(90deg,var(--sand),var(--sand-d));
  box-shadow:0 0 10px rgba(198,165,102,.6);
  transition:width .1s linear;
}

/* Grain fin sur toute la page (texture premium, très subtil) */
body::after{
  content:''; position:fixed; inset:0; z-index:70; pointer-events:none; opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Barre de défilement discrète (WebKit) */
::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:var(--cream2); }
::-webkit-scrollbar-thumb{ background:var(--sauge); border-radius:20px; border:3px solid var(--cream2); }
::-webkit-scrollbar-thumb:hover{ background:var(--pine2); }

/* Respect de la préférence "animations réduites" */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .circles .track{ animation:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ============================================================
   SITE MULTI-PAGES — pjmweb.fr
   Nav déroulante, menu mobile, pages internes, formulaire, galerie
   ============================================================ */

/* ---------- NAV : sous-menu déroulant ---------- */
.nav ul li{position:relative;}
.nav .has-sub>a::before{content:'';}
.nav .caret{display:inline-block;margin-left:5px;font-size:9px;vertical-align:middle;opacity:.8;transition:transform .3s;}
.nav .has-sub:hover .caret{transform:rotate(180deg);}
.nav .submenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
  background:rgba(247,243,236,.98);backdrop-filter:blur(8px);
  border:1px solid var(--line);border-radius:4px;padding:10px 0;min-width:210px;
  box-shadow:0 24px 50px -24px rgba(40,54,46,.5);
  opacity:0;visibility:hidden;transition:.28s ease;z-index:60;
  display:flex;flex-direction:column;gap:0;list-style:none;
}
.nav .has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px);}
.nav .submenu li{margin:0;}
.nav .submenu a{display:block;padding:10px 22px;color:var(--ink)!important;font-size:14px;white-space:nowrap;transition:.2s;}
.nav .submenu a::after{display:none;}
.nav .submenu a:hover{background:var(--cream2);color:var(--sand-d)!important;padding-left:26px;}

/* ---------- Barre « Réservez aussi sur » (sous le héros) ---------- */
.bookbar{background:var(--cream2);border-bottom:1px solid var(--line);}
.bookbar .wrap{display:flex;align-items:center;justify-content:center;gap:14px;
  padding:15px 40px;flex-wrap:wrap;}
.bookbar__label{font-family:'Jost',sans-serif;font-weight:500;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.bookbar__btn{display:inline-flex;align-items:center;gap:7px;padding:8px 19px;
  border:1px solid var(--line);border-radius:30px;background:#fff;
  font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:var(--pine);
  transition:border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;}
.bookbar__btn::after{content:'↗';font-size:11px;opacity:.55;}
.bookbar__btn:hover{border-color:var(--sand);color:var(--sand-d);
  transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(40,54,46,.55);}
.bookbar__btn:hover::after{opacity:1;}
@media(max-width:560px){
  .bookbar .wrap{gap:9px;padding:13px 20px;}
  .bookbar__label{width:100%;text-align:center;margin-bottom:2px;}
  .bookbar__btn{font-size:12.5px;padding:7px 16px;}
}

/* Texte de présentation aéré : les retours à la ligne ne s'appliquent
   que sur grand écran (sur mobile ils créeraient des lignes bancales). */
@media(max-width:760px){
  .intro p br{display:none;}
}

/* ---------- Logo emblème (nav) ---------- */
.nav .logo a{display:flex;align-items:center;gap:12px;}
.nav__logo{width:50px;height:50px;flex:none;display:block;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));
  transition:transform .35s ease;}
.nav .logo a:hover .nav__logo{transform:rotate(-6deg) scale(1.05);}
.logo__wm{display:flex;flex-direction:column;line-height:1;}
@media(max-width:560px){
  .nav__logo{width:42px;height:42px;}
  .logo__wm .t{display:none;}
}

/* ---------- Logo emblème (footer) ---------- */
.footer__logo{width:88px;height:88px;border-radius:50%;display:block;margin-bottom:14px;
  box-shadow:0 10px 30px -14px rgba(0,0,0,.6);}

/* ---------- Menu mobile (hamburger + tiroir) ---------- */
.navtoggle{display:none;width:30px;height:22px;position:relative;cursor:pointer;z-index:70;background:none;border:none;padding:0;}
.navtoggle span{position:absolute;left:0;height:2px;width:100%;background:#fff;border-radius:2px;transition:.35s ease;}
.navtoggle span:nth-child(1){top:0;} .navtoggle span:nth-child(2){top:10px;} .navtoggle span:nth-child(3){top:20px;}
.nav.scrolled .navtoggle span{background:var(--pine);}
body.menu-open .navtoggle span{background:var(--pine);}
body.menu-open .navtoggle span:nth-child(1){top:10px;transform:rotate(45deg);}
body.menu-open .navtoggle span:nth-child(2){opacity:0;}
body.menu-open .navtoggle span:nth-child(3){top:10px;transform:rotate(-45deg);}
.mobile-drawer{
  position:fixed;inset:0;z-index:65;background:var(--cream);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  opacity:0;visibility:hidden;transition:.4s ease;padding:80px 30px;overflow-y:auto;
}
body.menu-open .mobile-drawer{opacity:1;visibility:visible;}
.mobile-drawer a{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--pine);font-weight:600;padding:9px 0;transition:.25s;}
.mobile-drawer a:hover,.mobile-drawer a.current{color:var(--sand-d);}
.mobile-drawer .sub{font-size:20px;color:var(--muted);font-family:'Jost';font-weight:400;}
.mobile-drawer .book{margin-top:22px;background:var(--sand);color:#fff;padding:14px 40px;border-radius:2px;
  font-family:'Jost';font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.mobile-drawer .book:hover{background:var(--sand-d);color:#fff;}

/* ---------- SUBHERO (bannière de page interne) ---------- */
.subhero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--pine);}
.subhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(1.07) contrast(1.05) brightness(1.03);}
/* voile concentré en bas (pour le titre) et très léger en haut → la photo reste nette et lumineuse */
.subhero .ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(16,22,18,.22) 0%,rgba(16,22,18,0) 32%,rgba(16,22,18,0) 55%,rgba(16,22,18,.5) 85%,rgba(16,22,18,.78) 100%);}
.subhero .inner{position:relative;z-index:2;color:#fff;padding:0 0 56px;width:100%;}
.subhero .kicker{color:var(--sand);}
.subhero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(40px,5.4vw,68px);
  line-height:1.02;margin:12px 0 6px;text-shadow:0 6px 40px rgba(0,0,0,.45);}
.subhero .sub{font-size:clamp(15px,1.4vw,19px);font-weight:300;max-width:620px;opacity:.94;text-shadow:0 2px 16px rgba(0,0,0,.5);}
.subhero .hline{height:2px;width:70px;background:var(--sand);margin:16px 0 0;}

/* ---------- Fil d'ariane ---------- */
.breadcrumb{padding:18px 0 0;font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.85);}
.breadcrumb a{color:rgba(255,255,255,.85);text-decoration:none;transition:.2s;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb .sep{margin:0 8px;opacity:.6;}

/* ---------- Sections de page & prose ---------- */
.psec{padding:96px 0;}
.psec.alt{background:var(--cream2);}
.psec.pine{background:var(--pine);color:#fff;}
.psec.pine h2,.psec.pine h3{color:#fff;}
.psec .head{text-align:center;max-width:760px;margin:0 auto 54px;}
.psec .head.left{text-align:left;margin-left:0;}
.psec h2{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.4vw,46px);color:var(--pine);font-weight:600;line-height:1.08;}
.prose{max-width:720px;margin:0 auto;color:var(--muted);font-size:16.5px;line-height:1.85;}
.prose.wide{max-width:820px;}
.prose p{margin-bottom:18px;}
.prose h3{font-family:'Cormorant Garamond',serif;color:var(--pine);font-size:26px;font-weight:600;margin:34px 0 12px;}
.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.prose strong{color:var(--ink);font-weight:500;}

/* ---------- Bloc 2 colonnes texte + image ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.rev .txt{order:2;}
.split .imgwrap{position:relative;border-radius:4px;overflow:hidden;}
.split .imgwrap img{width:100%;height:480px;object-fit:cover;transition:transform .8s ease;}
.split .imgwrap:hover img{transform:scale(1.05);}
.split h2{margin-bottom:14px;}
.split p{color:var(--muted);font-size:16px;margin-bottom:16px;line-height:1.8;}

/* ---------- Liste d'équipements (coches) ---------- */
.amlist{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin:6px 0 26px;list-style:none;}
.amlist li{position:relative;padding-left:30px;color:var(--ink);font-size:15px;}
.amlist li::before{content:'';position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;
  background:var(--sand);}
.amlist li::after{content:'';position:absolute;left:6px;top:7px;width:6px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg);}

/* ---------- Cartouche d'infos clés ---------- */
.keyfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:8px 0 4px;}
.keyfacts .kf{background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:22px 18px;text-align:center;}
.keyfacts .kf .v{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--pine);font-weight:600;line-height:1;}
.keyfacts .kf .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;}

/* ---------- Tableau des tarifs ---------- */
.tarifs{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;
  box-shadow:0 26px 60px -46px rgba(40,54,46,.7);}
.tarifs table{width:100%;border-collapse:collapse;}
.tarifs th,.tarifs td{padding:18px 22px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;}
.tarifs thead th{background:var(--pine);color:#fff;font-family:'Jost';font-weight:500;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;}
.tarifs tbody tr:last-child td{border-bottom:none;}
.tarifs tbody tr:nth-child(even){background:var(--cream);}
.tarifs td .season{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--pine);font-weight:600;}
.tarifs td .price{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--sand-d);font-weight:600;}
.tarifs td small{color:var(--muted);font-size:12.5px;}
.tnote{max-width:860px;margin:22px auto 0;color:var(--muted);font-size:13.5px;text-align:center;line-height:1.7;}

/* ---------- Contact : grille formulaire + infos ---------- */
.contactwrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
.cform{background:#fff;border:1px solid var(--line);border-radius:6px;padding:36px 34px;
  box-shadow:0 26px 60px -46px rgba(40,54,46,.7);}
.field{margin-bottom:18px;}
.field label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:3px;background:var(--cream);
  font-family:'Jost';font-size:15px;color:var(--ink);transition:.25s;}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--sand);background:#fff;box-shadow:0 0 0 3px rgba(198,165,102,.16);}
.field textarea{min-height:130px;resize:vertical;}
.field.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cinfo .block{margin-bottom:28px;}
.cinfo h4{font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sand-d);margin-bottom:8px;}
.cinfo p{color:var(--muted);font-size:15.5px;line-height:1.7;}
.cinfo a{color:var(--teal);}
.formnote{font-size:12.5px;color:var(--muted);margin-top:6px;}
.formmsg{display:none;margin-top:16px;padding:14px 16px;border-radius:4px;font-size:14.5px;}
.formmsg.ok{display:block;background:rgba(110,127,104,.14);color:var(--pine);border:1px solid var(--sauge);}
.formmsg.err{display:block;background:rgba(176,80,60,.1);color:#8a3b2c;border:1px solid #c88;}

/* ---------- Galerie (grille harmonieuse, tuiles égales) ---------- */
.galgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
/* toutes les tuiles ont la MÊME taille → alignement parfait, rendu premium */
.galgrid .g{position:relative;overflow:hidden;border-radius:10px;cursor:pointer;aspect-ratio:4/3;
  background:var(--cream2);box-shadow:0 18px 40px -30px rgba(40,54,46,.7);}
.galgrid .g img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.galgrid .g:hover img{transform:scale(1.06);}
/* légende toujours visible, posée sur un dégradé discret */
.galgrid .g .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 16px 13px;
  color:#fff;font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;line-height:1.2;
  background:linear-gradient(0deg,rgba(20,28,23,.82) 0%,rgba(20,28,23,.35) 55%,rgba(20,28,23,0) 100%);
  text-shadow:0 1px 8px rgba(0,0,0,.4);}
.galcat{text-align:center;margin:0 0 40px;}
.galcat h2{margin-bottom:6px;}
@media(max-width:560px){ .galgrid .g .cap{font-size:15px;} }

/* ---------- Visite immersive « pièce par pièce » ---------- */
.tour{position:relative;background:#0f1612;height:calc(var(--tn, 6) * 100vh);}
.tour__sticky{position:sticky;top:0;height:100vh;overflow:hidden;}
.tour__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s ease;}
.tour__slide.is-active{opacity:1;}
.tour__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease;}
.tour__slide.is-active img{transform:scale(1);}
.tour__slide::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,22,18,.42) 0%,rgba(15,22,18,0) 30%,rgba(15,22,18,0) 52%,rgba(15,22,18,.5) 72%,rgba(15,22,18,.9) 100%);}
.tour__cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 8% 13vh;color:#fff;}
.tour__cnum{font-family:'Jost';font-weight:500;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);}
.tour__cname{display:block;font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(40px,5.6vw,80px);line-height:1.02;margin:10px 0 12px;text-shadow:0 8px 46px rgba(0,0,0,.55);
  opacity:0;transform:translateY(26px);transition:opacity .9s ease .15s, transform .9s cubic-bezier(.2,.7,.2,1) .15s;}
.tour__slide.is-active .tour__cname{opacity:1;transform:none;}
.tour__cdesc{display:block;max-width:520px;font-size:clamp(15px,1.5vw,18px);color:rgba(255,255,255,.86);line-height:1.7;
  opacity:0;transform:translateY(20px);transition:opacity .9s ease .32s, transform .9s cubic-bezier(.2,.7,.2,1) .32s;}
.tour__slide.is-active .tour__cdesc{opacity:1;transform:none;}
.tour__hint{position:absolute;z-index:3;left:8%;top:34px;color:rgba(255,255,255,.72);
  font-family:'Jost';font-size:11px;letter-spacing:.28em;text-transform:uppercase;animation:tour-hint 2.4s ease-in-out infinite;}
@keyframes tour-hint{0%,100%{opacity:.5;} 50%{opacity:.9;}}
.tour__progress{position:absolute;z-index:3;right:5.5%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:13px;}
.tour__progress b{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.32);transition:.3s;cursor:pointer;display:block;}
.tour__progress b.on{background:var(--sand);transform:scale(1.4);box-shadow:0 0 0 4px rgba(198,165,102,.18);}

/* Repli mobile : belle pile verticale (pas de scroll-jacking) */
@media(max-width:820px){
  .tour{height:auto;}
  .tour__sticky{position:static;height:auto;}
  .tour__slide{position:relative;inset:auto;opacity:1;aspect-ratio:4/5;}
  .tour__slide img{transform:none;}
  .tour__cname{opacity:1;transform:none;font-size:33px;margin:8px 0 10px;}
  .tour__cdesc{opacity:1;transform:none;}
  .tour__cap{padding:0 26px 30px;}
  .tour__hint,.tour__progress{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .tour__slide img{transition:none;transform:none;}
  .tour__cname,.tour__cdesc{transition:none;}
}

/* ---------- Bandeau CTA réutilisable ---------- */
.ctaband{background:var(--pine);color:#fff;text-align:center;padding:88px 0;position:relative;overflow:hidden;}
.ctaband .kicker{color:var(--sand);}
.ctaband h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,50px);font-weight:600;margin:10px 0 10px;color:#fff;}
.ctaband p{color:rgba(255,255,255,.82);max-width:560px;margin:0 auto 28px;font-size:16px;}
.ctaband .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ---------- Mentions légales / pages texte ---------- */
.legal{max-width:820px;margin:0 auto;color:var(--muted);font-size:15.5px;line-height:1.85;}
.legal h2{font-family:'Cormorant Garamond',serif;color:var(--pine);font-size:26px;font-weight:600;margin:34px 0 10px;}
.legal p{margin-bottom:14px;}
.legal strong{color:var(--ink);font-weight:500;}

/* ---------- Responsive multi-pages ---------- */
@media(max-width:980px){
  .navtoggle{display:block;}
  .nav .book{display:none;}
  .split{grid-template-columns:1fr;gap:40px;}
  .split.rev .txt{order:0;}
  .split .imgwrap img{height:360px;}
  .contactwrap{grid-template-columns:1fr;gap:36px;}
  .keyfacts{grid-template-columns:repeat(2,1fr);}
  .galgrid{grid-template-columns:repeat(2,1fr);}
  .galgrid .g.wide{grid-column:span 2;}
}
@media(max-width:560px){
  .psec{padding:66px 0;}
  .amlist{grid-template-columns:1fr;}
  .keyfacts{grid-template-columns:1fr 1fr;}
  .galgrid{grid-template-columns:1fr;}
  .galgrid .g.wide{grid-column:span 1;}
  .field.two{grid-template-columns:1fr;}
  .tarifs th,.tarifs td{padding:13px 14px;font-size:13.5px;}
}

/* ---------- Carte Google Maps responsive ---------- */
.mapwrap{position:relative;width:100%;aspect-ratio:16/8;max-height:460px;border-radius:8px;overflow:hidden;
  border:1px solid var(--line);box-shadow:0 26px 60px -46px rgba(40,54,46,.7);background:var(--cream2);}
.mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Écran d'attente : la carte ne se charge qu'au clic (aucun cookie Google avant) */
.mapwrap__ask{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;text-align:center;padding:26px;
  background:linear-gradient(160deg,var(--cream2) 0%,#e6e0d2 100%);}
.mapwrap__pin{font-size:30px;line-height:1;}
.mapwrap__txt{color:var(--pine);font-family:'Jost',sans-serif;font-size:15px;font-weight:500;margin:0;line-height:1.6;}
.mapwrap__txt span{display:block;margin-top:6px;font-weight:400;font-size:12.5px;color:var(--muted);max-width:420px;}
.mapwrap__alt{font-family:'Jost',sans-serif;font-size:12.5px;color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.mapwrap__alt:hover{color:var(--sand-d);}
@media(max-width:600px){ .mapwrap{aspect-ratio:4/3;} }

/* ---------- Vitrine « visite en vidéo » (vidéo verticale, centrée) ---------- */
.vspot{position:relative;overflow:hidden;background:var(--pine);color:#fff;
  padding:100px 0 96px;text-align:center;}
.vspot::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 55% at 50% 42%, rgba(198,165,102,.16), transparent 70%),
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(78,122,136,.18), transparent 70%);}
.vspot .wrap{position:relative;z-index:1;}
.vspot .kicker{color:var(--sand);}
.vspot h2{font-family:'Cormorant Garamond',serif;color:#fff;font-weight:600;
  font-size:clamp(30px,3.6vw,50px);line-height:1.08;margin:12px 0 0;}
.vspot .divider{margin:18px auto 0;}
.vspot .lead{color:rgba(255,255,255,.8);max-width:600px;margin:18px auto 38px;
  font-size:16.5px;line-height:1.8;}
.vspot__media{position:relative;width:100%;max-width:352px;margin:0 auto 36px;}
.vspot__media video{display:block;width:100%;aspect-ratio:962/1570;object-fit:cover;
  border-radius:22px;box-shadow:0 44px 90px -34px rgba(0,0,0,.75);
  background:linear-gradient(160deg,#33473c 0%,#25322b 55%,#151d19 100%);}
.vspot__media::before{content:'';position:absolute;inset:-11px;border-radius:32px;
  border:1px solid rgba(198,165,102,.45);pointer-events:none;}
.vspot__media::after{content:'';position:absolute;inset:-38px;border-radius:48px;pointer-events:none;
  background:radial-gradient(closest-side, rgba(198,165,102,.18), transparent 78%);z-index:-1;}
.vspot .play-tag{position:absolute;top:15px;left:15px;z-index:2;display:flex;align-items:center;gap:6px;
  background:rgba(16,22,18,.6);color:#fff;font-family:'Jost';font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;padding:6px 12px;border-radius:30px;backdrop-filter:blur(4px);pointer-events:none;}
.vspot .play-tag::before{content:'';width:0;height:0;border-left:7px solid var(--sand);
  border-top:5px solid transparent;border-bottom:5px solid transparent;}
@media(max-width:600px){
  .vspot{padding:72px 0 68px;}
  .vspot__media{max-width:290px;margin-bottom:30px;}
}

/* ---------- Bandeau vidéo d'ambiance ---------- */
.vband{position:relative;height:62vh;min-height:420px;max-height:720px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;background:var(--pine);}
.vband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  background:linear-gradient(160deg,#2f4238 0%,#28362e 55%,#1c2721 100%);}
.vband .ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(rgba(24,34,29,.55),rgba(24,34,29,.5));}
.vband .q{position:relative;z-index:2;color:#fff;max-width:840px;padding:0 34px;}
.vband .q .kicker{color:var(--sand);}
.vband .q p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
  font-size:clamp(24px,3vw,40px);line-height:1.3;margin-top:12px;text-shadow:0 2px 24px rgba(0,0,0,.4);}
.vband .q .line{width:54px;height:2px;background:var(--sand);margin:18px auto 0;}
@media(max-width:600px){ .vband{height:52vh;min-height:340px;} }
