:root{
  --cream:#f5f1e9;
  --cream-2:#fbfaf7;
  --ink:#2b2c28;
  --muted:#716f69;
  --green:#304234;
  --green-2:#26372b;
  --line:#ddd8ce;
  --white:#fff;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-2);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{
  height:88px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:32px;padding:0 4vw;background:#fff;position:sticky;top:0;z-index:30;
  border-bottom:1px solid rgba(0,0,0,.04)
}
.brand{font-family:var(--serif);font-size:28px;font-weight:600;display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{font-size:25px;transform:translateY(-2px)}
.site-nav{display:flex;justify-content:center;gap:28px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.site-nav a{position:relative}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--green);transition:.25s}
.site-nav a:hover:after{right:0}
.button{display:inline-flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;padding:16px 22px;border:0;cursor:pointer;transition:.25s}
.button-dark{background:var(--green);color:#fff}
.button-dark:hover{background:var(--green-2)}
.button-light{background:#fff;color:var(--ink)}
.button-light:hover{background:var(--cream)}
.button-outline{background:transparent;border:1px solid #9f9a91}
.button-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:1px;background:#222;margin:6px 0}
.hero{position:relative;height:min(71vh,720px);min-height:540px;overflow:hidden}
.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 56%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.56),rgba(0,0,0,.16) 58%,rgba(0,0,0,.03))}
.hero-content{position:absolute;left:7vw;top:50%;transform:translateY(-50%);color:#fff;max-width:650px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;margin:0 0 12px;color:#6d6a63}
.eyebrow.light{color:#fff}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0}
h1{font-size:clamp(52px,6vw,84px);line-height:.95;letter-spacing:-.02em}
.hero-subtitle{font-family:var(--serif);font-size:20px;margin:28px 0 30px}
.facts{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-bottom:1px solid var(--line)}
.facts article{text-align:center;padding:28px 18px;position:relative}
.facts article+article:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:var(--line)}
.fact-icon{font-size:23px;color:#5a574f;margin-bottom:7px}
.facts h3{font-size:20px;line-height:1.1}
.facts p{font-family:var(--serif);font-size:14px;margin:6px auto 0;max-width:160px;color:#605e58}
.section{padding:100px 6vw}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:var(--cream)}
.intro-copy{max-width:560px}
.intro h2,.section-heading h2,.infos h2{font-size:clamp(42px,5vw,68px);line-height:.98}
.intro-copy>p:not(.eyebrow){max-width:590px;color:#5b5954}
.text-link{display:inline-flex;gap:12px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:600;border-bottom:1px solid #918d84;padding-bottom:5px;margin-top:8px}
.intro-photo{height:480px;overflow:hidden}
.intro-photo img{width:100%;height:100%;object-fit:cover}
.gallery-section{background:#fff;padding-left:2vw;padding-right:2vw}
.centered{text-align:center}
.section-heading{margin-bottom:48px}
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.gallery-grid figure{margin:0}
.gallery-grid img{width:100%;height:260px;object-fit:cover}
.gallery-grid figcaption{text-align:center;font-family:var(--serif);font-size:17px;padding:12px 8px 4px}
.gallery-action{text-align:center;margin-top:42px}
.destination{position:relative;min-height:440px;color:#fff;display:flex;align-items:center;padding:80px 7vw;overflow:hidden;background:var(--green)}
.destination-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(36,52,41,.95),rgba(36,52,41,.75)),
  url("assets/terrasse-neige.png") center/cover no-repeat;filter:saturate(.75)}
.destination-content{position:relative;max-width:650px}
.destination h2{font-size:clamp(48px,6vw,76px);line-height:.95;margin-bottom:20px}
.destination p{max-width:610px}
.contact-strip{background:var(--green-2);color:#fff;padding:48px 7vw;display:flex;justify-content:space-between;align-items:center;gap:30px}
.contact-strip h2{font-size:34px}
.contact-strip p{margin:4px 0 0;color:#d8ddd8}
.infos{background:var(--cream)}
.infos{display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-cards article{background:#fff;padding:28px}
.info-cards h3{font-size:24px}
.info-cards p{color:#66625c}
.site-footer{background:#fff;padding:54px 6vw;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;border-top:1px solid var(--line)}
.footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px}
.footer-brand span:last-child{color:#8b877f;font-size:16px}
.footer-links{display:flex;gap:20px;text-transform:uppercase;font-size:11px;letter-spacing:.07em}
.copyright{grid-column:1/-1;margin:16px 0 0;color:#99958e;font-size:12px}
.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:88vw;max-height:84vh}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}
.lightbox-close{top:20px;right:30px}
.lightbox-prev{left:24px}.lightbox-next{right:24px}

@media (max-width:1100px){
  .site-header{grid-template-columns:auto auto auto}
  .site-nav{position:absolute;top:88px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:24px 6vw;border-top:1px solid var(--line)}
  .site-nav.open{display:flex}
  .menu-toggle{display:block;justify-self:end}
  .header-cta{justify-self:end}
  .facts{grid-template-columns:repeat(3,1fr)}
  .facts article:nth-child(4):before{display:none}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .info-cards{grid-template-columns:1fr}
}
@media (max-width:760px){
  .site-header{height:74px;padding:0 20px;gap:14px}
  .brand{font-size:22px}
  .site-nav{top:74px}
  .header-cta{display:none}
  .hero{min-height:590px}
  .hero-content{left:24px;right:24px}
  h1{font-size:54px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts article:nth-child(3):before,.facts article:nth-child(5):before{display:none}
  .section{padding:72px 24px}
  .intro{grid-template-columns:1fr}
  .intro-photo{height:360px}
  .gallery-section{padding-left:16px;padding-right:16px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid img{height:210px}
  .destination{padding:70px 24px}
  .contact-strip{padding:42px 24px;flex-direction:column;align-items:flex-start}
  .infos{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr;padding:44px 24px}
  .footer-links{flex-wrap:wrap}
}
@media (max-width:480px){
  .facts{grid-template-columns:1fr 1fr}
  .facts h3{font-size:17px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-grid img{height:300px}
}
