:root{
  --ink:#193028; --forest:#1f473b; --forest2:#2c5b4d; --cream:#f6f2e9; --sand:#e7ddcb;
  --paper:#fff; --muted:#6d756f; --line:#dcded9; --shadow:0 18px 45px rgba(25,48,40,.12);
  --radius:24px; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.site-header{height:76px;display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100vw - var(--max))/2));position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid rgba(25,48,40,.08)}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:24px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{letter-spacing:.12em}.brand-text small{margin-top:5px;color:var(--muted)}
.main-nav{display:flex;gap:24px;margin-left:auto;font-size:14px;font-weight:650}.main-nav a:hover{color:var(--forest2)}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--forest);background:var(--forest);color:#fff;font-weight:750;cursor:pointer}.btn:hover{background:var(--forest2)}.btn-small{min-height:42px;padding:0 17px}.btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);backdrop-filter:blur(4px)}.btn-outline{background:#fff;color:var(--forest)}
.hero{height:min(760px,calc(100vh - 76px));min-height:630px;position:relative;display:grid;align-items:end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,30,25,.78) 0%,rgba(12,30,25,.42) 44%,rgba(12,30,25,.08) 78%),linear-gradient(0deg,rgba(12,30,25,.72) 0%,transparent 42%)}.hero-content{position:relative;color:#fff;padding-bottom:155px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px;color:var(--forest2);margin:0 0 12px}.eyebrow.light{color:#dce9e2}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,8vw,102px);line-height:.92;letter-spacing:-.045em;margin:0 0 24px;max-width:820px}.hero-lead{font-size:clamp(18px,2.3vw,25px);max-width:720px;margin:0 0 28px;color:#f3f6f4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-facts{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(17,48,39,.88);color:#fff;backdrop-filter:blur(10px);padding:20px max(24px,calc((100vw - var(--max))/2));gap:16px}.hero-facts span{padding-right:12px;border-right:1px solid rgba(255,255,255,.18)}.hero-facts span:last-child{border:0}.hero-facts strong{font-size:19px}
.section{padding:92px 0}.soft{background:var(--cream)}.booking{background:var(--forest);color:#fff}.booking-layout{display:grid;grid-template-columns:.8fr 1.6fr;gap:54px;align-items:start}.booking .eyebrow{color:#bdd1c7}.booking h2,.section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,4.8vw,60px);line-height:1.04;letter-spacing:-.03em;margin:0 0 20px}.booking-copy p{color:#d9e5df}.price-box{display:inline-flex;align-items:baseline;gap:10px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.1);margin-top:14px}.price-box strong{font-size:26px}.micro a{text-decoration:underline}.booking-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#dce8e2}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#fff;color:#1a2d27;font:inherit;padding:13px 14px;min-height:48px}.booking-form textarea{resize:vertical}.wide{grid-column:1/-1}.hp{display:none!important}.estimate{min-height:0;color:#dce8e2;font-size:14px}.form-note{font-size:12px;color:#bfcec7;margin:0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split-grid.reverse{grid-template-columns:1fr 1fr}.image-frame{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#eee}.image-frame img{width:100%;height:560px;object-fit:cover}.image-frame-landscape img{height:430px;object-position:center 48%}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.stat-grid div{border:1px solid var(--line);padding:18px;border-radius:16px;display:flex;flex-direction:column}.stat-grid strong{font-size:30px;color:var(--forest)}.stat-grid span{font-size:14px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-heading>p{max-width:380px;color:var(--muted)}.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.room-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(25,48,40,.06)}.room-card img{width:100%;height:340px;object-fit:cover}.room-card>div{padding:22px}.room-card h3{font-family:Georgia,serif;font-size:26px;margin:0 0 8px}.room-card p{margin:0;color:var(--muted)}.policy{margin:26px 0 0;padding:16px 18px;border-left:4px solid var(--forest);background:#fff;border-radius:0 14px 14px 0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{padding:26px;border:1px solid var(--line);border-radius:18px}.feature>span{font-size:12px;letter-spacing:.16em;color:var(--forest2);font-weight:800}.feature h3{font-family:Georgia,serif;font-size:24px;margin:12px 0 8px}.feature p{margin:0;color:var(--muted)}
.area{background:#183d33;color:#fff}.area-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}.area-intro img{width:100%;height:470px;object-fit:cover;border-radius:22px}.area-intro p{color:#d6e4de}.trail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:50px}.trail-map-card{background:#f6f2e9;color:var(--ink);border-radius:22px;overflow:hidden}.route-visual{padding:18px}.route-visual svg{width:100%;height:auto;background:linear-gradient(#d9ebe5,#f7f3e8);border-radius:16px}.ridge{fill:none;stroke:#557465;stroke-width:18;stroke-linecap:round;opacity:.4}.route{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:12 10}.r1{stroke:#d19b2b}.r2{stroke:#4478a5}.r3{stroke:#a84e4e}.route-visual circle{fill:#193028}.route-visual text{font-size:18px;font-weight:700;fill:#193028}.map-caption{padding:0 22px 22px;margin:0;color:#616d67;font-size:13px}.trail-cards{display:grid;gap:14px}.trail-cards article{background:#fff;color:var(--ink);padding:22px;border-radius:18px}.trail-cards h3{font-family:Georgia,serif;font-size:24px;margin:7px 0}.trail-cards p{margin:0 0 12px;color:var(--muted)}.trail-cards a{font-weight:800;color:var(--forest2)}.trail-level{display:inline-block;padding:4px 9px;border-radius:999px;background:#e9efe9;color:#36594d;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900}.safety-note{margin-top:20px;padding:16px 18px;border:1px solid rgba(255,255,255,.22);border-radius:16px;color:#dbe7e1}
.nearby{background:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:12px}.gallery-item{padding:0;border:0;border-radius:16px;overflow:hidden;cursor:zoom-in;background:#ddd}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery-item:hover img{transform:scale(1.025)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:stretch}.address{font-size:20px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.contact-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.contact-card div{padding:15px;border-radius:14px;background:var(--cream);display:flex;flex-direction:column}.contact-card span{font-size:12px;color:var(--muted)}.map-wrap{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);min-height:520px;display:flex;flex-direction:column}.map-wrap iframe{width:100%;flex:1;border:0;min-height:460px}.map-footer{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;background:#fff;font-size:13px}.map-footer a{font-weight:800;color:var(--forest2)}
.footer{background:#102d25;color:#dbe8e2;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner div{display:flex;flex-direction:column}.footer p{margin:0;color:#aebfb7;font-size:13px}.lightbox{position:fixed;inset:0;background:rgba(6,20,16,.92);z-index:100;display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(1200px,92vw);max-height:86vh;border-radius:12px}.lightbox button{position:absolute;right:26px;top:18px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}
@media (max-width:980px){.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 24px;flex-direction:column;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px}.header-cta{display:none}.booking-layout,.split-grid,.area-intro,.trail-layout,.contact-grid{grid-template-columns:1fr}.booking-form{grid-template-columns:repeat(2,1fr)}.hero-facts{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.image-frame img{height:480px}.area-intro img{height:420px}}
@media (max-width:680px){.site-header{height:68px;padding:0 16px}.brand-mark{width:36px;height:36px}.brand-text small{font-size:11px}.main-nav{top:68px}.shell{width:min(var(--max),calc(100% - 28px))}.hero{min-height:690px;height:calc(100vh - 68px)}.hero-content{padding-bottom:210px}.hero h1{font-size:56px}.hero-lead{font-size:18px}.hero-facts{grid-template-columns:1fr 1fr;padding:16px 14px;font-size:12px}.hero-facts span{border-right:0}.section{padding:66px 0}.booking-form{grid-template-columns:1fr}.wide{grid-column:auto}.section-heading{display:block}.room-grid,.feature-grid{grid-template-columns:1fr}.room-card img{height:270px}.image-frame img,.area-intro img{height:360px}.stat-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-item.wide{grid-column:span 2}.contact-card{grid-template-columns:1fr}.footer-inner{display:block}.footer p{margin-top:10px}.map-footer{flex-direction:column;gap:4px}}

.booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.booking-actions{grid-template-columns:1fr}}
