:root{
  --pine:#18281f;
  --pine2:#263a2d;
  --cream:#f5efe4;
  --linen:#fffaf2;
  --gold:#c9a063;
  --wood:#7b4c2e;
  --ink:#1f241f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Georgia,serif;line-height:.98;margin:0 0 20px}
h1{font-size:clamp(3.2rem,8vw,7.8rem);color:white;letter-spacing:-.04em}
h2{font-size:clamp(2.2rem,4vw,4.5rem);letter-spacing:-.03em;color:var(--pine)}
h3{font-size:1.7rem;color:var(--pine)}
p{margin:0 0 20px}
nav{position:fixed;top:0;left:0;width:100%;z-index:20;padding:18px 6vw;display:flex;justify-content:space-between;align-items:center;color:white;background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,0))}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.mark{border:1px solid rgba(255,255,255,.8);border-radius:50%;width:42px;height:42px;display:grid;place-items:center}
.nav-links a{color:white;text-decoration:none;margin-left:24px;font-weight:700;font-size:.86rem}
.hero{min-height:96vh;display:flex;align-items:end;padding:130px 6vw 90px;background:url('assets/hero-cabin-winter.png') center/cover no-repeat;position:relative}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.25),rgba(0,0,0,.05))}
.hero-text{position:relative;max-width:940px}
.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:800;color:var(--gold);margin-bottom:14px}
.kicker.dark{color:var(--wood)}
.lead{color:white;font-size:clamp(1.1rem,2vw,1.35rem);max-width:700px}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:15px 25px;font-weight:800;margin:8px 10px 8px 0}
.primary{background:var(--gold);color:#17140f}
.ghost{border:1px solid white;color:white}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--pine);color:white;text-align:center}
.stats div{padding:28px 15px;border-right:1px solid rgba(255,255,255,.15)}
.stats strong{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--gold)}
.stats span{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
main section{padding:90px 6vw}
.intro{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.intro p:last-child{font-size:1.12rem}
.editorial{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.editorial.reverse{grid-template-columns:.9fr 1.1fr}
.editorial.reverse img{order:2}
.editorial img{width:100%;height:590px;object-fit:cover;border-radius:34px;box-shadow:0 30px 70px rgba(0,0,0,.18)}
.panel{background:var(--linen);padding:48px;border-radius:30px;box-shadow:0 18px 45px rgba(0,0,0,.08)}
.amenities{text-align:center;max-width:1260px;margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;text-align:left}
.cards article{background:white;border-radius:24px;padding:30px;box-shadow:0 14px 35px rgba(0,0,0,.07);font-size:1.8rem}
.cards p{font-size:.98rem}
.gallery-wrap{background:var(--pine);text-align:center}
.gallery-wrap h2{color:white}
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:32px}
.gallery img{width:100%;height:275px;object-fit:cover;border-radius:18px;transition:transform .25s ease}
.gallery img:hover{transform:scale(1.02)}
.guide{background:url('assets/winter-lake-close.jpeg') center/cover fixed no-repeat;padding:125px 6vw}
.guide-card{max-width:880px;background:rgba(245,239,228,.95);border-radius:34px;padding:52px}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
li{margin:8px 0}
.book{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.book>div:first-child{grid-row:span 2}
.book-box{background:white;border-radius:26px;padding:34px;box-shadow:0 14px 35px rgba(0,0,0,.07)}
.policies{background:var(--linen);text-align:center}
.policy-grid{max-width:1120px;margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}
.policy-grid div{background:var(--cream);border-radius:20px;padding:26px}
footer{background:var(--pine);text-align:center;color:white;padding:75px 6vw}
footer h2{color:white}
.snow:before,.snow:after{content:"";position:fixed;top:-10%;left:0;width:100%;height:120%;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.8) 1px,transparent 1px);background-size:80px 80px;animation:snow 18s linear infinite;z-index:4;opacity:.25}
.snow:after{background-size:120px 120px;animation-duration:30s;opacity:.18}
@keyframes snow{to{transform:translateY(80px)}}
@media(max-width:900px){
  .nav-links{display:none}
  .stats,.intro,.editorial,.editorial.reverse,.book{grid-template-columns:1fr}
  .editorial.reverse img{order:0}
  .cards,.policy-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .guide-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .stats,.cards,.policy-grid,.gallery{grid-template-columns:1fr}
  .editorial img{height:370px}
  .guide{background-attachment:scroll}
  main section{padding:64px 5vw}
}
