:root{--bg:#f2eee8;--header-footer:#e6dfd6;--card:#e0d7cc;--brand:#d62828;--fg:#3e3a36;--muted:#7a6f67;--radius:14px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);flex-direction:column;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;display:flex}main{flex:1}a{color:var(--brand);text-decoration:none}a:hover,a:focus{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 20px}.site-header{z-index:50;background:var(--header-footer);border-bottom:1px solid #0001;position:sticky;top:0;box-shadow:0 2px 4px #0001}.header-bar{align-items:center;gap:16px;padding:12px 0;display:flex}.brand-logo img{width:auto;height:60px;display:block}.nav{margin-left:auto}.nav ul{flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:0;list-style:none;display:flex}.nav li{position:relative}.nav a{color:var(--fg);padding:10px 12px;display:inline-block}.nav a:hover:after,.nav a:focus:after{content:"";background:var(--brand);border-radius:3px;height:3px;margin-top:6px;display:block}.has-sub>a .caret{opacity:.8;margin-left:6px;font-size:.9em}.has-sub .sub{min-width:220px;color:var(--fg);z-index:1000;background:#fffdf8;border-radius:6px;padding:8px 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000001a}.has-sub .sub a{color:var(--fg);padding:10px 16px;display:block}.has-sub .sub a:hover{background:#0000000a}.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}.nav-toggle{cursor:pointer;background:0 0;border:0;margin-left:auto;padding:8px;display:none}.nav-toggle span{background:var(--fg);width:24px;height:2px;margin:5px 0;transition:transform .2s,opacity .2s;display:block}.nav-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-overlay{z-index:9999;background:var(--header-footer);color:var(--fg);opacity:0;pointer-events:none;padding:max(16px, env(safe-area-inset-top)) 20px 24px;flex-direction:column;gap:16px;transition:transform .28s,opacity .28s;display:flex;position:fixed;inset:0;overflow:auto;transform:translateY(-100%)}.mobile-overlay.open{opacity:1;pointer-events:auto;transform:translateY(0)}.overlay-close{top:max(8px, env(safe-area-inset-top));color:var(--fg);cursor:pointer;background:0 0;border:0;padding:6px;font-size:32px;line-height:1;position:absolute;right:12px}.mobile-overlay ul{margin:48px 0 0;padding:0;list-style:none}.mobile-overlay>ul>li{margin:10px 0}.mobile-overlay a{color:var(--fg);font-size:1.6rem;font-weight:700;text-decoration:none}.mobile-overlay .overlay-sub{margin:8px 0 0 16px}.mobile-overlay .overlay-sub a{opacity:.9;font-size:1.2rem;font-weight:600}body.no-scroll{width:100%;position:fixed;overflow:hidden}@media (prefers-reduced-motion:reduce){.nav-toggle span,.mobile-overlay{transition:none}}@media (max-width:850px){.brand-logo img{height:48px}.desktop-nav{display:none}.nav-toggle{display:inline-block}}.section{padding:40px 0}.section h1,.section h2{margin:0 0 14px}.button{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:600;display:inline-block}.button.ghost{color:var(--brand);border:1px solid var(--brand);background:0 0}.card{background:var(--card);border-radius:var(--radius);border:1px solid #0001;padding:18px}.rounded{border-radius:var(--radius);border:1px solid #0001;width:100%}.site-footer{background:var(--header-footer);border-top:1px solid #0001;margin-top:auto;padding:28px 0}.footer-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}.legal{text-align:center;color:#666;font-size:.8rem}.event-iso{display:none!important}.spacer{height:30px}
