:root{--forest:#174a45;--forest-dark:#152236;--forest-soft:#23645c;--brand-teal:#4ab596;--brand-teal-dark:#238b8b;--sage:#dcebe6;--cream:#f7f3e9;--paper:#fffdf8;--gold:#d89b43;--ink:#17211f;--muted:#64706c;--line:#dfe4dc;--radius:26px;--shadow:0 20px 60px #1522361f}.skip-link{z-index:1000;color:#fff;background:var(--forest-dark);border-radius:10px;padding:12px 16px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}*{box-sizing:border-box}html{scroll-behavior:smooth}section[id],aside[id]{scroll-margin-top:96px}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.08}h2{margin-bottom:1rem;font-size:clamp(2.1rem,4vw,4rem)}.section-shell{width:min(1180px,100% - 40px);margin-inline:auto}.site-header{z-index:20;color:#fff;backdrop-filter:blur(16px);background:#152236f5;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:12px max(24px,50vw - 620px);display:flex;position:sticky;top:0}.brand,.footer-brand{align-items:center;gap:12px;display:flex}.brand-logo-wrap{background:#fff;border:1px solid #4ab59666;border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;overflow:hidden;box-shadow:0 8px 22px #00000029}.brand-logo{object-fit:contain;width:43px;height:42px;display:block}.brand strong,.footer-brand strong{letter-spacing:.16em;font-size:.9rem;display:block}.brand small,.footer-brand small{color:#b9d6ce;font-size:.68rem;display:block}.desktop-nav{color:#dbe6e2;gap:26px;font-size:.86rem;display:flex}.desktop-nav a:hover{color:#fff}.header-cta{color:var(--forest-dark);background:var(--gold);border-radius:999px;padding:11px 18px;font-size:.82rem;font-weight:750}.hero{color:#fff;background:var(--forest-dark);grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;min-height:720px;padding:90px max(24px,50vw - 620px);display:grid;position:relative;overflow:hidden}.hero-glow{filter:blur(10px);background:#d89b4329;border-radius:50%;width:560px;height:560px;position:absolute;top:-200px;left:-250px}.hero-content{z-index:2;position:relative}.eyebrow,.section-kicker{color:#aa6d20;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;font-size:.76rem;font-weight:800}.eyebrow,.section-kicker.light{color:#efbc72}.hero h1{margin-bottom:24px;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.7rem);font-weight:500}.hero h1 em{color:#efbc72;font-weight:500}.hero-copy{color:#cbd9d5;max-width:650px;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:12px;margin:34px 0;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 23px;font-weight:780;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--forest-dark);background:var(--gold);box-shadow:0 12px 28px #d89b4338}.button-secondary{color:var(--forest-dark);background:#fff;border:1px solid #15223624}.button-ghost{color:#fff;border:1px solid #ffffff47}.button-light{color:var(--forest-dark);background:#fff}.hero-details{color:#cbd9d5;flex-wrap:wrap;gap:18px;font-size:.84rem;display:flex}.hero-visual{background:linear-gradient(#bcd8d1 0%,#e9d4a4 58%,#375f4f 59%);border:1px solid #ffffff2e;border-radius:220px 220px 30px 30px;height:520px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000047}.sun{background:#f5c871;border-radius:50%;width:92px;height:92px;position:absolute;top:100px;right:88px}.mountain{clip-path:polygon(0 100%,20% 40%,35% 72%,55% 20%,78% 68%,100% 32%,100% 100%);width:120%;height:230px;position:absolute;bottom:80px;left:-10%}.mountain-back{opacity:.72;background:#6d8f77}.mountain-front{background:#234a40;bottom:0;transform:scale(1.1)}.hero-photo-note{color:#fff;backdrop-filter:blur(10px);background:#092824c2;border:1px solid #fff3;border-radius:14px;padding:13px 17px;font-size:.82rem;position:absolute;bottom:24px;right:24px}.hero-photo-note span{color:#efbc72;text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.intro{padding-block:110px}.intro-grid{grid-template-columns:1.3fr .7fr;align-items:end;gap:80px;display:grid}.intro h2{font-family:Georgia,serif;font-weight:500}.intro h2 span{color:var(--forest-soft)}.intro-grid>p{color:var(--muted);font-size:1.04rem}.rooms{background:var(--cream);padding-block:100px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px;display:flex}.section-heading h2{margin-bottom:0;font-family:Georgia,serif;font-weight:500}.section-heading>p{max-width:470px;color:var(--muted);margin-bottom:4px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.room-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:.85fr 1.15fr;display:grid;overflow:hidden;box-shadow:0 10px 35px #123b350f}.room-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 12px)}.room-photo{color:#fff;background:linear-gradient(145deg,#698d7d,#173e38);flex-direction:column;justify-content:flex-end;min-height:330px;padding:24px;display:flex}.room-photo span{letter-spacing:.12em;text-transform:uppercase;opacity:.72;font-size:.72rem}.room-photo strong{font-family:Georgia,serif;font-size:1.25rem}.room-body{padding:28px}.room-topline{color:var(--muted);justify-content:space-between;gap:12px;font-size:.75rem;display:flex}.room-number{color:#945f19;letter-spacing:.09em;text-transform:uppercase;font-weight:850}.room-price strong{color:var(--forest);font-size:1.05rem}.room-body h3{letter-spacing:-.025em;margin:24px 0 9px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.3rem;font-weight:800}.room-body p{color:var(--muted);font-size:.9rem}.room-body ul{color:#394844;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0 24px;padding:0;font-size:.82rem;list-style:none;display:grid}.room-body li:before{content:"✓";color:#8d641f;margin-right:7px;font-weight:900}.room-body>a{color:var(--forest);font-size:.86rem;font-weight:800}.room-body>a span{color:var(--gold)}.price-note{color:var(--muted);text-align:center;margin:24px 0 0;font-size:.78rem}.route{color:#fff;background:var(--forest);grid-template-columns:1fr 1fr;display:grid}.route-visual{background:radial-gradient(circle at 15% 15%,#efbc7229,#0000 28%),linear-gradient(145deg,#1d5549,#0d302b);min-height:720px;padding:clamp(40px,6vw,76px);position:relative;overflow:hidden}.route-map-heading{margin-bottom:32px}.route-map-heading span{color:#efbc72;letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:850;display:block}.route-map-heading strong{margin-top:4px;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500;display:block}.route-flow{max-width:510px;margin-inline:auto}.route-stop{color:var(--forest-dark);background:#f6f0df;border-radius:16px;padding:15px 19px;position:relative;box-shadow:0 10px 28px #00000029}.route-stop>span{color:#9a641f;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:850;display:block}.route-stop>strong{font-size:1rem;display:block}.route-stop>small{color:#66716d;font-size:.72rem;display:block}.route-stop-start{border-left:5px solid var(--gold)}.route-stop-junction{border:2px solid #efbc72}.route-detour{color:#7d5b28;text-align:right;max-width:175px;font-size:.68rem;font-style:normal;position:absolute;top:18px;right:16px}.route-connector{background:#efbc72;width:3px;height:31px;margin-inline:auto;position:relative}.route-connector span{color:#c7d8d2;font-size:.65rem;font-weight:800;position:absolute;top:6px;left:12px}.route-branches{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.route-branches div{background:#e8e4d8;border-radius:10px;padding:10px}.route-branches .branch-primary{color:#fff;background:var(--forest-soft)}.route-branches b,.route-branches small{display:block}.route-branches b{font-size:.7rem}.route-branches small{font-size:.68rem}.route-copy{padding:90px max(40px,50vw - 590px);padding-left:8%}.route-copy h2{font-family:Georgia,serif;font-weight:500}.route-copy>p{color:#cbd9d5;max-width:560px}.route-tip{background:#ffffff12;border:1px solid #ffffff1f;border-radius:18px;margin:32px 0;padding:22px}.route-tip span,.route-tip small{color:#b7ccc5;display:block}.route-tip strong{color:#efbc72;margin:3px 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500;display:block}.travel-info{padding-block:110px}.travel-heading h2{max-width:760px}.travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.travel-grid article{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:28px}.travel-grid article>span{color:#a36a1d;letter-spacing:.12em;font-size:.72rem;font-weight:850}.travel-grid h3{letter-spacing:-.02em;margin:18px 0 9px;font-size:1.1rem}.travel-grid p{color:var(--muted);margin:0;font-size:.86rem}.inline-link{color:var(--brand-teal-dark);margin-top:15px;font-size:.78rem;font-weight:850;display:inline-block}.road-alert{color:#fff;background:var(--forest);border-radius:24px;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px;margin-top:24px;padding:32px;display:grid}.road-alert h3{margin:6px 0 8px;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.road-alert p{color:#c7d8d2;margin:0;font-size:.86rem}.alert-label{color:#efbc72;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:850}.alert-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.button-outline-dark{color:#fff;border:1px solid #ffffff59}.ticket-note{background:var(--cream);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:20px 24px}.ticket-note summary{cursor:pointer;color:var(--forest);font-weight:800}.ticket-note p{color:var(--muted);margin:14px 0 0;font-size:.86rem}.map-disclaimer{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.76rem}.local-services{color:#fff;background:var(--forest-dark);padding-block:90px}.services-heading{margin-bottom:38px}.services-heading h2{max-width:720px;font-family:Georgia,serif;font-weight:500}.services-heading>p{color:#b9c9c5}.services-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.services-grid article{background:#ffffff12;border:1px solid #ffffff21;border-radius:22px;padding:30px}.services-grid article>span{color:var(--brand-teal);letter-spacing:.12em;font-size:.72rem;font-weight:900}.services-grid h3{margin:22px 0 10px;font-size:1.12rem}.services-grid p{color:#c6d2cf;margin:0;font-size:.86rem}.services-note{color:#d8e4e1;border-left:4px solid var(--brand-teal);background:#4ab5961a;border-radius:0 14px 14px 0;margin:22px 0 0;padding:18px 22px;font-size:.82rem}.discover{padding-block:110px}.attraction-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.attraction-card{position:relative}.attraction-placeholder{color:#ffffffbd;text-transform:uppercase;background:linear-gradient(145deg,#96ad88,#315a4d);border-radius:18px;align-items:end;height:270px;padding:18px;font-size:.72rem;display:flex}.attraction-index{z-index:1;color:#fff;font-family:Georgia,serif;font-size:1.35rem;position:absolute;top:12px;right:14px}.attraction-card h3{margin:20px 0 8px;font-family:Georgia,serif;font-size:1.3rem;font-weight:550}.attraction-card p{color:var(--muted);font-size:.86rem}.groups{color:#fff;background:#b57a2d;padding-block:80px}.groups-grid{grid-template-columns:1fr 1fr;align-items:center;gap:90px;display:grid}.groups h2{margin-bottom:0;font-family:Georgia,serif;font-weight:500}.groups p{color:#fff5e3}.text-link-light{border-bottom:1px solid #ffffff80;font-weight:800}.booking{background:var(--cream);padding-block:110px}.booking-heading h2{max-width:720px}.booking-layout{grid-template-columns:1.14fr .86fr;align-items:start;gap:24px;display:grid}.booking-form{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:clamp(26px,4vw,42px)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-required-note{color:#4b5b56;background:#f2f7f5;border-radius:12px;margin:0 0 20px;padding:12px 14px;font-size:.78rem}.form-required-note strong{color:var(--forest)}.form-grid label{flex-direction:column;gap:7px;display:flex}.form-grid label>span{color:#34423e;font-size:.78rem;font-weight:800}.form-grid label small{color:var(--muted);font-weight:500}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border:1px solid #ccd6d1;border-radius:12px;padding:11px 13px;font-size:.9rem}.form-grid textarea{resize:vertical;min-height:92px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand-teal-dark);outline:3px solid #4ab59633}.form-wide{grid-column:1/-1}.booking-summary{background:#f2f7f5;border:1px solid #4ab5964d;border-radius:18px;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px;padding:18px;display:grid}.booking-summary>div{background:#fff;border-radius:12px;padding:11px 13px}.booking-summary span,.booking-summary strong{display:block}.booking-summary span{color:var(--muted);font-size:.7rem}.booking-summary strong{color:var(--forest-dark);margin-top:2px;font-size:1.05rem}.booking-summary .summary-highlight{color:#fff;background:var(--forest)}.booking-summary .summary-highlight span{color:#c8dad5}.booking-summary .summary-highlight strong{color:#efbc72}.booking-summary>p{color:var(--muted);grid-column:1/-1;margin:2px 4px 0;font-size:.76rem}.policy-check{color:#3c4b47;align-items:flex-start;gap:10px;margin:20px 0;font-size:.84rem;display:flex}.policy-check input{width:18px;height:18px;accent-color:var(--brand-teal-dark);margin-top:2px}.policy-check a{color:var(--brand-teal-dark);text-underline-offset:3px;font-weight:800;text-decoration:underline}.booking-submit{cursor:pointer;width:100%;font:inherit;border:0}.booking-submit:disabled{color:#76827e;box-shadow:none;cursor:not-allowed;background:#d9dedb;transform:none}.form-note{color:var(--muted);text-align:center;margin:14px 0 0;font-size:.72rem}.booking-policy{color:#fff;background:var(--forest-dark);box-shadow:var(--shadow);border-radius:28px;padding:clamp(28px,4vw,42px)}.booking-policy h3{margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500}.policy-keypoints{gap:12px;margin:0 0 24px;padding:0;list-style:none;display:grid}.policy-keypoints li{color:#d5e1de;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:13px;padding:14px 15px;font-size:.82rem}.policy-keypoints strong{color:#fff}.booking-policy details{border-top:1px solid #ffffff24}.booking-policy summary{cursor:pointer;color:#fff;padding:18px 0;font-size:.88rem;font-weight:800}.booking-policy details div{padding:0 0 14px}.booking-policy details p{color:#bfd0cc;margin:0 0 10px;font-size:.8rem}.booking-policy details strong{color:#efbc72}.policy-contact{color:#d3e1dd;border-left:4px solid var(--brand-teal);background:#4ab5961f;border-radius:0 12px 12px 0;margin:18px 0 0;padding:15px;font-size:.78rem}.contact{padding-block:110px}.contact-card{background:var(--sage);border-radius:34px;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding:clamp(34px,6vw,75px);display:grid}.contact-card h2{font-family:Georgia,serif;font-weight:500}.contact-card p{max-width:650px;color:var(--muted)}.contact-actions{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.contact-actions span{color:var(--muted);font-size:.8rem}.map-link{color:var(--forest-dark);border-bottom:1px solid #15223647;font-size:.88rem;font-weight:850}.contact-details{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px;display:grid}.contact-details article{background:var(--paper);border:1px solid var(--line);border-radius:20px;gap:18px;padding:26px;display:flex;box-shadow:0 10px 30px #1522360f}.contact-details .arrival-note{background:#f3f8f6;border-color:#4ab5966b;grid-column:1/-1}.detail-icon{color:#fff;background:var(--brand-teal-dark);border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:900;display:grid}.contact-details h3{margin:2px 0 8px;font-size:1rem;font-weight:850}.contact-details p{color:var(--muted);margin:0;font-size:.86rem}.location-map-card{background:var(--forest-dark);border-radius:24px;grid-template-columns:.72fr 1.28fr;margin-top:22px;display:grid;overflow:hidden}.location-map-copy{color:#fff;padding:34px}.location-map-copy h3{margin:10px 0 12px;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.location-map-copy p{color:#bfceca;font-size:.86rem}.location-map-copy .map-link{color:var(--brand-teal);border-color:#4ab59673}.map-frame{background:#dcebe6;min-height:390px}.map-frame iframe{border:0;width:100%;height:100%;min-height:390px;display:block}.contact-disclaimer{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.78rem}footer{color:#fff;background:var(--forest-dark);grid-template-columns:1fr auto;align-items:center;gap:30px;padding:50px max(24px,50vw - 590px);display:grid}.footer-links{color:#bfceca;flex-wrap:wrap;gap:20px;font-size:.82rem;display:flex}footer>p{color:#819993;border-top:1px solid #ffffff1a;grid-column:1/-1;margin:0;padding-top:24px;font-size:.72rem}@media (width<=1000px){.desktop-nav{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-visual{justify-self:center;width:100%;max-width:650px;height:460px}.intro-grid,.groups-grid,.contact-card,.booking-layout{grid-template-columns:1fr;gap:30px}.room-card,.room-card:last-child{grid-column:auto;grid-template-columns:1fr;width:100%}.room-photo{min-height:260px}.attraction-grid,.travel-grid{grid-template-columns:repeat(2,1fr)}.services-grid,.road-alert{grid-template-columns:1fr}.alert-actions{justify-content:flex-start}.contact-details{grid-template-columns:1fr}.contact-details .arrival-note{grid-column:auto}.location-map-card{grid-template-columns:1fr!important}}@media (width<=720px){.site-header{min-height:68px;padding-inline:16px}.brand small{display:none}.header-cta{padding:9px 13px;font-size:.72rem}.hero{gap:48px;padding:68px 20px}.hero h1{font-size:clamp(2.7rem,13vw,4rem)}.hero-copy{font-size:1rem}.hero-actions .button{width:100%}.hero-details{flex-direction:column;gap:6px}.hero-visual{border-radius:160px 160px 24px 24px;height:390px}.intro,.discover,.contact,.booking,.rooms{padding-block:76px}.section-heading{flex-direction:column;align-items:flex-start;gap:16px}.room-grid,.room-body ul,.route{grid-template-columns:1fr}.route-visual{min-height:400px}.route-copy{padding:66px 20px}.route-visual{padding:54px 20px}.route-detour{text-align:left;max-width:none;margin-top:9px;display:block;position:static}.travel-info{padding-block:76px}.travel-grid{grid-template-columns:1fr!important}.road-alert{padding:24px}.alert-actions .button{width:100%}.contact-actions .button{text-align:center;width:100%}.attraction-grid{grid-template-columns:1fr}.location-map-copy{padding:28px 22px}.attraction-placeholder{height:330px}.groups{padding-block:65px}.form-grid,.booking-summary{grid-template-columns:1fr}.form-wide,.booking-summary>p{grid-column:auto}footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
