/* Si On Voyageait — styles de la page d'accueil (autonome) */

  :root{
    --cream:#FAF4E8;
    --paper:#FFFBF2;
    --ink:#2A2521;
    --ink-soft:#6B6157;
    --red:#D6453B;
    --red-deep:#B5362E;
    --line:#E4D8C4;
    --serif:"Newsreader", Georgia, serif;
    --sans:"Work Sans", system-ui, sans-serif;
    --hand:"Caveat", cursive;
    --mono:"Space Mono", monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  /* subtle paper grain */
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.5;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 56px;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}

  /* ---------- placeholder ---------- */
  .ph{
    position:relative;background:
      repeating-linear-gradient(135deg,#EFE5D2 0 11px,#E8DCC6 11px 22px);
    border-radius:2px;display:flex;align-items:flex-end;justify-content:flex-start;
    overflow:hidden;
  }
  .ph span{
    font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:#9a8c75;
    background:rgba(255,251,242,.82);padding:4px 8px;margin:10px;border-radius:2px;
    text-transform:uppercase;
  }

  /* ---------- map pin logo ---------- */
  .pin{position:relative;flex:none;width:46px;height:56px;display:block;transition:width .28s ease,height .28s ease;}
  .pin svg{width:46px;height:auto;display:block;
    filter:drop-shadow(0 5px 7px rgba(42,37,33,.22));
    transform-origin:50% 100%;
    transition:width .28s ease;
    animation:pindrop 1s cubic-bezier(.34,1.56,.64,1) both;}
  .pin::after{content:"";position:absolute;left:50%;bottom:1px;transform:translateX(-50%);
    width:16px;height:5px;border-radius:50%;background:rgba(42,37,33,.28);filter:blur(1.2px);
    animation:pinshadow 1s ease-out both;}
  .pin.sm{width:30px;height:37px;}
  .pin.sm svg{width:30px;animation:none;}
  .pin.sm::after{animation:none;width:11px;height:3.5px;}
  @keyframes pindrop{
    0%{transform:translateY(-52px) scale(.92);opacity:0;}
    55%{opacity:1;}
    72%{transform:translateY(2px) scaleY(.9);}
    100%{transform:translateY(0) scale(1);opacity:1;}
  }
  @keyframes pinshadow{
    0%{opacity:0;transform:translateX(-50%) scaleX(.35);}
    70%{opacity:0;}
    100%{opacity:1;transform:translateX(-50%) scaleX(1);}
  }
  @keyframes vanbob{0%,100%{transform:translateY(0);}50%{transform:translateY(-2px);}}
  @media (prefers-reduced-motion: reduce){
    .pin svg,.pin::after,.stats-motif .van img{animation:none!important;}
  }

  /* ---------- top bar ---------- */
  .topbar{
    display:flex;align-items:center;justify-content:space-between;
    border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-soft);
    letter-spacing:.04em;
  }
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;padding-top:10px;padding-bottom:10px;}
  .topbar .since{font-family:var(--mono);text-transform:uppercase;}
  .socials{display:flex;gap:18px;}
  .socials a{text-transform:uppercase;font-size:11px;letter-spacing:.1em;}
  /* sélecteur de langue */
  .tb-left{display:flex;align-items:center;gap:18px;}
  .lang{display:inline-flex;align-items:center;gap:2px;}
  .lang-item{position:relative;display:inline-flex;}
  .lang button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer;
    padding:3px 8px;border-radius:30px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;
    color:var(--ink-soft);text-transform:uppercase;opacity:.5;line-height:1;
    transition:opacity .18s,background .18s,color .18s;}
  .lang button:hover{opacity:1;color:var(--ink);}
  .lang button.active{opacity:1;color:var(--ink);background:rgba(214,69,59,.12);}
  .lang button[disabled]{cursor:default;opacity:.35;pointer-events:none;}
  .lang-item--soon::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(-4px);padding:7px 10px;border-radius:8px;background:rgba(42,37,33,.94);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;box-shadow:0 10px 22px -12px rgba(42,37,33,.7);z-index:30;}
  .lang-item--soon::before{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%) translateX(2px);border:6px solid transparent;border-right-color:rgba(42,37,33,.94);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:30;}
  .lang-item--soon:hover::after,.lang-item--soon:hover::before,.lang-item--soon:focus-within::after,.lang-item--soon:focus-within::before{opacity:1;transform:translateY(-50%) translateX(0);}
  @media (max-width:640px){
    .lang-item--soon::after,.lang-item--soon::before{opacity:1;}
    .lang-item--soon::after{transform:translateY(-50%);font-size:9px;padding:6px 8px;max-width:110px;white-space:normal;line-height:1.2;}
    .lang-item--soon::before{transform:translateY(-50%);}
  }
  .lang .flag{width:21px;height:14px;border-radius:2px;overflow:hidden;display:block;box-shadow:0 0 0 1px rgba(42,37,33,.15);flex:none;}
  .lang .flag svg{display:block;width:100%;height:100%;}
  .socials a:hover{color:var(--red);}

  /* ---------- header (sticky + shrink) ---------- */
  header{padding:28px 0 24px;position:sticky;top:0;z-index:100;background:var(--cream);
    transition:padding .28s ease,box-shadow .28s ease,background .28s ease;}
  header.scrolled{padding:11px 0 11px;background:rgba(250,244,232,.92);
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
    box-shadow:0 8px 24px -18px rgba(42,37,33,.6);border-bottom:1px solid var(--line);}
  header.scrolled .pin{width:33px;height:40px;}
  header.scrolled .pin svg{width:33px;}
  header.scrolled .logotype{font-size:27px;}
  header.scrolled .brand .sub{opacity:0;max-height:0;margin-top:0;}
  .head-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;}
  .brand{display:flex;align-items:center;gap:16px;}
  .logotype{font-family:var(--serif);font-weight:500;font-size:38px;line-height:.92;letter-spacing:-.01em;white-space:nowrap;transition:font-size .28s ease;}
  .logotype em{font-style:italic;color:var(--red);font-weight:600;}
  .brand .sub{font-family:var(--hand);color:var(--ink-soft);font-size:18px;line-height:1;margin-top:3px;display:flex;align-items:center;gap:7px;max-height:30px;overflow:hidden;transition:opacity .25s ease,max-height .28s ease,margin .28s ease;}
  .brand .sub::before{content:"";width:18px;height:1px;background:var(--red);}
  nav ul{display:flex;gap:26px;list-style:none;align-items:center;}
  nav a{position:relative;font-size:13.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--ink);transition:color .2s ease;}
  nav a::after{content:"";position:absolute;left:50%;bottom:-10px;width:6px;height:6px;border-radius:50%;background:var(--red);transform:translateX(-50%) scale(0);transition:transform .3s cubic-bezier(.34,1.75,.5,1);}
  nav a:hover{color:var(--red);}
  nav a:hover::after{transform:translateX(-50%) scale(1);}
  nav a.is-active{color:var(--red);}
  nav a.is-active::after{transform:translateX(-50%) scale(1);}
  /* « Notre Tribu » : 4 points (les 4 membres de la tribu) */
  nav a.nav-tribu:hover::after,
  nav a.nav-tribu.is-active::after{
    transform:translateX(calc(-50% - 15px)) scale(1);
    box-shadow:10px 0 0 0 var(--red),20px 0 0 0 var(--red),30px 0 0 0 var(--red);
  }

  /* ---------- hero ---------- */
  .hero{padding:26px 0 58px;}
  .hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center;}
  .kicker{font-family:var(--hand);color:var(--red);font-size:30px;line-height:1;transform:rotate(-3deg);display:inline-block;}
  .hero h2{font-family:var(--serif);font-weight:400;font-size:76px;line-height:.96;letter-spacing:-.015em;margin:14px 0 22px;}
  .hero h2 em{font-style:italic;color:var(--red);}
  .hero p{font-size:16.5px;color:var(--ink-soft);max-width:42ch;}
  .hero p b{color:var(--ink);font-weight:600;}
  .hero-cta{display:flex;gap:16px;margin-top:30px;align-items:center;}
  .btn{
    display:inline-flex;align-items:center;gap:9px;background:var(--red);color:#fff;
    font-weight:600;font-size:14px;letter-spacing:.03em;padding:13px 22px;border-radius:40px;
    transition:transform .15s,background .15s;
  }
  .btn:hover{background:var(--red-deep);transform:translateY(-1px);}
  .hero-cta .home-cta-primary{
    color:#fff!important;
    border-color:rgba(181,54,46,.9);
    background:linear-gradient(135deg,#d6453b 0%,#bf3d34 100%);
    box-shadow:0 14px 28px -18px rgba(181,54,46,.55), inset 0 1px 0 rgba(255,255,255,.16);
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }
  .hero-cta .home-cta-primary::before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:999px;
    background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,0));
    pointer-events:none;
    z-index:-1;
  }
  .hero-cta .home-cta-primary::after{
    content:"";
    position:absolute;
    top:-20%;
    left:-32%;
    width:42%;
    height:140%;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.24),rgba(255,255,255,0));
    transform:skewX(-22deg);
    transition:left .34s ease;
    pointer-events:none;
  }
  .hero-cta .home-cta-primary span{display:inline-flex;align-items:center;transition:transform .2s ease;}
  .hero-cta .home-cta-primary:hover,
  .hero-cta .home-cta-primary:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,#c93f36 0%,#aa312a 100%);
    border-color:#aa312a;
    transform:translateY(-2px);
    box-shadow:0 22px 36px -20px rgba(181,54,46,.68), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .hero-cta .home-cta-primary:hover::after,
  .hero-cta .home-cta-primary:focus-visible::after{left:108%;}
  .hero-cta .home-cta-primary:hover span,
  .hero-cta .home-cta-primary:focus-visible span{transform:translateX(4px);}
  .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
  .btn.ghost:hover{background:var(--ink);color:var(--cream);}
  .hero-photo{position:relative;}
  .polaroid{
    background:#fff;padding:14px 14px 54px;border-radius:3px;
    box-shadow:0 22px 48px -20px rgba(42,37,33,.45);transform:rotate(1.8deg);
  }
  .polaroid .ph{height:520px;width:100%;}
  .polaroid .cap{font-family:var(--hand);font-size:25px;color:var(--ink);text-align:center;margin-top:14px;}
  .stamp{
    position:absolute;top:-30px;left:-30px;width:96px;height:96px;border-radius:50%;
    background:var(--paper);border:2px dashed var(--red);color:var(--red);z-index:2;
    display:grid;place-items:center;text-align:center;font-family:var(--mono);font-size:9.5px;
    line-height:1.3;transform:rotate(-12deg);text-transform:uppercase;letter-spacing:.05em;
  }

  /* ---------- stats ---------- */
  .stats{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .stats-motif{display:flex;align-items:center;justify-content:center;gap:14px;padding:26px 0 4px;}
  .stats-motif .dash{height:0;border-top:2px dashed var(--line);width:130px;}
  .stats-motif .dot{width:9px;height:9px;border-radius:50%;background:var(--red);flex:none;}
  .stats-motif .van{flex:none;line-height:0;}
  .stats-motif .van img{width:118px;height:auto;display:block;animation:vanbob 3.4s ease-in-out infinite;}
  .stat{padding:30px 8px;text-align:center;position:relative;}
  .stat + .stat::before{content:"";position:absolute;left:0;top:24px;bottom:24px;border-left:1px dashed var(--line);}
  .stat .num{font-family:var(--serif);font-size:46px;line-height:1;color:var(--red);}
  .stat .lab{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-top:8px;}

  /* compteurs « panneau à volets » (split-flap) */
  .stat .num .flap-board{display:inline-flex;align-items:stretch;justify-content:center;gap:3px;}
  .stat .num .flap-gap{width:.34em;}
  .stat .num .flap{position:relative;display:inline-flex;align-items:center;justify-content:center;
    min-width:.72em;padding:.06em .07em;border-radius:5px;color:#FAF4E8;
    background:linear-gradient(#332e29,#241f1b);box-shadow:inset 0 -1px 0 rgba(255,255,255,.06),0 2px 5px -2px rgba(0,0,0,.5);}
  .stat .num .flap::before{content:"";position:absolute;left:6%;right:6%;top:50%;height:1px;background:rgba(0,0,0,.45);transform:translateY(-.5px);}
  .stat .num .flap-d{display:block;line-height:1;transform-origin:center;backface-visibility:hidden;}
  .stat .num .flap.flip .flap-d{animation:sov-flip .11s ease-in;}
  @keyframes sov-flip{0%{transform:rotateX(0)}100%{transform:rotateX(-78deg)}}
  @media (prefers-reduced-motion: reduce){ .stat .num .flap.flip .flap-d{animation:none;} }

  /* ---------- section heading ---------- */
  .sec{padding:64px 0 8px;}
  .sec-head{margin-bottom:30px;}
  .sec-head .eye{font-family:var(--hand);color:var(--red);font-size:26px;transform:rotate(-2deg);display:inline-block;}
  .sec-head h3{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.05;margin-top:2px;}
  .sec-head .row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
  .seemore{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--red);padding-bottom:3px;white-space:nowrap;}
  .seemore:hover{color:var(--red);}

  /* ---------- featured big ---------- */
  .feature{
    position:relative;border-radius:6px;overflow:hidden;margin-bottom:48px;
    box-shadow:0 24px 50px -28px rgba(42,37,33,.5);
  }
  .feature .ph{height:500px;}
  .feature .ph{background:
      linear-gradient(0deg,rgba(42,37,33,.62),rgba(42,37,33,.05) 55%),
      repeating-linear-gradient(135deg,#cdb99c 0 11px,#c2ad8d 11px 22px);}
  .feature .ph span{background:rgba(255,251,242,.85);}
  .feature .meta{position:absolute;left:36px;bottom:34px;right:36px;color:#fff;}
  .feature .tag{display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 13px;border-radius:30px;}
  .feature h4{font-family:var(--serif);font-weight:500;font-size:42px;line-height:1.02;margin:14px 0 10px;max-width:18ch;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.46);}
  .feature .lk{font-family:var(--hand);font-size:23px;color:#fff !important;border-bottom:1.5px solid rgba(255,255,255,.72);text-shadow:0 2px 12px rgba(0,0,0,.4);}

  /* ---------- card grid ---------- */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 30px;}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .18s,box-shadow .18s;}
  .card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -22px rgba(42,37,33,.45);}
  .card-link{display:block;color:inherit;height:100%;}
  .card .ph{height:234px;}
  .card-body{padding:18px 20px 22px;}
  .card .place{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--red);}
  .card .place::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);}
  .card h5{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.1;margin:8px 0 8px;}
  .card p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;}
  .card .byline{margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:#a99c87;text-transform:uppercase;display:flex;justify-content:space-between;}

  /* ---------- route divider ---------- */
  .route{display:flex;align-items:center;gap:14px;padding:60px 0 8px;color:var(--ink-soft);}
  .route .line{flex:1;border-top:2px dotted var(--line);}
  .route .pin-sm{width:12px;height:12px;border-radius:50%;background:var(--red);flex:none;}
  .route span{font-family:var(--hand);font-size:22px;color:var(--red);}

  /* ---------- mini sections ---------- */
  .sec-mini{padding-top:24px;}
  .home-mini-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
  .mini-card{
    display:flex;
    flex-direction:column;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:5px;
    padding:18px 18px 22px;
    box-shadow:none;
    color:inherit;
    text-decoration:none;
    overflow:hidden;
    transition:transform .18s,box-shadow .18s;
  }
  .mini-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 36px -22px rgba(42,37,33,.45);
  }
  .mini-card:focus-visible{
    outline:2px solid rgba(214,69,59,.45);
    outline-offset:3px;
  }
  .mini-card-dynamic{display:contents;}
  .mini-media{
    order:1;
    height:234px;
    margin:-18px -18px 18px;
    border-radius:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .mini-card h4{
    order:2;
    margin:0 0 10px;
    font-family:var(--serif);
    font-weight:500;
    font-size:23px;
    line-height:1.1;
    color:var(--ink);
  }
  .mini-card p{
    order:3;
    margin:0;
    font-size:13.5px;
    line-height:1.55;
    color:var(--ink-soft);
  }
  .mini-link{
    order:4;
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    font-family:var(--mono);
    font-size:10.5px;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#a99c87;
  }
  .mini-link span{transition:transform .18s ease;}
  .mini-card:hover .mini-link span{transform:translateX(3px);}
  .mini-card:hover .mini-link{color:var(--red);}

  .sec-updated .sec-head{margin-bottom:22px;}
  .home-updated-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .updated-item{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:100%;
    padding:18px 20px 22px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:5px;
    box-shadow:none;
    color:inherit;
    transition:transform .18s,box-shadow .18s;
  }
  .updated-item:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 36px -22px rgba(42,37,33,.45);
  }
  .updated-kicker{
    font-family:var(--mono);
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--red);
  }
  .updated-media{
    height:234px;
    margin:-18px -20px 8px;
    border-radius:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .updated-title{
    font-family:var(--serif);
    font-weight:500;
    font-size:23px;
    line-height:1.1;
    color:var(--ink);
  }
  .updated-meta{
    margin-top:auto;
    font-size:12px;
    color:#8e7f6d;
  }

  /* ---------- newsletter ---------- */
  .news{margin:64px 0 0;background:var(--ink);color:var(--cream);border-radius:8px;overflow:hidden;}
  .news-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .news-text{padding:54px 48px;}
  .news-text .eye{font-family:var(--hand);font-size:26px;color:#F0A89E;}
  .news-text h3{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.05;margin:6px 0 16px;color:#fff;}
  .news-text p{color:#c9bfb2;font-size:15px;max-width:38ch;}
  .news-form{display:flex;gap:10px;margin-top:26px;}
  .news-form input{flex:1;border:none;border-radius:40px;padding:13px 20px;font-family:var(--sans);font-size:14px;}
  .news-form input[disabled],
  .news-form button[disabled]{cursor:not-allowed;opacity:.72;}
  .news-form button[disabled]:hover{background:var(--red);transform:none;}
  .news-photo .ph{height:100%;min-height:360px;background:
      repeating-linear-gradient(135deg,#3a342e 0 11px,#332e29 11px 22px);}
  .news-photo .ph span{background:rgba(20,18,16,.7);color:#bbab92;}
  .news-photo{position:relative;}
  .news-photo .ph{position:relative;}
  .news-photo .news-cap{
    position:absolute;left:0;right:0;bottom:0;
    display:flex;align-items:center;justify-content:flex-start;
    min-height:54px;
    padding:12px 18px 11px;
    border-top:1px solid rgba(255,251,242,.32);
    background:linear-gradient(180deg,rgba(20,18,16,.42),rgba(20,18,16,.84));
    color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  }

  /* ---------- footer ---------- */
  footer{padding:56px 0 40px;margin-top:70px;border-top:1px solid var(--line);}
  .foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start;}
  .foot-brand{max-width:none;}
  .foot-brand .brand{align-items:center;}
  .foot-brand p{font-size:13.5px;color:var(--ink-soft);margin-top:14px;}
  .foot-col h6{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:14px;}
  .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px;}
  .foot-col a:hover{color:var(--red);}
  .copy{margin-top:40px;padding-top:22px;border-top:1px dashed var(--line);font-family:var(--mono);font-size:11px;color:#a99c87;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;text-transform:uppercase;letter-spacing:.04em;}
  /* ---------- bascule de mise en page (centré / plein écran) ---------- */
  .layout-toggle{
    position:fixed;top:14px;right:16px;z-index:10001;
    display:inline-flex;align-items:center;gap:2px;padding:4px;
    background:rgba(255,251,242,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    border:1px solid var(--line);border-radius:40px;
    box-shadow:0 8px 24px -14px rgba(42,37,33,.5);
    font-family:var(--sans);
  }
  .layout-toggle button{
    display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-soft);
    padding:8px 11px;border-radius:30px;transition:background .18s,color .18s;line-height:1;
  }
  .layout-toggle button svg{width:16px;height:16px;display:block;}
  .layout-toggle button .lbl{display:none;}
  .layout-toggle button:hover{color:var(--ink);}
  .layout-toggle button.active{background:var(--red);color:#fff;}

  /* on réserve le coin haut-droit pour la bascule */
  @media (min-width:601px){ .topbar .socials{margin-right:84px;} }
  header.scrolled .head-inner{padding-right:136px;}
  header.scrolled nav ul{gap:22px;}

  /* mode plein écran : la grille de contenu occupe toute la largeur */
  body.is-fullwidth .wrap{max-width:100%;padding:0 clamp(20px,4.5vw,96px);}
  /* on garde le coin réservé même en plein écran (priorité sur la règle ci-dessus) */
  body.is-fullwidth header.scrolled .head-inner{padding-right:136px;}

  /* ===== responsive (actif dans les deux modes) ===== */
  @media (max-width:1200px){
    .logotype{font-size:31px;}
    nav ul{gap:18px;}
    nav a{font-size:12.5px;letter-spacing:.02em;}
  }
  @media (max-width:1080px){ .grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:920px){
    .hero{padding:18px 0 42px;}
    .hero-grid{grid-template-columns:1fr;gap:26px;}
    .hero-photo{max-width:420px;margin:0 auto;}
    .polaroid{padding:12px 12px 40px;transform:rotate(.8deg);}
    .polaroid .ph{height:clamp(280px,62vw,380px);}
    .polaroid .cap{font-size:20px;margin-top:10px;}
    .stamp{
      top:-20px;left:-10px;width:78px;height:78px;
      font-size:8px;line-height:1.25;
    }
    .news-inner{grid-template-columns:1fr;}
    .news-photo,.news-photo .ph{min-height:240px;}
    .home-mini-grid,
    .home-updated-list{grid-template-columns:1fr;}
  }
  @media (max-width:760px){
    .topbar{display:none;}
    header{padding:16px 0 14px;}
    .head-inner{flex-wrap:wrap;gap:14px 20px;}
    .brand{gap:12px;}
    .pin{width:38px;height:46px;}
    .pin svg{width:38px;}
    .logotype{font-size:28px;}
    nav ul{gap:16px 18px;flex-wrap:wrap;}
    .hero h2{font-size:48px;line-height:.98;margin:8px 0 14px;}
    .hero p{font-size:15px;max-width:none;}
    .hero-cta{gap:12px;margin-top:20px;flex-wrap:wrap;}
    .hero-cta .btn{min-width:0;flex:1 1 220px;justify-content:center;}
    .stats-grid{grid-template-columns:repeat(2,1fr);}
    .stat + .stat::before{display:none;}
    .stats-motif .dash{width:clamp(40px,16vw,130px);}
    .stats-motif .van img{width:96px;}
    .feature .ph{height:clamp(260px,52vw,460px);}
    .feature .meta{left:24px;right:24px;bottom:24px;}
    .feature h4{font-size:34px;}
  }
  @media (min-width:761px){
    .foot-grid{
      display:grid;
      grid-template-columns:minmax(220px,.78fr) minmax(250px,.9fr) minmax(300px,1fr);
      grid-template-rows:auto auto;
      gap:22px;
      align-items:stretch;
    }
    .foot-brand{grid-column:1;grid-row:1;}
    .foot-grid > .foot-col:last-child{grid-column:1;grid-row:2;}
    .foot-col--dest{grid-column:2;grid-row:1 / span 2;}
    .foot-col--recent{grid-column:3;grid-row:1 / span 2;}
    .foot-brand,.foot-col,.foot-col--dest,.foot-col--recent{min-width:0;}
  }
  @media (max-width:600px){
    .grid{grid-template-columns:1fr;}
    .wrap{padding-left:16px;padding-right:16px;}
    .hero{padding:12px 0 34px;}
    .hero-grid{gap:18px;}
    .kicker{font-size:24px;}
    .hero h2{font-size:38px;line-height:1;}
    .hero p{font-size:14px;line-height:1.55;}
    .hero-cta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;}
    .hero-cta .btn{width:100%;padding:12px 18px;font-size:14px;}
    .hero-photo{max-width:100%;}
    .polaroid{
      width:min(100%,310px);
      margin:0 auto;
      padding:10px 10px 30px;
      transform:none;
      box-shadow:0 16px 34px -22px rgba(42,37,33,.34);
    }
    .polaroid .ph{
      height:min(56vh,300px);
      min-height:220px;
    }
    .polaroid .cap{font-size:16px;line-height:1.15;}
    .stamp{
      top:-12px;left:8px;width:66px;height:66px;
      font-size:7px;border-width:2px;
    }
    .stats{margin-top:4px;}
    .stats-motif{padding:16px 0 0;gap:10px;}
    .stats-motif .dash{width:34px;}
    .stats-motif .van img{width:78px;}
    .stat{padding:20px 6px;}
    .news-text{padding:36px 26px;}
    .news{margin-top:46px;border-radius:6px;}
    .sec{padding:44px 0 6px;}
    .sec-head{margin-bottom:20px;}
    .sec-head .eye{font-size:22px;}
    .sec-head h3{font-size:30px;line-height:1.04;}
    .seemore{font-size:11px;}
    .feature{margin-bottom:28px;}
    .feature .ph{height:230px;}
    .feature .meta{left:18px;right:18px;bottom:18px;}
    .feature .tag{font-size:10px;padding:5px 10px;}
    .feature h4{font-size:28px;max-width:12ch;}
    .feature .lk{font-size:18px;}
    .copy{flex-direction:column;gap:6px;}
    .stat .num{font-size:38px;}
    .mini-card,
    .updated-item{padding:20px 18px;}
    .mini-media,
    .updated-media{height:190px;}
    .mini-card h4,
    .updated-title{font-size:23px;}
    .news-photo .news-cap{padding:11px 14px 10px;}
    footer{margin-top:46px;padding:40px 0 28px;}
    .foot-grid{display:flex;flex-direction:column;gap:18px;align-items:stretch;}
    .foot-brand{padding:0;max-width:none;}
    .foot-panel{padding:16px 16px 15px;border-radius:14px;}
    .foot-col,.foot-col--dest,.foot-col--recent{min-width:0;width:100%;}
    .foot-dest-listing{gap:10px;}
    .foot-dest-item{
      display:grid;
      grid-template-columns:72px 1fr;
      gap:10px;
      padding:8px;
      transform:none;
    }
    .foot-dest-item:nth-child(2n),
    .foot-dest-item:nth-child(3n){transform:none;}
    .foot-dest-item:hover{transform:none;}
    .foot-dest-media{width:72px;aspect-ratio:1;}
    .foot-dest-body{gap:2px;}
    .foot-dest-over{font-size:8.5px;}
    .foot-dest-name{font-size:15px;line-height:1.08;}
    .foot-dest-text{display:none;}
    .foot-dest-item::after{display:none;}
    .foot-col--recent .foot-recent{gap:10px;}
    .foot-recent a{gap:10px;align-items:flex-start;}
    .foot-thumb{width:52px;height:52px;border-radius:10px;}
    .foot-recent-t{font-size:15px;line-height:1.18;}
    .foot-col .socials{gap:8px;}
  }

  /* ---------- menu hamburger (mobile ≤760) ---------- */
  .nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:10px;cursor:pointer;flex:none;padding:0;}
  .nav-toggle .bars{position:relative;width:20px;height:14px;}
  .nav-toggle .bars span{position:absolute;left:0;right:0;height:2px;background:var(--ink);border-radius:2px;}
  .nav-toggle .bars span:nth-child(1){top:0;}
  .nav-toggle .bars span:nth-child(2){top:6px;}
  .nav-toggle .bars span:nth-child(3){top:12px;}
  .mobile-drawer{position:fixed;inset:0;z-index:10000;background:var(--cream);transform:translateY(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1);visibility:hidden;display:flex;flex-direction:column;padding:22px 26px 30px;}
  body.nav-open .mobile-drawer{transform:translateY(0);visibility:visible;}
  body.nav-open{overflow:hidden;}
  .mobile-drawer .md-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:16px;}
  .mobile-drawer .md-brand{font-family:var(--serif);font-size:24px;}
  .mobile-drawer .md-brand em{font-style:italic;color:var(--red);}
  .mobile-drawer .md-close{width:44px;height:44px;border:1px solid var(--line);background:var(--paper);border-radius:10px;cursor:pointer;display:grid;place-items:center;color:var(--ink);}
  .mobile-drawer .md-close svg{width:20px;height:20px;}
  .mobile-drawer .md-nav{margin-top:6px;overflow-y:auto;}
  .mobile-drawer .md-nav ul{list-style:none;display:flex;flex-direction:column;gap:0;align-items:stretch;}
  .mobile-drawer .md-nav a{font-family:var(--serif);font-size:27px;color:var(--ink);padding:15px 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0;font-weight:500;}
  .mobile-drawer .md-nav a::after{display:none!important;}
  .mobile-drawer .md-nav a::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--line);flex:none;box-shadow:none!important;transform:none!important;}
  .mobile-drawer .md-nav a:hover{color:var(--red);}
  .mobile-drawer .md-nav a.is-active{color:var(--red);}
  .mobile-drawer .md-nav a.is-active::before{background:var(--red);}
  @media (max-width:760px){
    .nav-toggle{display:inline-flex;}
    header nav > ul{display:none;}
    header.scrolled .head-inner{padding-right:0;}
    .layout-toggle{display:none;}
  }
  @media (min-width:761px){
    .mobile-drawer{display:none!important;}
    .nav-toggle{display:none!important;}
  }

/* placeholders de pied de page / réseaux (zones WP à brancher) */
.foot-col .foot-ph{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14px;}
.foot-col .foot-ph li{color:var(--ink-soft);opacity:.6;}
.socials span{
  --svg:none;
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;
  color:var(--ink-soft);background:transparent;position:relative;
  font-size:0;line-height:0;overflow:hidden;
}
.socials span::before{
  content:"";width:17px;height:17px;background-color:currentColor;
  -webkit-mask:var(--svg) center/contain no-repeat;mask:var(--svg) center/contain no-repeat;
}
.socials span:nth-child(1){ --svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.2c3.2 0 3.6 0 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s0 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 0 1-1.38-.9 3.7 3.7 0 0 1-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.21 15.58 2.2 15.2 2.2 12s0-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.21 8.8 2.2 12 2.2Zm0 1.95c-3.15 0-3.52.01-4.76.07-1.15.05-1.77.24-2.18.4-.55.22-.94.47-1.35.88-.41.41-.66.8-.88 1.35-.16.41-.35 1.03-.4 2.18-.06 1.24-.07 1.61-.07 4.76s.01 3.52.07 4.76c.05 1.15.24 1.77.4 2.18.22.55.47.94.88 1.35.41.41.8.66 1.35.88.41.16 1.03.35 2.18.4 1.24.06 1.61.07 4.76.07s3.52-.01 4.76-.07c1.15-.05 1.77-.24 2.18-.4.55-.22.94-.47 1.35-.88.41-.41.66-.8.88-1.35.16-.41.35-1.03.4-2.18.06-1.24.07-1.61.07-4.76s-.01-3.52-.07-4.76c-.05-1.15-.24-1.77-.4-2.18a3.6 3.6 0 0 0-.88-1.35 3.6 3.6 0 0 0-1.35-.88c-.41-.16-1.03-.35-2.18-.4-1.24-.06-1.61-.07-4.76-.07Zm0 3.32a4.53 4.53 0 1 1 0 9.06 4.53 4.53 0 0 1 0-9.06Zm0 1.95a2.58 2.58 0 1 0 0 5.16 2.58 2.58 0 0 0 0-5.16Zm5.77-2.17a1.06 1.06 0 1 1-2.12 0 1.06 1.06 0 0 1 2.12 0Z'/%3E%3C/svg%3E"); }
.socials span:nth-child(2){ --svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14.5 8.5h2.2V5.6c-.38-.05-1.32-.16-2.42-.16-2.4 0-4.04 1.47-4.04 4.16V12H7.6v3.27h2.64V23h3.27v-7.73h2.53l.4-3.27h-2.93V9.93c0-.95.26-1.43 1.49-1.43Z'/%3E%3C/svg%3E"); }
.socials span:nth-child(3){ --svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.24 3h3.31l-7.23 8.26L22.84 21h-6.66l-5.22-6.82L4.99 21H1.68l7.73-8.83L1.32 3h6.83l4.72 6.24L18.24 3Zm-1.16 16.03h1.83L7.01 4.87H5.05l12.03 14.16Z'/%3E%3C/svg%3E"); }
.socials span:nth-child(4){ --svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M5 3c9.4 0 17 7.6 17 17h-3.2C18.8 12.4 12.6 6.2 5 6.2V3Zm0 6.4c5.86 0 10.6 4.74 10.6 10.6h-3.2A7.4 7.4 0 0 0 5 12.6V9.4ZM7.3 16.7a2.3 2.3 0 1 1 0 4.6 2.3 2.3 0 0 1 0-4.6Z'/%3E%3C/svg%3E"); }
