/* Public chrome: one dark language, slower materials, quieter type. */
html {
    scroll-behavior: smooth;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

::selection {
    background: #E82127;
    color: #ffffff;
}

#page-loader {
    background: #0a0a0a;
    transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

#page-loader.is-done {
    opacity: 0;
    pointer-events: none;
}

.home-loader-line {
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 0;
    background: #E82127;
    animation: home-loader-line 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes home-loader-line {
    from { width: 0; }
    to { width: 100%; }
}

.public-nav {
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: saturate(1.15) blur(18px);
    -webkit-backdrop-filter: saturate(1.15) blur(18px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.public-nav a,
.public-nav button {
    transition: color 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.home-premium::after,
.public-premium::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 70;
    pointer-events: none;
    opacity: 0.035;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.home-premium h1,
.home-premium h2,
.public-premium h1,
.public-premium h2 {
    letter-spacing: -0.035em;
    font-weight: 600;
}

.public-premium {
    background-color: #0a0a0a;
    color: #f4f4f4;
}

.public-premium .bg-body-bg {
    background-color: #0a0a0a !important;
}

.public-premium .bg-white {
    background-color: #111111 !important;
}

.public-premium .text-body-text,
.public-premium .font-serif {
    color: #f4f4f4 !important;
    font-family: Outfit, system-ui, sans-serif !important;
}

.public-premium .text-body-muted {
    color: rgba(255, 255, 255, 0.55) !important;
}

.public-premium .border-body-border {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.public-premium .shadow-sm,
.public-premium .shadow-md,
.public-premium .shadow-xl {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.public-premium .font-bold {
    font-weight: 600;
}

.public-premium img[src*="in-cirro-7-map"] {
    filter: invert(1) brightness(0.92);
    opacity: 0.85;
}

.public-footer h4 {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: none;
    color: rgba(255, 255, 255, 0.4);
}

@media (prefers-reduced-transparency: reduce) {
    .public-nav {
        background: #000000;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .home-premium::after,
    .public-premium::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    .home-loader-line {
        animation: none;
        width: 100%;
    }
}

.brand-on-dark {
    display: inline-block;
}

.brand-loader-mark {
    width: auto;
    height: 5.5rem;
    object-fit: contain;
}
