*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #faf6ed;--cream-mid: #f0e8d5;--cream-dark: #e2d5bf;--green: #1a3328;--green-mid: #2c5240;--gold: #c5a04a;--gold-light: #e8d28a;--gold-pale: #f5edcc;--charcoal: #1e1c18;--text: #3a342c;--muted: #8a7e6e;--white: #ffffff;--ff-display: "Cormorant Garamond", Georgia, serif;--ff-body: "Jost", sans-serif;--max-w: 1200px;--nav-h: 80px;--ease-out: cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth}body{font-family:var(--ff-body);background:var(--cream);color:var(--text);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer;font-family:inherit}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;padding:0 clamp(24px,5vw,80px);transition:background .45s var(--ease-out),box-shadow .45s var(--ease-out);transform:translateZ(0);will-change:transform}.nav.scrolled{background:#faf6edf7;box-shadow:0 1px #c5a04a2e,0 4px 24px #1a33280f;border-bottom:1px solid rgba(197,160,74,.2)}.nav__logo{font-family:var(--ff-display);font-size:1.55rem;font-weight:500;color:var(--white);letter-spacing:.02em;margin-right:auto;transition:color .4s}.nav__logo span{color:var(--gold-light);transition:color .4s}.nav.scrolled .nav__logo{color:var(--green)}.nav.scrolled .nav__logo span{color:var(--gold)}.nav__logo-img{height:36px;width:auto;max-width:160px;object-fit:contain;display:block;filter:brightness(0) invert(1);opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s,filter .4s}.nav.scrolled .nav__logo-img{filter:none;opacity:1;transform:translateY(0)}.hero__logo{display:block;margin:0 auto 28px;height:clamp(80px,14vw,130px);width:auto;max-width:340px;object-fit:contain;filter:brightness(0) invert(1);opacity:1;transform:translateY(0) scale(1);transition:opacity .4s,transform .4s}.hero__logo--hidden{opacity:0;transform:translateY(-12px) scale(.92);pointer-events:none}.nav__links{display:flex;gap:36px;list-style:none}.nav__links a{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#ffffffd9;transition:color .3s;position:relative}.nav__links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease-out)}.nav__links a:hover{color:var(--gold-light)}.nav__links a:hover:after{width:100%}.nav.scrolled .nav__links a{color:var(--text)}.nav.scrolled .nav__links a:hover{color:var(--gold)}.nav__cta{margin-left:40px;padding:10px 26px;border:1px solid rgba(197,160,74,.6);border-radius:2px;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);transition:background .3s,border-color .3s,color .3s}.nav.scrolled .nav__cta{color:var(--green);border-color:#1a332866}.nav__cta:hover{background:var(--gold);border-color:var(--gold);color:var(--white)!important}.nav__mute{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:color .2s,opacity .2s;margin-left:16px;opacity:.8}.nav.scrolled .nav__mute{color:var(--green)}.nav__mute:hover{opacity:1}.hero{position:relative;height:100vh;min-height:680px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__bg{position:absolute;inset:0;background:url(/hero_section.jpg) center / cover no-repeat;animation:heroZoom 9s var(--ease-out) forwards;backface-visibility:hidden}.hero__bg:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#10201880,#0c1812b8 55%,#08120dd9)}@keyframes heroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero__content{position:relative;text-align:center;padding:0 24px;max-width:860px;animation:fadeUp 1.1s var(--ease-out) .25s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero__eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);margin-bottom:24px}.hero__eyebrow:before,.hero__eyebrow:after{content:"";width:36px;height:1px;background:var(--gold);opacity:.8}.hero__title{font-family:var(--ff-display);font-size:clamp(3.2rem,7.5vw,6rem);font-weight:300;line-height:1.08;color:var(--white);margin-bottom:22px}.hero__title em{font-style:italic;font-weight:400;color:var(--gold-light)}.hero__verse{font-size:clamp(1rem,2vw,1.4rem);letter-spacing:.12em;color:var(--white);opacity:.85}.hero__sub{font-size:.88rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:#fff9;margin-bottom:52px}.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero__scroll{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#ffffff8c;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;animation:scrollPulse 2.5s ease-in-out infinite;will-change:transform;backface-visibility:hidden}@keyframes scrollPulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(7px)}}.hero__scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent)}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;font-family:var(--ff-body);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:all .3s var(--ease-out);cursor:pointer;border:none}.btn--gold{background:var(--gold);color:var(--white)}.btn--gold:hover{background:#b08d3a;transform:translateY(-2px);box-shadow:0 10px 28px #c5a04a52}.btn--outline-light{background:transparent;border:1px solid rgba(255,255,255,.45);color:var(--white)}.btn--outline-light:hover{background:#ffffff1a;border-color:#fffc}.btn--dark{background:var(--green);color:var(--white)}.btn--dark:hover{background:var(--green-mid);transform:translateY(-2px);box-shadow:0 10px 28px #1a332838}.marquee{background:var(--green);padding:15px 0;overflow:hidden;white-space:nowrap;contain:layout paint}.marquee__track{display:inline-flex;animation:marquee 24s linear infinite;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.marquee__track span{font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#e8d28abf;padding:0 28px}.marquee__track .sep{color:var(--gold);padding:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section{padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px);max-width:var(--max-w);margin:0 auto}.section-label{display:flex;align-items:center;gap:12px;font-size:.65rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.section-label:before{content:"";width:28px;height:1px;background:var(--gold)}.section-title{font-family:var(--ff-display);font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:300;line-height:1.12;color:var(--green);margin-bottom:20px}.section-title em{font-style:italic;font-weight:400;color:var(--gold)}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about__img-wrap{position:relative}.about__img-wrap:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(197,160,74,.35);border-radius:2px;pointer-events:none}.about__img{width:100%;height:560px;object-fit:cover;border-radius:2px;display:block}.about__badge{position:absolute;bottom:-24px;right:-24px;width:116px;height:116px;background:var(--green);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.about__badge-num{font-family:var(--ff-display);font-size:2.4rem;font-weight:300;line-height:1;color:var(--gold-light)}.about__badge-txt{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;line-height:1.4;text-align:center;margin-top:4px}.about__body{font-size:1rem;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:28px}.about__link{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--green);transition:gap .3s,color .3s}.about__link:after{content:"→"}.about__link:hover{gap:16px;color:var(--gold)}.divider-line{max-width:var(--max-w);margin:0 auto;height:1px;background:linear-gradient(to right,transparent,rgba(197,160,74,.3),transparent)}.highlights-bg{background:var(--green);padding:clamp(80px,10vw,130px) clamp(24px,5vw,80px)}.highlights-inner{max-width:var(--max-w);margin:0 auto}.highlights-inner .section-label{color:var(--gold-light)}.highlights-inner .section-label:before{background:var(--gold-light)}.highlights-inner .section-title{color:var(--white)}.highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}.h-card{background:#ffffff0a;border:1px solid rgba(197,160,74,.18);border-radius:4px;padding:36px 28px;transition:background .35s,transform .35s,border-color .35s}.h-card:hover{background:#c5a04a12;border-color:#c5a04a73;transform:translateY(-5px)}.h-card__icon{margin-bottom:20px;color:var(--gold);opacity:.85}.h-card__title{font-family:var(--ff-display);font-size:1.35rem;font-weight:400;color:var(--white);margin-bottom:10px}.h-card__text{font-size:.85rem;font-weight:300;color:#ffffff80;line-height:1.75}.gallery-bg{padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}.gallery-header{max-width:var(--max-w);margin:0 auto 56px}.gallery-grid{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px;gap:10px}.g-item{overflow:hidden;border-radius:3px;position:relative;cursor:zoom-in}.g-item:nth-child(1){grid-column:span 5}.g-item:nth-child(2){grid-column:span 4}.g-item:nth-child(3){grid-column:span 3}.g-item:nth-child(4){grid-column:span 3}.g-item:nth-child(5){grid-column:span 5}.g-item:nth-child(6){grid-column:span 4}.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease-out),opacity .4s;opacity:0;background:linear-gradient(90deg,#e8e0d0 25%,#f0e8d8,#e8e0d0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.g-item img.loaded{opacity:1;animation:none}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.g-item:hover img{transform:scale(1.07)}.g-item__ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,32,24,.65) 0%,transparent 55%);opacity:0;transition:opacity .4s}.g-item:hover .g-item__ov{opacity:1}.packages-bg{background:var(--cream-mid);padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}.packages-inner{max-width:var(--max-w);margin:0 auto}.packages-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}.pkg{background:var(--white);border-radius:4px;padding:48px 42px;position:relative;overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s}.pkg:hover{transform:translateY(-7px);box-shadow:0 24px 64px #1a33281a}.pkg--featured{background:var(--green)}.pkg__bar{position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}.pkg__tag{font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.pkg__name{font-family:var(--ff-display);font-size:2.2rem;font-weight:300;color:var(--green);margin-bottom:6px}.pkg--featured .pkg__name{color:var(--white)}.pkg__price{font-family:var(--ff-display);font-style:italic;font-size:1rem;color:var(--gold);margin-bottom:30px}.pkg__sep{height:1px;background:var(--cream-dark);margin-bottom:28px}.pkg--featured .pkg__sep{background:#ffffff1f}.pkg__list{list-style:none;margin-bottom:36px}.pkg__list li{display:flex;align-items:center;gap:14px;font-size:.9rem;font-weight:300;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--cream-dark)}.pkg--featured .pkg__list li{color:#ffffffa6;border-color:#ffffff1a}.pkg__list li:before{content:"";width:16px;height:1px;background:var(--gold);flex-shrink:0}.pkg__btn{width:100%;justify-content:center}.testimonials-bg{padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}.testimonials-inner{max-width:720px;margin:0 auto;text-align:center}.testimonials-inner .section-label{justify-content:center}.t-quote-mark{font-family:var(--ff-display);font-size:9rem;line-height:.5;color:var(--gold-pale);margin-bottom:36px;-webkit-user-select:none;user-select:none}.t-text{font-family:var(--ff-display);font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:300;font-style:italic;color:var(--charcoal);line-height:1.55;margin-bottom:28px}.t-author{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.t-author span{color:var(--gold)}.t-dots{display:flex;justify-content:center;gap:10px;margin-top:48px}.t-dot{width:7px;height:7px;border-radius:50%;background:var(--cream-dark);cursor:pointer;transition:background .3s,transform .3s;padding:0}.t-dot.active{background:var(--gold);transform:scale(1.35)}.announcement-section{background:var(--cream);padding:clamp(64px,8vw,110px) clamp(24px,5vw,80px)}.announcement-inner{max-width:860px;margin:0 auto;text-align:center}.announcement-img{width:100%;height:auto;border-radius:8px;box-shadow:0 12px 48px #1a33281f;margin-top:24px}.announcement-rsvp{display:inline-block;margin-top:32px}.booking-section{background:var(--green);padding:clamp(80px,10vw,140px) clamp(24px,5vw,80px)}.booking-inner{max-width:var(--max-w);margin:0 auto}.booking-header{max-width:600px;margin:0 auto 56px;text-align:center}.booking-header .section-label{color:var(--gold-light)}.booking-header .section-label:before{background:var(--gold-light)}.booking-header .section-title{color:var(--white)}.booking-intro{font-size:.9rem;font-weight:300;color:#ffffff8c;line-height:1.85;margin-top:16px}.booking-cal-wrap{max-width:560px;margin:0 auto}.booking-cal-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:28px}.booking-cal-month{font-family:var(--ff-display);font-size:1.35rem;font-weight:400;color:var(--white);min-width:200px;text-align:center}.booking-cal-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(197,160,74,.45);background:transparent;color:var(--gold-light);font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s}.booking-cal-btn:hover{background:#c5a04a26;border-color:var(--gold)}.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-day-label{text-align:center;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff6;padding-bottom:8px}.cal-day{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:400;transition:background .2s,color .2s,transform .15s}.cal-day--empty{background:transparent}.cal-day--past,.cal-day--unavailable{color:#ffffff2e;background:transparent;cursor:default}.cal-day--available{background:#c5a04a2e;color:var(--gold-light);cursor:pointer;font-weight:500;border:1px solid rgba(197,160,74,.35)}.cal-day--available:hover{background:#c5a04a52;border-color:var(--gold);transform:scale(1.08)}.cal-day--selected{background:var(--gold);color:var(--white);cursor:pointer;font-weight:600;transform:scale(1.1);box-shadow:0 4px 14px #c5a04a66;border:1px solid transparent}.booking-cal-legend{display:flex;justify-content:center;gap:24px;margin-top:20px}.booking-legend-item{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffff73}.booking-legend-item:before{content:"";width:10px;height:10px;border-radius:3px}.booking-legend--available:before{background:#c5a04a80;border:1px solid rgba(197,160,74,.5)}.booking-legend--unavailable:before{background:#ffffff26}.booking-legend--selected:before{background:var(--gold)}.booking-no-date{text-align:center;margin-top:24px;font-size:.82rem;color:#ffffff73}.booking-no-date__link{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.booking-no-date__link:hover{color:var(--gold)}.booking-form-wrap{max-width:620px;margin:48px auto 0;background:var(--white);border-radius:8px;padding:40px;box-shadow:0 8px 48px #00000047;animation:fadeUp .4s var(--ease-out) both}.booking-form-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.booking-form-title{font-family:var(--ff-display);font-size:1.35rem;font-weight:300;color:var(--green)}.booking-form-title em{font-style:italic;font-weight:400;color:var(--gold)}.booking-form-clear{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap;transition:color .25s}.booking-form-clear:hover{color:var(--gold)}.booking-form{display:flex;flex-direction:column;gap:16px}.booking-form .contact-label{color:var(--muted)}.booking-form .contact-input{background:var(--cream);border-color:var(--cream-dark);color:var(--text)}.booking-form .contact-input:focus{border-color:var(--gold);background:var(--white)}.booking-form .contact-input::placeholder{color:var(--cream-dark)}.booking-form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form__field{display:flex;flex-direction:column;gap:6px}.booking-select{appearance:none;-webkit-appearance:none;cursor:pointer}.booking-form__submit{align-self:flex-start;margin-top:8px}@media(max-width:600px){.booking-form__row--2{grid-template-columns:1fr}.booking-form-wrap{padding:28px 20px}}.cta-section{position:relative;padding:clamp(90px,12vw,150px) clamp(24px,5vw,80px);overflow:hidden}.cta-section__bg{position:absolute;inset:-100px 0;background-image:url(/contact_us_image.jpg);background-size:cover;background-position:center;will-change:transform;transform:translateZ(0)}.cta-section__ov{position:absolute;inset:0;background:linear-gradient(140deg,#102018e8,#162c20f2)}.cta-section__inner{position:relative;max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,100px);align-items:start}.cta-section__label{display:flex;align-items:center;gap:14px;font-size:.65rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-light);margin-bottom:24px}.cta-section__label:before{content:"";width:28px;height:1px;background:var(--gold);opacity:.7}.cta-section__title{font-family:var(--ff-display);font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:300;color:var(--white);margin-bottom:18px;line-height:1.1}.cta-section__title em{font-style:italic;font-weight:400;color:var(--gold-light)}.cta-section__sub{font-size:.9rem;font-weight:300;color:#ffffff8c;margin-bottom:40px;letter-spacing:.03em;line-height:1.85}.cta-details{display:flex;flex-direction:column;gap:18px}.cta-detail{display:flex;flex-direction:column;gap:3px;padding-left:16px;border-left:1px solid rgba(197,160,74,.35);transition:border-color .3s}.cta-detail:hover{border-color:var(--gold)}.cta-detail__label{font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.cta-detail__value{font-size:.9rem;font-weight:300;color:#ffffffbf;transition:color .3s}.cta-detail:hover .cta-detail__value{color:var(--white)}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form__field{display:flex;flex-direction:column;gap:7px}.contact-label-row{display:flex;justify-content:space-between;align-items:baseline}.contact-label{font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffffff80}.contact-counter{font-size:.6rem;font-weight:400;letter-spacing:.05em;color:#ffffff40;transition:color .3s}.contact-counter--warn{color:#ffc864a6}.contact-counter--error{color:#ff6e50cc}.contact-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:3px;padding:13px 16px;font-family:var(--ff-body);font-size:.88rem;font-weight:300;color:var(--white);outline:none;transition:border-color .3s,background .3s;width:100%}.contact-input::placeholder{color:#ffffff40}.contact-input:focus{border-color:#c5a04ab3;background:#ffffff17}.contact-input--textarea{resize:vertical;min-height:120px;line-height:1.7}.contact-error{font-size:.8rem;color:#ffa064d9;padding:10px 14px;border:1px solid rgba(255,120,80,.25);border-radius:3px;background:#ff50280f}.contact-form__submit{align-self:flex-start;margin-top:4px}.contact-recaptcha-note{font-size:.62rem;color:#fff3;line-height:1.6}.contact-recaptcha-note a{color:#ffffff4d;text-decoration:underline;transition:color .3s}.contact-recaptcha-note a:hover{color:#ffffff8c}.grecaptcha-badge{visibility:hidden!important}.contact-success{display:flex;flex-direction:column;align-items:flex-start;padding:48px 40px;border:1px solid rgba(197,160,74,.25);border-radius:4px;background:#ffffff0a}.booking-form-wrap .contact-success{background:var(--cream);border-color:#c5a04a59}.booking-form-wrap .contact-success h3{color:var(--green)}.booking-form-wrap .contact-success p{color:var(--muted)}.contact-success__icon{width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--gold);margin-bottom:24px}.contact-success h3{font-family:var(--ff-display);font-size:1.9rem;font-weight:300;color:var(--white);margin-bottom:10px}.contact-success p{font-size:.88rem;font-weight:300;color:#ffffff80;line-height:1.8;margin-bottom:0}.map-section{background:var(--cream);padding:clamp(64px,8vw,110px) clamp(24px,5vw,80px) 0}.map-header{max-width:var(--max-w);margin:0 auto 40px;text-align:center}.map-directions-link{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:400;color:var(--muted);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.map-directions-link:hover{color:var(--gold)}.map-embed{max-width:var(--max-w);margin:0 auto;border-radius:6px 6px 0 0;overflow:hidden;box-shadow:0 -4px 32px #1a332814}.map-embed iframe{display:block;width:100%;height:420px;border:none}@media(max-width:600px){.map-embed iframe{height:280px}}.footer{background:var(--charcoal);padding:clamp(60px,8vw,100px) clamp(24px,5vw,80px) 36px}.footer__grid{max-width:var(--max-w);margin:0 auto 60px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px}.footer__logo{font-family:var(--ff-display);font-size:1.9rem;font-weight:400;color:var(--white);margin-bottom:14px}.footer__logo span{color:var(--gold)}.footer__logo-img{height:48px;width:auto;max-width:200px;object-fit:contain;display:block;opacity:.85}.footer__tagline{font-size:.82rem;font-weight:300;color:#ffffff59;line-height:1.8;margin-bottom:28px}.footer__social{display:flex;gap:10px}.footer__social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#fff6;transition:border-color .3s,color .3s}.footer__social a:hover{border-color:var(--gold);color:var(--gold)}.footer__col-head{font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.footer__col-list{list-style:none}.footer__col-list li{font-size:.85rem;font-weight:300;color:#ffffff73;margin-bottom:10px;transition:color .3s}.footer__col-list li a{color:inherit;transition:color .3s}.footer__col-list li a:hover,.footer__col-list li:hover{color:#ffffffd9}.footer__bottom{max-width:var(--max-w);margin:0 auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between}.footer__copy{font-size:.72rem;color:#fff3}.footer__powered{font-size:.68rem;color:#ffffff2e}.footer__powered a{color:#c5a04a73;transition:color .3s}.footer__powered a:hover{color:var(--gold)}.nav__burger{display:none;flex-direction:column;gap:5px;padding:6px;margin-left:auto;cursor:pointer}.nav__burger span{display:block;width:24px;height:1.5px;background:var(--white);border-radius:2px;transition:transform .35s var(--ease-out),opacity .3s,background .4s;transform-origin:center}.nav.scrolled .nav__burger span{background:var(--green)}.nav.menu-open{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}.nav__burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav__burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav__burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav__burger.open span{background:var(--white)!important}.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out)}.mobile-menu:before{content:"";position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1200&q=60);background-size:cover;background-position:center;opacity:.08}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-menu__nav{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.mobile-menu__link{font-family:var(--ff-display);font-size:clamp(2.6rem,8vw,4rem);font-weight:300;color:var(--white);letter-spacing:.02em;padding:10px 24px;transition:color .3s;opacity:0;transform:translateY(16px);animation:none}.mobile-menu.open .mobile-menu__link{animation:menuItemIn .5s var(--ease-out) forwards}.mobile-menu__link:hover{color:var(--gold-light)}.mobile-menu__cta{margin-top:32px;opacity:0;transform:translateY(16px)}.mobile-menu.open .mobile-menu__cta{animation:menuItemIn .5s var(--ease-out) forwards}@keyframes menuItemIn{to{opacity:1;transform:translateY(0)}}.mobile-menu__tagline{position:absolute;bottom:48px;font-size:.65rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#e8d28a73}.annc-backdrop{position:fixed;inset:0;z-index:998;background:#08100cbf;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .3s ease}.annc-modal{position:relative;background:var(--white);border-radius:10px;overflow:hidden;max-width:520px;width:100%;box-shadow:0 24px 80px #00000073;animation:lightboxIn .35s var(--ease-out)}.annc-img{display:block;width:100%;height:auto}.annc-cta{display:block;text-align:center;margin:20px 24px 24px;border-radius:4px}.annc-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#08100c8c;color:var(--white);font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .2s;z-index:1}.annc-close:hover{background:#08100ccc}@media(max-width:600px){.annc-backdrop{padding:16px;align-items:flex-end}.annc-modal{max-width:100%;border-radius:12px 12px 0 0}}.lightbox{position:fixed;inset:0;z-index:999;background:#08100cf2;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 24px 80px #0009;animation:lightboxIn .25s var(--ease-out)}@keyframes lightboxIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.lightbox__close{position:fixed;top:24px;right:28px;width:44px;height:44px;border-radius:50%;background:#ffffff1a;color:var(--white);font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .2s}.lightbox__close:hover{background:#fff3}.lightbox__prev,.lightbox__next{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#ffffff1a;color:var(--white);font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background .2s}.lightbox__prev{left:20px}.lightbox__next{right:20px}.lightbox__prev:hover,.lightbox__next:hover{background:#fff3}.lightbox__caption{position:fixed;bottom:28px;left:50%;transform:translate(-50%);font-size:.82rem;color:#ffffff8c;letter-spacing:.06em;white-space:nowrap}@media(max-width:960px){.nav__links,.nav__cta{display:none}.nav__burger{display:flex}.about{grid-template-columns:1fr;gap:52px}.about__img-wrap:before{display:none}.about__img{height:380px}.about__badge{display:none}.highlights-grid{grid-template-columns:repeat(2,1fr)}.packages-grid{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr 1fr;gap:40px}.cta-section__inner,.contact-form__row--2{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,240px)}.g-item{grid-column:span 1!important}}@media(max-width:600px){.highlights-grid,.footer__grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:unset}.gallery-grid .g-item{height:240px}}
