*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.no-transition *{transition:none!important}:root{--color-bg: #0e0c0a;--color-surface: #161310;--color-burgundy: #7a1f2e;--color-burgundy-light: #9e2a3d;--color-gold: #c9a96e;--color-gold-light: #e0c48c;--color-cream: #f5f0e8;--color-muted: #8a7e72;--color-border: rgba(201,169,110,.2);--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", system-ui, sans-serif;--max-width: 1200px;--banner-h: 36px;--header-bar-h: 80px;--header-h: calc(var(--header-bar-h) + var(--banner-h));--color-card-hover: #161210;--color-card-featured: #120e0c;--color-card-featured-outline: rgba(201,169,110,.35);--color-slot-selected-bg: rgba(201,169,110,.08);--color-slot-hover-border: rgba(201,169,110,.5);--form-color-scheme: dark;--color-surface-alpha: rgba(14,12,10,.5);--logo-invert: 1;--color-header-scrolled: rgba(14,12,10,.92);--color-nav-mobile-bg: rgba(14,12,10,.97)}[data-theme=light]{--color-bg: #f9f6f1;--color-surface: #f0ebe2;--color-cream: #1a1614;--color-muted: #7a6e63;--color-border: rgba(139,96,32,.2);--color-gold: #8b6020;--color-gold-light: #b08030;--color-card-hover: #e4ddd3;--color-card-featured: #ebe4d8;--color-card-featured-outline: rgba(139,96,32,.4);--color-slot-selected-bg: rgba(139,96,32,.1);--color-slot-hover-border: rgba(139,96,32,.45);--form-color-scheme: light;--color-surface-alpha: rgba(240,235,226,.7);--logo-invert: 0;--color-header-scrolled: rgba(249,246,241,.95);--color-nav-mobile-bg: rgba(249,246,241,.98)}[data-theme=light] .hero-content,[data-theme=light] .cta-content,[data-theme=light] .process-content{--color-cream: #f5f0e8;--color-muted: rgba(245,240,232,.8);--color-gold: #c9a96e;--color-border: rgba(201,169,110,.25)}.visit-cta:has(.visit-cta-bg) .cta-inner{--color-cream: #f5f0e8;--color-muted: rgba(245, 240, 232, .88);--color-gold: #c9a96e}.visit-cta:has(.visit-cta-bg) .cta-inner p{color:#f5f0e8e0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-cream);font-family:var(--font-sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.2}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,box-shadow .4s;--header-link-color: rgba(245,240,232,.75);--header-link-hover-color: rgba(245,240,232,1);--header-gold: #c9a96e;--header-logo-invert: 1}[data-theme=light] .site-header.scrolled{--header-link-color: rgba(26,22,20,.72);--header-link-hover-color: rgba(26,22,20,1);--header-gold: #8b6020;--header-logo-invert: 0}.event-banner{background:var(--color-surface);border-bottom:1px solid var(--color-border);text-align:center;transition:background .4s,border-color .4s}[data-theme=light] .event-banner{--header-link-color: rgba(26,22,20,.72);--header-link-hover-color: rgba(26,22,20,1);--header-gold: #8b6020}.event-banner-link{display:block;padding:.55rem 2rem;font-size:.72rem;letter-spacing:.08em;line-height:1.35;color:var(--header-link-color);transition:color .2s}.event-banner-link:hover{color:var(--header-link-hover-color)}.event-banner-cta{color:var(--header-gold);text-decoration:underline;text-underline-offset:3px}.site-header.scrolled{background:var(--color-header-scrolled);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:0 2rem;height:var(--header-bar-h)}.logo{height:50px;width:auto;object-fit:contain;filter:invert(var(--header-logo-invert))}.logo-link{flex-shrink:0}.header-controls{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.site-nav{display:flex;align-items:center;gap:2rem}.nav-link{font-family:var(--font-sans);font-size:.8rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--header-link-color);transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--header-gold)}.nav-cta{padding:.5rem 1.4rem;border:1px solid var(--header-gold);color:var(--header-gold);border-radius:2px;transition:background .2s,color .2s}.nav-cta:hover,.nav-cta.active{background:var(--header-gold);color:var(--color-bg)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid rgba(245,240,232,.25);border-radius:2px;cursor:pointer;color:var(--header-link-color);transition:color .2s,border-color .2s;flex-shrink:0}.theme-toggle:hover{color:var(--header-gold);border-color:var(--header-gold)}[data-theme=light] .site-header.scrolled .theme-toggle{border-color:var(--color-border)}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}.nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:0;color:var(--header-link-color)}.nav-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .3s,opacity .3s}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.theme-toggle:focus,.nav-toggle:focus{outline:none}.theme-toggle:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--header-gold);outline-offset:2px}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:8rem}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:var(--max-width);margin:0 auto;padding:5rem 2rem 3rem}.footer-logo{height:45px;width:auto;margin-bottom:1.2rem;filter:invert(var(--logo-invert));opacity:.6}.footer-tagline{color:var(--color-muted);font-size:.9rem;line-height:1.8}.footer-nav,.footer-contact{display:flex;flex-direction:column;gap:.6rem}.footer-nav h4,.footer-contact h4{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem}.footer-nav a,.footer-contact a,.footer-contact p{font-size:.9rem;color:var(--color-muted);transition:color .2s;line-height:1.6}.footer-nav a:hover,.footer-contact a:hover{color:var(--color-cream)}.footer-nav a.active{color:var(--color-gold)}.footer-cert{display:flex;align-items:flex-start;justify-content:flex-end}.cert-logo{height:60px;width:auto;opacity:.7}.footer-bottom{border-top:1px solid var(--color-border);text-align:center;padding:1.5rem 2rem}.footer-bottom p{font-size:.8rem;color:var(--color-muted);letter-spacing:.05em}.section-label{display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem}.divider{width:40px;height:1px;background:var(--color-gold);margin:1.5rem 0}@media(max-width:900px){.header-inner{height:var(--header-bar-h);padding:0 1.25rem}.logo{height:42px}.header-controls{position:relative;z-index:110}.nav-toggle{display:flex}.site-header.nav-open,.site-header.scrolled{background:var(--color-nav-mobile-bg)}.site-header,.site-header.scrolled,.site-header.nav-open{backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.nav-open{box-shadow:0 1px 0 var(--color-border)}[data-theme=light] .site-header.nav-open{--header-link-color: rgba(26,22,20,.72);--header-link-hover-color: rgba(26,22,20,1);--header-gold: #8b6020;--header-logo-invert: 0}body.nav-open{overflow:hidden}.site-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;height:calc(100dvh - var(--header-h));z-index:99;background:var(--color-nav-mobile-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 2rem;overflow-y:auto;--header-link-color: var(--color-cream);--header-gold: var(--color-gold)}.site-nav.open{display:flex}.nav-link{padding:.9rem 1.25rem;font-size:.85rem;width:100%;text-align:center}.nav-cta{margin:.75rem 1.25rem 0;width:auto;text-align:center}.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1 / -1}.footer-cert{justify-content:flex-start}}@media(max-width:580px){.footer-inner{grid-template-columns:1fr}.footer-cert{justify-content:flex-start}}
