.site-header{z-index:var(--z-header);background:var(--color-onyx);color:var(--color-white);position:relative}.navbar{justify-content:space-between;align-items:center;gap:2rem;min-height:80px;display:flex}.navbar__brand{color:inherit;font-family:var(--font-heading);letter-spacing:-.06em;font-size:1.75rem;font-weight:700;text-decoration:none}.navbar__links{align-items:center;gap:2rem;display:flex}.navbar__link{color:inherit;font-size:.875rem;font-weight:500;text-decoration:none}.navbar__link:hover{opacity:.7}.navbar__book{background:var(--color-white);min-height:44px;color:var(--color-onyx);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.navbar__book--disabled{color:var(--color-stone);cursor:default;background:0 0;border:1px solid #555}.navbar__toggle,.navbar__close,.navbar__drawer-header,.navbar__drawer-caption,.navbar__edge-handle{display:none}@media (width<=768px){.navbar{min-height:72px}.navbar__toggle{width:46px;height:46px;color:var(--color-white);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff59;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex}.navbar__toggle-line{background:currentColor;width:100%;height:2px;margin:3px 0;display:block}.navbar__backdrop{z-index:calc(var(--z-header) - 1);background:#00000061;position:fixed;inset:0}.navbar__links{z-index:calc(var(--z-header) + 2);width:min(85vw,360px);height:100dvh;padding:max(2rem, env(safe-area-inset-top)) 2rem max(2rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);color:var(--color-white);visibility:hidden;transition:transform var(--transition-base), visibility var(--transition-base);background:#181818e0;border-left:1px solid #ffffff1f;flex-direction:column;align-items:stretch;gap:1.75rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-20px 0 60px #0000004d}.navbar__links--open{visibility:visible;transform:translate(0)}.navbar__drawer-header{color:var(--color-stone);letter-spacing:.2em;justify-content:space-between;align-items:center;margin-bottom:2rem;font-size:.75rem;display:flex}.navbar__close{width:44px;height:44px;color:var(--color-white);cursor:pointer;background:0 0;border:1px solid #555;justify-content:center;align-items:center;font-size:2rem;display:flex}.navbar__link{font-family:var(--font-heading);letter-spacing:-.04em;font-size:clamp(1.5rem,5vw,2rem);font-weight:600}.navbar__book{width:100%;margin-top:1rem}.navbar__drawer-caption{color:var(--color-graphite);letter-spacing:.15em;margin-top:auto;padding-top:2rem;font-size:.65rem;display:block}.navbar__edge-handle{z-index:calc(var(--z-header) + 1);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:flex-end;align-items:center;width:44px;height:64px;padding:0;display:flex;position:fixed;top:48%;right:0}.navbar__edge-handle-visual{-webkit-backdrop-filter:blur(8px);width:15px;height:54px;transition:width var(--transition-base), background-color var(--transition-base);background:#1111117a;border-radius:6px 0 0 6px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.navbar__edge-handle-visual span{background:#ffffffd9;border-radius:50%;width:3px;height:3px}.navbar__edge-handle:active .navbar__edge-handle-visual{background:#111c;width:20px}.navbar__edge-handle:focus-visible{outline:2px solid var(--color-onyx);outline-offset:-2px;border-radius:6px}.navbar__edge-handle--hidden{opacity:0;pointer-events:none}}@media (prefers-reduced-motion:reduce){.navbar__links,.navbar__edge-handle-visual{transition:none}}.sticky-booking{display:none}@media (width<=768px){.sticky-booking{z-index:200;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#111111f5;border-top:1px solid #333;display:block;position:fixed;bottom:0;left:0;right:0}.sticky-booking__button{color:#111;letter-spacing:.05em;text-transform:uppercase;background:#f7f7f5;border:none;border-radius:2px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 20px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .2s;display:flex}a.sticky-booking__button:hover{background:#d9d9d6}a.sticky-booking__button:focus-visible{outline-offset:3px;outline:3px solid #fff}.sticky-booking__button--disabled{color:#d9d9d6;cursor:default;background:#343434}body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.sticky-booking__button{transition:none}}.hero{background:var(--color-onyx);color:var(--color-white);overflow:hidden}.hero__content{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(2rem,6vw,6rem);min-height:min(760px,90svh);padding-block:clamp(4rem,8vw,8rem);display:grid}.hero__copy{z-index:1;position:relative}.hero__eyebrow{color:var(--color-stone);font-size:var(--font-size-xs);letter-spacing:.2em;text-transform:uppercase;font-weight:600}.hero__title{margin-top:var(--space-6);letter-spacing:-.075em;text-transform:uppercase;font-size:clamp(3.5rem,8vw,7rem);font-weight:700;line-height:.95}.hero__title-period{color:var(--color-stone)}.hero__tagline{margin-top:var(--space-8);font-family:var(--font-heading);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:500}.hero__description{margin-top:var(--space-3);color:var(--color-stone);font-size:var(--font-size-base)}.hero__actions{align-items:center;gap:var(--space-6);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.hero__button{justify-content:center;align-items:center;gap:var(--space-6);min-height:52px;padding:var(--space-3) var(--space-6);background:var(--color-white);color:var(--color-onyx);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;transition:background var(--transition-fast);font-weight:700;display:inline-flex}.hero__button:hover{background:var(--color-stone)}.hero__button--disabled{color:var(--color-stone);cursor:not-allowed;background:#343434}.hero__button--disabled:hover{background:#343434}.hero__secondary-link{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);font-weight:500;display:inline-flex}.hero__secondary-link:hover{text-underline-offset:5px;text-decoration:underline}.hero__disclaimer{margin-top:var(--space-8);color:#a3a3a3;font-size:var(--font-size-xs)}.hero__visual{min-width:0}.hero__visual-frame{aspect-ratio:4/5;padding:var(--space-6);background:linear-gradient(145deg,#444 0%,#222 48%,#080808 100%);border:1px solid #444;flex-direction:column;justify-content:space-between;display:flex;position:relative}.hero__visual-label{font-family:var(--font-heading);font-size:var(--font-size-sm);letter-spacing:.15em;font-weight:700}.hero__visual-caption{color:var(--color-stone);font-size:var(--font-size-xs);letter-spacing:.16em;align-self:flex-end}@media (width<=768px){.hero__content{min-height:auto;padding-block:var(--space-16);grid-template-columns:1fr}.hero__title{font-size:clamp(3rem,13vw,5rem)}.hero__visual-frame{aspect-ratio:4/3}.hero__actions{margin-top:var(--space-8)}}.quick-links{color:#111;background:#f7f7f5;padding:clamp(4rem,8vw,7rem) 0}.quick-links__header{margin-bottom:3rem}.quick-links__eyebrow{color:#595959;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:600}.quick-links__title{letter-spacing:-.055em;margin-top:1rem;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4vw,3.75rem);font-weight:700;line-height:1.1}.quick-links__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.quick-links__card{color:#111;background:#fff;border:1px solid #e5e5e2;flex-direction:column;justify-content:space-between;min-height:250px;padding:1.75rem;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:flex}.quick-links__card:hover{border-color:#111;transform:translateY(-5px)}.quick-links__number{color:#595959;letter-spacing:.1em;font-size:.75rem}.quick-links__card-content h3{letter-spacing:-.04em;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,2vw,2rem)}.quick-links__card-content p{color:#595959;margin-top:.75rem;font-size:.875rem;line-height:1.6}.quick-links__arrow{align-self:flex-end;font-size:1.5rem}.quick-links__card:focus-visible{outline-offset:3px;outline:3px solid #111}@media (width<=768px){.quick-links__grid{grid-template-columns:1fr}.quick-links__card{min-height:200px}}@media (prefers-reduced-motion:reduce){.quick-links__card{transition:none}.quick-links__card:hover{transform:none}}.services{padding-block:var(--section-spacing);color:#111;background:#f7f7f5}.services__header{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.services__eyebrow{color:#595959;letter-spacing:.18em;font-size:.75rem;font-weight:600}.services__title{font-family:var(--font-heading);font-size:var(--font-size-section-title);letter-spacing:var(--letter-spacing-heading);font-weight:700;line-height:var(--line-height-heading);margin-top:1rem}.services__title span{color:#595959}.services__intro{color:#595959;max-width:260px;font-size:.875rem;line-height:1.7}.services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.services__card{background:#fff;border:1px solid #e5e5e2;flex-direction:column;justify-content:space-between;min-height:270px;padding:clamp(1.5rem,3vw,2.25rem);transition:border-color .2s,transform .2s;display:flex}.services__card:hover{border-color:#111;transform:translateY(-3px)}.services__card-top,.services__card-bottom{justify-content:space-between;align-items:center;gap:1rem;display:flex}.services__number,.services__duration{color:#595959;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.services__card-body{padding:2rem 0}.services__card-body h3{letter-spacing:-.04em;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}.services__card-body p{color:#595959;max-width:360px;margin-top:.75rem;font-size:.875rem;line-height:1.6}.services__card-bottom{border-top:1px solid #e5e5e2;padding-top:1.25rem}.services__price{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700}.services__decorative-arrow{color:#595959;font-size:1.5rem}.services__empty,.services__disclaimer{color:#595959;margin-top:1.5rem;font-size:.75rem}@media (width<=768px){.services__header{flex-direction:column;align-items:flex-start}.services__grid{grid-template-columns:1fr}.services__card{min-height:230px}}@media (prefers-reduced-motion:reduce){.services__card{transition:none}.services__card:hover{transform:none}}.gallery{padding-block:var(--section-spacing);background:var(--color-white);color:var(--color-onyx)}.gallery__header{margin-bottom:3rem}.gallery__eyebrow{color:var(--color-graphite);font-size:var(--font-size-xs);letter-spacing:.18em;font-weight:600}.gallery__title{font-family:var(--font-heading);font-size:var(--font-size-section-title);letter-spacing:var(--letter-spacing-heading);font-weight:700;line-height:var(--line-height-heading);margin-top:1rem}.gallery__title span{color:var(--color-graphite)}.gallery__intro{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:1rem}.gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.gallery__item{aspect-ratio:4/5;cursor:pointer;background:#222;border:0;padding:0;position:relative;overflow:hidden}.gallery__item img{object-fit:cover;object-position:center;filter:grayscale()contrast(1.06);width:100%;height:100%;transition:filter var(--transition-base), transform var(--transition-base);display:block}.gallery__item-overlay{color:var(--color-white);letter-spacing:.1em;pointer-events:none;background:linear-gradient(#0000,#000c);justify-content:space-between;gap:.5rem;padding:1rem;font-size:.7rem;display:flex;position:absolute;inset:auto 0 0}.gallery__placeholder{background:linear-gradient(135deg, #333, var(--color-onyx));min-height:320px;color:var(--color-white);flex-direction:column;justify-content:space-between;padding:2rem;display:flex}.gallery__placeholder-number,.gallery__placeholder>span:last-child{color:var(--color-stone);font-size:var(--font-size-xs);letter-spacing:.15em}.gallery__placeholder p{font-family:var(--font-heading);letter-spacing:-.05em;font-size:clamp(2rem,5vw,4rem);font-weight:600}.gallery__disclaimer{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:1.5rem}.gallery__lightbox{z-index:var(--z-modal);color:var(--color-white);background:#000000f5;justify-content:center;align-items:center;padding:4rem 1rem 2rem;display:flex;position:fixed;inset:0}.gallery__close{border:1px solid var(--color-graphite);width:44px;height:44px;color:var(--color-white);cursor:pointer;background:0 0;font-size:2rem;position:absolute;top:1rem;right:1rem}.gallery__lightbox-content{flex-direction:column;align-items:center;gap:1rem;width:min(100%,900px);max-height:100%;display:flex}.gallery__lightbox-content img{object-fit:contain;max-width:100%;max-height:65vh;display:block}.gallery__lightbox-caption{color:var(--color-stone);font-size:var(--font-size-sm);text-align:center}.gallery__lightbox-controls{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.gallery__lightbox-controls button{min-height:44px;color:var(--color-white);cursor:pointer;background:0 0;border:1px solid #555;padding:.5rem 1rem}.gallery__lightbox button:focus-visible,.gallery__item:focus-visible{outline:3px solid var(--color-white);outline-offset:3px}@media (hover:hover) and (pointer:fine){.gallery__item:hover img{filter:grayscale(85%)contrast(1.08);transform:scale(1.035)}}@media (width<=900px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.gallery__lightbox-content img{max-height:55vh}}@media (prefers-reduced-motion:reduce){.gallery__item img{transition:none}.gallery__item:hover img{transform:none}}.about{padding:var(--section-spacing) 0;background:var(--color-off-white);color:var(--color-onyx)}.about__layout{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.about__eyebrow{color:var(--color-graphite);letter-spacing:.18em;font-size:.75rem;font-weight:600}.about__title{font-family:var(--font-heading);font-size:var(--font-size-section-title);letter-spacing:var(--letter-spacing-heading);font-weight:700;line-height:var(--line-height-heading);margin-top:1.5rem}.about__title span{color:var(--color-graphite)}.about__lead{margin-top:2rem;font-family:Space Grotesk,sans-serif;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500}.about__description{color:#626262;max-width:500px;font-size:var(--font-size-base);line-height:var(--line-height-body);margin-top:1.25rem}.about__link{border-bottom:1px solid var(--color-onyx);color:var(--color-onyx);align-items:center;gap:1.5rem;margin-top:2.5rem;padding-bottom:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.about__link:hover{opacity:.65}.about__visual{background:radial-gradient(circle at 50% 45%, #343434, var(--color-onyx) 70%);min-height:500px;color:var(--color-white);flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.about__visual-top,.about__visual-bottom{color:#bdbdbd;letter-spacing:.14em;justify-content:space-between;gap:1rem;font-size:.65rem;display:flex}.about__visual-center{text-align:center}.about__visual-center>span{font-family:var(--font-heading);letter-spacing:-.09em;font-size:clamp(5rem,12vw,9rem);font-weight:700;line-height:1}.about__visual-center p{color:var(--color-stone);letter-spacing:.2em;margin-top:1rem;font-size:.7rem}@media (width<=768px){.about__layout{grid-template-columns:1fr}.about__visual{min-height:380px}}.final-cta{color:#fff;text-align:center;background:#111;padding:clamp(5rem,10vw,9rem) 0}.final-cta__content{flex-direction:column;align-items:center;display:flex}.final-cta__eyebrow{color:#d9d9d6;letter-spacing:.2em;font-size:.75rem;font-weight:600}.final-cta__title{letter-spacing:-.075em;margin-top:1.5rem;font-family:Space Grotesk,sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:700;line-height:.98}.final-cta__title span{color:#777}.final-cta__description{max-width:450px;color:var(--color-stone);font-size:var(--font-size-body-large);line-height:var(--line-height-body);margin-top:2rem}.final-cta__button{min-width:260px;min-height:max(56px, var(--button-min-height));color:#111;letter-spacing:.05em;text-transform:uppercase;transition:background-color var(--transition-base), transform var(--transition-base);background:#f7f7f5;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem;padding:0 1.5rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}a.final-cta__button:hover{background:#d9d9d6}.final-cta__button--disabled{color:#d9d9d6;cursor:default;background:#343434}.final-cta__disclaimer{color:#999;margin-top:1.5rem;font-size:.75rem}.final-cta__button--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.final-cta__button{transition:none}}.footer{color:#fff;background:#111;border-top:1px solid #333;padding:4rem 0 2rem}.footer__main{grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:4rem;display:grid}.footer__brand{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.footer__logo{color:#fff;letter-spacing:-.07em;font-family:Space Grotesk,sans-serif;font-size:2.5rem;font-weight:700;text-decoration:none}.footer__brand p{color:#d9d9d6;font-size:1rem}.footer__brand>span{color:#999;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.footer__column{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.footer__column h2{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.footer__column nav{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.footer__column a{color:#d9d9d6;overflow-wrap:anywhere;font-size:.875rem;text-decoration:none}.footer__column a:hover,.footer__logo:hover{opacity:.65}.footer__muted{color:#999;font-size:.875rem;line-height:1.6}.footer__bottom{border-top:1px solid #333;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:2rem;display:flex}.footer__bottom p{color:#999;font-size:.75rem}@media (width<=768px){.footer__main{grid-template-columns:1fr 1fr;gap:2.5rem}.footer__brand{grid-column:1/-1}.footer{padding-bottom:2rem}}@media (width<=480px){.footer__main{grid-template-columns:1fr}.footer__brand{grid-column:auto}.footer__bottom{flex-direction:column}}:root{--color-onyx:#111;--color-off-white:#f7f7f5;--color-stone:#d9d9d6;--color-graphite:#595959;--color-white:#fff;--color-background:var(--color-off-white);--color-surface:var(--color-white);--color-text:var(--color-onyx);--color-text-muted:#626262;--color-border:var(--color-stone);--font-heading:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:clamp(2.5rem, 6vw, 4.5rem);--font-size-section-title:clamp(2.75rem, 5.5vw, 5rem);--font-size-body-large:clamp(1rem, 1.5vw, 1.125rem);--line-height-heading:1.05;--line-height-body:1.75;--letter-spacing-heading:-.055em;--section-heading-gap:clamp(1.5rem, 3vw, 2.5rem);--content-gap:clamp(2rem, 5vw, 4rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--container-width:1200px;--container-padding:clamp(1rem, 4vw, 2rem);--section-spacing:clamp(5rem, 9vw, 9rem);--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--border-light:1px solid var(--color-stone);--border-dark:1px solid #333;--transition-fast:.15s ease;--transition-base:.25s ease;--button-min-height:48px;--focus-ring:2px solid var(--color-onyx);--focus-ring-offset:4px;--interactive-lift:-2px;--z-header:100;--z-sticky-cta:200;--z-modal:300}@media (prefers-reduced-motion:reduce){:root{--transition-fast:none;--transition-base:none}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img,picture,video,svg{max-width:100%;display:block}img{height:auto}:focus-visible{outline-offset:4px;outline:3px solid}::selection{background:var(--color-onyx);color:var(--color-white)}.container{width:min(100% - (var(--container-padding) * 2), var(--container-width));margin-inline:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:where(a,button,input,select,textarea):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}:where(.hero,.final-cta,.footer,.gallery__lightbox) :where(a,button):focus-visible{outline-color:var(--color-white)}@media (hover:hover) and (pointer:fine){.final-cta__button:not(.final-cta__button--disabled){transition:transform var(--transition-base), background-color var(--transition-base)}a.final-cta__button:hover{transform:translateY(var(--interactive-lift))}.about__link{transition:opacity var(--transition-fast), gap var(--transition-base)}.about__link:hover{gap:2rem}.footer__column a,.footer__logo{transition:opacity var(--transition-fast)}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.final-cta__button,.about__link,.footer__column a,.footer__logo{transition:none;transform:none}}
