
:root{
  --cream:#f6f0e6;
  --cream-2:#fffaf2;
  --ink:#183047;
  --forest:#44564f;
  --sage:#708078;
  --brown:#8a5a32;
  --gold:#b58a56;
  --line:#d7cbbb;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(24,48,71,.12);
  --radius:22px;
  --mountain-silhouette:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1600 220%27%3E%3Cpath fill=%27%23708078%27 d=%27M0 155 120 132 180 98 230 120 320 60 420 102 520 18 630 72 744 26 838 88 950 40 1042 88 1140 60 1254 116 1352 72 1440 128 1510 102 1600 144V220H0Z%27/%3E%3Cpath fill=%27%2344564f%27 opacity=%27.82%27 d=%27M0 168 96 146 164 170 246 104 338 144 456 40 520 84 648 28 744 110 820 70 920 22 1036 118 1124 64 1232 130 1320 80 1408 154 1500 120 1600 168V220H0Z%27/%3E%3C/svg%3E");
  --edelweiss:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27%3E%3Cg fill=%27%23f7f1e5%27 stroke=%27%23b58a56%27 stroke-width=%273%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M50 8 61 33 88 22 73 46 97 55 71 61 79 88 56 72 50 97 44 72 21 88 29 61 3 55 27 46 12 22 39 33Z%27/%3E%3C/g%3E%3Ccircle cx=%2750%27 cy=%2752%27 r=%2710%27 fill=%27%23b58a56%27/%3E%3C/svg%3E");
  --wood-heart:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 120 110%27%3E%3Cdefs%3E%3ClinearGradient id=%27g%27 x1=%270%27 y1=%270%27 x2=%271%27 y2=%271%27%3E%3Cstop offset=%270%27 stop-color=%27%23d9b88f%27/%3E%3Cstop offset=%271%27 stop-color=%27%23b58a56%27/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d=%27M60 102 51 94C22 68 4 51 4 28 4 14 15 4 29 4c11 0 21 6 31 18C70 10 80 4 91 4c14 0 25 10 25 24 0 23-18 40-47 66l-9 8Z%27 fill=%27url(%23g)%27 stroke=%27%23926a43%27 stroke-width=%273%27/%3E%3Cpath d=%27M47 47c4-7 12-11 20-11 12 0 22 8 22 20 0 18-18 28-29 38-11-10-29-20-29-38 0-12 10-20 22-20 8 0 16 4 20 11Z%27 fill=%27none%27 stroke=%27rgba(255,255,255,.38)%27 stroke-width=%272%27/%3E%3C/svg%3E");
  --heart-divider:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 220 28%27%3E%3Cpath d=%27M2 14H84%27 stroke=%27%23b58a56%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3Cpath d=%27M136 14h82%27 stroke=%27%23b58a56%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3Cpath d=%27M110 22 102 15c-7-6-12-10-12-16 0-5 4-9 9-9 4 0 8 2 11 6 3-4 7-6 11-6 5 0 9 4 9 9 0 6-5 10-12 16l-8 7Z%27 fill=%27none%27 stroke=%27%23b58a56%27 stroke-width=%272.6%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");

}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#263238;background:var(--cream-2);line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,242,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(215,203,187,.8)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:flex;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:1.42rem;font-weight:700;color:var(--ink);white-space:nowrap}
.logo span{font-family:cursive;font-size:.95rem;font-weight:400;color:var(--brown);margin-right:.35rem}
.nav-toggle{display:none;border:0;background:transparent;font-size:1.7rem;padding:.35rem .5rem}
.nav{display:flex;gap:18px;align-items:center}
.nav a{text-decoration:none;font-size:.95rem;font-weight:700}
.nav a:hover,.nav a[aria-current="page"]{color:var(--brown)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.82rem 1.15rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(24,48,71,.18)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:rgba(255,255,255,.55)}
.hero{position:relative;overflow:hidden;background:linear-gradient(rgba(246,240,230,.35),rgba(246,240,230,.92)),url("../img/mountain-hero.svg") center/cover no-repeat;border-bottom:1px solid var(--line)}
.hero .container{padding:86px 0 78px}
.eyebrow{font-family:cursive;font-size:2rem;color:var(--forest);margin:0 0 -.4rem}
.hero h1,.page-hero h1{font-family:Georgia,serif;color:var(--ink);font-size:clamp(3.1rem,8vw,6.3rem);line-height:.98;margin:.1rem 0 1rem;letter-spacing:-.03em}
.hero-sub{font-family:Georgia,serif;font-size:clamp(1.2rem,2.6vw,2rem);color:var(--forest);max-width:880px}
.tagline{display:inline-block;margin-top:8px;padding-top:12px;border-top:1px solid var(--brown);letter-spacing:.2em;font-size:.78rem;font-weight:800;color:var(--brown)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-card{margin-top:34px;background:rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:var(--radius);padding:18px 22px;display:flex;gap:18px;flex-wrap:wrap}
.hero-card strong{color:var(--ink)}
.section{padding:74px 0}
.section.alt{background:#efe7db}
.section h2,.page-content h2{font-family:Georgia,serif;color:var(--ink);font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:0 0 18px}
.section h3,.page-content h3{font-family:Georgia,serif;color:var(--ink)}
.lead{font-size:1.18rem;max-width:850px}
.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.feature{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(24,48,71,.06)}
.feature .icon{font-size:1.8rem}
.feature h3{margin:.35rem 0 .25rem}
.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#ddd}
.photo-card img{width:100%;height:430px;object-fit:cover}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.gallery img{width:100%;height:340px;object-fit:cover;border-radius:18px}
.gallery img:first-child{height:340px}
.cta{background:var(--forest);color:white;border-radius:30px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.cta h2{color:white;margin:0 0 8px}
.page-hero{background:linear-gradient(180deg,#f4efe6,#ede3d5);padding:56px 0 44px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.6rem,6vw,4.9rem)}
.page-content{padding:58px 0}
.page-content p{max-width:900px}
.checklist{list-style:none;padding:0;margin:25px 0}
.checklist li{padding:.65rem 0 .65rem 2rem;position:relative;border-bottom:1px solid var(--line)}
.checklist li:before{content:"✓";position:absolute;left:0;color:var(--brown);font-weight:900}
.info-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brown);padding:20px 22px;border-radius:14px;margin:26px 0}
.site-footer{background:#34423d;color:#f8f3eb;padding:42px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
.site-footer a{color:#fff;text-decoration:none}
.site-footer small{opacity:.76}
.footer-bottom{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.badge{display:inline-block;background:#e6d8c6;color:var(--brown);padding:.25rem .6rem;border-radius:999px;font-weight:800;font-size:.8rem}
.note{font-size:.9rem;color:#5f6767}
@media (max-width:900px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream-2);padding:18px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .grid-2,.grid-3,.feature-grid,.footer-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .gallery img,.gallery img:first-child{height:300px}
  .photo-card img{height:350px}
  .cta{align-items:flex-start;flex-direction:column}
}
@media (max-width:600px){
  .hero .container{padding:58px 0 52px}
  .eyebrow{font-size:1.55rem}
  .hero h1{font-size:3.25rem}
  .tagline{letter-spacing:.08em}
  .section{padding:54px 0}
  .container{width:min(100% - 24px,1180px)}
}

.hero-photo{margin-top:34px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:min(58vw,520px);object-fit:cover;object-position:center}
.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.image-grid figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(24,48,71,.08)}
.image-grid img{width:100%;height:255px;object-fit:cover}
.image-grid figcaption{padding:10px 12px;font-size:.92rem;color:#4f5858}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 14px;text-align:center}
.stat strong{display:block;font-size:1.28rem;color:var(--ink)}
.amenity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;list-style:none;padding:0;margin:20px 0}
.amenity-list li{background:#fff;border:1px solid var(--line);padding:12px 14px;border-radius:14px}
@media (max-width:900px){
  .image-grid,.stats-grid,.amenity-list{grid-template-columns:1fr 1fr}
  .hero-photo img{height:320px}
}
@media (max-width:600px){
  .image-grid,.stats-grid,.amenity-list{grid-template-columns:1fr}
  .image-grid img{height:230px}
  .hero-photo img{height:245px}
}


/* Alpine decorative elements inspired by the flyer */
.hero,.page-hero,.cta,.site-footer{position:relative}
.hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:145px;
  background-image:var(--mountain-silhouette);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:.20;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  right:4.5%;
  bottom:28px;
  width:98px;
  height:98px;
  background:var(--wood-heart) center/contain no-repeat;
  opacity:.95;
  pointer-events:none;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.08));
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:90px;
  background-image:var(--mountain-silhouette);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:.16;
  pointer-events:none;
}
.hero .container,.page-hero .container,.cta > *,.site-footer .container{position:relative;z-index:1}
.hero h1::after,.page-hero h1::after{
  content:"";
  display:block;
  width:180px;
  height:28px;
  margin:14px auto 0 0;
  background-image:var(--heart-divider);
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.92;
}
.section h2,.page-content h2{position:relative;padding-top:18px}
.section h2::before,.page-content h2::before{
  content:"";
  position:absolute;
  top:-2px;
  left:0;
  width:48px;
  height:48px;
  background:var(--edelweiss) center/contain no-repeat;
  opacity:.88;
}
.badge{box-shadow:0 6px 18px rgba(138,90,50,.12)}
.hero-card{position:relative;overflow:hidden}
.hero-card::after{
  content:"";
  position:absolute;
  top:10px;
  right:14px;
  width:42px;
  height:42px;
  background:var(--edelweiss) center/contain no-repeat;
  opacity:.75;
}
.cta::before{
  content:"";
  position:absolute;
  left:28px;
  bottom:18px;
  width:72px;
  height:72px;
  background:var(--wood-heart) center/contain no-repeat;
  opacity:.24;
}
.cta::after{
  content:"";
  position:absolute;
  right:34px;
  top:20px;
  width:46px;
  height:46px;
  background:var(--edelweiss) center/contain no-repeat;
  opacity:.35;
}
.site-footer::before{
  content:"";
  position:absolute;
  left:0;right:0;top:-1px;
  height:54px;
  background-image:var(--mountain-silhouette);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:.18;
}
@media (max-width:900px){
  .hero::after{width:72px;height:72px;right:14px;bottom:18px}
}
@media (max-width:600px){
  .section h2::before,.page-content h2::before{width:34px;height:34px}
  .hero h1::after,.page-hero h1::after{width:135px;height:22px}
  .hero::after{display:none}
}

.exterior-feature{background:linear-gradient(180deg,#fffaf2,#efe7db)}
.exterior-hero{position:relative;overflow:hidden;border-radius:28px;box-shadow:var(--shadow)}
.exterior-hero img{width:100%;height:480px;object-fit:cover}
.exterior-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.exterior-strip img{width:100%;height:240px;object-fit:cover;border-radius:18px;box-shadow:0 10px 24px rgba(24,48,71,.08)}
@media (max-width:900px){
  .exterior-strip{grid-template-columns:1fr 1fr}
  .exterior-hero img{height:340px}
}
@media (max-width:600px){
  .exterior-strip{grid-template-columns:1fr}
  .exterior-hero img{height:250px}
}


/* Final photo presentation */
.footer-brand{font-family:Georgia,serif;font-size:1.5rem}
.center-action{text-align:center;margin-top:28px}
.cta-book{background:#fff!important;color:var(--ink)!important}
.image-grid.two-up{grid-template-columns:repeat(2,1fr)}
.image-grid figure{position:relative}
.image-grid img{transition:transform .25s ease}
.image-grid figure:hover img{transform:scale(1.015)}
.photo-card img{transition:transform .25s ease}
.photo-card:hover img{transform:scale(1.012)}
@media(max-width:900px){.image-grid.two-up{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .image-grid.two-up{grid-template-columns:1fr}
  .hero-photo{margin-top:24px}
  .hero-card{gap:10px}
  .hero-card span{display:block;width:100%}
}

/* Local infrastructure / shopping snippet */
.local-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;margin-top:24px}
.local-map{background:linear-gradient(180deg,#f3ede2,#ffffff);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(24,48,71,.08)}
.local-map-canvas{position:relative;height:360px;border-radius:18px;overflow:hidden;background:
 linear-gradient(180deg,#f9f3ea,#efe4d2)}
.local-map-canvas::before{content:"";position:absolute;inset:0;background-image:
 linear-gradient(rgba(255,255,255,.34) 1px, transparent 1px),
 linear-gradient(90deg, rgba(255,255,255,.34) 1px, transparent 1px);
 background-size:38px 38px;opacity:.65}
.local-road{position:absolute;background:#b58a56;border-radius:999px}
.local-road.main{left:8%;top:46%;width:84%;height:6px}
.local-road.side1{left:30%;top:18%;width:6px;height:64%}
.local-road.side2{left:60%;top:10%;width:6px;height:72%}
.local-place{position:absolute;transform:translate(-50%,-100%);text-align:center}
.local-pin{width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:inline-block;box-shadow:0 6px 14px rgba(0,0,0,.14)}
.local-pin.blue{background:#183047}
.local-pin.brown{background:#8a5a32}
.local-pin.green{background:#56685f}
.local-pin.red{background:#ab5d47}
.local-pin.gold{background:#b58a56}
.local-label{display:block;transform:translateY(4px);font-size:.8rem;font-weight:800;color:#183047;background:rgba(255,255,255,.94);padding:4px 8px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.local-note{margin-top:12px;font-size:.88rem;color:#5a6661}
.info-list{display:grid;gap:12px}
.info-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 8px 22px rgba(24,48,71,.05)}
.info-item h3{margin:.15rem 0 .15rem}
.info-item p{margin:.2rem 0}
.info-item .small{font-size:.86rem;color:#68706d}
@media (max-width:900px){
  .local-grid{grid-template-columns:1fr}
  .local-map-canvas{height:300px}
}

/* Outlet / excursion visual */
.map-snippet{background:linear-gradient(180deg,#f3ede2,#ffffff);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(24,48,71,.08)}
.map-canvas{position:relative;height:340px;border-radius:18px;overflow:hidden;background:
 radial-gradient(circle at 72% 26%,rgba(181,138,86,.16),transparent 18%),
 radial-gradient(circle at 35% 40%,rgba(112,128,120,.14),transparent 20%),
 linear-gradient(180deg,#f7f2e9,#efe6d8)}
.map-canvas::before{content:"";position:absolute;inset:0;background-image:
 linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
 background-size:44px 44px;opacity:.55}
.route{position:absolute;background:#8a5a32;border-radius:999px}
.route.r1{left:22%;top:58%;width:38%;height:4px;transform:rotate(-14deg)}
.route.r2{left:54%;top:45%;width:26%;height:4px;transform:rotate(8deg)}
.road-label{position:absolute;font-size:.72rem;font-weight:700;color:#8a5a32;background:rgba(255,250,242,.86);padding:3px 7px;border-radius:999px;border:1px solid rgba(138,90,50,.15)}
.road-label.a8{left:40%;top:53%}
.road-label.b20{left:57%;top:35%}
.map-marker{position:absolute;transform:translate(-50%,-100%);text-align:center}
.map-pin{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:inline-block;box-shadow:0 8px 18px rgba(0,0,0,.15)}
.map-pin.blue{background:#183047}.map-pin.brown{background:#8a5a32}.map-pin.green{background:#56685f}
.map-label{display:block;transform:translateY(4px);font-size:.84rem;font-weight:800;color:#183047;background:rgba(255,255,255,.92);padding:5px 9px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.outlet-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(24,48,71,.06)}
@media(max-width:900px){.map-canvas{height:280px}}
