:root {
    --blue:#1748c6;
    --blue-dark:#103386;
    --ink:#172540;
    --muted:#637086;
    --line:#e1e7f0;
    --soft:#f5f8fd;
    --red:#e64b57;
    --radius:18px;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:100px;
}
body {
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:15px;
    line-height:1.65;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,select,textarea {
    font:inherit;
}
button,a {
    -webkit-tap-highlight-color:transparent;
}
a,button {
    transition:background .18s,color .18s,box-shadow .18s,transform .18s;
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
    outline:3px solid var(--blue);
    outline-offset:5px;
}
input,textarea,select {
    max-width:100%;
    padding:12px 15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--ink);
}
input[aria-invalid=true],textarea[aria-invalid=true] {
    border-color:var(--red);
}
[hidden] {
    display:none!important;
}
h1,h2,h3,p {
    margin-top:0;
}
h1,h2,h3 {
    text-wrap:balance;
    line-height:1.2;
    letter-spacing:-.035em;
}
h1 {
    font-size:clamp(2.35rem,4.2vw,3.75rem);
    font-weight:750;
}
h2 {
    font-size:clamp(1.8rem,2.6vw,2.5rem);
    font-weight:700;
}
h3 {
    font-size:1.25rem;
}
p {
    color:var(--muted);
}
.container {
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
}
.small {
    font-size:.78rem;
}
.muted {
    color:var(--muted);
}
.skip-link {
    position:fixed;
    top:-100px;
    left:20px;
    background:#fff;
    padding:12px;
    z-index:100;
}
.skip-link:focus {
    top:12px;
}
.site-header {
    border-bottom:1px solid var(--line);
    background:#fff;
    position:relative;
    z-index:10;
}
.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    min-height:88px;
    gap:16px;
}
.brand {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:1.43rem;
    font-weight:800;
    letter-spacing:-.045em;
    white-space:nowrap;
}
.brand img {
    object-fit:contain;
}
.brand-accent {
    color:var(--blue);
}
.navigation {
    display:flex;
    align-items:center;
    gap:27px;
    font-size:.85rem;
    font-weight:550;
}
.navigation>a:not(.button) {
    padding:30px 0;
    position:relative;
}
.navigation>a:hover,.navigation>a[aria-current=page]:not(.button) {
    color:var(--blue);
}
.navigation>a[aria-current=page]:not(.button):after {
    content:"";
    height:3px;
    position:absolute;
    bottom:17px;
    left:0;
    right:0;
    background:var(--blue);
    border-radius:4px;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    min-height:49px;
    padding:13px 23px;
    border:1px solid transparent;
    border-radius:9px;
    background:var(--blue);
    color:#fff;
    font-size:.88rem;
    font-weight:650;
    line-height:1.4;
}
.button:hover {
    background:var(--blue-dark);
    box-shadow:0 5px 15px #1748c61a;
}
.button-small {
    min-height:42px;
    padding:10px 17px;
}
.button-row {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}
.button-plain {
    background:transparent;
    color:var(--ink);
    padding-inline:12px;
}
.button-plain:hover {
    background:#e9effb;
}
.button-outline {
    background:#fff;
    color:var(--blue);
    border-color:#c8d6f5;
}
.button-outline:hover {
    background:#edf2ff;
}
.button-white {
    background:#fff;
    color:var(--blue);
}
.button-white:hover {
    background:#eaf0ff;
}
.button-muted {
    background:#e9edf5;
    color:#5a6780;
    cursor:default;
}
.button-muted:hover {
    background:#e9edf5;
    box-shadow:none;
}
.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--blue);
    font-size:.67rem;
    font-weight:750;
    letter-spacing:.13em;
    margin-bottom:19px;
}
.status-dot {
    width:7px;
    height:7px;
    background:var(--red);
    border-radius:50%;
}
.hero {
    background:linear-gradient(115deg,#f8faff 10%,#f0f5ff 100%);
    overflow:hidden;
}
.hero-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:65px;
    align-items:center;
    padding-block:76px 68px;
}
.hero h1 {
    margin-bottom:23px;
}
.hero h1>span {
    color:var(--blue);
}
.hero-description {
    max-width:490px;
    font-size:1rem;
    line-height:1.8;
    margin-bottom:27px;
}
.hero-note {
    margin:20px 0 3px;
    font-size:.8rem;
}
.hero-note>span {
    color:var(--blue);
    margin-right:7px;
}
.hero-copy>.small {
    margin-bottom:0;
}
.hero-visual {
    position:relative;
    padding:20px 0 45px;
    isolation:isolate;
}
.visual-orbit {
    position:absolute;
    border:1px solid #dce6fa;
    border-radius:50%;
    z-index:-1;
    width:510px;
    height:510px;
    top:-42px;
    left:-12px;
}
.orbit-two {
    width:410px;
    height:410px;
    left:40px;
    top:6px;
}
.learning-preview {
    background:#fff;
    border:1px solid #e0e7f4;
    border-radius:17px;
    box-shadow:0 22px 55px #24458512;
    transform:rotate(-2deg);
    overflow:hidden;
}
.preview-header {
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 22px;
    border-bottom:1px solid #edf0f6;
    font-size:.53rem;
    font-weight:700;
    letter-spacing:.09em;
    color:var(--muted);
}
.mini-brand {
    font-size:1.25rem;
    color:var(--blue);
    font-weight:800;
    letter-spacing:-.12em;
}
.mini-brand span {
    color:var(--red);
}
.preview-dot {
    margin-left:auto;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#dce5fa;
}
.preview-body {
    padding:26px;
}
.preview-title {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
}
.preview-title h2 {
    font-size:1.35rem;
    margin-top:7px;
}
.tile-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    flex-shrink:0;
    border-radius:12px;
    background:#edf3ff;
    color:var(--blue);
    font-size:1rem;
    font-weight:700;
}
.preview-progress {
    background:#f5f8fe;
    padding:18px;
    border-radius:11px;
    margin:5px 0 20px;
}
.preview-progress>div:first-child,.subject-progress>div {
    display:flex;
    justify-content:space-between;
    font-size:.76rem;
    gap:12px;
}
.preview-progress strong {
    color:var(--blue);
}
.progress-track {
    height:7px;
    background:#e1e8f7;
    border-radius:8px;
    margin:10px 0;
}
.progress-track span {
    display:block;
    background:var(--blue);
    height:100%;
    border-radius:inherit;
}
.progress-68 {
    width:68%;
}
.lesson {
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px 0;
    border-bottom:1px solid #eef1f7;
}
.lesson>div {
    flex:1;
}
.lesson strong {
    display:block;
    font-size:.72rem;
}
.lesson div>span {
    display:block;
    font-size:.63rem;
    color:var(--muted);
}
.lesson-icon {
    width:31px;
    height:31px;
    border-radius:9px;
    background:#eef2fc;
    color:var(--blue);
    text-align:center;
    line-height:31px;
}
.completed {
    color:#26836b;
    background:#eaf6f0;
}
.lesson-state {
    font-size:.6rem;
    color:#26836b;
}
.preview-action {
    display:flex;
    justify-content:space-between;
    background:var(--blue);
    color:#fff;
    padding:11px 14px;
    border-radius:7px;
    font-size:.72rem;
    margin-top:21px;
}
.floating-note {
    position:absolute;
    bottom:14px;
    right:-22px;
    display:flex;
    gap:12px;
    align-items:center;
    background:#fff;
    padding:17px 21px;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 10px 30px #18377510;
    transform:rotate(3deg);
}
.note-icon {
    display:grid;
    place-items:center;
    background:#fff0e7;
    color:#b85829;
    border-radius:50%;
    width:37px;
    height:37px;
    font-size:24px;
}
.floating-note strong {
    display:block;
    font-size:.83rem;
}
.floating-note div>span {
    display:block;
    font-size:.65rem;
    color:var(--muted);
}
.illustration-label {
    position:absolute;
    bottom:-27px;
    left:12px;
    font-size:.63rem;
    color:var(--muted);
}
.benefit-strip {
    border-block:1px solid var(--line);
    background:#fff;
}
.benefit-strip>.container {
    display:flex;
    justify-content:center;
    gap:80px;
    padding-block:19px;
    font-size:.8rem;
    color:#506078;
}
.benefit-strip span>span {
    color:var(--blue);
    font-size:1.15rem;
    margin-right:9px;
}
.section {
    padding-block:76px;
}
.section-heading {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:end;
    margin-bottom:30px;
}
.section-heading h2 {
    max-width:650px;
    margin-bottom:0;
}
.section-heading p {
    font-size:.87rem;
    margin:0;
    flex-shrink:0;
}
.section-heading .eyebrow,.center-heading .eyebrow {
    margin-bottom:13px;
}
.grid {
    display:grid;
    gap:23px;
}
.grid-three {
    grid-template-columns:repeat(3,1fr);
}
.grid-two {
    grid-template-columns:repeat(2,1fr);
}
.card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:29px;
}
.pathway-card {
    display:flex;
    flex-direction:column;
    transition:transform .18s,border-color .18s,box-shadow .18s;
}
.pathway-card:hover {
    border-color:#a9bff1;
    transform:translateY(-4px);
    box-shadow:0 12px 26px #2445850c;
}
.pathway-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:23px;
}
.arrow {
    color:#8794ac;
    font-size:1.3rem;
}
.pathway-card h3 {
    margin-bottom:8px;
}
.pathway-card p {
    font-size:.85rem;
}
.pathway-card .card-subtitle {
    font-size:.73rem;
    color:#5f6d82;
    margin-bottom:18px;
}
.text-link {
    color:var(--blue);
    font-weight:650;
    font-size:.83rem;
    display:inline-flex;
    align-items:center;
    gap:16px;
}
.text-link:hover {
    color:var(--blue-dark);
    text-decoration:underline;
    text-underline-offset:4px;
}
.pathway-card .text-link {
    margin-top:auto;
    padding-top:10px;
}
.soft-section {
    background:var(--soft);
    border-block:1px solid #edf1f8;
}
.center-heading {
    text-align:center;
    margin-bottom:39px;
}
.center-heading h2 {
    margin-bottom:13px;
}
.center-heading p {
    font-size:.92rem;
}
.steps {
    text-align:center;
    gap:50px;
}
.step-number {
    display:inline-grid;
    place-items:center;
    width:49px;
    height:49px;
    background:#e8efff;
    color:var(--blue);
    border-radius:50%;
    font-weight:700;
    font-size:.85rem;
    margin-bottom:22px;
}
.steps h3 {
    font-size:1.05rem;
}
.steps p {
    font-size:.87rem;
    max-width:275px;
    margin:0 auto;
}
.badge {
    display:inline-flex;
    border-radius:6px;
    padding:5px 10px;
    background:#edf2fc;
    color:#3a5b9b;
    font-size:.66rem;
    font-weight:650;
    white-space:nowrap;
}
.feature-card {
    padding:34px;
    border-radius:var(--radius);
    border:1px solid #dbe6fc;
    background:#f0f5ff;
}
.feature-card>.tile-icon {
    background:#fff;
    margin-bottom:23px;
}
.feature-card h3 {
    font-size:1.65rem;
    margin-bottom:15px;
}
.feature-card p {
    font-size:.91rem;
    max-width:440px;
}
.exam-card {
    background:#f8f6fc;
    border-color:#e8e3f3;
}
.exam-card>.tile-icon {
    color:#7554a6;
}
.feature-tags {
    display:flex;
    gap:10px;
    border-top:1px solid #dce4f2;
    margin-top:27px;
    padding-top:17px;
    color:#63718b;
    font-size:.7rem;
}
.feature-tags span+span:before {
    content:'·';
    margin-right:10px;
}
.progress-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:90px;
    padding-top:15px;
}
.progress-section>div>p {
    max-width:450px;
    font-size:.93rem;
}
.progress-example {
    box-shadow:0 12px 35px #24458506;
}
.example-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:26px;
}
.example-heading h3 {
    font-size:.95rem;
    margin:0;
}
.subject-progress {
    margin:17px 0;
}
.subject-progress strong {
    color:var(--blue);
    font-size:.73rem;
}
progress {
    display:block;
    width:100%;
    height:7px;
    margin-top:9px;
    border:0;
    border-radius:8px;
    overflow:hidden;
    background:#eaf0fa;
    accent-color:var(--blue);
}
progress::-webkit-progress-bar {
    background:#eaf0fa;
}
progress::-webkit-progress-value {
    background:var(--blue);
    border-radius:8px;
}
progress::-moz-progress-bar {
    background:var(--blue);
    border-radius:8px;
}
.progress-example>.small {
    margin:24px 0 0;
    font-size:.68rem;
}
.pricing-grid {
    max-width:830px;
    margin-inline:auto;
}
.price-card {
    padding:32px;
    display:flex;
    flex-direction:column;
}
.price-card h3 {
    font-size:1.5rem;
    margin:20px 0 15px;
}
.price-card>.badge {
    align-self:flex-start;
}
.price {
    color:var(--ink);
    font-size:2.15rem;
    font-weight:750;
    letter-spacing:-.04em;
    margin-bottom:12px;
    line-height:1.3;
}
.price span {
    font-size:.65rem;
    font-weight:400;
    letter-spacing:0;
    color:var(--muted);
}
.price-soon {
    font-size:1.9rem;
    min-height:45px;
}
.price-card>p:not(.price) {
    font-size:.85rem;
}
.premium {
    border-color:#b4c9fa;
    position:relative;
    box-shadow:inset 0 3px var(--blue);
}
.check-list {
    padding:0;
    list-style:none;
    margin:10px 0 29px;
    font-size:.84rem;
}
.check-list li {
    padding:7px 0;
}
.check-list li:before {
    content:'✓';
    color:var(--blue);
    margin-right:10px;
}
.price-card>.button {
    margin-top:auto;
}
.section-note {
    text-align:center;
    font-size:.73rem;
    margin:22px 0 0;
}
.faq-section {
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:80px;
}
.faq-section>div>p {
    font-size:.9rem;
}
.faq-list details {
    border-bottom:1px solid var(--line);
}
.faq-list details:first-child {
    border-top:1px solid var(--line);
}
summary {
    position:relative;
    cursor:pointer;
    font-size:.9rem;
    font-weight:600;
    list-style:none;
    padding:21px 35px 21px 0;
}
summary::-webkit-details-marker {
    display:none;
}
summary:after {
    content:'+';
    position:absolute;
    right:5px;
    color:var(--blue);
    font-size:1.3rem;
    top:15px;
    font-weight:400;
}
details[open] summary:after {
    content:'−';
}
summary:hover {
    color:var(--blue);
}
details p {
    font-size:.85rem;
    padding-right:25px;
    margin-bottom:23px;
}
.final-cta {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    padding:46px 48px;
    background:var(--blue);
    border-radius:20px;
    margin-bottom:76px;
    background-image:radial-gradient(ellipse at 100% 100%,#3866d8,transparent 65%);
}
.final-cta .eyebrow {
    color:#d5e1ff;
    font-size:.61rem;
}
.final-cta h2 {
    color:#fff;
    font-size:2rem;
    margin-bottom:12px;
}
.final-cta p {
    color:#d5e1ff;
    margin-bottom:0;
    font-size:.86rem;
}
.final-cta .button {
    flex-shrink:0;
}
.site-footer {
    background:#f8faff;
    border-top:1px solid var(--line);
    padding:49px 0 22px;
}
.footer-grid {
    display:grid;
    grid-template-columns:1.6fr 1fr 1fr 1fr;
    gap:35px;
    padding-bottom:35px;
}
.footer-intro p {
    font-size:.8rem;
    margin:15px 0 10px;
}
.footer-intro .small {
    color:#5f6d82;
}
.footer-grid h2 {
    font-size:.8rem;
    letter-spacing:0;
    margin:10px 0 19px;
}
.footer-grid>div>a:not(.brand) {
    display:block;
    font-size:.78rem;
    color:var(--muted);
    margin:9px 0;
}
.site-footer a:hover {
    color:var(--blue);
}
.footer-bottom {
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding-top:23px;
    color:#5f6d82;
    font-size:.69rem;
    gap:20px;
}
.footer-bottom nav {
    display:flex;
    gap:23px;
    flex-wrap:wrap;
}
.independence {
    font-size:.65rem;
    margin-top:17px;
    margin-bottom:0;
    color:#5f6d82;
}
.menu-toggle {
    border:1px solid var(--line);
    background:#fff;
    border-radius:8px;
    padding:8px 12px;
    color:var(--ink);
    align-items:center;
    gap:8px;
    min-height:44px;
    cursor:pointer;
    display:none;
}
.public-page {
    padding-block:27px 85px;
    min-height:65vh;
}
.breadcrumb {
    display:flex;
    gap:12px;
    font-size:.76rem;
    color:var(--muted);
    margin-bottom:48px;
    flex-wrap:wrap;
}
.breadcrumb a:hover {
    color:var(--blue);
}
.page-heading {
    max-width:800px;
    margin-bottom:38px;
}
.page-heading h1 {
    font-size:clamp(2.2rem,4vw,3.25rem);
    margin-bottom:20px;
}
.page-heading p {
    font-size:1.05rem;
}
.availability {
    max-width:780px;
    background:var(--soft);
}
.availability h2 {
    font-size:1.5rem;
    margin:22px 0 15px;
}
.availability p {
    max-width:660px;
}
.availability .button-row {
    margin-top:27px;
}
.public-page>.faq-list {
    max-width:830px;
}
.public-page>.pricing-grid {
    margin-left:0;
}
.alert {
    padding:14px 24px;
    margin:15px auto;
    max-width:1180px;
    border-radius:8px;
}
.alert-success {
    background:#eaf6f0;
    color:#236a52;
}
.alert-error {
    background:#ffebed;
    color:#a82938;
}
@media(min-width:1000px) {
    .menu-toggle {
        display:none!important;
    }
}
@media(max-width:1100px) {
    .navigation {
        gap:18px;
    }
    .hero-grid {
        gap:30px;
    }
    .floating-note {
        right:0;
    }
    .benefit-strip>.container {
        gap:35px;
    }
    .section-heading {
        align-items:start;
    }
    .section-heading p {
        flex-shrink:1;
    }
    .progress-section {
        gap:40px;
    }
    .faq-section {
        gap:40px;
    }
}
@media(max-width:999px) {
    .header-inner {
        min-height:76px;
        padding-block:13px;
    }
    .menu-toggle {
        display:inline-flex;
    }
    .navigation {
        width:100%;
        flex-wrap:wrap;
        gap:8px 24px;
        padding-bottom:8px;
    }
    .navigation.is-enhanced {
        display:none;
    }
    .navigation.is-enhanced.is-open {
        display:flex;
    }
    .navigation>a:not(.button) {
        padding:12px 0;
    }
    .navigation>a[aria-current=page]:not(.button):after {
        bottom:3px;
    }
    .hero-grid {
        padding-block:55px;
        gap:35px;
    }
    .hero h1 {
        font-size:2.8rem;
    }
    .hero .button-row {
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }
    .hero-visual {
        padding-top:0;
    }
    .preview-body {
        padding:19px;
    }
    .preview-title h2 {
        font-size:1.1rem;
    }
    .preview-header {
        padding-inline:18px;
    }
    .lesson-state {
        display:none;
    }
    .hero-description {
        font-size:.93rem;
    }
    .section {
        padding-block:57px;
    }
    .section-heading {
        flex-direction:column;
        gap:15px;
    }
    .section-heading p br {
        display:none;
    }
    .grid {
        gap:16px;
    }
    .card {
        padding:23px;
    }
    .pathway-card h3 {
        font-size:1.1rem;
    }
    .steps {
        gap:22px;
    }
    .feature-card {
        padding:27px;
    }
    .progress-section {
        padding-top:0;
    }
    .final-cta {
        padding:35px;
        margin-bottom:55px;
    }
    .final-cta h2 {
        font-size:1.6rem;
    }
    .footer-grid {
        gap:20px;
    }
}
@media(max-width:700px) {
    .container {
        width:calc(100% - 36px);
    }
    .brand {
        font-size:1.3rem;
    }
    .brand img {
        width:33px;
        height:38px;
    }
    .navigation {
        align-items:stretch;
        flex-direction:column;
        gap:0;
    }
    .navigation a:not(.button) {
        padding:12px 8px;
    }
    .navigation>a[aria-current=page]:not(.button):after {
        display:none;
    }
    .navigation>a[aria-current=page]:not(.button) {
        background:#edf2ff;
        border-radius:7px;
    }
    .navigation .button {
        margin-top:10px;
    }
    .hero-grid {
        grid-template-columns:1fr;
        padding-block:40px 49px;
        gap:32px;
    }
    .hero h1 {
        font-size:clamp(2.3rem,8vw,3.5rem);
    }
    .hero-description {
        max-width:520px;
    }
    .hero .button-row {
        flex-direction:row;
        gap:8px;
    }
    .hero-visual {
        width:min(440px,100%);
        margin-inline:auto;
        padding:12px 9px 45px;
    }
    .preview-body {
        padding:22px;
    }
    .preview-title h2 {
        font-size:1.2rem;
    }
    .floating-note {
        right:0;
        bottom:17px;
    }
    .illustration-label {
        bottom:-15px;
    }
    .visual-orbit {
        width:360px;
        height:360px;
        top:-10px;
        left:0;
    }
    .orbit-two {
        width:290px;
        height:290px;
        left:34px;
        top:24px;
    }
    .benefit-strip>.container {
        justify-content:flex-start;
        gap:10px;
        padding-block:17px;
        flex-direction:column;
        font-size:.77rem;
    }
    .section {
        padding-block:45px;
    }
    .section-heading {
        margin-bottom:24px;
    }
    .grid-three,.grid-two {
        grid-template-columns:1fr;
    }
    .pathway-card {
        padding:25px;
    }
    .pathway-card h3 {
        font-size:1.3rem;
    }
    .pathway-top {
        margin-bottom:17px;
    }
    .pathway-card .card-subtitle {
        margin-bottom:11px;
    }
    .steps {
        gap:28px;
        text-align:left;
    }
    .steps article {
        position:relative;
        padding-left:69px;
        min-height:60px;
    }
    .step-number {
        position:absolute;
        left:0;
        top:0;
    }
    .steps h3 {
        margin-bottom:9px;
    }
    .steps p {
        max-width:none;
    }
    .center-heading {
        text-align:left;
        margin-bottom:29px;
    }
    .feature-card h3 {
        font-size:1.5rem;
    }
    .progress-section,.faq-section {
        grid-template-columns:1fr;
        gap:25px;
    }
    .progress-section {
        padding-top:0;
    }
    .progress-section h2 br,.faq-section h2 br {
        display:none;
    }
    .price-card {
        padding:28px;
    }
    .section-note {
        text-align:left;
    }
    .final-cta {
        flex-direction:column;
        align-items:flex-start;
        padding:31px 25px;
        gap:24px;
        margin-bottom:45px;
    }
    .final-cta h2 {
        font-size:1.8rem;
    }
    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:25px;
    }
    .footer-intro {
        grid-column:1/-1;
    }
    .footer-bottom {
        flex-direction:column;
        gap:13px;
    }
    .footer-bottom nav {
        gap:12px 20px;
    }
    .footer-bottom a {
        padding-block:5px;
    }
    .public-page {
        padding-bottom:50px;
    }
    .breadcrumb {
        margin-bottom:32px;
    }
    .page-heading h1 {
        font-size:2.2rem;
    }
    .eyebrow {
        font-size:.61rem;
    }
    .availability .button-row {
        gap:20px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*:before,*:after {
        transition:none!important;
    }
    .pathway-card:hover {
        transform:none;
    }
}

/* Public pathway and civic examination information. */
.learning-navigation {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:8px;
    margin-bottom:38px;
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:12px;
}
.learning-navigation a {
    padding:10px 18px;
    min-height:44px;
    border-radius:8px;
    font-size:.83rem;
    font-weight:600;
    color:var(--muted);
}
.learning-navigation a:hover {
    background:#e7edfb;
    color:var(--blue);
}
.learning-navigation a[aria-current="page"] {
    background:var(--blue);
    color:#fff;
}
.information-page .breadcrumb {
    margin-bottom:25px;
}
.pathway-heading {
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    gap:65px;
    align-items:center;
    margin-bottom:35px;
}
.pathway-heading .page-heading {
    margin-bottom:0;
}
.level-overview {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:29px 22px;
    border:1px solid #d7e2fb;
    border-radius:var(--radius);
    background:#f0f5ff;
    color:var(--blue);
}
.level-overview>span {
    font-size:.8rem;
}
.level-overview strong {
    font-size:4.5rem;
    line-height:1.2;
    letter-spacing:-.06em;
    margin-block:6px;
}
.level-overview a {
    font-size:.72rem;
    margin-top:18px;
    text-decoration:underline;
    text-underline-offset:4px;
}
.information-note {
    padding:22px 25px;
    border-left:3px solid var(--blue);
    border-radius:0 10px 10px 0;
    background:var(--soft);
    margin-top:27px;
}
.information-note strong {
    font-size:.9rem;
}
.information-note p {
    font-size:.86rem;
    margin:7px 0 0;
    max-width:1000px;
}
.information-section {
    margin-block:53px;
}
.information-section .eyebrow {
    margin-bottom:13px;
}
.information-section>h2 {
    margin-bottom:25px;
}
.reading-width {
    max-width:850px;
}
.journey-list {
    padding:0;
    margin:30px 0 0;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.journey-list li {
    display:flex;
    gap:18px;
    padding:25px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.journey-list li:last-child {
    grid-column:1/-1;
    background:var(--soft);
}
.journey-number {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex-shrink:0;
    background:#edf3ff;
    color:var(--blue);
    font-weight:700;
    font-size:.8rem;
    border-radius:50%;
}
.journey-list h3 {
    font-size:1.05rem;
    margin:5px 0 10px;
}
.journey-list p {
    font-size:.85rem;
    margin:0;
}
.language-section {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:40px;
    align-items:center;
    padding-block:35px;
    border-block:1px solid var(--line);
}
.language-section .card {
    background:var(--soft);
}
.language-section .text-link {
    line-height:1.6;
}
.exam-facts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin:28px 0;
}
.exam-facts>div {
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:24px;
    background:var(--soft);
}
.exam-facts dt {
    font-size:.8rem;
    color:var(--muted);
    font-weight:600;
}
.exam-facts dd {
    margin:8px 0 0;
    color:var(--blue);
    font-size:2.7rem;
    font-weight:750;
    line-height:1.2;
    letter-spacing:-.05em;
}
.exam-facts small {
    font-size:1.25rem;
}
.exam-facts dd>span {
    display:block;
    font-size:.74rem;
    font-weight:400;
    letter-spacing:0;
    line-height:1.6;
    color:var(--muted);
    margin-top:12px;
}
.question-count {
    display:block;
    color:var(--blue);
    font-size:2.8rem;
    font-weight:750;
    line-height:1.2;
    margin-bottom:18px;
}
.question-types .exam-card .question-count {
    color:#7554a6;
}
.question-types p {
    margin-bottom:0;
}
.theme-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
}
.theme-card {
    grid-column:span 2;
}
.theme-card:nth-last-child(-n+2) {
    grid-column:span 3;
}
.theme-card h3 {
    margin:22px 0 13px;
    font-size:1.1rem;
}
.theme-card p {
    font-size:.86rem;
    margin-bottom:0;
}
.resource-title {
    margin:23px 0 15px;
}
.preparation-cta {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:35px;
    align-items:center;
    padding:35px;
    background:#eef4ff;
    border:1px solid #d7e2fb;
    border-radius:var(--radius);
}
.preparation-cta h2 {
    font-size:1.8rem;
    margin-bottom:15px;
}
.preparation-cta .eyebrow {
    margin-bottom:15px;
}
.preparation-cta p {
    margin-bottom:0;
}
.preparation-cta .small {
    margin-top:15px;
}
.source-note {
    margin-top:32px;
    padding-top:22px;
    border-top:1px solid var(--line);
    font-size:.76rem;
    color:var(--muted);
}
.source-note p {
    margin-top:8px;
}
.source-note a {
    color:var(--blue);
    text-decoration:underline;
    text-underline-offset:3px;
}
.source-note ul {
    padding-left:18px;
}
.source-note li {
    margin-block:7px;
}
@media(max-width:999px) {
    .pathway-heading {
        gap:30px;
        grid-template-columns:minmax(0,1fr) 210px;
    }
    .journey-list li {
        padding:20px;
        gap:12px;
    }
    .theme-card,.theme-card:nth-last-child(-n+2) {
        grid-column:span 3;
    }
    .theme-card:last-child {
        grid-column:1/-1;
    }
    .preparation-cta {
        grid-template-columns:1fr;
        gap:25px;
    }
}
@media(max-width:700px) {
    .learning-navigation {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:5px;
        margin-bottom:30px;
    }
    .learning-navigation a {
        padding:10px;
        display:flex;
        align-items:center;
        font-size:.76rem;
    }
    .pathway-heading,.language-section,.journey-list,.exam-facts,.theme-grid {
        grid-template-columns:1fr;
    }
    .level-overview {
        align-items:flex-start;
        padding:22px;
    }
    .level-overview strong {
        font-size:3.5rem;
    }
    .information-section {
        margin-block:38px;
    }
    .language-section {
        gap:16px;
        padding-block:25px;
    }
    .language-section h2 {
        margin-bottom:15px;
    }
    .theme-card,.theme-card:nth-last-child(-n+2) {
        grid-column:auto;
    }
    .exam-facts {
        gap:12px;
    }
    .exam-facts>div {
        padding:21px;
    }
    .exam-facts dd {
        font-size:2.25rem;
    }
    .information-note,.preparation-cta {
        padding:23px;
    }
    .preparation-cta .button-row {
        align-items:stretch;
        flex-direction:column;
    }
}

/* Session-based preparation engine. */
.visually-hidden {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}
.preparation-page { max-width:1100px; }
.preparation-setup-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:25px; align-items:start; }
.preparation-page h2 { font-size:1.5rem; }
.preparation-page form>label,.question-jump label { display:block; font-weight:600; margin:18px 0 8px; }
.preparation-page select { width:100%; margin-bottom:22px; }
.preparation-page fieldset { border:0; padding:0; margin:20px 0; min-width:0; }
.preparation-page legend { font-weight:650; margin-bottom:9px; }
.check-option { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:.88rem; cursor:pointer; }
.check-option input { flex-shrink:0; width:18px; height:18px; accent-color:var(--blue); }
.setup-launch { background:var(--soft); }
.setup-launch h2 { margin-top:23px; }
.setup-launch form>.button { width:100%; }
.setup-launch>p.small { margin-top:22px; }
.available-count strong { display:block; font-size:3rem; line-height:1.3; color:var(--blue); }
.availability-message { padding:12px; border-radius:8px; font-size:.85rem; }
.test-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.test-toolbar p { margin:12px 0 0; }
.test-timer { padding:12px 20px; border:1px solid var(--line); border-radius:12px; background:var(--soft); text-align:center; flex-shrink:0; }
.test-timer span { display:block; font-size:.72rem; color:var(--muted); }
.test-timer strong { font-size:1.7rem; color:var(--blue); font-variant-numeric:tabular-nums; }
.timer-warning { background:#fff0f2; border-color:#e5a6af; }
.timer-warning strong { color:#a82938; }
.test-progress { margin:22px 0 30px; }
.question-card h1 { font-size:clamp(1.45rem,2.8vw,2rem); margin:22px 0 30px; line-height:1.4; }
.question-meta { display:flex; flex-wrap:wrap; gap:8px 20px; color:var(--muted); font-size:.76rem; }
.answer-option { display:flex; align-items:center; gap:13px; margin-bottom:13px; border:1px solid var(--line); border-radius:11px; padding:17px; cursor:pointer; }
.answer-option:hover { background:var(--soft); }
.answer-option:has(input:checked) { border-color:var(--blue); background:#edf3ff; }
.answer-option:has(input:focus-visible) { outline:3px solid var(--blue); outline-offset:3px; }
.answer-option input { accent-color:var(--blue); width:18px; height:18px; flex-shrink:0; }
.answer-letter { display:grid; place-items:center; min-width:28px; height:28px; background:var(--soft); border-radius:6px; color:var(--muted); font-size:.8rem; }
.answer-correct,.answer-correct:has(input:checked) { background:#eff9f4; border-color:#458269; }
.answer-option:has(input:disabled) { cursor:default; }
.answer-feedback { padding:23px; border-radius:12px; margin:25px 0; border:1px solid var(--line); }
.feedback-correct { background:#eff9f4; }
.feedback-incorrect { background:#fff4ed; }
.answer-feedback h2 { font-size:1.2rem; }
.explanation { white-space:pre-line; }
.question-jump,.finish-confirm,.abandon-confirm { margin-top:25px; border-top:1px solid var(--line); }
.question-jump select { max-width:300px; display:block; }
.abandon-confirm { max-width:650px; }
.button:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.result-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; background:var(--soft); }
.result-summary span { display:block; font-size:.8rem; color:var(--muted); }
.result-summary strong { display:block; color:var(--blue); font-size:3rem; line-height:1.4; }
.result-summary small { font-size:1.2rem; }
.result-summary .result-outcome { font-size:1.65rem; padding-top:15px; }
.result-summary .result-duration { font-size:1.4rem; padding-top:18px; }
.result-themes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.result-themes h3 { font-size:.92rem; }
.result-actions { display:flex; flex-wrap:wrap; gap:12px; }
.result-detail { border-bottom:1px solid var(--line); }
.result-detail>div { padding:0 15px 20px; }
.result-mark { display:inline-block; font-size:.7rem; padding:3px 7px; border-radius:6px; margin-right:5px; }
.mark-correct { background:#eaf6f0; color:#236a52; }
.mark-incorrect { background:#ffebed; color:#a82938; }
@media(max-width:700px) {
    .preparation-setup-grid,.result-summary { grid-template-columns:1fr; }
    .result-themes { grid-template-columns:1fr; }
    .test-toolbar { gap:10px; }
    .test-toolbar .badge { white-space:normal; }
    .test-timer { padding:10px 13px; }
    .question-card { padding:21px; }
    .answer-option { gap:9px; padding:13px 10px; font-size:.9rem; }
    .answer-letter { display:none; }
    .question-card .button-row { align-items:stretch; flex-direction:column; }
    .result-actions { flex-direction:column; }
    .result-actions .button { width:100%; }
    .result-summary { gap:15px; }
    .result-summary .result-outcome,.result-summary .result-duration { padding-top:5px; }
}

/* Accounts and progression, shared by free and Premium members. */
.auth-page { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:65px; align-items:start; padding-top:65px; }
.auth-intro h1 { font-size:clamp(2rem,4vw,3.2rem); }
.auth-card,.profile-form { padding:32px; }
.auth-card label,.profile-form label,.pathway-switch label { display:block; font-weight:600; font-size:.85rem; margin:15px 0 7px; }
.auth-card input,.auth-card select,.profile-form input,.profile-form select { width:100%; }
.auth-card .button,.profile-form .button { margin-top:24px; }
.auth-card .button { width:100%; }
.auth-card>p,.auth-card>a { display:block; font-size:.85rem; margin-top:22px; }
.auth-card a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.auth-card .small { margin:9px 0; }
.auth-card .alert { margin-top:0; }
.name-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.account-navigation { display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--soft); margin-bottom:40px; }
.account-navigation>a,.account-navigation button { display:block; padding:12px 16px; font-size:.82rem; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.account-navigation [aria-current=page] { color:#fff; background:var(--blue); }
.account-navigation>a:hover,.account-navigation button:hover { color:var(--blue); background:#e8efff; }
.account-navigation form { margin-left:auto; }
.account-heading { display:flex; align-items:center; justify-content:space-between; gap:35px; margin-bottom:35px; }
.account-heading h1 { font-size:clamp(2rem,4vw,3.2rem); }
.pathway-switch { min-width:280px; max-width:360px; }
.pathway-switch select { width:100%; }
.pathway-switch .button { margin-top:10px; }
.dashboard-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dashboard-metrics .card { background:var(--soft); }
.dashboard-metrics span,.dashboard-metrics small { display:block; font-size:.78rem; color:var(--muted); }
.dashboard-metrics strong { display:block; font-size:2.8rem; line-height:1.4; color:var(--blue); margin-block:8px; }
.dashboard-metrics strong small { display:inline; font-size:1.2rem; }
.dashboard-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.dashboard-shortcuts .card { display:flex; justify-content:space-between; align-items:center; color:var(--blue); font-weight:600; gap:12px; }
.dashboard-shortcuts .card:hover { border-color:var(--blue); background:var(--soft); }
.history-list { border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.history-row { display:grid; grid-template-columns:minmax(0,1fr) 90px 80px 20px; gap:20px; align-items:center; padding:20px 25px; border-bottom:1px solid var(--line); }
.history-row:last-child { border-bottom:0; }
.history-row:hover { background:var(--soft); }
.history-row>div>span { display:block; color:var(--muted); font-size:.76rem; margin-top:5px; }
.account-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:18px; margin-top:25px; }
.profile-form { max-width:700px; }
.empty-state { padding:40px 25px; margin-top:25px; }
.collection-launch { display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--soft); margin-bottom:25px; }
.collection-launch p { font-size:.84rem; margin-bottom:0; }
.collection-launch .button { white-space:nowrap; }
.collection-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.collection-list h2 { font-size:1.18rem; line-height:1.5; margin-top:20px; }
.bookmark-form { margin-top:18px; }
.visitor-account { margin:25px 0; background:var(--soft); }
.visitor-account .text-link { margin:15px 0 0; display:block; }
@media(max-width:999px) {
    .auth-page { gap:30px; }
    .account-heading { align-items:flex-start; }
    .dashboard-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
    .auth-page { grid-template-columns:1fr; padding-top:35px; gap:20px; }
    .auth-card,.profile-form { padding:23px; }
    .name-fields { grid-template-columns:1fr; gap:0; }
    .account-navigation { gap:4px; }
    .account-navigation>a,.account-navigation button { padding:10px; font-size:.76rem; }
    .account-navigation form { margin-left:0; }
    .account-heading,.collection-launch { flex-direction:column; align-items:stretch; gap:15px; }
    .pathway-switch { min-width:0; max-width:none; }
    .dashboard-metrics,.collection-list,.dashboard-shortcuts { grid-template-columns:1fr; }
    .dashboard-metrics { gap:12px; }
    .history-row { grid-template-columns:minmax(0,1fr) 50px; gap:10px; padding:18px; }
    .history-row>span:nth-last-child(2) { font-size:.75rem; color:var(--muted); }
    .collection-launch .button { white-space:normal; width:100%; }
    .visitor-account>.button { width:100%; }
}

/* One-time Premium offers and account purchase history. */
.premium-pricing-grid { max-width: none; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.price-card form { margin-top: auto; }
.price-card form .button { width: 100%; }
.purchase-table { overflow-x: auto; }
.purchase-table table { width: 100%; border-collapse: collapse; text-align: left; }
.purchase-table th, .purchase-table td { padding: 1rem; border-bottom: 1px solid var(--border, #e2e8f0); vertical-align: top; }
@media (max-width: 850px) { .premium-pricing-grid { grid-template-columns: 1fr; } .purchase-table th, .purchase-table td { padding: .7rem; font-size: .875rem; } }

.email-verification-card { max-width: 700px; margin-bottom: 24px; }

.legal-page{max-width:900px;overflow-wrap:anywhere}.legal-page h1{font-size:clamp(2rem,5vw,3rem)}.legal-page section{margin-top:32px}.legal-page h2{font-size:1.5rem;margin-bottom:16px}.legal-page li{margin:12px 0}.legal-page ul{padding-left:24px}.legal-page dt{font-weight:700;margin-top:18px}.legal-page dd{margin:6px 0 16px}.legal-navigation{display:flex;flex-wrap:wrap;gap:12px 20px;margin:24px 0}.legal-placeholder{background:#fff6e7;color:#684913;padding:4px;border-radius:4px}.legal-page blockquote{border-left:3px solid var(--blue);padding:10px 20px;background:#f5f7fb}.price-card .purchase-consent{display:block;font-size:.85rem;margin:16px 0;line-height:1.5}.purchase-consent input{width:auto;margin-right:8px}.footer-bottom nav{flex-wrap:wrap}.site-footer a{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.brand picture,.admin-brand picture{display:flex;flex:none}

.contact-card label{display:block;font-weight:600;margin:18px 0 7px}.contact-card input:not([type=hidden]),.contact-card textarea{width:100%;max-width:100%}.contact-card textarea{resize:vertical;min-height:160px}.contact-card .button{margin-top:16px}

/* Saved pathway milestones share the existing cards, buttons and native disclosures. */
.journey-summary{margin:24px 0}.journey-summary progress{width:100%;height:12px;accent-color:var(--blue,#1748c6)}
.journey-summary .section-heading{margin-bottom:12px}.journey-percent{font-size:2rem;white-space:nowrap;color:#1748c6}
.journey-overview,.journey-preparation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.journey-overview span,.journey-preparation span{display:block;font-size:.85rem;color:#5f6d82}.journey-overview strong{display:block;margin-top:5px}
.journey-steps{display:grid;gap:12px}.journey-step{padding:0;overflow:hidden;scroll-margin-top:110px}
.journey-step summary{display:flex;align-items:center;gap:14px;padding:22px;cursor:pointer;list-style:none}.journey-step summary::-webkit-details-marker{display:none}
.journey-step summary::after{content:'+';font-size:1.4rem;color:#1748c6}.journey-step[open] summary::after{content:'−'}
.journey-step summary h3{font-size:1.05rem;margin:0;flex:1}.journey-step .journey-number{flex-shrink:0}
.journey-step-content{padding:0 24px 24px}.journey-checklist{padding-left:22px}.journey-checklist li{margin:10px 0}
.journey-status{white-space:nowrap}.status-completed{background:#e6f4ec;color:#22623b}.status-in_progress{background:#eaf0ff;color:#1748c6}.status-todo{background:#f1f3f7;color:#526078}
.journey-preparation{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 16px;margin:20px 0;background:#f8faff;border-radius:12px}.journey-preparation strong{font-size:1.4rem}
.journey-form{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid #e0e7f0}.journey-form select{width:auto;min-width:140px}
.journey-step summary:focus-visible{outline:3px solid #1748c6;outline-offset:-4px}
@media(max-width:600px){.journey-step summary{padding:16px;gap:10px;flex-wrap:wrap}.journey-step summary h3{min-width:calc(100% - 64px)}.journey-step summary::after{margin-left:auto}.journey-step-content{padding:0 16px 20px}.journey-overview,.journey-preparation{grid-template-columns:1fr;gap:0}.journey-form{align-items:stretch}.journey-form label{width:100%}.journey-form select,.journey-form button{flex:1}.journey-percent{font-size:1.6rem}}

.consent-banner{margin:24px auto;width:calc(100% - 36px);max-width:1100px;border:2px solid #1748c6}.consent-banner h2{font-size:1.2rem}.consent-banner .button-row{flex-wrap:wrap}

.consent-categories{border:0;padding:12px 0;margin:0 0 15px}.consent-categories label{display:flex;align-items:center;gap:12px;margin:15px 0}.consent-categories input{width:20px;height:20px;flex:0 0 20px}.privacy-actions{display:grid;gap:20px;margin:24px 0}.privacy-actions form{margin:0}.privacy-actions label{display:block;margin:12px 0}.privacy-actions input[type=checkbox]{width:auto;margin-right:8px}

/* Horizontal tables remain scrollable with the keyboard on small screens. */
.purchase-table:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }

.consent-dialog { width:min(640px, calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; overflow-y:auto; border:1px solid var(--line); padding:24px; }
.consent-dialog:not([open]) { display:none; }
.consent-dialog::backdrop { background:rgb(15 23 42 / 55%); }
.consent-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.consent-dialog-heading h2 { margin:0; }
.consent-dialog p { margin:16px 0; }
.consent-feedback:not([hidden]) { position:fixed; bottom:16px; left:16px; right:16px; z-index:100; width:fit-content; max-width:calc(100% - 32px); padding:12px 18px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 4px 20px #0002; }
.consent-banner[hidden] { display:none; }
@media(max-width:480px) { .consent-dialog { padding:18px; } .consent-dialog-heading { align-items:flex-start; } .consent-dialog .button-row { flex-direction:column; align-items:stretch; } }

.premium-pricing-grid.selected-pack-grid { max-width: 660px; grid-template-columns: minmax(0, 1fr); }
.test-audio-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.test-audio-controls .button{font-size:.85rem;white-space:normal}.test-audio-controls p{flex-basis:100%;margin:0}.test-audio-controls [aria-pressed=true]{background:#e7f4ed;color:#175b36;border-color:#79ab90}.test-audio-controls button:disabled{opacity:.55;cursor:default}
