:root{--ink:#173b34;--deep:#102b26;--cream:#f4f0e8;--sand:#ded1ba;--sun:#d7c196;--leaf:#7f9b82;--line:#173b342e;--scroll-y:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.form-fields{border:0;min-width:0;margin:0;padding:0}.video-toggle{z-index:5;color:#f4f0e8;cursor:pointer;background:#102b26;border:1px solid #f4f0e8;border-radius:4px;min-width:64px;min-height:44px;position:absolute;bottom:75px;right:24px}.legal-page{max-width:850px;margin:auto;padding:60px 24px 100px;line-height:1.75}.legal-page h1{margin:40px 0;font-size:clamp(2rem,6vw,3.6rem);line-height:1.15}.legal-page h2{margin-top:36px;font-size:1.4rem}.legal-page a,.reservation-note a{text-underline-offset:4px;text-decoration:underline}.email-link{overflow-wrap:anywhere;max-width:100%;line-height:1.6}:focus-visible{outline-offset:5px;outline:3px solid #b07a20}.nav-shell{z-index:10;width:100%;height:76px;color:var(--cream);border-bottom:1px solid #f4f0e83d;align-items:center;gap:26px;padding:0 4.5vw;display:flex;position:absolute}.wordmark{letter-spacing:.18em;font:500 23px/1 DM Mono,monospace}.desktop-nav{letter-spacing:.08em;gap:26px;margin-left:auto;font-size:12px;display:flex}.desktop-nav a{opacity:.78;transition:opacity .2s}.desktop-nav a:hover{opacity:1}.nav-cta,.button{letter-spacing:.07em;border:1px solid;justify-content:center;align-items:center;gap:16px;min-height:46px;padding:0 18px;font-size:12px;transition:transform .25s,background .25s,color .25s;display:inline-flex}.nav-cta:hover,.button:hover{transform:translateY(-3px)}.nav-cta span,.button span,.text-link span,.phone-link span{font-size:1.15em}.menu-button,.mobile-nav{display:none}.hero{height:100svh;min-height:720px;max-height:960px;color:var(--cream);background:var(--deep);isolation:isolate;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#081e19b8,#081e1926 65%),linear-gradient(#0000 55%,#081e198c);position:absolute;inset:0}.hero-video{object-fit:cover;z-index:-2;width:100%;min-width:100%;height:calc(100% + 24px);transform:translateY(calc(var(--scroll-y) * .035));position:absolute;inset:-12px 0 0}.hero-grain{z-index:-1;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{max-width:850px;padding:0 4.5vw 12vh;animation:.85s cubic-bezier(.2,.8,.2,1) both heroIn}.eyebrow{letter-spacing:.16em;margin:0 0 20px;font:500 10px/1.3 DM Mono,monospace}.hero-kicker{color:var(--sun)}.hero h1,.section h2,.contact-content h2{letter-spacing:-.055em;margin:0;font:500 clamp(3.2rem,7.3vw,7.5rem)/.91 Playfair Display,serif}.hero h1 em,.contact-content h2 em{font-weight:500}.hero-copy{max-width:490px;margin:30px 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.hero-actions{align-items:center;gap:28px;display:flex}.button-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button-light:hover{background:var(--sun);border-color:var(--sun)}.text-link{letter-spacing:.03em;border-bottom:1px solid;align-items:center;gap:10px;width:max-content;padding:0 0 5px;font:500 12px/1.2 DM Mono,monospace;transition:gap .2s;display:inline-flex}.text-link:hover{gap:16px}.light-link{color:var(--cream)}.hero-meta{letter-spacing:.08em;gap:28px;font:10px DM Mono,monospace;display:flex;position:absolute;bottom:34px;right:4.5vw}.hero-meta span+span{border-left:1px solid #f4f0e880;padding-left:28px}.section{padding:142px 7vw}.intro{background:var(--cream)}.intro-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);align-items:end;gap:10%;display:grid}.intro h2,.gallery-section h2,.rates h2,.packs h2{max-width:930px;font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:.98}.intro-right{max-width:330px;font-size:16px;line-height:1.65}.intro-right .text-link{margin-top:26px}.feature-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;margin-top:110px;display:flex}.feature-line span{letter-spacing:.07em;margin-right:22px;padding:20px 22px 20px 0;font:11px DM Mono,monospace}.feature-line span+span{border-left:1px solid var(--line);padding-left:22px}.gallery-section{background:var(--deep);color:var(--cream);padding-right:0;overflow:hidden}.gallery-section h2{max-width:680px}.gallery-section .eyebrow{color:var(--sun)}.gallery-rail{width:max-content;transform:translateX(calc(var(--scroll-y) * -.025));gap:24px;margin:72px 0 0;padding-bottom:4px;display:flex}.gallery-card{background:#21463e;width:30vw;min-width:350px;height:500px;margin:0;position:relative;overflow:hidden}.gallery-card.tall{width:36vw;height:590px}.gallery-card.wide{width:44vw}.gallery-card img{object-fit:cover;filter:saturate(.85)contrast(1.05);transition:transform .7s}.gallery-card:hover img{transform:scale(1.05)}.gallery-card figcaption{z-index:1;letter-spacing:.08em;background:#102b26c7;padding:7px 10px;font:10px DM Mono,monospace;position:absolute;bottom:18px;left:20px}.rates{grid-template-columns:1fr 1.1fr;align-items:start;gap:70px 9%;display:grid}.rates-head h2{margin-bottom:20px}.rate-table{border-top:1px solid var(--ink)}.rate-row{border-bottom:1px solid var(--line);grid-template-columns:1.1fr repeat(3,1fr);align-items:center;gap:14px;min-height:76px;font-size:15px;display:grid}.rate-row strong{font:500 28px Playfair Display,serif}.rate-labels{letter-spacing:.07em;min-height:44px;font:10px DM Mono,monospace}.rate-labels span{white-space:nowrap}.discount-card{background:var(--sand);grid-column:2;width:100%;max-width:420px;margin-left:auto;padding:29px}.discount-card .eyebrow{margin-bottom:26px}.discount-card div{border-top:1px solid #173b3440;justify-content:space-between;padding:13px 0;font-size:14px;display:flex}.discount-card strong{font:500 26px Playfair Display,serif}.packs{background:var(--leaf);color:#102b26;grid-template-columns:.8fr 1.2fr;gap:11%;display:grid}.packs .eyebrow{color:#31574f}.pack-list{border-top:1px solid #102b2673}.pack{border-bottom:1px solid #102b2673;grid-template-columns:58px 1fr auto;align-items:center;gap:16px;padding:27px 0;transition:padding .25s;display:grid}.pack:hover{padding-left:10px}.pack-number{font:11px DM Mono,monospace}.pack h3{margin:0;font:500 32px/1 Playfair Display,serif}.pack p{margin:8px 0 0;font-size:13px}.pack strong{font:500 29px Playfair Display,serif}.reservation{color:var(--cream);background:#244941;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:start;gap:8%;display:grid}.reservation .eyebrow{color:var(--sun)}.reservation h2{letter-spacing:-.055em;margin:0;font:500 clamp(3rem,5vw,5.7rem)/.94 Playfair Display,serif}.reservation h2 em{font-weight:500}.reservation-intro>p:not(.eyebrow){color:#f4f0e8d4;max-width:370px;margin:30px 0 0;font-size:15px;line-height:1.65}.reservation-inventory{flex-wrap:wrap;gap:9px;margin-top:36px;display:flex}.reservation-inventory span{letter-spacing:.06em;border:1px solid #f4f0e859;padding:10px 12px;font:10px DM Mono,monospace}.reservation-form{background:var(--cream);color:var(--ink);padding:34px}.reservation-form label,.reservation-form legend{letter-spacing:.07em;font:10px DM Mono,monospace}.reservation-form label>span{margin-bottom:9px;display:block}.reservation-form input,.reservation-form select{width:100%;min-height:45px;color:var(--ink);background:0 0;border:1px solid #173b3454;border-radius:0;padding:0 11px;font:14px DM Sans,sans-serif}.reservation-form input:focus,.reservation-form select:focus,.reservation-form button:focus-visible{outline-offset:2px;outline:2px solid #31574f}.reservation-dates,.customer-fields{grid-template-columns:1fr 1fr;gap:17px;display:grid}.reservation-duration,.tent-picker{border:0;margin:28px 0 0;padding:0}.reservation-duration legend,.tent-picker legend{margin-bottom:12px}.duration-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.duration-options label{cursor:pointer;text-align:center;border:1px solid #173b3442;padding:13px 8px;transition:background .2s,color .2s,border-color .2s;display:block}.duration-options label.selected{color:var(--cream);background:var(--ink);border-color:var(--ink)}.duration-options input{opacity:0;pointer-events:none;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.tent-picker{border-top:1px solid var(--line);padding-top:22px}.tent-quantity{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.tent-quantity div{gap:4px;display:grid}.tent-quantity strong{font:500 25px/1 Playfair Display,serif}.tent-quantity span{letter-spacing:.03em;color:#173b34ab;font:10px DM Mono,monospace}.tent-quantity select{width:126px;min-height:39px;font-size:12px}.availability-button{border:1px solid var(--ink);width:100%;min-height:45px;color:var(--ink);cursor:pointer;letter-spacing:.07em;background:0 0;margin-top:22px;font:11px DM Mono,monospace;transition:background .2s,color .2s}.availability-button:hover:not(:disabled){background:var(--ink);color:var(--cream)}.availability-button:disabled,.reservation-submit:disabled{cursor:wait;opacity:.65}.availability-result,.form-message{background:#e6eddc;margin:14px 0 0;padding:12px;font-size:12px;line-height:1.5}.availability-result strong{white-space:nowrap}.customer-fields{margin-top:26px}.field-full{grid-column:1/-1}.reservation-summary{border-top:1px solid var(--ink);justify-content:space-between;align-items:end;gap:20px;margin-top:26px;padding-top:18px;display:flex}.reservation-summary span{letter-spacing:.05em;max-width:180px;font:10px/1.4 DM Mono,monospace}.reservation-summary strong{font:500 34px/1 Playfair Display,serif}.reservation-note{color:#173b34ab;margin:14px 0 0;font-size:12px;line-height:1.5}.form-message.error{color:#7f1d1d;background:#f6dddd}.form-message.success{color:#1f4c35;background:#dcead7}.reservation-submit{background:var(--ink);width:100%;color:var(--cream);border-color:var(--ink);margin-top:20px}.contact-section{background:var(--cream)}.contact-panels{grid-template-columns:1fr 1fr;min-height:600px;display:grid}.contact-image{min-height:400px;position:relative;overflow:hidden}.contact-image img{object-fit:cover;filter:saturate(.7)contrast(1.08);transform:scale(1.08) translateY(calc(var(--scroll-y) * -.01))}.contact-content{background:var(--deep);color:var(--cream);flex-direction:column;justify-content:center;align-items:flex-start;padding:85px 9%;display:flex}.contact-content .eyebrow{color:var(--sun)}.contact-content h2{font-size:clamp(3rem,5vw,5.7rem)}.phone-link{border-bottom:1px solid var(--sun);align-items:center;gap:16px;margin-top:38px;padding-bottom:9px;font:500 clamp(1.6rem,2.6vw,3rem) Playfair Display,serif;transition:gap .2s;display:flex}.phone-link:hover{gap:26px}.email-link{color:var(--sun);margin-top:16px;font:12px DM Mono,monospace}.contact-note{opacity:.82;max-width:250px;margin:44px 0 0;font-size:13px;line-height:1.6}footer{background:var(--deep);color:#f4f0e8b8;letter-spacing:.05em;border-top:1px solid #f4f0e838;justify-content:space-between;gap:25px;padding:22px 4.5vw;font:10px DM Mono,monospace;display:flex}footer a{color:var(--sun)}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(26px)}[data-reveal].is-visible{opacity:1;transform:none}.gallery-card[data-reveal]{transform:translate(40px)}.gallery-card[data-reveal].is-visible{transform:none}.gallery-card:nth-child(2){transition-delay:.12s}.gallery-card:nth-child(3){transition-delay:.22s}.pack:nth-child(2){transition-delay:.1s}.pack:nth-child(3){transition-delay:.2s}@keyframes heroIn{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@media (max-width:800px){.nav-shell{height:66px;padding:0 20px}.desktop-nav,.nav-cta{display:none}.menu-button{color:var(--cream);letter-spacing:.06em;background:0 0;border:0;align-items:center;gap:8px;margin-left:auto;padding:11px 0;font:11px DM Mono,monospace;display:flex}.menu-button i{background:currentColor;width:17px;height:1px;display:block}.mobile-nav{background:var(--deep);opacity:0;flex-direction:column;gap:21px;max-height:0;padding:0 20px;transition:max-height .35s,opacity .25s,padding .35s;display:flex;position:absolute;top:65px;left:0;right:0;overflow:hidden}.mobile-nav.open{opacity:1;border-bottom:1px solid #f4f0e840;max-height:280px;padding:24px 20px 28px}.mobile-nav a{font:500 18px Playfair Display,serif}.mobile-nav a:last-child{color:var(--sun)}.hero{min-height:650px}.hero-content{padding:0 20px 120px}.hero h1{font-size:clamp(3.25rem,14vw,5.5rem)}.hero-copy{margin:24px 0;font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-meta{justify-content:space-between;gap:10px;bottom:25px;left:20px;right:20px}.hero-meta span+span{margin-left:auto;padding-left:10px}.section{padding:92px 20px}.intro-grid,.rates,.packs,.reservation{display:block}.intro h2,.gallery-section h2,.rates h2,.packs h2,.reservation h2{font-size:clamp(2.65rem,12vw,4.2rem)}.intro-right{margin-top:30px}.feature-line{margin-top:68px;overflow-x:auto}.feature-line span{flex:none}.gallery-section{padding-right:0}.gallery-rail{scroll-snap-type:x mandatory;gap:14px;max-width:100%;margin-top:48px;padding-right:20px;overflow-x:auto;transform:none}.gallery-card,.gallery-card.tall,.gallery-card.wide{scroll-snap-align:start;width:78vw;min-width:0;height:420px}.rates-head{margin-bottom:48px}.rate-row{grid-template-columns:1.1fr repeat(3,.95fr);min-height:72px;font-size:13px}.rate-row strong{font-size:24px}.rate-labels{font-size:8px}.discount-card{max-width:none;margin:45px 0 0}.reservation-form{margin-top:42px;padding:22px}.reservation-dates,.customer-fields,.duration-options{grid-template-columns:1fr}.field-full{grid-column:auto}.availability-result strong{white-space:normal}.packs h2{margin-bottom:54px}.pack{grid-template-columns:38px 1fr}.pack strong{grid-column:2;font-size:27px}.contact-panels{grid-template-columns:1fr}.contact-image{min-height:320px}.contact-content{min-height:500px;padding:70px 20px}.contact-content h2{font-size:clamp(3.2rem,14vw,5.1rem)}footer{grid-template-columns:1fr 1fr;padding:22px 20px;line-height:1.5;display:grid}footer a{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video,.contact-image img{transform:none}.hero-content,[data-reveal],.gallery-card[data-reveal]{opacity:1;transition:none;animation:none;transform:none}.gallery-rail{transform:none}.button,.nav-cta,.text-link,.phone-link,.gallery-card img,.pack{transition:none}}
