@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/cormorant-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/cormorant-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/dmsans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--black:#111110;--dark:#1a1a17;--mid:#242420;--stone:#6b6866;--cream:#e8e6e0;--white:#f2f0eb;--lime:#c8d400;--lime-dark:#a4af00;--border:#2e2e2a;--border-light:#3a3a35;--border-dark:#252521;--display:"Cormorant Garamond", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--hero:clamp(3rem, 7vw, 6rem);--h1:clamp(2rem, 4vw, 3.5rem);--h2:clamp(1.5rem, 3vw, 2.25rem);--h3:clamp(1.125rem, 2vw, 1.5rem);--xs:.5rem;--sm:1rem;--md:1.5rem;--lg:2.5rem;--xl:4rem;--2xl:6rem;--3xl:10rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--sans);color:var(--cream);background:var(--black);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.7}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul[role=list]{list-style:none}.container{max-width:1200px;padding:0 var(--lg);margin:0 auto}.eyebrow{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-size:.7rem;font-weight:500}.btn{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:.9rem 2rem;font-size:.72rem;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-block}.btn--primary{background:var(--lime);color:var(--black);border:1px solid var(--lime)}.btn--primary:hover{background:var(--lime-dark);border-color:var(--lime-dark)}.btn--ghost{color:var(--cream);background:0 0;border:1px solid #e8e6e040}.btn--ghost:hover{border-color:#e8e6e099}.nav{z-index:100;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,backdrop-filter .3s;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border);background:#111110eb}.nav__inner{justify-content:space-between;align-items:center;height:72px;display:flex}.nav__logo{flex-shrink:0;align-items:center;display:flex}.nav__logo-img{width:auto;height:52px;display:block}.nav__links{align-items:center;gap:var(--lg);display:flex}.nav__link{letter-spacing:.04em;color:#f5f3eeb3;font-size:.8rem;font-weight:400;transition:color .2s}.nav__link:hover{color:var(--cream)}.nav__book{color:var(--lime);border:1px solid #c8d40059;border-radius:3px;padding:.45rem 1.1rem;transition:border-color .2s,color .2s}.nav__book:hover{border-color:var(--lime);color:var(--lime)}.hamburger{flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--cream);width:22px;height:1.5px;display:block}.mobile-nav{background:var(--black);z-index:200;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.mobile-nav--open{opacity:1;pointer-events:all}.mobile-nav__close{color:var(--stone);padding:.5rem;font-size:1.1rem;transition:color .2s;position:absolute;top:1.5rem;right:1.5rem}.mobile-nav__close:hover{color:var(--cream)}.mobile-nav__links{align-items:center;gap:var(--xl);flex-direction:column;display:flex}.mobile-nav__links a{font-family:var(--display);color:var(--cream);letter-spacing:.04em;font-size:2.75rem;font-weight:300;transition:color .2s}.mobile-nav__links a:hover{color:var(--lime)}.footer{background:var(--black);border-top:1px solid var(--border-dark);padding:var(--2xl) 0 var(--xl)}.footer__grid{gap:var(--2xl);grid-template-columns:2fr 1fr 2fr;align-items:start;display:grid}.footer__logo{margin-bottom:var(--sm);display:inline-block}.footer__logo-img{width:auto;height:48px;display:block}.footer__tagline{color:#f5f3ee73;letter-spacing:.05em;font-size:.75rem}.footer__nav{gap:var(--md);flex-direction:column;display:flex}.footer__nav a{color:#f5f3ee8c;font-size:.82rem;transition:color .2s}.footer__nav a:hover{color:var(--cream)}.footer__contact{gap:var(--md);flex-direction:column;align-items:flex-end;display:flex}.footer__email{color:var(--lime);font-size:.82rem;transition:color .2s}.footer__email:hover{color:var(--cream)}.footer__social{gap:var(--md);flex-wrap:wrap;justify-content:flex-end;display:flex}.footer__social a{text-transform:uppercase;letter-spacing:.08em;color:#f5f3ee73;font-size:.7rem;transition:color .2s}.footer__social a:hover{color:var(--cream)}.footer__copy{color:#f5f3ee40;letter-spacing:.05em;border-top:1px solid var(--border-dark);padding-top:var(--lg);margin-top:var(--lg);grid-column:1/-1;font-size:.68rem}@media (width<=768px){.container{padding:0 var(--sm)}.nav__links{display:none}.hamburger{display:flex}.footer__grid{gap:var(--xl);grid-template-columns:1fr}.footer__contact{align-items:flex-start}.footer__social{justify-content:flex-start}}@media (pointer:fine){.cursor__glow{pointer-events:none;z-index:9998;will-change:transform;background:radial-gradient(circle,#c8d40012 0%,#c8d40005 40%,#0000 70%);border-radius:50%;width:480px;height:480px;margin:-240px 0 0 -240px;transition:width .6s,height .6s,margin .6s,opacity .4s;position:fixed;top:0;left:0}.cursor__glow--hover{background:radial-gradient(circle,#c8d4001a 0%,#c8d40008 40%,#0000 70%);width:700px;height:700px;margin:-350px 0 0 -350px}.cursor__glow--hidden{opacity:0}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transition-delay:var(--reveal-delay,0s);transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}
