/* Generated by scripts/build/build_public_assets.py. Do not edit directly. */

/* source: static/css/theme/theme-tokens.css */
/* Global design tokens — light/dark via data-theme (set by theme.js) */
:root,
[data-theme="light"] {
    /* Site palette (Tailwind bundles, marketing.css) */
    --site-bg: #f4f9fb;
    --site-surface: #ffffff;
    --site-surface-muted: #f9fafb;
    --site-text: #1f2937;
    --site-text-muted: #6b7280;
    --site-border: #e5e7eb;
    --site-header-bg: rgba(255, 255, 255, 0.95);
    --site-nav-bg: #ffffff;
    --season-accent: #fbcfe8;
    --season-yellow: #ffc800;
    --season-yellow-dark: #e5b400;
    --season-pink: #f472b6;
    /* Semantic aliases */
    --bg-color: var(--site-bg);
    --surface-color: var(--site-surface);
    --surface-muted: var(--site-surface-muted);
    --text-color: var(--site-text);
    --text-muted: var(--site-text-muted);
    --border-color: var(--site-border);
    --btn-primary-bg: #1cb0f6;
    --btn-primary-text: #ffffff;
    --btn-primary-shadow: #1899d6;
    --btn-success-bg: #58cc02;
    --btn-success-text: #ffffff;
    --btn-success-shadow: #46a302;
    --btn-danger-bg: #ff4b4b;
    --btn-danger-text: #ffffff;
    --btn-muted-bg: #f3f4f6;
    --btn-muted-text: #374151;
    /* Public experience — the only light-theme source of truth */
    --public-ink: #10213e;
    --public-muted: #52627a;
    --public-blue: #1578ff;
    --public-sky: #39bdf8;
    --public-yellow: #ffc93d;
    --public-coral: #ff6b5f;
    --public-ivory: #fffaf0;
    --public-page-bg: #f7fbff;
    --public-surface: rgba(255, 255, 255, 0.92);
    --public-surface-solid: #ffffff;
    --public-surface-muted: #f3f8fd;
    --public-line: rgba(26, 62, 113, 0.13);
    --public-shadow: 0 24px 70px rgba(34, 74, 126, 0.14);
    --public-shadow-soft: 0 16px 42px rgba(34, 74, 126, 0.1);
}

[data-theme="dark"] {
    --site-bg: #0c1222;
    --site-surface: #1e293b;
    --site-surface-muted: #334155;
    --site-text: #f1f5f9;
    --site-text-muted: #94a3b8;
    --site-border: #334155;
    --site-header-bg: rgba(15, 23, 42, 0.94);
    --site-nav-bg: #1e293b;
    --bg-color: var(--site-bg);
    --surface-color: var(--site-surface);
    --surface-muted: var(--site-surface-muted);
    --text-color: var(--site-text);
    --text-muted: var(--site-text-muted);
    --border-color: var(--site-border);
    --btn-primary-bg: #38bdf8;
    --btn-primary-text: #0f172a;
    --btn-primary-shadow: #0284c7;
    --btn-success-bg: #65d006;
    --btn-success-text: #0f172a;
    --btn-success-shadow: #46a302;
    --btn-danger-bg: #f87171;
    --btn-danger-text: #0f172a;
    --btn-muted-bg: #334155;
    --btn-muted-text: #f1f5f9;
    /* Public experience — the only dark-theme source of truth */
    --public-ink: #edf4ff;
    --public-muted: #a9b8ca;
    --public-blue: #45bdf8;
    --public-sky: #67d2ff;
    --public-yellow: #ffd35b;
    --public-coral: #ff8177;
    --public-ivory: #16233a;
    --public-page-bg: #0b1628;
    --public-surface: rgba(15, 29, 53, 0.92);
    --public-surface-solid: #13233d;
    --public-surface-muted: #1a2c49;
    --public-line: rgba(183, 207, 239, 0.14);
    --public-shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
    --public-shadow-soft: 0 16px 42px rgba(0, 0, 0, 0.26);
}

[data-season="spring"] { --season-accent: #fbcfe8; --season-yellow: #ffc800; --season-yellow-dark: #e5b400; --season-pink: #f472b6; }
[data-season="summer"] { --season-accent: #fef08a; --season-yellow: #facc15; --season-yellow-dark: #ca8a04; --season-pink: #fda4af; }
[data-season="autumn"] { --season-accent: #fed7aa; --season-yellow: #ea580c; --season-yellow-dark: #c2410c; --season-pink: #fb923c; }
[data-season="winter"] { --season-accent: #bae6fd; --season-yellow: #38bdf8; --season-yellow-dark: #0284c7; --season-pink: #a5f3fc; }
[data-season="rain"] { --season-accent: #93c5fd; --season-yellow: #60a5fa; --season-yellow-dark: #2563eb; --season-pink: #818cf8; }
[data-season="space"] { --season-accent: #a8b4c8; --season-yellow: #94a3b8; --season-yellow-dark: #64748b; --season-pink: #94a3b8; }

body {
    background-color: var(--bg-color);
    color: var(--text-color);
}

.bg-brand-blue,
.btn-tactile.bg-brand-blue {
    background-color: var(--btn-primary-bg) !important;
    color: var(--btn-primary-text) !important;
    box-shadow: 0 4px 0 var(--btn-primary-shadow);
}

.bg-brand-green,
.btn-tactile.bg-brand-green {
    background-color: var(--btn-success-bg) !important;
    color: var(--btn-success-text) !important;
    box-shadow: 0 4px 0 var(--btn-success-shadow);
}

.bg-brand-red,
.btn-tactile.bg-red-50.text-brand-red {
    /* keep soft danger buttons readable */
}

.modal-content,
#main-header {
    background-color: var(--surface-color);
    color: var(--text-color);
}

@media (min-width: 768px) {
    #main-nav {
        background-color: var(--surface-color);
        color: var(--text-color);
    }
}

/* source: static/css/critical/critical-marketing.css */
/* First paint for public/marketing pages */
html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Nunito", system-ui, sans-serif;
    background-color: #f4f9fb;
    color: #3c3c3c;
    overflow-x: hidden;
}

[data-theme="dark"] body {
    background-color: #0c1222;
    color: #f1f5f9;
}

.marketing-page body,
body.marketing-page {
    background-color: var(--site-bg, #f4f9fb);
}

.reveal {
    opacity: 1;
}

/* source: static/css/bundles/app-marketing.css */
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Nunito",sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-600:oklch(59.6% .145 163.225);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-700:oklch(49.6% .265 301.924);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-pink-100:oklch(94.8% .028 342.258);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-blue:#1cb0f6;--color-brand-green:#58cc02;--color-brand-yellow:#ffc800;--color-brand-red:#ff4b4b}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!sticky{position:sticky!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.-top-3{top:calc(var(--spacing) * -3)}.-top-10{top:calc(var(--spacing) * -10)}.top-0{top:0}.top-1\/2{top:50%}.top-full{top:100%}.-right-4{right:calc(var(--spacing) * -4)}.-right-10{right:calc(var(--spacing) * -10)}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-4{bottom:calc(var(--spacing) * -4)}.-bottom-10{bottom:calc(var(--spacing) * -10)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-6{bottom:calc(var(--spacing) * 6)}.-left-10{left:calc(var(--spacing) * -10)}.left-0{left:0}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[120\]{z-index:120}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.\!grid{display:grid!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-56{height:calc(var(--spacing) * 56)}.h-80{height:calc(var(--spacing) * 80)}.h-\[400px\]{height:400px}.h-full{height:100%}.max-h-\[min\(70dvh\,520px\)\]{max-height:min(70dvh,520px)}.min-h-\[5rem\]{min-height:5rem}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-1\/3{--tw-translate-x:calc(1 / 3 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/3{--tw-translate-y:calc(calc(1 / 3 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-2{rotate:-2deg}.-rotate-12{rotate:-12deg}.rotate-3{rotate:3deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[pulse_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite pulse}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3rem\]{border-radius:3rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-8{border-style:var(--tw-border-style);border-width:8px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-brand-blue{border-color:var(--color-brand-blue)}.border-brand-blue\/20{border-color:#1cb0f633}@supports (color:color-mix(in lab, red, red)){.border-brand-blue\/20{border-color:color-mix(in oklab, var(--color-brand-blue) 20%, transparent)}}.border-brand-green{border-color:var(--color-brand-green)}.border-brand-green\/20{border-color:#58cc0233}@supports (color:color-mix(in lab, red, red)){.border-brand-green\/20{border-color:color-mix(in oklab, var(--color-brand-green) 20%, transparent)}}.border-brand-red{border-color:var(--color-brand-red)}.border-brand-yellow{border-color:var(--color-brand-yellow)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-100{border-color:var(--color-green-100)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.border-white\/50{border-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-brand-blue{background-color:var(--color-brand-blue)}.bg-brand-blue\/10{background-color:#1cb0f61a}@supports (color:color-mix(in lab, red, red)){.bg-brand-blue\/10{background-color:color-mix(in oklab, var(--color-brand-blue) 10%, transparent)}}.bg-brand-green{background-color:var(--color-brand-green)}.bg-brand-green\/10{background-color:#58cc021a}@supports (color:color-mix(in lab, red, red)){.bg-brand-green\/10{background-color:color-mix(in oklab, var(--color-brand-green) 10%, transparent)}}.bg-brand-red{background-color:var(--color-brand-red)}.bg-brand-yellow{background-color:var(--color-brand-yellow)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-900\/70{background-color:#101828b3}@supports (color:color-mix(in lab, red, red)){.bg-gray-900\/70{background-color:color-mix(in oklab, var(--color-gray-900) 70%, transparent)}}.bg-gray-900\/80{background-color:#101828cc}@supports (color:color-mix(in lab, red, red)){.bg-gray-900\/80{background-color:color-mix(in oklab, var(--color-gray-900) 80%, transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-brand-blue{--tw-gradient-from:var(--color-brand-blue);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-brand-green{--tw-gradient-from:var(--color-brand-green);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-brand-yellow{--tw-gradient-from:var(--color-brand-yellow);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-gray-900\/80{--tw-gradient-from:#101828cc}@supports (color:color-mix(in lab, red, red)){.from-gray-900\/80{--tw-gradient-from:color-mix(in oklab, var(--color-gray-900) 80%, transparent)}}.from-gray-900\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-gray-900\/20{--tw-gradient-via:#10182833}@supports (color:color-mix(in lab, red, red)){.via-gray-900\/20{--tw-gradient-via:color-mix(in oklab, var(--color-gray-900) 20%, transparent)}}.via-gray-900\/20{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-blue-600{--tw-gradient-to:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-brand-red{--tw-gradient-to:var(--color-brand-red);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-fuchsia-600{--tw-gradient-to:var(--color-fuchsia-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-50{--tw-gradient-to:var(--color-yellow-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-1{padding-left:var(--spacing)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-12{padding-left:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[2\.75rem\]{--tw-leading:2.75rem;line-height:2.75rem}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-pre-line{white-space:pre-line}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-950{color:var(--color-amber-950)}.text-blue-50{color:var(--color-blue-50)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-brand-blue{color:var(--color-brand-blue)}.text-brand-green{color:var(--color-brand-green)}.text-brand-red{color:var(--color-brand-red)}.text-brand-yellow{color:var(--color-brand-yellow)}.text-brand-yellow\/15{color:#ffc80026}@supports (color:color-mix(in lab, red, red)){.text-brand-yellow\/15{color:color-mix(in oklab, var(--color-brand-yellow) 15%, transparent)}}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\/20{color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-blue-600{accent-color:var(--color-blue-600)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_0_\#1899d6\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,#1899d6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_0_\#e5b400\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,#e5b400);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_0_\#ea2b2b\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,#ea2b2b);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 12px 40px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 12px 40px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber-100{--tw-ring-color:var(--color-amber-100)}.ring-blue-50{--tw-ring-color:var(--color-blue-50)}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-pink-100{--tw-ring-color:var(--color-pink-100)}.ring-purple-100{--tw-ring-color:var(--color-purple-100)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-black\/10:is(:where(.group):hover *){background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-black\/10:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.group-hover\:bg-blue-50:is(:where(.group):hover *){background-color:var(--color-blue-50)}.group-hover\:text-indigo-500:is(:where(.group):hover *){color:var(--color-indigo-500)}}.selection\:bg-brand-blue ::selection{background-color:var(--color-brand-blue)}.selection\:bg-brand-blue::selection{background-color:var(--color-brand-blue)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing) * 4)}.file\:rounded-lg::file-selector-button{border-radius:var(--radius-lg)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-brand-blue::file-selector-button{background-color:var(--color-brand-blue)}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing) * 4)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-black::file-selector-button{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.file\:text-white::file-selector-button{color:var(--color-white)}@media (hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-indigo-600:hover{border-color:var(--color-indigo-600)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-yellow-500:hover{background-color:var(--color-yellow-500)}.hover\:text-brand-blue:hover{color:var(--color-brand-blue)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:file\:bg-blue-600:hover::file-selector-button{background-color:var(--color-blue-600)}}.focus\:border-brand-blue:focus{border-color:var(--color-brand-blue)}.focus\:border-brand-red:focus{border-color:var(--color-brand-red)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-brand-blue:focus{--tw-ring-color:var(--color-brand-blue)}.focus\:ring-brand-blue\/10:focus{--tw-ring-color:#1cb0f61a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-brand-blue\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-brand-blue) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-1:active{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:shadow-none:active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:40rem){.sm\:bottom-8{bottom:calc(var(--spacing) * 8)}.sm\:left-8{left:calc(var(--spacing) * 8)}.sm\:mt-0{margin-top:0}.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-80{height:calc(var(--spacing) * 80)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (min-width:48rem){.md\:right-16{right:calc(var(--spacing) * 16)}.md\:order-1{order:1}.md\:order-2{order:2}.md\:mx-0{margin-inline:0}.md\:h-\[28rem\]{height:28rem}.md\:w-1\/2{width:50%}.md\:w-5\/12{width:41.6667%}.md\:rotate-1{rotate:1deg}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:p-14{padding:calc(var(--spacing) * 14)}.md\:text-left{text-align:left}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.lg\:max-w-none{max-width:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:py-12{padding-block:calc(var(--spacing) * 12)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}.dark\:\!border-white\/10:where([data-theme=dark],[data-theme=dark] *){border-color:#ffffff1a!important}@supports (color:color-mix(in lab, red, red)){.dark\:\!border-white\/10:where([data-theme=dark],[data-theme=dark] *){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)!important}}.dark\:border-slate-700:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-slate-700)}.dark\:border-white\/10:where([data-theme=dark],[data-theme=dark] *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/10:where([data-theme=dark],[data-theme=dark] *){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:\!bg-white\/5:where([data-theme=dark],[data-theme=dark] *){background-color:#ffffff0d!important}@supports (color:color-mix(in lab, red, red)){.dark\:\!bg-white\/5:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-white) 5%, transparent)!important}}.dark\:bg-amber-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.dark\:bg-blue-900\/50:where([data-theme=dark],[data-theme=dark] *){background-color:#1c398e80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/50:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-blue-900) 50%, transparent)}}.dark\:bg-green-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.dark\:bg-indigo-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#625fff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-indigo-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.dark\:bg-purple-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-purple-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.dark\:bg-red-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.dark\:bg-red-500\/15:where([data-theme=dark],[data-theme=dark] *){background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/15:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.dark\:bg-sky-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-500\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.dark\:bg-slate-900:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-slate-900)}.dark\:bg-slate-950\/60:where([data-theme=dark],[data-theme=dark] *){background-color:#02061899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/60:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-slate-950) 60%, transparent)}}.dark\:bg-slate-950\/80:where([data-theme=dark],[data-theme=dark] *){background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/80:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.dark\:bg-white\/5:where([data-theme=dark],[data-theme=dark] *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/5:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.dark\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *){background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/10:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:\!text-slate-100:where([data-theme=dark],[data-theme=dark] *){color:var(--color-slate-100)!important}.dark\:text-amber-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-amber-300)}.dark\:text-blue-200:where([data-theme=dark],[data-theme=dark] *){color:var(--color-blue-200)}.dark\:text-green-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-green-300)}.dark\:text-indigo-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-indigo-300)}.dark\:text-purple-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-purple-300)}.dark\:text-sky-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-sky-300)}.dark\:text-slate-100:where([data-theme=dark],[data-theme=dark] *){color:var(--color-slate-100)}.dark\:text-slate-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-slate-300)}.dark\:text-slate-400:where([data-theme=dark],[data-theme=dark] *){color:var(--color-slate-400)}.dark\:text-slate-500:where([data-theme=dark],[data-theme=dark] *){color:var(--color-slate-500)}.dark\:shadow-\[0_16px_50px_rgba\(0\,0\,0\,0\.5\)\]:where([data-theme=dark],[data-theme=dark] *){--tw-shadow:0 16px 50px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_16px_50px_rgba\(0\,0\,0\,0\.55\)\]:where([data-theme=dark],[data-theme=dark] *){--tw-shadow:0 16px 50px var(--tw-shadow-color,#0000008c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:ring-blue-800:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:var(--color-blue-800)}.dark\:ring-white\/5:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\:ring-white\/5:where([data-theme=dark],[data-theme=dark] *){--tw-ring-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}@media (hover:hover){.dark\:hover\:bg-white\/20:where([data-theme=dark],[data-theme=dark] *):hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/20:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}}}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}body{background-color:var(--site-bg,#f4f9fb);color:var(--site-text,#3c3c3c);overscroll-behavior-y:none;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=dark]{scrollbar-color:#475569 transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}.hide-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.hide-scrollbar::-webkit-scrollbar{width:8px;height:8px;display:block}.btn{text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;font-weight:800;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-3d-blue,.btn-blue{color:#fff;background-color:#1cb0f6;transition:all .1s;box-shadow:0 4px #1899d6}.btn-3d-blue:active,.btn-blue:active{transform:translateY(4px);box-shadow:0 0 #0000}.btn-3d-green,.btn-green{color:#fff;background-color:#58cc02;transition:all .1s;box-shadow:0 4px #46a302}.btn-3d-green:active:not(:disabled),.btn-green:active{transform:translateY(4px);box-shadow:0 0 #0000}.btn-3d-green:disabled{cursor:wait;background-color:#a1d683;transform:translateY(2px);box-shadow:0 4px #8ab870}.btn-yellow{color:#3c3c3c;background-color:#ffc800;box-shadow:0 4px #e5b400}.btn-yellow:active{transform:translateY(4px);box-shadow:0 0 #0000}.btn-3d-gray{color:#4b5563;background-color:#f9fafb;border:2px solid #e5e7eb;transition:all .1s;box-shadow:0 4px #e5e7eb}.btn-3d-gray:hover{background-color:#f3f4f6}.btn-3d-gray:active{transform:translateY(4px);box-shadow:0 0 #0000}.booster-btn:active:not(:disabled){transform:scale(.9)}.booster-btn:disabled{filter:grayscale();opacity:.5;cursor:not-allowed}.is-correct,.correct{animation:.3s cubic-bezier(.34,1.56,.64,1) popIn;color:#fff!important;background-color:#58cc02!important;border-color:#46a302!important;box-shadow:0 4px #46a302!important}.is-wrong,.wrong{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake;color:#fff!important;background-color:#ff4b4b!important;border-color:#d93838!important;box-shadow:0 4px #d93838!important}.thick-input{border-width:2px;border-color:#e5e7eb;transition:all .2s cubic-bezier(.4,0,.2,1)}.thick-input:focus{background-color:#fff;border-color:#1cb0f6;outline:none;transform:translateY(-2px);box-shadow:0 4px 12px #1cb0f626}.spa-view{opacity:0;transition:opacity .3s;display:none}.spa-view.active{opacity:1;flex-direction:column;flex-grow:1;min-height:0;display:flex;overflow:hidden visible}#main-scroll-area>.spa-view.active{flex-grow:0;height:auto}.custom-modal{opacity:0;pointer-events:none;visibility:hidden;z-index:100;transition:opacity .3s,visibility .3s}.custom-modal.is-open{opacity:1;pointer-events:auto;visibility:visible}.custom-modal>div{transition:transform .3s cubic-bezier(.4,0,.2,1)}.btn-tab{color:#9ca3af;border-color:#0000;border-bottom-width:4px;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-tab.active{color:#fff;background-color:#1cb0f6;border-color:#1cb0f6;transform:translateY(0);box-shadow:0 4px #1899d6}.btn-tab.active:active{box-shadow:none;transform:translateY(4px)}.btn-tab.inactive{color:#6b7280;background-color:#0000;border:2px solid #0000}.btn-tab.inactive:hover{background-color:#f3f4f6;border-color:#e5e7eb}.btn-tab:hover:not(.active){color:#4b5563;border-color:#e5e7eb}.tab-content{animation:.3s fadeIn;display:none}.tab-content.active{display:block}.lesson-node{transition:transform .2s cubic-bezier(.4,0,.2,1),filter .2s,box-shadow .2s}.lesson-node:active{filter:brightness(.9);transform:scale(.92)}.lesson-node:hover{box-shadow:0 10px 25px #00000026}.article-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.article-card:hover{border-color:#1cb0f6;transform:translateY(-4px);box-shadow:0 12px #e5e7eb}.card-shadow{box-shadow:0 8px 30px #0000000a}.perspective-1000{perspective:1000px}.transform-style-3d{transform-style:preserve-3d;position:relative}.backface-hidden{backface-visibility:hidden}.rotate-y-180{transform:rotateY(180deg)}.flashcard{transition:transform .3s,opacity .3s}.flashcard-inner{transition:transform .6s cubic-bezier(.4,0,.2,1)}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.animate-flame{animation:2s infinite pulse-flame}@keyframes pulse-flame{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.floating{animation:4s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.prose{color:#374151;max-width:100%;font-size:1.125rem;line-height:1.75}.prose h1,.prose h2,.prose h3,.prose h4{color:#111827;letter-spacing:-.025em;margin-top:2rem;margin-bottom:1rem;font-weight:900;line-height:1.2}.prose h2{border-bottom:2px solid #e5e7eb;padding-bottom:.5rem;font-size:1.875rem}.prose h3{color:#1cb0f6;font-size:1.5rem}.prose p{color:#4b5563;margin-bottom:1.5rem;font-weight:600}.prose strong{color:#111827;background-color:#1cb0f61a;border-radius:4px;padding:0 4px;font-weight:900}.prose ul{margin-bottom:1.5rem;padding-left:0;list-style-type:none}.prose ul li{color:#4b5563;margin-bottom:.75rem;padding-left:1.75rem;font-weight:600;position:relative}.prose ul li:before{content:"•";color:#1cb0f6;font-size:1.5rem;font-weight:900;line-height:1;position:absolute;top:-2px;left:0}.prose ol{color:#111827;margin-bottom:1.5rem;padding-left:1.25rem;font-weight:700}.prose ol li{margin-bottom:.5rem;padding-left:.5rem}.prose ol li::marker{color:#1cb0f6;font-weight:900}.prose blockquote{background-color:#eff6ff;border-left:6px solid #1cb0f6;border-radius:0 1rem 1rem 0;margin:2rem 0;padding:1.25rem 1.5rem;font-style:normal;box-shadow:0 2px 4px #0000000d}.prose blockquote p{color:#1e3a8a;margin-bottom:0;font-weight:800}.prose img{object-fit:contain;border:2px solid #e5e7eb;border-radius:1.5rem;max-height:500px;margin:2.5rem auto;box-shadow:0 12px 20px -5px #0000001a}.prose a{color:#1cb0f6;border-bottom:2px dashed #1cb0f6;font-weight:800;text-decoration:none;transition:all .2s}.prose a:hover{color:#1899d6;border-bottom-color:#0000}.progress-container{z-index:50;background:#e5e7eb;width:100%;height:4px;position:absolute;bottom:-2px;left:0}.progress-bar{background:#1cb0f6;border-radius:0 2px 2px 0;width:0%;height:4px}.progress-bar-fill{transition:width .5s cubic-bezier(.4,0,.2,1)}.user-xp-display,.user-rating-display,.user-booster-display{transition:transform .3s,color .3s;display:inline-block}.cursor-zoom-in{cursor:zoom-in}.settings-tab.active{color:#fff;background-color:#1cb0f6;border-color:#1cb0f6}.settings-panel{display:none}.settings-panel.active{display:block}.auth-form{animation:.3s fadeIn;display:none}.auth-form.active{display:block}#achievement-alert{z-index:99999;background:linear-gradient(135deg,#fff,#fffde7);border:2px solid #ffc800;top:20px;left:50%;transform:translate(-50%)translateY(-150%);box-shadow:0 10px 40px #ffc80066}#achievement-alert.show{animation:.6s cubic-bezier(.175,.885,.32,1.275) forwards slideDown}#achievement-alert.hide{animation:.5s forwards fadeOutUp}.error-card{animation:.5s cubic-bezier(.34,1.56,.64,1) popIn}.shake-error{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}.accordion-content{opacity:0;max-height:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.accordion-item.active .accordion-content{opacity:1;max-height:300px;padding-bottom:1.5rem}.accordion-icon{transition:transform .3s}.accordion-item.active .accordion-icon{transform:rotate(180deg)}.xp-progress-container{background-color:#e5e5e5;border:2px solid #e5e5e5;border-radius:9999px;width:100%;height:14px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.xp-progress-bar{background:linear-gradient(90deg,#1cb0f6,#3b82f6);border-radius:9999px;width:0%;height:100%;transition:width 1.2s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 1px 2px #0000001a}.xp-progress-bar:after{content:"";background:#ffffff40;border-radius:9999px;height:35%;position:absolute;top:0;left:0;right:0}body{transition:background-image .5s ease-in-out,background-color .5s ease-in-out}.cookie-banner[hidden],.cookie-banner--hidden{visibility:hidden!important;pointer-events:none!important;box-shadow:none!important;display:none!important}.cookie-banner{--cookie-surface:#fffffff5;--cookie-surface-muted:#f4f7fb;--cookie-border:#94a3b847;--cookie-title:#17233b;--cookie-copy:#5c6b82;--cookie-icon-bg:#fff4cf;--cookie-icon:#c98600;--cookie-secondary:#314158;--cookie-secondary-border:#d8e0ea;z-index:10050;padding:.75rem clamp(.75rem,3vw,2rem) max(.75rem,env(safe-area-inset-bottom));opacity:1;pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s;position:fixed;bottom:0;left:0;right:0;transform:translateY(0)}.cookie-banner.translate-y-full{opacity:0;display:block;transform:translateY(calc(100% + 2rem))}.cookie-banner__card{width:min(100%,72rem);color:var(--cookie-title);background:var(--cookie-surface);border:1px solid var(--cookie-border);-webkit-backdrop-filter:blur(18px)saturate(150%);pointer-events:auto;border-radius:1.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;margin:0 auto;padding:1rem;display:grid;box-shadow:0 18px 55px #0f172a2e,0 3px 12px #0f172a14}.cookie-banner__content{align-items:center;gap:.875rem;min-width:0;display:flex}.cookie-banner__icon{width:3rem;height:3rem;color:var(--cookie-icon);background:var(--cookie-icon-bg);border-radius:1rem;flex:0 0 3rem;place-items:center;font-size:1.25rem;display:grid;box-shadow:inset 0 0 0 1px #f59e0b29}.cookie-banner__copy{min-width:0}.cookie-banner__title{color:var(--cookie-title);letter-spacing:-.01em;margin:0 0 .2rem;font-size:1rem;font-weight:900;line-height:1.3}.cookie-banner__description{color:var(--cookie-copy);margin:0;font-size:.8125rem;font-weight:700;line-height:1.5}.cookie-banner__link{color:#0785c2;text-underline-offset:3px;font-weight:900;text-decoration:underline;text-decoration-thickness:1.5px}.cookie-banner__link:hover{color:#056a9b}.cookie-banner__actions{align-items:center;gap:.625rem;display:flex}.cookie-banner__button{white-space:nowrap;cursor:pointer;border:2px solid #0000;border-radius:.9rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.875rem;padding:.7rem 1rem;font-size:.8125rem;font-weight:900;line-height:1;transition:transform .15s,background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.cookie-banner__button--primary{color:#fff;background:#1cb0f6;border-color:#1cb0f6;box-shadow:0 4px #148dc5}.cookie-banner__button--primary:hover{background:#12a4e8;border-color:#12a4e8}.cookie-banner__button--secondary{color:var(--cookie-secondary);background:var(--cookie-surface-muted);border-color:var(--cookie-secondary-border)}.cookie-banner__button--secondary:hover{background:#eaf0f6;border-color:#c8d3df}.cookie-banner__button:active{box-shadow:none;transform:translateY(3px)}.cookie-banner__button:focus-visible,.cookie-banner__link:focus-visible{outline-offset:3px;outline:3px solid #1cb0f659}[data-theme=dark] .cookie-banner{--cookie-surface:#141e30f5;--cookie-surface-muted:#243249;--cookie-border:#94a3b83d;--cookie-title:#f6f8fb;--cookie-copy:#b4c0d1;--cookie-icon-bg:#ffc80024;--cookie-icon:#ffd24a;--cookie-secondary:#e2e8f0;--cookie-secondary-border:#3c4c65}[data-theme=dark] .cookie-banner__card{box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff05}[data-theme=dark] .cookie-banner__link{color:#64c9f8}[data-theme=dark] .cookie-banner__link:hover{color:#9bddfb}[data-theme=dark] .cookie-banner__button--secondary:hover{background:#2d3d56;border-color:#53647c}@media (max-width:767px){.cookie-banner__card{border-radius:1.25rem;grid-template-columns:1fr;gap:.875rem;padding:1rem}.cookie-banner__content{align-items:flex-start}.cookie-banner__icon{border-radius:.85rem;flex-basis:2.65rem;width:2.65rem;height:2.65rem;font-size:1.05rem}.cookie-banner__actions{grid-template-columns:1fr 1fr;display:grid}.cookie-banner__button{width:100%;padding-inline:.7rem}}@media (max-width:390px){.cookie-banner__actions{grid-template-columns:1fr}.cookie-banner__button--primary{grid-row:1}}@media (prefers-reduced-motion:reduce){.cookie-banner,.cookie-banner__button{transition:none}}body{color:var(--site-text);transition:background-color .4s,color .4s;background-color:var(--site-bg)!important}.pb-safe{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}.pt-safe{padding-top:max(.5rem, env(safe-area-inset-top))}@media (min-width:768px){[data-theme=dark] #main-nav{background-color:var(--site-nav-bg)!important;border-color:var(--site-border)!important;box-shadow:none!important}}[data-theme=dark] #main-header{background:var(--site-header-bg)!important;border-color:var(--site-border)!important}[data-theme=dark] .bg-white,[data-theme=dark] .modal-content{background-color:var(--site-surface)!important}[data-theme=dark] .bg-gray-50,[data-theme=dark] .bg-gray-100{background-color:var(--site-surface-muted)!important}[data-theme=dark] .text-gray-900,[data-theme=dark] .text-gray-800,[data-theme=dark] .text-gray-700{color:var(--site-text)!important}[data-theme=dark] .text-gray-600,[data-theme=dark] .text-gray-500,[data-theme=dark] .text-gray-400{color:var(--site-text-muted)!important}[data-theme=dark] .border-gray-100,[data-theme=dark] .border-gray-200{border-color:var(--site-border)!important}[data-theme=dark] .hover\:bg-gray-50:hover,[data-theme=dark] .hover\:bg-gray-100:hover,[data-theme=dark] .hover\:bg-gray-200:hover{background-color:var(--site-surface-muted)!important}[data-theme=dark] .nav-tab.text-gray-500{color:var(--site-text-muted)!important}[data-theme=dark] .nav-tab.bg-blue-50{background-color:#1cb0f626!important}[data-theme=dark] #custom-toast,[data-theme=dark] #achievement-alert{background-color:var(--site-surface)!important;border-color:var(--site-border)!important}[data-theme=dark] .text-brand-yellow{color:var(--season-yellow)!important}[data-theme=dark] .border-brand-yellow{border-color:var(--season-yellow)!important}[data-theme=dark] .lesson-page-bg{background:linear-gradient(180deg, #0f172a 0%, var(--site-bg) 30%, var(--site-surface) 100%)!important}[data-theme=dark] .lesson-header-bar,[data-theme=dark] .lesson-bottom-bar{border-color:var(--site-border)!important;background:#1e293bf2!important}[data-theme=dark] .lesson-content-card{background:var(--site-surface)!important;border-color:var(--site-border)!important}[data-theme=dark] .lesson-quick-action{background:var(--site-surface)!important;border-color:var(--site-border)!important;color:var(--site-text)!important}.lesson-page-bg{background:linear-gradient(#eef6fc 0%,#f4f9fb 30%,#fff 100%);min-height:100vh}.lesson-header-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 12px #1cb0f60f}.lesson-content-card{background:#fff;border:2px solid #f1f5f9;border-radius:2rem;padding:1.5rem 2rem;transition:box-shadow .3s;box-shadow:0 4px 24px #0000000a}.lesson-content-card:hover{box-shadow:0 8px 32px #1cb0f614}.lesson-bottom-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border-top:2px solid #e2e8f0;box-shadow:0 -8px 32px #0000000f}.lesson-cta-btn{color:#fff;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#58cc02,#46a302);border:none;border-radius:1.25rem;outline:none;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1.125rem;font-weight:900;transition:all .15s;display:inline-flex;box-shadow:0 4px #3b8702}.lesson-cta-btn:hover{background:linear-gradient(135deg,#46a302,#3b8702);transform:translateY(-1px)}.lesson-cta-btn:active{box-shadow:none;transform:translateY(4px)}.lesson-quick-actions{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.lesson-quick-action{color:#374151;cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:1.25rem;outline:none;align-items:center;gap:.75rem;padding:1rem;font-size:.875rem;font-weight:800;transition:all .2s;display:flex}.lesson-quick-action:hover{background:#f0f9ff;border-color:#1cb0f6;transform:translateY(-2px);box-shadow:0 4px 12px #1cb0f61f}.lesson-quick-action i{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:flex}.lesson-quick-action.tests i{color:#1cb0f6;background:#dbeafe}.lesson-quick-action.practice i{color:#16a34a;background:#dcfce7}.lesson-miro-banner{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 55%,#fde68a 100%)!important;border-color:#f59e0b!important}.lesson-miro-banner__title{color:#111827!important}.lesson-miro-banner__desc{color:#57534e!important}.lesson-miro-banner__decor{color:#f59e0b33!important}[data-theme=dark] .lesson-miro-banner{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 50%,#fcd34d 100%)!important;border-color:#f59e0b!important;box-shadow:0 4px 20px #00000040!important}[data-theme=dark] .lesson-miro-banner__title{color:#1c1917!important}[data-theme=dark] .lesson-miro-banner__desc{color:#44403c!important}[data-theme=dark] .lesson-miro-banner a.text-gray-900{color:#111827!important}#theory-content img,#homework-content img{object-fit:contain;border-radius:.75rem;max-width:100%;height:auto;margin:.75rem 0;display:block}#theory-content table,#homework-content table{border-collapse:collapse;width:100%;margin:1rem 0}#theory-content td,#theory-content th,#homework-content td,#homework-content th{border:1px solid #e5e7eb;padding:.625rem}@keyframes spin-slow{to{transform:rotate(360deg)}}.animate-spin-slow{animation:2s linear infinite spin-slow}@media (max-width:640px){.lesson-content-card{border-radius:1.25rem!important;padding:1rem 1.25rem!important}.lesson-quick-actions{grid-template-columns:1fr!important}}@media (max-width:380px){#game-options-container{grid-template-columns:1fr!important}.game-status-pill{padding:.5rem .75rem!important;font-size:.75rem!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-150%)translate(-50%)scale(.9)}to{opacity:1;transform:translateY(0)translate(-50%)scale(1)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)translate(-50%)}to{opacity:0;transform:translateY(-150%)translate(-50%)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* source: static/css/layers/marketing/marketing.css */
/* Landing, blog, article — dark theme & readable contrast */

.marketing-page {
    background-color: transparent;
    color: var(--text-color, #1f2937);
    isolation: isolate;
}

[data-theme="dark"] html:has(.marketing-page) {
    background: linear-gradient(165deg, #141e32 0%, #1a2740 45%, #152238 100%);
}

[data-theme="dark"] .marketing-page {
    background-color: transparent;
    color: var(--text-color, #f1f5f9);
}

/* Headers */
[data-theme="dark"] .marketing-page #main-header,
[data-theme="dark"] .marketing-page .marketing-header {
    background: rgba(15, 23, 42, 0.94) !important;
    backdrop-filter: blur(16px);
    border-color: var(--border-color, #334155) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .marketing-page #main-header span,
[data-theme="dark"] .marketing-page #main-header a:not(.btn):not([class*="bg-brand"]),
[data-theme="dark"] .marketing-page .marketing-header h1,
[data-theme="dark"] .marketing-page .marketing-header p {
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page .bg-yellow-50 {
    background: rgba(250, 204, 21, 0.12) !important;
}

[data-theme="dark"] .marketing-page .border-yellow-100 {
    border-color: rgba(250, 204, 21, 0.25) !important;
}

[data-theme="dark"] .marketing-page .text-brand-yellow {
    color: #fde047 !important;
}

[data-theme="dark"] .marketing-page .nav-item,
[data-theme="dark"] .marketing-page #main-header .text-gray-500,
[data-theme="dark"] .marketing-page #main-header .text-gray-600 {
    color: var(--text-muted) !important;
}

.marketing-page .nav-item.nav-active {
    color: #1cb0f6 !important;
    background: rgba(28, 176, 246, 0.12);
    box-shadow: inset 0 0 0 1px rgba(28, 176, 246, 0.2);
}

[data-theme="dark"] .marketing-page .nav-item.nav-active {
    color: #7dd3fc !important;
    background: rgba(56, 189, 248, 0.18) !important;
    box-shadow: inset 0 0 0 1px rgba(125, 211, 252, 0.35) !important;
}

.marketing-page .mobile-link.mobile-nav-active {
    color: #1cb0f6 !important;
    background: rgba(28, 176, 246, 0.1);
}

[data-theme="dark"] .marketing-page .mobile-link.mobile-nav-active {
    color: #7dd3fc !important;
    background: rgba(56, 189, 248, 0.14);
}

[data-theme="dark"] .marketing-page .mobile-link.mobile-nav-active i {
    color: #7dd3fc !important;
}

[data-theme="dark"] .marketing-page #mobile-menu {
    background: var(--surface-color, #1e293b) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .marketing-page #mobile-menu-btn:hover,
[data-theme="dark"] .marketing-page .marketing-island__menu-btn:hover {
    background: rgba(51, 65, 85, 0.6);
}

[data-theme="dark"] .marketing-page #mobile-menu-btn[aria-expanded="true"],
[data-theme="dark"] .marketing-page .marketing-island__menu-btn[aria-expanded="true"] {
    background: rgba(56, 189, 248, 0.18);
    color: #7dd3fc;
}

.marketing-page #mobile-menu {
    -webkit-overflow-scrolling: touch;
}

.marketing-page #mobile-menu .mobile-link {
    min-height: 2.75rem;
}

[data-theme="dark"] .marketing-page #main-header.header-scrolled {
    background: rgba(15, 23, 42, 0.98) !important;
    border-color: var(--border-color) !important;
}

.marketing-page #main-header.header-scrolled {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: #e5e7eb !important;
}

/* Background layers — keep photos visible in dark mode */
[data-theme="dark"] .marketing-page #dynamic-bg-container,
[data-theme="dark"] .marketing-page .marketing-bg {
    background: var(--public-page-bg) !important;
}

[data-theme="dark"] .marketing-page #dynamic-bg-container img.bg-layer-visible,
[data-theme="dark"] .marketing-page .marketing-bg > img.bg-layer-visible {
    opacity: 0.55 !important;
    filter: saturate(1.05) brightness(0.72);
}

[data-theme="dark"] .marketing-page #dynamic-bg-container img.opacity-0,
[data-theme="dark"] .marketing-page .marketing-bg > img.opacity-0 {
    opacity: 0 !important;
}

[data-theme="dark"] .marketing-page #dynamic-bg-container[data-active-section="hero"] .marketing-bg-overlay,
[data-theme="dark"] .marketing-page #dynamic-bg-container[data-active-section="about"] .marketing-bg-overlay {
    background: rgba(20, 30, 50, 0.12) !important;
}

[data-theme="dark"] .marketing-page .marketing-bg-overlay {
    background: rgba(20, 30, 50, 0.22) !important;
    backdrop-filter: blur(1px);
}

/* Blog / auth / legal — static bg partial (not landing hero): soften like light theme */
[data-theme="dark"] .marketing-page .marketing-bg:not(#dynamic-bg-container) > img.bg-layer-visible {
    opacity: 1 !important;
    filter: saturate(0.9) brightness(0.78);
}

[data-theme="dark"] .marketing-page .marketing-bg:not(#dynamic-bg-container) .marketing-bg-overlay {
    background: rgba(15, 23, 42, 0.5) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.marketing-back-btn {
    background: #f3f4f6;
    color: #4b5563;
}

.marketing-back-btn:hover {
    background: #e5e7eb;
}

[data-theme="dark"] .marketing-back-btn {
    background: rgba(51, 65, 85, 0.55) !important;
    color: #e2e8f0 !important;
    border-color: rgba(71, 85, 105, 0.55) !important;
}

[data-theme="dark"] .marketing-back-btn:hover {
    background: rgba(71, 85, 105, 0.65) !important;
}

[data-theme="dark"] .marketing-page .nav-item:hover {
    color: #7dd3fc !important;
}

[data-theme="dark"] .marketing-page #mobile-menu a,
[data-theme="dark"] .marketing-page #mobile-menu .mobile-link {
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page #mobile-menu .text-gray-400 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .marketing-page #mobile-menu hr {
    border-color: var(--border-color) !important;
}

/* Glass / card surfaces — translucent so page bg shows through */
[data-theme="dark"] .marketing-page [class*="bg-white/"]:not(.marketing-bg-overlay):not([class*="bg-gradient"]),
[data-theme="dark"] .marketing-page .bg-white:not([class*="bg-gradient"]):not(.lead-form-card) {
    background-color: rgba(26, 39, 64, 0.82) !important;
    backdrop-filter: blur(12px);
    border-color: rgba(71, 85, 105, 0.5) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

/* Form card inside blue CTA — always light/readable in dark mode */
[data-theme="dark"] .marketing-page .lead-form-card,
[data-theme="dark"] .marketing-page .bg-gradient-to-br .bg-white {
    background-color: #f8fafc !important;
    color: #1f2937 !important;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

[data-theme="dark"] .marketing-page .lead-form-card .text-gray-900,
[data-theme="dark"] .marketing-page .lead-form-card .text-gray-800,
[data-theme="dark"] .marketing-page .lead-form-card h3,
[data-theme="dark"] .marketing-page .bg-gradient-to-br .bg-white .text-gray-900,
[data-theme="dark"] .marketing-page .bg-gradient-to-br .bg-white .text-gray-800,
[data-theme="dark"] .marketing-page .bg-gradient-to-br .bg-white h3 {
    color: #111827 !important;
}

[data-theme="dark"] .marketing-page .lead-form-card .text-gray-400,
[data-theme="dark"] .marketing-page .bg-gradient-to-br .bg-white .text-gray-400 {
    color: #6b7280 !important;
}

[data-theme="dark"] .marketing-page .lead-form-card .lead-form-input,
[data-theme="dark"] .marketing-page .lead-form-card input {
    background: #ffffff !important;
    color: #111827 !important;
    border-color: #d1d5db !important;
}

[data-theme="dark"] .marketing-page .lead-form-card .lead-form-input::placeholder,
[data-theme="dark"] .marketing-page .lead-form-card input::placeholder {
    color: #9ca3af !important;
    opacity: 1;
}

[data-theme="dark"] .marketing-page .lead-form-card .lead-form-input:focus,
[data-theme="dark"] .marketing-page .lead-form-card input:focus,
[data-theme="dark"] .marketing-page .lead-form-card textarea.lead-form-input:focus {
    border-color: #1cb0f6 !important;
    box-shadow: 0 0 0 4px rgba(28, 176, 246, 0.15) !important;
}

.lead-form-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #9ca3af;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.lead-form-divider::before,
.lead-form-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

.lead-form-tg-direct {
    background: linear-gradient(180deg, #2aabee 0%, #229ed9 100%);
    color: #fff !important;
    border: none;
    box-shadow: 0 5px 0 #1b7eaf;
    text-decoration: none;
}

.lead-form-tg-direct:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

[data-theme="dark"] .marketing-page .lead-form-divider::before,
[data-theme="dark"] .marketing-page .lead-form-divider::after {
    background: rgba(148, 163, 184, 0.35);
}

[data-theme="dark"] .marketing-page .lead-form-card .text-gray-500 {
    color: #9ca3af !important;
}

[data-theme="dark"] .marketing-page .text-gray-900,
[data-theme="dark"] .marketing-page .text-gray-800,
[data-theme="dark"] .marketing-page .text-gray-700,
[data-theme="dark"] .marketing-page h1,
[data-theme="dark"] .marketing-page h2,
[data-theme="dark"] .marketing-page h3,
[data-theme="dark"] .marketing-page h4 {
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page .text-gray-600,
[data-theme="dark"] .marketing-page .text-gray-500,
[data-theme="dark"] .marketing-page .text-gray-400 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .marketing-page .bg-gray-50,
[data-theme="dark"] .marketing-page .bg-gray-100 {
    background-color: rgba(51, 65, 85, 0.5) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page .border-gray-100,
[data-theme="dark"] .marketing-page .border-gray-200,
[data-theme="dark"] .marketing-page .border-white {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .marketing-page .quiz-btn {
    background: var(--surface-color) !important;
    border-color: var(--border-color) !important;
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page .quiz-btn span.rounded-full {
    background: rgba(51, 65, 85, 0.8) !important;
    color: var(--text-muted) !important;
}

[data-theme="dark"] .marketing-page .bg-green-50 {
    background: rgba(88, 204, 2, 0.12) !important;
}

[data-theme="dark"] .marketing-page .bg-red-50 {
    background: rgba(248, 113, 113, 0.12) !important;
}

[data-theme="dark"] .marketing-page .border-red-100 {
    border-color: rgba(248, 113, 113, 0.25) !important;
}

[data-theme="dark"] .marketing-page .border-blue-100 {
    border-color: rgba(56, 189, 248, 0.25) !important;
}

[data-theme="dark"] .marketing-page .bg-blue-50 {
    background: rgba(28, 176, 246, 0.12) !important;
}

[data-theme="dark"] .marketing-page .article-card .bg-white,
[data-theme="dark"] .marketing-page article.bg-white {
    background: var(--surface-color) !important;
}

[data-theme="dark"] .marketing-page .prose,
[data-theme="dark"] .marketing-page .prose p,
[data-theme="dark"] .marketing-page .prose li,
[data-theme="dark"] .marketing-page .prose h1,
[data-theme="dark"] .marketing-page .prose h2,
[data-theme="dark"] .marketing-page .prose h3 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .marketing-page .prose strong,
[data-theme="dark"] .marketing-page .prose h1,
[data-theme="dark"] .marketing-page .prose h2,
[data-theme="dark"] .marketing-page .prose h3 {
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page .prose a {
    color: #7dd3fc !important;
}

[data-theme="dark"] .marketing-page .prose blockquote,
[data-theme="dark"] .marketing-page .marketing-prose blockquote {
    background-color: rgba(28, 176, 246, 0.12) !important;
    border-left-color: #1cb0f6 !important;
    box-shadow: none !important;
}

[data-theme="dark"] .marketing-page .prose blockquote,
[data-theme="dark"] .marketing-page .prose blockquote p,
[data-theme="dark"] .marketing-page .marketing-prose blockquote,
[data-theme="dark"] .marketing-page .marketing-prose blockquote p {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .marketing-page footer.bg-white {
    background: var(--surface-color, #1e293b) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .marketing-page footer .text-gray-900 {
    color: var(--text-color) !important;
}

[data-theme="dark"] .marketing-page footer .text-gray-500,
[data-theme="dark"] .marketing-page footer .text-gray-400 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .marketing-page .progress-container {
    background: rgba(51, 65, 85, 0.5);
}

[data-theme="dark"] .marketing-page #error-modal-box {
    background: var(--surface-color) !important;
}

[data-theme="dark"] .marketing-page input.bg-gray-50:not(.lead-form-input) {
    background: #0f172a !important;
    color: var(--text-color) !important;
    border-color: var(--border-color) !important;
}

/* Section bands — translucent tints so scroll bg stays visible */
[data-theme="dark"] .marketing-page section[class*="bg-white/30"],
[data-theme="dark"] .marketing-page section[class*="bg-white/40"] {
    background-color: rgba(30, 41, 59, 0.28) !important;
    backdrop-filter: blur(10px);
    border-color: rgba(100, 116, 139, 0.25) !important;
}

[data-theme="dark"] .marketing-page section[class*="bg-gray-900/30"] {
    background-color: rgba(10, 16, 28, 0.36) !important;
    backdrop-filter: blur(10px);
    border-color: rgba(71, 85, 105, 0.3) !important;
}

[data-theme="dark"] .marketing-page section[class*="bg-gray-900/40"] {
    background-color: rgba(10, 16, 28, 0.42) !important;
    backdrop-filter: blur(10px);
    border-color: rgba(71, 85, 105, 0.3) !important;
}

[data-theme="dark"] .marketing-page section[class*="bg-gray-900/70"] {
    background-color: rgba(10, 16, 28, 0.55) !important;
    backdrop-filter: blur(10px);
    border-color: rgba(71, 85, 105, 0.35) !important;
}

[data-theme="dark"] .marketing-page section.bg-brand-blue\/20 {
    background-color: rgba(28, 176, 246, 0.2) !important;
    backdrop-filter: blur(10px);
}

[data-theme="dark"] .marketing-page .bg-brand-blue\/90 {
    background-color: rgba(28, 176, 246, 0.88) !important;
}

[data-theme="dark"] .marketing-page .bg-gradient-to-br.from-brand-blue.to-blue-600 {
    background: linear-gradient(to bottom right, #1cb0f6, #2563eb) !important;
}

/* Lesson cards — readable in dark mode */
[data-theme="dark"] .marketing-page #lessons .landing-card > div:first-child {
    background: #111827;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .marketing-page #lessons img.grayscale {
    opacity: 0.72 !important;
    filter: grayscale(0.35) brightness(0.72) contrast(1.08);
}

[data-theme="dark"] .marketing-page #lessons .mix-blend-multiply {
    mix-blend-mode: soft-light !important;
    opacity: 0.55 !important;
}

[data-theme="dark"] .marketing-page #lessons .landing-card > div:first-child::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(to bottom, rgba(8, 12, 24, 0.05), rgba(8, 12, 24, 0.35));
    pointer-events: none;
    z-index: 2;
}

[data-theme="dark"] .marketing-page #lessons .inline-block.bg-white\/90,
[data-theme="dark"] .marketing-page #lessons .inline-block[class*="bg-white/90"] {
    background-color: rgba(30, 41, 59, 0.94) !important;
    border-color: rgba(100, 116, 139, 0.45) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] .marketing-page #lessons .inline-block h2 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .marketing-page #lessons .inline-block p {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .marketing-page #lessons .landing-card > div:last-child {
    background-color: rgba(30, 41, 59, 0.96) !important;
    border-color: rgba(100, 116, 139, 0.55) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
}

[data-theme="dark"] .marketing-page #lessons .landing-card > div:last-child .text-gray-800 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .marketing-page #lessons .landing-card > div:last-child .text-gray-400 {
    color: #94a3b8 !important;
}

[data-theme="dark"] .marketing-page #hero .bg-white\/90 {
    background-color: rgba(30, 41, 59, 0.94) !important;
    border-color: rgba(100, 116, 139, 0.45) !important;
}

[data-theme="dark"] .marketing-page #hero h1,
[data-theme="dark"] .marketing-page #hero .text-gray-900 {
    color: #f8fafc !important;
}

[data-theme="dark"] .marketing-page #hero .text-gray-600,
[data-theme="dark"] .marketing-page #hero .text-gray-500 {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .marketing-page .inline-block[class*="bg-white/90"] h2,
[data-theme="dark"] .marketing-page .inline-block[class*="bg-white/90"] h3,
[data-theme="dark"] .marketing-page .inline-block[class*="bg-white/90"] h4 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .marketing-page .inline-block[class*="bg-white/90"] p {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .marketing-page .bg-pink-200 {
    background-color: rgba(251, 207, 232, 0.25) !important;
    color: #fbcfe8 !important;
}

[data-theme="dark"] .marketing-page .bg-blue-200 {
    background-color: rgba(191, 219, 254, 0.25) !important;
    color: #bfdbfe !important;
}

[data-theme="dark"] .marketing-page .bg-green-200 {
    background-color: rgba(187, 247, 208, 0.25) !important;
    color: #bbf7d0 !important;
}

[data-theme="dark"] .marketing-page .text-pink-700,
[data-theme="dark"] .marketing-page .text-blue-700,
[data-theme="dark"] .marketing-page .text-green-700 {
    color: inherit !important;
}

[data-theme="dark"] .marketing-page .bg-blue-800 {
    background-color: #1e3a5f !important;
}

[data-theme="dark"] .marketing-page .inline-block.bg-gray-900\/90 {
    background: rgba(15, 23, 42, 0.82) !important;
    border-color: rgba(71, 85, 105, 0.45) !important;
}

[data-theme="dark"] .marketing-page .inline-block.bg-gray-900\/90 h2,
[data-theme="dark"] .marketing-page .inline-block.bg-gray-900\/90 .text-white {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .marketing-page .inline-block.bg-gray-900\/90 .text-gray-300 {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .marketing-page .text-brand-blue {
    color: #7dd3fc !important;
}

[data-theme="dark"] .marketing-page .text-brand-red {
    color: #fca5a5 !important;
}

[data-theme="dark"] .marketing-page .text-blue-100 {
    color: #bae6fd !important;
}

[data-theme="dark"] .marketing-page .border-4.border-white,
[data-theme="dark"] .marketing-page .border-8.border-white {
    border-color: rgba(71, 85, 105, 0.7) !important;
}

[data-theme="dark"] .marketing-page .floating.bg-white {
    background: var(--surface-color) !important;
}

[data-theme="dark"] .marketing-page .bg-brand-blue\/10 {
    background: rgba(56, 189, 248, 0.15) !important;
}

[data-theme="dark"] .marketing-page .bg-brand-red\/10 {
    background: rgba(248, 113, 113, 0.15) !important;
}

[data-theme="dark"] .marketing-page .border-brand-red\/20 {
    border-color: rgba(248, 113, 113, 0.35) !important;
}

[data-theme="dark"] .marketing-page .shadow-green-200,
[data-theme="dark"] .marketing-page .shadow-yellow-200,
[data-theme="dark"] .marketing-page .shadow-blue-200,
[data-theme="dark"] .marketing-page .shadow-purple-200 {
    --tw-shadow-color: rgba(0, 0, 0, 0.35);
}

/* Tariff / CTA blocks keep accent colors */

[data-theme="dark"] .marketing-page .text-brand-green {
    color: #86efac !important;
}

[data-theme="dark"] .marketing-page #tariffs .text-gray-300 {
    color: #cbd5e1 !important;
}

[data-theme="dark"] .marketing-page #tariffs .inline-block.bg-gray-900\/90 {
    background: rgba(15, 23, 42, 0.95) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .marketing-page #tariffs .inline-block.bg-gray-900\/90 h2 {
    color: #f1f5f9 !important;
}

.marketing-page .tariff-price-old {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 700;
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
    text-decoration-color: currentColor;
}

[data-theme="dark"] .marketing-page .tariff-price-old {
    color: #94a3b8 !important;
}

[data-theme="dark"] .marketing-page .ring-blue-50 {
    --tw-ring-color: rgba(56, 189, 248, 0.2) !important;
}

.marketing-theme-toggle {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 44px;
    min-height: 44px;
    border-radius: 0.75rem;
    border: 2px solid var(--border-color, #e5e7eb);
    background: var(--surface-muted, #f3f4f6);
    color: var(--text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.marketing-theme-toggle:hover {
    border-color: #1cb0f6;
    color: #1cb0f6;
}

[data-theme="dark"] .marketing-theme-toggle {
    background: rgba(51, 65, 85, 0.6);
    border-color: var(--border-color);
    color: #94a3b8;
}

@media (max-width: 767px) {
    .marketing-theme-toggle-sm {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 44px;
        min-height: 44px;
        border-radius: 0.75rem;
    }

    #mobile-menu-btn[aria-expanded="true"],
    .marketing-island__menu-btn[aria-expanded="true"] {
        background: rgba(28, 176, 246, 0.12);
        color: #1cb0f6;
    }
}

/* Auth page */
body.auth-page .grecaptcha-badge {
    z-index: 2147483647 !important;
}

.auth-page .auth-bg-image {
    opacity: 0.94;
    filter: saturate(0.97) brightness(0.96);
}

.auth-page .auth-bg-overlay {
    background: rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(2px);
}

[data-theme="dark"] .auth-page .auth-bg-image {
    opacity: 0.74 !important;
    filter: saturate(0.9) brightness(0.86);
}

[data-theme="dark"] .auth-page .auth-bg-overlay {
    background: rgba(10, 16, 28, 0.34) !important;
    backdrop-filter: blur(1px);
}

.auth-page .auth-info-card,
.auth-page .auth-form-card {
    border-color: var(--border-color, #e5e7eb);
}

[data-theme="dark"] .auth-page .auth-info-card,
[data-theme="dark"] .auth-page .auth-form-card {
    background: rgba(30, 41, 59, 0.92) !important;
    border-color: rgba(71, 85, 105, 0.55) !important;
    backdrop-filter: blur(12px);
}

[data-theme="dark"] .auth-page .auth-info-card .text-gray-900,
[data-theme="dark"] .auth-page .auth-form-card .text-gray-900,
[data-theme="dark"] .auth-page .auth-info-card h1,
[data-theme="dark"] .auth-page .auth-info-card h2,
[data-theme="dark"] .auth-page .auth-info-card h3,
[data-theme="dark"] .auth-page .auth-form-card h1 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .auth-page .auth-info-card .text-gray-600,
[data-theme="dark"] .auth-page .auth-info-card .text-gray-500,
[data-theme="dark"] .auth-page .auth-info-card .text-gray-700,
[data-theme="dark"] .auth-page .auth-form-card .text-gray-500 {
    color: #94a3b8 !important;
}

[data-theme="dark"] .auth-page .auth-info-card .bg-gray-50,
[data-theme="dark"] .auth-page .auth-form-card .bg-gray-50 {
    background: rgba(51, 65, 85, 0.45) !important;
    border-color: rgba(71, 85, 105, 0.45) !important;
}

[data-theme="dark"] .auth-page .auth-info-card .bg-green-50 {
    background: rgba(88, 204, 2, 0.12) !important;
    border-color: rgba(88, 204, 2, 0.25) !important;
}

[data-theme="dark"] .auth-page .auth-info-card .bg-blue-50 {
    background: rgba(28, 176, 246, 0.12) !important;
}

[data-theme="dark"] .auth-page .auth-info-card .bg-yellow-50 {
    background: rgba(255, 200, 0, 0.12) !important;
}

[data-theme="dark"] .auth-page .auth-input,
[data-theme="dark"] .auth-page .auth-form-card input.auth-input {
    background: #0f172a !important;
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

[data-theme="dark"] .auth-page .auth-form-card input.bg-white {
    background: #0f172a !important;
}

[data-theme="dark"] .auth-page .auth-input::placeholder {
    color: #64748b !important;
    opacity: 1;
}

[data-theme="dark"] .auth-page #auth-header a.auth-home-link {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .auth-page #auth-header a.auth-home-link:hover {
    color: #7dd3fc !important;
}

[data-theme="dark"] .auth-page #auth-header .auth-logo-link,
[data-theme="dark"] .auth-page #auth-header .auth-logo-link span {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .auth-page .thick-input:focus,
[data-theme="dark"] .auth-page .auth-input:focus {
    background-color: #0f172a !important;
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.2);
}

[data-theme="dark"] .auth-page .btn-tab.inactive {
    color: #94a3b8 !important;
}

[data-theme="dark"] .auth-page .btn-tab.inactive:hover,
[data-theme="dark"] .auth-page .btn-tab:hover:not(.active) {
    background-color: rgba(51, 65, 85, 0.45) !important;
    border-color: rgba(71, 85, 105, 0.55) !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .auth-page .shake-error .bg-white,
[data-theme="dark"] .auth-page .bg-blue-50 .bg-white {
    background: rgba(51, 65, 85, 0.6) !important;
    border-color: rgba(71, 85, 105, 0.55) !important;
}

[data-theme="dark"] .auth-page .auth-info-card .border-green-100 {
    border-color: rgba(88, 204, 2, 0.25) !important;
}

[data-theme="dark"] .auth-page .auth-secondary-btn {
    background: transparent !important;
    border-color: rgba(71, 85, 105, 0.55) !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .auth-page .auth-secondary-btn:hover {
    background: rgba(51, 65, 85, 0.45) !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .auth-page .border-gray-100 {
    border-color: rgba(71, 85, 105, 0.45) !important;
}

@media (max-width: 1023px) {
    .auth-page .auth-info-panel {
        max-width: 32rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (min-width: 1024px) {
    .auth-page .auth-info-panel {
        position: sticky;
        top: 5.5rem;
    }
}

/* Landing page — hero bg, scroll reveal, card grids */
@keyframes slowZoom {
    0% { transform: scale(1.05); }
    100% { transform: scale(1.15); }
}

.animate-slow-zoom {
    animation: slowZoom 25s ease-in-out infinite alternate;
    will-change: transform;
    transform: translateZ(0);
}

.fade-in-section,
/* Visible until JS marks in-viewport items; avoids blank blog/cards on mobile before IO runs */
.marketing-page .reveal,
.marketing-page .fade-in-section {
    opacity: 1;
    transform: none;
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.marketing-page.marketing-reveal-ready .reveal:not(.is-visible),
.marketing-page.marketing-reveal-ready .fade-in-section:not(.is-visible) {
    opacity: 0;
    transform: translateY(34px);
}

.landing-v2 .reveal,
.landing-v2 .fade-in-section {
    transition-duration: 0.45s;
}

.fade-in-section.is-visible,
.marketing-page .reveal.is-visible {
    opacity: 1;
    transform: none;
}

.marketing-page.marketing-reveal-ready .reveal.reveal--left:not(.is-visible) { transform: translateX(-46px); }
.marketing-page.marketing-reveal-ready .reveal.reveal--right:not(.is-visible) { transform: translateX(46px); }
.marketing-page .reveal.reveal--left.is-visible,
.marketing-page .reveal.reveal--right.is-visible { transform: none; }

@media (prefers-reduced-motion: reduce) {
    .fade-in-section,
    .marketing-page .reveal { opacity: 1; transform: none; transition: none; }
}

.landing-cards-grid {
    display: grid;
    gap: 1.25rem;
}

@media (max-width: 767px) {
    .landing-cards-scroll {
        display: flex;
        overflow-x: auto;
        gap: 1rem;
        padding-bottom: 0.75rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .landing-cards-scroll > .landing-card {
        flex: 0 0 82%;
        max-width: 320px;
        scroll-snap-align: start;
    }

    #lessons-carousel.landing-cards-scroll > .landing-card {
        flex: 0 0 46%;
        max-width: 180px;
    }
}

@media (min-width: 768px) {
    .landing-cards-scroll {
        display: grid;
        overflow: visible;
        scroll-snap-type: none;
    }

    #pains-carousel { grid-template-columns: repeat(2, 1fr); }
    #features-carousel { grid-template-columns: repeat(2, 1fr); }
    #lessons-carousel { grid-template-columns: repeat(3, 1fr); }
    #reviews-carousel { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
    #pains-carousel { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
    #features-carousel { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
    #lessons-carousel { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
}

@media (min-width: 1280px) {
    #lessons-carousel { grid-template-columns: repeat(7, 1fr); }
}

.landing-card {
    height: 100%;
}

/* ── Landing redesign: sections, quiz, program ── */

.landing-kicker {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0369a1;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(3, 105, 161, 0.28);
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.07);
}

.landing-section-head {
    text-align: center;
    margin-bottom: 2.5rem;
}

.landing-section-head--center {
    margin-bottom: 2rem;
}

.landing-section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    color: #0f172a;
    line-height: 1.15;
    margin-top: 0.75rem;
}

.landing-section-sub {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin-top: 0.5rem;
}

/* Bento pains grid */
.landing-bento {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 56rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .landing-bento {
        grid-template-columns: repeat(2, 1fr);
    }

    .landing-bento__cell--wide,
    .landing-bento__cell--accent,
    .landing-bento__cell--cta,
    .landing-bento__cell {
        grid-column: auto;
    }
}

.landing-bento__cell {
    position: relative;
    padding: 1.5rem 1.35rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    overflow: hidden;
}

.landing-bento__cell::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.06), transparent 55%);
    pointer-events: none;
}

.landing-bento__cell:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 48px rgba(28, 176, 246, 0.12);
}

.landing-bento__cell--accent {
    background: linear-gradient(145deg, rgba(28, 176, 246, 0.12), rgba(255, 255, 255, 0.92));
    border-color: rgba(28, 176, 246, 0.2);
}

.landing-bento__cell--cta {
    background: linear-gradient(145deg, rgba(88, 204, 2, 0.1), rgba(255, 255, 255, 0.92));
    border-color: rgba(88, 204, 2, 0.25);
}

.landing-bento__emoji {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.65rem;
}

.landing-bento__cell h3 {
    font-size: 1.15rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 0.35rem;
}

.landing-bento__cell p {
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.45;
}

.landing-bento__link {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.85rem;
    font-weight: 800;
    color: #1cb0f6;
}

.landing-bento__link:hover {
    text-decoration: underline;
}

.landing-section {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    padding-block: 6rem;
}

.landing-section--compact {
    padding-block: 4rem;
}

.landing-section--tall {
    padding-block: 5rem;
}

@media (min-width: 768px) {
    .landing-section--tall {
        padding-block: 7rem;
    }
}

.landing-section--soft {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(248, 250, 252, 0.7) 100%);
    backdrop-filter: blur(12px);
}

.landing-section--quiz {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0%, rgba(240, 249, 255, 0.62) 55%, rgba(236, 253, 245, 0.55) 100%);
    backdrop-filter: blur(10px);
}

.landing-section--program {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(241, 248, 255, 0.68) 100%);
    backdrop-filter: blur(10px);
}

.landing-hero-card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 24px 64px rgba(28, 176, 246, 0.12), 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* Quiz stage */
.landing-quiz-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(90vw, 640px);
    height: 420px;
    transform: translate(-50%, -50%);
    background: none;
    pointer-events: none;
    filter: blur(40px);
}

.landing-quiz-stage {
    position: relative;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 2rem;
    padding: 1.75rem 1.5rem 1.5rem;
    border: 2px solid rgba(28, 176, 246, 0.18);
    box-shadow:
        0 24px 64px rgba(28, 176, 246, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.8) inset;
    backdrop-filter: blur(16px);
}

/* Tailwind .hidden loses to component display rules — force hide in quiz */
#landing-quiz [hidden],
#landing-quiz .hidden {
    display: none !important;
}

.landing-quiz-stage__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.landing-quiz-dots {
    display: flex;
    gap: 0.4rem;
}

.landing-quiz-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #cbd5e1;
    transition: all 0.3s ease;
}

.landing-quiz-dot.is-active {
    width: 1.75rem;
    background: linear-gradient(90deg, #1cb0f6, #58cc02);
}

.landing-quiz-dot.is-done {
    background: #58cc02;
}

.landing-quiz-body--enter {
    animation: quizSlideIn 0.35s ease;
}

@keyframes quizSlideIn {
    from { opacity: 0; transform: translateX(12px); }
    to { opacity: 1; transform: none; }
}

.landing-quiz-options--grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
}

@media (min-width: 640px) {
    .landing-quiz-options--grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.landing-quiz-option__text {
    line-height: 1.35;
}

.landing-quiz-step {
    font-size: 0.8rem;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.landing-quiz-progress {
    height: 0.4rem;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.landing-quiz-progress__fill {
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
    background: linear-gradient(90deg, #1cb0f6, #58cc02);
    border-radius: 999px;
    transition: transform 0.35s ease;
}

.landing-quiz-question {
    font-size: 1.5rem;
    font-weight: 900;
    color: #0f172a;
    line-height: 1.35;
    margin-bottom: 1.25rem;
    letter-spacing: -0.015em;
}

@media (min-width: 768px) {
    .landing-quiz-question {
        font-size: 1.75rem;
    }
}

.landing-quiz-options {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.landing-quiz-options.landing-quiz-options--grid {
    display: grid;
}

.landing-quiz-option {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    text-align: left;
    padding: 0.95rem 1.1rem;
    border-radius: 1rem;
    border: 2px solid #e2e8f0;
    background: #f8fafc;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, transform 0.15s;
}

.landing-quiz-option:hover:not(:disabled) {
    border-color: #1cb0f6;
    background: #eff6ff;
    transform: translateY(-1px);
}

.landing-quiz-option__letter {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.65rem;
    background: #e2e8f0;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 900;
}

.landing-quiz-option--correct {
    border-color: #58cc02 !important;
    background: rgba(88, 204, 2, 0.12) !important;
    color: #166534 !important;
}

.landing-quiz-option--correct .landing-quiz-option__letter {
    background: #58cc02;
    color: #fff;
}

.landing-quiz-option--wrong {
    border-color: #ff4b4b !important;
    background: rgba(255, 75, 75, 0.1) !important;
    color: #991b1b !important;
}

.landing-quiz-option--wrong .landing-quiz-option__letter {
    background: #ff4b4b;
    color: #fff;
}

.landing-quiz-option--disabled {
    cursor: default;
    opacity: 0.85;
}

.landing-quiz-feedback {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    font-weight: 600;
    line-height: 1.45;
    animation: quizFadeIn 0.35s ease;
}

@keyframes quizFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

.landing-quiz-feedback--ok {
    background: rgba(88, 204, 2, 0.12);
    border: 1px solid rgba(88, 204, 2, 0.3);
    color: #166534;
}

.landing-quiz-feedback--bad {
    background: rgba(255, 200, 0, 0.15);
    border: 1px solid rgba(255, 200, 0, 0.35);
    color: #854d0e;
}

.landing-quiz-feedback__icon {
    font-size: 1.5rem;
    line-height: 1;
    flex-shrink: 0;
}

.landing-quiz-summary {
    text-align: center;
    padding: 0.5rem 0 0.25rem;
    animation: quizFadeIn 0.4s ease;
}

.landing-quiz-summary__label {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 1rem;
}

.landing-quiz-summary__ring {
    --score-pct: 60;
    width: 8.5rem;
    height: 8.5rem;
    margin: 0 auto 1rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: conic-gradient(#58cc02 calc(var(--score-pct) * 1%), #e2e8f0 0);
    position: relative;
}

.landing-quiz-summary__ring::before {
    content: '';
    position: absolute;
    inset: 0.45rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
}

.landing-quiz-summary__score {
    position: relative;
    z-index: 1;
    font-size: 1.35rem;
    font-weight: 900;
    color: #1e293b;
    line-height: 1.25;
    text-align: center;
}

.landing-quiz-summary__text {
    font-weight: 700;
    color: #64748b;
    line-height: 1.5;
}

.landing-quiz-retry {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
}

.landing-quiz-retry:hover {
    text-decoration: underline;
}

/* Program timeline footnote */
.era-timeline-note {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 700;
    color: #334155;
    margin-top: 0.5rem;
    padding: 0 1.5rem;
}

.lead-form-submit-btn {
    background: linear-gradient(180deg, #2aabee 0%, #229ed9 100%);
    color: #fff !important;
    border: none;
    box-shadow: 0 5px 0 #1b7eaf;
}

.lead-form-submit-btn:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.lead-form-submit-btn--success,
.lead-form-submit-btn--success:hover,
.lead-form-submit-btn--success:focus {
    background: linear-gradient(180deg, #58cc02 0%, #46a302 100%) !important;
    box-shadow: 0 5px 0 #3d8f02 !important;
    color: #fff !important;
    cursor: default;
    filter: none;
    transform: none;
    pointer-events: none;
}

/* Tailwind .hidden loses to inline-flex on submit btn */
#telegram-lead-form [hidden],
#telegram-lead-form .hidden {
    display: none !important;
}

/* Light theme — section text on photo background */
[data-theme="light"] .marketing-page .landing-kicker {
    color: #075985;
    background: rgba(255, 255, 255, 0.97);
    border-color: rgba(7, 89, 133, 0.32);
}

[data-theme="light"] .marketing-page .landing-section-head .landing-section-sub {
    color: #1e293b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 18px rgba(255, 255, 255, 0.75);
}

[data-theme="light"] .marketing-page .era-timeline-note {
    color: #1e293b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9), 0 0 18px rgba(255, 255, 255, 0.75);
}

[data-theme="light"] .marketing-page .landing-section-title {
    color: #0f172a;
}

/* Dark theme — landing components */
[data-theme="dark"] .marketing-page .landing-section-head .landing-section-sub,
[data-theme="dark"] .marketing-page .era-timeline-note {
    text-shadow: none;
}
[data-theme="dark"] .marketing-page .landing-kicker {
    color: #bae6fd;
    background: rgba(56, 189, 248, 0.2);
    border-color: rgba(186, 230, 253, 0.35);
}

[data-theme="dark"] .marketing-page .landing-section--soft {
    background: linear-gradient(180deg, rgba(30, 45, 70, 0.65) 0%, rgba(22, 34, 55, 0.8) 100%);
    border-color: rgba(71, 85, 105, 0.35);
}

[data-theme="dark"] .marketing-page .landing-section--quiz {
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.12) 0%, rgba(88, 204, 2, 0.08) 100%);
    border-color: rgba(71, 85, 105, 0.3);
}

[data-theme="dark"] .marketing-page .landing-section--program {
    background: linear-gradient(180deg, rgba(26, 39, 64, 0.7) 0%, rgba(20, 30, 50, 0.85) 100%);
    border-color: rgba(71, 85, 105, 0.35);
}

[data-theme="dark"] .marketing-page .landing-hero-card {
    background: rgba(26, 39, 64, 0.88);
    border-color: rgba(71, 85, 105, 0.5);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-theme="dark"] .marketing-page .landing-section-title {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .landing-section-sub {
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-bento__cell {
    background: rgba(26, 39, 64, 0.85);
    border-color: rgba(71, 85, 105, 0.45);
}

[data-theme="dark"] .marketing-page .landing-bento__cell h3 {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .landing-bento__cell p {
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-bento__cell--accent {
    background: linear-gradient(145deg, rgba(28, 176, 246, 0.15), rgba(26, 39, 64, 0.9));
}

[data-theme="dark"] .marketing-page .landing-bento__cell--cta {
    background: linear-gradient(145deg, rgba(88, 204, 2, 0.12), rgba(26, 39, 64, 0.9));
}

[data-theme="dark"] .marketing-page .landing-quiz-stage {
    background: rgba(26, 39, 64, 0.96);
    border-color: rgba(56, 189, 248, 0.28);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .marketing-page .landing-quiz-dot {
    background: #cbd5e1;
}

[data-theme="dark"] .marketing-page .landing-quiz-dot.is-active {
    width: 1.75rem;
    background: linear-gradient(90deg, #1cb0f6, #58cc02);
}

[data-theme="dark"] .marketing-page .landing-quiz-dot.is-done {
    background: #58cc02;
}

[data-theme="dark"] .marketing-page .landing-quiz-summary__ring::before {
    background: rgba(26, 39, 64, 0.98);
}

[data-theme="dark"] .marketing-page .landing-quiz-summary__score {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .program-column__frame {
    background: linear-gradient(180deg, #3d3528 0%, #2a2418 50%, #1f1a12 100%);
    border-left-color: #6b5a3a;
    border-right-color: #6b5a3a;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 24px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .marketing-page .program-column__pediment {
    background: linear-gradient(180deg, #a8894a, #7a6530);
}

[data-theme="dark"] .marketing-page .program-column__base {
    background: linear-gradient(180deg, #5c4d32, #3d3422);
}

[data-theme="dark"] .marketing-page .program-column__cap strong {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .era-timeline-note {
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-quiz-step {
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-quiz-progress {
    background: rgba(51, 65, 85, 0.6);
}

[data-theme="dark"] .marketing-page .landing-quiz-question {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .landing-quiz-option {
    background: rgba(15, 23, 42, 0.6);
    border-color: rgba(71, 85, 105, 0.55);
    color: #e2e8f0;
}

[data-theme="dark"] .marketing-page .landing-quiz-option:hover:not(:disabled) {
    background: rgba(28, 176, 246, 0.12);
    border-color: rgba(56, 189, 248, 0.45);
}

[data-theme="dark"] .marketing-page .landing-quiz-option__letter {
    background: rgba(51, 65, 85, 0.8);
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-quiz-option--correct {
    background: rgba(88, 204, 2, 0.15) !important;
    color: #86efac !important;
}

[data-theme="dark"] .marketing-page .landing-quiz-option--wrong {
    background: rgba(255, 75, 75, 0.15) !important;
    color: #fca5a5 !important;
}

[data-theme="dark"] .marketing-page .landing-quiz-feedback--ok {
    background: rgba(88, 204, 2, 0.15);
    border-color: rgba(88, 204, 2, 0.35);
    color: #86efac;
}

[data-theme="dark"] .marketing-page .landing-quiz-feedback--bad {
    background: rgba(255, 200, 0, 0.12);
    border-color: rgba(255, 200, 0, 0.3);
    color: #fde047;
}

[data-theme="dark"] .marketing-page .landing-quiz-summary__score {
    color: #f1f5f9;
}

[data-theme="dark"] .marketing-page .landing-quiz-summary__label {
    color: #94a3b8;
}

[data-theme="dark"] .marketing-page .landing-quiz-summary__text {
    color: #94a3b8;
}

/* Dark: lift flat section backgrounds */
[data-theme="dark"] .marketing-page section.bg-gray-900\/40,
[data-theme="dark"] .marketing-page section.bg-gray-900\/30,
[data-theme="dark"] .marketing-page section.bg-gray-900\/70 {
    background: linear-gradient(180deg, rgba(26, 39, 64, 0.55) 0%, rgba(20, 30, 50, 0.75) 100%) !important;
    backdrop-filter: blur(10px);
    border-color: rgba(71, 85, 105, 0.35) !important;
}

[data-theme="dark"] .marketing-page section.bg-white\/30,
[data-theme="dark"] .marketing-page section.bg-white\/40 {
    background: linear-gradient(180deg, rgba(30, 45, 70, 0.5) 0%, rgba(22, 34, 55, 0.65) 100%) !important;
    backdrop-filter: blur(10px);
}

/* FAQ accordion */
.marketing-page .accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.25s ease;
}

.marketing-page .accordion-item.active .accordion-content {
    max-height: 24rem;
    opacity: 1;
    padding-bottom: 1.5rem;
}

.marketing-page .accordion-item.active .accordion-icon {
    transform: rotate(180deg);
}

.marketing-page .accordion-icon {
    transition: transform 0.25s ease;
}

/* Compact FAQ: two columns on desktop, short tappable rows on mobile. */
#faq.landing-section {
    padding-top: clamp(3.5rem, 6vw, 5rem);
    padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

#faq .landing-section-head { margin-bottom: 1.5rem; }

.faq-compact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 0.75rem;
}

#faq .accordion-item button {
    min-height: 3.75rem;
    padding: 0.9rem 1rem !important;
    gap: 0.75rem;
    font-size: 0.95rem !important;
    line-height: 1.25;
}

#faq .accordion-content {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    font-size: 0.9rem;
    line-height: 1.5;
}

#faq .accordion-item.active .accordion-content { padding-bottom: 1rem; }

@media (max-width: 767px) {
    .faq-compact-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   LANDING V2 — reveal, glass, bento, tabs, stats, glow
   Appended last so component rules win specificity ties in dark mode.
   ===================================================================== */

/* ---- Scroll reveal animations (canonical — see also .fade-in-section alias above) ---- */
/* reveal rules consolidated with .fade-in-section at ~line 760 */

/* ---- CTA glow + theme toggle rotation ---- */
.landing-v2 .cta-glow {
    position: relative;
    animation: ctaPulse 2.6s ease-in-out infinite;
}
@keyframes ctaPulse {
    0%, 100% { box-shadow: 0 4px 0 var(--btn-success-shadow, #46a302), 0 0 0 0 rgba(88, 204, 2, 0.45); }
    50% { box-shadow: 0 4px 0 var(--btn-success-shadow, #46a302), 0 0 0 12px rgba(88, 204, 2, 0); }
}
.landing-v2 .btn-blue.cta-glow {
    animation: ctaPulseBlue 2.6s ease-in-out infinite;
}
@keyframes ctaPulseBlue {
    0%, 100% { box-shadow: 0 4px 0 var(--btn-primary-shadow, #1899d6), 0 0 0 0 rgba(28, 176, 246, 0.45); }
    50% { box-shadow: 0 4px 0 var(--btn-primary-shadow, #1899d6), 0 0 0 12px rgba(28, 176, 246, 0); }
}
.marketing-theme-toggle i { transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); }
.marketing-theme-toggle:hover i { transform: rotate(45deg) scale(1.1); }

/* ---- Hero glow orb + glass mock-up ---- */
.landing-v2 .hero-orb {
    background: none;
    animation: orbDrift 8s ease-in-out infinite;
}
@keyframes orbDrift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(0, -18px) scale(1.06); }
}
.landing-v2 .glass-strong {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 30px 70px rgba(15, 42, 78, 0.18);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* ---- Glass cards (audience / reviews / faq / blog cta) ---- */
.marketing-page .glass-card {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 36px rgba(15, 42, 78, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.marketing-page .glass-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px rgba(28, 176, 246, 0.16);
    border-color: rgba(28, 176, 246, 0.4);
}

/* ---- Reviews grid: 2 columns on tablet+ (never 4 narrow columns) ---- */
#reviews .reviews-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
    max-width: 52rem;
    margin-inline: auto;
}

@media (min-width: 768px) {
    #reviews .reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
        max-width: 56rem;
    }
}

@media (min-width: 1280px) {
    #reviews .reviews-grid {
        gap: 2rem;
        max-width: 60rem;
    }
}

.marketing-page .landing-review-card {
    display: flex;
    flex-direction: column;
    height: auto;
}

/* ---- Stats counters ---- */
.landing-v2 .stat-card {
    text-align: center;
    padding: 1.5rem 1rem;
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 32px rgba(15, 42, 78, 0.07);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.landing-v2 .stat-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(28, 176, 246, 0.16); }
.landing-v2 .stat-num {
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #1cb0f6, #58cc02);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.landing-v2 .stat-label {
    margin-top: 0.5rem;
    font-weight: 800;
    font-size: 0.85rem;
    color: #374151;
}

/* ---- Bento grid (platform features) ---- */
.landing-v2 .bento-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .landing-v2 .bento-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(150px, auto); gap: 2rem; }
    .landing-v2 .bento-span-2 { grid-column: span 2; }
    .landing-v2 .bento-row-2 { grid-row: span 2; }
}
.landing-v2 .bento-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.6rem;
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 12px 30px rgba(15, 42, 78, 0.06);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.landing-v2 .bento-card--feature:hover {
    transform: translateY(-6px);
    border-color: rgba(28, 176, 246, 0.55);
    box-shadow: 0 24px 50px rgba(28, 176, 246, 0.2);
}
.landing-v2 .bento-card__icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.landing-v2 .bento-card__title { font-size: 1.25rem; font-weight: 900; color: #0f172a; margin-bottom: 0.4rem; }
.landing-v2 .bento-card__text { font-weight: 600; color: #475569; line-height: 1.55; }
.landing-v2 .bento-streak { display: flex; gap: 0.4rem; margin-top: auto; padding-top: 1.25rem; flex-wrap: wrap; }
.landing-v2 .bento-streak__day {
    width: 2.1rem; height: 2.1rem; border-radius: 0.75rem;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.7rem; font-weight: 800;
    background: #f1f5f9; color: #94a3b8;
}
.landing-v2 .bento-streak__day.is-on {
    background: linear-gradient(135deg, #58cc02, #46a302);
    color: #fff;
    box-shadow: 0 4px 10px rgba(88, 204, 2, 0.4);
}
.landing-v2 .bento-card--cta {
    background: linear-gradient(135deg, #1cb0f6, #1899d6);
    border: none;
    justify-content: center;
    color: #fff;
}
.landing-v2 .bento-card--cta .bento-card__title,
.landing-v2 .bento-card--cta .bento-card__text {
    color: #fff !important;
}
.landing-v2 .bento-card--cta .bento-card__text {
    opacity: 0.92;
}
.landing-v2 .bento-card--cta:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(28, 176, 246, 0.35); }

/* ---- How it works: tabs ---- */
.landing-v2 .feature-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.6rem;
    margin: 2.5rem 0;
}
.landing-v2 .feature-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.3rem;
    border-radius: 9999px;
    font-weight: 800;
    font-size: 0.95rem;
    color: #475569;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(226, 232, 240, 0.9);
    cursor: pointer;
    transition: all 0.25s ease;
}
.landing-v2 .feature-tab:hover { color: #1cb0f6; border-color: rgba(28, 176, 246, 0.5); transform: translateY(-2px); }
.landing-v2 .feature-tab.active {
    color: #fff;
    background: linear-gradient(135deg, #1cb0f6, #1899d6);
    border-color: transparent;
    box-shadow: 0 8px 20px rgba(28, 176, 246, 0.35);
}
.landing-v2 .feature-stage {
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 24px 60px rgba(15, 42, 78, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    overflow: hidden;
}
.landing-v2 .feature-panel { display: none; }
.landing-v2 .feature-panel.active {
    display: grid;
    grid-template-columns: 1fr;
    animation: fadeIn 0.4s ease;
}
@media (min-width: 768px) {
    .landing-v2 .feature-panel.active { grid-template-columns: 1.1fr 1fr; }
}
.landing-v2 .feature-panel__text { padding: 2.25rem; display: flex; flex-direction: column; justify-content: center; }
.landing-v2 .feature-panel__step {
    align-self: flex-start;
    font-size: 0.75rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.1em;
    color: #1cb0f6; background: rgba(28, 176, 246, 0.12);
    padding: 0.35rem 0.85rem; border-radius: 9999px; margin-bottom: 1rem;
}
.landing-v2 .feature-panel__text h3 { font-size: 1.6rem; font-weight: 900; color: #0f172a; margin-bottom: 0.75rem; }
.landing-v2 .feature-panel__text p { font-weight: 600; color: #475569; line-height: 1.6; margin-bottom: 1.25rem; }
.landing-v2 .feature-panel__list { display: flex; flex-direction: column; gap: 0.6rem; }
.landing-v2 .feature-panel__list li { display: flex; align-items: center; gap: 0.65rem; font-weight: 700; color: #334155; }
.landing-v2 .feature-panel__list i { color: #58cc02; }
.landing-v2 .feature-panel__media { position: relative; min-height: 240px; }
.landing-v2 .feature-panel__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.landing-v2 .feature-panel__media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.12), transparent 60%);
}

/* ---- Teacher card ---- */
.landing-v2 .teacher-card {
    background: linear-gradient(135deg, #1cb0f6, #1565c0);
    box-shadow: 0 30px 70px rgba(21, 101, 192, 0.3);
}

.landing-v2 .landing-teacher-video-card {
    isolation: isolate;
}

.landing-v2 .landing-teacher-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background: #0f172a;
}

.landing-v2 .landing-teacher-video-overlay {
    z-index: 2;
    transition: opacity 0.25s ease, background-color 0.3s ease;
}

.landing-v2 .landing-teacher-video-decor {
    z-index: 3;
    transition: opacity 0.25s ease;
}

.landing-v2 .landing-teacher-video-card.is-playing .landing-teacher-video-overlay,
.landing-v2 .landing-teacher-video-card.is-playing .landing-teacher-video-decor {
    opacity: 0;
    pointer-events: none;
}

.landing-v2 #landing-teacher-video-cta {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.landing-v2 #landing-teacher-video-cta:hover {
    transform: rotate(3deg) translateY(-2px) scale(1.03);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

.landing-v2 #landing-teacher-video-cta:active {
    transform: rotate(3deg) translateY(1px) scale(0.98);
}

/* =====================================================================
   LANDING V2 — DARK THEME
   ===================================================================== */
[data-theme="dark"] .landing-v2 .glass-strong {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55), 0 0 40px rgba(28, 176, 246, 0.12);
}
[data-theme="dark"] .marketing-page .glass-card {
    background: rgba(30, 41, 59, 0.9);
    border-color: rgba(148, 163, 184, 0.25);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .marketing-page .glass-card:hover {
    border-color: rgba(56, 189, 248, 0.5);
    box-shadow: 0 22px 50px rgba(56, 189, 248, 0.18);
}
[data-theme="dark"] .landing-v2 .stat-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .landing-v2 .stat-card:hover { box-shadow: 0 18px 44px rgba(56, 189, 248, 0.18); }
[data-theme="dark"] .landing-v2 .stat-label { color: #cbd5e1; }
[data-theme="dark"] .landing-v2 .stat-num {
    background: linear-gradient(135deg, #38bdf8, #65d006);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="dark"] .landing-v2 .bento-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .landing-v2 .bento-card--feature:hover {
    border-color: rgba(56, 189, 248, 0.6);
    box-shadow: 0 24px 54px rgba(56, 189, 248, 0.22);
}
[data-theme="dark"] .landing-v2 .bento-card__title { color: #f1f5f9; }
[data-theme="dark"] .landing-v2 .bento-card__text { color: #94a3b8; }
[data-theme="dark"] .landing-v2 .bento-streak__day { background: rgba(255, 255, 255, 0.08); color: #64748b; }
[data-theme="dark"] .landing-v2 .bento-streak__day.is-on {
    background: linear-gradient(135deg, #58cc02, #46a302);
    color: #fff;
    box-shadow: 0 4px 10px rgba(88, 204, 2, 0.45);
}
[data-theme="dark"] .landing-v2 .bento-card--cta { background: linear-gradient(135deg, #0ea5e9, #1565c0); }
[data-theme="dark"] .landing-v2 .bento-card--cta .bento-card__title,
[data-theme="dark"] .landing-v2 .bento-card--cta .bento-card__text {
    color: #fff !important;
    opacity: 1;
}
[data-theme="dark"] .landing-v2 .bento-card--cta .bento-card__text {
    opacity: 0.92;
}
[data-theme="dark"] .landing-v2 .feature-tab {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #94a3b8;
}
[data-theme="dark"] .landing-v2 .feature-tab:hover { color: #38bdf8; border-color: rgba(56, 189, 248, 0.5); }
[data-theme="dark"] .landing-v2 .feature-tab.active {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color: #fff;
    box-shadow: 0 8px 22px rgba(14, 165, 233, 0.4);
}
[data-theme="dark"] .landing-v2 .feature-stage {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .landing-v2 .feature-panel__text h3 { color: #f1f5f9; }
[data-theme="dark"] .landing-v2 .feature-panel__text p { color: #94a3b8; }
[data-theme="dark"] .landing-v2 .feature-panel__list li { color: #cbd5e1; }
[data-theme="dark"] .landing-v2 .feature-panel__step { color: #38bdf8; background: rgba(56, 189, 248, 0.16); }
[data-theme="dark"] .landing-v2 .teacher-card {
    background: linear-gradient(135deg, rgba(28, 176, 246, 0.18), rgba(21, 101, 192, 0.12));
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .landing-v2 .hero-orb {
    background: none;
}

/* =====================================================================
   PUBLIC PAGES V3 — Dynamic Island nav, mobile dock, horizontal timeline,
   premium accents & bug-fix utilities.
   ===================================================================== */

/* ---- Cookie banner (Safari-safe dismiss) ---- */
.cookie-banner[hidden],
.cookie-banner--hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    box-shadow: none !important;
}

/* ---- Global guards: kill horizontal scroll, make room for mobile dock ---- */
.marketing-page { overflow-x: hidden; }
.marketing-page > main,
.marketing-page main.relative { overflow-x: hidden; min-width: 0; }
@media (max-width: 767px) {
    /* Dock clearance lives on the footer only — body padding caused empty scroll past footer */
    .marketing-page main,
    .marketing-page > main {
        padding-bottom: 0.5rem;
    }
    .marketing-footer {
        padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
    }
}

/* Z-index stack: progress(61) < dock(50) < island menu(60) */
.reading-progress-track { z-index: 61; }
.mk-dock { z-index: 50; }

/* ---- Reading progress (fixed thin line on top) ---- */
.reading-progress-track {
    position: fixed; top: 0; left: 0; right: 0; height: 3px;
    background: transparent; z-index: 61; pointer-events: none;
    overflow: hidden;
}
.reading-progress-bar {
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
    background: linear-gradient(90deg, #1cb0f6, #6366f1);
    transition: transform 0.1s linear;
}

/* ---- Dynamic Island floating nav ---- */
.marketing-page .marketing-island,
.marketing-page .marketing-footer {
    font-family: 'Nunito', ui-sans-serif, system-ui, sans-serif;
    font-feature-settings: 'kern' 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.marketing-island-wrap {
    position: sticky;
    top: 1rem;
    z-index: 50;
    width: 100%;
    padding: 0 1rem;
    margin-top: 1rem;
}

.marketing-island {
    max-width: 56rem;
    margin: 0 auto;
    padding: 0.65rem 0.85rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 10px 30px rgba(15, 42, 78, 0.1);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
    transition: box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.marketing-island--landing {
    max-width: 80rem;
    border-radius: 1.75rem;
    position: relative;
}

.marketing-island__nav { padding: 0.1rem 0; width: 100%; min-width: 0; }

/* Three-zone bar (standard: brand left, actions right) */
.marketing-island__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 0.5rem 0.75rem;
    min-width: 0;
}

.marketing-island__slot {
    display: flex;
    align-items: center;
    min-width: 0;
}

.marketing-island__slot--start {
    justify-self: start;
    gap: 0.25rem;
    max-width: 100%;
    flex: 1 1 auto;
    min-width: 0;
}

.marketing-island__slot--end {
    justify-self: end;
    gap: 0.375rem;
    flex-shrink: 0;
}

/* ---- Landing header: brand | centered nav | actions ---- */
.marketing-island__bar--landing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 0.75rem;
}

.marketing-island__col {
    display: flex;
    align-items: center;
    min-width: 0;
}

.marketing-island__col--left {
    grid-column: 1;
    justify-self: start;
}

.marketing-island__col--center {
    grid-column: 2;
    justify-self: center;
}

.marketing-island__col--right {
    grid-column: 3;
    justify-self: end;
    gap: 0.375rem;
    flex-shrink: 0;
}

.marketing-island__desktop-nav {
    display: none;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.15rem;
}

.marketing-nav-more { position: relative; }

.marketing-nav-more > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    list-style: none;
    cursor: pointer;
}

.marketing-nav-more > summary::-webkit-details-marker { display: none; }
.marketing-nav-more > summary i { font-size: 0.65rem; transition: transform 0.2s ease; }
.marketing-nav-more[open] > summary i { transform: rotate(180deg); }

.marketing-nav-more__menu {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    z-index: 80;
    display: grid;
    gap: 0.25rem;
    width: 12rem;
    padding: 0.55rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 38px rgba(15, 42, 78, 0.18);
    backdrop-filter: blur(18px);
}

.marketing-nav-more__menu .marketing-nav-mobile-link {
    padding: 0.7rem 0.8rem;
    border-radius: 0.7rem;
}

.marketing-nav-more:has(.nav-active) > summary {
    color: #2563eb;
    background: rgba(28, 176, 246, 0.1);
}

[data-theme="dark"] .marketing-nav-more__menu {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(15, 23, 42, 0.97);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
}

.marketing-island__cta--landing {
    display: none;
}

/* Широкий екран: повна навігація по центру, без гамбургера */
@media (min-width: 960px) {
    .marketing-island__desktop-nav {
        display: flex;
    }

    .marketing-island__menu-btn {
        display: none !important;
    }

    .marketing-island__cta--landing {
        display: inline-flex;
    }

    .marketing-island__menu {
        display: none !important;
    }
}

/* Телефон і вузький планшет: бренд зліва, тема + меню справа */
@media (max-width: 959px) {
    .marketing-island__bar--landing {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .marketing-island__col--center {
        display: none;
    }

    .marketing-island__col--right {
        grid-column: 2;
    }

    .marketing-island__cta--landing {
        display: none !important;
    }

    .marketing-island__menu-btn {
        display: inline-flex !important;
    }

    .marketing-island__menu.is-open:not(.hidden) {
        display: block;
    }

    body.landing-menu-open {
        overflow: hidden;
    }
}

.marketing-island__menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border-radius: 0.75rem;
    color: #475569;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: color 0.2s, background 0.2s;
}

.marketing-island__menu-btn:hover {
    color: #1cb0f6;
    background: rgba(28, 176, 246, 0.08);
}
[data-theme="dark"] .marketing-island__menu-btn { color: #cbd5e1; }
[data-theme="dark"] .marketing-island__menu-btn:hover { background: rgba(255, 255, 255, 0.08); }

.marketing-island__menu { z-index: 60; }
.marketing-island.is-scrolled,
.marketing-island--landing.is-scrolled,
.marketing-island--landing.header-scrolled {
    box-shadow: 0 16px 44px rgba(15, 42, 78, 0.16);
    background: rgba(255, 255, 255, 0.85);
}

.marketing-island__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-width: 44px;
    min-height: 44px;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.5rem 0.75rem;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
}

.marketing-island__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
    text-decoration: none;
    flex-shrink: 1;
}

.marketing-island__logo {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.85rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
    background: linear-gradient(135deg, #1cb0f6, #4f46e5);
    box-shadow: 0 6px 16px rgba(79, 70, 229, 0.3);
}

.marketing-island__brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    min-width: 0;
    gap: 0.1rem;
}

.marketing-island__brand-text strong {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.marketing-island__brand-text small {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6366f1;
    max-width: 9.5rem;
}

.marketing-island__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    font-weight: 700;
    font-size: 0.9375rem;
    letter-spacing: -0.01em;
    text-decoration: none;
    min-height: 44px;
    padding: 0.55rem 1.05rem;
    border-radius: 9999px;
    color: #fff;
    background: linear-gradient(135deg, #1cb0f6, #4f46e5);
    box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.marketing-island__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(79, 70, 229, 0.42);
}

[data-theme="dark"] .marketing-page .marketing-island,
[data-theme="dark"] .marketing-page .marketing-island--landing {
    background: rgba(15, 23, 42, 0.72) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

[data-theme="dark"] .marketing-page .marketing-island.is-scrolled,
[data-theme="dark"] .marketing-page .marketing-island--landing.is-scrolled,
[data-theme="dark"] .marketing-page .marketing-island--landing.header-scrolled {
    background: rgba(15, 23, 42, 0.85) !important;
}

[data-theme="dark"] .marketing-island__brand-text strong { color: #f1f5f9; }
[data-theme="dark"] .marketing-island__brand-text small { color: #a5b4fc; }

@media (max-width: 639px) {
    .marketing-island { padding: 0.5rem 0.6rem; }
    .marketing-island__back { padding: 0.45rem 0.55rem; }
    .marketing-island__brand { gap: 0.4rem; }
}

/* ---- Mobile dock (macOS style) ---- */
.mk-dock { display: none; }
@media (max-width: 767px) {
    .marketing-page {
        padding-bottom: calc(7.25rem + env(safe-area-inset-bottom, 0px));
    }
    .mk-dock {
        position: fixed;
        left: 0.75rem;
        right: 0.75rem;
        bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
        z-index: 50;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 0.35rem;
        padding: 0.45rem 0.5rem;
        border-radius: 1.5rem;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(226, 232, 240, 0.85);
        box-shadow: 0 14px 40px rgba(15, 42, 78, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
        backdrop-filter: blur(24px) saturate(180%);
        -webkit-backdrop-filter: blur(24px) saturate(180%);
    }
    .mk-dock__item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.2rem;
        min-height: 44px;
        min-width: 44px;
        padding: 0.45rem 0.35rem;
        border: none;
        background: none;
        cursor: pointer;
        font-size: 0.68rem;
        font-weight: 700;
        color: #64748b;
        text-decoration: none;
        border-radius: 1rem;
        transition: color 0.2s, background 0.2s, transform 0.15s;
        -webkit-tap-highlight-color: transparent;
    }
    .mk-dock__item:active { transform: scale(0.96); }
    .mk-dock__item i { font-size: 1.2rem; }
    .mk-dock__item.is-active { color: #4f46e5; background: rgba(99, 102, 241, 0.08); }
    [data-theme="dark"] .mk-dock {
        background: rgba(15, 23, 42, 0.88);
        border-color: rgba(255, 255, 255, 0.12);
        box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    }
    [data-theme="dark"] .mk-dock__item { color: #94a3b8; }
    [data-theme="dark"] .mk-dock__item.is-active { color: #a5b4fc; background: rgba(129, 140, 248, 0.12); }
    .cookie-banner-open .mk-dock { opacity: 0; pointer-events: none; transform: translateY(1rem); }
}

/* ---- Horizontal timeline (eras) ---- */
.era-section { position: relative; }
.era-timeline {
    display: flex; gap: 1.1rem; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 0.5rem 0.25rem 1.5rem; cursor: grab;
    scrollbar-width: none;
}
.era-timeline::-webkit-scrollbar { display: none; width: 0; height: 0; }
.era-timeline.is-grabbing { cursor: grabbing; }
.era-card {
    scroll-snap-align: center; flex: 0 0 auto;
    width: 17rem; border-radius: 1.75rem; overflow: hidden;
    background: #ffffff; border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 12px 30px rgba(15, 42, 78, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.era-card:hover { transform: translateY(-6px); border-color: rgba(99, 102, 241, 0.5); box-shadow: 0 22px 48px rgba(79, 70, 229, 0.18); }
.era-card__img { height: 9.5rem; overflow: hidden; position: relative; }
.era-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.era-card:hover .era-card__img img { transform: scale(1.06); }
.era-card__year {
    position: absolute; bottom: 0.75rem; left: 0.75rem;
    font-weight: 900; font-size: 0.72rem; color: #fff; letter-spacing: 0.05em;
    padding: 0.3rem 0.7rem; border-radius: 9999px; background: rgba(79, 70, 229, 0.85);
}
.era-card__body { padding: 1.1rem 1.2rem 1.3rem; }
.era-card__body h3 { font-size: 1.1rem; font-weight: 900; color: #0f172a; margin-bottom: 0.35rem; }
.era-card__body p { font-weight: 600; color: #475569; font-size: 0.88rem; line-height: 1.5; }
.era-arrows { display: flex; gap: 0.6rem; justify-content: center; margin-top: 0.5rem; }
.era-arrow {
    width: 3rem; height: 3rem; border-radius: 9999px; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(226, 232, 240, 0.9);
    color: #4f46e5; font-size: 1rem; box-shadow: 0 8px 20px rgba(15, 42, 78, 0.1);
    transition: transform 0.2s ease, background 0.2s ease;
}
.era-arrow:hover { transform: translateY(-2px); background: #4f46e5; color: #fff; }
[data-theme="dark"] .era-card { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.1); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5); }
[data-theme="dark"] .era-card__body h3 { color: #f1f5f9; }
[data-theme="dark"] .era-card__body p { color: #94a3b8; }
[data-theme="dark"] .era-arrow { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.1); color: #818cf8; }
[data-theme="dark"] .era-arrow:hover { background: #4f46e5; color: #fff; }

/* ---- Premium blog bento cards ---- */
.blog-page-hero {
    margin-bottom: 2.5rem;
    padding: 2rem 1.25rem 2.25rem;
    border-radius: 1.75rem;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

[data-theme="dark"] .marketing-page .blog-page-hero {
    border-color: rgba(71, 85, 105, 0.35);
}

.blog-bento {
    display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 640px) { .blog-bento { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-bento { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) {
    .blog-bento .blog-card.is-feature { grid-column: span 2; grid-row: span 2; }
}
.blog-card {
    display: flex; flex-direction: column; overflow: hidden; border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.92); border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 12px 30px rgba(15, 42, 78, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.blog-card:hover { transform: translateY(-6px); border-color: rgba(99, 102, 241, 0.5); box-shadow: 0 22px 50px rgba(79, 70, 229, 0.18); }
[data-theme="dark"] .blog-card {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(148, 163, 184, 0.28);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .blog-card:hover {
    border-color: rgba(129, 140, 248, 0.55);
    box-shadow: 0 22px 50px rgba(79, 70, 229, 0.22);
}

/* ---- Typography bug-fixes: balance headings, wrap long words ---- */
.landing-v2 .landing-section-title,
.landing-v2 .landing-section-sub,
.landing-v2 h1,
.landing-v2 .bento-card__title { text-wrap: balance; }
.landing-v2 .bento-card__text,
.landing-v2 .glass-card p,
.landing-v2 .feature-panel__text p,
.marketing-island__brand-text strong { overflow-wrap: anywhere; word-break: break-word; }

/* ---- Compact landing core: audience + process + product ---- */
.landing-core__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.landing-core__card {
    min-width: 0;
    padding: 1.5rem;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 30px rgba(15, 42, 78, 0.07);
}

.landing-core__card--audience { border-top: 4px solid #1cb0f6; }
.landing-core__card--process { border-top: 4px solid #6366f1; }
.landing-core__card--tools { border-top: 4px solid #58cc02; }

.landing-core__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    border-radius: 0.9rem;
    color: #fff;
    background: linear-gradient(135deg, #1cb0f6, #4f46e5);
    box-shadow: 0 7px 18px rgba(79, 70, 229, 0.22);
}

.landing-core__card h3 {
    margin: 0 0 1rem;
    color: #0f172a;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
}

.landing-core__card ul,
.landing-core__card ol {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.landing-core__card li {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    color: #475569;
    font-weight: 700;
    line-height: 1.45;
}

.landing-core__card li > i { color: #58cc02; margin-top: 0.2rem; }
.landing-core__card ol strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.6rem;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    color: #fff;
    background: #6366f1;
    font-size: 0.75rem;
}

.landing-core__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.landing-core__chips span {
    padding: 0.5rem 0.7rem;
    border-radius: 0.75rem;
    color: #334155;
    background: #f1f5f9;
    font-size: 0.82rem;
    font-weight: 800;
}

.landing-core__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 1.5rem;
    background: rgba(148, 163, 184, 0.22);
}

.landing-core__stats div {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
    padding: 1rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.92);
}

.landing-core__stats strong { color: #1cb0f6; font-size: 1.55rem; font-weight: 900; }
.landing-core__stats span { color: #64748b; font-size: 0.75rem; font-weight: 800; line-height: 1.3; }

.teacher-results {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    width: min(100% - 3rem, 64rem);
    margin: 2rem auto 0;
}

.teacher-results > span:not(.teacher-results__label) {
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.65rem 0.9rem;
    border-radius: 999px;
    color: #e2e8f0;
    background: rgba(15, 23, 42, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-weight: 800;
}

.teacher-results strong { color: #ffc800; font-size: 1.25rem; font-weight: 900; }
.teacher-results__label { color: #dbeafe; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }

.landing-tariff-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    width: fit-content;
    max-width: 100%;
    margin: -1.5rem auto 2rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(255, 200, 0, 0.42);
    border-radius: 1rem;
    color: #fef3c7;
    background: rgba(255, 200, 0, 0.1);
    font-weight: 700;
    text-align: center;
}

.landing-tariff-note i { color: #ffc800; }

[data-theme="dark"] .landing-core__card,
[data-theme="dark"] .landing-core__stats div {
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.82);
    border-color: rgba(148, 163, 184, 0.2);
}
[data-theme="dark"] .landing-core__card h3 { color: #f8fafc; }
[data-theme="dark"] .landing-core__card li { color: #cbd5e1; }
[data-theme="dark"] .landing-core__chips span { color: #e2e8f0; background: rgba(148, 163, 184, 0.14); }
[data-theme="dark"] .landing-core__stats span { color: #aebed1; }

@media (max-width: 767px) {
    .landing-core__grid { grid-template-columns: 1fr; }
    .landing-core__card { padding: 1.25rem; }
    .landing-core__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .teacher-results { margin-top: 1.5rem; }
    .teacher-results__label { flex-basis: 100%; text-align: center; }
    .landing-tariff-note { align-items: flex-start; text-align: left; }
}

/* ---- Landing nav links ---- */
.marketing-nav-link {
    padding: 0.5rem 0.62rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    white-space: nowrap;
    color: #334155;
    text-decoration: underline;
    text-decoration-color: rgba(51, 65, 85, 0.35);
    text-underline-offset: 0.18em;
    transition: color 0.2s, background 0.2s, text-decoration-color 0.2s;
}
.marketing-nav-link:hover,
.marketing-nav-link:focus-visible {
    color: #1cb0f6;
    background: rgba(28, 176, 246, 0.08);
    text-decoration-color: currentColor;
}
.marketing-nav-link.nav-active { color: #1cb0f6; background: rgba(28, 176, 246, 0.1); font-weight: 700; text-decoration-color: currentColor; }
.marketing-nav-link--blog {
    color: #4f46e5;
    background: rgba(99, 102, 241, 0.08);
    border: 1px solid rgba(99, 102, 241, 0.15);
    text-decoration-color: rgba(79, 70, 229, 0.45);
}
.marketing-nav-mobile-link {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    min-height: 44px;
    color: #475569;
    transition: color 0.2s, background 0.2s;
}
.marketing-nav-mobile-link:hover,
.marketing-nav-mobile-link.mobile-nav-active {
    color: #1cb0f6;
    background: rgba(28, 176, 246, 0.08);
    font-weight: 700;
}
[data-theme="dark"] .marketing-nav-link {
    color: #e2e8f0;
    text-decoration-color: rgba(226, 232, 240, 0.4);
}
[data-theme="dark"] .marketing-nav-link:hover,
[data-theme="dark"] .marketing-nav-link:focus-visible,
[data-theme="dark"] .marketing-nav-link.nav-active { color: #38bdf8; text-decoration-color: currentColor; }
[data-theme="dark"] .marketing-nav-mobile-link { color: #cbd5e1; }
[data-theme="dark"] .marketing-nav-mobile-link:hover,
[data-theme="dark"] .marketing-nav-mobile-link.mobile-nav-active { color: #38bdf8; }

/* ---- Premium footer typography ---- */
.marketing-footer__logo {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.125rem;
    flex-shrink: 0;
    background: linear-gradient(135deg, #1cb0f6, #4f46e5);
    box-shadow: 0 8px 20px rgba(79, 70, 229, 0.25);
}
.marketing-footer__brand {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: #0f172a;
}
.marketing-footer__tagline {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: -0.01em;
    color: #4b5563;
    max-width: 22rem;
    margin-bottom: 2rem;
    text-wrap: balance;
}
.marketing-footer__heading {
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #0f172a;
    margin-bottom: 1.25rem;
}
.marketing-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}
.marketing-footer__link {
    display: inline-block;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #374151;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    transition: color 0.2s ease;
}
.marketing-footer__link:hover {
    color: #6366f1;
}
.marketing-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 2rem;
    border-top: 1px solid #e5e7eb;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: #6b7280;
}
@media (min-width: 640px) {
    .marketing-footer__bottom {
        flex-direction: row;
    }
}
.marketing-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 44px;
    min-height: 44px;
    border-radius: 9999px;
    color: #6b7280;
    background: #f3f4f6;
    border: 1px solid transparent;
    font-size: 1.125rem;
    transition: color 0.2s, background 0.2s, transform 0.2s, border-color 0.2s;
}
.marketing-footer__social:hover {
    color: #fff;
    background: #6366f1;
    transform: translateY(-2px);
    border-color: rgba(99, 102, 241, 0.3);
}
[data-theme="dark"] .marketing-footer__brand { color: #f1f5f9; }
[data-theme="dark"] .marketing-footer__tagline { color: #cbd5e1; }
[data-theme="dark"] .marketing-footer__heading { color: #e2e8f0; }
[data-theme="dark"] .marketing-footer__link { color: #cbd5e1; text-decoration: underline; text-underline-offset: 0.15em; }
[data-theme="dark"] .marketing-footer__link:hover { color: #a5b4fc; }
[data-theme="dark"] .marketing-footer__bottom { border-color: rgba(255, 255, 255, 0.1); color: #94a3b8; }
[data-theme="dark"] .marketing-footer__social {
    color: #9ca3af;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .marketing-footer__social:hover {
    color: #fff;
    background: #6366f1;
}

/* ---- Audience + pains asymmetrical bento ---- */
.audience-bento {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}
@media (min-width: 768px) {
    .audience-bento {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    .audience-bento__hero {
        grid-column: span 2;
        grid-row: span 2;
    }
}
.audience-bento__hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.9);
    box-shadow: 0 16px 40px rgba(15, 42, 78, 0.08);
    overflow: hidden;
}
@media (min-width: 768px) {
    .audience-bento__hero { grid-template-columns: 1.2fr 1fr; padding: 2.5rem; }
}
.audience-bento__hero-content .landing-section-title { margin: 0.5rem 0 1.25rem; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.audience-bento__list {
    display: flex; flex-direction: column; gap: 0.85rem;
    list-style: none; padding: 0; margin: 0;
}
.audience-bento__list li {
    display: flex; gap: 0.75rem; align-items: flex-start;
    font-weight: 700; font-size: 0.95rem; line-height: 1.5;
    color: #334155;
}
.audience-bento__list i { color: #58cc02; margin-top: 0.2rem; flex-shrink: 0; }
.audience-bento__hero-visual {
    border-radius: 1.5rem; overflow: hidden;
    min-height: 12rem; aspect-ratio: 4/3;
}
.audience-bento__hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.audience-bento__pain {
    padding: 2rem;
    border-radius: 1.75rem;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 12px 30px rgba(15, 42, 78, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.audience-bento__pain:hover {
    transform: translateY(-8px);
    border-color: rgba(99, 102, 241, 0.45);
    box-shadow: 0 22px 48px rgba(79, 70, 229, 0.16);
}
.audience-bento__pain--accent {
    background: linear-gradient(135deg, rgba(255, 255, 255, 1) 0%, rgba(224, 242, 254, 0.95) 100%);
    border-color: rgba(28, 176, 246, 0.35);
}
.audience-bento__emoji { font-size: 2rem; display: block; margin-bottom: 0.75rem; }
.audience-bento__pain-title,
.audience-bento__pain h3 { font-size: 1.2rem; font-weight: 900; color: #0f172a; margin-bottom: 0.5rem; }
.audience-bento__pain > p:not(.audience-bento__pain-title) { font-weight: 600; color: #475569; line-height: 1.55; }

[data-theme="dark"] .audience-bento__hero,
[data-theme="dark"] .audience-bento__pain {
    background: rgba(30, 41, 59, 0.92);
    border-color: rgba(148, 163, 184, 0.28);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .audience-bento__pain--accent {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(12, 74, 110, 0.55) 100%);
    border-color: rgba(56, 189, 248, 0.35);
}
[data-theme="dark"] .audience-bento__list li { color: #cbd5e1; }
[data-theme="dark"] .audience-bento__pain-title,
[data-theme="dark"] .audience-bento__pain h3 { color: #f1f5f9; }
[data-theme="dark"] .audience-bento__pain > p:not(.audience-bento__pain-title) { color: #cbd5e1; }
[data-theme="dark"] .audience-bento__pain:hover { border-color: rgba(129, 140, 248, 0.5); }

/* ---- Legal pages: always-visible readable prose ---- */
.legal-doc,
.legal-prose {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}
.legal-prose h3,
.legal-prose h4 {
    color: #0f172a;
    font-weight: 900;
}
.legal-prose p,
.legal-prose li {
    color: #374151;
}
.legal-prose a {
    color: #1cb0f6;
    font-weight: 800;
}
.legal-prose a:hover { text-decoration: underline; }
[data-theme="dark"] .legal-prose h3,
[data-theme="dark"] .legal-prose h4 { color: #f1f5f9 !important; }
[data-theme="dark"] .legal-prose p,
[data-theme="dark"] .legal-prose li { color: #cbd5e1 !important; }
[data-theme="dark"] .legal-prose strong { color: #e2e8f0 !important; }
[data-theme="dark"] .legal-prose a { color: #38bdf8 !important; }

/* ---- Performance: landing scroll / animations ---- */
#dynamic-bg-container {
    contain: strict;
    transform: translateZ(0);
}

#dynamic-bg-container img {
    will-change: opacity;
    backface-visibility: hidden;
}

.landing-v2.is-scrolling .animate-slow-zoom,
.landing-v2.is-scrolling .floating,
.landing-v2.is-scrolling .hero-orb {
    animation-play-state: paused !important;
}

.landing-v2 section[id]:nth-of-type(n+4) {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
}

.marketing-page .reveal.is-visible,
.fade-in-section.is-visible {
    will-change: auto;
}

@media (max-width: 767px) {
    .marketing-page .reveal,
    .marketing-page .fade-in-section {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

@media (max-width: 767px), (prefers-reduced-motion: reduce) {
    .animate-slow-zoom {
        animation: none !important;
        transform: none !important;
    }

    .landing-v2 .hero-orb {
        animation: none !important;
    }

    .landing-v2 .glass-strong,
    .marketing-page .glass-card,
    .landing-v2 .stat-card,
    .marketing-island {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

.marketing-page {
    font-family: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
/* Automatic learning journey. All steps remain available without JavaScript. */
.landing-v2 .journey-route { margin: 0 auto 2rem; max-width: 64rem; }
.landing-v2 .journey-flight { display: block; width: 100%; overflow: visible; height: auto; }
.journey-flight__track, .journey-flight__progress, .journey-flight__arrow { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.journey-flight__track { stroke: #bed8ed; stroke-dasharray: 5 10; }
.journey-flight__progress { stroke: #168bff; stroke-dasharray: 0 2000; }
.journey-flight__arrow { stroke: #168bff; }
.journey-plane { filter: drop-shadow(0 6px 8px #168bff35); }
.landing-v2 .journey-stops { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; padding: 0; margin: .5rem -1rem 0; }
.journey-stops li { display: flex; align-items: center; justify-content: center; gap: .65rem; color: #64748b; transition: color .4s; }
.journey-stops li > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #e7f1f9; font-size: .7rem; font-weight: 900; }
.journey-stops li strong { font-size: .95rem; font-weight: 800; }
.journey-stops li.is-current { color: #0878d1; }
.journey-stops li.is-current > span { background: #168bff; color: white; box-shadow: 0 5px 15px #168bff30; }
.journey-stops li.is-past > span { background: #d9f3ea; color: #13866b; }
.journey-caption { text-align: center; font-size: .8rem; color: #64748b; margin-top: 1.3rem; }
.landing-v2 .how-journey .feature-stage { display: grid; }
.landing-v2 .how-journey .feature-panel { display: grid; grid-template-columns: 1.1fr 1fr; animation: none; }
.landing-v2 .how-journey:not(.journey-enhanced) .feature-panel + .feature-panel { border-top: 1px solid #cbd5e1; }
.landing-v2 .journey-enhanced .feature-panel { grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity .5s, transform .5s, visibility .5s; }
.landing-v2 .journey-enhanced .feature-panel.active { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.landing-v2 .journey-art { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; padding: 2rem; min-height: 340px; overflow: hidden; background: none; }
.landing-v2 .journey-art::after { content: none; }
.journey-art__orbit { position: absolute; width: 20rem; height: 20rem; border: 1px dashed #168bfF35; border-radius: 50%; transform: rotate(-20deg) scaleY(.7); }
.journey-art__icon { z-index: 1; display: grid; place-items: center; width: 5.5rem; height: 5.5rem; font-size: 3rem; border-radius: 1.7rem; background: #ffffffc9; box-shadow: 0 12px 35px #176cc41a; transform: rotate(-8deg); }
.journey-art__card { position: relative; width: min(100%, 21rem); padding: 1.35rem; background: #fffffff0; border: 1px solid white; border-radius: 1.25rem; box-shadow: 0 16px 40px #176cc418; }
.journey-art__card > span { display: block; color: #0878d1; font-weight: 800; font-size: .7rem; margin-bottom: .4rem; }
.journey-art__card strong { display: block; font-weight: 900; font-size: 1.3rem; color: #102641; line-height: 1.3; }
.journey-art__card small { display: block; color: #64748b; font-size: .72rem; margin-top: .65rem; }
.journey-art__meter { height: 6px; border-radius: 5px; background: #e4effa; margin-top: 1.1rem; overflow: hidden; }
.journey-art__meter > span { display: block; width: 25%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #168bff, #21c2dd); }
.journey-art--02 .journey-art__meter > span { width: 50%; }
.journey-art--03 .journey-art__meter > span { width: 75%; }
.journey-art--04 .journey-art__meter > span { width: 100%; background: #26af88; }
.journey-art--04 { background: none !important; }
.journey-art__stamp { z-index: 1; font-size: .65rem; font-weight: 900; letter-spacing: .2em; color: #5183a5; }
[data-theme="dark"] .journey-stops li, [data-theme="dark"] .journey-caption { color: #adc3d8; }
[data-theme="dark"] .journey-stops li.is-current { color: #67d4ff; }
[data-theme="dark"] .journey-stops li > span { background: #233e57; color: #b8e4ff; }
[data-theme="dark"] .journey-stops li.is-current > span { background: #168bff; color: white; }
[data-theme="dark"] .landing-v2 .journey-art { background: none !important; }
[data-theme="dark"] .journey-art__card { background: #182e43; border-color: #2a4963; }
[data-theme="dark"] .journey-art__card strong { color: #edf7ff; }
[data-theme="dark"] .journey-art__card > span { color: #67d4ff; }
[data-theme="dark"] .journey-art__card small { color: #abc3d5; }
@media (max-width: 767px) {
    .landing-v2 .how-journey .feature-panel { grid-template-columns: 1fr; }
    .landing-v2 .how-journey .feature-panel__text { padding: 1.5rem; }
    .landing-v2 .how-journey .feature-panel__text h3 { font-size: 1.3rem; }
    .landing-v2 .journey-art { min-height: 275px; padding: 1.5rem; gap: .8rem; }
    .journey-art__icon { width: 4rem; height: 4rem; font-size: 2.3rem; border-radius: 1.2rem; }
    .journey-stops li { flex-direction: column; gap: .5rem; }
    .journey-stops li strong { font-size: .68rem; text-align: center; }
    .journey-caption { font-size: .72rem; }
    .landing-v2 .journey-stops { margin-inline: -.6rem; }
}
@media (prefers-reduced-motion: reduce) {
    .landing-v2 .journey-enhanced .feature-panel { transition: none; }
    .journey-plane { display: none; }
}

/* source: static/css/layers/marketing/public.css */
/* H1ST UP public experience — compact, legible and mobile-first. */
.marketing-page {
    font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
    color: var(--public-ink);
    background: var(--public-page-bg);
}

.marketing-page h1,
.marketing-page h2,
.marketing-page h3,
.marketing-page .marketing-island__brand-text strong {
    font-family: "Nunito", "Manrope", system-ui, sans-serif;
}

.public-bg {
    background: var(--public-page-bg);
}

.public-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.32;
    background-image: radial-gradient(rgba(21, 120, 255, 0.16) 0.8px, transparent 0.8px);
    background-size: 22px 22px;
    mask-image: linear-gradient(to bottom, #000, transparent 72%);
}

.hero-v3 {
    min-height: min(780px, calc(100dvh - 1rem));
    display: grid;
    align-items: center;
    padding: 7.25rem 1.25rem 4rem;
    isolation: isolate;
}

.hero-v3__shell {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.hero-v3__copy { position: relative; z-index: 2; }

.hero-v3__eyebrow {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.85rem;
    margin-bottom: 1.25rem;
    border: 1px solid rgba(21, 120, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #1455a0;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(34, 74, 126, 0.08);
}

.hero-v3__pulse {
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 50%;
    background: var(--public-coral);
    box-shadow: 0 0 0 0 rgba(255, 107, 95, 0.42);
    animation: public-pulse 2.2s ease-out infinite;
}

.hero-v3 h1 {
    max-width: 720px;
    margin: 0;
    color: var(--public-ink);
    font-size: clamp(3.15rem, 6vw, 5.65rem);
    font-weight: 900;
    line-height: 0.94;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.hero-v3 h1 span {
    display: inline-block;
    color: transparent;
    background: linear-gradient(105deg, #126df2 5%, #22b5ef 46%, #14a56d 92%);
    -webkit-background-clip: text;
    background-clip: text;
}

.hero-v3__lead {
    max-width: 620px;
    margin: 1.35rem 0 0;
    color: var(--public-muted);
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    font-weight: 600;
    line-height: 1.7;
}

.hero-v3__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.7rem;
}

.hero-v3__primary,
.hero-v3__secondary {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.9rem 1.25rem;
    border-radius: 1rem;
    font-size: 0.95rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.hero-v3__primary {
    color: #fff;
    background: linear-gradient(135deg, #136ef3, #19aef0);
    border: 1px solid rgba(17, 105, 232, 0.7);
    box-shadow: 0 14px 28px rgba(21, 120, 255, 0.28), inset 0 -3px 0 rgba(0, 50, 139, 0.18);
}

.hero-v3__secondary {
    color: var(--public-ink);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(16, 33, 62, 0.14);
    box-shadow: 0 10px 24px rgba(34, 74, 126, 0.08);
}

.hero-v3__primary:hover,
.hero-v3__secondary:hover { transform: translateY(-3px); }
.hero-v3__primary:hover { box-shadow: 0 18px 36px rgba(21, 120, 255, 0.36), inset 0 -3px 0 rgba(0, 50, 139, 0.18); }
.hero-v3__secondary:hover { border-color: rgba(21, 120, 255, 0.35); }

.hero-v3__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1rem;
    margin-top: 1.15rem;
    color: #617086;
    font-size: 0.75rem;
    font-weight: 700;
}

.hero-v3__proof span { display: inline-flex; align-items: center; gap: 0.35rem; }
.hero-v3__proof i { color: #16a36a; }

.hero-v3__visual {
    position: relative;
    min-width: 0;
    animation: public-float 7s ease-in-out infinite;
}

.hero-v3__image-wrap {
    overflow: hidden;
    border-radius: clamp(1.6rem, 4vw, 3rem);
    border: 1px solid rgba(255, 255, 255, 0.9);
    background: #fff8e9;
    box-shadow: var(--public-shadow), inset 0 0 0 1px rgba(21, 120, 255, 0.08);
}

.hero-v3__image-wrap img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: 60% center;
}

.hero-v3__float {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.72rem 0.9rem;
    border: 1px solid rgba(26, 62, 113, 0.12);
    border-radius: 1rem;
    color: var(--public-ink);
    background: rgba(255, 255, 255, 0.91);
    box-shadow: 0 14px 32px rgba(34, 74, 126, 0.16);
    backdrop-filter: blur(14px);
    font-size: 0.72rem;
    font-weight: 700;
}

.hero-v3__float strong { display: block; font-family: "Nunito", sans-serif; font-size: 1.05rem; font-weight: 900; line-height: 1; }
.hero-v3__float span { display: block; }
.hero-v3__float--score { top: 8%; left: -4%; }
.hero-v3__float--score strong { color: #16a36a; }
.hero-v3__float--streak { right: -4%; bottom: 12%; }
.hero-v3__float--streak i { color: var(--public-coral); font-size: 1.2rem; }
.hero-v3__float--topics { left: 5%; bottom: -4%; }
.hero-v3__float--topics strong { color: var(--public-blue); }

.hero-v3__glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(12px);
    pointer-events: none;
}
.hero-v3__glow--one { width: 20rem; height: 20rem; right: -5rem; top: 5rem; background: rgba(57, 189, 248, 0.18); }
.hero-v3__glow--two { width: 15rem; height: 15rem; left: -6rem; bottom: 1rem; background: rgba(255, 201, 61, 0.18); }

.hero-v3__scroll {
    position: absolute;
    left: 50%;
    bottom: 1.2rem;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #607087;
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
}
.hero-v3__scroll i { animation: public-arrow 1.7s ease-in-out infinite; }

@keyframes public-pulse { 70%, 100% { box-shadow: 0 0 0 9px rgba(255, 107, 95, 0); } }
@keyframes public-float { 0%, 100% { transform: translateY(0) rotate(-0.35deg); } 50% { transform: translateY(-9px) rotate(0.35deg); } }
@keyframes public-arrow { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

[data-theme="dark"] .marketing-page { color: #ecf4ff; background: #091326; }
[data-theme="dark"] .public-bg {
    background: var(--public-page-bg);
}
[data-theme="dark"] .hero-v3 h1 { color: #f6f9ff; }
[data-theme="dark"] .hero-v3__lead { color: #b8c8dc; }
[data-theme="dark"] .hero-v3__eyebrow,
[data-theme="dark"] .hero-v3__secondary,
[data-theme="dark"] .hero-v3__float { background: rgba(15, 31, 56, 0.86); border-color: rgba(148, 190, 245, 0.18); color: #edf5ff; }
[data-theme="dark"] .hero-v3__eyebrow { color: #8dccff; }
[data-theme="dark"] .hero-v3__proof,
[data-theme="dark"] .hero-v3__scroll { color: #a9bad1; }

@media (max-width: 900px) {
    .hero-v3 { min-height: auto; padding: 6.5rem 1rem 3.5rem; }
    .hero-v3__shell { grid-template-columns: 1fr; gap: 1.7rem; }
    .hero-v3__copy { text-align: center; }
    .hero-v3__eyebrow { margin-inline: auto; }
    .hero-v3__lead { margin-inline: auto; }
    .hero-v3__actions,
    .hero-v3__proof { justify-content: center; }
    .hero-v3__visual { width: min(540px, 92%); margin: 0 auto; }
    .hero-v3__scroll { display: none; }
}

@media (max-width: 540px) {
    .hero-v3 { padding-top: 5.75rem; padding-bottom: 2.3rem; }
    .hero-v3__shell { gap: 1.25rem; }
    .hero-v3__eyebrow { margin-bottom: 0.85rem; font-size: 0.62rem; }
    .hero-v3 h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); line-height: 0.96; }
    .hero-v3__lead { margin-top: 0.9rem; font-size: 0.92rem; line-height: 1.55; }
    .hero-v3__actions { margin-top: 1.15rem; display: grid; grid-template-columns: 1fr; gap: 0.6rem; }
    .hero-v3__primary,
    .hero-v3__secondary { width: 100%; min-height: 50px; padding: 0.75rem 1rem; }
    .hero-v3__proof { gap: 0.5rem 0.75rem; margin-top: 0.85rem; font-size: 0.65rem; }
    .hero-v3__proof span:nth-child(2) { display: none; }
    .hero-v3__visual { width: 100%; }
    .hero-v3__image-wrap img { aspect-ratio: 16 / 9; object-position: 62% 58%; }
    .hero-v3__float { padding: 0.5rem 0.65rem; font-size: 0.6rem; border-radius: 0.75rem; }
    .hero-v3__float strong { font-size: 0.82rem; }
    .hero-v3__float--score { left: 0.45rem; top: 0.45rem; }
    .hero-v3__float--streak { right: 0.45rem; bottom: 0.45rem; }
    .hero-v3__float--topics { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-v3__pulse,
    .hero-v3__visual,
    .hero-v3__scroll i { animation: none !important; }
}

/* Shared public pages */
.landing-v2 .landing-section {
    padding-top: clamp(3.75rem, 7vw, 6.5rem);
    padding-bottom: clamp(3.75rem, 7vw, 6.5rem);
}

.landing-v2 .landing-section--compact {
    padding-top: clamp(2rem, 4vw, 3.5rem);
    padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.marketing-page .glass-card,
.marketing-page .article-card,
.marketing-page .legal-doc,
.marketing-page .auth-form-card,
.marketing-page .auth-info-card,
.marketing-page .error-card {
    border-color: var(--public-line);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 52px rgba(34, 74, 126, 0.1);
    backdrop-filter: blur(18px);
}

.public-spotlight { position: relative; isolation: isolate; }
.public-spotlight::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    background: none;
    transition: opacity 220ms ease;
}
.public-spotlight:hover::after { opacity: 1; }

/* Referral offer */
.referral-section { overflow: hidden; }
.referral-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    padding: clamp(1.6rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: clamp(1.75rem, 4vw, 3.25rem);
    color: white;
    background:
        linear-gradient(125deg, #0d2e66 0%, #1167d8 52%, #12a7df 100%);
    box-shadow: 0 30px 80px rgba(20, 86, 174, 0.3);
}
.referral-card::before {
    content: "";
    position: absolute;
    width: 16rem;
    aspect-ratio: 1;
    left: -7rem;
    bottom: -9rem;
    border: 2.5rem solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
}
.referral-card__copy,
.referral-steps,
.referral-card__note { position: relative; z-index: 1; }
.referral-card__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.referral-card h2 {
    margin: 0;
    max-width: 680px;
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    font-weight: 900;
    line-height: 0.98;
    letter-spacing: -0.045em;
    text-wrap: balance;
}
.referral-card h2 span { color: var(--public-yellow); }
.referral-card__copy > p {
    max-width: 620px;
    margin: 1.15rem 0 1.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    line-height: 1.65;
}
.referral-card__cta {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    padding: 0.85rem 1.15rem;
    border-radius: 1rem;
    color: #14213a;
    background: var(--public-yellow);
    box-shadow: inset 0 -3px 0 rgba(133, 91, 0, 0.22), 0 14px 28px rgba(0, 0, 0, 0.18);
    font-weight: 900;
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.referral-card__cta:hover { transform: translateY(-3px) rotate(-0.5deg); box-shadow: inset 0 -3px 0 rgba(133, 91, 0, 0.2), 0 18px 34px rgba(0, 0, 0, 0.23); }
.referral-steps { display: grid; align-content: center; gap: 0.75rem; }
.referral-steps li {
    display: grid;
    grid-template-columns: 3.2rem 1fr;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1rem;
    background: rgba(4, 27, 66, 0.22);
    backdrop-filter: blur(12px);
    transition: transform 180ms ease, background-color 180ms ease;
}
.referral-steps li:hover { transform: translateX(5px); background: rgba(255, 255, 255, 0.12); }
.referral-steps strong {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    border-radius: 0.8rem;
    color: #0c4f9f;
    background: white;
    font-family: "Nunito", sans-serif;
    font-size: 0.8rem;
    font-weight: 900;
}
.referral-steps span { color: rgba(255, 255, 255, 0.9); font-size: 0.86rem; font-weight: 700; line-height: 1.45; }
.referral-card__note { grid-column: 1 / -1; margin: -1rem 0 0; color: rgba(255, 255, 255, 0.56); font-size: 0.68rem; font-weight: 600; }

/* Blog */
.blog-page-hero {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1.25rem;
    padding: clamp(2rem, 6vw, 4.5rem);
    border: 1px solid var(--public-line);
    border-radius: clamp(1.75rem, 4vw, 3rem);
    background: linear-gradient(120deg, rgba(255,255,255,.94), rgba(233,246,255,.9));
    box-shadow: var(--public-shadow);
}
.blog-page-hero::before {
    content: "";
    position: absolute;
    width: 25rem;
    aspect-ratio: 1;
    right: -8rem;
    top: -12rem;
    border-radius: 50%;
    background: rgba(255, 201, 61, 0.24);
    filter: blur(2px);
}
.blog-page-hero__copy { position: relative; z-index: 1; max-width: 760px; }
.blog-page-hero .landing-section-title { margin-block: 0.7rem; }
.blog-page-hero .landing-section-title span { color: var(--public-blue); }
.blog-page-hero__mark {
    position: relative;
    z-index: 1;
    width: clamp(6rem, 13vw, 9rem);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 2.2rem;
    color: white;
    background: linear-gradient(145deg, #1475fa, #27b9ee);
    box-shadow: 0 22px 50px rgba(21, 120, 255, 0.3), inset 0 -6px 0 rgba(6, 71, 159, 0.2);
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    transform: rotate(5deg);
    animation: public-float 6s ease-in-out infinite;
}
.blog-tools {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.25rem 0 2rem;
}
.blog-search {
    flex: 1;
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.7rem 0.9rem 0.7rem 1.1rem;
    border: 1px solid var(--public-line);
    border-radius: 1rem;
    color: #708096;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 26px rgba(34, 74, 126, 0.08);
}
.blog-search:focus-within { border-color: rgba(21,120,255,.5); box-shadow: 0 0 0 4px rgba(21,120,255,.1), 0 10px 26px rgba(34,74,126,.08); }
.blog-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--public-ink); background: transparent; font-weight: 700; }
.blog-search input::placeholder { color: #94a1b3; }
.blog-search kbd { padding: .35rem .5rem; border: 1px solid var(--public-line); border-radius: .55rem; color: #7a879a; background: #f5f8fc; font-size: .68rem; font-weight: 800; }
.blog-tools > p { color: var(--public-muted); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.blog-tools > p strong { color: var(--public-blue); }
.blog-card { transition: transform 220ms ease, box-shadow 220ms ease; }
.blog-card:hover { transform: translateY(-6px); box-shadow: 0 26px 64px rgba(34, 74, 126, 0.16); }
.blog-card[hidden] { display: none !important; }
.blog-card__media {
    position: relative;
    display: grid;
    place-items: center;
    height: 11rem;
    overflow: hidden;
    isolation: isolate;
    background: #17233b;
}
.blog-card.is-feature .blog-card__media { height: 18rem; }
@media (min-width: 1024px) {
    .blog-card.is-feature .blog-card__media { height: clamp(22rem, 34vw, 27rem); }
}
.blog-card__image-backdrop,
.landing-blog-card__image-backdrop {
    position: absolute;
    inset: -1.25rem;
    width: calc(100% + 2.5rem);
    height: calc(100% + 2.5rem);
    object-fit: cover;
    filter: blur(18px) saturate(.85) brightness(.68);
    transform: scale(1.05);
}
.blog-card__image,
.landing-blog-card__image {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 420ms ease;
}
.blog-card:hover .blog-card__image,
.landing-blog-card:hover .landing-blog-card__image { transform: scale(1.035); }
.blog-card__shade {
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(15,23,42,.62), transparent 58%);
}
.blog-card__tag {
    position: absolute;
    z-index: 3;
    left: 1.25rem;
    bottom: 1rem;
    padding: .3rem .65rem;
    border-radius: .5rem;
    color: #fff;
    background: rgba(79,70,229,.9);
    box-shadow: 0 2px 5px rgba(15,23,42,.18);
    font-size: .625rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.blog-card__media--empty { color: #fff; background: linear-gradient(135deg, var(--public-blue), #5b5ce2); }
.blog-card__media--empty .blog-card__tag { background: rgba(255,255,255,.2); }
.blog-card__body { min-height: 0; }
.blog-card__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    font-size: clamp(1.08rem, 1.5vw, 1.3rem);
}
.blog-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    color: var(--public-muted);
    font-size: .9rem;
}
.blog-card__excerpt--long { display: none; }
.blog-card.is-feature .blog-card__body { padding: clamp(1.65rem, 3vw, 2.35rem) !important; }
.blog-card.is-feature .blog-card__title { -webkit-line-clamp: 4; margin-bottom: .8rem; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.08; }
.blog-card.is-feature .blog-card__excerpt--short { display: none; }
.blog-card.is-feature .blog-card__excerpt--long { display: -webkit-box; -webkit-line-clamp: 8; margin-bottom: 1.5rem; font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.7; }
.blog-card.is-feature .blog-card__body > a:last-child { min-height: 3.5rem; display: grid; place-items: center; font-size: .82rem; }
.blog-empty-search { padding: 4rem 1rem; text-align: center; color: var(--public-muted); }
.blog-empty-search i { margin-bottom: 1rem; color: var(--public-blue); font-size: 2.5rem; }
.blog-empty-search h2 { color: var(--public-ink); font-size: 1.5rem; font-weight: 900; }
.blog-empty-search p { margin-top: .35rem; font-weight: 600; }

/* Legal documents */
.legal-page-grid { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.legal-toc-card {
    position: sticky;
    top: 7.5rem;
    padding: 1.2rem;
    border: 1px solid var(--public-line);
    border-radius: 1.4rem;
    background: rgba(255,255,255,.86);
    box-shadow: 0 16px 42px rgba(34,74,126,.1);
    backdrop-filter: blur(18px);
}
.legal-toc-card__eyebrow { display: flex; align-items: center; gap: .55rem; margin-bottom: .8rem; color: var(--public-blue); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.legal-toc { display: grid; gap: .25rem; max-height: min(58vh, 540px); overflow: auto; scrollbar-width: thin; }
.legal-toc a { padding: .55rem .65rem; border-radius: .7rem; color: var(--public-muted); font-size: .76rem; font-weight: 700; line-height: 1.35; }
.legal-toc a:hover { color: var(--public-blue); background: rgba(21,120,255,.08); }
.legal-toc a.is-major { color: var(--public-ink); font-weight: 900; }
.legal-toc-card__note { display: flex; gap: .45rem; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--public-line); color: #7c899b; font-size: .66rem; font-weight: 600; line-height: 1.45; }
.legal-prose { max-width: 78ch; margin-inline: auto; }
.legal-prose h2,
.legal-prose h3 { scroll-margin-top: 7rem; color: var(--public-ink); letter-spacing: -.02em; }
.legal-prose p,
.legal-prose li { font-weight: 550; }
.cookie-consent {
    color: var(--public-ink);
    background: var(--public-surface-muted);
    border-color: var(--public-line);
}
.cookie-consent__button { cursor: pointer; }
.cookie-consent__button--primary { color: #fff; background: #1d4ed8; }
.cookie-consent__button--secondary {
    color: var(--public-ink);
    background: var(--public-surface-solid);
    border: 1px solid var(--public-line);
}
.cookie-consent__button:focus-visible { outline: 3px solid var(--public-blue); outline-offset: 3px; }
[data-theme="dark"] .cookie-consent__button--primary { color: #0b1628; background: #60a5fa; }

/* Authentication */
.auth-page .auth-form-card { overflow: visible; }
.auth-form-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
    color: #167054;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.auth-register-steps { display: flex; align-items: center; justify-content: space-between; gap: .4rem; padding: .75rem; border-radius: .9rem; color: #8a96a7; background: #f4f7fb; font-size: .64rem; font-weight: 800; }
.auth-register-steps span { display: inline-flex; align-items: center; gap: .35rem; }
.auth-register-steps b { width: 1.35rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: #dfe6ef; }
.auth-register-steps .is-active { color: var(--public-blue); }
.auth-register-steps .is-active b { color: white; background: var(--public-blue); }
.auth-register-steps > i { color: #cad2dd; font-size: .55rem; }
.auth-selected-plan {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid color-mix(in srgb, var(--public-blue) 28%, var(--public-line));
    border-radius: 1rem;
    color: var(--public-ink);
    background: color-mix(in srgb, var(--public-blue) 8%, var(--public-surface-solid));
}
.auth-selected-plan__icon {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .8rem;
    color: #fff;
    background: linear-gradient(145deg, var(--public-blue), #4f46e5);
}
.auth-selected-plan__copy { display: grid; min-width: 0; line-height: 1.2; }
.auth-selected-plan__copy small { color: var(--public-muted); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.auth-selected-plan__copy strong { color: var(--public-ink); font-size: 1rem; font-weight: 900; }
.auth-selected-plan__copy span { margin-top: .18rem; color: var(--public-muted); font-size: .72rem; font-weight: 700; }
.auth-selected-plan__change { color: var(--public-blue); font-size: .72rem; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.auth-page .auth-input { min-height: 54px; transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.auth-page .auth-input:focus { background: #fff; box-shadow: 0 0 0 4px rgba(21,120,255,.1); }

/* Article and error */
.content-page-article { overflow: hidden; border: 1px solid var(--public-line) !important; box-shadow: var(--public-shadow) !important; }
.content-page-prose { max-width: 74ch !important; margin-inline: auto; font-family: "Manrope", system-ui, sans-serif; }
.content-page-title { text-wrap: balance; }
.error-card { isolation: isolate; }
.error-code { margin: -1.3rem 0 -1.2rem; color: transparent; background: linear-gradient(135deg, #dcecff, #fff0c5); -webkit-background-clip: text; background-clip: text; font-family: "Nunito", sans-serif; font-size: clamp(7rem, 24vw, 11rem); font-weight: 900; letter-spacing: -.08em; line-height: 1; }
.error-help { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--public-line); }
.error-help a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border-radius: .8rem; color: var(--public-muted); background: #f5f8fc; font-size: .72rem; font-weight: 800; }
.error-help a:hover { color: var(--public-blue); background: #ebf4ff; }

.marketing-footer { background: rgba(255,255,255,.88) !important; border-color: var(--public-line) !important; }

[data-theme="dark"] .public-bg {
    background: var(--public-page-bg);
}
[data-theme="dark"] .marketing-page { color: #e9f1ff; background: #0b1628; }
[data-theme="dark"] .marketing-page .glass-card,
[data-theme="dark"] .marketing-page .article-card,
[data-theme="dark"] .marketing-page .legal-doc,
[data-theme="dark"] .marketing-page .auth-form-card,
[data-theme="dark"] .marketing-page .auth-info-card,
[data-theme="dark"] .marketing-page .error-card,
[data-theme="dark"] .blog-page-hero,
[data-theme="dark"] .blog-search,
[data-theme="dark"] .legal-toc-card { background: rgba(12, 24, 45, .9); border-color: rgba(255,255,255,.1); }
[data-theme="dark"] .blog-search input,
[data-theme="dark"] .blog-empty-search h2,
[data-theme="dark"] .legal-prose h2,
[data-theme="dark"] .legal-prose h3 { color: #edf4ff; }
[data-theme="dark"] .blog-search kbd,
[data-theme="dark"] .error-help a { color: #b7c5d9; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); }
[data-theme="dark"] .legal-toc a.is-major { color: #e9f1ff; }
[data-theme="dark"] .auth-register-steps { background: rgba(255,255,255,.06); }
[data-theme="dark"] .auth-selected-plan { background: rgba(28, 176, 246, .1); }
[data-theme="dark"] .marketing-footer { background: rgba(7,15,29,.9) !important; }

@media (max-width: 900px) {
    .referral-card { grid-template-columns: 1fr; }
    .referral-card__note { margin-top: 0; }
    .legal-page-grid { grid-template-columns: 1fr; }
    .legal-toc-card { position: relative; top: auto; }
    .legal-toc { max-height: 14rem; }
}

@media (max-width: 640px) {
    .landing-v2 .landing-section { padding-top: 3.25rem; padding-bottom: 3.25rem; }
    .referral-card { padding: 1.35rem; border-radius: 1.6rem; gap: 1.4rem; }
    .referral-card h2 { font-size: 2.15rem; }
    .referral-card__cta { width: 100%; }
    .referral-steps li { grid-template-columns: 2.6rem 1fr; padding: .7rem; }
    .referral-card__note { font-size: .62rem; }
    .blog-page-hero { min-height: auto; grid-template-columns: 1fr; padding: 1.5rem; }
    .blog-page-hero__mark { display: none; }
    .blog-tools { align-items: stretch; flex-direction: column; }
    .blog-tools > p { padding-left: .2rem; }
    .blog-search kbd { display: none; }
    .legal-page-main { padding-top: 1.25rem !important; }
    .legal-toc-card { padding: 1rem; }
    .legal-toc { display: flex; max-height: none; overflow-x: auto; padding-bottom: .35rem; scroll-snap-type: x proximity; }
    .legal-toc a { flex: 0 0 min(72vw, 16rem); display: flex; align-items: center; min-height: 48px; border: 1px solid var(--public-line); background: rgba(21,120,255,.05); scroll-snap-align: start; }
    .legal-toc-card__note { margin-top: .55rem; padding-top: .6rem; }
    .legal-doc { border-radius: 1.6rem !important; padding: 1.25rem !important; }
    .error-code { margin-top: -.75rem; }
    .error-help { grid-template-columns: 1fr; }
    .auth-page .auth-form-card,
    .auth-page .auth-info-card { border-radius: 1.6rem !important; padding: 1.25rem !important; }
    .auth-info-card ul { display: grid; grid-template-columns: 1fr; gap: .65rem !important; }
    .blog-card.is-feature .blog-card__body { padding: 1.4rem !important; }
    .blog-card.is-feature .blog-card__title { font-size: 1.45rem; }
    .blog-card.is-feature .blog-card__excerpt--long { -webkit-line-clamp: 6; font-size: .92rem; }
}

@media (prefers-reduced-motion: reduce) {
    .blog-page-hero__mark,
    .referral-card__cta,
    .referral-steps li,
    .blog-card { animation: none !important; transition: none !important; transform: none !important; }
    .landing-float-action--telegram,
    .landing-float-action--telegram::before { animation: none !important; }
}

/* =====================================================================
   Public experience v4 — one token-driven visual language for all blocks
   ===================================================================== */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

.marketing-page,
.marketing-page * {
    scrollbar-color: color-mix(in srgb, var(--public-blue) 46%, transparent) transparent;
}

.marketing-page {
    color: var(--public-ink);
    transition: color 180ms ease, background-color 180ms ease;
}

.marketing-page .marketing-island-wrap {
    top: max(0.7rem, env(safe-area-inset-top, 0px));
}

.marketing-page .marketing-island {
    color: var(--public-ink);
    background: color-mix(in srgb, var(--public-surface-solid) 84%, transparent) !important;
    border-color: var(--public-line) !important;
    box-shadow: var(--public-shadow-soft) !important;
}

.marketing-page .marketing-island__brand-text strong,
.marketing-page .marketing-island__brand-text small {
    overflow: visible;
    max-width: none;
    text-overflow: clip;
    white-space: nowrap;
}

.marketing-page .marketing-island__brand-text strong { color: var(--public-ink); }
.marketing-page .marketing-island__brand-text small { color: var(--public-blue); }
.marketing-page .marketing-back-btn { color: var(--public-muted) !important; background: var(--public-surface-muted) !important; }
.marketing-page .marketing-back-btn {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.marketing-page .marketing-back-btn:hover,
.marketing-page .marketing-back-btn:focus-visible {
    color: #fff !important;
    background: linear-gradient(135deg, #1cb0f6, #3b82f6) !important;
    border-color: #1cb0f6 !important;
    box-shadow: 0 4px 0 #148dc5, 0 8px 18px rgba(28, 176, 246, .22);
    transform: translateY(-1px);
}
.marketing-page .marketing-back-btn:active {
    box-shadow: 0 2px 0 #148dc5, 0 4px 10px rgba(28, 176, 246, .16);
    transform: translateY(2px);
}

/* Floating contact and page-return actions, scoped to the landing page. */
.landing-floating-actions {
    position: fixed;
    right: max(1.25rem, env(safe-area-inset-right, 0px));
    bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
    z-index: 47;
    display: grid;
    justify-items: end;
    gap: .7rem;
    pointer-events: none;
}

.landing-float-action {
    position: relative;
    display: inline-grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--public-line) 76%, transparent);
    border-radius: 999px;
    box-shadow: 0 14px 36px rgba(15, 42, 78, .22);
    cursor: pointer;
    pointer-events: auto;
    transition: opacity 180ms ease, transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.landing-float-action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--public-blue) 42%, transparent);
    outline-offset: 4px;
}

.landing-float-action--top {
    width: 46px;
    height: 46px;
    color: var(--public-ink);
    background: color-mix(in srgb, var(--public-surface-solid) 88%, transparent);
    opacity: 0;
    transform: translateY(.65rem) scale(.88);
    pointer-events: none;
    backdrop-filter: blur(16px);
}

.landing-float-action--top.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.landing-float-action--top:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(15, 42, 78, .28);
}

.landing-float-action--telegram {
    width: 60px;
    height: 60px;
    color: #fff;
    background: linear-gradient(145deg, #2ab9f3, #168bd1);
    border-color: rgba(255,255,255,.55);
    font-size: 1.75rem;
    animation: landing-telegram-float 3.2s ease-in-out infinite;
}

.landing-float-action--telegram::before {
    content: "";
    position: absolute;
    inset: -6px;
    z-index: -1;
    border: 2px solid rgba(42, 185, 243, .36);
    border-radius: inherit;
    animation: landing-telegram-ring 2.4s ease-out infinite;
}

.landing-float-action--telegram:hover {
    animation-play-state: paused;
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 20px 44px rgba(22, 139, 209, .38);
}

.landing-float-action__label {
    position: absolute;
    right: calc(100% + .7rem);
    padding: .48rem .7rem;
    border: 1px solid var(--public-line);
    border-radius: .75rem;
    color: var(--public-ink);
    background: var(--public-surface-solid);
    box-shadow: var(--public-shadow-soft);
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
    opacity: 0;
    transform: translateX(.35rem);
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease;
}

.landing-float-action--telegram:hover .landing-float-action__label,
.landing-float-action--telegram:focus-visible .landing-float-action__label {
    opacity: 1;
    transform: translateX(0);
}

@keyframes landing-telegram-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes landing-telegram-ring {
    0% { opacity: .85; transform: scale(.86); }
    75%, 100% { opacity: 0; transform: scale(1.2); }
}

/* The header already participates in layout, so the hero only needs a small gap. */
.landing-v2 .hero-v3 {
    min-height: calc(100dvh - 6.6rem);
    padding-top: clamp(1rem, 2.5vw, 2rem);
    padding-bottom: 2.2rem;
}

.landing-v2 .hero-v3 h1,
.landing-v2 .landing-section-title,
.landing-v2 .bento-card__title,
.landing-v2 .feature-panel__text h3,
.landing-v2 .era-card__body h3 {
    color: var(--public-ink) !important;
}

.landing-v2 .hero-v3__lead,
.landing-v2 .landing-section-sub,
.landing-v2 .bento-card__text,
.landing-v2 .feature-panel__text p,
.landing-v2 .era-card__body p,
.landing-v2 .era-timeline-note {
    color: var(--public-muted) !important;
}

.landing-v2 .landing-section,
.landing-v2 .landing-section--soft,
.landing-v2 .landing-section--quiz,
.landing-v2 .landing-section--program,
.landing-v2 .landing-section--tariffs {
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
}

.landing-v2 .landing-section::before { content: none; }

.landing-v2 .landing-section-head { margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.landing-v2 .landing-section-title { letter-spacing: -0.035em; line-height: 1.02; }
.landing-v2 .landing-section-sub { line-height: 1.65; }
.landing-v2 .landing-kicker {
    color: var(--public-blue);
    background: var(--public-surface);
    border-color: var(--public-line);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--public-blue) 9%, transparent);
}

/* Reusable surface treatment shared by every landing block. */
.landing-v2 .stat-card,
.landing-v2 .audience-bento__hero,
.landing-v2 .audience-bento__pain,
.landing-v2 .bento-card,
.landing-v2 .feature-stage,
.landing-v2 .era-card,
.landing-v2 .landing-quiz-stage,
.landing-v2 .landing-review-card,
.landing-v2 #enrollment-banner,
.landing-v2 #tariffs .grid.md\:grid-cols-3 > div,
.landing-v2 .accordion-item,
.landing-v2 .glass-card {
    color: var(--public-ink);
    background: var(--public-surface) !important;
    border: 1px solid var(--public-line) !important;
    box-shadow: var(--public-shadow-soft) !important;
    backdrop-filter: blur(18px);
}

.landing-v2 .stat-card,
.landing-v2 .audience-bento__pain,
.landing-v2 .bento-card,
.landing-v2 .era-card,
.landing-v2 .landing-review-card,
.landing-v2 .accordion-item {
    transition: transform 210ms ease, box-shadow 210ms ease, border-color 210ms ease;
}

.landing-v2 .stat-card:hover,
.landing-v2 .audience-bento__pain:hover,
.landing-v2 .bento-card:hover,
.landing-v2 .era-card:hover,
.landing-v2 .landing-review-card:hover,
.landing-v2 .accordion-item:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--public-blue) 34%, var(--public-line)) !important;
    box-shadow: var(--public-shadow) !important;
}

.landing-v2 .audience-bento__hero,
.landing-v2 .feature-stage,
.landing-v2 .landing-quiz-stage { border-radius: clamp(1.6rem, 4vw, 2.7rem); overflow: hidden; }
.landing-v2 .audience-bento__pain,
.landing-v2 .bento-card,
.landing-v2 .era-card,
.landing-v2 .landing-review-card { border-radius: 1.55rem; }

.landing-v2 .audience-bento__list li,
.landing-v2 .audience-bento__pain-title,
.landing-v2 .audience-bento__pain h3,
.landing-v2 .feature-panel__list li { color: var(--public-ink) !important; }
.landing-v2 .audience-bento__pain > p:not(.audience-bento__pain-title) { color: var(--public-muted) !important; }

.landing-v2 .bento-card--cta {
    color: white;
    background: linear-gradient(135deg, #126df2, #18aeea) !important;
    border-color: rgba(255,255,255,.3) !important;
}
.landing-v2 .bento-card--cta .bento-card__title,
.landing-v2 .bento-card--cta .bento-card__text { color: white !important; }

.landing-v2 .feature-tabs {
    padding: .45rem;
    border: 1px solid var(--public-line);
    border-radius: 1.3rem;
    background: color-mix(in srgb, var(--public-surface-solid) 72%, transparent);
    box-shadow: var(--public-shadow-soft);
}
.landing-v2 .feature-tab { color: var(--public-muted); background: transparent; border-color: transparent; }
.landing-v2 .feature-tab.active { color: white !important; background: linear-gradient(135deg, #1578ff, #27b9ee) !important; border-color: transparent !important; }
.landing-v2 .feature-panel__step { color: var(--public-blue); background: color-mix(in srgb, var(--public-blue) 12%, transparent); }

.landing-v2 .era-timeline { align-items: stretch; padding-block: .5rem 1rem; }
.landing-v2 .era-card { height: auto; }
.landing-v2 .era-card__body { display: grid; align-content: start; gap: .35rem; }
.landing-v2 .era-card__body p { display: block; overflow: visible; }
.landing-v2 .era-arrow { color: var(--public-ink); background: var(--public-surface); border-color: var(--public-line); box-shadow: var(--public-shadow-soft); }

.landing-v2 .landing-quiz-option {
    color: var(--public-ink);
    background: var(--public-surface-muted);
    border-color: var(--public-line);
}
.landing-v2 .landing-quiz-question { color: var(--public-ink) !important; }
.landing-v2 .landing-quiz-step { color: var(--public-muted) !important; }

.landing-v2 .teacher-card {
    border: 1px solid rgba(255,255,255,.26);
    background:
        linear-gradient(135deg, #0e3b7b, #147be7 58%, #17a9dc) !important;
    box-shadow: 0 28px 70px rgba(20, 93, 184, .28);
}
.landing-v2 .landing-teacher-video-card { border-color: var(--public-surface-solid) !important; box-shadow: var(--public-shadow) !important; }

.landing-v2 .landing-review-card { height: auto !important; }
.landing-v2 .landing-review-card p { overflow: visible; text-overflow: clip; }

.landing-v2 .referral-card { box-shadow: var(--public-shadow); }

.landing-v2 .lead-form-card {
    color: #10213e !important;
    background: #fff !important;
    border: 1px solid rgba(255,255,255,.7);
}

.landing-v2 #tariffs > div > .text-center > div {
    color: var(--public-ink);
    background: var(--public-surface) !important;
    border: 1px solid var(--public-line) !important;
    box-shadow: var(--public-shadow-soft) !important;
}
.landing-v2 #tariffs > div > .text-center h2 { color: var(--public-ink) !important; }
.landing-v2 #tariffs > div > .text-center p { color: var(--public-muted) !important; }
.landing-v2 #tariffs .grid.md\:grid-cols-3 > div { transform: none; }
.landing-v2 #tariffs .grid.md\:grid-cols-3 > div:nth-child(2) {
    border: 2px solid color-mix(in srgb, #58cc02 70%, var(--public-line)) !important;
    box-shadow: 0 24px 60px color-mix(in srgb, #58cc02 16%, transparent) !important;
}

.landing-v2 .accordion-item button { color: var(--public-ink) !important; }
.landing-v2 .accordion-content { color: var(--public-muted) !important; }

/* Legal contents remain attached underneath the attached header. */
.legal-page-main { overflow: visible !important; }
.legal-page-grid { align-items: start; }
.legal-toc-card {
    position: sticky;
    top: 6.25rem;
    z-index: 35;
    color: var(--public-ink);
    background: var(--public-surface) !important;
    border-color: var(--public-line);
    box-shadow: var(--public-shadow-soft);
}
.legal-toc a { color: var(--public-muted); }
.legal-toc a.is-major { color: var(--public-ink); }
.legal-doc { color: var(--public-ink); background: var(--public-surface) !important; }
.legal-prose { color: var(--public-muted) !important; }

/* Public auth/content surfaces inherit the same tokens in both themes. */
.auth-page .auth-form-card,
.auth-page .auth-info-card,
.marketing-page .content-page-article,
.marketing-page .error-card,
.marketing-page .blog-card,
.marketing-page .blog-page-hero {
    color: var(--public-ink);
    background: var(--public-surface) !important;
    border-color: var(--public-line) !important;
    box-shadow: var(--public-shadow) !important;
}
.auth-page .auth-form-card h1,
.auth-page .auth-form-card h2,
.auth-page .auth-info-card h2,
.auth-page .auth-info-card h3 { color: var(--public-ink) !important; }
.auth-page .auth-form-card p,
.auth-page .auth-info-card p { color: var(--public-muted); }

@media (max-width: 767px) {
    .landing-floating-actions {
        right: max(.85rem, env(safe-area-inset-right, 0px));
        bottom: calc(6.45rem + env(safe-area-inset-bottom, 0px));
        gap: .55rem;
    }
    .landing-float-action--top { width: 42px; height: 42px; }
    .landing-float-action--telegram { width: 54px; height: 54px; font-size: 1.55rem; }
    .landing-float-action__label { display: none; }
    .cookie-banner-open .landing-floating-actions { opacity: 0; pointer-events: none; }

    .marketing-page .marketing-island-wrap { padding-inline: .75rem; margin-top: .65rem; }
    .marketing-page .marketing-island { padding: .48rem .55rem; border-radius: 1.35rem; }
    .marketing-page .marketing-island__bar { gap: .35rem; }
    .marketing-page .marketing-island__slot--start { gap: .2rem; }
    .marketing-page .marketing-island__brand-text { max-width: min(43vw, 10.5rem); }
    .marketing-page .marketing-island__brand-text strong { font-size: .88rem; }
    .marketing-page .marketing-island__brand-text small { font-size: .56rem; letter-spacing: .035em; line-height: 1.15; }
    .marketing-page .marketing-island__logo { width: 2.2rem; height: 2.2rem; border-radius: .75rem; }
    .marketing-page .marketing-island__back,
    .marketing-page .marketing-theme-toggle,
    .marketing-page .marketing-island__cta { min-width: 42px; min-height: 42px; }

    .landing-v2 .hero-v3 {
        min-height: auto;
        padding-top: 1.05rem;
        padding-inline: 1rem;
        padding-bottom: 2.5rem;
    }
    .landing-v2 .hero-v3__shell { gap: 1.4rem; }
    .landing-v2 .hero-v3 h1 { font-size: clamp(2.45rem, 11.4vw, 3.25rem); line-height: .98; }
    .landing-v2 .hero-v3__lead { max-width: 36ch; }
    .landing-v2 .hero-v3__proof { justify-content: flex-start; }
    .landing-v2 .hero-v3__visual { width: 100%; }

    .landing-v2 .landing-section { padding-block: 3.35rem; }
    .landing-v2 .landing-section > div { padding-inline: 1rem !important; }
    .landing-v2 .landing-section-title { font-size: clamp(2rem, 9vw, 2.65rem); }
    .landing-v2 .landing-section-sub { font-size: .95rem; }
    .landing-v2 .audience-bento,
    .landing-v2 .bento-grid,
    .landing-v2 .reviews-grid,
    .landing-v2 #tariffs .grid.md\:grid-cols-3 { grid-template-columns: 1fr !important; }
    .landing-v2 .audience-bento__hero,
    .landing-v2 .feature-panel.active { grid-template-columns: 1fr !important; }
    .landing-v2 .audience-bento__hero { padding: 1.2rem; }
    .landing-v2 .audience-bento__hero-visual { min-height: 220px; }
    .landing-v2 .audience-bento__pain,
    .landing-v2 .bento-card,
    .landing-v2 .landing-review-card { padding: 1.15rem !important; }
    .landing-v2 .bento-span-2,
    .landing-v2 .bento-row-2 { grid-column: auto !important; grid-row: auto !important; }

    .landing-v2 .feature-tabs { display: flex; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; }
    .landing-v2 .feature-tab { flex: 0 0 auto; min-width: 9rem; scroll-snap-align: start; }
    .landing-v2 .feature-panel__text { padding: 1.25rem; }
    .landing-v2 .feature-panel__media { min-height: 230px; }

    .landing-v2 .landing-quiz-stage { padding: 1.15rem; }
    .landing-v2 .landing-quiz-options--grid { grid-template-columns: 1fr !important; }
    .landing-v2 .landing-quiz-option { min-height: 54px; padding: .85rem; }

    .landing-v2 section:has(.teacher-card) > div { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .landing-v2 .teacher-card { order: 1 !important; padding: 1.4rem !important; border-radius: 1.8rem !important; }
    .landing-v2 .teacher-card h2 { font-size: 2.2rem !important; }
    .landing-v2 .teacher-card p,
    .landing-v2 .teacher-card li { font-size: .95rem !important; }
    .landing-v2 #tariffs .grid.md\:grid-cols-3 > div { padding: 1.4rem !important; border-radius: 1.7rem !important; }

    .legal-page-grid { display: block; }
    .legal-toc-card {
        position: sticky;
        top: 5.15rem;
        z-index: 38;
        margin-bottom: 1rem;
        padding: .75rem;
        border-radius: 1.1rem;
    }
    .legal-toc-card__eyebrow { margin-bottom: .55rem; }
    .legal-toc { display: flex; max-height: none; overflow-x: auto; gap: .4rem; padding-bottom: .15rem; }
    .legal-toc a { flex: 0 0 min(68vw, 15rem); min-height: 44px; padding: .55rem .65rem; }
    .legal-toc-card__note { display: none; }
    .legal-doc { margin-top: 0; }

    .blog-tools > p { white-space: normal; }
}

@media (max-width: 420px) {
    .marketing-page .marketing-island__brand-text { max-width: 42vw; }
    .marketing-page .marketing-island__brand-text small { white-space: normal; }
    .landing-v2 .hero-v3__actions { grid-template-columns: 1fr; }
    .landing-v2 .hero-v3__primary,
    .landing-v2 .hero-v3__secondary { font-size: .86rem; }
    .landing-v2 .stat-card { padding: 1rem .7rem; }
    .landing-v2 .stat-num { font-size: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
    .marketing-page *,
    .marketing-page *::before,
    .marketing-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

/* =====================================================================
   Public experience v5 — clearer navigation and richer landing sections
   ===================================================================== */
.landing-v2 section[id] { scroll-margin-top: 6.5rem; }

.marketing-page .marketing-nav-link,
.marketing-page .marketing-footer__link {
    text-decoration: none !important;
}

.marketing-page .marketing-nav-link {
    position: relative;
    padding: .52rem .68rem;
    font-size: .88rem;
    font-weight: 750;
    transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.marketing-page .marketing-nav-link:hover,
.marketing-page .marketing-nav-link:focus-visible {
    transform: translateY(-1px);
    text-decoration: none !important;
}

.marketing-page .marketing-nav-link.nav-active {
    color: var(--public-blue) !important;
    background: color-mix(in srgb, var(--public-blue) 11%, transparent) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--public-blue) 23%, transparent);
    text-decoration: none !important;
}

.marketing-page .marketing-nav-link.nav-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: .18rem;
    width: .28rem;
    height: .28rem;
    border-radius: 50%;
    background: currentColor;
    transform: translateX(-50%);
}

.marketing-page .marketing-nav-link--blog {
    color: #635bdb;
    background: color-mix(in srgb, #635bdb 8%, transparent);
    border-color: color-mix(in srgb, #635bdb 20%, transparent);
}

.landing-section-head--split {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}

.landing-section-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    min-height: 48px;
    padding: .75rem 1rem;
    border: 1px solid var(--public-line);
    border-radius: .9rem;
    color: var(--public-blue);
    background: var(--public-surface);
    box-shadow: var(--public-shadow-soft);
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.landing-section-link:hover { transform: translateY(-3px); box-shadow: var(--public-shadow); }

/* The audience section now explains both the starting point and the solution. */
.audience-bento__hero-content { align-self: center; }
.audience-bento__eyebrow {
    display: inline-flex;
    margin-bottom: .65rem;
    color: var(--public-blue);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.audience-bento__hero-content > h3 {
    margin-bottom: 1.25rem;
    color: var(--public-ink);
    font: 900 clamp(1.55rem, 3vw, 2.25rem)/1.08 "Nunito", sans-serif;
    text-wrap: balance;
}
.audience-bento__list li { font-size: 1rem; }
.audience-bento__list li span { display: grid; gap: .12rem; }
.audience-bento__list li strong { color: var(--public-ink); }
.audience-bento__promise {
    display: flex;
    gap: .65rem;
    margin-top: 1.25rem;
    padding: .9rem 1rem;
    border-radius: 1rem;
    color: var(--public-ink);
    background: color-mix(in srgb, var(--public-blue) 8%, var(--public-surface));
    font-size: .85rem;
    font-weight: 800;
    line-height: 1.55;
}
.audience-bento__promise i { margin-top: .2rem; color: var(--public-blue); }
.audience-bento__solution {
    display: inline-flex;
    margin-top: 1rem;
    padding: .42rem .62rem;
    border-radius: .65rem;
    color: #157052;
    background: color-mix(in srgb, #25b889 12%, transparent);
    font-size: .7rem;
    font-weight: 900;
    line-height: 1.35;
}

/* Larger chronology cards: readable without squeezing four cards into view. */
.landing-v2 #lessons .era-timeline { gap: 1.35rem; padding-block: .75rem 1.5rem; }
.landing-v2 #lessons .era-card {
    width: clamp(21rem, 28vw, 24rem);
    min-height: 34rem;
    border-radius: 1.8rem;
}
.landing-v2 #lessons .era-card__img {
    height: 18rem;
    background: #dce9f3;
}
.landing-v2 #lessons .era-card__img .era-card__main-image {
    object-fit: cover;
    object-position: center;
}
.landing-v2 #lessons .era-card:hover .era-card__img .era-card__main-image {
    transform: scale(1.035);
}
.landing-v2 #lessons .era-card:nth-child(1) .era-card__main-image { object-position: center 14%; }
.landing-v2 #lessons .era-card:nth-child(2) .era-card__main-image { object-position: center 22%; }
.landing-v2 #lessons .era-card:nth-child(3) .era-card__main-image { object-position: center 32%; }
.landing-v2 #lessons .era-card:nth-child(4) .era-card__main-image { object-position: center 30%; }
.landing-v2 #lessons .era-card:nth-child(5) .era-card__main-image { object-position: center 44%; }
.landing-v2 #lessons .era-card:nth-child(6) .era-card__main-image { object-position: center 50%; }
.landing-v2 #lessons .era-card__body { padding: 1.4rem 1.45rem 1.6rem; }
.landing-v2 #lessons .era-card__body h3 { font-size: 1.3rem; line-height: 1.15; }
.landing-v2 #lessons .era-card__body p { margin-top: .6rem; font-size: .98rem; line-height: 1.62; }
.landing-v2 #lessons .era-carousel { position: relative; }
.landing-v2 #lessons .era-arrows {
    position: absolute;
    inset: 0 -1.25rem 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
    z-index: 2;
}
.landing-v2 #lessons .era-arrow { pointer-events: auto; flex-shrink: 0; }
.landing-v2 #lessons .era-arrow:focus-visible { outline: 3px solid var(--public-blue); outline-offset: 3px; }
@media (max-width: 767px) {
    .landing-v2 #lessons .era-arrows { inset-inline: -.6rem; }
    .landing-v2 #lessons .era-arrow { width: 2.75rem; height: 2.75rem; }
}

/* A roomier test drive with larger touch targets. */
.landing-v2 #quiz { min-height: 46rem; }
.landing-v2 #quiz .landing-section-head { margin-bottom: 2.75rem; }
.landing-v2 #quiz .landing-quiz-stage { padding: clamp(2rem, 4vw, 3rem); }
.landing-v2 #quiz .landing-quiz-question { font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.25; }
.landing-v2 #quiz .landing-quiz-option { min-height: 70px; padding: 1rem 1.2rem; font-size: 1rem; }
.landing-v2 #quiz .landing-quiz-progress { margin-block: 1.1rem 1.6rem; }

/* Teacher introduction gets enough room for the video and useful context. */
.landing-v2 .teacher-section { padding-block: clamp(6rem, 9vw, 8.5rem); }
.landing-v2 .teacher-section > div { gap: clamp(3rem, 7vw, 6rem) !important; }
.landing-v2 .landing-teacher-video-card { width: clamp(18rem, 24vw, 21rem) !important; height: clamp(28rem, 40vw, 32rem) !important; }
.landing-v2 .teacher-card { min-height: 31rem; justify-content: center; }
.teacher-card__eyebrow {
    align-self: flex-start;
    padding: .48rem .7rem;
    border-radius: .75rem;
    color: #073a73;
    background: #ffda38;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.teacher-card__note {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.22);
    color: #e8f5ff !important;
    font-size: .85rem !important;
    font-weight: 750 !important;
}
.teacher-card__note i { margin-top: .18rem; color: #ffda38; }

@media (min-width: 900px) {
    .landing-v2 #reviews .reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 74rem; }
}

/* Popular blog preview on the landing page. */
.landing-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.landing-blog-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--public-line);
    border-radius: 1.6rem;
    color: var(--public-ink);
    background: var(--public-surface);
    box-shadow: var(--public-shadow-soft);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.landing-blog-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb, var(--public-blue) 36%, var(--public-line)); box-shadow: var(--public-shadow); }
.landing-blog-card__media { position: relative; display: grid; place-items: center; height: 13rem; overflow: hidden; color: white; background: linear-gradient(135deg, #1578ff, #6a5ce7); }
.landing-blog-card__media { isolation: isolate; background: #17233b; }
.landing-blog-card__media .landing-blog-card__image-backdrop { z-index: 0; }
.landing-blog-card__media .landing-blog-card__image { z-index: 1; }
.landing-blog-card__media .landing-blog-card__rank { z-index: 2; }
.landing-blog-card__media > span:not(.landing-blog-card__rank) { font-size: 3rem; opacity: .5; }
.landing-blog-card__rank { position: absolute; left: .9rem; bottom: .8rem; padding: .4rem .6rem; border-radius: .65rem; color: white; background: rgba(15,23,42,.76); backdrop-filter: blur(10px); font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.landing-blog-card__body { flex: 1; display: flex; flex-direction: column; padding: 1.25rem; }
.landing-blog-card__meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: .7rem; color: var(--public-muted); font-size: .68rem; font-weight: 800; }
.landing-blog-card__meta i { color: var(--public-blue); }
.landing-blog-card h3 { color: var(--public-ink); font: 900 1.25rem/1.18 "Nunito", sans-serif; text-wrap: balance; }
.landing-blog-card__body > p { flex: 1; margin-block: .7rem 1rem; color: var(--public-muted); font-size: .88rem; font-weight: 650; line-height: 1.58; }
.landing-blog-card__link { display: inline-flex; align-items: center; gap: .5rem; color: var(--public-blue); font-size: .76rem; font-weight: 900; text-decoration: none; }
.landing-blog-card__link i { transition: transform 180ms ease; }
.landing-blog-card:hover .landing-blog-card__link i { transform: translateX(4px); }
.landing-blog-empty { display: flex; align-items: center; gap: 1rem; padding: 1.4rem; }
.landing-blog-empty > i { color: var(--public-blue); font-size: 2rem; }
.landing-blog-empty > div { flex: 1; }
.landing-blog-empty h3 { color: var(--public-ink); font-weight: 900; }
.landing-blog-empty p { color: var(--public-muted); }

/* Search + sorting controls for the blog archive. */
.blog-controls { flex: 1; display: grid; grid-template-columns: minmax(16rem, 1fr) auto; gap: .65rem; }
.blog-sort {
    position: relative;
    z-index: 12;
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 50px;
    padding: 0 .8rem;
    border: 1px solid var(--public-line);
    border-radius: .95rem;
    color: var(--public-blue);
    background: var(--public-surface-solid);
    box-shadow: var(--public-shadow-soft);
}
.blog-sort__lead { flex: 0 0 auto; }
.blog-sort__native { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; overflow: hidden; }
.blog-sort__trigger { display: flex; align-items: center; justify-content: space-between; gap: .9rem; min-width: 10.8rem; min-height: 48px; padding: 0 .15rem; border: 0; outline: 0; color: var(--public-ink); background: transparent; font-size: .78rem; font-weight: 900; cursor: pointer; }
.blog-sort__trigger:focus-visible { border-radius: .65rem; box-shadow: 0 0 0 3px color-mix(in srgb, var(--public-blue) 28%, transparent); }
.blog-sort__chevron { color: var(--public-muted); font-size: .68rem; transition: transform 180ms ease; }
.blog-sort.is-open .blog-sort__chevron { transform: rotate(180deg); }
.blog-sort__menu { position: absolute; top: calc(100% + .55rem); right: 0; width: max(100%, 14rem); padding: .45rem; border: 1px solid var(--public-line); border-radius: 1rem; background: color-mix(in srgb, var(--public-surface-solid) 94%, transparent); box-shadow: 0 20px 50px rgba(15, 42, 78, .2); backdrop-filter: blur(22px) saturate(160%); transform-origin: top right; animation: blog-sort-open 150ms ease-out; }
.blog-sort__menu[hidden] { display: none; }
.blog-sort__menu button { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; min-height: 42px; padding: .62rem .7rem; border: 0; border-radius: .7rem; color: var(--public-muted); background: transparent; font-size: .78rem; font-weight: 800; text-align: left; cursor: pointer; }
.blog-sort__menu button > span { display: flex; align-items: center; gap: .65rem; }
.blog-sort__menu button > span i { width: 1rem; color: var(--public-blue); text-align: center; }
.blog-sort__menu button > .fa-check { opacity: 0; color: var(--public-blue); font-size: .7rem; }
.blog-sort__menu button:hover,
.blog-sort__menu button:focus-visible { outline: 0; color: var(--public-ink); background: color-mix(in srgb, var(--public-blue) 9%, transparent); }
.blog-sort__menu button[aria-selected="true"] { color: var(--public-blue); background: color-mix(in srgb, var(--public-blue) 12%, transparent); }
.blog-sort__menu button[aria-selected="true"] > .fa-check { opacity: 1; }
[data-theme="dark"] .blog-sort__menu { background: rgba(15, 29, 52, .96); box-shadow: 0 22px 55px rgba(0, 0, 0, .55); }
@keyframes blog-sort-open { from { opacity: 0; transform: translateY(-5px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.blog-card__recommendation { display: none; align-items: center; gap: .35rem; color: #a36700; }
.blog-card.is-feature .blog-card__recommendation { display: inline-flex; }

/* Footer: a clear next step followed by calm, underline-free navigation. */
.marketing-footer__cta {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 3.5rem;
    padding: 1.4rem;
    border: 1px solid color-mix(in srgb, var(--public-blue) 22%, var(--public-line));
    border-radius: 1.6rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--public-blue) 11%, var(--public-surface)), color-mix(in srgb, #25b889 8%, var(--public-surface)));
    box-shadow: var(--public-shadow-soft);
}
.marketing-footer__cta-icon { width: 3.3rem; height: 3.3rem; display: grid; place-items: center; border-radius: 1rem; color: #fff; background: linear-gradient(135deg, #1578ff, #27b9ee); font-size: 1.2rem; }
.marketing-footer__cta-copy p { color: var(--public-blue); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.marketing-footer__cta-copy h2 { margin-block: .18rem; color: var(--public-ink); font: 900 1.35rem/1.15 "Nunito", sans-serif; }
.marketing-footer__cta-copy span { color: var(--public-muted); font-size: .8rem; font-weight: 650; }
.marketing-footer__cta-actions { display: flex; gap: .55rem; }
.marketing-footer__cta-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem .9rem; border: 1px solid var(--public-line); border-radius: .85rem; color: var(--public-ink); background: var(--public-surface-solid); font-size: .74rem; font-weight: 900; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.marketing-footer__cta-button--telegram { color: #fff; background: #229ed9; border-color: transparent; }
.marketing-footer__cta-button:hover { transform: translateY(-2px); box-shadow: var(--public-shadow-soft); }
.marketing-footer__link { position: relative; transition: color 180ms ease, transform 180ms ease; }
.marketing-footer__link:hover { transform: translateX(3px); }
[data-theme="dark"] .marketing-footer__link { text-decoration: none !important; }

@media (max-width: 1100px) {
    .marketing-page .marketing-nav-link { padding-inline: .52rem; font-size: .8rem; }
}

@media (max-width: 767px) {
    .landing-section-head--split { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .landing-v2 #lessons .era-card { width: min(88vw, 22rem); min-height: 31rem; }
    .landing-v2 #lessons .era-card__img { height: 16.5rem; }
    .landing-v2 #quiz { min-height: auto; }
    .landing-v2 #quiz .landing-quiz-stage { padding: 1.35rem; }
    .landing-v2 #quiz .landing-quiz-question { font-size: 1.35rem; }
    .landing-v2 #quiz .landing-quiz-option { min-height: 58px; }
    .landing-v2 .teacher-section { padding-block: 4.5rem; }
    .landing-v2 .landing-teacher-video-card { width: min(82vw, 19rem) !important; height: min(124vw, 28rem) !important; }
    .teacher-card__eyebrow { align-self: center; }
    .landing-blog-grid { grid-template-columns: 1fr; }
    .landing-blog-card__media { height: 12rem; }
    .blog-controls { grid-template-columns: 1fr; width: 100%; }
    .blog-sort { width: 100%; }
    .blog-sort__trigger { width: 100%; }
    .blog-sort__menu { left: 0; right: 0; width: 100%; }
    .marketing-footer__cta { grid-template-columns: 1fr; text-align: center; }
    .marketing-footer__cta-icon { margin-inline: auto; }
    .marketing-footer__cta-actions { flex-direction: column; }
    .marketing-footer__cta-button { width: 100%; }
}
@media (max-width: 639px) {
    .blog-card__media,
    .blog-card.is-feature .blog-card__media { height: min(62vw, 15rem); }
}

/* FAQ: a scrollable question list with a separate contact card. */
.landing-v2 #faq { overflow: clip; }
.landing-v2 #faq .faq-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.landing-v2 #faq .faq-questions { min-width: 0; padding: 1.4rem 1rem .9rem 1.4rem; border: 1px solid var(--public-line); border-radius: 1.75rem; background: var(--public-surface); box-shadow: var(--public-shadow-soft); }
.faq-questions__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin: 0 .5rem 1.15rem 0; }
.faq-questions__head h3 { color: var(--public-ink); font-weight: 900; font-size: 1.05rem; }
.faq-questions__head > span { color: var(--public-muted); font-size: .7rem; font-weight: 700; white-space: nowrap; }
.landing-v2 #faq .faq-scroll { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: .7rem; max-height: 23rem; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #8fbde6 transparent; scrollbar-gutter: stable; padding: .2rem .7rem .2rem .15rem; scroll-padding-block: .5rem; }
.landing-v2 #faq .faq-scroll .accordion-item { box-shadow: none; border-color: var(--public-line); border-radius: 1rem; }
.landing-v2 #faq .faq-scroll .accordion-item button { font-size: .9rem !important; line-height: 1.45; }
.faq-scroll::-webkit-scrollbar { width: 5px; }
.faq-scroll::-webkit-scrollbar-thumb { background: #8fbde6; border-radius: 8px; }
.faq-questions__hint { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1rem; font-size: .72rem; color: var(--public-muted); }
.landing-v2 #faq .faq-contact { padding: 1.75rem; border-radius: 1.75rem; border: 1px solid var(--public-line); background: linear-gradient(145deg, color-mix(in srgb, var(--public-surface) 90%, #bde8ff), var(--public-surface)); box-shadow: var(--public-shadow-soft); }
.faq-contact__icon { display: grid; place-items: center; width: 3.3rem; height: 3.3rem; font-size: 1.75rem; border: 1px solid var(--public-line); background: var(--public-surface); border-radius: 1rem; margin-bottom: 1.2rem; }
.faq-contact__eyebrow { font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--public-blue); }
.faq-contact h3 { margin-top: .4rem; font-weight: 900; font-size: 1.6rem; line-height: 1.2; color: var(--public-ink); }
.faq-contact > p { color: var(--public-muted); margin-top: .8rem; font-size: .9rem; line-height: 1.65; }
.faq-contact__links { display: grid; gap: .65rem; margin-top: 1.4rem; }
.faq-contact__link { display: flex; align-items: center; gap: .8rem; padding: .95rem 1rem; border: 1px solid var(--public-line); border-radius: 1rem; background: var(--public-surface); color: var(--public-ink); transition: border-color .2s, box-shadow .2s; }
.faq-contact__link > i:first-child { font-size: 1.3rem; }
.faq-contact__link > i:last-child { margin-left: auto; font-size: .8rem; opacity: .7; }
.faq-contact__link > span { font-size: .85rem; font-weight: 800; }
.faq-contact__link small { display: block; margin-top: .2rem; font-size: .68rem; font-weight: 500; opacity: .8; }
.faq-contact__link--primary { background: #087ccc; color: #fff; border-color: #087ccc; }
.faq-contact__link:hover { border-color: var(--public-blue); box-shadow: 0 4px 15px #168bff20; }
.faq-contact__link:focus-visible, .faq-scroll:focus-visible { outline: 3px solid var(--public-blue); outline-offset: 3px; }
@media (max-width: 767px) {
    .landing-v2 #faq .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .landing-v2 #faq .faq-questions { padding: 1.1rem .7rem .9rem 1rem; }
    .landing-v2 #faq .faq-scroll { max-height: 21rem; }
    .landing-v2 #faq .faq-contact { padding: 1.35rem; }
    .faq-questions__head h3 { font-size: .95rem; }
    .faq-questions__hint { font-size: .66rem; }
}

/* Mobile actions belong to the navigation dock, outside the reading area. */
.landing-dock-label { display:none; }
@media(max-width:767px) {
 .landing-platform .landing-floating-actions:empty { display:none; }
 .marketing-page .mk-dock { gap:.15rem; padding-inline:.35rem; }
 .marketing-page .mk-dock .landing-float-action { position:static; width:auto; height:auto; min-width:44px; border:0; box-shadow:none; background:none; backdrop-filter:none; transform:none; opacity:1; font-size:.68rem; }
 .marketing-page .mk-dock .landing-float-action--telegram { color:#0784bc; }
 .marketing-page .mk-dock .landing-float-action--top { color:var(--public-muted); }
 .marketing-page .mk-dock .landing-float-action::before,
 .marketing-page .mk-dock .landing-float-action__label { display:none; }
 .marketing-page .mk-dock .landing-dock-label { display:block; }
 .marketing-page .mk-dock__item { padding-inline:.2rem; }
}

@media(prefers-reduced-motion:no-preference) {
 .landing-float-action--top.is-launching > i { animation:scroll-top-launch .85s cubic-bezier(.4,0,.2,1) both; }
}
@keyframes scroll-top-launch {
 0% { transform:translateY(0) scale(1); opacity:1; }
 18% { transform:translateY(4px) scale(.9,1.08); opacity:1; }
 48% { transform:translateY(-30px) scale(.85,1.2); opacity:0; }
 49% { transform:translateY(14px) scale(.9); opacity:0; }
 100% { transform:translateY(0) scale(1); opacity:1; }
}

/* source: static/css/layers/shared/image-lightbox.css */
/* Єдиний повноекранний переглядач зображень для публічної частини й кабінету. */
.image-lightbox,
#image-modal.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(6px);
}

.image-lightbox.hidden { display: none !important; }

#image-modal.custom-modal.is-open,
#image-modal.custom-modal:not(.hidden) {
    background: rgba(0, 0, 0, 0.92) !important;
    overflow: hidden;
}

.image-modal-close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 10002;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 9999px;
    color: #fff;
    background: rgba(0, 0, 0, .45);
    cursor: pointer;
    pointer-events: auto;
}

.image-modal-close:hover { background: rgba(0, 0, 0, .65); }

.image-modal-stage {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 72rem);
    max-width: 100%;
    height: min(88vh, calc(100dvh - 4rem));
    padding: 1rem;
    overflow: hidden;
    touch-action: none;
}

.image-modal-toolbar {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 1rem;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(15, 23, 42, .82);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
    backdrop-filter: blur(14px);
}

.image-modal-toolbar button {
    min-width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    font-weight: 900;
    cursor: pointer;
}

.image-modal-toolbar button:hover,
.image-modal-toolbar button:focus-visible {
    background: rgba(28, 176, 246, .8);
    outline: 2px solid #fff;
}

.image-modal-toolbar .image-modal-zoom-value {
    min-width: 4.25rem;
    padding-inline: .65rem;
}

.image-modal-help {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 4.7rem;
    width: max-content;
    max-width: calc(100% - 2rem);
    transform: translateX(-50%);
    color: rgba(255, 255, 255, .78);
    font-size: .72rem;
    font-weight: 800;
    text-align: center;
    pointer-events: none;
}

#fullscreen-image,
.image-modal-img {
    max-width: 100%;
    max-height: 100%;
    border: 2px solid rgba(55, 65, 81, .5);
    border-radius: 1rem;
    object-fit: contain;
    box-shadow: 0 25px 50px rgba(0, 0, 0, .45);
    cursor: grab;
    user-select: none;
    -webkit-user-drag: none;
    transform-origin: center center;
    will-change: transform;
}

@media (max-width: 640px) {
    .image-modal-stage {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 4.5rem .5rem 5.5rem;
    }

    .image-modal-help { display: none; }
    .image-modal-toolbar { bottom: max(1rem, env(safe-area-inset-bottom)); }
}
