:root {
    --color-ice: #f2faff;
    --color-soft: #d6eeff;
    --color-sky: #9fd6ff;
    --color-accent: #4f9fff;
    --color-deep: #0a2a4a;
    --font-sans: "DM Sans", system-ui, sans-serif;
    --font-display: "Outfit", system-ui, sans-serif;
    --space-xs: clamp(0.5rem, 0.4rem + 0.35vw, 0.75rem);
    --space-sm: clamp(0.75rem, 0.65rem + 0.45vw, 1rem);
    --space-md: clamp(1rem, 0.85rem + 0.65vw, 1.5rem);
    --space-lg: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
    --space-xl: clamp(2rem, 1.6rem + 1.8vw, 3.5rem);
    --space-2xl: clamp(3rem, 2.5rem + 3vw, 5rem);
    --radius-sm: 0.5rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --radius-xl: 2rem;
    --shadow-soft: 0 8px 32px rgba(10, 42, 74, 0.08);
    --shadow-lift: 0 12px 40px rgba(79, 159, 255, 0.18);
    --shadow-glass: 0 4px 24px rgba(10, 42, 74, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    --transition-fast: 160ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-smooth: 380ms cubic-bezier(0.22, 1, 0.36, 1);
    --text-fluid-sm: clamp(0.875rem, 0.82rem + 0.2vw, 0.95rem);
    --text-fluid-base: clamp(1rem, 0.92rem + 0.35vw, 1.125rem);
    --text-fluid-lg: clamp(1.125rem, 1rem + 0.55vw, 1.35rem);
    --text-fluid-xl: clamp(1.35rem, 1.15rem + 0.9vw, 1.75rem);
    --text-fluid-hero: clamp(2rem, 1.45rem + 2.2vw, 3.35rem);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-fluid-base);
    line-height: 1.65;
    color: var(--color-deep);
    background-color: var(--color-ice);
    background-image:
        radial-gradient(ellipse 120% 80% at 100% -20%, rgba(159, 214, 255, 0.45), transparent 55%),
        radial-gradient(ellipse 90% 60% at -10% 90%, rgba(214, 238, 255, 0.55), transparent 50%);
    min-height: 100vh;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--color-accent);
    text-underline-offset: 3px;
    transition: color var(--transition-fast), opacity var(--transition-fast);
}

a:hover {
    color: var(--color-deep);
}

:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999;
    padding: var(--space-sm) var(--space-md);
    background: var(--color-deep);
    color: var(--color-ice);
    border-radius: var(--radius-sm);
}

.skip-link:focus {
    left: var(--space-md);
    top: var(--space-md);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.font-display {
    font-family: var(--font-display);
}

.font-sans {
    font-family: var(--font-sans);
}

.text-fluid-sm {
    font-size: var(--text-fluid-sm);
}

.text-fluid-base {
    font-size: var(--text-fluid-base);
}

.text-fluid-lg {
    font-size: var(--text-fluid-lg);
}

.text-fluid-xl {
    font-size: var(--text-fluid-xl);
}

.text-fluid-hero {
    font-size: var(--text-fluid-hero);
}

.text-deep {
    color: var(--color-deep);
}

.text-accent {
    color: var(--color-accent);
}

.text-ice {
    color: var(--color-ice);
}

.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.surface-gradient {
    background: linear-gradient(135deg, var(--color-soft) 0%, var(--color-ice) 48%, rgba(159, 214, 255, 0.35) 100%);
}

.glass-panel {
    background: rgba(242, 250, 255, 0.65);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(159, 214, 255, 0.55);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-glass);
}

.shadow-soft {
    box-shadow: var(--shadow-soft);
}

.shadow-lift {
    box-shadow: var(--shadow-lift);
}

.neu-soft {
    background: linear-gradient(145deg, var(--color-ice), var(--color-soft));
    box-shadow:
        6px 6px 14px rgba(10, 42, 74, 0.06),
        -4px -4px 12px rgba(255, 255, 255, 0.85);
    border-radius: var(--radius-md);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 1.35rem;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: var(--text-fluid-sm);
    border-radius: var(--radius-md);
    border: none;
    cursor: pointer;
    transition:
        transform var(--transition-fast),
        box-shadow var(--transition-fast),
        background var(--transition-fast);
}

.btn--primary {
    background: linear-gradient(135deg, var(--color-accent), #3d87e8);
    color: #fff;
    box-shadow: var(--shadow-lift);
}

.btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 44px rgba(79, 159, 255, 0.35);
}

.btn--ghost {
    background: rgba(242, 250, 255, 0.85);
    color: var(--color-deep);
    border: 1px solid rgba(79, 159, 255, 0.35);
}

.btn--ghost:hover {
    background: var(--color-soft);
}

.btn--small {
    padding: 0.45rem 0.95rem;
    font-size: 0.8rem;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    transition:
        background var(--transition-smooth),
        box-shadow var(--transition-smooth);
}

.site-header.is-scrolled {
    background: rgba(242, 250, 255, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: var(--shadow-soft);
}

.logo-mark {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: var(--text-fluid-lg);
    letter-spacing: -0.03em;
    color: var(--color-deep);
    text-decoration: none;
}

.nav-link {
    position: relative;
    font-weight: 500;
    color: var(--color-deep);
    text-decoration: none;
    padding: 0.35rem 0;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--color-accent), var(--color-sky));
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--transition-smooth);
}

.nav-link:hover::after,
.nav-link[aria-current="page"]::after {
    transform: scaleX(1);
    transform-origin: left;
}

.hero-grid {
    display: grid;
    gap: var(--space-xl);
}

@media (min-width: 960px) {
    .hero-grid {
        grid-template-columns: 1.15fr 0.85fr;
        align-items: stretch;
        min-height: min(78vh, 640px);
    }
}

.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.stagger-1 {
    transition-delay: 80ms;
}

.stagger-2 {
    transition-delay: 140ms;
}

.stagger-3 {
    transition-delay: 200ms;
}

.card-rise {
    transition:
        transform var(--transition-smooth),
        box-shadow var(--transition-smooth);
}

.card-rise:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lift);
}

.split-diagonal {
    position: relative;
    clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
}

.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: var(--space-md);
    transform: translateY(110%);
    transition: transform var(--transition-smooth);
}

.cookie-banner.is-open {
    transform: translateY(0);
}

.cookie-panel {
    max-width: 960px;
    margin: 0 auto;
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
}

.cookie-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-md);
}

.cookie-settings {
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid rgba(10, 42, 74, 0.08);
}

.cookie-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) 0;
}

.switch {
    position: relative;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch-slider {
    position: absolute;
    inset: 0;
    background: rgba(10, 42, 74, 0.18);
    border-radius: 999px;
    transition: background var(--transition-fast);
    cursor: pointer;
}

.switch-slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform var(--transition-smooth);
    box-shadow: 0 2px 6px rgba(10, 42, 74, 0.15);
}

.switch input:checked+.switch-slider {
    background: linear-gradient(135deg, var(--color-accent), #3d87e8);
}

.switch input:checked+.switch-slider::before {
    transform: translateX(20px);
}

.switch input:disabled+.switch-slider {
    opacity: 0.55;
    cursor: not-allowed;
}

.form-field {
    margin-bottom: var(--space-md);
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: var(--space-xs);
    font-size: var(--text-fluid-sm);
}

.form-input,
.form-textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    font-family: inherit;
    font-size: var(--text-fluid-base);
    border-radius: var(--radius-md);
    border: 1px solid rgba(10, 42, 74, 0.14);
    background: rgba(255, 255, 255, 0.85);
    transition:
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

.form-input:focus,
.form-textarea:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(79, 159, 255, 0.2);
    outline: none;
}

.form-error {
    display: none;
    margin-top: var(--space-xs);
    font-size: 0.8rem;
    color: #c41e3a;
}

.form-field.has-error .form-error {
    display: block;
}

.form-field.has-error .form-input,
.form-field.has-error .form-textarea {
    border-color: #c41e3a;
}

.checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
}

.checkbox-row input {
    margin-top: 0.35rem;
}

.policy-prose {
    max-width: 68ch;
}

.policy-prose h2 {
    font-family: var(--font-display);
    margin-top: var(--space-xl);
    font-size: var(--text-fluid-lg);
}

.policy-prose p,
.policy-prose ul {
    margin-bottom: var(--space-md);
}

.policy-prose ul {
    padding-left: 1.25rem;
}

.footer-grid {
    display: grid;
    gap: var(--space-lg);
}

@media (min-width: 720px) {
    .footer-grid {
        grid-template-columns: 1.4fr 1fr 1fr;
    }
}

.nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 48;
    background: rgba(10, 42, 74, 0.42);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity var(--transition-smooth);
    pointer-events: none;
}

.nav-backdrop.is-visible {
    display: block;
    opacity: 1;
    pointer-events: auto;
}

body.nav-is-open {
    overflow: hidden;
}

.burger {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: var(--radius-md);
    background: rgba(159, 214, 255, 0.22);
    cursor: pointer;
    transition:
        background var(--transition-fast),
        transform var(--transition-fast);
}

.burger:hover {
    background: rgba(79, 159, 255, 0.28);
}

.burger:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.burger__line {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: var(--color-deep);
    transition:
        transform var(--transition-smooth),
        opacity var(--transition-fast),
        width var(--transition-fast);
    transform-origin: center;
}

.burger.is-active .burger__line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.burger.is-active .burger__line:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.burger.is-active .burger__line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

@media (min-width: 880px) {
    .burger {
        display: none;
    }

    .site-nav {
        display: flex !important;
        position: static !important;
        flex-direction: row !important;
        gap: var(--space-lg);
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }
}

@media (max-width: 879px) {
    .site-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 52;
        flex-direction: column;
        gap: var(--space-md);
        padding: var(--space-lg);
        margin: 0;
        background: rgba(242, 250, 255, 0.97);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        border-bottom: 1px solid rgba(159, 214, 255, 0.45);
        box-shadow: 0 18px 48px rgba(10, 42, 74, 0.14);
    }

    .site-nav.is-open {
        display: flex;
        animation: nav-slide 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .site-header__inner {
        position: relative;
        z-index: 53;
    }
}

@keyframes nav-slide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.legal-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(2rem, 6vw, 4rem) 0 clamp(2.25rem, 5vw, 3.5rem);
    color: var(--color-ice);
}

.legal-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 90% 70% at 100% 0%, rgba(159, 214, 255, 0.45), transparent 52%),
        radial-gradient(ellipse 70% 50% at 0% 100%, rgba(79, 159, 255, 0.35), transparent 48%);
    pointer-events: none;
}

.legal-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--space-xl);
    align-items: stretch;
}

@media (min-width: 900px) {
    .legal-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
        gap: var(--space-2xl);
    }
}

.legal-hero__label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.75rem;
    margin-bottom: var(--space-md);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(242, 250, 255, 0.88);
    background: rgba(242, 250, 255, 0.12);
    border: 1px solid rgba(242, 250, 255, 0.22);
    border-radius: 999px;
}

.legal-hero__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.65rem, 1.1rem + 2.4vw, 2.85rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.legal-hero__lead {
    margin-top: var(--space-md);
    font-size: clamp(0.95rem, 0.88rem + 0.35vw, 1.08rem);
    line-height: 1.7;
    color: rgba(242, 250, 255, 0.9);
    max-width: 54ch;
}

.legal-hero__aside {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-lg);
    border-radius: var(--radius-xl);
    background: rgba(242, 250, 255, 0.12);
    border: 1px solid rgba(242, 250, 255, 0.22);
    box-shadow:
        0 16px 48px rgba(10, 42, 74, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.legal-hero__aside-label {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(242, 250, 255, 0.65);
}

.legal-hero__aside-date {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--color-ice);
}

.legal-hero__aside-note {
    margin: var(--space-sm) 0 0;
    font-size: 0.82rem;
    line-height: 1.55;
    color: rgba(242, 250, 255, 0.72);
}

.legal-hero--privacy {
    background: linear-gradient(138deg, #061a30 0%, #0e3a62 48%, #2568b8 100%);
}

.legal-hero--cookies {
    background: linear-gradient(152deg, #0a2540 12%, #154872 55%, #4f9fff 110%);
}

.legal-hero--terms {
    background: linear-gradient(125deg, #071828 0%, #123d5c 45%, #3d87e8 100%);
}

.legal-hero--refund {
    background: linear-gradient(145deg, #082032 8%, #1a4a72 52%, #6eb5ff 105%);
}

.legal-hero--impressum {
    background: linear-gradient(160deg, #050f1c 0%, #122f4d 50%, #4f9fff 100%);
}

.legal-body {
    padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

.legal-body__inner {
    max-width: min(68ch, 100%);
    margin: 0 auto;
    padding-left: clamp(1rem, 4vw, 1.5rem);
    padding-right: clamp(1rem, 4vw, 1.5rem);
}

.legal-callout {
    margin: var(--space-xl) 0;
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--color-accent);
    background: linear-gradient(90deg, rgba(214, 238, 255, 0.55), rgba(242, 250, 255, 0.4));
    box-shadow: var(--shadow-soft);
}

.legal-callout p:last-child {
    margin-bottom: 0;
}

.legal-table-wrap {
    overflow-x: auto;
    margin: var(--space-lg) 0;
    border-radius: var(--radius-md);
    border: 1px solid rgba(10, 42, 74, 0.1);
}

.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-fluid-sm);
}

.legal-table th,
.legal-table td {
    padding: 0.65rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid rgba(10, 42, 74, 0.08);
}

.legal-table th {
    font-family: var(--font-display);
    font-weight: 600;
    background: rgba(214, 238, 255, 0.45);
}

.policy-prose--wide {
    max-width: min(72ch, 100%);
}

.policy-prose--wide h2 {
    scroll-margin-top: 5rem;
}

.thanks-hero {
    position: relative;
    padding: clamp(2.5rem, 8vw, 5rem) 0;
    overflow: hidden;
    background: linear-gradient(155deg, var(--color-deep) 0%, #163d5e 42%, var(--color-accent) 95%);
    color: var(--color-ice);
}

.thanks-hero::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -80px;
    top: -60px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(242, 250, 255, 0.2), transparent 68%);
    pointer-events: none;
}

.thanks-panel {
    position: relative;
    z-index: 1;
    margin-top: var(--space-xl);
    padding: var(--space-xl);
    border-radius: var(--radius-xl);
    background: rgba(242, 250, 255, 0.11);
    border: 1px solid rgba(242, 250, 255, 0.2);
    backdrop-filter: blur(14px);
}

.reveal-left {
    opacity: 0;
    transform: translateX(-32px);
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-right {
    opacity: 0;
    transform: translateX(32px);
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-zoom {
    opacity: 0;
    transform: scale(0.94);
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-zoom.is-visible {
    opacity: 1;
    transform: translateX(0) scale(1);
}

.stagger-4 {
    transition-delay: 260ms;
}

.stagger-5 {
    transition-delay: 320ms;
}

.stagger-6 {
    transition-delay: 400ms;
}

.home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(3rem, 10vw, 5.5rem) 0 clamp(4rem, 12vw, 7rem);
    min-height: min(88vh, 900px);
}

.home-hero__mesh {
    position: absolute;
    inset: -40% -20% auto -20%;
    height: 140%;
    background:
        radial-gradient(ellipse 55% 45% at 15% 35%, rgba(79, 159, 255, 0.42), transparent 55%),
        radial-gradient(ellipse 50% 40% at 85% 25%, rgba(159, 214, 255, 0.55), transparent 52%),
        radial-gradient(ellipse 35% 28% at 50% 85%, rgba(214, 238, 255, 0.65), transparent 48%);
    animation: mesh-shift 18s ease-in-out infinite alternate;
    z-index: -2;
    pointer-events: none;
}

@keyframes mesh-shift {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translate3d(-3%, 4%, 0) scale(1.06);
        opacity: 0.92;
    }
}

.home-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(0.5px);
    pointer-events: none;
    z-index: -1;
}

.home-hero__orb--a {
    width: min(340px, 70vw);
    height: min(340px, 70vw);
    right: -8%;
    top: 8%;
    background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.55), rgba(79, 159, 255, 0.25) 42%, transparent 68%);
    animation: orb-float-a 11s ease-in-out infinite;
}

.home-hero__orb--b {
    width: min(220px, 50vw);
    height: min(220px, 50vw);
    left: 5%;
    bottom: 12%;
    background: radial-gradient(circle at 60% 40%, rgba(159, 214, 255, 0.5), transparent 62%);
    animation: orb-float-b 14s ease-in-out infinite;
}

@keyframes orb-float-a {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(-14px, 18px, 0);
    }
}

@keyframes orb-float-b {

    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(18px, -12px, 0) scale(1.05);
    }
}

.home-hero__scrollhint {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: var(--space-lg);
    font-size: var(--text-fluid-sm);
    font-weight: 600;
    color: var(--color-deep);
    opacity: 0.75;
    animation: hint-nudge 2.6s ease-in-out infinite;
}

@keyframes hint-nudge {

    0%,
    100% {
        transform: translateY(0);
        opacity: 0.65;
    }

    50% {
        transform: translateY(6px);
        opacity: 1;
    }
}

.bento-grid {
    display: grid;
    gap: var(--space-md);
}

@media (min-width: 768px) {
    .bento-grid {
        grid-template-columns: repeat(6, 1fr);
        grid-auto-rows: minmax(120px, auto);
    }

    .bento-grid .span-2 {
        grid-column: span 2;
    }

    .bento-grid .span-3 {
        grid-column: span 3;
    }

    .bento-grid .span-6 {
        grid-column: span 6;
    }

    .bento-grid .row-tall {
        grid-row: span 2;
    }
}

.bento-tile {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    border: 1px solid rgba(159, 214, 255, 0.45);
    background: linear-gradient(155deg, rgba(242, 250, 255, 0.92), rgba(214, 238, 255, 0.55));
    box-shadow: var(--shadow-soft);
    transition:
        transform var(--transition-smooth),
        box-shadow var(--transition-smooth),
        border-color var(--transition-fast);
}

.bento-tile::after {
    content: "";
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 80% 20%, rgba(79, 159, 255, 0.12), transparent 45%);
    opacity: 0;
    transition: opacity var(--transition-smooth);
    pointer-events: none;
}

.bento-tile:hover {
    transform: translateY(-5px) rotate(-0.35deg);
    box-shadow: var(--shadow-lift);
    border-color: rgba(79, 159, 255, 0.65);
}

.bento-tile:hover::after {
    opacity: 1;
}

.timeline-v {
    position: relative;
    padding-left: 1.75rem;
    border-left: 3px solid rgba(79, 159, 255, 0.35);
}

.timeline-v li {
    position: relative;
    margin-bottom: var(--space-lg);
    padding-left: var(--space-sm);
}

.timeline-v li::before {
    content: "";
    position: absolute;
    left: calc(-1.75rem - 6px);
    top: 0.35rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-accent), var(--color-sky));
    box-shadow: 0 0 0 4px rgba(242, 250, 255, 0.95);
    animation: pulse-dot 2.8s ease-in-out infinite;
}

@keyframes pulse-dot {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 4px rgba(242, 250, 255, 0.95);
    }

    50% {
        transform: scale(1.08);
        box-shadow: 0 0 0 8px rgba(79, 159, 255, 0.22);
    }
}

.subpage-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(3rem, 9vw, 5.5rem) 0 clamp(2.75rem, 7vw, 4rem);
}

.subpage-hero__accent-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    z-index: 4;
    background: linear-gradient(90deg, transparent 4%, var(--color-accent) 48%, transparent 96%);
    opacity: 0.6;
    pointer-events: none;
}

.subpage-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.subpage-hero__gradient {
    position: absolute;
    inset: 0;
}

.subpage-hero--night {
    color: var(--color-ice);
}

.subpage-hero--night .subpage-hero__gradient {
    background: linear-gradient(165deg, #060b14 0%, #0d2642 44%, #174f82 100%);
}

.subpage-hero__stars {
    position: absolute;
    inset: 0;
    opacity: 0.52;
    background-image:
        radial-gradient(1.5px 1.5px at 12% 22%, rgba(255, 255, 255, 0.85), transparent),
        radial-gradient(1px 1px at 65% 18%, rgba(255, 255, 255, 0.65), transparent),
        radial-gradient(1.2px 1.2px at 42% 68%, rgba(255, 255, 255, 0.55), transparent),
        radial-gradient(1px 1px at 88% 52%, rgba(255, 255, 255, 0.75), transparent),
        radial-gradient(1.3px 1.3px at 28% 88%, rgba(255, 255, 255, 0.5), transparent);
    animation: twinkle 7s ease-in-out infinite alternate;
}

@keyframes twinkle {
    from {
        opacity: 0.42;
    }

    to {
        opacity: 0.72;
    }
}

.subpage-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(0.5px);
    pointer-events: none;
    animation: subpage-orb-drift 16s ease-in-out infinite;
}

.subpage-hero__orb--a {
    width: min(300px, 58vw);
    height: min(300px, 58vw);
    right: -10%;
    top: 8%;
    background: radial-gradient(circle at 38% 38%, rgba(79, 159, 255, 0.38), transparent 66%);
}

.subpage-hero__orb--b {
    width: min(210px, 48vw);
    height: min(210px, 48vw);
    left: -6%;
    bottom: 12%;
    background: radial-gradient(circle at 55% 45%, rgba(159, 214, 255, 0.26), transparent 64%);
    animation-delay: -5s;
}

@keyframes subpage-orb-drift {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(-14px, 16px, 0);
    }
}

.subpage-hero--restore .subpage-hero__gradient {
    background: linear-gradient(148deg, #f0fbff 0%, #dff3ff 48%, #caeaff 100%);
}

.subpage-hero__rings {
    position: absolute;
    right: -11%;
    top: 50%;
    width: min(400px, 90vw);
    height: min(400px, 90vw);
    transform: translateY(-50%);
}

.subpage-hero__rings span {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(79, 159, 255, 0.22);
    animation: ring-expand 6s ease-out infinite;
}

.subpage-hero__rings span:nth-child(2) {
    animation-delay: 2s;
}

.subpage-hero__rings span:nth-child(3) {
    animation-delay: 4s;
}

@keyframes ring-expand {
    0% {
        transform: scale(0.55);
        opacity: 0.85;
    }

    100% {
        transform: scale(1.15);
        opacity: 0;
    }
}

.subpage-hero--contact {
    color: var(--color-deep);
}

.subpage-hero--contact .subpage-hero__gradient {
    background: linear-gradient(155deg, #f6fcff 0%, #eaf6ff 42%, #dff2ff 96%);
}

.subpage-hero__sweep {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, transparent 34%, rgba(79, 159, 255, 0.12) 53%, transparent 72%),
        radial-gradient(ellipse 78% 58% at 100% 0%, rgba(159, 214, 255, 0.34), transparent 54%);
    animation: contact-sweep 12s linear infinite;
}

@keyframes contact-sweep {
    0% {
        transform: translateX(-8%);
    }

    100% {
        transform: translateX(8%);
    }
}

.subpage-hero__inner {
    position: relative;
    z-index: 1;
}

.subpage-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1rem;
    border-radius: 9999px;
    font-size: var(--text-fluid-sm);
    font-weight: 600;
}

.subpage-hero--night .subpage-hero__eyebrow {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    color: rgba(242, 250, 255, 0.95);
}

.subpage-hero--restore .subpage-hero__eyebrow,
.subpage-hero--contact .subpage-hero__eyebrow {
    border: 1px solid rgba(79, 159, 255, 0.22);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: var(--shadow-soft);
    color: var(--color-accent);
}

.subpage-hero__title {
    margin-top: 1.5rem;
    font-family: var(--font-display);
    font-size: var(--text-fluid-hero);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.02em;
}

.subpage-hero--restore .subpage-hero__title,
.subpage-hero--contact .subpage-hero__title {
    color: var(--color-deep);
}

.subpage-hero__lead {
    margin-top: 1.5rem;
    max-width: 40rem;
    font-size: var(--text-fluid-base);
    line-height: 1.65;
}

.subpage-hero--night .subpage-hero__lead {
    color: rgba(242, 250, 255, 0.88);
}

.subpage-hero--restore .subpage-hero__lead,
.subpage-hero--contact .subpage-hero__lead {
    color: rgba(10, 42, 74, 0.88);
}

.subpage-hero__muted {
    margin-top: 1.2rem;
    max-width: 40rem;
    font-size: var(--text-fluid-sm);
    line-height: 1.65;
}

.subpage-hero--night .subpage-hero__muted {
    color: rgba(242, 250, 255, 0.72);
}

.subpage-hero--restore .subpage-hero__muted,
.subpage-hero--contact .subpage-hero__muted {
    color: rgba(10, 42, 74, 0.76);
}

.subpage-hero__panel {
    border-radius: 1.75rem;
    padding: 1rem;
}

.subpage-hero--night .subpage-hero__panel {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(16px);
    box-shadow: 0 28px 70px rgba(0, 12, 28, 0.38);
}

.subpage-hero--restore .subpage-hero__panel,
.subpage-hero--contact .subpage-hero__panel {
    background: rgba(255, 255, 255, 0.93);
    border: 1px solid rgba(79, 159, 255, 0.2);
    box-shadow: var(--shadow-lift);
}

.subpage-hero__frame {
    overflow: hidden;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.04);
    line-height: 0;
}

.subpage-hero--restore .subpage-hero__frame,
.subpage-hero--contact .subpage-hero__frame {
    background: rgba(242, 250, 255, 0.45);
}

.subpage-hero__frame img {
    width: 100%;
    height: auto;
    display: block;
}

.subpage-hero__caption {
    margin-top: 0.85rem;
    padding: 0 0.2rem;
    font-size: var(--text-fluid-sm);
}

.subpage-hero--night .subpage-hero__caption {
    color: rgba(242, 250, 255, 0.62);
}

.subpage-hero--restore .subpage-hero__caption,
.subpage-hero--contact .subpage-hero__caption {
    color: rgba(10, 42, 74, 0.62);
}

.subpage-hero__stats {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.15rem;
    padding-top: 1.15rem;
    border-top-width: 1px;
    border-top-style: solid;
}

@media (min-width: 480px) {
    .subpage-hero__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.65rem;
    }
}

.subpage-hero--night .subpage-hero__stats {
    border-top-color: rgba(255, 255, 255, 0.12);
}

.subpage-hero--restore .subpage-hero__stats,
.subpage-hero--contact .subpage-hero__stats {
    border-top-color: rgba(10, 42, 74, 0.09);
}

.subpage-hero__stat {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    min-width: 0;
}

.subpage-hero__stat-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.72rem;
    font-size: 1.15rem;
}

.subpage-hero--night .subpage-hero__stat-icon {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-sky);
}

.subpage-hero--restore .subpage-hero__stat-icon,
.subpage-hero--contact .subpage-hero__stat-icon {
    background: rgba(79, 159, 255, 0.13);
    color: var(--color-accent);
}

.subpage-hero__stat-label {
    display: block;
    font-weight: 700;
    font-size: 0.78rem;
    line-height: 1.25;
}

.subpage-hero__stat-hint {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.72rem;
    line-height: 1.35;
    opacity: 0.82;
}

.subpage-hero--night .subpage-hero__stat-label {
    color: rgba(242, 250, 255, 0.96);
}

.subpage-hero--night .subpage-hero__stat-hint {
    color: rgba(242, 250, 255, 0.72);
}

.subpage-hero--restore .subpage-hero__stat-label,
.subpage-hero--contact .subpage-hero__stat-label {
    color: var(--color-deep);
}

.subpage-hero--restore .subpage-hero__stat-hint,
.subpage-hero--contact .subpage-hero__stat-hint {
    color: rgba(10, 42, 74, 0.72);
}

.form-field-focus .form-input:focus,
.form-field-focus .form-textarea:focus {
    transform: translateY(-1px);
}

.details-rich summary {
    cursor: pointer;
    list-style: none;
    font-family: var(--font-display);
    font-weight: 600;
    padding: var(--space-md) 0;
}

.details-rich summary::-webkit-details-marker {
    display: none;
}

.details-rich summary::after {
    content: "+";
    float: right;
    font-weight: 700;
    color: var(--color-accent);
    transition: transform var(--transition-smooth);
}

.details-rich[open] summary::after {
    transform: rotate(45deg);
}

.details-rich {
    border-bottom: 1px solid rgba(10, 42, 74, 0.08);
}

.bar-animate {
    transform-origin: left center;
    animation: bar-grow 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes bar-grow {
    from {
        transform: scaleX(0.08);
        opacity: 0.5;
    }

    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {

    .home-hero__mesh,
    .home-hero__orb--a,
    .home-hero__orb--b,
    .home-hero__scrollhint,
    .timeline-v li::before,
    .subpage-hero__stars,
    .subpage-hero__orb,
    .subpage-hero__rings span,
    .subpage-hero__sweep {
        animation: none !important;
    }

    .reveal,
    .reveal-left,
    .reveal-right,
    .reveal-zoom {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

@media (max-width: 320px) {
    html {
        font-size: 94%;
    }

    .site-header__inner {
        gap: 0.35rem;
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        flex-wrap: nowrap;
    }

    .logo-mark {
        font-size: clamp(0.72rem, 3.8vw, 0.95rem);
        line-height: 1.25;
        max-width: min(58vw, 11rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .burger {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        gap: 5px;
    }

    .burger__line {
        width: 20px;
    }

    .burger.is-active .burger__line:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .burger.is-active .burger__line:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .site-nav {
        padding: var(--space-md);
        gap: var(--space-sm);
    }

    .cookie-banner {
        padding: 0.45rem;
    }

    .cookie-panel {
        padding: var(--space-md);
    }

    .cookie-panel__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-panel__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .legal-hero__aside {
        padding: var(--space-md);
    }

    .legal-hero__title {
        word-break: break-word;
    }

    .legal-body__inner {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
    }

    .legal-table {
        font-size: 0.78rem;
    }

    .legal-table th,
    .legal-table td {
        padding: 0.5rem 0.55rem;
    }

    .footer-grid {
        gap: var(--space-md);
    }

    .thanks-panel {
        padding: var(--space-md);
        margin-top: var(--space-md);
    }
}

/* Tailwind utilities */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-6{right:-1.5rem}.top-6{top:1.5rem}.z-\[1\]{z-index:1}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mt-0\.5{margin-top:.125rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-2{height:.5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-full{height:100%}.min-h-\[180px\]{min-height:180px}.w-11{width:2.75rem}.w-2{width:.5rem}.w-28{width:7rem}.w-\[20\%\]{width:20%}.w-\[25\%\]{width:25%}.w-\[55\%\]{width:55%}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-accent\/25{border-color:rgba(79,159,255,.25)}.border-accent\/30{border-color:rgba(79,159,255,.3)}.border-accent\/35{border-color:rgba(79,159,255,.35)}.border-sky\/35{border-color:rgba(159,214,255,.35)}.border-sky\/40{border-color:rgba(159,214,255,.4)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/25{border-color:hsla(0,0%,100%,.25)}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.bg-accent{--tw-bg-opacity:1;background-color:rgb(79 159 255/var(--tw-bg-opacity,1))}.bg-accent\/15{background-color:rgba(79,159,255,.15)}.bg-deep{--tw-bg-opacity:1;background-color:rgb(10 42 74/var(--tw-bg-opacity,1))}.bg-deep\/30{background-color:rgba(10,42,74,.3)}.bg-ice{--tw-bg-opacity:1;background-color:rgb(242 250 255/var(--tw-bg-opacity,1))}.bg-ice\/90{background-color:rgba(242,250,255,.9)}.bg-soft{--tw-bg-opacity:1;background-color:rgb(214 238 255/var(--tw-bg-opacity,1))}.bg-soft\/40{background-color:rgba(214,238,255,.4)}.bg-soft\/55{background-color:rgba(214,238,255,.55)}.bg-soft\/60{background-color:rgba(214,238,255,.6)}.bg-soft\/90{background-color:rgba(214,238,255,.9)}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/85{background-color:hsla(0,0%,100%,.85)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:#4f9fff var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,159,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/25{--tw-gradient-from:rgba(79,159,255,.25) var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,159,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/30{--tw-gradient-from:rgba(79,159,255,.3) var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,159,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/70{--tw-gradient-from:rgba(79,159,255,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,159,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-deep\/80{--tw-gradient-from:rgba(10,42,74,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(10,42,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-ice{--tw-gradient-from:#f2faff var(--tw-gradient-from-position);--tw-gradient-to:rgba(242,250,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-soft\/90{--tw-gradient-from:rgba(214,238,255,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(214,238,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-ice{--tw-gradient-to:rgba(242,250,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f2faff var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-accent{--tw-gradient-to:#4f9fff var(--tw-gradient-to-position)}.to-sky{--tw-gradient-to:#9fd6ff var(--tw-gradient-to-position)}.to-sky\/80{--tw-gradient-to:rgba(159,214,255,.8) var(--tw-gradient-to-position)}.to-soft{--tw-gradient-to:#d6eeff var(--tw-gradient-to-position)}.to-soft\/80{--tw-gradient-to:rgba(214,238,255,.8) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.p-0{padding:0}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-9{padding-bottom:2.25rem;padding-top:2.25rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-0{padding-left:0}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-display{font-family:Outfit,system-ui,sans-serif}.font-sans{font-family:DM Sans,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.leading-\[1\.08\]{line-height:1.08}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:rgb(79 159 255/var(--tw-text-opacity,1))}.text-accent,.text-deep{--tw-text-opacity:1}.text-deep{color:rgb(10 42 74/var(--tw-text-opacity,1))}.text-deep\/65{color:rgba(10,42,74,.65)}.text-deep\/70{color:rgba(10,42,74,.7)}.text-deep\/75{color:rgba(10,42,74,.75)}.text-deep\/80{color:rgba(10,42,74,.8)}.text-deep\/85{color:rgba(10,42,74,.85)}.text-deep\/90{color:rgba(10,42,74,.9)}.text-ice{--tw-text-opacity:1;color:rgb(242 250 255/var(--tw-text-opacity,1))}.text-ice\/75{color:rgba(242,250,255,.75)}.text-ice\/85{color:rgba(242,250,255,.85)}.text-ice\/90{color:rgba(242,250,255,.9)}.text-sky{--tw-text-opacity:1;color:rgb(159 214 255/var(--tw-text-opacity,1))}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.shadow-soft{--tw-shadow-color:#d6eeff;--tw-shadow:var(--tw-shadow-colored)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-accent\/15{--tw-ring-color:rgba(79,159,255,.15)}.ring-white\/60{--tw-ring-color:hsla(0,0%,100%,.6)}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:gap-3:hover{gap:.75rem}.hover\:border-accent\/50:hover{border-color:rgba(79,159,255,.5)}.hover\:underline:hover{text-decoration-line:underline}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:hidden{display:none}.md\:-translate-y-2{--tw-translate-y:-0.5rem}.md\:-translate-y-2,.md\:translate-y-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-y-3{--tw-translate-y:0.75rem}.md\:translate-y-6{--tw-translate-y:1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-8{gap:2rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:p-9{padding:2.25rem}.md\:px-11{padding-left:2.75rem;padding-right:2.75rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-16{padding-bottom:4rem;padding-top:4rem}.md\:py-20{padding-bottom:5rem;padding-top:5rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}}@media (min-width:1024px){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:block{display:block}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}.lg\:p-14{padding:3.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}}