@font-face{font-family: 'DM Sans';font-style: normal;font-weight: 400;font-display: swap;src: url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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: 500;font-display: swap;src: url('fonts/dm-sans-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Instrument Serif';font-style: italic;font-weight: 400;font-display: swap;src: url('fonts/instrument-serif-italic-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--dc-cyan: #50C9D2;--dc-teal: #1A8CB5;--dc-blue: #005A8C;--dc-navy: #00477A;--gradient-hero: linear-gradient(160deg,#001E3C 0%,#00477A 40%,#005A8C 70%,#1A8CB5 100%);--white: #FFFFFF;--font-display: 'Instrument Serif',Georgia,serif;--font-body: 'DM Sans',system-ui,sans-serif}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}body{font-family: var(--font-body);background: var(--gradient-hero);min-height: 100vh;min-height: 100dvh;color: var(--white);-webkit-font-smoothing: antialiased}.landing{display: flex;align-items: center;justify-content: center;min-height: 100vh;min-height: 100dvh;padding: 2rem}.landing-card{text-align: center;max-width: 480px;width: 100%}.landing-logo{display: block;margin: 0 auto 2rem;width: clamp(210px,55vw,280px);height: auto}.landing-tagline{font-family: var(--font-display);font-style: italic;font-size: clamp(1.25rem,3vw,1.75rem);color: var(--dc-cyan);margin-bottom: 0.5rem;letter-spacing: 0.02em}.landing-sub{font-size: clamp(0.8rem,1.8vw,0.95rem);color: rgba(255,255,255,0.7);margin-bottom: 2.5rem;letter-spacing: 0.04em}.landing-nav{display: flex;flex-direction: column;gap: 1rem;margin-bottom: 2.5rem}.landing-btn{display: block;padding: 1.25rem 1.5rem;border: 1px solid rgba(255,255,255,0.15);border-radius: 12px;background: rgba(255,255,255,0.06);color: var(--white);text-decoration: none;transition: background 0.2s,border-color 0.2s}.landing-btn:hover,.landing-btn:focus-visible{background: rgba(255,255,255,0.12);border-color: var(--dc-cyan)}.landing-btn:focus-visible{outline: 2px solid var(--dc-cyan);outline-offset: 2px}.landing-btn-label{display: block;font-size: 1.125rem;font-weight: 500;margin-bottom: 0.2rem}.landing-btn-desc{display: block;font-size: 0.85rem;color: rgba(255,255,255,0.7)}.landing-contact{font-style: normal;font-size: 0.85rem;color: rgba(255,255,255,0.55)}.landing-contact a{color: rgba(255,255,255,0.7);text-decoration: none;transition: color 0.2s}.landing-contact a:hover{color: var(--dc-cyan)}.landing-sep{margin: 0 0.5rem}.cookie-banner{position: fixed;bottom: 1.5rem;left: 50%;transform: translateX(-50%);background: #0E1920;color: rgba(255,255,255,0.8);padding: 1rem 1.5rem;border-radius: 12px;border: 1px solid rgba(255,255,255,0.1);display: flex;align-items: center;gap: 1.25rem;max-width: 680px;width: 90%;z-index: 9999;box-shadow: 0 12px 40px rgba(0,0,0,0.5);animation: slideUp 0.4s ease;font-size: 0.85rem}.cookie-banner.hidden{display: none}.cookie-banner p{margin: 0;flex: 1;line-height: 1.4}.cookie-banner a{color: var(--dc-cyan);text-decoration: underline}.cookie-actions{display: flex;gap: 0.5rem;flex-shrink: 0}.cookie-btn{padding: 0.5rem 0.9rem;border-radius: 8px;border: none;font-family: inherit;font-size: 0.8rem;font-weight: 500;cursor: pointer;transition: background 0.2s,color 0.2s}.cookie-accept{background: var(--dc-teal);color: var(--white)}.cookie-accept:hover,.cookie-accept:focus-visible{background: var(--dc-cyan);outline: none}.cookie-decline{background: rgba(255,255,255,0.08);color: rgba(255,255,255,0.7)}.cookie-decline:hover,.cookie-decline:focus-visible{background: rgba(255,255,255,0.15);color: var(--white);outline: none}@keyframes slideUp{from{opacity: 0;transform: translate(-50%,20px)}to{opacity: 1;transform: translate(-50%,0)}}@media (max-width: 640px){.cookie-banner{flex-direction: column;gap: 0.75rem;bottom: 0.75rem;padding: 0.9rem 1.25rem}.cookie-actions{width: 100%;justify-content: center}}@media (max-width: 479px){.landing{padding-top: 1rem}}@media (min-width: 480px){.landing-nav{flex-direction: row;justify-content: center}.landing-btn{flex: 1;max-width: 220px}}