/*
 * Fares Toson — premium RTL design system
 * Loaded after the legacy bundle so existing behavior can stay untouched while
 * every public and administrative surface shares one coherent visual language.
 */

:root {
    --ft-ink: oklch(0.94 0.012 128);
    --ft-ink-soft: oklch(0.81 0.014 128);
    --ft-paper: #0a0a0a;
    --ft-surface: oklch(0.16 0.014 128);
    --ft-surface-raised: oklch(0.205 0.016 128);
    --ft-surface-muted: oklch(0.135 0.012 128);
    --ft-strong-surface: oklch(0.085 0.012 128);
    --ft-on-strong: oklch(0.96 0.008 128);
    --ft-on-accent: oklch(0.14 0.025 128);
    --ft-accent: oklch(0.9 0.18 124.92);
    --ft-accent-strong: oklch(0.82 0.18 124.92);
    --ft-muted: oklch(0.68 0.014 128);
    --ft-border: oklch(0.28 0.016 128);
    --ft-border-strong: oklch(0.42 0.02 128);
    --ft-danger: oklch(0.72 0.18 27);
    --ft-success: oklch(0.74 0.15 145);
    --ft-warning: oklch(0.79 0.14 80);
    --editorial-canvas: var(--ft-paper);
    --editorial-ink: var(--ft-ink);
    --editorial-muted: var(--ft-muted);
    --editorial-line: var(--ft-border);
    --editorial-lime: var(--ft-accent);
    --cyber-dark: var(--ft-paper);
    --cyber-darker: var(--ft-strong-surface);
    --dark-card: var(--ft-surface);
    --primary: var(--ft-accent);
    --neon-green: var(--ft-accent);
    --glass-bg: var(--ft-surface);
    --glass-border: var(--ft-border);
    --ft-radius-sm: 4px;
    --ft-radius-md: 8px;
    --ft-radius-lg: 12px;
    --ft-nav-height: 76px;
    --ft-content: 1180px;
    --ft-reading: 72ch;
    --ft-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --ft-z-dropdown: 40;
    --ft-z-sticky: 50;
    --ft-z-backdrop: 70;
    --ft-z-modal: 80;
    --ft-z-toast: 90;
}

html {
    color-scheme: dark;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--ft-nav-height) + 20px);
}

body.editorial-page {
    min-width: 320px;
    color: var(--ft-ink) !important;
    background: var(--ft-paper) !important;
    font-family: "Noto Kufi Arabic", system-ui, sans-serif !important;
    line-height: 1.75;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.editorial-page,
body.editorial-page * {
    border-color: var(--ft-border);
}

body.editorial-page h1,
body.editorial-page h2,
body.editorial-page h3 {
    color: var(--ft-ink);
    line-height: 1.3;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

body.editorial-page p,
body.editorial-page li {
    text-wrap: pretty;
}

body.editorial-page a,
body.editorial-page button,
body.editorial-page input,
body.editorial-page select,
body.editorial-page textarea {
    -webkit-tap-highlight-color: transparent;
}

body.editorial-page a,
body.editorial-page button {
    touch-action: manipulation;
}

body.editorial-page button:not([hidden]),
body.editorial-page input:not([type="hidden"]),
body.editorial-page select,
body.editorial-page textarea,
body.editorial-page .btn-primary,
body.editorial-page .btn-secondary,
body.editorial-page .btn-outline {
    min-height: 44px;
}

body.editorial-page :focus-visible {
    outline: 3px solid var(--ft-accent-strong) !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
}

body.editorial-page ::selection {
    color: var(--ft-on-accent);
    background: var(--ft-accent);
}

body.editorial-page .container {
    width: min(100% - 2rem, var(--ft-content));
    margin-inline: auto;
    padding-inline: 0 !important;
}

body.editorial-page .text-primary,
body.editorial-page .text-neon-green,
body.editorial-page .text-neon-cyan,
body.editorial-page .text-gradient {
    color: var(--ft-ink) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

body.editorial-page .text-gray-300,
body.editorial-page .text-gray-400,
body.editorial-page .text-gray-500,
body.editorial-page .text-gray-600 {
    color: var(--ft-muted) !important;
}

body.editorial-page .text-white,
body.editorial-page .text-gray-100,
body.editorial-page .text-gray-200 {
    color: var(--ft-ink) !important;
}

body.editorial-page .bg-dark,
body.editorial-page .bg-dark-card,
body.editorial-page .bg-dark-light,
body.editorial-page .bg-dark-lighter,
body.editorial-page .bg-white\/5,
body.editorial-page .bg-white\/10 {
    background: var(--ft-surface) !important;
}

body.editorial-page .card,
body.editorial-page .legal-card,
body.editorial-page .callback-card,
body.editorial-page .course-card-enhanced {
    color: var(--ft-ink);
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.editorial-page .btn-primary,
body.editorial-page .btn-secondary,
body.editorial-page .btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    min-height: 48px;
    padding: 0.75rem 1.25rem;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border: 1px solid var(--ft-accent) !important;
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    transition: color 180ms var(--ft-ease), background-color 180ms var(--ft-ease), transform 180ms var(--ft-ease) !important;
}

body.editorial-page .btn-secondary,
body.editorial-page .btn-outline {
    color: var(--ft-ink) !important;
    background: transparent !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-page .btn-primary:hover,
body.editorial-page .btn-secondary:hover,
body.editorial-page .btn-outline:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent-strong) !important;
    border-color: var(--ft-accent-strong) !important;
    transform: translateY(-2px) !important;
}

body.editorial-page .btn-primary:disabled,
body.editorial-page button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
    transform: none !important;
}

body.editorial-page input:not([type="checkbox"]):not([type="radio"]),
body.editorial-page textarea,
body.editorial-page select,
body.editorial-page .input-field {
    width: 100%;
    min-height: 50px;
    padding: 0.75rem 0.9rem;
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
    font: inherit;
    transition: border-color 160ms ease, background-color 160ms ease;
}

body.editorial-page input::placeholder,
body.editorial-page textarea::placeholder {
    color: oklch(0.7 0.014 128) !important;
    opacity: 1;
}

body.editorial-page label {
    color: var(--ft-ink-soft) !important;
    font-weight: 650;
}

body.editorial-page hr {
    border-color: var(--ft-border) !important;
}

body.editorial-page .discord-navbar-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-width: 7rem;
    min-height: 44px;
    padding: .55rem .8rem !important;
    color: var(--ft-ink-soft) !important;
    background: var(--ft-surface-muted) !important;
    border: 1px solid var(--ft-border-strong);
    border-radius: var(--ft-radius-sm) !important;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.3;
    text-decoration: none;
    transition: color 180ms var(--ft-ease), background-color 180ms var(--ft-ease), border-color 180ms var(--ft-ease), transform 180ms var(--ft-ease);
}

body.editorial-page .discord-navbar-pill svg {
    width: 1.05rem !important;
    height: 1.05rem !important;
    flex: 0 0 auto;
}

body.editorial-page .discord-navbar-pill.is-linked {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent);
}

body.editorial-page .discord-navbar-pill:hover,
body.editorial-page .discord-navbar-pill:focus-visible {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent-strong) !important;
    border-color: var(--ft-accent-strong);
    transform: translateY(-1px);
}

body.editorial-page .discord-navbar-pill.is-unlinked:hover,
body.editorial-page .discord-navbar-pill.is-unlinked:focus-visible {
    background: color-mix(in oklch, var(--ft-accent) 18%, var(--ft-surface-muted)) !important;
    color: var(--ft-accent) !important;
    border-color: var(--ft-accent);
}

@media (max-width: 767px) {
    body.editorial-page .discord-navbar-pill {
        min-width: 44px;
        padding-inline: .65rem !important;
    }
}

.global-toast {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    z-index: var(--ft-z-toast);
    width: min(calc(100% - 2rem), 520px);
    min-height: 52px;
    padding: 0.85rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    direction: rtl;
    color: var(--ft-on-strong);
    background: var(--ft-strong-surface);
    border: 1px solid var(--ft-accent);
    border-radius: var(--ft-radius-sm);
    box-shadow: none;
    font-weight: 650;
    opacity: 0;
    transform: translateX(-50%) translateY(100px);
    transition: opacity 220ms var(--ft-ease), transform 220ms var(--ft-ease);
}

.global-toast--error {
    color: var(--ft-danger);
    background: var(--ft-surface);
    border-color: var(--ft-danger);
}

/* Shared public navigation */
body.editorial-page > nav:not(.legal-footer-nav),
body.editorial-page > header,
body.editorial-page main > header {
    z-index: var(--ft-z-sticky) !important;
}

body.editorial-page > nav:not(.legal-footer-nav) {
    min-height: var(--ft-nav-height);
    color: var(--ft-ink);
    background: color-mix(in oklch, var(--ft-paper) 94%, transparent) !important;
    border-bottom: 1px solid var(--ft-border) !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
}

body.editorial-page > nav:not(.legal-footer-nav) > .container {
    min-height: var(--ft-nav-height);
    padding-block: 0 !important;
}

body.editorial-page > nav a[href="/"] {
    color: var(--ft-ink) !important;
    font-weight: 900;
    letter-spacing: -0.035em;
}

body.editorial-page .nav-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: var(--ft-muted) !important;
    font-weight: 650;
    text-decoration: none;
}

body.editorial-page .nav-link:hover,
body.editorial-page .nav-link.text-primary,
body.editorial-page .nav-link[aria-current="page"] {
    color: var(--ft-ink) !important;
}

/* Course discovery */
body.editorial-courses main {
    min-height: 100vh;
    padding: clamp(7.5rem, 12vw, 10rem) 0 clamp(4rem, 8vw, 7rem) !important;
    background:
        linear-gradient(var(--ft-strong-surface), var(--ft-strong-surface)) top / 100% clamp(290px, 37vw, 420px) no-repeat,
        var(--ft-paper) !important;
}

body.editorial-courses main h1 {
    max-width: 12ch;
    margin-inline: auto;
    margin-bottom: 1rem !important;
    color: var(--ft-on-strong) !important;
    font-size: clamp(2.4rem, 5vw, 4.7rem) !important;
    font-weight: 950;
}

body.editorial-courses main h1 .text-primary {
    color: var(--ft-accent) !important;
}

body.editorial-courses main h1 + p {
    color: oklch(0.82 0.015 128) !important;
    font-size: clamp(1rem, 1.8vw, 1.2rem);
}

body.editorial-courses #categoriesFilter {
    margin: clamp(3.5rem, 7vw, 5.5rem) 0 2rem !important;
    padding: 0 0 1.25rem;
    justify-content: flex-start !important;
    border-bottom: 1px solid var(--ft-border);
}

body.editorial-page .category-btn,
body.editorial-page .badge,
body.editorial-page .course-category-badge {
    min-height: 44px;
    padding: 0.55rem 1rem;
    color: var(--ft-ink) !important;
    background: transparent !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 750;
}

body.editorial-page .category-btn.active {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent) !important;
}

body.editorial-courses #coursesGrid,
body.editorial-dashboard #coursesGrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
    gap: 1rem !important;
}

body.editorial-page .course-card-enhanced {
    overflow: clip;
    border-color: var(--ft-border) !important;
    transition: border-color 180ms ease, transform 180ms var(--ft-ease) !important;
}

body.editorial-page .course-card-enhanced:hover {
    border-color: var(--ft-border-strong) !important;
    transform: translateY(-4px) !important;
}

body.editorial-page .course-image-wrapper {
    background: var(--ft-surface-muted) !important;
}

body.editorial-page .course-image-wrapper > div:first-child {
    color: color-mix(in oklch, var(--ft-ink) 42%, transparent) !important;
    background: var(--ft-surface-muted) !important;
}

body.editorial-page .course-image-wrapper > div:first-child svg {
    width: 3.5rem;
    height: 3.5rem;
    stroke-width: 1.25;
}

body.editorial-page .course-overlay {
    background: color-mix(in oklch, var(--ft-strong-surface) 78%, transparent) !important;
    backdrop-filter: none !important;
}

body.editorial-page .play-icon-circle {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    box-shadow: none !important;
}

body.editorial-page .course-content {
    padding: 1.35rem !important;
}

body.editorial-page .course-content h3 {
    font-size: 1.1rem;
}

/* Course detail */
body.editorial-course-detail main {
    min-height: 100vh;
    padding: clamp(7rem, 10vw, 9rem) 0 clamp(4rem, 8vw, 7rem) !important;
}

body.editorial-course-detail main > .container > .grid:first-child {
    gap: clamp(2rem, 5vw, 5rem) !important;
    align-items: start;
}

body.editorial-course-detail #courseThumbnail {
    overflow: hidden;
    min-height: 280px;
    background: var(--ft-surface-muted) !important;
    border: 0 !important;
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-course-detail #courseTitle {
    margin-bottom: 0.75rem !important;
    font-size: clamp(2.2rem, 5vw, 4.4rem) !important;
    font-weight: 950;
}

body.editorial-course-detail #courseDescription {
    max-width: var(--ft-reading);
    color: var(--ft-ink-soft) !important;
    font-size: 1.03rem;
    line-height: 2;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

body.editorial-course-detail #videosList {
    border-top: 1px solid var(--ft-border-strong);
}

body.editorial-course-detail #videosList > * {
    min-height: 64px;
    border-bottom: 1px solid var(--ft-border) !important;
    border-radius: 0 !important;
}

/* Authentication and checkout */
body.editorial-auth,
body.editorial-subscribe {
    min-height: 100svh;
    padding: clamp(1rem, 4vw, 3rem) !important;
    background:
        linear-gradient(90deg, var(--ft-strong-surface) 0 32%, var(--ft-paper) 32% 100%) !important;
}

/* body.editorial-auth::before,
body.editorial-subscribe::before {
    content: "FT / CREATIVE LAB";
    position: fixed;
    inset-inline-end: 3vw;
    bottom: 2rem;
    color: color-mix(in oklch, var(--ft-on-strong) 28%, transparent);
    font-family: Orbitron, sans-serif;
    font-size: clamp(1.8rem, 4vw, 5rem);
    font-weight: 900;
    letter-spacing: -0.04em;
    writing-mode: vertical-rl;
    pointer-events: none;
} */

body.editorial-auth .hero-orb,
body.editorial-auth .cyber-grid-bg,
body.editorial-auth .absolute.inset-0.opacity-5 {
    display: none !important;
}

body.editorial-auth > .w-full,
body.editorial-subscribe > .w-full {
    position: relative;
    z-index: 1;
    width: min(100%, 500px);
    max-width: 500px !important;
    margin: auto;
    background: transparent !important;
}

body.editorial-auth > main,
body.editorial-subscribe > main {
    background: transparent !important;
}

body.editorial-auth > .w-full > .text-center:first-child a,
body.editorial-subscribe > .w-full > .text-center:first-child a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    color: var(--ft-ink) !important;
    font-size: clamp(1.8rem, 5vw, 2.6rem) !important;
    font-weight: 950;
}

body.editorial-auth .card,
body.editorial-subscribe .card {
    padding: clamp(1.4rem, 4vw, 2.4rem) !important;
    border-color: var(--ft-border-strong) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-auth .card h1,
body.editorial-auth .card h2,
body.editorial-subscribe .card h1 {
    margin-bottom: 0.5rem !important;
    font-size: clamp(1.7rem, 5vw, 2.35rem) !important;
    font-weight: 950;
}

body.editorial-auth form > div {
    margin-bottom: 1rem;
}

body.editorial-auth #googleSignIn,
body.editorial-auth #googleSignUp {
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border-strong) !important;
}

body.editorial-auth #errorMessage,
body.editorial-subscribe #errorMessage {
    color: var(--ft-danger) !important;
    background: oklch(0.2 0.045 27) !important;
    border: 1px solid oklch(0.46 0.11 27) !important;
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-subscribe .bg-dark-light {
    padding: 1.35rem !important;
    background: var(--ft-surface-muted) !important;
    border: 0 !important;
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-subscribe #priceDisplay {
    color: var(--ft-ink) !important;
    font-size: clamp(2.2rem, 8vw, 3.6rem) !important;
}

/* Payment and not-found states */
body.editorial-payment,
body.editorial-not-found {
    min-height: 100svh;
    padding: 1rem;
    background: var(--ft-strong-surface) !important;
}

body.editorial-payment .callback-card,
body.editorial-not-found > main {
    width: min(100%, 560px);
    padding: clamp(1.5rem, 5vw, 3.25rem) !important;
    color: var(--ft-ink);
    background: var(--ft-surface) !important;
    border: 0 !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-payment .status-icon {
    width: 72px;
    height: 72px;
    border-radius: var(--ft-radius-sm) !important;
    background: var(--ft-accent) !important;
}

body.editorial-payment p {
    color: var(--ft-muted) !important;
}

body.editorial-not-found .text-9xl {
    color: var(--ft-accent) !important;
    font-family: Orbitron, sans-serif;
    font-size: clamp(5rem, 22vw, 9rem) !important;
    letter-spacing: -0.04em;
}

/* Dashboard */
body.editorial-dashboard main {
    min-height: 100vh;
    padding: clamp(7.5rem, 11vw, 9.5rem) 0 clamp(4rem, 8vw, 7rem) !important;
}

body.editorial-dashboard h1 {
    font-size: clamp(2.2rem, 5vw, 4.2rem) !important;
    font-weight: 950;
}

body.editorial-dashboard .card,
body.editorial-dashboard #subscriptionCard,
body.editorial-dashboard #discordCard {
    border-radius: var(--ft-radius-md) !important;
    box-shadow: none !important;
}

body.editorial-dashboard .grid {
    gap: 1rem !important;
}

body.editorial-dashboard [class*="bg-gradient"],
body.editorial-dashboard .h-full.bg-primary {
    background: var(--ft-accent) !important;
}

body.editorial-dashboard .dashboard-resource-link {
    min-height: 58px;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border: 1px solid var(--ft-accent) !important;
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
    text-decoration: none;
}

body.editorial-dashboard .dashboard-resource-link--files {
    background: var(--ft-surface) !important;
}

body.editorial-dashboard .dashboard-resource-link > .absolute {
    display: none;
}

body.editorial-dashboard .dashboard-resource-link:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent-strong) !important;
    transform: translateY(-3px) !important;
}

body.editorial-dashboard .dashboard-resource-link svg,
body.editorial-dashboard .dashboard-resource-link span {
    filter: none !important;
}

/* Player */
body.editorial-video {
    min-height: 100svh;
    color: var(--ft-on-strong) !important;
    background: var(--ft-strong-surface) !important;
}

body.editorial-page.editorial-video > nav:not(.legal-footer-nav) {
    color: var(--ft-on-strong);
    background: color-mix(in oklch, var(--ft-strong-surface) 94%, transparent) !important;
    border-color: oklch(0.32 0.015 128) !important;
}

body.editorial-page.editorial-video > nav:not(.legal-footer-nav) a,
body.editorial-page.editorial-video > nav:not(.legal-footer-nav) .nav-link {
    color: var(--ft-on-strong) !important;
}

body.editorial-video main {
    min-height: 100svh;
    padding-top: 4.75rem !important;
    background: var(--ft-strong-surface) !important;
}

body.editorial-video #videoContainer,
body.editorial-video .video-player-wrapper {
    overflow: hidden;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.editorial-video .video-controls,
body.editorial-video .video-loading,
body.editorial-video .speed-menu {
    color: white !important;
    background: color-mix(in oklch, var(--ft-strong-surface) 94%, transparent) !important;
    box-shadow: none !important;
}

body.editorial-video .progress-bar,
body.editorial-video .center-play,
body.editorial-video .speed-option.active {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-video .center-play {
    border: 1px solid var(--ft-accent) !important;
    box-shadow: none !important;
}

body.editorial-video main > div:last-child {
    color: var(--ft-ink);
    background: var(--ft-surface) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-video main > div:last-child h1,
body.editorial-video main > div:last-child h2,
body.editorial-video main > div:last-child h3 {
    color: var(--ft-ink) !important;
}

body.editorial-video #videosList > * {
    border-bottom: 1px solid var(--ft-border) !important;
    border-radius: 0 !important;
}

body.editorial-video #videoDescription,
body.editorial-video #videoDescription * {
    max-width: 100%;
    overflow-wrap: anywhere !important;
    word-break: break-word;
    white-space: normal !important;
}

/* Legal */
body.editorial-legal {
    background: var(--ft-paper) !important;
}

body.editorial-legal .legal-page {
    padding: clamp(1rem, 3vw, 2rem) 0 clamp(4rem, 8vw, 7rem) !important;
    background: var(--ft-paper) !important;
}

body.editorial-legal .legal-container {
    width: min(100% - 2rem, 1040px);
    max-width: 1040px !important;
    background: transparent !important;
}

body.editorial-legal .legal-nav {
    min-height: 68px;
    margin-bottom: clamp(2rem, 6vw, 5rem);
    padding: 0.6rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--ft-border-strong) !important;
}

body.editorial-legal .legal-header {
    margin-bottom: clamp(2.5rem, 6vw, 5rem) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.editorial-legal .legal-title {
    max-width: 12ch;
    margin-inline: 0;
    color: var(--ft-ink) !important;
    -webkit-text-fill-color: var(--ft-ink) !important;
    font-size: clamp(2.5rem, 8vw, 5.8rem) !important;
    font-weight: 950;
}

body.editorial-legal .legal-title::after {
    display: none !important;
}

body.editorial-legal .legal-subtitle,
body.editorial-legal .legal-updated {
    color: var(--ft-muted) !important;
}

body.editorial-legal .toc,
body.editorial-legal .legal-card {
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
    box-shadow: none !important;
}

body.editorial-legal .toc {
    color: var(--ft-ink) !important;
}

body.editorial-legal .back-button,
body.editorial-legal .legal-page-link,
body.editorial-legal .legal-update-date,
body.editorial-legal .legal-updated {
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-legal .back-button:hover,
body.editorial-legal .legal-page-link:hover {
    color: var(--ft-accent) !important;
    background: var(--ft-surface-raised) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-legal .legal-page-link.active {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent) !important;
}

body.editorial-legal .toc {
    position: sticky;
    top: 1rem;
}

body.editorial-legal .toc a {
    min-height: 44px;
    display: flex;
    align-items: center;
    color: var(--ft-muted) !important;
}

body.editorial-legal .toc a:hover {
    color: var(--ft-ink) !important;
    background: var(--ft-surface-muted) !important;
}

body.editorial-legal .section-number {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
}

body.editorial-legal .info-box,
body.editorial-legal .warning-box,
body.editorial-legal .success-box {
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
}

body.editorial-legal .legal-footer-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

/* Homepage refinements */

body.editorial-home .editorial-nav {
    min-height: var(--ft-nav-height);
    padding-block: 0 !important;
}

body.editorial-home .editorial-hero {
    position: relative;
    min-height: 100svh;
    padding: var(--ft-nav-height) 1.5rem 0 !important;
    background: #010201 !important;
    overflow: hidden;
    isolation: isolate;
    z-index: 0 !important;
}

body.editorial-home .editorial-hero::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    height: clamp(16rem, 32vw, 30rem);
    background: linear-gradient(180deg, rgba(1, 2, 1, 0) 0%, rgba(10, 10, 10, 0.12) 25%, rgba(10, 10, 10, 0.45) 55%, rgba(10, 10, 10, 0.78) 80%, #0a0a0a 100%);
    pointer-events: none;
}

body.editorial-home .editorial-hero-inner {
    position: relative;
    width: min(100%, var(--ft-content));
    min-height: calc(100svh - var(--ft-nav-height));
    z-index: 1;
}

body.editorial-home .editorial-hero-layout {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    text-align: center;
}

body.editorial-home .hero-intro-stack {
    width: 100%;
    min-height: calc(60svh - var(--ft-nav-height));
    padding-block: clamp(2rem, 5vh, 4rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

body.editorial-home .reference-hero-atmosphere {
    position: absolute;
    inset-block: 0;
    left: 50%;
    width: 100vw;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: -1;
}

body.editorial-home .reference-hero-atmosphere::before,
body.editorial-home .reference-hero-atmosphere::after {
    display: none;
}

body.editorial-home .green-noir-base,
body.editorial-home .green-noir-grid,
body.editorial-home .green-noir-stars,
body.editorial-home .green-noir-floating-dots,
body.editorial-home .green-noir-orb,
body.editorial-home .reference-hero-vignette {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
}

body.editorial-home .green-noir-base {
    inset: 0;
    background: linear-gradient(180deg, #071108 0%, #020502 60%, #010201 100%);
}

body.editorial-home .green-noir-grid {
    inset: 0;
    opacity: 0.62;
    background-image:
        linear-gradient(rgb(174 244 60 / 0.105) 1px, transparent 1px),
        linear-gradient(90deg, rgb(174 244 60 / 0.105) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(ellipse 74% 64% at 50% 48%, black 28%, transparent 82%);
    -webkit-mask-image: radial-gradient(ellipse 74% 64% at 50% 48%, black 28%, transparent 82%);
    animation: ft-hero-grid-drift 28s linear infinite;
}

body.editorial-home .green-noir-stars {
    inset: -8%;
    background-repeat: no-repeat;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
}

body.editorial-home .green-noir-stars-far {
    opacity: 0.52;
    background-image:
        radial-gradient(circle at 7% 18%, rgb(255 255 255 / 0.9) 0 1px, transparent 1.4px),
        radial-gradient(circle at 18% 72%, rgb(255 255 255 / 0.72) 0 1px, transparent 1.4px),
        radial-gradient(circle at 31% 37%, rgb(255 255 255 / 0.62) 0 1px, transparent 1.4px),
        radial-gradient(circle at 43% 82%, rgb(255 255 255 / 0.74) 0 1px, transparent 1.4px),
        radial-gradient(circle at 58% 24%, rgb(255 255 255 / 0.78) 0 1px, transparent 1.4px),
        radial-gradient(circle at 69% 67%, rgb(255 255 255 / 0.66) 0 1px, transparent 1.4px),
        radial-gradient(circle at 82% 33%, rgb(255 255 255 / 0.82) 0 1px, transparent 1.4px),
        radial-gradient(circle at 93% 78%, rgb(255 255 255 / 0.7) 0 1px, transparent 1.4px);
    animation: ft-hero-stars-far 22s ease-in-out infinite alternate;
}

body.editorial-home .green-noir-stars-near {
    opacity: 0.72;
    background-image:
        radial-gradient(circle at 13% 42%, rgb(190 255 92 / 0.86) 0 1.4px, transparent 1.8px),
        radial-gradient(circle at 24% 16%, rgb(255 255 255 / 0.84) 0 1.25px, transparent 1.7px),
        radial-gradient(circle at 39% 61%, rgb(190 255 92 / 0.7) 0 1.3px, transparent 1.8px),
        radial-gradient(circle at 53% 12%, rgb(255 255 255 / 0.72) 0 1.2px, transparent 1.7px),
        radial-gradient(circle at 64% 86%, rgb(190 255 92 / 0.78) 0 1.3px, transparent 1.8px),
        radial-gradient(circle at 76% 51%, rgb(255 255 255 / 0.8) 0 1.25px, transparent 1.7px),
        radial-gradient(circle at 88% 20%, rgb(190 255 92 / 0.78) 0 1.35px, transparent 1.8px);
    animation: ft-hero-stars-near 16s ease-in-out infinite alternate;
}

body.editorial-home .green-noir-floating-dots {
    inset: 0;
    overflow: hidden;
    z-index: 1;
}

body.editorial-home .green-noir-floating-dots > span {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    opacity: 0.2;
    animation: ft-hero-dot-float var(--duration) var(--delay) ease-in-out infinite alternate;
    will-change: transform, opacity;
}

body.editorial-home .green-noir-floating-dots > .green {
    background: var(--ft-accent);
    box-shadow: 0 0 7px rgb(163 230 53 / 0.72);
}

body.editorial-home .green-noir-floating-dots > .white {
    background: rgb(255 255 255 / 0.9);
    box-shadow: 0 0 5px rgb(255 255 255 / 0.38);
}

body.editorial-home .green-noir-orb {
    top: 50%;
    left: 50%;
    width: min(58rem, 82vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(163 230 53 / 0.16) 0%, rgb(95 168 22 / 0.07) 38%, transparent 70%);
    filter: blur(72px);
    transform: translate(-50%, -50%);
}

body.editorial-home .reference-hero-vignette {
    inset: 0;
    background:
        radial-gradient(circle at 50% 48%, transparent 0 26%, rgb(0 0 0 / 0.28) 68%, rgb(0 0 0 / 0.78) 100%),
        linear-gradient(to bottom, rgb(0 0 0 / 0.12), transparent 34%, rgb(0 0 0 / 0.86) 100%);
    z-index: 2;
}

body.editorial-home .editorial-hero-copy {
    position: relative;
    max-width: 58rem;
    margin-inline: auto;
    z-index: 3;
    animation: ft-hero-copy-in 0.9s var(--ft-ease) both;
}

body.editorial-home #heroTitle {
    max-width: none;
    margin: 0 auto 1.75rem;
    color: oklch(0.97 0.008 126) !important;
    font-size: clamp(3.25rem, 7vw, 5.9rem) !important;
    font-weight: 700;
    letter-spacing: -0.025em !important;
    line-height: 1.18 !important;
    text-wrap: balance;
}

body.editorial-home .green-noir-title-line {
    display: block;
}

body.editorial-home .green-noir-title-line:first-child {
    white-space: nowrap;
}

body.editorial-home .green-noir-accent-wrap {
    position: relative;
    display: inline-block;
    padding-bottom: 0.08em;
}

body.editorial-home #heroTitle .text-gradient {
    padding: 0;
    color: var(--ft-accent) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

body.editorial-home .green-noir-accent-wrap > svg {
    position: absolute;
    inset-inline: 0;
    bottom: -0.02em;
    width: 100%;
    height: 0.12em;
    color: var(--ft-accent);
    opacity: 0.62;
}

body.editorial-home .editorial-subtitle {
    max-width: 54ch;
    margin-inline: auto;
    color: oklch(0.75 0.018 126);
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    line-height: 1.95;
    text-shadow: none;
}

body.editorial-home .editorial-actions {
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2.25rem;
}

body.editorial-home .editorial-primary-action,
body.editorial-home .editorial-secondary-action {
    min-height: 3.75rem;
    padding: 0.85rem 1.75rem;
    border-radius: 999px;
    font-size: 0.92rem;
    transition: transform 0.3s var(--ft-ease), background-color 0.3s var(--ft-ease), color 0.3s var(--ft-ease), border-color 0.3s var(--ft-ease);
}

body.editorial-home .editorial-primary-action svg,
body.editorial-home .editorial-secondary-action svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
}

body.editorial-home .green-noir-primary-action {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent);
    border: 2px solid var(--ft-accent);
}

body.editorial-home .editorial-secondary-action {
    padding-inline: 1.4rem;
    color: var(--ft-ink) !important;
    background: #0d100d;
    border: 1px solid rgb(255 255 255 / 0.13);
}

body.editorial-home .editorial-primary-action:hover,
body.editorial-home .editorial-secondary-action:hover {
    transform: translateY(-2px);
}

body.editorial-home .editorial-secondary-action:hover {
    color: var(--ft-ink) !important;
    background: rgb(255 255 255 / 0.09);
    border-color: rgb(255 255 255 / 0.4);
}

body.editorial-home .editorial-proof {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 64rem);
    margin-top: clamp(2.75rem, 7vh, 5.5rem);
    padding-block: clamp(1.35rem, 2.5vw, 1.85rem);
    border-block: 1px solid rgb(255 255 255 / 0.14);
    gap: 0;
    z-index: 3;
    animation: ft-hero-copy-in 0.9s 0.18s var(--ft-ease) both;
}

body.editorial-home .editorial-proof-item {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: center;
    gap: clamp(0.45rem, 0.8vw, 0.75rem);
    padding-inline: clamp(0.75rem, 2.2vw, 2rem);
    color: var(--ft-ink-soft);
    font-size: 0.875rem;
    line-height: 1.5;
}

body.editorial-home .editorial-proof-item + .editorial-proof-item {
    border-inline-start: 1px solid rgb(255 255 255 / 0.13);
}

body.editorial-home .editorial-proof-value {
    order: -2;
    margin: 0;
    color: var(--ft-accent);
    font-size: inherit;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.025em;
    line-height: 0.95;
    unicode-bidi: isolate;
    white-space: nowrap;
}

body.editorial-home .editorial-proof-label {
    color: var(--ft-ink-soft);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.55;
    text-wrap: balance;
}

body.editorial-home .editorial-proof-separator {
    order: -1;
    color: rgb(255 255 255 / 0.34);
    font-size: inherit;
    font-weight: 300;
    line-height: 1;
}

@media (min-width: 640px) {
    body.editorial-home .editorial-proof-item {
        font-size: 1rem;
    }
}

@media (min-width: 768px) {
    body.editorial-home .editorial-proof-item {
        font-size: 1.125rem;
    }
}

body.editorial-home .hero-software-stage {
    --orbit-shift-x: 0px;
    --orbit-shift-y: 0px;
    position: relative;
    align-self: center;
    width: 100vw;
    height: clamp(24rem, 42vw, 24rem);
    min-height: 0;
    margin-block: clamp(1.25rem, 3vw, 2.75rem) clamp(1.75rem, 4vw, 3.5rem);
    isolation: isolate;
    overflow: hidden;
    background: #ffffff;
    touch-action: none;
    z-index: 3;
}

body.editorial-home .hero-software-stage::before,
body.editorial-home .hero-software-stage::after {
    display: none;
}

body.editorial-home .hero-software-stage__viewport {
    inset: 0;
    overflow: hidden;
    isolation: isolate;
}

body.editorial-home .hero-software-orbits {
    position: absolute;
    inset: 6% 8%;
    z-index: 0;
    pointer-events: none;
    transform: translate3d(var(--orbit-shift-x), var(--orbit-shift-y), 0);
    transition: transform 220ms var(--ft-ease);
}

body.editorial-home .hero-software-orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border-style: solid;
    border-radius: 50%;
    will-change: transform;
}

body.editorial-home .hero-software-orbit--primary {
    width: min(72vw, 58rem);
    height: 62%;
    border-width: clamp(2px, 0.22vw, 4px);
    border-color: rgb(163 230 53 / 0.72);
    animation: ft-software-orbit-primary 24s linear infinite;
}

body.editorial-home .hero-software-orbit--secondary {
    width: min(54vw, 42rem);
    height: 68%;
    border-width: clamp(1px, 0.12vw, 2px);
    border-color: rgb(163 230 53 / 0.38);
    animation: ft-software-orbit-secondary 30s linear infinite;
}

body.editorial-home .hero-software-stage #hero3dCanvas {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    cursor: crosshair;
}

body.editorial-home .hero-software-stage__fallback {
    z-index: 3;
    inset: 8% 12%;
    gap: clamp(1.5rem, 8vw, 8rem);
    transform-style: preserve-3d;
}

body.editorial-home .hero-software-stage__fallback span {
    position: relative;
    z-index: 1;
    flex: 0 1 clamp(6.75rem, 13vw, 10.5rem);
    border-radius: var(--ft-radius-lg);
}

body.editorial-home .hero-software-stage__fallback .logo-ae,
body.editorial-home .hero-software-stage__fallback .logo-pr {
    color: #9999ff;
    background: #00005b;
    border-color: #9999ff;
}

body.editorial-home .hero-software-stage.webgl-ready .hero-software-stage__fallback {
    visibility: hidden;
}

body.editorial-home .hero-software-stage .editorial-hero-visual-label {
    right: auto;
    left: 50%;
    bottom: 0.75rem;
    transform: translateX(-50%);
    color: rgb(9 9 75 / 0.56);
    font-size: 0.63rem;
    letter-spacing: 0.1em;
    writing-mode: horizontal-tb;
}

@keyframes ft-software-orbit-primary {
    0%, 100% { transform: translate(-50%, -50%) rotate(-8deg) scale(1); }
    50% { transform: translate(-49%, -51%) rotate(-5deg) scale(0.985); }
}

@keyframes ft-software-orbit-secondary {
    0%, 100% { transform: translate(-50%, -50%) rotate(12deg) scale(1); }
    50% { transform: translate(-51%, -49%) rotate(9deg) scale(1.015); }
}

@keyframes ft-hero-copy-in {
    from {
        opacity: 0;
        transform: translateY(1.5rem);
        filter: blur(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes ft-hero-stars-far {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(1.5rem, -4rem, 0); }
}

@keyframes ft-hero-stars-near {
    from { transform: translate3d(0, 2.5rem, 0); opacity: 0.56; }
    to { transform: translate3d(-1.75rem, -3.5rem, 0); opacity: 0.82; }
}

@keyframes ft-hero-grid-drift {
    to { background-position: 44px 44px; }
}

@keyframes ft-hero-dot-float {
    0% { opacity: 0.18; transform: translate3d(0, 2rem, 0) scale(0.72); }
    45% { opacity: 0.9; }
    100% { opacity: 0.36; transform: translate3d(var(--drift-x), -4rem, 0) scale(1.12); }
}

body.editorial-home .editorial-nav-cta,
body.editorial-home .editorial-primary-action,
body.editorial-home .editorial-nav .btn-primary {
    color: var(--ft-on-accent) !important;
}

body.editorial-home .editorial-primary-action.green-noir-primary-action {
    color: var(--ft-on-accent) !important;
}

body.editorial-home .editorial-primary-action.green-noir-primary-action:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent-strong);
    border-color: var(--ft-accent-strong);
}

body.editorial-home .section-title {
    font-size: clamp(2.25rem, 5vw, 4.4rem) !important;
    font-weight: 950;
    letter-spacing: -0.035em !important;
}

body.editorial-home .feature-card,
body.editorial-home .faq-item,
body.editorial-home .testimonial-card-new,
body.editorial-home .testimonial-card-text-only,
body.editorial-home .membership-offer,
body.editorial-home .course-card-slide {
    border-radius: var(--ft-radius-md) !important;
    box-shadow: none !important;
}

body.editorial-home .feature-card:hover,
body.editorial-home .faq-item:hover,
body.editorial-home .testimonial-card-new:hover,
body.editorial-home .testimonial-card-text-only:hover,
body.editorial-home .course-card-slide:hover {
    transform: translateY(-4px) !important;
}

body.editorial-home .courses-section-full,
body.editorial-home .courses-slider-wrapper,
body.editorial-home .courses-slider,
body.editorial-home .testimonials-section-full,
body.editorial-home .testimonials-slider-wrapper,
body.editorial-home .testimonials-slider {
    max-width: 100%;
}

body.editorial-home .slider-nav-btn,
body.editorial-home .testimonial-nav-btn,
body.editorial-home .testimonial-popup-close {
    width: 48px !important;
    height: 48px !important;
    min-height: 48px;
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border-strong) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
}

body.editorial-home .slider-nav-btn:hover,
body.editorial-home .testimonial-nav-btn:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

/* Dark-only homepage surfaces. The legacy homepage carries a later, hard-coded
   light editorial layer, so these route-scoped rules keep every section in the
   shared dark system without disturbing its layout or content. */
body.editorial-home main,
body.editorial-home #features,
body.editorial-home #courses,
body.editorial-home #videos-showcase,
body.editorial-home #testimonials,
body.editorial-home #pricing {
    color: var(--ft-ink) !important;
    background: var(--ft-paper) !important;
}

body.editorial-home .section-title,
body.editorial-home .advantages-heading__promise,
body.editorial-home .pricing-heading__note {
    color: var(--ft-ink) !important;
}

body.editorial-home .section-subtitle,
body.editorial-home .feature-card p,
body.editorial-home .testimonial-content-text,
body.editorial-home .testimonial-text-full {
    color: var(--ft-muted) !important;
}

body.editorial-home .feature-card,
body.editorial-home .price-card,
body.editorial-home .course-card-slide,
body.editorial-home .video-showcase-container,
body.editorial-home .testimonial-card-new,
body.editorial-home .testimonial-card-text-only,
body.editorial-home .testimonial-info-area,
body.editorial-home .testimonial-text-card-content,
body.editorial-home .testimonial-popup-content-text {
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-home .feature-card:hover,
body.editorial-home .course-card-slide:hover,
body.editorial-home .testimonial-card-new:hover,
body.editorial-home .testimonial-card-text-only:hover {
    border-color: var(--ft-border-strong) !important;
}

body.editorial-home .course-nav-btn,
body.editorial-home .testimonial-nav-btn,
body.editorial-home .testimonial-popup-close {
    color: var(--ft-ink) !important;
    background: var(--ft-surface-raised) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-home .course-nav-btn:hover,
body.editorial-home .testimonial-nav-btn:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent) !important;
}

body.editorial-home .video-item .video-inner {
    border-color: var(--ft-border) !important;
}

body.editorial-home .testimonial-video-area {
    background: var(--ft-surface-muted) !important;
}

body.editorial-home .advantages-layout {
    background: var(--ft-surface) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-home .advantage-featured,
body.editorial-home .faq-intro {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-home .advantage-featured h3,
body.editorial-home .advantage-featured > p,
body.editorial-home .advantage-featured__topline,
body.editorial-home .advantage-featured__path,
body.editorial-home .faq-intro .section-title,
body.editorial-home .faq-intro .section-subtitle,
body.editorial-home .faq-intro__hint {
    color: var(--ft-on-accent) !important;
}

body.editorial-home .advantage-row {
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-home .advantage-row h3 {
    color: var(--ft-ink) !important;
}

body.editorial-home .advantage-row p {
    color: var(--ft-muted) !important;
}

body.editorial-home .advantage-row:hover {
    background: var(--ft-surface-raised) !important;
}

body.editorial-home .advantage-row__icon,
body.editorial-home .faq-intro__mark {
    color: var(--ft-on-strong) !important;
    background: var(--ft-strong-surface) !important;
}

body.editorial-home .advantage-row:hover .advantage-row__icon,
body.editorial-home .feature-icon,
body.editorial-home .check-icon,
body.editorial-home .testimonial-avatar,
body.editorial-home .testimonial-popup-avatar,
body.editorial-home .faq-toggle,
body.editorial-home .membership-check {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent) !important;
}

body.editorial-home #faq,
body.editorial-home .faq-section,
body.editorial-home .faq-list,
body.editorial-home .faq-list .faq-item,
body.editorial-home .faq-list .faq-question {
    color: var(--ft-on-strong) !important;
    background: var(--ft-strong-surface) !important;
}

body.editorial-home .faq-shell,
body.editorial-home .faq-list .faq-item {
    border-color: var(--ft-border) !important;
}

body.editorial-home .faq-list .faq-question:hover {
    color: var(--ft-accent) !important;
    background: var(--ft-surface) !important;
}

body.editorial-home .faq-list .faq-item.active,
body.editorial-home .faq-list .faq-item.active .faq-question,
body.editorial-home .faq-list .faq-answer {
    color: var(--ft-ink) !important;
    background: var(--ft-surface-raised) !important;
}

body.editorial-home .faq-list .faq-answer p {
    color: var(--ft-ink-soft) !important;
}

body.editorial-home .membership-offer {
    color: var(--ft-on-strong) !important;
    background: var(--ft-strong-surface) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-home .membership-offer__button,
body.editorial-home .membership-offer__price {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-home .membership-offer__button:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent-strong) !important;
    border-color: var(--ft-accent-strong) !important;
}

body.editorial-home footer {
    color: var(--ft-ink) !important;
    background: var(--ft-surface) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-home .faq-question {
    min-height: 68px;
}

body.editorial-home .faq-list .faq-answer,
body.editorial-home .faq-list .faq-item.active .faq-answer {
    display: grid;
    max-height: none !important;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 300ms var(--ft-ease) !important;
}

body.editorial-home .faq-list .faq-item.active .faq-answer {
    grid-template-rows: 1fr;
}

body.editorial-home .faq-list .faq-answer p {
    min-height: 0;
    overflow: hidden;
    padding: 0 1.25rem !important;
}

body.editorial-home .faq-list .faq-item.active .faq-answer p {
    padding-bottom: 1.35rem !important;
}

/* Admin */
body.editorial-admin {
    color: var(--ft-ink) !important;
    background: var(--ft-paper) !important;
}

body.editorial-admin #sidebar {
    background: var(--ft-strong-surface) !important;
    border-inline-start: 0 !important;
}

body.editorial-admin #sidebar h1,
body.editorial-admin #sidebar .sidebar-link,
body.editorial-admin #sidebar .text-gray-400,
body.editorial-admin #sidebar .text-gray-500 {
    color: var(--ft-on-strong) !important;
}

body.editorial-admin #sidebar .sidebar-link {
    min-height: 46px;
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-admin #sidebar .sidebar-link.active,
body.editorial-admin #sidebar .sidebar-link:hover {
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border: 0 !important;
}

body.editorial-admin main > header {
    min-height: 72px;
    color: var(--ft-ink);
    background: color-mix(in oklch, var(--ft-paper) 94%, transparent) !important;
    border-bottom: 1px solid var(--ft-border) !important;
    backdrop-filter: blur(10px);
}

body.editorial-admin main > header button[aria-controls="sidebar"] {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ft-ink) !important;
}

body.editorial-admin .admin-card,
body.editorial-admin .stat-card,
body.editorial-admin .chart-card,
body.editorial-admin .card {
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
    box-shadow: none !important;
}

body.editorial-admin main,
body.editorial-admin .page {
    color: var(--ft-ink) !important;
    background: var(--ft-paper) !important;
}

body.editorial-admin .bg-white\/5,
body.editorial-admin .bg-white\/10 {
    background: var(--ft-surface-raised) !important;
}

body.editorial-admin table {
    min-width: 720px;
}

body.editorial-admin th {
    color: var(--ft-muted) !important;
    background: var(--ft-surface-raised) !important;
}

body.editorial-admin td {
    color: var(--ft-ink) !important;
    border-color: var(--ft-border) !important;
}

body.editorial-admin #modal {
    z-index: var(--ft-z-modal) !important;
}

body.editorial-admin #modal > div,
body.editorial-admin #modal-content {
    color: var(--ft-ink);
    background: var(--ft-surface) !important;
    border-radius: var(--ft-radius-md) !important;
}

@media (max-width: 1023px) {
    body.editorial-course-detail main > .container > .grid:first-child {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.editorial-course-detail main > .container > .grid:first-child > * {
        min-width: 0;
        width: 100%;
    }

    body.editorial-video main {
        display: block !important;
    }

    body.editorial-legal .legal-layout {
        grid-template-columns: 1fr !important;
    }

    body.editorial-legal .toc {
        position: static;
    }
}

@media (max-width: 767px) {
    :root {
        --ft-nav-height: 66px;
    }

    body.editorial-page .container {
        width: min(100% - 1.5rem, var(--ft-content));
    }

    body.editorial-page > nav:not(.legal-footer-nav) > .container {
        min-height: var(--ft-nav-height);
        gap: 0.65rem !important;
    }

    body.editorial-page > nav:not(.legal-footer-nav) > .container > a[href="/"] {
        flex: 0 1 auto;
        font-size: 1.1rem !important;
        line-height: 1.25;
    }

    body.editorial-page > nav:not(.legal-footer-nav) #authButtons {
        gap: 0.45rem !important;
    }

    body.editorial-page > nav:not(.legal-footer-nav) #authButtons .nav-link {
        display: none;
    }

    body.editorial-page > nav:not(.legal-footer-nav) #authButtons .btn-primary {
        min-height: 44px;
        padding: 0.55rem 0.8rem !important;
        font-size: 0.78rem;
    }

    body.editorial-course-detail #courseThumbnail {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    body.editorial-course-detail main > .container > .grid:first-child {
        gap: 1.75rem !important;
    }

    body.editorial-video .video-controls {
        padding: 8px !important;
    }

    body.editorial-video .controls-row {
        gap: 6px;
    }

    body.editorial-video .controls-left,
    body.editorial-video .controls-right {
        gap: 0;
    }

    body.editorial-video .volume-container {
        display: none;
    }

    body.editorial-video .time-display {
        min-width: 70px;
        font-size: 11px;
    }

    body.editorial-video .control-btn,
    body.editorial-video .speed-btn {
        min-width: 44px;
        min-height: 44px;
        padding: 8px;
    }

    body.editorial-video .speed-menu {
        inset-inline-end: 0;
        inset-inline-start: auto;
    }

    body.editorial-auth,
    body.editorial-subscribe {
        background: var(--ft-paper) !important;
    }

    body.editorial-auth::before,
    body.editorial-subscribe::before {
        display: none;
    }

    body.editorial-auth .card,
    body.editorial-subscribe .card {
        border-color: var(--ft-border) !important;
    }

    body.editorial-home .editorial-hero {
        min-height: 100svh;
        padding: var(--ft-nav-height) 1rem 0 !important;
    }

    body.editorial-home .editorial-hero-inner {
        min-height: calc(100svh - var(--ft-nav-height));
    }

    body.editorial-home .hero-intro-stack {
        padding-block: clamp(1.5rem, 4vh, 2.5rem);
    }

    body.editorial-home #heroTitle {
        max-width: none;
        margin-bottom: 1.35rem;
        font-size: clamp(2.2rem, 9.6vw, 3.4rem) !important;
        letter-spacing: -0.02em !important;
        line-height: 1.28 !important;
    }

    body.editorial-home #heroTitle .text-gradient {
        white-space: normal;
    }

    body.editorial-home .editorial-subtitle {
        max-width: 34rem;
        font-size: 0.95rem;
        line-height: 1.95;
    }

    body.editorial-home .editorial-actions {
        width: min(100%, 22rem);
        margin-top: 1.75rem;
        gap: 0.75rem;
    }

    body.editorial-home .editorial-primary-action,
    body.editorial-home .editorial-secondary-action {
        width: 100%;
    }

    body.editorial-home .green-noir-orb {
        width: 38rem;
        filter: blur(64px);
    }

    body.editorial-home .editorial-proof {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: 22rem;
        margin-top: 2.25rem;
        padding-block: 0.35rem;
        gap: 0;
    }

    body.editorial-home .editorial-proof-item {
        justify-content: flex-start;
        padding: 0.9rem 0.5rem;
    }

    body.editorial-home .editorial-proof-item + .editorial-proof-item {
        border-inline-start: 0;
        border-top: 1px solid rgb(255 255 255 / 0.11);
    }

    body.editorial-home .courses-section-full,
    body.editorial-home .courses-slider-wrapper,
    body.editorial-home .courses-slider,
    body.editorial-home .testimonials-section-full,
    body.editorial-home .testimonials-slider-wrapper,
    body.editorial-home .testimonials-slider {
        width: 100% !important;
        margin-inline: 0 !important;
    }

    body.editorial-home .testimonials-track {
        padding-inline: 0.25rem;
    }

    body.editorial-home footer a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    body.editorial-legal .legal-nav {
        align-items: flex-start;
        gap: 1rem;
        flex-direction: column;
    }

    body.editorial-legal .legal-nav > div,
    body.editorial-legal .legal-nav-links {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem !important;
    }

    body.editorial-legal .legal-nav a,
    body.editorial-legal .legal-footer-nav a {
        min-height: 44px;
    }

    body.editorial-admin main {
        margin-inline-start: 0 !important;
    }
}

@media (max-width: 420px) {
    body.editorial-page .btn-primary,
    body.editorial-page .btn-secondary,
    body.editorial-page .btn-outline {
        padding-inline: 0.9rem;
    }

    body.editorial-course-detail #courseTitle {
        font-size: clamp(2rem, 11vw, 2.8rem) !important;
    }

    body.editorial-auth .card,
    body.editorial-subscribe .card {
        padding: 1.2rem !important;
    }

    body.editorial-payment .callback-card,
    body.editorial-not-found > main {
        padding: 1.5rem 1.1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Advantages journey — dark editorial timeline, adapted to the green brand */
body.editorial-home #features.advantages-section.advantages-journey {
    position: relative;
    isolation: isolate;
    overflow: clip;
    padding-block: clamp(6.5rem, 10vw, 10rem);
    color: #f4f7f4;
    background: #0a0a0a !important;
    border-top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.editorial-home .advantages-journey__intro {
    max-width: 52rem;
    margin: 0 auto clamp(4.5rem, 8vw, 7rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
}

body.editorial-home .advantages-journey__intro > div {
    max-width: 48rem;
}

body.editorial-home .advantages-journey__intro .section-title {
    margin: 0;
    color: #f5f8f5 !important;
    font-size: clamp(2.35rem, 6vw, 5.3rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.045em;
}

body.editorial-home .advantages-journey__track {
    --journey-progress: 0;
    position: relative;
    max-width: 73rem;
    margin-inline: auto;
}

body.editorial-home .advantages-journey__line {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 50%;
    width: 4.5rem;
    height: 100%;
    overflow: visible;
    transform: translateX(-50%);
    pointer-events: none;
}

body.editorial-home .advantages-journey__line-base,
body.editorial-home .advantages-journey__line-progress {
    vector-effect: non-scaling-stroke;
    fill: none;
}

body.editorial-home .advantages-journey__line-base {
    stroke: rgba(255, 255, 255, 0.15);
    stroke-width: 1.5;
    stroke-dasharray: 8 12;
}

body.editorial-home .advantages-journey__line-progress {
    stroke: oklch(0.9 0.18 124.92);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-dasharray: 9999;
    stroke-dashoffset: 9999;
    filter: drop-shadow(0 0 5px oklch(0.9 0.18 124.92 / 0.5));
}

body.editorial-home .advantages-journey__runner {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    width: 0.72rem;
    height: 0.72rem;
    opacity: 0;
    background: oklch(0.9 0.18 124.92);
    border: 2px solid var(--ft-accent);
    border-radius: 50%;
    box-shadow: 0 0 0 5px oklch(0.9 0.18 124.92 / 0.11), 0 0 8px oklch(0.9 0.18 124.92 / 0.8);
    transform: translate3d(-50%, 0, 0);
    transition: opacity 180ms cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
    pointer-events: none;
}

body.editorial-home .advantages-journey__track.has-progress .advantages-journey__runner {
    opacity: 1;
}

body.editorial-home .journey-step {
    position: relative;
    z-index: 1;
    min-height: 19rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.5rem minmax(0, 1fr);
    align-items: center;
    direction: ltr;
}

body.editorial-home .journey-step__card,
body.editorial-home .journey-step__number,
body.editorial-home .journey-step__node {
    grid-row: 1;
}

body.editorial-home .journey-step--right .journey-step__card {
    grid-column: 3;
}

body.editorial-home .journey-step--left .journey-step__card {
    grid-column: 1;
}

body.editorial-home .journey-step--right .journey-step__number {
    grid-column: 1;
}

body.editorial-home .journey-step--left .journey-step__number {
    grid-column: 3;
}

body.editorial-home .journey-step__card {
    position: relative;
    width: calc(100% - clamp(0.7rem, 2.5vw, 2.25rem));
    padding: clamp(1.6rem, 3vw, 2.5rem);
    direction: rtl;
    color: #eef4ef !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
}

body.editorial-home .journey-step--right .journey-step__card {
    justify-self: end;
}

body.editorial-home .journey-step--left .journey-step__card {
    justify-self: start;
}

body.editorial-home .journey-step__card::before {
    content: "";
    position: absolute;
    inset-block: 1.5rem;
    inset-inline-start: -1px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, transparent, oklch(0.9 0.18 124.92 / 0.9), transparent);
}

body.editorial-home .journey-step__card:hover {
    transform: translateY(-4px);
    background: linear-gradient(145deg, oklch(0.9 0.18 124.92 / 0.075), rgba(255, 255, 255, 0.025)) !important;
    border-color: oklch(0.9 0.18 124.92 / 0.38) !important;
}

body.editorial-home .journey-step__card h3 {
    margin: 1.15rem 0 0.75rem;
    color: #f7faf7 !important;
    font-size: clamp(1.28rem, 2vw, 1.7rem);
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: -0.025em;
}

body.editorial-home .journey-step__card > p {
    margin: 0;
    color: rgba(232, 241, 233, 0.68) !important;
    font-size: 0.98rem;
    line-height: 1.95;
}

body.editorial-home .journey-step__eyebrow {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--ft-accent);
    font-size: 0.83rem;
    font-weight: 800;
}

body.editorial-home .journey-step__icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--ft-accent) !important;
    background: oklch(0.9 0.18 124.92 / 0.08) !important;
    border: 1px solid oklch(0.9 0.18 124.92 / 0.25) !important;
    border-radius: 0.75rem;
}

body.editorial-home .journey-step__icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

body.editorial-home .journey-step__card:not(.journey-step__card--featured) > .journey-step__icon + h3 {
    margin-top: 1.35rem;
}

body.editorial-home .journey-step__number {
    align-self: center;
    justify-self: center;
    color: oklch(0.9 0.18 124.92 / 0.1);
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(5.5rem, 9vw, 8rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.08em;
    user-select: none;
}

body.editorial-home .journey-step__node {
    grid-column: 2;
    justify-self: center;
    width: 0.8rem;
    height: 0.8rem;
    background: #0c100d;
    border: 2px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

body.editorial-home .journey-step.is-active .journey-step__node {
    background: oklch(0.9 0.18 124.92);
    border-color: var(--ft-accent);
    box-shadow: 0 0 0 6px oklch(0.9 0.18 124.92 / 0.1), 0 0 8px oklch(0.9 0.18 124.92 / 0.8);
    transform: scale(1.12);
}

body.editorial-home .journey-step__milestones {
    margin-top: 1.5rem;
    padding-top: 1.15rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--ft-accent);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.72rem;
    font-weight: 800;
}

body.editorial-home .journey-step__milestones span {
    padding: 0.45rem 0.6rem;
    white-space: nowrap;
    background: oklch(0.9 0.18 124.92 / 0.07);
    border: 1px solid oklch(0.9 0.18 124.92 / 0.16);
    border-radius: 999px;
}

body.editorial-home .journey-step__milestones svg {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 auto;
    color: oklch(0.9 0.18 124.92 / 0.55);
}

body.editorial-home .advantages-journey.is-enhanced .journey-step__card,
body.editorial-home .advantages-journey.is-enhanced .journey-step__number {
    opacity: 0;
    transform: translateY(1rem);
}

body.editorial-home .advantages-journey.is-enhanced .journey-step.is-visible .journey-step__card,
body.editorial-home .advantages-journey.is-enhanced .journey-step.is-visible .journey-step__number {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 600ms ease, transform 600ms ease, border-color 240ms ease, background-color 240ms ease;
}

body.editorial-home .advantages-journey.is-enhanced .journey-step.is-visible .journey-step__card:hover {
    transform: translateY(-4px);
}

@media (max-width: 800px) {
    body.editorial-home .advantages-section.advantages-journey {
        padding-block: 5.5rem;
    }

    body.editorial-home .advantages-journey__intro {
        margin-bottom: 3.75rem;
    }

    body.editorial-home .advantages-journey__intro .section-title {
        font-size: clamp(2.25rem, 12vw, 3.7rem);
    }

    body.editorial-home .advantages-journey__line,
    body.editorial-home .advantages-journey__runner,
    body.editorial-home .journey-step__node {
        display: none;
    }

    body.editorial-home .advantages-journey__track {
        max-width: 34rem;
    }

    body.editorial-home .journey-step {
        min-height: 0;
        display: block;
        margin-bottom: 2.6rem;
        direction: rtl;
    }

    body.editorial-home .journey-step:last-child {
        margin-bottom: 0;
    }

    body.editorial-home .journey-step__number {
        display: block;
        position: relative;
        z-index: 0;
        margin: 0 0 0.75rem;
        color: oklch(0.9 0.18 124.92 / 0.13);
        font-size: 4.4rem;
        line-height: 0.9;
        text-align: start;
    }

    body.editorial-home .journey-step__card {
        position: relative;
        z-index: 1;
        width: 100%;
        padding: 1.5rem;
    }

    body.editorial-home .journey-step__milestones {
        flex-wrap: wrap;
    }
}

@media (max-width: 430px) {
    body.editorial-home .journey-step__milestones svg {
        display: none;
    }

    body.editorial-home .journey-step__milestones {
        gap: 0.4rem;
    }

    body.editorial-home .journey-step__milestones span {
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.editorial-home .journey-step__card,
    body.editorial-home .journey-step__number,
    body.editorial-home .journey-step__node,
    body.editorial-home .advantages-journey__runner {
        transition: none !important;
    }

    body.editorial-home .advantages-journey__runner {
        display: none !important;
    }
}

/* One uninterrupted site canvas. Component cards keep their raised surfaces. */
body.editorial-page,
body.editorial-courses main,
body.editorial-course-detail main,
body.editorial-dashboard main,
body.editorial-legal,
body.editorial-legal .legal-page,
body.editorial-auth,
body.editorial-subscribe,
body.editorial-payment,
body.editorial-not-found,
body.editorial-video,
body.editorial-admin,
body.editorial-admin main,
body.editorial-admin .page {
    background: #0a0a0a !important;
}

body.editorial-home main,
body.editorial-home main > #features.advantages-section.advantages-journey,
body.editorial-home main > #courses,
body.editorial-home main > #videos-showcase,
body.editorial-home main > #testimonials,
body.editorial-home main > #faq.faq-section,
body.editorial-home main > #pricing,
body.editorial-home footer {
    background: #0a0a0a !important;
}

/* Keep the hero on the same solid canvas without decorative atmosphere layers. */
body.editorial-home .editorial-hero {
    background: #0a0a0a !important;
}

body.editorial-home .editorial-hero::after {
    content: none;
    display: none;
}

body.editorial-home .editorial-hero .reference-hero-atmosphere {
    display: none !important;
}

/* Stable liquid-glass navigation without changing the original layout geometry. */
body.editorial-page > nav:not(.legal-footer-nav) {
    position: sticky !important;
    top: 1.25rem !important;
    right: auto !important;
    left: auto !important;
    width: min(calc(100% - 2rem), 64rem) !important;
    min-height: 0;
    margin-inline: auto;
    padding: .35rem !important;
    background: oklch(0.12 0.014 128 / 0.9) !important;
    border: 1px solid color-mix(in oklch, var(--ft-ink) 18%, transparent) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
}

body.editorial-page > nav:not(.legal-footer-nav)::before {
    content: none;
    display: none;
}

body.editorial-page > nav:not(.legal-footer-nav) > .container {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}

body.editorial-page > nav:not(.legal-footer-nav) > .container > .flex {
    min-height: 3.5rem;
    gap: .75rem;
}

body.editorial-home .editorial-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 40px;
    padding: .4rem .55rem;
    border-radius: 8px;
    color: var(--ft-ink) !important;
    text-decoration: none;
    transition: color 180ms var(--ft-ease), background-color 180ms var(--ft-ease);
}

body.editorial-home .editorial-brand:hover {
    color: var(--ft-accent) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-home .editorial-brand__mark {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    color: var(--ft-accent);
}

body.editorial-home .editorial-brand span {
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: -.035em;
}

body.editorial-home .editorial-nav .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .5rem .7rem;
    color: var(--ft-ink-soft) !important;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 650;
}

body.editorial-home .editorial-nav .nav-link:hover {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-home .editorial-nav #authButtons .btn-primary {
    min-height: 40px;
    padding: .55rem .9rem !important;
    border-radius: 8px !important;
    font-size: .78rem;
}

body.editorial-home .editorial-nav > .container > .flex > button {
    display: inline-grid;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    place-items: center;
    color: var(--ft-ink) !important;
    background: transparent;
    border: 1px solid var(--ft-border);
    border-radius: 8px;
}

body.editorial-home .editorial-nav > .container > .flex > button:hover {
    color: var(--ft-accent) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-home .editorial-nav #mobileMenu {
    top: calc(100% + .6rem);
    right: .35rem;
    left: .35rem;
    margin: 0 !important;
    padding: .75rem !important;
    background: oklch(0.12 0.014 128 / 0.97) !important;
    border: 1px solid color-mix(in oklch, var(--ft-ink) 18%, transparent) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
}

body.editorial-home .editorial-nav #mobileMenu a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: .65rem .75rem;
    border-radius: 8px;
    color: var(--ft-ink-soft) !important;
}

body.editorial-home .editorial-nav #mobileMenu a:hover {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-home .editorial-nav #mobileMenu .btn-primary {
    justify-content: center;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-home .editorial-nav #mobileMenu hr {
    margin: .35rem 0;
    border-color: var(--ft-border) !important;
}

/* Hide the old full-width navigation treatment. */
body.editorial-page > nav:not(.legal-footer-nav) + main {
    position: relative;
}

@media (max-width: 767px) {
    body.editorial-page > nav:not(.legal-footer-nav) {
        top: .75rem !important;
        width: calc(100% - 1rem) !important;
    }

    body.editorial-page > nav:not(.legal-footer-nav) > .container > .flex {
        min-height: 3.25rem;
    }

    body.editorial-home .editorial-brand span {
        font-size: .94rem;
    }
}

@media (min-width: 1024px) {
    body.editorial-home .editorial-nav .lg\:flex {
        display: flex !important;
    }

    body.editorial-home .editorial-nav .lg\:hidden {
        display: none !important;
    }
}

/* Keep the old pseudo-element override inert after the floating-header update. */
body.editorial-page > nav:not(.legal-footer-nav)::after {
    content: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    body.editorial-page > nav:not(.legal-footer-nav),
    body.editorial-home .editorial-nav #mobileMenu {
        background: var(--ft-surface) !important;
    }
}

@media (max-width: 767px) {
    body.editorial-page > nav:not(.legal-footer-nav) > .container {
        width: min(100% - 1rem, var(--ft-content));
    }

    body.editorial-page > nav:not(.legal-footer-nav) a[href="/"] {
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.editorial-page > nav:not(.legal-footer-nav) .nav-link,
    body.editorial-home .editorial-nav .editorial-link {
        transition: none !important;
    }
}

/* Pricing offer: clearer value hierarchy with a compact, responsive price lockup. */
body.editorial-home .membership-offer__price {
    align-items: stretch;
    min-width: 0;
    gap: clamp(1.5rem, 4vw, 3rem);
    padding: clamp(1.5rem, 3.4vw, 2.75rem) !important;
    overflow: hidden;
    isolation: isolate;
}

/* body.editorial-home .membership-offer__price::before {
    position: absolute;
    z-index: -1;
    width: clamp(15rem, 34vw, 25rem);
    height: clamp(15rem, 34vw, 25rem);
    content: "";
    inset: auto -28% -48% auto;
    border: 1px solid color-mix(in oklch, var(--ft-on-accent) 18%, transparent);
    border-radius: 50%;
    pointer-events: none;
} */

body.editorial-home .membership-offer__label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: .42rem .7rem;
    color: var(--ft-on-accent) !important;
    background: color-mix(in oklch, var(--ft-on-accent) 10%, transparent);
    border-color: color-mix(in oklch, var(--ft-on-accent) 28%, transparent);
    border-radius: 999px;
    font-size: .72rem;
    letter-spacing: .01em;
}

body.editorial-home .membership-offer__label::before {
    width: .42rem;
    height: .42rem;
    content: "";
    background: currentColor;
    border-radius: 50%;
}

body.editorial-home #priceContainer {
    position: relative;
    z-index: 1;
    margin-top: auto;
}

body.editorial-home .membership-offer__old-price {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    margin: 0 0 .55rem;
    color: color-mix(in oklch, var(--ft-on-accent) 62%, transparent) !important;
    font-size: .78rem;
    font-weight: 700;
    text-decoration-thickness: 1px;
}

body.editorial-home .membership-offer__egp {
    align-items: flex-end;
    gap: .65rem;
}

body.editorial-home .membership-offer__egp #priceDisplay {
    color: var(--ft-on-accent) !important;
    font-size: clamp(4rem, 7.5vw, 6.5rem);
    font-variant-numeric: tabular-nums;
    line-height: .82;
    letter-spacing: -.055em;
}

body.editorial-home .membership-offer__egp > span:last-child {
    padding-bottom: .12rem;
    color: var(--ft-on-accent) !important;
    font-size: .75rem;
    line-height: 1.8;
}

body.editorial-home .membership-offer__usd {
    align-items: center;
    gap: .85rem;
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top-color: color-mix(in oklch, var(--ft-on-accent) 24%, transparent);
}

body.editorial-home .membership-offer__usd #priceUsdDisplay {
    color: var(--ft-on-accent) !important;
    font-size: 2rem;
    font-variant-numeric: tabular-nums;
}

body.editorial-home .membership-offer__usd > span:last-child {
    color: color-mix(in oklch, var(--ft-on-accent) 72%, transparent) !important;
    font-size: 1rem;
}

@media (max-width: 680px) {
    body.editorial-home .membership-offer__price {
        gap: 2.5rem;
        padding: 1.5rem !important;
    }

    body.editorial-home .membership-offer__egp #priceDisplay {
        font-size: clamp(4.5rem, 23vw, 6rem);
    }
}

/* Focused subscription checkout */
body.editorial-subscribe {
    position: relative;
    isolation: isolate;
    min-height: 100svh;
    padding: clamp(1.25rem, 5vw, 3.5rem) !important;
    overflow-x: hidden;
    background: var(--ft-paper) !important;
}

body.editorial-subscribe::before {
    content: "";
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    width: clamp(10rem, 28vw, 28rem);
    background: color-mix(in oklch, var(--ft-accent) 9%, transparent);
    clip-path: polygon(0 0, 78% 0, 100% 50%, 78% 100%, 0 100%);
    pointer-events: none;
    z-index: -1;
}

body.editorial-subscribe .subscribe-page {
    width: min(100%, 560px);
    max-width: none !important;
    margin: auto;
}

body.editorial-subscribe .subscribe-brand-block {
    margin-bottom: 1.4rem !important;
    text-align: start;
}

body.editorial-subscribe .subscribe-brand {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-height: 44px;
    color: var(--ft-ink) !important;
    font-size: 1.1rem !important;
    font-weight: 900 !important;
    letter-spacing: -.035em;
    text-decoration: none;
}

body.editorial-subscribe .subscribe-brand::before {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    content: "+";
    place-items: center;
    color: var(--ft-on-accent);
    background: var(--ft-accent);
    border-radius: var(--ft-radius-sm);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
}

body.editorial-subscribe .subscribe-brand:hover {
    color: var(--ft-accent) !important;
}

body.editorial-subscribe .subscribe-card {
    position: relative;
    overflow: hidden;
    padding: clamp(1.35rem, 5vw, 2.4rem) !important;
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border-strong) !important;
    border-radius: var(--ft-radius-lg) !important;
}

body.editorial-subscribe .subscribe-card::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0;
    height: 3px;
    content: "";
    background: var(--ft-accent);
}

body.editorial-subscribe .subscribe-card::after {
    position: absolute;
    inset-block-start: -7rem;
    inset-inline-end: -6rem;
    width: 15rem;
    height: 15rem;
    content: "";
    background: radial-gradient(circle, color-mix(in oklch, var(--ft-accent) 12%, transparent), transparent 68%);
    pointer-events: none;
}

body.editorial-subscribe .subscribe-card__topline {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.65rem;
    color: var(--ft-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.editorial-subscribe .subscribe-card__status {
    padding: .35rem .55rem;
    color: var(--ft-accent);
    border: 1px solid color-mix(in oklch, var(--ft-accent) 42%, transparent);
    border-radius: 999px;
    letter-spacing: .05em;
}

body.editorial-subscribe .subscribe-title,
body.editorial-subscribe .subscribe-lede,
body.editorial-subscribe .subscribe-plan,
body.editorial-subscribe .subscribe-state {
    position: relative;
    z-index: 1;
}

body.editorial-subscribe .subscribe-title {
    margin-bottom: .55rem !important;
    font-size: 2rem !important;
    font-weight: 950;
}

body.editorial-subscribe .subscribe-lede {
    max-width: 34rem;
    margin-inline: auto;
    color: var(--ft-ink-soft) !important;
    font-size: .93rem;
    line-height: 1.9;
}

body.editorial-subscribe .subscribe-plan {
    padding: 1.35rem !important;
    background: var(--ft-surface-muted) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-subscribe .subscribe-price-row {
    min-height: 3.75rem;
    gap: 1rem;
}

body.editorial-subscribe .subscribe-price-label {
    color: var(--ft-ink-soft) !important;
    font-size: .82rem;
    font-weight: 700;
}

body.editorial-subscribe .subscribe-price-value {
    display: flex;
    align-items: baseline;
    gap: .45rem;
    white-space: nowrap;
}

body.editorial-subscribe #priceDisplay {
    color: var(--ft-accent) !important;
    font-size: clamp(3.3rem, 10vw, 4.75rem) !important;
    font-variant-numeric: tabular-nums;
    font-weight: 950;
    letter-spacing: -.06em;
    line-height: .85;
}

body.editorial-subscribe #priceDisplayUsd {
    color: var(--ft-ink) !important;
    font-size: 1.8rem !important;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    letter-spacing: -.04em;
}

body.editorial-subscribe .subscribe-price-value > span:last-child {
    color: var(--ft-muted) !important;
    font-size: .68rem;
    line-height: 1.55;
}

body.editorial-subscribe .subscribe-divider {
    margin-block: 1.25rem !important;
    border-color: var(--ft-border) !important;
}

body.editorial-subscribe .subscribe-benefits {
    display: grid;
    gap: 0;
}

body.editorial-subscribe .subscribe-benefits li {
    min-height: 2.7rem;
    padding-block: .65rem;
    color: var(--ft-ink-soft) !important;
    border-bottom: 1px solid color-mix(in oklch, var(--ft-border) 72%, transparent);
    font-size: .86rem;
}

body.editorial-subscribe .subscribe-benefits li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

body.editorial-subscribe .subscribe-benefits svg {
    width: 1.45rem;
    height: 1.45rem;
    padding: .28rem;
    color: var(--ft-accent) !important;
    background: color-mix(in oklch, var(--ft-accent) 12%, transparent);
    border-radius: 50%;
}

body.editorial-subscribe .subscribe-state {
    padding-top: 1.4rem;
    border-top: 1px solid var(--ft-border);
}

body.editorial-subscribe .subscribe-state p {
    color: var(--ft-ink-soft) !important;
}

body.editorial-subscribe .subscribe-state .btn-primary,
body.editorial-subscribe .subscribe-state .btn-outline {
    width: 100%;
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-subscribe .subscribe-state--payment #payBtn {
    min-height: 56px;
    margin-bottom: .75rem;
    font-size: 1rem;
    font-weight: 900;
}

body.editorial-subscribe .subscribe-state--payment > p {
    color: var(--ft-muted) !important;
    font-size: .72rem;
}

body.editorial-subscribe .subscribe-state--active {
    text-align: center;
}

body.editorial-subscribe .subscribe-state--active > div:first-child {
    display: grid;
    width: 3.75rem;
    height: 3.75rem;
    margin: 0 auto 1rem;
    place-items: center;
    color: var(--ft-on-accent) !important;
    background: var(--ft-success);
    border-radius: 50%;
    font-size: 1.8rem;
    line-height: 1;
}

body.editorial-subscribe .subscribe-back {
    margin-top: 1.25rem !important;
}

body.editorial-subscribe .subscribe-back a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--ft-muted) !important;
    font-size: .78rem;
    text-decoration: none;
    transition: color 180ms var(--ft-ease);
}

body.editorial-subscribe .subscribe-back a:hover {
    color: var(--ft-accent) !important;
}

@media (max-width: 640px) {
    body.editorial-subscribe {
        padding: 1rem !important;
    }

    body.editorial-subscribe::before {
        width: 7rem;
        opacity: .06;
    }

    body.editorial-subscribe .subscribe-card {
        border-radius: var(--ft-radius-md) !important;
    }

    body.editorial-subscribe .subscribe-card__topline {
        margin-bottom: 1.35rem;
        font-size: .6rem;
    }

    body.editorial-subscribe .subscribe-price-row {
        align-items: flex-start;
    }

    body.editorial-subscribe .subscribe-price-value {
        flex-direction: column;
        align-items: flex-end;
        gap: .15rem;
    }

    body.editorial-subscribe #priceDisplay {
        font-size: clamp(3rem, 16vw, 4rem) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.editorial-subscribe .subscribe-brand,
    body.editorial-subscribe .subscribe-back a {
        transition: none;
    }
}

/* Keep subscribe in the homepage's green-noir pricing language. */
body.editorial-subscribe {
    display: block !important;
    padding: 0 1rem 4rem !important;
    background: var(--ft-paper) !important;
}

body.editorial-subscribe::before {
    display: none;
}

body.editorial-subscribe .subscribe-nav .editorial-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 40px;
    padding: .4rem .55rem;
    color: var(--ft-ink) !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    letter-spacing: -.035em;
    text-decoration: none;
}

body.editorial-subscribe .subscribe-nav .editorial-brand__mark {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--ft-accent);
}

body.editorial-subscribe .subscribe-nav .nav-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: .5rem .7rem;
    color: var(--ft-ink-soft) !important;
    border-radius: var(--ft-radius-sm);
    font-size: .78rem;
    font-weight: 650;
    text-decoration: none;
}

body.editorial-subscribe .subscribe-nav .nav-link:hover {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-subscribe .subscribe-nav .btn-primary {
    min-height: 40px;
    padding: .55rem .9rem !important;
    border-radius: var(--ft-radius-sm) !important;
    font-size: .78rem;
}

body.editorial-subscribe .subscribe-nav > .container > .flex > button {
    display: inline-grid;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    place-items: center;
    color: var(--ft-ink) !important;
    background: transparent;
    border: 1px solid var(--ft-border);
    border-radius: var(--ft-radius-sm);
}

body.editorial-subscribe .subscribe-nav #mobileMenu {
    position: absolute;
    top: calc(100% + .6rem);
    right: .35rem;
    left: .35rem;
    margin: 0 !important;
    padding: .75rem !important;
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border-strong) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-subscribe .subscribe-nav #mobileMenu a {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: .65rem .75rem;
    color: var(--ft-ink-soft) !important;
    border-radius: var(--ft-radius-sm);
    text-decoration: none;
}

body.editorial-subscribe .subscribe-nav #mobileMenu a:hover {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-subscribe .subscribe-nav #mobileMenu .btn-primary {
    justify-content: center;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-subscribe .subscribe-nav #mobileMenu hr {
    margin: .35rem 0;
    border-color: var(--ft-border) !important;
}

body.editorial-subscribe .subscribe-page {
    width: min(100%, 72rem);
    max-width: none !important;
    margin: 0 auto;
    padding-top: clamp(8rem, 13vh, 10.5rem);
}

body.editorial-subscribe .subscribe-brand-block {
    display: none;
}

body.editorial-subscribe .subscribe-card {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: 0;
    padding: 0 !important;
    background: var(--ft-strong-surface) !important;
    border-color: var(--ft-border-strong) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-subscribe .subscribe-card::before,
body.editorial-subscribe .subscribe-card::after {
    display: none;
}

body.editorial-subscribe .subscribe-card__topline,
body.editorial-subscribe .subscribe-title,
body.editorial-subscribe .subscribe-lede {
    grid-column: 1 / -1;
}

body.editorial-subscribe .subscribe-card__topline {
    margin: 0;
    padding: 1.4rem 1.75rem 0;
}

body.editorial-subscribe .subscribe-title {
    margin: .75rem 1.75rem .4rem !important;
    font-size: clamp(2rem, 4vw, 3.2rem) !important;
    text-align: start !important;
}

body.editorial-subscribe .subscribe-lede {
    max-width: none;
    margin: 0 1.75rem 1.7rem;
    text-align: start !important;
}

body.editorial-subscribe .subscribe-plan {
    grid-column: 1;
    grid-row: 4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 31rem;
    margin: 0 !important;
    padding: clamp(1.35rem, 4vw, 2.25rem) !important;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.editorial-subscribe .subscribe-plan .subscribe-price-label,
body.editorial-subscribe .subscribe-plan .text-gray-400,
body.editorial-subscribe .subscribe-plan .text-gray-500,
body.editorial-subscribe .subscribe-plan .subscribe-price-value > span:last-child,
body.editorial-subscribe .subscribe-plan .subscribe-benefits li {
    color: color-mix(in oklch, var(--ft-on-accent) 78%, transparent) !important;
}

body.editorial-subscribe .subscribe-plan .subscribe-price-row {
    min-height: 0;
}

body.editorial-subscribe .subscribe-plan #priceDisplay,
body.editorial-subscribe .subscribe-plan #priceDisplayUsd {
    color: var(--ft-on-accent) !important;
}

body.editorial-subscribe .subscribe-plan #priceDisplay {
    font-size: clamp(4.4rem, 9vw, 7rem) !important;
    line-height: .82;
}

body.editorial-subscribe .subscribe-plan #priceDisplayUsd {
    font-size: 2rem !important;
}

body.editorial-subscribe .subscribe-plan .subscribe-divider {
    border-color: color-mix(in oklch, var(--ft-on-accent) 24%, transparent) !important;
}

body.editorial-subscribe .subscribe-plan .subscribe-benefits li {
    border-color: color-mix(in oklch, var(--ft-on-accent) 22%, transparent);
}

body.editorial-subscribe .subscribe-plan .subscribe-benefits svg {
    color: var(--ft-on-accent) !important;
    background: color-mix(in oklch, var(--ft-on-accent) 16%, transparent);
}

body.editorial-subscribe .subscribe-state {
    grid-column: 2;
    grid-row: 4;
    display: none;
    flex-direction: column;
    justify-content: center;
    min-height: 31rem;
    margin: 0;
    padding: clamp(1.35rem, 4vw, 2.25rem);
    border-top: 0;
    border-inline-start: 1px solid var(--ft-border);
}

body.editorial-subscribe .subscribe-state:not(.hidden) {
    display: flex;
}

body.editorial-subscribe .subscribe-state--active {
    text-align: start;
}

body.editorial-subscribe .subscribe-state--active > div:first-child {
    margin-inline: 0 auto;
}

@media (max-width: 820px) {
    body.editorial-subscribe {
        padding-inline: .75rem !important;
    }

    body.editorial-subscribe .subscribe-page {
        padding-top: 6.5rem;
    }

    body.editorial-subscribe .subscribe-card {
        grid-template-columns: 1fr;
    }

    body.editorial-subscribe .subscribe-plan,
    body.editorial-subscribe .subscribe-state {
        grid-column: 1;
        grid-row: auto;
        min-height: 0;
    }

    body.editorial-subscribe .subscribe-plan {
        border-radius: var(--ft-radius-md) var(--ft-radius-md) 0 0 !important;
    }

    body.editorial-subscribe .subscribe-state {
        border-inline-start: 0;
        border-top: 1px solid var(--ft-border);
    }
}

@media (max-width: 640px) {
    body.editorial-subscribe .subscribe-card__topline {
        padding-inline: 1.25rem;
    }

    body.editorial-subscribe .subscribe-title {
        margin-inline: 1.25rem !important;
    }

    body.editorial-subscribe .subscribe-lede {
        margin-inline: 1.25rem;
    }
}

@media (min-width: 1024px) {
    body.editorial-subscribe .subscribe-nav .lg\:flex {
        display: flex !important;
    }

    body.editorial-subscribe .subscribe-nav .lg\:hidden {
        display: none !important;
    }
}

/* Bolder pass: make the membership promise unmistakable. */
body.editorial-subscribe .subscribe-card__topline {
    color: var(--ft-accent);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .13em;
}

body.editorial-subscribe .subscribe-card__status {
    color: var(--ft-on-accent);
    background: var(--ft-accent);
    border-color: var(--ft-accent);
}

body.editorial-subscribe .subscribe-title {
    max-width: 44rem;
    font-size: clamp(2.6rem, 6vw, 4.6rem) !important;
    line-height: .98;
    letter-spacing: -.035em !important;
}

body.editorial-subscribe .subscribe-lede {
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.8;
}

body.editorial-subscribe .subscribe-plan .subscribe-price-label {
    font-size: 1rem;
    font-weight: 850;
}

body.editorial-subscribe .subscribe-benefits-title {
    margin: 1.4rem 0 .3rem;
    color: var(--ft-on-accent) !important;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.5;
}

body.editorial-subscribe .subscribe-benefits {
    margin-top: .35rem;
}

body.editorial-subscribe .subscribe-plan .subscribe-benefits li {
    min-height: 3rem;
    padding-block: .75rem;
    font-size: .94rem;
    font-weight: 700;
}

body.editorial-subscribe .subscribe-state__eyebrow {
    margin-bottom: .7rem;
    color: var(--ft-accent) !important;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.3;
}

body.editorial-subscribe .subscribe-state--guest > p:not(.subscribe-state__eyebrow) {
    font-size: .95rem;
}

body.editorial-subscribe .subscribe-state--guest .btn-primary {
    min-height: 58px;
    font-size: 1.05rem;
}

body.editorial-subscribe .subscribe-state--guest .btn-outline {
    min-height: 52px;
    font-weight: 800;
}

@media (max-width: 640px) {
    body.editorial-subscribe .subscribe-title {
        font-size: clamp(2.35rem, 12vw, 3.4rem) !important;
    }
}

/* Dashboard enhancement: turn the account area into a clear learning hub. */
body.editorial-dashboard main > .container {
    width: min(calc(100% - 2rem), 74rem);
    margin-inline: auto;
}

body.editorial-dashboard .dashboard-page-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--ft-border);
}

body.editorial-dashboard .dashboard-eyebrow {
    margin: 0 0 .75rem;
    color: var(--ft-accent);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.4;
}

body.editorial-dashboard .dashboard-title {
    margin: 0 !important;
    max-width: 18ch;
    font-size: clamp(2.2rem, 5vw, 4rem) !important;
    line-height: 1.05;
}

body.editorial-dashboard .dashboard-subtitle {
    max-width: 42rem;
    margin: .75rem 0 0;
    color: var(--ft-muted);
    font-size: .96rem;
    line-height: 1.9;
}

body.editorial-dashboard .dashboard-header-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: .75rem 1rem;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent);
    border: 1px solid var(--ft-accent);
    border-radius: var(--ft-radius-sm);
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 180ms var(--ft-ease), border-color 180ms var(--ft-ease), transform 180ms var(--ft-ease);
}

body.editorial-dashboard .dashboard-header-action:hover {
    background: var(--ft-accent-strong);
    border-color: var(--ft-accent-strong);
    transform: translateY(-2px);
}

body.editorial-dashboard #subscriptionCard,
body.editorial-dashboard #discordCard,
body.editorial-dashboard .dashboard-settings-panel {
    background: var(--ft-surface) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-dashboard #subscriptionCard > .flex:first-child,
body.editorial-dashboard #discordCard > .flex:first-child {
    align-items: flex-start;
}

body.editorial-dashboard #subscriptionCard h2,
body.editorial-dashboard #discordCard h2,
body.editorial-dashboard .dashboard-settings-panel h2,
body.editorial-dashboard .dashboard-settings-panel h3 {
    letter-spacing: -.025em;
}

body.editorial-dashboard #subscriptionStatus {
    line-height: 1.9;
}

body.editorial-dashboard #subscriptionAction,
body.editorial-dashboard #discordAction {
    flex: 0 0 auto;
}

body.editorial-dashboard #subscriptionAction a,
body.editorial-dashboard #discordAction button {
    min-width: 9rem;
    min-height: 48px;
}

body.editorial-dashboard #daysProgress {
    margin-top: 1.5rem !important;
    padding-top: 1.25rem;
    border-top: 1px solid var(--ft-border);
}

body.editorial-dashboard #daysProgress > div:last-child {
    height: .55rem;
    background: var(--ft-surface-muted);
    border: 1px solid var(--ft-border);
}

body.editorial-dashboard #daysBar {
    background: var(--ft-accent) !important;
}

body.editorial-dashboard .dashboard-resource-link {
    min-height: 64px;
    padding: .85rem 1rem !important;
}

body.editorial-dashboard .dashboard-resource-link--files {
    color: var(--ft-ink) !important;
    border-color: var(--ft-border-strong) !important;
}

body.editorial-dashboard .dashboard-section-title {
    margin-top: 3rem;
    margin-bottom: 1rem !important;
    font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
}

body.editorial-dashboard #coursesGrid {
    container-type: inline-size;
}

body.editorial-dashboard .course-card-enhanced {
    min-width: 0;
    background: var(--ft-surface) !important;
}

body.editorial-dashboard .dashboard-settings-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 4vw, 3rem);
    row-gap: 1rem;
}

body.editorial-dashboard .dashboard-settings-panel > h2 {
    grid-column: 1 / -1;
    margin-bottom: .25rem !important;
}

body.editorial-dashboard .dashboard-settings-panel > #profileForm {
    grid-column: 1;
    grid-row: 2 / span 2;
    max-width: none !important;
}

body.editorial-dashboard .dashboard-settings-panel > hr {
    display: none;
}

body.editorial-dashboard .dashboard-settings-panel > h3 {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
}

body.editorial-dashboard .dashboard-settings-panel > #passwordForm {
    grid-column: 2;
    grid-row: 3;
    max-width: none !important;
}

body.editorial-dashboard .dashboard-settings-panel .input-field {
    background: var(--ft-surface-muted) !important;
    border-color: var(--ft-border) !important;
}

@media (max-width: 767px) {
    body.editorial-dashboard main > .container {
        width: min(calc(100% - 1.5rem), 74rem);
    }

    body.editorial-dashboard .dashboard-page-header {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1.25rem;
    }

    body.editorial-dashboard .dashboard-header-action {
        width: 100%;
    }

    body.editorial-dashboard #subscriptionCard > .flex:first-child,
    body.editorial-dashboard #discordCard > .flex:first-child {
        gap: 1rem;
    }

    body.editorial-dashboard #subscriptionAction,
    body.editorial-dashboard #discordAction {
        width: 100%;
    }

    body.editorial-dashboard #subscriptionAction a,
    body.editorial-dashboard #discordAction button {
        width: 100%;
    }

    body.editorial-dashboard .dashboard-settings-panel {
        display: block;
    }

    body.editorial-dashboard .dashboard-settings-panel > h3 {
        margin-top: 2rem;
    }
}

/* Course detail enhancement: lead with the course, then guide the lesson path. */
body.editorial-course-detail main > .container {
    width: min(calc(100% - 2rem), 80rem);
    margin-inline: auto;
}

body.editorial-course-detail .course-detail-intro {
    max-width: 52rem;
    margin: 0 0 clamp(2rem, 5vw, 3.5rem);
}

body.editorial-course-detail .course-detail-eyebrow {
    margin: 0 0 .85rem;
    color: var(--ft-accent);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.4;
}

body.editorial-course-detail .course-detail-title {
    max-width: 18ch;
    margin: 0 0 1rem !important;
    font-size: clamp(2.25rem, 5vw, 4.8rem) !important;
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -.035em;
}

body.editorial-course-detail .course-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin: 0 0 1.25rem !important;
    color: var(--ft-ink-soft) !important;
    font-size: .95rem;
}

body.editorial-course-detail .course-detail-meta > span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
}

body.editorial-course-detail .course-detail-description {
    max-width: 68ch;
    margin: 0;
    color: var(--ft-ink-soft) !important;
    font-size: 1rem;
    line-height: 2;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

body.editorial-course-detail .course-detail-layout {
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4rem) !important;
}

body.editorial-course-detail .course-detail-media-column {
    min-width: 0;
}

body.editorial-course-detail #courseThumbnail {
    display: grid;
    min-height: 0;
    aspect-ratio: 16 / 9;
    place-items: center;
    background: var(--ft-surface-muted) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-course-detail #courseThumbnail > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.editorial-course-detail .course-content-panel {
    position: sticky;
    top: 6.5rem;
    padding: 1.25rem !important;
    background: var(--ft-surface) !important;
    border-color: var(--ft-border-strong) !important;
    border-radius: var(--ft-radius-md) !important;
}

body.editorial-course-detail .course-content-panel h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem !important;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--ft-border);
    font-size: 1.1rem;
}

body.editorial-course-detail #videosList {
    max-height: min(31rem, 56vh);
    padding-inline-end: .15rem;
    border-top: 0;
}

body.editorial-course-detail #videosList > a {
    min-height: 64px;
    padding: .7rem !important;
    color: var(--ft-ink) !important;
    border: 1px solid transparent;
    border-radius: var(--ft-radius-sm) !important;
    text-decoration: none;
    transition: background-color 180ms var(--ft-ease), border-color 180ms var(--ft-ease), color 180ms var(--ft-ease);
}

body.editorial-course-detail #videosList > a:hover,
body.editorial-course-detail #videosList > a:focus-visible {
    color: var(--ft-ink) !important;
    background: var(--ft-surface-raised) !important;
    border-color: var(--ft-border-strong);
}

body.editorial-course-detail #videosList > a > div:first-child {
    width: 2.25rem;
    height: 2.25rem;
    background: color-mix(in oklch, var(--ft-accent) 14%, var(--ft-surface-muted)) !important;
    color: var(--ft-accent) !important;
}

body.editorial-course-detail #subscribePrompt {
    margin-top: 1rem !important;
    padding: 1rem !important;
    background: color-mix(in oklch, var(--ft-accent) 9%, var(--ft-surface)) !important;
    border: 1px solid color-mix(in oklch, var(--ft-accent) 32%, var(--ft-border));
    border-radius: var(--ft-radius-sm) !important;
}

body.editorial-course-detail #subscribePrompt p {
    margin-bottom: .85rem !important;
    color: var(--ft-ink-soft) !important;
    font-size: .9rem;
    line-height: 1.7;
}

@media (max-width: 767px) {
    body.editorial-course-detail main > .container {
        width: min(calc(100% - 1.5rem), 80rem);
    }

    body.editorial-course-detail .course-detail-intro {
        margin-bottom: 2rem;
    }

    body.editorial-course-detail .course-detail-title {
        max-width: 100%;
        font-size: clamp(2rem, 10vw, 3rem) !important;
    }

    body.editorial-course-detail .course-detail-description {
        font-size: .95rem;
        line-height: 1.9;
    }

    body.editorial-course-detail .course-content-panel {
        position: static;
        top: auto;
    }

    body.editorial-course-detail #videosList {
        max-height: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.editorial-course-detail #videosList > a,
    body.editorial-course-detail .course-detail-panel {
        transition: none !important;
    }
}

/* Keep the course page navigation identical to the homepage navigation. */
body.editorial-course-detail .editorial-nav .editorial-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 40px;
    padding: .4rem .55rem;
    color: var(--ft-ink) !important;
    text-decoration: none;
}

body.editorial-course-detail .editorial-nav .editorial-brand__mark {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    color: var(--ft-accent);
}

body.editorial-course-detail .editorial-nav .editorial-brand span {
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: -.035em;
}

body.editorial-course-detail .editorial-nav .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .5rem .7rem;
    color: var(--ft-ink-soft) !important;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 650;
    text-decoration: none;
}

body.editorial-course-detail .editorial-nav .nav-link:hover,
body.editorial-course-detail .editorial-nav .nav-link:focus-visible {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-course-detail .editorial-nav #authButtons .btn-primary {
    min-height: 40px;
    padding: .55rem .9rem !important;
    border-radius: 8px !important;
    font-size: .78rem;
}

body.editorial-course-detail .editorial-nav > .container > .flex > button {
    display: inline-grid;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    place-items: center;
    color: var(--ft-ink) !important;
    background: transparent;
    border: 1px solid var(--ft-border);
    border-radius: 8px;
}

body.editorial-course-detail .editorial-nav > .container > .flex > button:hover {
    color: var(--ft-accent) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-course-detail .editorial-nav #mobileMenu {
    top: calc(100% + .6rem);
    right: .35rem;
    left: .35rem;
    margin: 0 !important;
    padding: .75rem !important;
    background: oklch(0.12 0.014 128 / .97) !important;
    border: 1px solid color-mix(in oklch, var(--ft-ink) 18%, transparent) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 12px rgba(0, 0, 0, .24) !important;
}

body.editorial-course-detail .editorial-nav #mobileMenu a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: .65rem .75rem;
    border-radius: 8px;
    color: var(--ft-ink-soft) !important;
}

body.editorial-course-detail .editorial-nav #mobileMenu a:hover {
    color: var(--ft-ink) !important;
    background: color-mix(in oklch, var(--ft-ink) 7%, transparent);
}

body.editorial-course-detail .editorial-nav #mobileMenu .btn-primary {
    justify-content: center;
    color: var(--ft-on-accent) !important;
    background: var(--ft-accent) !important;
}

body.editorial-course-detail .editorial-nav #mobileMenu hr {
    margin: .35rem 0;
    border-color: var(--ft-border) !important;
}

@media (max-width: 767px) {
    body.editorial-course-detail .editorial-nav .editorial-brand span {
        font-size: .94rem;
    }

    body.editorial-course-detail .editorial-nav {
        top: .75rem !important;
        width: calc(100% - 1rem) !important;
    }
}

@media (min-width: 1024px) {
    body.editorial-course-detail .editorial-nav > .container > .flex > .hidden.lg\:flex:not(#authButtons):not(#userMenu) {
        display: flex !important;
    }

    body.editorial-course-detail .editorial-nav #authButtons:not(.hidden),
    body.editorial-course-detail .editorial-nav #userMenu:not(.hidden) {
        display: flex !important;
    }

    body.editorial-course-detail .editorial-nav #authButtons.hidden,
    body.editorial-course-detail .editorial-nav #userMenu.hidden {
        display: none !important;
    }

    body.editorial-course-detail .editorial-nav .lg\:hidden {
        display: none !important;
    }
}

/* Legal reading experience refresh. Keep the policy copy stable while making
   the surrounding hierarchy calmer, more legible, and easier to navigate. */
body.editorial-legal {
    background: var(--ft-paper) !important;
    color: var(--ft-ink) !important;
}

body.editorial-legal .cloy-grid-bg {
    opacity: 0.18 !important;
    pointer-events: none;
}

body.editorial-legal .legal-page {
    position: relative;
    z-index: 1;
    padding: clamp(1rem, 3vw, 2.25rem) 0 clamp(4rem, 8vw, 7rem) !important;
    background: transparent !important;
}

body.editorial-legal .legal-container {
    width: min(100% - 2rem, 1080px);
    max-width: 1080px !important;
    padding: 0;
}

body.editorial-legal .legal-nav {
    min-height: 64px;
    margin-bottom: clamp(2.5rem, 6vw, 5rem) !important;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--ft-border) !important;
    gap: 1rem;
}

body.editorial-legal .back-button,
body.editorial-legal .legal-page-link {
    min-height: 44px;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-sm) !important;
    background: var(--ft-surface) !important;
    color: var(--ft-ink-soft) !important;
    box-shadow: none !important;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

body.editorial-legal .back-button {
    padding-inline: 1rem;
    font-size: 0.86rem;
    font-weight: 700;
}

body.editorial-legal .legal-page-link {
    padding-inline: 0.9rem;
    font-size: 0.82rem;
    font-weight: 700;
}

body.editorial-legal .back-button:hover,
body.editorial-legal .legal-page-link:hover {
    background: var(--ft-surface-raised) !important;
    border-color: var(--ft-border-strong) !important;
    color: var(--ft-accent) !important;
    transform: translateY(-1px);
}

body.editorial-legal .legal-page-link.active {
    background: var(--ft-accent) !important;
    border-color: var(--ft-accent) !important;
    color: var(--ft-on-accent) !important;
}

body.editorial-legal .legal-header {
    margin-bottom: clamp(2rem, 4vw, 3.5rem) !important;
    padding: 0 !important;
    text-align: start;
    background: transparent !important;
    border: 0 !important;
}

body.editorial-legal .legal-header::before,
body.editorial-legal .legal-header::after,
body.editorial-legal .legal-card::before,
body.editorial-legal .legal-card::after {
    display: none !important;
}

body.editorial-legal .legal-icon {
    width: 52px;
    height: 52px;
    margin: 0 0 1.25rem;
    padding: 0.8rem;
    border: 1px solid var(--ft-accent) !important;
    border-radius: var(--ft-radius-sm) !important;
    background: var(--ft-accent) !important;
    box-shadow: none !important;
    animation: none !important;
}

body.editorial-legal .legal-icon svg {
    color: var(--ft-on-accent) !important;
    filter: none !important;
}

body.editorial-legal .legal-title {
    max-width: 15ch;
    margin: 0 0 0.8rem;
    color: var(--ft-ink) !important;
    font-size: clamp(2.2rem, 5.5vw, 4.8rem) !important;
    font-weight: 950;
    line-height: 1.05 !important;
    letter-spacing: -0.06em;
    text-shadow: none !important;
    background: none !important;
    -webkit-text-fill-color: var(--ft-ink) !important;
    animation: none !important;
}

body.editorial-legal .legal-subtitle {
    max-width: 58ch;
    margin: 0;
    color: var(--ft-muted) !important;
    font-size: clamp(0.92rem, 1.4vw, 1.08rem);
    line-height: 1.9;
}

body.editorial-legal .legal-update-date {
    min-height: 40px;
    margin-top: 1.25rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-sm) !important;
    background: var(--ft-surface-muted) !important;
    color: var(--ft-muted) !important;
    font-size: 0.78rem;
    box-shadow: none !important;
}

body.editorial-legal .toc {
    position: static;
    margin-bottom: 1.25rem;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
    background: var(--ft-surface-muted) !important;
    box-shadow: none !important;
}

body.editorial-legal .toc-title {
    margin-bottom: 0.8rem;
    color: var(--ft-ink) !important;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
}

body.editorial-legal .toc-list {
    gap: 0.35rem;
}

body.editorial-legal .toc-list li a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0.55rem 0.7rem;
    border: 1px solid transparent;
    border-radius: var(--ft-radius-sm);
    color: var(--ft-muted) !important;
    font-size: 0.82rem;
    line-height: 1.55;
}

body.editorial-legal .toc-list li a:hover {
    background: var(--ft-surface-raised) !important;
    border-color: var(--ft-border) !important;
    color: var(--ft-ink) !important;
}

body.editorial-legal .legal-card {
    padding: clamp(1.25rem, 4vw, 3.25rem) !important;
    border: 1px solid var(--ft-border) !important;
    border-radius: var(--ft-radius-md) !important;
    background: var(--ft-surface) !important;
    box-shadow: 0 24px 70px rgb(0 0 0 / 0.2) !important;
}

body.editorial-legal .legal-section {
    scroll-margin-top: 1.5rem;
    margin-bottom: clamp(2.25rem, 5vw, 4rem);
}

body.editorial-legal .section-title {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--ft-border) !important;
    color: var(--ft-ink) !important;
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
    line-height: 1.5;
}

body.editorial-legal .section-number {
    width: 2rem;
    height: 2rem;
    margin: 0;
    flex: 0 0 2rem;
    border-radius: var(--ft-radius-sm) !important;
    background: var(--ft-accent) !important;
    color: var(--ft-on-accent) !important;
    box-shadow: none !important;
}

body.editorial-legal .section-content,
body.editorial-legal .section-content p,
body.editorial-legal .legal-list li,
body.editorial-legal .info-box-content {
    color: var(--ft-ink-soft) !important;
    font-size: clamp(0.94rem, 1.25vw, 1rem);
    line-height: 2;
}

body.editorial-legal .section-content a {
    color: var(--ft-accent) !important;
    text-underline-offset: 0.2em;
}

body.editorial-legal .legal-list {
    margin-block: 1.25rem;
}

body.editorial-legal .legal-list li {
    padding-block: 0.65rem;
    border-bottom-color: var(--ft-border) !important;
}

body.editorial-legal .legal-list li::before {
    width: 6px;
    height: 6px;
    top: 1.2rem;
    background: var(--ft-accent) !important;
    box-shadow: none !important;
}

body.editorial-legal .legal-list li strong {
    color: var(--ft-ink) !important;
}

body.editorial-legal .info-box,
body.editorial-legal .contact-box,
body.editorial-legal .contact-method {
    border-radius: var(--ft-radius-sm) !important;
    box-shadow: none !important;
}

body.editorial-legal .info-box {
    margin-block: 1.5rem;
    padding: 1.2rem 1.25rem;
    background: var(--ft-surface-raised) !important;
    border: 1px solid var(--ft-border) !important;
}

body.editorial-legal .info-box::before {
    width: 3px;
    background: var(--ft-accent) !important;
}

body.editorial-legal .info-box.danger::before {
    background: var(--ft-danger) !important;
}

body.editorial-legal .info-box-title {
    color: var(--ft-ink) !important;
}

body.editorial-legal .info-box.primary .info-box-title,
body.editorial-legal .info-box.primary .info-box-content li::before {
    color: var(--ft-accent) !important;
}

body.editorial-legal .info-box.danger .info-box-title,
body.editorial-legal .info-box.danger .info-box-content li::before {
    color: var(--ft-danger) !important;
}

body.editorial-legal .contact-box {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--ft-surface-raised) !important;
    border: 1px solid var(--ft-border) !important;
}

body.editorial-legal .contact-box-title {
    color: var(--ft-ink) !important;
}

body.editorial-legal .contact-method {
    background: var(--ft-surface) !important;
    border: 1px solid var(--ft-border) !important;
    color: var(--ft-ink-soft) !important;
}

body.editorial-legal .contact-method:hover {
    background: var(--ft-surface-muted) !important;
    border-color: var(--ft-border-strong) !important;
    color: var(--ft-accent) !important;
    transform: translateY(-1px);
}

body.editorial-legal .legal-footer-nav {
    gap: 0.45rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--ft-border) !important;
}

body.editorial-legal .legal-footer-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--ft-radius-sm) !important;
    color: var(--ft-muted) !important;
}

body.editorial-legal .legal-footer-link:hover,
body.editorial-legal .legal-footer-link.active {
    background: var(--ft-surface-raised) !important;
    color: var(--ft-accent) !important;
}

@media (max-width: 767px) {
    body.editorial-legal .legal-container {
        width: min(100% - 1.25rem, 680px);
    }

    body.editorial-legal .legal-nav {
        align-items: stretch;
        margin-bottom: 2.5rem !important;
    }

    body.editorial-legal .legal-pages-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.4rem;
    }

    body.editorial-legal .legal-page-link {
        justify-content: center;
        padding-inline: 0.35rem;
        font-size: 0.72rem;
        text-align: center;
    }

    body.editorial-legal .legal-card {
        padding: 1.1rem !important;
    }

    body.editorial-legal .section-title {
        align-items: flex-start;
        gap: 0.65rem;
    }

    body.editorial-legal .section-number {
        margin-top: 0.12rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.editorial-legal .back-button,
    body.editorial-legal .legal-page-link,
    body.editorial-legal .contact-method {
        transition: none;
    }
}
