:root {
    --li-orange: #E56932;
    --li-orange-dark: #A8441E;
    --li-ink: #202124;
    --li-muted: #5F6368;
    --li-line: #E7E4E1;
    --li-soft: #F8F7F5;
    --li-paper: #FFFFFF;
    --li-focus: #155EEF;
    --li-container: 1220px;
    --li-gutter: 32px;
    --li-radius: 10px;
    --li-radius-small: 8px;
    --li-header-top-height: 72px;
    --li-header-nav-height: 54px;
}

html {
    scroll-padding-top: calc(var(--li-header-top-height) + var(--li-header-nav-height) + 20px);
}

body {
    color: var(--li-ink);
    background: var(--li-paper);
    font-size: 19px;
    line-height: 1.6;
}

.container {
    width: min(var(--li-container), calc(100% - (2 * var(--li-gutter))));
}

.button,
.button-small {
    border-radius: var(--li-radius-small);
    font-weight: 650;
}

.free-content-intro {
    max-width: 720px;
}

.start-here-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    margin-top: 12px;
    color: var(--li-orange-dark);
    font-size: 16.5px;
    font-weight: 650;
    text-decoration: none;
}

.start-here-link svg,
.topic-card-arrow {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.start-here-link:hover,
.start-here-link:focus-visible {
    color: var(--li-ink);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: .22em;
}

.free-content-areas .topic-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.free-content-areas .topic-card {
    display: flex;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 18px;
    border: 1px solid var(--li-line);
    border-radius: var(--li-radius-small);
    background: #fff;
    box-shadow: none;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.28;
    text-decoration: none;
}

.free-content-areas .topic-card:hover,
.free-content-areas .topic-card:focus-visible {
    color: var(--li-orange-dark);
    border-color: #D9C8C0;
    box-shadow: 0 8px 22px rgba(32, 33, 36, .055);
    transform: translateY(-1px);
}

.free-content-areas .topic-card-arrow {
    color: var(--li-orange);
}

.hero-highlights {
    border-bottom: 1px solid var(--li-line);
    background: #fff;
}

.highlight-grid {
    min-height: 112px;
}

.highlight-item {
    gap: 16px;
    padding-block: 22px;
}

.highlight-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid #EBC7B6;
    border-radius: 50%;
    color: var(--li-orange-dark);
    background: #FFFDFC;
}

.highlight-icon svg {
    width: 23px;
    height: 23px;
}

.highlight-title {
    font-size: 18px;
    font-weight: 680;
}

#exercises {
    border-top: 1px solid var(--li-line);
    background: #fff;
}

#learn-with-a-teacher {
    border-top: 1px solid #E7D7CF;
    border-bottom: 1px solid #E7D7CF;
    background: #F7F1ED;
    color: var(--li-ink);
}

#learn-with-a-teacher .section-lead {
    color: var(--li-muted);
}

#learn-with-a-teacher .button-dark {
    border-color: var(--li-orange-dark);
    background: var(--li-orange-dark);
    color: #fff;
}

#learn-with-a-teacher .button-dark:hover,
#learn-with-a-teacher .button-dark:focus-visible {
    border-color: #873719;
    background: #873719;
    color: #fff;
}

/* Latest Articles only: all six cards are visible without disclosure. */
.latest-articles-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}
.latest-articles-grid > .feature-card {
    padding: 1rem;
    min-height: 0;
}
.latest-articles-grid .card-image {
    margin: -1rem -1rem .85rem;
}
.latest-articles-grid .card-title {
    margin: .6rem 0;
    font-size: 1.3rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.latest-articles-grid > .feature-card > p {
    margin: 0 0 1rem;
    font-size: 1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.latest-articles-grid .text-link {
    font-size: 1rem;
}
@media (min-width: 40rem) {
    .latest-articles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
    .latest-articles-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.section-shell h2 {
    font-family: var(--li-font-serif);
    font-size: 34px;
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: -.015em;
}

.hub-header {
    max-width: 860px;
    margin-bottom: 42px;
}

.hub-header h1 {
    max-width: 20ch;
    font-family: var(--li-font-serif);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.018em;
    text-wrap: balance;
}

.hub-header .section-lead {
    max-width: 68ch;
    color: var(--li-muted);
    font-size: 21px;
    line-height: 1.55;
}

.hub-articles .card-grid {
    gap: 18px;
}

.hub-articles .feature-card {
    min-height: 0;
    padding: 24px;
    border-color: var(--li-line);
    border-radius: var(--li-radius-small);
    box-shadow: none;
}

.hub-articles .feature-card:hover {
    border-color: #D9C8C0;
    box-shadow: 0 10px 26px rgba(32, 33, 36, .055);
}

.hub-articles .card-title {
    font-family: var(--li-font-serif);
    font-size: clamp(1.45rem, 2vw, 1.7rem);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -.015em;
    text-wrap: pretty;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.hub-articles .feature-card > p {
    display: block;
    overflow: visible;
    color: var(--li-muted);
    line-height: 1.55;
    text-wrap: pretty;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.hub-pagination {
    margin: 36px 0 48px;
}

.hub-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hub-pagination a,
.hub-pagination span {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--li-line);
    border-radius: var(--li-radius-small);
    background: #fff;
    color: var(--li-ink);
    font-size: 16px;
    text-decoration: none;
}

.hub-pagination .current {
    border-color: var(--li-orange-dark);
    background: var(--li-orange-dark);
    color: #fff;
}

.hub-pagination a:hover,
.hub-pagination a:focus-visible {
    border-color: var(--li-orange);
    color: var(--li-orange-dark);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 0;
    border-bottom: 1px solid var(--li-line);
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 1px 0 rgba(32, 33, 36, .03);
    backdrop-filter: blur(8px);
}

.header-topbar {
    min-height: var(--li-header-top-height);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
}

.site-brand {
    display: inline-flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    line-height: 1;
    text-decoration: none;
}

.brand-wordmark {
    display: inline-flex;
    align-items: baseline;
    color: var(--li-ink);
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 780;
    letter-spacing: -.03em;
    white-space: nowrap;
}

.brand-optical-gap {
    display: inline-flex;
    margin-left: .055em;
}

.brand-optical-gap + .brand-optical-gap {
    margin-left: .015em;
}

.brand-accent {
    color: var(--li-orange);
}

.site-tagline {
    color: var(--li-muted);
    font-size: .68rem;
    font-weight: 560;
    letter-spacing: .025em;
    line-height: 1.2;
}

.persona-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.persona-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 126px;
    min-height: 46px;
    padding: 0 18px;
    border: 1.5px solid var(--li-orange-dark);
    border-radius: var(--li-radius-small);
    background: #fff;
    color: var(--li-orange-dark);
    font-size: 16px;
    font-weight: 650;
    text-decoration: none;
}

.persona-nav a:hover,
.persona-nav a:focus-visible {
    border-color: var(--li-orange-dark);
    color: #fff;
    background: var(--li-orange-dark);
}

/* Persona entries are intentionally rendered as secondary CTAs so they do not read as plain navigation text. */
.persona-nav a {
    box-shadow: 0 1px 0 rgba(32, 33, 36, .03);
}

.header-cta {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 46px;
    padding-inline: 22px;
    border-color: var(--li-orange-dark);
    background: var(--li-orange-dark);
    color: #fff;
    font-size: 16.5px;
    white-space: nowrap;
}

.header-nav-row {
    border-top: 1px solid #F0EEEC;
    background: #fff;
}

.primary-nav {
    position: static;
    display: block;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

.primary-nav .primary-menu-list {
    display: flex;
    width: 100%;
    min-height: var(--li-header-nav-height);
    align-items: stretch;
    justify-content: center;
    gap: clamp(18px, 2.2vw, 30px);
}

.primary-menu-list > .menu-item {
    display: flex;
    align-items: stretch;
}

.primary-menu-list > .menu-item > a {
    display: inline-flex;
    min-height: var(--li-header-nav-height);
    align-items: center;
    padding: 0 10px;
    border-radius: 0;
    color: var(--li-ink);
    font-size: 17px;
    font-weight: 590;
    line-height: 1.2;
    text-decoration: none;
    text-underline-offset: .28em;
}

.primary-menu-list > .menu-item > a:hover,
.primary-menu-list > .menu-item > a:focus-visible {
    color: var(--li-orange-dark);
    background: transparent;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--li-orange);
}

.menu-toggle,
.mobile-menu-secondary,
.mobile-booking-cta {
    display: none;
}

.article-taxonomy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin-top: 14px;
}

.article-header,
.page-header {
    max-width: none;
}

.article-header h1,
.page-header h1 {
    max-width: none;
    text-wrap: pretty;
}

.page-header h1 {
    font-family: var(--li-font-serif);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.018em;
}

.article-header h1 {
    font-family: var(--li-font-serif);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.10;
    letter-spacing: -.018em;
}

.breadcrumbs {
    margin-bottom: 1.75rem;
    font-size: 16px;
}

/* Neutralise legacy Blogger heading styling without touching article copy or hierarchy. */
.article-content h2[style] {
    color: var(--li-ink) !important;
    font-family: var(--li-font-serif) !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
}

.article-content h3[style] {
    color: var(--li-ink) !important;
    font-family: var(--li-font-serif) !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1.24 !important;
    letter-spacing: -.012em !important;
}

/* Imported Blogger headings sometimes carry styling on nested spans rather than the heading itself. */
.article-content h2 > span[style],
.article-content h3 > span[style] {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
}

/* Consistent in-article media system. Preserve semantic placement; standardise visual treatment. */
.article-content figure {
    width: min(100%, 720px);
    max-width: 720px;
    margin: 2rem auto;
}

.article-content figure img {
    width: 100%;
    height: auto;
}

/* Principal photos and illustrations use the narrower editorial measure. */
.postid-49 .article-content figure,
.postid-103 .article-content figure,
.postid-107 .article-content figure {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
}

/* Post 51 source is only 256×256: never upscale it until a higher-resolution replacement is approved. */
.postid-51 .article-content figure {
    width: min(100%, 256px) !important;
    max-width: 256px !important;
}

.article-toc {
    padding: 14px 16px;
    border-color: #E6DED9;
    background: #FBFAF9;
}

.article-toc h2 {
    font-size: 16px;
    font-weight: 700;
}

/* Related is already a sibling of the article inside the page container.
   Match that container; keep the reading column and TOC unchanged. */
.single-content > .related-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    margin-top: clamp(3rem, 6vw, 4.5rem);
    padding-top: 2rem;
}

.related-content .section-heading-row {
    margin-bottom: 18px;
}

.related-content .card-grid {
    gap: 18px;
}

.related-content .feature-card {
    min-height: 0;
    padding: 22px;
    border-radius: var(--li-radius-small);
    box-shadow: none;
}

.related-content .card-title {
    font-family: var(--li-font-serif);
    font-size: clamp(1.35rem, 1.8vw, 1.58rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.012em;
}

@media (min-width: 72rem) {
    .article-layout.has-toc {
        grid-template-columns: 216px minmax(0, 1fr);
        gap: 36px;
    }

    .article-toc {
        top: calc(var(--li-header-top-height) + var(--li-header-nav-height) + 24px);
        max-height: calc(100vh - var(--li-header-top-height) - var(--li-header-nav-height) - 48px);
        max-height: calc(100dvh - var(--li-header-top-height) - var(--li-header-nav-height) - 48px);
    }
}

.site-footer {
    padding-block: 38px 16px;
    border-top: 1px solid var(--li-line);
    background: var(--li-soft);
}

.footer-grid {
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 1.4fr);
    align-items: start;
    gap: 32px;
}

.footer-brand {
    margin: 0;
}

.footer-navigation .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px 24px;
}

.footer-navigation .menu a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    color: var(--li-ink);
    font-size: 16px;
    line-height: 1.35;
}

.footer-navigation .menu a:hover,
.footer-navigation .menu a:focus-visible {
    color: var(--li-orange-dark);
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 20px;
    margin-top: 18px;
    padding-top: 12px;
}

.footer-legal-navigation .menu {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-legal-navigation .menu a {
    color: var(--li-muted);
    font-size: 14.5px;
    line-height: 1.4;
}

.footer-legal-navigation .menu a:hover,
.footer-legal-navigation .menu a:focus-visible {
    color: var(--li-orange-dark);
}

.footer-bottom small {
    font-size: 14.5px;
}

@media (max-width: 63.99rem) and (min-width: 48rem) {
    :root {
        --li-gutter: 26px;
        --li-header-top-height: 72px;
        --li-header-nav-height: 0px;
    }

    html {
        scroll-padding-top: 94px;
    }

    body.menu-open {
        overflow: hidden;
    }

    .site-header {
        backdrop-filter: none;
    }

    .header-topbar {
        display: flex;
        min-height: 72px;
        gap: 16px;
    }

    .site-brand {
        flex: 1 1 auto;
    }

    .persona-nav,
    .header-cta {
        display: none;
    }

    .menu-toggle {
        position: relative;
        z-index: 1002;
        display: inline-grid;
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        margin-left: auto;
        place-items: center;
        border: 1px solid var(--li-line);
        border-radius: var(--li-radius-small);
        background: #fff;
        color: var(--li-ink);
        cursor: pointer;
    }

    .menu-toggle-icon {
        display: grid;
        width: 20px;
        gap: 4px;
    }

    .menu-toggle-icon span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .header-nav-row {
        border-top: 0;
    }

    .header-nav-row > .container {
        width: 100%;
    }

    .primary-nav {
        position: fixed;
        z-index: 1001;
        inset: 72px 0 0;
        display: none;
        height: auto;
        max-height: calc(100dvh - 72px);
        padding: 18px 32px 32px;
        overflow-y: auto;
        border-top: 1px solid var(--li-line);
        background: #fff;
        box-shadow: 0 18px 44px rgba(32, 33, 36, .12);
    }

    .primary-nav.is-open {
        display: block;
    }

    .primary-nav .primary-menu-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        justify-content: stretch;
        gap: 0;
    }

    .primary-menu-list > .menu-item {
        display: block;
        border-bottom: 1px solid var(--li-line);
    }

    .primary-menu-list > .menu-item > a {
        display: flex;
        min-height: 54px;
        align-items: center;
        padding: 10px 0;
        font-size: 18px;
        font-weight: 610;
    }

    .mobile-menu-secondary {
        display: grid;
        gap: 4px;
        margin-top: 18px;
        padding-top: 14px;
        border-top: 1px solid var(--li-line);
    }

    .mobile-menu-secondary > a:not(.button) {
        display: flex;
        min-height: 50px;
        align-items: center;
        color: var(--li-ink);
        font-size: 17px;
        font-weight: 620;
        text-decoration: none;
    }

    .mobile-booking-cta {
        display: inline-flex;
        width: 100%;
        margin-top: 12px;
    }

    .section-shell h2 {
        font-size: 32px;
    }

    .hub-header h1 {
        font-size: 42px;
    }

    .article-header h1,
    .page-header h1 {
        font-size: 44px;
    }

    .article-content h2 {
        font-size: 30px;
    }

    .article-content h3 {
        font-size: 24px;
    }
}

@media (max-width: 47.99rem) {
    :root {
        --li-gutter: 22px;
        --li-header-top-height: 68px;
        --li-header-nav-height: 0px;
    }

    html {
        scroll-padding-top: 88px;
    }

    body.menu-open {
        overflow: hidden;
    }

    .container {
        width: min(var(--li-container), calc(100% - 44px));
    }

    .free-content-areas .topic-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .free-content-areas .topic-card {
        min-height: 52px;
        padding: 12px 2px;
        border: 0;
        border-bottom: 1px solid var(--li-line);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-size: 18px;
    }

    .free-content-areas .topic-card:hover,
    .free-content-areas .topic-card:focus-visible {
        border-color: var(--li-line);
        box-shadow: none;
        transform: none;
    }

    .section-shell h2 {
        font-size: 30px;
        line-height: 1.18;
    }

    .hub-header {
        margin-bottom: 34px;
    }

    .hub-header h1 {
        font-size: 36px;
        line-height: 1.10;
    }

    .hub-header .section-lead {
        font-size: 20px;
        line-height: 1.55;
    }

    .hub-articles .feature-card {
        padding: 20px;
    }

    .hub-articles .card-title {
        font-size: 26px;
        line-height: 1.18;
    }

    .site-header {
        min-height: 68px;
        backdrop-filter: none;
    }

    .header-topbar {
        min-height: 68px;
        display: flex;
        gap: 10px;
    }

    .site-brand {
        flex: 1 1 auto;
        order: 1;
        overflow: hidden;
    }

    .brand-wordmark {
        max-width: 100%;
        font-size: clamp(1.12rem, 5vw, 1.42rem);
    }

    .site-tagline {
        font-size: .6rem;
    }

    .persona-nav,
    .header-cta {
        display: none;
    }

    .menu-toggle {
        position: relative;
        z-index: 1002;
        order: 2;
        display: inline-grid;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin-left: auto;
        place-items: center;
        border: 1px solid var(--li-line);
        border-radius: var(--li-radius-small);
        background: #fff;
        color: var(--li-ink);
        cursor: pointer;
    }

    .menu-toggle-icon {
        display: grid;
        width: 20px;
        gap: 4px;
    }

    .menu-toggle-icon span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .header-nav-row {
        border-top: 0;
    }

    .header-nav-row > .container {
        width: 100%;
    }

    .primary-nav {
        position: fixed;
        z-index: 1001;
        inset: 68px 0 0;
        display: none;
        height: auto;
        max-height: calc(100vh - 68px);
        max-height: calc(100dvh - 68px);
        padding: 16px 22px 28px;
        overflow-y: auto;
        border-top: 1px solid var(--li-line);
        background: #fff;
        box-shadow: 0 18px 44px rgba(32, 33, 36, .12);
    }

    .primary-nav.is-open {
        display: block;
    }

    .primary-nav .primary-menu-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        justify-content: stretch;
        gap: 0;
    }

    .primary-menu-list > .menu-item {
        display: block;
        border-bottom: 1px solid var(--li-line);
    }

    .primary-menu-list > .menu-item > a {
        display: flex;
        min-height: 52px;
        align-items: center;
        padding: 10px 0;
        font-size: 18px;
        font-weight: 610;
    }

    .mobile-menu-secondary {
        display: grid;
        gap: 4px;
        margin-top: 18px;
        padding-top: 14px;
        border-top: 1px solid var(--li-line);
    }

    .mobile-menu-secondary > a:not(.button) {
        display: flex;
        min-height: 48px;
        align-items: center;
        color: var(--li-ink);
        font-size: 17px;
        font-weight: 620;
        text-decoration: none;
    }

    .mobile-booking-cta {
        display: inline-flex;
        width: 100%;
        margin-top: 12px;
    }

    .article-header,
    .page-header {
        max-width: none;
    }

    .article-header h1,
    .page-header h1 {
        max-width: none;
        text-wrap: pretty;
    }

    .article-header h1,
    .page-header h1 {
        font-size: 36px;
        line-height: 1.10;
    }

    .article-content h2,
    .article-content h2[style] {
        font-size: 28px !important;
        line-height: 1.20 !important;
    }

    .article-content h3,
    .article-content h3[style] {
        font-size: 23px !important;
        line-height: 1.24 !important;
    }

    .site-footer {
        padding-block: 36px 16px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer-navigation .menu {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-navigation .menu a {
        min-height: 44px;
        border-bottom: 1px solid var(--li-line);
    }

    .footer-bottom {
        margin-top: 20px;
        padding-top: 12px;
    }
}

/* Mobile intrinsic-size containment: prevent real content from widening the viewport. */
@media (max-width: 47.99rem) {
    .header-topbar,
    .header-topbar > *,
    .single-content,
    .article,
    .article-layout,
    .article-content,
    .article-content .article-lead {
        min-width: 0;
        max-width: 100%;
    }

    .site-brand {
        flex: 1 1 0;
        min-width: 0;
        max-width: calc(100% - 54px);
        overflow: hidden;
    }

    .brand-wordmark,
    .site-tagline {
        max-width: 100%;
    }

    .article-content p,
    .article-content h2,
    .article-content h3,
    .article-content a,
    .article-content .article-lead {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

/* User-facing HTML sitemap. */
.sitemap-page {
    max-width: 980px;
}

.sitemap-section {
    padding: 28px 0;
    border-top: 1px solid var(--li-line);
}

.sitemap-section > h2 {
    margin-top: 0;
}

.sitemap-link-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
    margin: 0;
    padding-left: 1.2rem;
}

.sitemap-article-groups {
    display: grid;
    gap: 28px;
}

.sitemap-article-group h3 {
    margin-bottom: 12px;
    font-family: var(--li-font-serif);
    font-size: 1.35rem;
    font-weight: 600;
}

@media (max-width: 700px) {
    .sitemap-link-list {
        grid-template-columns: 1fr;
    }
}

/* Start Here — guided A1 entry path. */
.start-path {
    margin-top: 28px;
}

.start-path__heading {
    margin-bottom: 22px;
}

.start-path__list {
    display: grid;
    gap: 14px;
}

.start-step {
    display: grid;
    grid-template-columns: minmax(92px, .24fr) minmax(0, .8fr) minmax(0, 1.4fr) auto;
    align-items: start;
    gap: 12px 24px;
    padding: 22px 0;
    border-top: 1px solid var(--li-line);
}

.start-step:last-child {
    border-bottom: 1px solid var(--li-line);
}

.start-step .eyebrow {
    margin: .2rem 0 0;
}

.start-step h3 {
    margin: 0;
    font-family: var(--li-font-serif);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 600;
    line-height: 1.2;
}

.start-step > p:not(.eyebrow) {
    margin: 0;
    color: var(--li-muted);
    line-height: 1.55;
}

.start-step__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 150px;
}

.start-explore {
    margin-top: 48px;
}

.start-explore > div:first-child {
    margin-bottom: 18px;
}

@media (max-width: 900px) {
    .start-step {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .start-step > p:not(.eyebrow),
    .start-step__actions {
        grid-column: 2;
    }

    .start-step__actions {
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .start-step {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 20px 0;
    }

    .start-step > p:not(.eyebrow),
    .start-step__actions {
        grid-column: 1;
    }

    .start-step__actions {
        margin-top: 4px;
    }
}

/* Dedicated practice-only exercise experience. */
.exercise-area-jump {
    margin-bottom: 40px;
}

.exercise-topic-groups {
    display: grid;
    gap: 48px;
}

.exercise-topic-group {
    scroll-margin-top: 120px;
}

.exercise-topic-group__header {
    margin-bottom: 18px;
}

.exercise-topic-group__header h2 {
    margin: 0;
    font-family: var(--li-font-serif);
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.015em;
}

.exercise-topic-card {
    min-height: 0;
}

.exercise-topic-card .article-taxonomy,
.exercise-practice-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.exercise-topic-card .text-link {
    margin-top: auto;
}

.exercise-practice-page {
    max-width: 1040px;
}

.exercise-practice-header {
    max-width: 820px;
    margin-bottom: 20px;
}

.exercise-practice-header h1 {
    max-width: 900px;
}

.exercise-practice-source-link {
    margin: 0 0 24px;
}

.exercise-practice-content {
    max-width: 780px;
}

.exercise-practice-content .lio-practice {
    margin-top: 0;
}

.exercise-practice-footer-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    max-width: 780px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--li-line);
}

@media (max-width: 700px) {
    .exercise-area-jump {
        margin-bottom: 32px;
    }

    .exercise-topic-groups {
        gap: 36px;
    }

    .exercise-practice-footer-nav {
        align-items: stretch;
    }

    .exercise-practice-footer-nav .button {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .menu-toggle-icon span {
        transition: none;
    }
}

/* Blended Language Learning — approved editorial landing, page 243 only. */
.page-id-243 .content-area {
    width: min(var(--li-container), calc(100% - (2 * var(--li-gutter))));
}

.page-id-243 .post-243,
.page-id-243 .post-243 .article-content,
.page-id-243 .lio-bll-landing,
.page-id-243 .lio-bll-landing > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
}

.page-id-243 .post-243 .article-content {
    font-size: 18px;
    line-height: 1.62;
}

.page-id-243 .lio-bll-landing {
    --lio-bll-book: #9F3329;
    --lio-bll-soft: #F7F1ED;
    --lio-bll-dark: #262729;
}

.page-id-243 .lio-bll-hero,
.page-id-243 .lio-bll-section {
    margin: 0;
    padding: 64px 0;
}

.page-id-243 .lio-bll-hero {
    box-sizing: border-box;
    padding-top: 50px;
    padding-inline: clamp(28px, 4vw, 54px);
}

.page-id-243 .lio-bll-hero-grid {
    margin: 0;
}

.page-id-243 .lio-bll-hero-grid > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
    align-items: center;
    gap: clamp(26px, 3.2vw, 44px);
    width: 100%;
    max-width: none;
}

.page-id-243 .lio-bll-hero-grid > .wp-block-group__inner-container:has(.lio-bll-cover-column:empty) {
    grid-template-columns: minmax(0, 760px);
}

.page-id-243 .lio-bll-hero-copy,
.page-id-243 .lio-bll-cover-column {
    min-width: 0;
}

.page-id-243 .lio-bll-hero .eyebrow {
    margin: 0 0 16px;
    color: var(--li-orange-dark);
    font-size: 14px;
    font-weight: 760;
    letter-spacing: .14em;
}

.page-id-243 .lio-bll-title {
    max-width: 16ch;
    margin: 0 0 14px;
    font-family: var(--li-font-serif);
    font-size: clamp(40px, 4.1vw, 58px);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.035em;
    text-wrap: balance;
    white-space: normal;
}

.page-id-243 .lio-bll-subtitle {
    max-width: 30ch;
    margin: 0 0 22px;
    color: #54433E;
    font-family: var(--li-font-serif);
    font-size: clamp(23px, 2.4vw, 28px);
    line-height: 1.34;
}

.page-id-243 .lio-bll-author {
    margin: 0 0 22px;
    font-size: 17px;
}

.page-id-243 .lio-bll-hero .section-lead {
    max-width: 720px;
    margin: 0 0 18px;
    color: #4E5256;
    font-size: 21px;
    line-height: 1.55;
}

.page-id-243 .lio-bll-transfer {
    max-width: 720px;
    margin: 20px 0 0;
    padding-left: 18px;
    border-left: 3px solid var(--li-orange);
    color: var(--li-muted);
}

.page-id-243 .lio-bll-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
}

.page-id-243 .lio-bll-button {
    margin: 0;
}

.page-id-243 .lio-bll-button > a,
.page-id-243 .lio-bll-button > span {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 11px 21px;
    border: 1px solid var(--li-orange-dark);
    border-radius: var(--li-radius-small);
    font-size: 17px;
    font-weight: 680;
    line-height: 1.2;
    text-decoration: none;
}

.page-id-243 .lio-bll-button--primary > a,
.page-id-243 .lio-bll-button--primary > span {
    background: var(--li-orange-dark);
    color: #fff;
}

.page-id-243 .lio-bll-button--secondary > a {
    background: #fff;
    color: var(--li-orange-dark);
}

.page-id-243 .lio-bll-button:not(.is-disabled) > a:hover,
.page-id-243 .lio-bll-button:not(.is-disabled) > a:focus-visible {
    border-color: #873719;
    background: #873719;
    color: #fff;
}

.page-id-243 .lio-bll-button.is-disabled > span {
    cursor: not-allowed;
    opacity: .72;
}

.page-id-243 .lio-bll-cover-column {
    display: flex;
    justify-content: center;
}

.page-id-243 .lio-bll-cover-column figure,
.page-id-243 .lio-bll-cover-column .wp-block-image {
    width: min(340px, 100%);
    margin: 0;
}

.page-id-243 .lio-bll-cover-column img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
    box-shadow: 0 22px 48px rgba(64, 29, 18, .18);
}

.page-id-243 .lio-bll-section {
    border-top: 1px solid var(--li-line);
}

.page-id-243 .lio-bll-section > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
}

.page-id-243 .lio-bll-section h2 {
    max-width: none;
    margin: 0 0 22px;
    font-family: var(--li-font-serif);
    font-size: clamp(34px, 4vw, 44px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -.025em;
    text-wrap: pretty;
}

.page-id-243 .lio-bll-section h3 {
    font-family: var(--li-font-serif);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.page-id-243 .lio-bll-intro-section > .wp-block-group__inner-container {
    display: block;
    max-width: 900px;
    margin-inline: auto;
}

.page-id-243 .lio-bll-intro-section p {
    max-width: 860px;
}

.page-id-243 .lio-bll-en-title {
    margin: 28px 0 10px;
    color: #5F4942;
    font-family: var(--li-font-serif);
    font-size: clamp(21px, 2.2vw, 25px);
    font-weight: 600;
    line-height: 1.25;
}

.page-id-243 .lio-bll-en-title + p {
    margin-top: 0;
}

.page-id-243 .lio-bll-en-title--card {
    margin: 22px 0 8px;
    font-size: 19px;
}

.page-id-243 .lio-bll-structure .lio-bll-en-title {
    color: #F4E9E4;
}

.page-id-243 .lio-bll-amplifying > .wp-block-group__inner-container > p {
    max-width: 840px;
}

.page-id-243 .lio-bll-dimensions,
.page-id-243 .lio-bll-sample-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.page-id-243 .lio-bll-dimensions > .wp-block-column,
.page-id-243 .lio-bll-card {
    height: 100%;
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--li-line);
    border-radius: var(--li-radius);
    background: #fff;
}

.page-id-243 .lio-bll-dimensions h3,
.page-id-243 .lio-bll-card h3 {
    margin: 0 0 10px;
}

.page-id-243 .lio-bll-dimensions p,
.page-id-243 .lio-bll-card p {
    margin-bottom: 0;
    color: var(--li-muted);
}

.page-id-243 .lio-bll-structure {
    padding-inline: clamp(26px, 4vw, 52px);
    border-top: 0;
    border-radius: var(--li-radius);
    background: var(--lio-bll-dark);
    color: #fff;
}

.page-id-243 .lio-bll-structure h2 {
    color: #fff;
}

.page-id-243 .lio-bll-structure > .wp-block-group__inner-container > p {
    max-width: 820px;
    color: #D8D9DA;
}

.page-id-243 .lio-bll-structure ul {
    columns: 2;
    column-gap: 52px;
    margin: 30px 0 0;
    padding-left: 1.2rem;
}

.page-id-243 .lio-bll-structure li {
    break-inside: avoid;
    margin-bottom: 12px;
    color: #ECECED;
}

.page-id-243 .lio-bll-look-inside {
    scroll-margin-top: 150px;
    padding-inline: clamp(30px, 4vw, 52px);
}

.page-id-243 .lio-bll-look-inside h2 {
    max-width: none;
    margin-bottom: 28px;
}

.page-id-243 .lio-bll-look-inside .lio-bll-button {
    margin-top: 30px;
}

.page-id-243 .lio-bll-sample-action {
    margin-top: 30px;
}

.page-id-243 .lio-bll-inline-cta {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    margin-top: 24px;
    padding: 10px 18px;
    border: 1px solid var(--li-orange-dark);
    border-radius: var(--li-radius-small);
    background: #fff;
    color: var(--li-orange-dark);
    font-weight: 680;
    line-height: 1.2;
    text-decoration: none;
}

.page-id-243 .lio-bll-inline-cta:hover,
.page-id-243 .lio-bll-inline-cta:focus-visible {
    border-color: #873719;
    background: #873719;
    color: #fff;
}

.page-id-243 .lio-bll-details {
    padding-inline: clamp(26px, 4vw, 52px);
    border-radius: var(--li-radius);
    background: var(--lio-bll-soft);
}

.page-id-243 .lio-bll-details .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 52px;
}

.page-id-243 .lio-bll-details p {
    margin: 0;
    padding: 14px 0;
    border-bottom: 1px solid #DDD4CF;
}

.page-id-243 .lio-bll-final {
    margin: 0 0 72px;
    padding: clamp(44px, 6vw, 68px) clamp(26px, 6vw, 82px);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: var(--li-radius);
    background: var(--lio-bll-book);
    color: #fff;
    text-align: center;
    box-shadow: 0 20px 46px rgba(74, 25, 19, .16);
}

.page-id-243 .lio-bll-final > .wp-block-group__inner-container {
    width: min(760px, 100%);
    margin-inline: auto;
}

.page-id-243 .lio-bll-final h2 {
    max-width: none;
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(36px, 4.2vw, 48px);
    font-weight: 600;
    line-height: 1.08;
}

.page-id-243 .lio-bll-final .lio-bll-subtitle {
    max-width: 31ch;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(22px, 2.4vw, 27px);
    line-height: 1.32;
}

.page-id-243 .lio-bll-final-english {
    margin: 12px 0 30px;
    color: #F7E9E5;
    font-size: 18px;
    line-height: 1.5;
}

.page-id-243 .lio-bll-final .lio-bll-button {
    display: flex;
    justify-content: center;
    margin: 0;
}

.page-id-243 .lio-bll-final .lio-bll-button--primary > span {
    min-width: min(100%, 290px);
    border-color: #fff;
    background: #fff;
    color: var(--lio-bll-book);
    opacity: .92;
}

@media (max-width: 67.99rem) {
    .page-id-243 .lio-bll-hero,
    .page-id-243 .lio-bll-section {
        padding-block: 54px;
    }

    .page-id-243 .lio-bll-hero-grid > .wp-block-group__inner-container,
    .page-id-243 .lio-bll-hero-grid > .wp-block-group__inner-container:has(.lio-bll-cover-column:empty) {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .page-id-243 .lio-bll-cover-column {
        justify-content: center;
    }

    .page-id-243 .lio-bll-cover-column figure,
    .page-id-243 .lio-bll-cover-column .wp-block-image {
        width: min(330px, 78vw);
    }

    .page-id-243 .lio-bll-dimensions,
    .page-id-243 .lio-bll-sample-cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .page-id-243 .lio-bll-structure ul {
        columns: 1;
    }
}

@media (max-width: 47.99rem) {
    .page-id-243 .post-243 .article-content {
        font-size: 18px;
        line-height: 1.6;
    }

    .page-id-243 .lio-bll-hero {
        padding-top: 42px;
    }

    .page-id-243 .lio-bll-hero,
    .page-id-243 .lio-bll-section {
        padding-bottom: 46px;
    }

    .page-id-243 .lio-bll-title {
        font-size: clamp(36px, 10vw, 46px);
        white-space: normal;
    }

    .page-id-243 .lio-bll-hero {
        padding-inline: 22px;
    }

    .page-id-243 .lio-bll-subtitle {
        font-size: 22px;
    }

    .page-id-243 .lio-bll-hero .section-lead {
        font-size: 19px;
    }

    .page-id-243 .lio-bll-actions {
        align-items: stretch;
    }

    .page-id-243 .lio-bll-button,
    .page-id-243 .lio-bll-button > a,
    .page-id-243 .lio-bll-button > span {
        width: 100%;
    }

    .page-id-243 .lio-bll-structure,
    .page-id-243 .lio-bll-details,
    .page-id-243 .lio-bll-final {
        padding-inline: 22px;
        border-radius: var(--li-radius-small);
    }

    .page-id-243 .lio-bll-details .wp-block-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .page-id-243 .lio-bll-final {
        margin-bottom: 48px;
    }
}

/* The mobile booking action must never duplicate the desktop header CTA. */
@media (min-width: 64rem) {
    .mobile-booking-cta { display: none !important; }
}
/* Media/UI closeout — staging draft only, 2026-09-29. */
.hub-header {
    max-width: none;
}

.hub-header h1 {
    max-width: 24ch;
    text-wrap: pretty;
}

.section-lead,
.hub-header .section-lead {
    max-width: none;
}

.free-content-intro {
    max-width: none;
}

.hub-articles .feature-card > p {
    max-width: none;
    overflow-wrap: normal;
    text-wrap: pretty;
}

.page-id-246 .page-header {
    max-width: 980px;
}

.page-id-246 .page-header h1,
.page-id-246 .article-content {
    max-width: none;
}

.page-id-246 .lio-student-hub,
.page-id-246 .lio-student-hub > .wp-block-group__inner-container,
.page-id-246 .lio-student-section > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
}

.page-id-246 .lio-student-hub {
    max-width: 980px;
}

.page-id-246 .lio-student-hub .section-lead,
.page-id-242 .lio-teacher-hero .section-lead {
    max-width: none;
}

.page-id-242 .lio-teacher-feature > .wp-block-group__inner-container {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 270px);
}

.page-id-242 .lio-teacher-feature p:not(.eyebrow) {
    max-width: none;
    overflow-wrap: normal;
    text-wrap: pretty;
}

.page-id-243 .lio-bll-hero .section-lead,
.page-id-243 .lio-bll-transfer {
    max-width: 760px;
}

.page-id-243 .lio-bll-intro-section > .wp-block-group__inner-container {
    max-width: 960px;
}

.page-id-243 .lio-bll-intro-section p {
    max-width: 920px;
}

@media (max-width: 47.99rem) {
    .hub-header,
    .hub-header h1,
    .hub-header .section-lead,
    .page-id-246 .lio-student-hub,
    .page-id-246 .lio-student-hub .section-lead,
    .page-id-242 .lio-teacher-hero .section-lead,
    .page-id-243 .lio-bll-hero .section-lead,
    .page-id-243 .lio-bll-transfer {
        max-width: 100%;
    }

    .hub-articles .feature-card > p,
    .page-id-242 .lio-teacher-feature p:not(.eyebrow) {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 47.99rem) {
    .page-id-242 .lio-teacher-feature > .wp-block-group__inner-container {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Public shell closeout: card presentation only; no editorial data changes. */
.card-grid > .feature-card > .card-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    max-height: 6.2em;
    line-height: 1.55;
}
.latest-articles-grid > .feature-card > .card-excerpt {
    -webkit-line-clamp: 3;
    line-clamp: 3;
    max-height: 4.65em;
}
.latest-articles-grid > .feature-card[hidden],
.latest-articles-more[hidden] { display: none !important; }
.latest-articles-more { margin-top: 1.5rem; }
.lio-public-search { max-width: 48rem; margin: 1.5rem 0; }
.lio-public-search label:not(.screen-reader-text) { display: block; margin-bottom: .5rem; font-weight: 600; }
.lio-public-search__controls { display: flex; flex-wrap: nowrap; align-items: center; gap: .5rem; }
.lio-public-search input { flex: 1 1 0; width: 100%; min-width: 0; height: 48px; padding: .65rem .75rem; border: 1px solid #697078; border-radius: .35rem; font: inherit; }
.lio-public-search button.lio-search-submit { flex: 0 0 48px; width: 48px; height: 48px; min-height: 48px; padding: 0; border-radius: .35rem; cursor: pointer; }
.lio-search-submit svg { display: block; flex: none; }
.homepage-find { padding-block: 1rem; }
.homepage-find .lio-public-search { width: 100%; max-width: 400px; margin: 0; }
.lio-public-search :focus-visible,
.latest-articles-more:focus-visible { outline: 3px solid #005ea8; outline-offset: 3px; }
.footer-book-links { font-size: 1rem; }
/* Override only the autonomous content shell; retain its book resource links,
   approved book layout, policy copy and metadata. Specificity beats inline CSS. */
body.learnitalianora-site:is(.page-id-536, .page-id-243, .page-id-3, .page-id-482, .page-id-338) .site-header,
body.learnitalianora-site:is(.page-id-536, .page-id-243, .page-id-3, .page-id-482, .page-id-338) .site-footer { display: block !important; }
body.page-id-536 .lio-bll-entry-header,
body.page-id-243 .lio-bll-autonomous-header,
body.learnitalianora-site .lio-bll-service-header__bar { display: none !important; }
/* Existing nested label remains the click target; wrapping stays inline so the
   Privacy link does not become a separate squeezed flex/grid column. */
.lio-intake-form .lio-consent > label {
    display: block;
    position: relative;
    padding: .5rem 0 .5rem 2.25rem;
    min-height: 44px;
    width: 100%;
    box-sizing: border-box;
    line-height: 1.55;
    overflow-wrap: anywhere;
    cursor: pointer;
}
.lio-intake-form .lio-consent input[name="lio_privacy_consent"] {
    position: absolute;
    left: 0;
    top: .65rem;
    width: 1.5rem;
    height: 1.5rem;
    min-width: 1.5rem;
    margin: 0;
    padding: 0;
}
.lio-intake-form .lio-consent a { display: inline; white-space: normal; }
.lio-intake-form .lio-consent :focus-visible { outline: 3px solid #005ea8; outline-offset: 3px; }

/* Editorial contract only: opt-in Italian prose; never infer language. */
.single-post .article-content :is(p, li, blockquote, dd, dt, figcaption) span.lio-italian[lang|="it"]:not(:where(a *, button *, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, form *, .lio-exercise *, .article-exercises *, .lio-blog-exercises *, .quiz *, [role="button"] *, [contenteditable] *)) {
    color: #A34700;
}
.single-post .article-content > :is(section, div).lio-italian-box[lang|="it"] {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin-block: 1.5rem;
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid #A34700;
    border-inline-start-width: 4px;
    border-radius: var(--li-radius-small);
    background: #FFF5EB;
    color: #202124;
    overflow-wrap: anywhere;
}
.single-post .article-content > .lio-italian-box > :first-child { margin-top: 0; }
.single-post .article-content > .lio-italian-box > :last-child { margin-bottom: 0; }
.single-post .article-content > .lio-italian-box a:not(:where(.button, .button-small, .wp-block-button__link, [role="button"], form *, .lio-exercise *, .article-exercises *, .lio-blog-exercises *, .quiz *)) {
    color: #0073AA;
    text-decoration: underline;
}
.single-post .article-content > .lio-italian-box a:focus-visible {
    outline: 3px solid #005ea8;
    outline-offset: 3px;
}


/* LIO legal typography — Terms page #338 only.
   Preserve the approved HTML and contract-registry hash; presentation changes only.
   Font families, colors and heading scale follow the site's editorial system. */
body.page-id-338 .page-header,
body.page-id-338 .article-content {
    width: 100%;
    max-width: 860px;
    margin-inline: auto;
}
body.page-id-338 .page-header {
    margin-bottom: 1.8rem;
}
body.page-id-338 .article-content {
    color: var(--li-ink);
    font-family: var(--li-font-sans);
    font-size: 18px;
    line-height: 1.68;
    overflow-wrap: break-word;
}
body.page-id-338 .article-content p {
    margin: 0 0 1rem;
}
body.page-id-338 .article-content :is(h2, h3, h4) {
    max-width: none;
    color: var(--li-ink);
    text-wrap: pretty;
}
body.page-id-338 .article-content h2 {
    margin: 2.65rem 0 .85rem;
    font-family: var(--li-font-serif);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -.015em;
}
body.page-id-338 .article-content h3 {
    margin: 2.1rem 0 .65rem;
    font-family: var(--li-font-serif);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -.012em;
}
body.page-id-338 .article-content h4 {
    margin: 1.6rem 0 .55rem;
    font-family: var(--li-font-sans);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}
body.page-id-338 .article-content :is(h2, h3, h4):first-child {
    margin-top: 0;
}
body.page-id-338 .article-content :is(h2, h3, h4) + p {
    margin-top: 0;
}
body.page-id-338 .article-content :is(ul, ol) {
    margin: .6rem 0 1.15rem;
    padding-inline-start: 1.45em;
}
body.page-id-338 .article-content li + li {
    margin-top: .3rem;
}
body.page-id-338 .article-content a {
    color: var(--li-orange-dark);
    text-decoration-thickness: .07em;
    text-underline-offset: .18em;
}
body.page-id-338 .article-content a:focus-visible {
    outline: 2px solid var(--li-focus);
    outline-offset: 3px;
}
@media (max-width: 47.99rem) {
    body.page-id-338 .page-header {
        margin-bottom: 1.4rem;
    }
    body.page-id-338 .article-content {
        font-size: 18px;
        line-height: 1.62;
    }
    body.page-id-338 .article-content h2 {
        margin-top: 2.2rem;
        margin-bottom: .7rem;
        font-size: 28px !important;
        line-height: 1.24 !important;
    }
    body.page-id-338 .article-content h3 {
        margin-top: 1.75rem;
        margin-bottom: .6rem;
        font-size: 23px !important;
        line-height: 1.28 !important;
    }
    body.page-id-338 .article-content h4 {
        margin-top: 1.4rem;
        font-size: 18px;
        line-height: 1.35;
    }
}

/* Use the homepage lesson buttons on internal pages and in the footer. */
.lio-lesson-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    text-align: left;
}
.lio-page-lesson-actions { margin-block: 1.5rem; }
.lio-footer-lesson-actions { margin-top: 1rem; }

/* WI UI corrections 2026-10-21: align the seven desktop topic links with the
   common content edges; mobile/tablet navigation retains its existing behavior. */
@media (min-width: 64rem) {
    .header-nav-row .primary-nav .primary-menu-list {
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: clamp(8px, 1vw, 16px);
    }
    .header-nav-row .primary-menu-list > .menu-item > a {
        font-size: 18px;
        padding-inline: 0;
    }
}

/* Equivalent footer links use one readable scale; copyright remains secondary. */
.site-footer .footer-navigation .menu a,
.site-footer .footer-legal-navigation .menu a {
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

/* Remove only the introductory measure; keep both approved card rows intact. */
.page-id-242 .lio-teacher-pathways-section > .wp-block-group__inner-container > p {
    max-width: none;
}
.site-footer .footer-legal-navigation .menu a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
}

/* Match the existing account-alignment script's 24px fit allowance. */
@media (min-width: 64rem) {
    .site-header .persona-nav[data-text-aligned] {
        column-gap: 24px;
        flex-wrap: nowrap;
    }
}

/* Open the existing accessible compact menu before topic labels must wrap. */
@media (min-width: 64rem) and (max-width: 79.99rem) {
    :root {
        --li-header-top-height: 72px;
        --li-header-nav-height: 0px;
    }

    html {
        scroll-padding-top: 94px;
    }

    body.menu-open {
        overflow: hidden;
    }

    .site-header {
        backdrop-filter: none;
    }

    .header-topbar {
        display: flex;
        min-height: 72px;
        gap: 16px;
    }

    .site-brand {
        flex: 1 1 auto;
    }

    .persona-nav,
    .header-cta {
        display: none;
    }

    .menu-toggle {
        position: relative;
        z-index: 1002;
        display: inline-grid;
        flex: 0 0 46px;
        width: 46px;
        height: 46px;
        margin-left: auto;
        place-items: center;
        border: 1px solid var(--li-line);
        border-radius: var(--li-radius-small);
        background: #fff;
        color: var(--li-ink);
        cursor: pointer;
    }

    .menu-toggle-icon {
        display: grid;
        width: 20px;
        gap: 4px;
    }

    .menu-toggle-icon span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .header-nav-row {
        border-top: 0;
    }

    .header-nav-row > .container {
        width: 100%;
    }

    .site-header .primary-nav {
        position: fixed;
        z-index: 1001;
        inset: 72px 0 0;
        display: none;
        height: auto;
        max-height: calc(100dvh - 72px);
        padding: 18px 32px 32px;
        overflow-y: auto;
        border-top: 1px solid var(--li-line);
        background: #fff;
        box-shadow: 0 18px 44px rgba(32, 33, 36, .12);
    }

    .site-header .primary-nav.is-open {
        display: block;
    }

    .site-header .primary-nav .primary-menu-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        justify-content: stretch;
        gap: 0;
    }

    .site-header .primary-menu-list > .menu-item {
        display: block;
        border-bottom: 1px solid var(--li-line);
    }

    .site-header .primary-menu-list > .menu-item > a {
        display: flex;
        min-height: 54px;
        align-items: center;
        padding: 10px 0;
        font-size: 18px;
        font-weight: 610;
    }

    .mobile-menu-secondary {
        display: grid;
        gap: 4px;
        margin-top: 18px;
        padding-top: 14px;
        border-top: 1px solid var(--li-line);
    }

    .mobile-menu-secondary > a:not(.button) {
        display: flex;
        min-height: 50px;
        align-items: center;
        color: var(--li-ink);
        font-size: 17px;
        font-weight: 620;
        text-decoration: none;
    }

}
@media (min-width: 80rem) {
    .header-nav-row .primary-menu-list > .menu-item > a { white-space: nowrap; }
}

/* Issue #73: let the four teacher resource pages use the site content grid. */
:is(.page-id-323, .page-id-324, .page-id-325, .page-id-326) .lio-teacher-child {
    max-width: none;
}

