*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "Newsreader", Georgia, "Times New Roman", serif;--font-body: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--ink-900: #0d0d0d;--ink-700: #2b2b29;--ink-500: #6b6a66;--ink-300: #a7a59f;--ink-150: #d9d7d0;--ink-100: #eae8e2;--paper-0: #ffffff;--paper-50: #faf9f6;--paper-100: #f2f0ea;--line: #e2dfd6;--line-strong: #c9c6ba;--signal-red: #c73a24;--signal-red-dim: #f3ded8;--signal-red-700: #9c2c1a;--bg-page: var(--paper-50);--bg-surface: var(--paper-0);--bg-sunken: var(--paper-100);--bg-inverse: var(--ink-900);--text-primary: var(--ink-900);--text-secondary: var(--ink-500);--text-tertiary: var(--ink-300);--text-inverse: var(--paper-0);--text-accent: var(--signal-red);--border-hairline: var(--line);--border-strong: var(--line-strong);--border-inverse: rgba(255, 255, 255, .24);--accent: var(--signal-red);--accent-dim: var(--signal-red-dim);--accent-strong: var(--signal-red-700);--display-1: italic 500 clamp(48px, 6vw, 96px)/1.02 var(--font-display);--display-2: italic 500 clamp(36px, 4.2vw, 64px)/1.05 var(--font-display);--headline: 500 clamp(28px, 3vw, 40px)/1.12 var(--font-display);--title: 600 22px/1.3 var(--font-body);--body-lg: 400 18px/1.55 var(--font-body);--body: 400 16px/1.6 var(--font-body);--body-sm: 400 14px/1.5 var(--font-body);--label: 600 13px/1.3 var(--font-body);--micro: 500 11px/1.3 var(--font-mono);--tracking-wide: .08em;--tracking-micro: .12em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-0: 0px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(13, 13, 13, .07);--shadow-md: 0 12px 32px rgba(13, 13, 13, .09);--shadow-inset: inset 0 0 0 1px var(--line);--ease-standard: cubic-bezier(.2, .7, .2, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .36s;--nav-height: 56px}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-page);color:var(--ink-900);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:var(--tracking-micro);padding:12px 22px;border:1px solid transparent;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.btn--sm{padding:8px 16px;font-size:12px}.btn--lg{padding:16px 30px;font-size:14px}.btn--primary{background:var(--ink-900);color:var(--paper-0);border-color:var(--ink-900)}.btn--primary:hover{background:var(--ink-700)}.btn--secondary{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}.btn--secondary:hover{background:var(--ink-900);color:var(--paper-0)}.btn--accent{background:var(--signal-red);color:var(--paper-0);border-color:var(--signal-red)}.btn--accent:hover{background:var(--signal-red-700)}.btn--ghost{background:transparent;color:var(--ink-900);border-color:transparent}.btn--ghost:hover{background:var(--paper-100)}.badge{display:inline-flex;align-items:center;gap:6px;font:var(--micro);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-micro);padding:4px 10px;border-radius:999px;background:var(--paper-100);color:var(--ink-700)}.badge--inverse{background:var(--ink-900);color:var(--paper-0)}.badge--accent{background:var(--signal-red-dim);color:var(--signal-red-700)}.will-reveal{opacity:0}.will-reveal--fade{transition:opacity 1.1s cubic-bezier(.4,0,.2,1) var(--reveal-delay, 0ms)}.will-reveal--fade-up{transform:translateY(22px);transition:opacity 1.1s cubic-bezier(.4,0,.2,1) var(--reveal-delay, 0ms),transform 1.1s cubic-bezier(.4,0,.2,1) var(--reveal-delay, 0ms)}.will-reveal--fade-down{transform:translateY(-22px);transition:opacity 1.1s cubic-bezier(.4,0,.2,1) var(--reveal-delay, 0ms),transform 1.1s cubic-bezier(.4,0,.2,1) var(--reveal-delay, 0ms)}.will-reveal.is-revealed{opacity:1;transform:translateY(0)}@keyframes nav-fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.nav{position:fixed;top:0;left:0;right:0;z-index:20;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:transparent;animation:nav-fade-down .7s ease-out 2.3s both}.nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to bottom,#00000059,#0000)}.nav__brand{display:flex;align-items:center}.nav__mark{display:block;height:24px;width:24px;filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(0,0,0,.4))}.nav__name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font:600 15px var(--font-body);letter-spacing:.02em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6),0 0 24px rgba(0,0,0,.4)}.nav__right{display:flex;align-items:center;gap:24px}.nav__social{display:flex;align-items:center;gap:16px}.nav__social-link{display:flex;color:#fff;filter:drop-shadow(0 2px 12px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(0,0,0,.4))}.nav__social-link svg{height:18px;width:18px}.nav__social-link:hover{color:#ffffffbf}@media (max-width: 768px){.nav{height:48px;padding:0 24px}}@media (max-width: 560px){.nav__name{display:none}}.hero-wrap{position:relative;height:100vh;overflow:hidden}.hero{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 48px;overflow:hidden}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-logo-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes hero-title-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;will-change:transform}.hero__bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease}.hero__bg-img.is-active{opacity:1}.hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#00000059}.hero__logo{position:relative;z-index:1;width:50%;height:auto;margin-bottom:20px;filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(0,0,0,.4));animation:hero-logo-in .9s ease-out .9s both}.hero__title{position:absolute;z-index:1;left:50%;bottom:var(--space-6);transform:translate(-50%);font:italic 500 clamp(12px,1.1vw,14px)/1.3 var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#ffffffe6;text-shadow:0 2px 12px rgba(0,0,0,.6),0 0 24px rgba(0,0,0,.4);margin:0;text-align:center;white-space:nowrap;animation:hero-title-in .8s ease-out 1.6s both}@media (max-width: 900px){.hero{padding:48px 24px}.hero__logo{width:66.667%}.hero__title{bottom:var(--space-5)}}@media (max-width: 560px){.hero__logo{width:100%}}.contact{position:relative;z-index:1;background:var(--bg-sunken)}.contact__body{padding:120px 10vw 100px;display:flex;flex-direction:column;gap:var(--space-8)}.contact__tagline{font:italic 300 clamp(32px,5vw,72px)/1.18 var(--font-display);color:var(--ink-900);letter-spacing:-.02em;margin:0;max-width:720px}.contact__tagline b{font-weight:600}.contact__details{display:flex;flex-direction:column;gap:4px}.contact__link{font:var(--body);color:var(--ink-900);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#0000004d;transition:opacity .25s ease}.contact__link:hover{opacity:.6}.contact__item{font:var(--body);color:var(--ink-500)}.contact__social{display:inline-flex;align-items:center;gap:10px;font:var(--label);letter-spacing:.28em;text-transform:uppercase;color:var(--signal-red);text-decoration:none;transition:color .25s ease;width:fit-content}.contact__social:hover{color:var(--signal-red-700)}.contact__social svg{width:18px;height:18px;flex-shrink:0}@media (max-width: 768px){.contact__body{padding:80px 8vw 72px;gap:var(--space-6)}.contact__tagline{font-size:clamp(28px,8vw,44px)}}.footer{position:relative;z-index:1;background:var(--bg-sunken);color:var(--ink-900);padding:40px 48px}.footer__bottom{display:flex;justify-content:space-between;align-items:center;font:var(--body-sm);color:var(--ink-500);border-top:1px solid var(--ink-150);padding-top:24px;flex-wrap:wrap;gap:16px}.footer__meta{display:flex;gap:8px;flex-wrap:wrap}.footer__socials{display:flex;align-items:center;gap:12px}.footer__social-link{display:flex;align-items:center;color:var(--ink-500);transition:color .2s ease}.footer__social-link:hover{color:var(--ink-900)}.footer__social-link svg{width:16px;height:16px}@media (max-width: 768px){.footer{padding:32px 24px}.footer__socials{gap:10px}}.booking{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s ease}.booking--open{visibility:visible;opacity:1}.booking__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d0d0d80}.booking__panel{position:relative;background:var(--paper-0);width:min(420px,calc(100vw - 32px));padding:32px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform:translateY(8px);transition:transform .2s ease}.booking--open .booking__panel{transform:translateY(0)}.booking__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.booking__title{font:var(--headline);color:var(--ink-900)}.booking__close{background:none;border:none;font-size:16px;color:var(--text-secondary)}.booking__form{display:flex;flex-direction:column;gap:16px}.booking__field{display:flex;flex-direction:column;gap:6px;font:var(--label);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary)}.booking__field input,.booking__field select{font:var(--body);text-transform:none;letter-spacing:normal;color:var(--ink-900);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:14px 16px;background:var(--paper-0)}.booking__field input:focus,.booking__field select:focus{outline:none;border-color:var(--ink-900)}.booking__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}
