:root{--color-brand:#1a3668;--color-brand-hover:#0f2347;--color-brand-soft:#d6dee9;--color-brand-bg:#eef2f7;--color-success:#059669;--color-success-dark:#047857;--color-success-bg:#ecfdf5;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-error:#cc3333;--color-error-bg:#fef2f2;--color-text:#1f2937;--color-text-body:#333333;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--color-bg:#fafafa;--color-bg-alt:#f5f5f5;--color-bg-soft:#f8f9fa;--color-card:#ffffff;--color-border:#e5e7eb;--color-border-strong:#dee2e6;--color-border-soft:#f0f0f0;--shadow-sm:0 1px 2px rgba(17,24,39,.04),0 1px 2px rgba(17,24,39,.02);--shadow-md:0 4px 16px -2px rgba(17,24,39,.06),0 2px 6px -1px rgba(17,24,39,.04);--shadow-lg:0 20px 40px -12px rgba(17,24,39,.10),0 8px 16px -4px rgba(17,24,39,.05);--shadow-modal:0 40px 80px -20px rgba(17,24,39,.28),0 16px 32px -8px rgba(17,24,39,.10);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-body);background:var(--color-bg);min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto;width:100%}.container{width:100%;max-width:1240px;margin:0 auto;padding:24px 32px 64px;display:flex;flex-direction:column;gap:20px}@media (max-width:640px){.container{padding:16px 20px 48px;gap:16px}}.site-footer{border-top:1px solid var(--color-border);padding:52px 0 60px;margin-top:32px}.site-footer__inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:0 32px}.site-footer__left{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.site-footer__brand{display:inline-flex;align-items:center;color:var(--color-brand)}.site-footer__link,.site-footer__tag{font-size:12px;color:var(--color-text-muted)}.site-footer__cta{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-size:14px;font-weight:500;text-decoration:none;padding:10px 20px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card);transition:all .22s}.site-footer__cta:hover{background:var(--color-text);color:#fff;border-color:var(--color-text);gap:14px}.site-footer__cta svg{transition:transform .22s}.site-footer__cta:hover svg{transform:translateX(3px)}@media (max-width:640px){.site-footer__inner{padding:0 20px}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);background:rgba(250,250,250,.82);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1240px;margin:0 auto;padding:0 32px}.site-header__brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-brand);height:30px}.site-header__brand:hover{color:var(--color-brand-hover)}.site-header__right{display:flex;align-items:center;gap:10px}.site-header__venues{color:var(--color-text);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}.site-header__venues:hover{text-decoration:underline}.site-header__lang-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;padding:2px;background:var(--color-card)}.site-header__lang-button{border:0;background:transparent;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--color-text-muted);cursor:pointer;border-radius:999px;text-transform:uppercase;transition:all .15s}.site-header__lang-button.is-active{background:var(--color-text);color:#fff}.site-header__login{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s}.site-header__login:hover{background:var(--color-text);color:#fff;border-color:var(--color-text)}@media (max-width:640px){.site-header__inner{padding:0 16px;gap:8px}.site-header__venues{display:none}.site-header__brand{flex:none}.site-header__right{gap:6px;min-width:0}.site-header__lang-switch{flex:none}.site-header__lang-button{padding:5px 9px}.site-header__login{min-width:0;padding:8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media (max-width:400px){.site-header__login svg{display:none}.site-header__brand svg{height:24px;width:auto}}.client-auth-button{padding:8px 16px;background-color:#007cba;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.client-auth-button:hover{background-color:#005a87}.client-auth-button:focus-visible{outline:2px solid #007cba;outline-offset:2px}.auth-dialog__backdrop{position:fixed;inset:0;background:rgba(15,18,22,.45);display:flex;align-items:center;justify-content:center;z-index:1000}.auth-dialog{background:#fff;border-radius:16px;padding:24px;width:min(420px,92vw);box-shadow:0 24px 60px rgba(0,0,0,.25);outline:none}.auth-dialog__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.auth-dialog__head h2{margin:0;font-family:Fraunces,serif;font-size:1.4rem}.auth-dialog__close{background:transparent;border:0;font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 8px}.auth-dialog__intro{margin:0 0 14px;color:#4a5563;font-size:.95rem}.auth-dialog__field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;margin-bottom:12px}.auth-dialog__field input{border:1px solid #d8dbe2;border-radius:8px;padding:10px;font-size:1rem}.auth-dialog__error{background:#fff2f0;border:1px solid #ffccc7;color:#9a0e0e;padding:8px 10px;border-radius:8px;font-size:.9rem;margin-bottom:8px}.auth-dialog__submit{width:100%;background:#2a6f4f;color:#fff;border:0;border-radius:10px;padding:12px;font-weight:600;cursor:pointer}.auth-dialog__submit:disabled{opacity:.6;cursor:not-allowed}.auth-dialog__back{width:100%;background:transparent;border:0;color:#4a5563;text-decoration:underline;font-size:.9rem;margin-top:8px;cursor:pointer}.auth-dialog__privacy{margin:16px 0 0;text-align:center;font-size:.85rem}.auth-dialog__privacy a{color:var(--color-text-muted);text-decoration:underline}