@font-face{font-family:DM Serif Display;src:url(/assets/fonts/DMSerifDisplay-Regular.ttf)format("truetype");font-display:swap;font-weight:400}:root{--ink:#050505;--black:#000;--white:#fff;--ivory:#f4f1ea;--blue:#2ba6e0;--champagne:#c7a86b;--sans:"Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;--serif:"DM Serif Display", Georgia, serif;--header-top:max(18px, env(safe-area-inset-top));--page-gutter:clamp(20px, 4vw, 64px);--focus:0 0 0 3px #050505, 0 0 0 6px #fff;--ease-premium:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{min-width:320px;font-family:var(--sans);margin:0;overflow-x:clip}a{color:inherit}img{max-width:100%;display:block}.responsive-image,.responsive-image picture,.responsive-image img{width:100%;height:100%}.responsive-image{background-color:#111}.responsive-image picture{display:block}.responsive-image img{object-fit:cover;object-position:var(--image-position)}.not-found{min-height:100svh;padding:120px var(--page-gutter);color:#fff;background:var(--ink);align-content:center;gap:18px;display:grid}.not-found p{color:var(--champagne);letter-spacing:.16em}.not-found h1{letter-spacing:-.05em;margin:0;font-size:clamp(52px,9vw,132px);line-height:.92}:target{scroll-margin-top:104px}button,summary,a{-webkit-tap-highlight-color:transparent}.route-shell{min-height:150svh;padding:120px var(--page-gutter);color:#fff;background:var(--ink);place-items:center;display:grid}.route-shell h1{letter-spacing:-.05em;max-width:10ch;margin:0;font-size:clamp(54px,9vw,132px);line-height:.92}.skip-link{z-index:100;color:#000;background:#fff;padding:12px 16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:70;height:calc(108px + var(--header-top));padding-inline:var(--page-gutter);backdrop-filter:blur(20px);pointer-events:none;background:#050505c2;border-bottom:1px solid #c7a86b4d;position:fixed;inset:0 0 auto}.site-header a,.site-header summary{pointer-events:auto}.brand-link{left:50%;top:calc(var(--header-top) + 54px);background:0 0;border:0;width:clamp(380px,28vw,420px);padding:0;position:absolute;translate:-50% -50%}.brand-link img{width:100%;height:auto}[data-logo-motion=shutter-flash]{transform-origin:50%;animation:2.2s cubic-bezier(.16,.84,.24,1) both jlazo-shutter-flash}@keyframes jlazo-shutter-flash{0%{opacity:.08;filter:blur(8px)brightness(2.4)drop-shadow(0 0 20px #fffffff2);transform:scale(1.1)}8%{opacity:1;filter:blur(3px)brightness(3)drop-shadow(0 0 18px #ffffffe6);transform:scale(1.065)}28%{opacity:1;filter:blur(1.75px)brightness(2.55)drop-shadow(0 0 14px #39b4e8d9);transform:scale(1.035)}52%{opacity:1;filter:blur(.4px)brightness(1.45)drop-shadow(0 0 8px #39b4e866);transform:scale(.995)}72%{opacity:1;filter:blur()brightness(1.08)drop-shadow(0 0 2px #39b4e833);transform:scale(1.004)}to{opacity:1;filter:none;transform:scale(1)}}.desktop-nav{left:var(--page-gutter);top:calc(var(--header-top) + 54px);color:#fff;background:0 0;border:0;gap:clamp(18px,2vw,30px);padding:14px 0;display:flex;position:absolute;translate:0 -50%}.desktop-nav a{letter-spacing:.08em;text-transform:uppercase;font-size:12px;text-decoration:none}.mobile-nav{display:none}.booking-action{min-height:48px;color:var(--ink);background:var(--blue);letter-spacing:.1em;text-transform:uppercase;transition:transform .18s var(--ease-premium);border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 12px 32px #0000003d}.booking-action:active{transform:scale(.97)}.booking-action:focus-visible,.site-header a:focus-visible,.site-header summary:focus-visible,.concept-link:focus-visible{box-shadow:var(--focus);outline:none}.booking-action--persistent{z-index:80;top:calc(var(--header-top) + 30px);right:var(--page-gutter);position:fixed}.booking-action__mobile{display:none}.concept-link{color:inherit;text-underline-offset:6px;padding:12px 0;display:inline-flex}@media (width<=760px){:root{--page-gutter:16px}.site-header{height:calc(84px + var(--header-top));padding-inline:0}.brand-link{top:calc(var(--header-top) + 42px);width:clamp(140px,43vw,205px)}.desktop-nav{display:none}.mobile-nav{left:16px;right:auto;top:calc(var(--header-top) + 42px);color:#fff;display:block;position:absolute;translate:0 -50%}.mobile-nav summary{cursor:pointer;backdrop-filter:blur(16px);text-transform:uppercase;background:#050505a3;border:1px solid #ffffff2e;border-radius:999px;padding:10px 12px;font-size:11px;list-style:none}.mobile-nav nav{background:#050505f0;border-radius:18px;min-width:150px;padding:10px;display:grid;position:absolute;top:50px;right:0;box-shadow:0 18px 42px #00000057}.mobile-nav nav a{padding:12px;text-decoration:none}.booking-action--persistent{top:calc(var(--header-top) + 18px);min-width:72px;padding-inline:16px;right:16px}.booking-action__desktop{display:none}.booking-action__mobile{display:inline}}@media (width>=761px) and (width<=1040px){.site-header{height:calc(96px + var(--header-top))}.brand-link{top:calc(var(--header-top) + 48px);width:clamp(240px,30vw,300px)}.desktop-nav{top:calc(var(--header-top) + 48px);gap:14px}.desktop-nav a{font-size:11px}.booking-action--persistent{top:calc(var(--header-top) + 24px)}}@media (width<=340px){.brand-link{width:128px}}@media (hover:hover) and (pointer:fine){.booking-action:hover{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-logo-motion=shutter-flash]{animation:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@supports not (overflow:clip){body{overflow-x:hidden}}
