:root{--bg:#525c4e;--bg-dark:#3d4a2e;--bg-overlay:rgba(0, 0, 0, 0.18);--cream:#f4e8d2;--cream-muted:#a89870;--white:#ffffff;--accent:#c8a96a;--font-display:'Rye', serif;--font-heading:'Playfair Display', Georgia, serif;--font-body:'Lato', Arial, sans-serif;--max-width:1200px;--header-height:148px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.7;min-height:100vh}img{max-width:100%;display:block}a{color:var(--cream);text-decoration:none}a:hover{color:var(--white)}.site-header{background:var(--bg);height:var(--header-height);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(232,217,181,.15)}.main-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}.nav-left{display:flex;gap:2.25rem;justify-content:flex-end;align-items:center}.nav-right{display:flex;gap:2.25rem;justify-content:flex-start;align-items:center}.nav-link{color:var(--cream-muted);font-family:var(--font-body);font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s;white-space:nowrap}.nav-link:hover,.nav-link--active{color:var(--white)}.nav-logo{display:flex;justify-content:center;align-items:center;padding:0 3rem}.logo-link{display:flex;align-items:center}.logo{height:120px;width:auto}.nav-item{position:relative;display:flex;align-items:center}.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid rgba(232,217,181,.12);border-radius:2px;min-width:140px;padding:.75rem 0 .4rem;opacity:0;pointer-events:none;transition:opacity .15s ease .2s;z-index:200}.nav-item--dropdown:hover .dropdown,.nav-item--dropdown.is-open .dropdown{opacity:1;pointer-events:auto;transition-delay:0s}.dropdown__link{display:block;padding:.5rem 1.25rem;font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-muted);white-space:nowrap;transition:color .15s}.dropdown__link:hover,.dropdown__link--active{color:var(--white)}.hero{position:relative;width:100%;height:calc(100vh - var(--header-height));overflow:hidden}.hero__image{position:absolute;top:50%;left:50%;width:100%;height:auto;transform:translate(-50%,-50%)}.hero__placeholder{flex:1;min-height:420px;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;color:var(--cream-muted);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}.why-hunt{background:var(--bg-dark);padding:5rem 2rem;text-align:center}.why-hunt__inner{max-width:780px;margin:0 auto}.why-hunt h1,.why-hunt h2{font-family:var(--font-display);font-size:2rem;color:var(--cream);letter-spacing:.08em;margin-bottom:1.5rem}.why-hunt p{font-size:1.05rem;color:var(--cream);line-height:1.8}.hunt-cards{padding:5rem 2rem;background:var(--bg)}.hunt-cards__inner{max-width:var(--max-width);margin:0 auto}.hunt-cards__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.hunt-card{display:flex;flex-direction:column}.hunt-card__image{width:100%;height:280px;object-fit:cover;display:block}.hunt-card__body{padding:1.75rem 0 0;flex:1;display:flex;flex-direction:column}.hunt-card__title{font-family:var(--font-display);font-size:1.5rem;color:var(--cream);letter-spacing:.08em;margin-bottom:.75rem}.hunt-card__text{font-size:.95rem;color:var(--cream);line-height:1.75;margin-bottom:1.5rem;flex:1}.hunt-card__link{display:inline-block;font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px;align-self:flex-start;transition:color .2s,border-color .2s}.hunt-card__link:hover{color:var(--white);border-color:var(--white)}.page-wrap{max-width:var(--max-width);margin:0 auto;padding:3.5rem 2rem 4rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-text p{text-align:center;margin-bottom:1.5rem;font-size:1rem;line-height:1.85;color:var(--cream)}.about-text p:last-child{margin-bottom:0}.about-text strong{display:block;text-align:center;margin-top:.5rem;font-weight:700}.about-image{width:100%;border-radius:3px;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;border-radius:3px}.img-placeholder{width:100%;aspect-ratio:4/3;background:var(--bg-dark);border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--cream-muted);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.hunt-detail{display:grid;grid-template-columns:2fr 3fr;gap:3.5rem;align-items:start}.hunt-detail__image{border-radius:3px;overflow:hidden}.hunt-detail__image img{width:100%;object-fit:cover;border-radius:3px}.hunt-detail__image .img-placeholder{aspect-ratio:3/4}.hunt-detail__content h1{font-family:var(--font-display);font-size:2rem;color:var(--cream);text-align:center;margin-bottom:1.75rem;letter-spacing:.05em}.hunt-detail__content p{text-align:center;margin-bottom:1.4rem;font-size:1rem;line-height:1.85;color:var(--cream)}.hunt-detail__content p:last-child{margin-bottom:0}.hunt-pricing{max-width:560px;margin:3.5rem auto 0}.hunt-pricing h2{font-family:var(--font-display);font-size:1.5rem;color:var(--cream);letter-spacing:.12em;margin-bottom:1.5rem;text-align:center}.price-row{display:flex;justify-content:space-between;padding:.5rem 0;font-family:var(--font-body);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);border-bottom:1px solid rgba(232,217,181,.12)}.price-row:last-child{border-bottom:none}.contact-teaser{background:var(--bg-dark);padding:5rem 2rem;text-align:center}.contact-teaser h2{font-family:var(--font-display);font-size:2rem;color:var(--cream);letter-spacing:.08em;margin-bottom:1rem}.contact-teaser p{font-size:1.05rem;color:var(--cream-muted);margin-bottom:2rem}.cta-wrap{text-align:center;margin-top:3rem}.cta-btn{display:inline-block;font-family:var(--font-body);font-size:.875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bg-dark);background:var(--accent);border:2px solid var(--accent);padding:.85rem 2.5rem;border-radius:2px;text-decoration:none;transition:background .2s,color .2s}.cta-btn:hover{background:0 0;color:var(--accent)}.placeholder-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - 80px);padding:4rem 2rem}.placeholder-page h1{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5rem);color:var(--cream);text-align:center;letter-spacing:.04em;line-height:1.15}.lodging-page{padding:3.5rem 2rem 4rem;max-width:var(--max-width);margin:0 auto}.lodging-page h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);color:var(--cream);text-align:center;letter-spacing:.04em;margin-bottom:2.5rem}.lodging-intro{max-width:820px;margin:0 auto 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.lodging-intro p{font-size:1.05rem;color:var(--cream);line-height:1.8}.lodging-intro__lead{font-weight:700;font-size:1.15rem!important}.lodging-gallery{margin-top:4rem}.lodging-gallery__heading{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.5rem);color:var(--cream);text-align:center;letter-spacing:.04em;margin-bottom:2rem}.gallery-page{padding:3.5rem 2rem 4rem;max-width:var(--max-width);margin:0 auto}.gallery-page h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);color:var(--cream);text-align:center;letter-spacing:.04em;margin-bottom:3rem}.gallery-empty{text-align:center;color:var(--cream-muted);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;padding:4rem 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.gallery-item{cursor:pointer;overflow:hidden;border-radius:2px;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.04)}.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1000;align-items:center;justify-content:center}.lightbox.is-open{display:flex}.lightbox__img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:2px}.lightbox__close{position:absolute;top:1.25rem;right:1.5rem;background:0 0;border:none;color:var(--cream);font-size:2rem;cursor:pointer;line-height:1;opacity:.75;transition:opacity .2s}.lightbox__close:hover{opacity:1}.lightbox__prev,.lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:0 0;border:none;color:var(--cream);font-size:2.5rem;cursor:pointer;opacity:.65;transition:opacity .2s;padding:0 1rem}.lightbox__prev:hover,.lightbox__next:hover{opacity:1}.lightbox__prev{left:1rem}.lightbox__next{right:1rem}.contact-page{padding:3rem 2rem 4rem;max-width:var(--max-width);margin:0 auto}.contact-page h1{font-family:var(--font-heading);font-style:italic;font-size:2.25rem;color:var(--accent);text-align:center;letter-spacing:.04em;margin-bottom:2.5rem;text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-left,.contact-right{text-align:center}.contact-left p{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.9;color:var(--cream);margin-bottom:1.25rem}.contact-info{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin-bottom:.5rem}.contact-info a{color:var(--cream)}.contact-info a:hover{color:var(--white)}.contact-social{display:flex;justify-content:center;gap:1.25rem;margin-top:1.25rem}.contact-social a{color:var(--cream-muted);display:flex;align-items:center;transition:color .2s}.contact-social a:hover{color:var(--white)}.contact-right h2{font-family:var(--font-display);font-size:1rem;letter-spacing:.12em;color:var(--cream);margin-bottom:.75rem;text-transform:uppercase}.contact-right .contact-sub{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);margin-bottom:1.25rem;line-height:1.7}.contact-form{text-align:left;margin-bottom:1.5rem}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-field{display:block;margin-bottom:1.25rem}.contact-field span{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream)}.contact-field input,.contact-field textarea{width:100%;background:0 0;border:none;border-bottom:1px solid var(--cream);color:var(--cream);font-family:var(--font-body);font-size:1rem;padding:.5rem .25rem .35rem;outline:none}.contact-field input:focus,.contact-field textarea:focus{border-bottom:2px solid var(--accent)}.contact-field textarea{resize:vertical}.contact-form .cta-btn{display:block;margin:.5rem auto 0;cursor:pointer}.contact-form .cta-btn:disabled{opacity:.6;cursor:wait}.contact-form__status{text-align:center;font-size:.85rem;color:var(--cream);margin-top:1rem;min-height:1.5em}.contact-form__hp{position:absolute;left:-9999px}.contact-right .contact-close{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);line-height:1.7}.site-footer{background:var(--bg-dark);border-top:1px solid rgba(232,217,181,.1);padding:4rem 2rem 2rem}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:3rem;align-items:start;padding-bottom:2.5rem;border-bottom:1px solid rgba(232,217,181,.1);margin-bottom:1.5rem}.footer-heading{font-family:var(--font-display);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.footer-nav ul{list-style:none}.footer-nav li+li{margin-top:.5rem}.footer-nav a{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-muted);text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--cream)}.footer-brand{display:flex;justify-content:center}.footer-logo{height:90px;width:auto}.footer-social{text-align:right}.footer-social__icons{display:flex;gap:1.25rem;justify-content:flex-end}.footer-social__icons a{color:var(--cream-muted);display:flex;align-items:center;transition:color .2s}.footer-social__icons a:hover{color:var(--white)}.footer-copy{text-align:center;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream-muted);opacity:.7}body.section-weddings{--bg:#f4e8d2;--bg-dark:#ebdcc0;--cream:#525c4e;--cream-muted:#6e7769;--white:#2f3829;--accent:#525c4e;--font-wed-caps:'Bebas Neue', 'Arial Narrow', sans-serif;--font-wed-serif:'Cinzel', Georgia, serif;--font-wed-script:'Kaushan Script', cursive;--font-wed-body:'Sarabun', Arial, sans-serif}.section-weddings .site-header{border-bottom:none}.section-weddings .dropdown{border-color:rgba(82,92,78,.15)}.section-weddings .nav-link,.section-weddings .dropdown__link{font-family:var(--font-wed-caps);font-weight:400;font-size:1.5rem;letter-spacing:.04em}.section-weddings .dropdown__link{font-size:1.1rem}.section-weddings .img-placeholder{border:1px dashed var(--cream-muted);border-radius:0}.wed-tagline{font-family:var(--font-wed-serif);font-size:clamp(1.1rem,2vw,1.75rem);line-height:1.45;text-align:center;color:var(--cream);max-width:1700px;margin:0 auto;padding:2.5rem 2rem 1.25rem}.wed-hero img,.wed-hero__placeholder{width:100%;height:clamp(320px,75vh,860px);object-fit:cover;object-position:center bottom}.wed-band{background:var(--cream);margin-top:6rem;padding:2.5rem 2rem;text-align:center}.wed-band__title{font-family:var(--font-wed-script);font-weight:400;font-size:clamp(3rem,7vw,6rem);line-height:1.2;color:var(--bg)}.wed-details{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,8fr);gap:3rem;max-width:1400px;margin:0 auto;padding:4rem 2rem 3rem}.wed-details__image,.wed-details__placeholder{width:100%;aspect-ratio:3/5;object-fit:cover}.wed-spaces__heading{font-family:var(--font-wed-serif);font-weight:400;font-size:clamp(1.6rem,2.75vw,2.4rem);color:var(--cream);margin:2rem 0 .5rem .75rem}.wed-spaces{font-family:var(--font-wed-serif);font-size:clamp(1.15rem,1.9vw,1.6rem);line-height:1.45;color:var(--cream);padding-left:3.25rem}.wed-details__heading{font-family:var(--font-wed-serif);font-weight:400;font-size:clamp(2rem,4.75vw,4.25rem);line-height:1.1;color:var(--cream);margin-top:1.5rem}.wed-details__sub{font-family:var(--font-wed-caps);font-size:clamp(1.5rem,2.5vw,2.25rem);color:var(--cream);text-align:center;max-width:820px;margin:1rem 0 1.75rem}.wed-included{font-family:var(--font-wed-body);font-weight:300;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.45;color:var(--cream);max-width:820px;padding-left:2.5rem}.wed-included li{margin-bottom:.25rem}.wed-cta{text-align:center;padding:2rem 2rem 4rem}.wed-cta p{font-family:var(--font-wed-serif);font-size:clamp(1.25rem,2.6vw,2.4rem);line-height:1.5;color:var(--cream)}.wed-btn{display:inline-block;font-family:var(--font-wed-caps);font-size:clamp(1.5rem,2.5vw,2.25rem);letter-spacing:.02em;color:var(--bg);background:var(--cream);border:2px solid var(--cream);padding:.75rem clamp(2rem,8vw,8rem);margin-top:1.25rem;cursor:pointer;transition:background .2s,color .2s}.wed-btn:hover{background:0 0;color:var(--cream)}.wed-form-section{max-width:1450px;margin:0 auto;padding:3rem 2rem 4rem}.wed-form__heading{font-family:var(--font-wed-serif);font-weight:400;font-size:clamp(1.6rem,3vw,2.75rem);color:var(--cream);text-align:center;margin-bottom:2.5rem}.wed-field{display:block;margin-bottom:1.75rem}.wed-field span{display:block;font-family:var(--font-wed-serif);font-weight:600;font-size:clamp(1.1rem,1.6vw,1.5rem);color:var(--cream)}.wed-field input,.wed-field textarea{width:100%;background:0 0;border:none;border-bottom:1px solid var(--cream);color:var(--cream);font-family:var(--font-wed-body);font-size:1.15rem;padding:.6rem .25rem .4rem;outline:none}.wed-field input:focus,.wed-field textarea:focus{border-bottom-width:2px}.wed-field textarea{resize:vertical}.wed-field textarea::placeholder{font-family:var(--font-wed-serif);font-weight:600;font-size:.9rem;color:var(--cream-muted)}.wed-form__submit{text-align:center}.wed-form__status{font-family:var(--font-wed-serif);font-size:1.1rem;color:var(--cream);margin-top:1rem;min-height:1.5em}.wed-btn:disabled{opacity:.6;cursor:wait}.wed-form__hp{position:absolute;left:-9999px}.wed-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;padding:1rem 1.25rem 5rem}.wed-gallery img,.wed-gallery .img-placeholder{width:100%;aspect-ratio:3/2;object-fit:cover}@media(max-width:900px){.section-weddings .nav-link{font-size:1.15rem}.wed-band{margin-top:3rem}.wed-details{grid-template-columns:1fr}.wed-details__image,.wed-details__placeholder{aspect-ratio:auto;height:calc((100vw - 4rem) * .75 + 50px);object-position:center bottom}.wed-details__sub{text-align:left}}@media(max-width:600px){.section-weddings .nav-link{font-size:.95rem}.wed-hero img,.wed-hero__placeholder{height:clamp(220px,calc(75vh - 100px),760px)}.wed-details__image,.wed-details__placeholder{height:calc((100vw - 2rem) * .75 + 50px)}.wed-tagline,.wed-details,.wed-cta,.wed-form-section{padding-left:1rem;padding-right:1rem}.wed-gallery{grid-template-columns:1fr;gap:1rem}}@media(max-width:900px){:root{--header-height:110px}.hero__image{top:0;left:0;width:100%;height:100%;object-fit:cover;transform:none}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-social{text-align:center}.footer-social__icons{justify-content:center}.logo{height:85px}.nav-logo{padding:0 1.5rem}.nav-left,.nav-right{gap:1.25rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-form__row{grid-template-columns:1fr;gap:0}.about-image{order:-1}.hunt-cards__grid{grid-template-columns:1fr;gap:3rem}.hunt-detail{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){:root{--header-height:90px}.logo{height:68px}.nav-logo{padding:0 1rem}.nav-link{font-size:.65rem;letter-spacing:.08em}.nav-left,.nav-right{gap:.75rem}.hunt-subnav__inner{gap:1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.page-wrap{padding:2.5rem 1.25rem 3rem}}body.section-weddings{--header-height:188px}.section-weddings .logo{height:160px}.section-weddings .footer-logo{height:120px}@media(max-width:900px){body.section-weddings{--header-height:140px}.section-weddings .logo{height:110px}}@media(max-width:600px){body.section-weddings{--header-height:105px}.section-weddings .logo{height:85px}}