:root{--ivory:#f6f2ee;--paper:#fff;--blush:#eadbd3;--taupe:#8a7468;--espresso:#2b2220;--gold:#b08d6e;--brand-red:#820818;--brand-gold:#f8c076;--hero-bg:#eee6e0;--line:#2b22201f;--display:"Cormorant Garamond","Didot","Bodoni 72",Georgia,serif;--body:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif;--radius:22px;--gutter:max(20px, env(safe-area-inset-left,0px));--gutter-r:max(20px, env(safe-area-inset-right,0px));--max:1240px;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--espresso);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:300;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter-r);margin:0 auto}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:.01em;margin:0;font-weight:400;line-height:1.05}h2{font-size:clamp(2.1rem,4.4vw,3.4rem)}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:500}section{padding-block:clamp(72px,10vw,128px)}.btn{font-family:var(--body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.7em;padding:.95em 1.7em;font-size:.82rem;font-weight:500;display:inline-flex}.btn svg{width:14px;height:14px;transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(2px,-2px)}.btn-dark{background:var(--brand-red);color:#fff}.btn-dark:hover{background:var(--brand-gold);color:var(--espresso)}.btn-line{background:0 0;border-color:currentColor}.btn-line:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}.btn-light{background:var(--ivory);color:var(--espresso)}.btn-light:hover{background:var(--gold);color:var(--ivory)}header{z-index:50;-webkit-backdrop-filter:saturate(1.2)blur(14px);background:#f6f2eedb;border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}header.scrolled{border-color:var(--line)}.nav{justify-content:space-between;align-items:center;gap:24px;height:84px;display:flex}.logo img{object-fit:contain;width:auto;height:58px}.nav-links{letter-spacing:.06em;gap:30px;font-size:.84rem;display:flex}.nav-links a{padding-block:4px;position:relative}.nav-links a:after{content:"";background:var(--gold);transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-right{align-items:center;gap:18px;display:flex}.phone{letter-spacing:.04em;white-space:nowrap;align-items:center;gap:8px;font-size:.86rem;display:flex}.phone svg{width:15px;height:15px;color:var(--gold)}.socials{gap:8px;display:flex}.icon-btn{border:1px solid var(--line);border-radius:50%;place-items:center;width:38px;height:38px;transition:background .3s,color .3s,border-color .3s;display:grid}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}.menu-toggle{border:1px solid var(--line);cursor:pointer;width:44px;height:44px;color:var(--espresso);background:0 0;border-radius:50%;place-items:center;display:none}.menu-toggle span{background:currentColor;width:18px;height:1px;margin:4px auto;transition:transform .3s;display:block}.mobile-menu{display:none}.hero{background:var(--hero-bg);padding-block:0}.hero-grid{grid-template-columns:48% 52%;align-items:stretch;max-width:none;min-height:calc(100svh - 85px);padding:0;display:grid}.hero-copy{padding:20px clamp(28px,4vw,56px) 20px max(var(--gutter),calc(100% / .96 - var(--max) / 2 + var(--gutter)));flex-direction:column;justify-content:center;gap:28px;min-width:0;display:flex}.hero h1{font-size:clamp(2.9rem,5.6vw,4.25rem);font-weight:300}.hero h1 em{color:var(--brand-red);font-style:italic}.hero p{max-width:46ch;color:var(--taupe);margin:0;font-size:1.05rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero-meta{border-top:1px solid var(--line);color:var(--taupe);flex-wrap:wrap;gap:26px;padding-top:26px;font-size:.82rem;display:flex}.hero-meta strong{font-family:var(--display);color:var(--espresso);letter-spacing:.02em;font-size:1.35rem;font-weight:500;display:block}.hero-media{background:var(--blush);position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity 1.6s var(--ease);position:absolute;inset:0}.hero-slide img{object-fit:cover;width:100%;height:100%;transition:transform 7s linear;transform:scale(1.12)}.hero-slide.active{opacity:1}.hero-slide.active img{transform:scale(1)}.hero-media:after{content:"";pointer-events:none;background:linear-gradient(#2b222000 55%,#2b222073);position:absolute;inset:0}.hero-media:before{content:"";z-index:1;opacity:0;transition:opacity .5s var(--ease);pointer-events:none;background:#2b222047;position:absolute;inset:0}@media (hover:hover){.hero-media:hover:before{opacity:1}}.hero-socials{z-index:2;gap:8px;display:flex;position:absolute;top:20px;left:20px}.hero-socials .icon-btn{color:#fff;-webkit-backdrop-filter:blur(8px);background:#ffffff38;border-color:#fff6}.hero-socials .icon-btn:hover{color:var(--espresso);background:#fff}.hero-bottom{z-index:2;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.hero-dots{gap:6px;display:flex}.hero-dots button{cursor:pointer;background:#fff6;border:0;width:26px;height:2px;padding:0;position:relative;overflow:hidden}.hero-dots button i{transform-origin:0;background:#fff;position:absolute;inset:0;transform:scaleX(0)}.hero-dots button.active i{animation:5.5s linear forwards fill}@keyframes fill{to{transform:scaleX(1)}}.hero-bottom .btn{color:#fff;-webkit-backdrop-filter:blur(8px);background:#ffffff2e;border-color:#ffffff8c}.hero-bottom .btn:hover{color:var(--espresso);background:#fff}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transition:opacity 1s var(--ease),transform 1s var(--ease);transform:translateY(26px)}.js .reveal.in{opacity:1;transform:none}.section-head{grid-template-columns:1fr 1fr;align-items:end;gap:32px;margin-bottom:clamp(36px,5vw,60px);display:grid}.section-head p{color:var(--taupe);justify-self:end;max-width:44ch;margin:0;font-size:1.02rem}.section-head .eyebrow{margin-bottom:16px;display:block}.services{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.service{background:var(--paper);border:1px solid var(--line);isolation:isolate;min-height:150px;transition:color .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease);border-radius:18px;flex-direction:column;justify-content:space-between;gap:36px;padding:24px;display:flex;position:relative;overflow:hidden}.service:before{content:"";background:var(--espresso);transition:transform .55s var(--ease);z-index:-1;position:absolute;inset:0;transform:translateY(101%)}.service:hover{color:var(--ivory);border-color:var(--espresso);transform:translateY(-3px)}.service:hover:before{transform:none}.service h3{font-size:1.65rem;font-weight:400}.service-icon{width:46px;height:46px;color:var(--gold);transition:color .45s var(--ease),transform .45s var(--ease);margin-left:-4px}.service:hover .service-icon{color:var(--blush);transform:translateY(-2px)}.service.feature{background:var(--blush);border-color:#0000;grid-column:span 2}.service .glyph{font-family:var(--display);color:var(--gold);letter-spacing:.04em;font-size:.95rem;font-style:italic}.service:hover .glyph{color:var(--blush)}.cta-band{padding-block:0}.cta-inner{border-radius:var(--radius);background:var(--espresso);color:var(--ivory);grid-template-columns:1.2fr 1fr;min-height:340px;display:grid;position:relative;overflow:hidden}.cta-copy{flex-direction:column;justify-content:center;gap:26px;min-width:0;padding:clamp(32px,5vw,64px);display:flex}.cta-copy h2{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300}.cta-copy h2 em{color:var(--gold)}.cta-img{min-height:260px;position:relative}.cta-img img{object-fit:cover;object-position:center top;width:100%;height:100%;position:absolute;inset:0}.cta-img:before{content:"";background:linear-gradient(90deg,var(--espresso),#2b222000 45%);z-index:1;position:absolute;inset:0}.gallery{overflow:hidden}.gallery .section-head{margin-bottom:28px}.coverflow{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;height:clamp(420px,52vw,620px);margin-top:12px;position:relative}.coverflow.dragging{cursor:grabbing}.cf-item{border-radius:var(--radius);background:var(--blush);width:clamp(240px,34vw,440px);height:100%;transition:transform .8s var(--ease),filter .8s var(--ease),opacity .8s var(--ease);will-change:transform,filter;margin-left:calc(clamp(240px,34vw,440px)/-2);position:absolute;top:0;left:50%;overflow:hidden;box-shadow:0 30px 60px -30px #2b222059}.cf-item img{object-fit:cover;pointer-events:none;width:100%;height:100%}.cf-item.side{cursor:pointer}.cf-controls{justify-content:center;align-items:center;gap:24px;margin-top:34px;display:flex}.cf-arrow{border:1px solid var(--line);width:52px;height:52px;color:var(--espresso);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:background .3s,color .3s,border-color .3s;display:grid}.cf-arrow:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}.cf-arrow svg{width:18px;height:18px}.cf-count{font-family:var(--display);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.06em;min-width:84px;font-size:1.3rem}.cf-count span{color:var(--taupe)}.brands{padding-top:0}.brands-card{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);grid-template-columns:.7fr 1.3fr;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(28px,4vw,52px);display:grid}.brands-card h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}.brands-card .eyebrow{margin-bottom:14px;display:block}.brands-img{border-radius:14px;overflow:hidden}.brands-img img{width:100%;height:auto}.amenities{padding-top:0}.amenity-list{grid-template-columns:repeat(9,1fr);gap:28px 14px;margin:0;padding:0;list-style:none;display:grid}.amenity{text-align:center;flex-direction:column;align-items:center;gap:14px;min-width:0;font-size:.86rem;line-height:1.35;display:flex}.amenity svg{width:46px;height:46px;color:var(--gold)}.to-top{right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:40;background:var(--gold);color:#fff;opacity:0;visibility:hidden;width:48px;height:48px;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s,background .3s;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(10px);box-shadow:0 8px 20px -8px #2b222080}.to-top.show{opacity:1;visibility:visible;transform:none}.to-top:hover{background:var(--espresso)}.to-top svg{width:20px;height:20px}.contact{background:var(--paper);border-top:1px solid var(--line);padding-bottom:0}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,4vw,56px);display:grid}.contact-info{flex-direction:column;gap:26px;min-width:0;display:flex}.contact-info>p{color:var(--taupe);max-width:46ch;margin:0;font-size:1.02rem}.info-list{background:var(--line);border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.info{background:var(--paper);flex-direction:column;gap:6px;min-width:0;padding:20px;display:flex}.info.wide{grid-column:span 2}.info small{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.7rem;font-weight:500}.info a,.info span{overflow-wrap:anywhere;font-size:.98rem}.info a:hover{color:var(--gold)}.map{background:var(--blush);border-top:1px solid var(--line);width:100%;height:clamp(320px,40vw,480px);margin-top:clamp(56px,7vw,88px);position:relative;overflow:hidden}.map iframe{filter:grayscale(.85)sepia(.15)contrast(1.02);border:0;width:100%;height:100%;position:absolute;inset:0}.map-link{z-index:2;letter-spacing:.12em;text-transform:uppercase;background:var(--espresso);color:var(--ivory);border-radius:999px;align-items:center;gap:6px;padding:.7em 1.1em;font-size:.75rem;display:flex;position:absolute;top:16px;right:16px}.map-link svg{width:12px;height:12px}.form-card{background:var(--ivory);border-radius:var(--radius);flex-direction:column;gap:22px;padding:clamp(24px,4vw,44px);display:flex}.form-card h3{font-size:clamp(1.8rem,3vw,2.3rem);font-weight:400}form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field.full{grid-column:span 2}label{letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);font-size:.72rem;font-weight:500}input,textarea{font:inherit;color:var(--espresso);background:0 0;border:0;border-bottom:1px solid #2b222040;border-radius:0;width:100%;padding:10px 2px;font-weight:400;transition:border-color .3s}input:focus,textarea:focus{border-color:var(--gold);outline:none}textarea{resize:vertical;min-height:110px}.form-foot{flex-wrap:wrap;grid-column:span 2;justify-content:space-between;align-items:center;gap:16px;margin-top:6px;display:flex}.form-legal{color:var(--taupe);max-width:36ch;margin:0;font-size:.74rem;line-height:1.5}.form-legal a{text-decoration:underline}#contact-submit:disabled{opacity:.7;cursor:wait}#contact-submit .flex{display:flex}#contact-submit .items-center{align-items:center}#contact-submit .gap-2{gap:.5rem}#contact-submit .animate-spin{animation:1s linear infinite spin}#contact-submit .opacity-25{opacity:.25}#contact-submit .opacity-75{opacity:.75}@keyframes spin{to{transform:rotate(360deg)}}.grecaptcha-badge{visibility:hidden}.thanks-page{flex-direction:column;min-height:100svh;display:flex}.thanks-bar{align-items:center;height:84px;display:flex}.thanks{text-align:center;flex:1;place-items:center;padding-block:clamp(48px,8vw,96px);display:grid}.thanks-inner{flex-direction:column;align-items:center;gap:22px;max-width:620px;display:flex}.thanks-check{background:var(--blush);width:76px;height:76px;color:var(--gold);border-radius:50%;place-items:center;display:grid}.thanks-check svg{width:34px;height:34px}.thanks h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:300}.thanks h1 em{color:var(--gold)}.thanks p{color:var(--taupe);max-width:46ch;margin:0;font-size:1.05rem}.thanks .hero-actions{justify-content:center;margin-top:8px}footer{background:var(--espresso);color:var(--ivory);padding-block:clamp(40px,5vw,64px)}.foot-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;display:grid}.foot-logo{background:var(--ivory);border-radius:16px;justify-self:start;padding:14px 18px}.foot-logo img{width:auto;height:64px}.foot-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.foot-partner{transition:opacity .3s;display:block}.foot-partner:hover{opacity:.75}.foot-partner img{width:auto;max-width:100%;height:64px}.foot-end .foot-partner img{height:38px}footer .icon-btn{border-color:#f6f2ee40}footer .icon-btn:hover{background:var(--ivory);color:var(--espresso)}@media (width<=1080px){.nav-links,.phone .ph-text{display:none}.services{grid-template-columns:repeat(3,1fr)}.service.feature{grid-column:span 3}.amenity-list{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.nav{height:72px}.logo img{height:46px}.nav-right .socials,.nav-right .btn,.nav-right .phone{display:none}.menu-toggle{display:grid}.mobile-menu{z-index:49;background:var(--ivory);padding:32px var(--gutter-r) 40px var(--gutter);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);flex-direction:column;gap:26px;position:fixed;inset:72px 0 0;transform:translateY(-8px)}.mobile-menu.open{opacity:1;pointer-events:auto;display:flex;transform:none}.mobile-menu a.m-link{font-family:var(--display);border-bottom:1px solid var(--line);padding-bottom:12px;font-size:2.2rem;line-height:1.1}.menu-open .menu-toggle span:first-child{transform:translateY(2.5px)rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-2.5px)rotate(-45deg)}.hero-grid{grid-template-rows:minmax(240px,1fr) auto;grid-template-columns:1fr;min-height:calc(100svh - 73px)}.hero-copy{padding:28px var(--gutter-r) 36px var(--gutter)}.hero h1{font-size:min(12vw,4.25rem)}.hero-media{order:-1}.section-head{grid-template-columns:1fr}.section-head p{justify-self:start}.services{grid-template-columns:1fr 1fr}.service.feature{grid-column:span 2}.cta-inner{grid-template-columns:1fr}.cta-img{order:-1;min-height:240px}.cta-img:before{background:linear-gradient(0deg,var(--espresso),#2b222000 30%)}.brands-card,.contact-grid{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr;justify-items:center}.foot-logo{justify-self:center}.foot-end{justify-content:center}.cf-item{width:68vw;margin-left:-34vw}.coverflow{height:clamp(380px,100vw,520px)}}@media (width<=520px){.services{grid-template-columns:1fr 1fr;gap:10px}.service{gap:24px;min-height:128px;padding:18px}.service h3{font-size:1.3rem}.info-list{grid-template-columns:1fr}.info.wide{grid-column:auto}form{grid-template-columns:1fr}.field.full,.form-foot{grid-column:auto}.hero-meta{gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.hero-slide img{transform:none!important}html{scroll-behavior:auto}}.loader{z-index:100;background:var(--ivory);transition:opacity .5s var(--ease);place-items:center;display:none;position:fixed;inset:0}.loading .loader,.loader.loader-out{display:grid}.loader.loader-out{opacity:0;pointer-events:none}html.loading{overflow:hidden}.loader-inner{flex-direction:column;align-items:center;gap:6px;display:flex}.loader-art{width:min(320px,80vw);height:auto}.loader-name{font-family:var(--display);color:var(--taupe);letter-spacing:.04em;margin:0;font-size:1.5rem;font-style:italic}.ld-hair path{fill:none;stroke-linecap:round;stroke-linejoin:round}.ld-clip{fill:var(--gold)}.ld-fall{transform-box:fill-box;transform-origin:50% 0;animation:ld-fall .9s cubic-bezier(.45,.05,.8,.5) var(--d) forwards}.ld-scissors{fill:var(--gold);animation:1.4s linear .3s both ld-cross}.ld-blade{transform-origin:0 0;animation:.28s ease-in-out .3s 5 alternate both ld-snip}.ld-handle{fill:none;stroke:var(--gold);stroke-width:3.5px;stroke-linecap:round}@keyframes ld-fall{to{transform:translateY(80px) rotate(var(--r));opacity:0}}@keyframes ld-cross{0%{transform:translate(380px,135px)}to{transform:translate(-90px,135px)}}@keyframes ld-snip{0%{transform:rotate(16deg)}to{transform:rotate(1deg)}}.cookie-card{left:max(20px,env(safe-area-inset-left,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:60;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:12px;width:min(380px,100vw - 40px);padding:28px 26px 24px;display:flex;position:fixed;box-shadow:0 30px 60px -24px #2b222059}.cookie-card.hidden{display:none}.cookie-card h3{font-size:1.9rem;font-weight:400}.cookie-text{color:var(--taupe);margin:0;font-size:.92rem;line-height:1.6}.cookie-types{border-top:1px solid var(--line);color:var(--taupe);flex-direction:column;gap:6px;margin:0;padding:12px 0 2px;font-size:.8rem;line-height:1.5;list-style:none;display:flex}.cookie-types strong{color:var(--espresso);font-weight:500}.cookie-accept{justify-content:center;width:100%;margin-top:6px}.cookie-close{border:1px solid var(--line);width:34px;height:34px;color:var(--espresso);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:background .3s,color .3s,border-color .3s;display:grid;position:absolute;top:14px;right:14px}.cookie-close:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}.cookie-close svg{width:16px;height:16px}@media (width<=860px){.hero-copy,.cta-copy,.contact-info{text-align:center;align-items:center}.hero-actions{justify-content:center}.section-head{text-align:center;justify-items:center}.section-head p{justify-self:center}.service{text-align:center;align-items:center}.service-icon{margin-left:0}.brands-card{text-align:center}.info-list{align-self:stretch}.info{text-align:center;align-items:center}.form-card{text-align:center}.field{align-items:center}input,textarea{text-align:center}.form-foot{flex-direction:column;justify-content:center}}
