@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;1,400&display=swap');
:root{--paper:#f5f3ed;--gold:#c6a768}body{overflow-x:hidden}section[id]{scroll-margin-top:82px}h1,h2,h3{overflow-wrap:normal}.ticker{height:30px;background:#141516;color:#d4d0c7;overflow:hidden;white-space:nowrap;font:10px Manrope,sans-serif;letter-spacing:.17em;display:flex;align-items:center}.ticker-inner{animation:marquee 45s linear infinite;width:max-content}.ticker b{color:var(--gold);padding:0 22px}@keyframes marquee{to{transform:translateX(-50%)}}.nav{top:0;background:#171819aa;backdrop-filter:blur(14px);position:sticky;max-width:none;min-height:76px}.navlinks{text-transform:uppercase;letter-spacing:.1em}.navlinks .nav-cta{white-space:nowrap}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px;cursor:pointer}.hero{height:min(820px,calc(100svh - 100px));min-height:610px;background:#171819}.hero:before{z-index:1;background:linear-gradient(90deg,#0d1014df 0%,#0d1014a8 45%,#0d10141c 100%),linear-gradient(0deg,#0d101466,transparent 40%)}.hero-slides,.hero-slide{position:absolute;inset:0;width:100%;height:100%}.hero-slide{object-fit:cover;opacity:0;transition:opacity 1.25s ease}.hero-slide.active{opacity:1}.hero-content{z-index:2}.hero h1{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em;font-weight:400}.hero h1 em,.lux h2 em{color:var(--gold);font-weight:400}.hero-note{z-index:2}.slide-control{position:absolute;z-index:3;bottom:26px;left:clamp(24px,5vw,80px);display:flex;gap:10px;align-items:center}.slide-control button{width:36px;height:36px;border:1px solid #ffffff99;background:#15151577;color:white;cursor:pointer}.slide-control span{font:12px Manrope;letter-spacing:.1em}.lux{padding-top:98px;padding-bottom:106px}.lux h2{font:400 clamp(35px,4.5vw,62px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:13px 0 17px}.lux .lede{max-width:620px;color:#bfc1c3;font-size:18px;margin:0 0 36px}.lux.light{background:var(--paper);color:#1b1d1e}.lux.light .lede{color:#535658}.lux .eyebrow{color:var(--gold)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.package{background:#252728;border:1px solid #51504b;display:flex;flex-direction:column}.package img{width:100%;height:215px;object-fit:cover}.package-body{padding:27px;display:flex;flex-direction:column;flex:1}.package small,.price small{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:12px}.package h3{font:400 34px 'Playfair Display',serif;margin:10px 0}.package p{color:#c8c9c8;margin:0 0 22px}.package ul{padding-left:20px;margin:0 0 22px;color:#eee}.package li{padding:3px 0}.price{border-top:1px solid #555;padding:20px 0;display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:auto}.price strong{font:400 34px 'Playfair Display',serif}.package button{width:100%;border:0;cursor:pointer}.pricing-note{color:#bfc0be;font-size:14px;margin-top:22px}.service-menu{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bcbab4}.service-menu div{display:grid;grid-template-columns:1fr auto;column-gap:20px;padding:17px 18px;border-bottom:1px solid #bcbab4}.service-menu div:nth-child(odd){border-right:1px solid #bcbab4}.service-menu h3{margin:0;font:600 18px Manrope}.service-menu p{grid-column:1;margin:2px 0;color:#656766;font-size:14px}.service-menu strong{grid-column:2;grid-row:1/3;font:400 24px 'Playfair Display',serif}.service-menu small{font:12px 'DM Sans',sans-serif}.text-link{display:inline-block;margin-top:29px;color:#a7834a;text-decoration:underline;text-underline-offset:5px}.compare{position:relative;aspect-ratio:2/1;max-height:630px;overflow:hidden;--split:50%}.compare>img,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare:after{content:'';position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;pointer-events:none}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare-label{position:absolute;z-index:2;top:20px;padding:6px 12px;background:#171819b9;font-size:12px;text-transform:uppercase;letter-spacing:.15em;pointer-events:none}.compare-label.left{left:20px}.compare-label.right{right:20px}.image-disclosure{color:#bfc0be;font-size:13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery figure{margin:0;position:relative;min-height:230px;overflow:hidden;background:#262a2b}.gallery img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform .55s}.gallery figure:hover img{transform:scale(1.04)}.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:span 2}.gallery figure:nth-child(3){grid-row:span 2;min-height:470px}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 18px 16px;background:linear-gradient(transparent,#000b);color:white}.kit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#b7b6b1;border:1px solid #b7b6b1;margin-bottom:28px}.kit-grid article{background:var(--paper);padding:28px}.kit-grid span{color:#a57d41;font-size:13px}.kit-grid h3{font:400 24px 'Playfair Display',serif}.kit-grid p{color:#555;line-height:1.5}.offer-band{background:#31302d;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:60px;padding-bottom:60px}.offer-band h2{font:400 clamp(32px,4vw,54px) 'Playfair Display',serif;max-width:690px;margin:12px 0}.offer-band p{max-width:650px;color:#d4d0c5}.offer-band .button{white-space:nowrap}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.booking-grid>div>p:not(.eyebrow){color:#c9c9c7;font-size:18px}.booking-grid ul{padding-left:22px;line-height:2;margin-bottom:30px}.booking-steps{border-top:1px solid #777}.booking-steps article{border-bottom:1px solid #666;padding:21px 0}.booking-steps b{color:var(--gold);font-size:13px}.booking-steps h3{font:400 25px 'Playfair Display',serif;margin:3px 0}.booking-steps p{color:#c8c9c8;margin:0}.faq-list{max-width:980px}.faq-list details{border-top:1px solid #bcbab4}.faq-list details:last-child{border-bottom:1px solid #bcbab4}.faq-list summary{list-style:none;cursor:pointer;padding:22px 8px;font:500 clamp(18px,2vw,23px) Manrope;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#9b7849}.faq-list details[open] summary:after{content:'−'}.faq-list p{max-width:800px;margin:0 8px 24px;color:#555;font-size:16px}.offer-overlay{position:fixed;inset:0;z-index:20;background:#080a0ac7;display:grid;place-items:center;padding:20px}.offer-overlay[hidden],.offer-tab[hidden]{display:none}.offer-dialog{background:#f6f4ee;color:#161819;width:min(470px,100%);padding:38px;position:relative;box-shadow:0 25px 80px #0008}.offer-dialog h2{font:400 37px/1.18 'Playfair Display',serif;margin:18px 0}.offer-dialog h2 em{color:#a98953}.offer-dialog p{line-height:1.6}.offer-dialog .button{width:100%;margin:12px 0}.offer-dialog small{font-size:12px;color:#666}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid #bbb;background:transparent;width:34px;height:34px;font-size:22px;cursor:pointer}.offer-tab{position:fixed;z-index:10;left:17px;bottom:17px;background:#171819;border:1px solid var(--gold);color:var(--gold-light);padding:12px 16px;cursor:pointer;font:700 12px Manrope;letter-spacing:.09em;box-shadow:0 6px 25px #0005}.offer-tab:hover{background:#393733}.offer-dialog .returning{border-top:1px solid #bbb;padding-top:16px}.footer-links{display:flex;gap:20px;flex-wrap:wrap}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:960px){.navlinks{gap:12px;font-size:12px}.package-grid{grid-template-columns:1fr 1fr}.kit-grid{grid-template-columns:1fr 1fr}.booking-grid{gap:35px}}@media(max-width:700px){.nav{top:0;position:sticky;min-height:65px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#171819;padding:22px;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 12px 30px #0008}.navlinks.open{display:flex}.navlinks a:not(.nav-cta){display:block}.hero{min-height:680px;height:calc(100svh - 95px)}.hero h1{font-size:clamp(43px,10vw,68px)}.hero-content{padding-top:90px;padding-bottom:100px}.hero-slide{object-position:center}.lux{padding-top:70px;padding-bottom:75px}.package-grid,.service-menu,.booking-grid{grid-template-columns:1fr}.service-menu div:nth-child(odd){border-right:0}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:span 2}.gallery figure:nth-child(3){grid-row:auto}.offer-band{display:block}.offer-band .button{margin-top:15px}.compare{aspect-ratio:1.4}.kit-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.package-grid,.kit-grid,.gallery{grid-template-columns:1fr}.gallery figure:first-child,.gallery figure:nth-child(2){grid-column:auto}.gallery figure:nth-child(3){min-height:230px}.offer-dialog{padding:28px}.offer-dialog h2{font-size:31px}.compare{aspect-ratio:1}.hero-note{font-size:11px;bottom:75px}.slide-control{bottom:20px}}
.compare-choices{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.compare-choice{border:1px solid #8d7856;background:transparent;color:#e8e3d8;padding:12px 18px;font:600 14px Manrope,sans-serif;letter-spacing:.03em;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.compare-choice:hover{transform:translateY(-3px);box-shadow:0 8px 18px #0004;border-color:var(--gold)}.compare-choice.active{background:var(--gold);border-color:var(--gold);color:#171819}.compare-choice:focus-visible{outline:2px solid #f2d9a0;outline-offset:3px}@media(max-width:480px){.compare-choices{display:grid;grid-template-columns:1fr 1fr}.compare-choice{padding:12px 8px;font-size:13px}.compare-label{top:12px;padding:6px 9px;font-size:11px}.compare-label.left{left:10px}.compare-label.right{right:10px}}
.perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#5c564b;padding-top:1px;padding-bottom:1px}.perk{background:#222425;padding:28px clamp(24px,3vw,48px) 31px;transition:background .25s ease,transform .25s ease}.perk:hover{background:#2e2d2a;transform:translateY(-3px)}.perk-number{display:block;color:var(--gold);font:700 12px Manrope,sans-serif;letter-spacing:.16em}.perk h2{font:400 clamp(23px,2.3vw,34px)/1.2 'Playfair Display',Georgia,serif;margin:14px 0 8px}.perk p{color:#c7c9c9;margin:0;font-size:16px}@media(max-width:700px){.perks{grid-template-columns:1fr}.perk{padding:24px}.perk h2{margin-top:9px}.perk:hover{transform:none}}@media(prefers-reduced-motion:reduce){.perk{transition:none}}
@media(min-width:1100px){.perks{grid-template-columns:repeat(4,minmax(0,1fr))}.perk{padding-inline:clamp(18px,2vw,32px)}}
@media(min-width:1200px){.services .grid{grid-template-columns:repeat(12,minmax(0,1fr))}.services .service{grid-column:span 3}}@media(min-width:651px) and (max-width:1199px){.services .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.compare-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.compare-choice{padding:10px 5px;font-size:12px;line-height:1.25;min-height:48px}}
.booking-dialog{max-height:min(90svh,750px);overflow-y:auto}.booking-dialog .booking-step[hidden]{display:none}.booking-dialog .button{border:0;cursor:pointer;text-align:center}.booking-dialog .button:disabled{opacity:.6;cursor:wait}.booking-dialog .returning{color:#555;margin:20px 0 8px}.booking-dialog .returning-link{font-weight:700;text-decoration:underline;text-underline-offset:3px}.booking-dialog .returning-link:hover{color:#9b7849}.booking-dialog #booking-context{font-weight:600;color:#484b4d;border-left:2px solid #b3965c;padding-left:12px}.booking-dialog form{display:grid;gap:7px}.booking-dialog form>label:not(.lead-opt-in){font:700 13px Manrope,sans-serif;margin-top:6px}.booking-dialog form>input{width:100%;border:1px solid #a9a9a3;background:#fff;color:#171819;padding:11px 13px;font:16px 'DM Sans',sans-serif;border-radius:0;min-height:45px}.booking-dialog .lead-opt-in{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:#505352;margin:8px 0}.lead-opt-in input{width:18px;height:18px;flex:none;margin:0;accent-color:#9b7849}.lead-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lead-error{color:#9c2929;font-size:14px;margin:0}.booking-dialog .offer-back{border:0;background:none;cursor:pointer;padding:0;margin-top:14px;font-size:14px}.booking-dialog .copy-code{border:1px solid #a88b58;background:#fff;color:#161819;padding:10px 15px;cursor:pointer;margin:6px 0 17px;font-weight:700}.booking-dialog #offer-success .button{display:flex}.booking-dialog .redirect-note{font-size:13px;color:#6a6d6b}.booking-dialog .copy-code:focus-visible,.booking-dialog input:focus-visible,.booking-dialog a:focus-visible{outline:2px solid #a28246;outline-offset:2px}@media(max-width:480px){.booking-dialog{padding:25px 23px}.booking-dialog h2{font-size:clamp(28px,8vw,34px)}}
@media(prefers-reduced-motion:reduce){.hero-slide,.gallery img{transition:none}.ticker-inner{animation:none}}

@media(max-width:650px){.navlinks.open a:not(.nav-cta){display:block}.navlinks.open .nav-cta{display:block;text-align:center}.navlinks.open{z-index:10}}

/* Quiet entrance motion; only enabled after the observer is ready. */
.motion-ready .reveal{opacity:0;translate:0 26px;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.72,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;translate:0 0}
.package{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}
@media(hover:hover){
  .package:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 22px 38px #0005}
  .button:hover{transform:translateY(-3px);box-shadow:0 9px 22px #0004}
  .slide-control button:hover{background:var(--gold);color:#171819}
}
.package:focus-within{transform:translateY(-6px);border-color:var(--gold)}
.button:active,.slide-control button:active{transform:translateY(0);box-shadow:none}
@media(prefers-reduced-motion:reduce){
  .motion-ready .reveal{opacity:1;translate:none;transition:none}
  .package,.button,.slide-control button{transition:none}
  .package:hover,.package:focus-within,.button:hover{transform:none;box-shadow:none}
}

/* The supplied high-contrast mark has a transparent canvas for both dark sections. */
.nav{padding-top:9px;padding-bottom:9px}
.brand-logo,.footer-brand img{display:block;object-fit:cover;object-position:center}
.brand-logo{width:164px;height:94px}
.footer-brand{display:block;flex:none}
.footer-brand img{width:206px;height:118px}
footer{align-items:center}
@media(max-width:650px){
  .nav{padding-top:8px;padding-bottom:8px}
  .brand-logo{width:124px;height:71px}
  .footer-brand img{width:184px;height:105px}
  footer .footer-links{margin:14px 0 21px}
}

/* Keep the sticky navigation solid above the page, including the mobile menu. */
.nav{z-index:15;background:#171819;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:700px){
  .navlinks,.navlinks.open{background:#171819}
  .navlinks.open{z-index:16;max-height:calc(100dvh - 88px);overflow-y:auto;border-bottom:1px solid #73664e}
}
.booking-dialog .legal-note{display:block;color:#606361;font-size:12px;line-height:1.5;margin-top:4px}
.booking-dialog .legal-note a,.booking-dialog small a,.faq-list p a{color:#8a6630;text-decoration:underline;text-underline-offset:2px}
.hero-slides{overflow:hidden}
.hero-slide.pool-motion{transform-origin:60% 55%;will-change:transform}
.hero-slide.pool-motion.active{animation:pool-in-out 20s ease-in-out infinite}
@keyframes pool-in-out{
  0%,100%{transform:translate3d(0,0,0) scale(1.015)}
  50%{transform:translate3d(-.8%,0,0) scale(1.10)}
}
@media(prefers-reduced-motion:reduce){.hero-slide.pool-motion,.hero-slide.pool-motion.active{animation:none;transform:none;will-change:auto}}
.compare-after-label{position:absolute;inset:0;z-index:2;clip-path:inset(0 0 0 var(--split));pointer-events:none}
.compare-handle{position:absolute;z-index:4;left:clamp(28px,var(--split),calc(100% - 28px));top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);background:#f5f3ed;color:#171819;box-shadow:0 4px 18px #0009;display:flex;align-items:center;justify-content:center;gap:6px;font:700 19px/1 Manrope,sans-serif;white-space:nowrap;pointer-events:none;transition:transform .2s ease}
.compare-arrow{display:inline-block;transform:scaleX(1.25);animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.compare-arrow-left{animation-name:compare-nudge-left}
.compare-arrow-right{animation-name:compare-nudge-right}
@keyframes compare-nudge-left{0%,20%,80%,100%{transform:translateX(0) scaleX(1.25)}50%{transform:translateX(-3px) scaleX(1.25)}}
@keyframes compare-nudge-right{0%,20%,80%,100%{transform:translateX(0) scaleX(1.25)}50%{transform:translateX(3px) scaleX(1.25)}}
.compare:hover .compare-handle,.compare:focus-within .compare-handle{transform:translate(-50%,-50%) scale(1.08)}
@media(max-width:480px){.compare-handle{width:48px;height:48px;font-size:16px;left:clamp(24px,var(--split),calc(100% - 24px))}}
@media(prefers-reduced-motion:reduce){.compare-handle{transition:none}.compare-arrow{animation:none}.compare:hover .compare-handle,.compare:focus-within .compare-handle{transform:translate(-50%,-50%)}}
.perk-link{display:inline-block;margin-top:15px;color:var(--gold-light);border-bottom:1px solid var(--gold);padding-bottom:3px;font:700 13px Manrope,sans-serif;letter-spacing:.05em;transition:color .2s ease,transform .2s ease}
.perk-link:hover{color:#fff;transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.perk-link{transition:none}.perk-link:hover{transform:none}}

/* The added checklist link fits the full bar on wide screens; use the solid menu below. */
@media(max-width:1180px){
  .nav{position:sticky;top:0}
  .menu-toggle{display:block}
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#171819;padding:22px clamp(24px,5vw,80px);flex-direction:column;align-items:stretch;gap:17px;box-shadow:0 12px 30px #0008}
  .navlinks.open{display:flex;z-index:16;max-height:calc(100dvh - 90px);overflow-y:auto;border-bottom:1px solid #73664e}
  .navlinks.open a:not(.nav-cta){display:block}
  .navlinks.open .nav-cta{display:block;text-align:center}
}

/* Show the supplied script at a readable size without scaling its empty square canvas. */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.brand-logo{width:320px;height:auto;object-fit:contain}
.brand-subtitle{align-self:center;color:#e8e5df;font:600 11px/1.4 Manrope,sans-serif;letter-spacing:.24em;text-transform:uppercase;margin-top:-3px}
.footer-brand img{width:310px;height:auto;object-fit:contain}
@media(max-width:1360px){
  .nav{position:sticky;top:0}
  .menu-toggle{display:block}
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:#171819;padding:22px clamp(24px,5vw,80px);flex-direction:column;align-items:stretch;gap:17px;box-shadow:0 12px 30px #0008}
  .navlinks.open{display:flex;z-index:16;max-height:calc(100dvh - 90px);overflow-y:auto;border-bottom:1px solid #73664e}
  .navlinks.open a:not(.nav-cta){display:block}
  .navlinks.open .nav-cta{display:block;text-align:center}
}
@media(max-width:650px){
  .brand-logo{width:225px;height:auto}
  .brand-subtitle{font-size:9px;letter-spacing:.19em}
  .footer-brand img{width:280px;height:auto}
}
