.gallery-section{padding:0 0 120px}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:12px;margin-top:48px}
.photo-grid figure{position:relative;margin:0;overflow:hidden;background:#d9ddd8}
.photo-grid .photo-main{grid-column:span 2;grid-row:span 2}
.photo-grid .photo-wide{grid-column:span 2}
.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease}
.photo-grid figure:hover img{transform:scale(1.035);filter:brightness(.88)}
.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 18px 14px;color:white;font:700 .9rem Manrope;background:linear-gradient(transparent,rgba(7,18,14,.72));letter-spacing:.03em}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}}
@media(max-width:560px){.gallery-section{padding-bottom:85px}.photo-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-15px;margin-right:-15px;padding:0 15px 12px}.photo-grid figure,.photo-grid .photo-main,.photo-grid .photo-wide{flex:0 0 84vw;height:310px;scroll-snap-align:center}}
.summer-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.summer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.summer-grid{grid-template-columns:1fr}}
.instagram-link{color:#9b5b36!important}
.instagram-link:before{content:"◎";margin-right:6px}
.instagram-contact{color:#f0c47e!important;font-weight:700;margin:12px 0!important}
@media(max-width:1100px){.nav nav{gap:18px}}
/* Instagram mis en avant et confort tactile */
html,body{overflow-x:hidden}
.hero-actions{flex-wrap:wrap}
.button,.menu,.nav a{touch-action:manipulation}
.instagram-link{display:inline-flex;align-items:center;gap:7px;color:#fff!important;background:linear-gradient(135deg,#f58529,#dd2a7b 52%,#8134af);padding:10px 14px;border-radius:999px;box-shadow:0 7px 18px rgba(221,42,123,.22)}
.instagram-link:before{content:none}
.instagram-link svg,.instagram-hero svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto}
.instagram-link .instagram-dot,.instagram-hero .instagram-dot{fill:currentColor;stroke:none}
.instagram-hero{gap:9px;color:#fff;background:linear-gradient(135deg,#f58529,#dd2a7b 52%,#8134af);border:0;box-shadow:0 10px 26px rgba(18,12,16,.22)}
.instagram-hero strong{font-size:.78rem;margin-left:-3px}

@media(max-width:900px){
  .nav{padding-left:16px;padding-right:16px}
  .nav nav{padding:14px 16px 22px;gap:6px;box-shadow:0 18px 35px rgba(8,18,14,.16)}
  .nav nav a{display:flex;align-items:center;min-height:48px;padding:8px 10px}
  .nav .nav-cta{justify-content:center;margin-top:5px}
  .menu{min-width:48px;min-height:48px}
  .instagram-link{justify-content:center!important;border-radius:4px!important;color:#fff!important}
  .instagram-link svg{width:23px;height:23px}
  .instagram-link span{font-size:1rem}
}

@media(max-width:560px){
  .hero{min-height:820px}
  .hero-copy{padding-top:125px;padding-bottom:205px}
  .hero h1{font-size:clamp(2.65rem,13vw,3.35rem);overflow-wrap:anywhere}
  .lead{margin:20px 0}
  .hero-actions{gap:9px}
  .hero-actions .button{width:100%;min-height:50px}
  .instagram-hero{order:3;flex-wrap:wrap}
  .instagram-hero strong{font-size:.76rem}
  .quickfacts{gap:8px 16px;padding:16px}
  .quickfacts strong{font-size:1.18rem}
  .quickfacts span{line-height:1.35}
  .section-head h2,.intro h2{font-size:clamp(2.15rem,11vw,3rem)}
  .cards{margin-top:35px}
  .card{padding:30px 22px;min-height:auto}
  .contact h2{font-size:clamp(2.7rem,13vw,3.6rem)}
  .contact-lines a{overflow-wrap:anywhere}
  .photo-grid{scrollbar-width:none}
  .photo-grid::-webkit-scrollbar{display:none}
}
.availability{padding:120px 0;background:#fff}
.availability-copy{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:42px}
.availability h2{font:700 clamp(2.4rem,4.5vw,4.4rem)/1.06 Manrope,sans-serif;letter-spacing:-.045em;margin:0}
.availability-copy>div:last-child p{color:#5b6762;margin-top:0}
.calendar-link{display:inline-block;color:#774b1e;font-weight:700;margin-top:10px}
.calendar-frame{height:650px;border:1px solid rgba(20,32,28,.14);background:#f4f0e8;padding:10px}
.calendar-frame iframe{width:100%;height:100%;border:0;background:#fff}
@media(max-width:900px){.availability{padding:85px 0}.availability-copy{grid-template-columns:1fr;gap:24px}.calendar-frame{height:620px}.nav nav{overflow-y:auto;max-height:calc(100vh - 72px)}}
@media(max-width:560px){.calendar-frame{height:540px;padding:5px}.availability h2{font-size:2.4rem}}

/* Palette kaki claire — montagne chaleureuse */
:root{--forest:#596548;--forest2:#6f7b5b;--cream:#fbf8f0;--copper:#d7ad68;--ink:#293126;--line:rgba(41,49,38,.14)}
body{background:#fbf8f0}
.nav{background:rgba(251,248,240,.95)}
.hero-shade{background:linear-gradient(90deg,rgba(35,45,30,.76) 0%,rgba(45,56,38,.36) 55%,rgba(45,56,38,.08)),linear-gradient(0deg,rgba(35,45,30,.42),transparent 48%)}
.quickfacts{background:rgba(89,101,72,.94)}
.features{background:#fffdf8}
.card{background:#fffdf9}
.card.featured{background:#596548}
.activities{background:#596548}
.activity-grid article{background:#6f7b5b}
.contact{background:#4f5b40}
footer{background:#3f4935}
.primary{color:#293126}
.intro-text,.section-head>p:last-child,.feature-grid p,.card>p:not(.price),details p{color:#5d6657}

@media(max-width:900px){.nav nav{background:#fbf8f0}}
