/*
Theme Name: O.N.E. Relaunch
Theme URI: https://one.local
Author: Proteus
Description: Relaunch theme aligned to the O.N.E. marketing and sales architecture.
Version: 0.2.2
Text Domain: one-relaunch
*/

:root {
    --one-bg: #f4f1eb;
    --one-bg-alt: #ebe7df;
    --one-surface: rgba(255, 253, 250, 0.88);
    --one-surface-strong: #fffdf9;
    --one-primary: #2f7a7a;
    --one-primary-deep: #16383d;
    --one-primary-ink: #214f53;
    --one-primary-soft: #d8ece9;
    --one-primary-mist: rgba(47, 122, 122, 0.12);
    --one-accent: #c69563;
    --one-accent-deep: #8d6239;
    --one-accent-soft: #f0e1d0;
    --one-ink: #17353a;
    --one-ink-soft: #50696d;
    --one-muted: #728487;
    --one-line: rgba(23, 53, 58, 0.12);
    --one-line-strong: rgba(23, 53, 58, 0.2);
    --one-success: #2b725d;
    --one-warning: #9a6b2f;
    --one-error: #8b4a3a;
    --one-info: #275b66;
    --one-shadow-sm: 0 18px 42px rgba(18, 45, 48, 0.08);
    --one-shadow-lg: 0 34px 90px rgba(18, 45, 48, 0.12);
    --one-radius-sm: 18px;
    --one-radius-md: 28px;
    --one-radius-lg: 40px;
    --one-container: min(1180px, calc(100vw - 40px));
    --one-reading: min(760px, calc(100vw - 40px));
    --one-space-1: 0.5rem;
    --one-space-2: 0.875rem;
    --one-space-3: 1.25rem;
    --one-space-4: 1.75rem;
    --one-space-5: 2.5rem;
    --one-space-6: 3.5rem;
    --one-transition: 180ms ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    color: var(--one-ink);
    background:
        radial-gradient(circle at top left, rgba(47, 122, 122, 0.14), transparent 28%),
        radial-gradient(circle at 92% 8%, rgba(198, 149, 99, 0.16), transparent 22%),
        linear-gradient(180deg, #fbfaf7 0%, var(--one-bg) 44%, #ebe6dd 100%);
    font-family: "Manrope", "Segoe UI", sans-serif;
    line-height: 1.7;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

:focus-visible {
    outline: 3px solid rgba(47, 122, 122, 0.4);
    outline-offset: 3px;
}

.site-shell {
    min-height: 100vh;
    position: relative;
    overflow: clip;
}

.site-shell::before,
.site-shell::after {
    content: "";
    position: fixed;
    z-index: -1;
    width: 36vw;
    height: 36vw;
    max-width: 500px;
    max-height: 500px;
    border-radius: 999px;
    filter: blur(34px);
    pointer-events: none;
    opacity: 0.56;
}

.site-shell::before {
    top: -10vw;
    left: -10vw;
    background: rgba(47, 122, 122, 0.18);
}

.site-shell::after {
    right: -9vw;
    top: 16vh;
    background: rgba(198, 149, 99, 0.18);
}

.site-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 253, 250, 0.7);
    backdrop-filter: blur(18px);
}

.site-topbar__inner,
.site-header,
.site-footer__inner,
.one-page-shell,
.one-section__inner,
.entry-shell,
.site-main > .entry-content {
    width: var(--one-container);
    margin: 0 auto;
}

.site-topbar__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 20px;
    padding: 12px 0;
    color: var(--one-ink-soft);
    font-size: 0.93rem;
}

.site-topbar__links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 16px;
}

.site-topbar__links a {
    position: relative;
}

.site-topbar__links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--one-transition);
}

.site-topbar__links a:hover::after,
.site-topbar__links a:focus-visible::after {
    transform: scaleX(1);
}

.site-header-wrap {
    position: sticky;
    top: 0;
    z-index: 40;
    background: linear-gradient(180deg, rgba(244, 241, 235, 0.95) 0%, rgba(244, 241, 235, 0.82) 100%);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}

.site-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding: 18px 0;
}

.site-branding {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.custom-logo {
    max-height: 58px;
    width: auto;
}

.site-branding__mark {
    width: 58px;
    height: 58px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--one-primary) 0%, #419698 100%);
    color: #f8fbfb;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    box-shadow: var(--one-shadow-sm);
}

.site-branding__mark-image {
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 22px;
}

.site-branding__copy {
    display: grid;
    gap: 2px;
}

.site-title,
.site-title a,
.one-display,
.one-page-hero__title,
.one-hero__title,
.one-section-heading,
.entry-title,
.one-card h3,
.one-footer-cta__title,
.one-not-found__title,
.one-brand-band strong {
    font-family: "Newsreader", Georgia, serif;
    letter-spacing: -0.03em;
}

.site-title {
    margin: 0;
    font-size: clamp(1.5rem, 2vw, 1.8rem);
    line-height: 0.95;
}

.site-tagline {
    margin: 0;
    color: var(--one-muted);
    font-size: 0.96rem;
}

.site-nav-toggle {
    display: none;
    border: 1px solid var(--one-line);
    background: rgba(255, 253, 250, 0.84);
    color: var(--one-primary-deep);
    border-radius: 999px;
    padding: 12px 16px;
    font-weight: 700;
}

.site-nav-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.site-nav,
.site-nav ul,
.footer-nav,
.footer-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.site-nav a,
.footer-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.site-nav a {
    padding: 10px 14px;
    border-radius: 999px;
    color: var(--one-ink-soft);
    transition:
        color var(--one-transition),
        background var(--one-transition);
}

.site-nav a:hover,
.site-nav a:focus-visible {
    background: rgba(47, 122, 122, 0.09);
    color: var(--one-primary-deep);
}

.site-header__actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-end;
}

.one-button,
.site-nav__button,
button,
input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 14px 22px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, var(--one-primary) 0%, #419698 100%);
    color: #f7fcfc;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    box-shadow: var(--one-shadow-sm);
    transition:
        transform var(--one-transition),
        box-shadow var(--one-transition),
        opacity var(--one-transition);
}

.one-button:hover,
.site-nav__button:hover,
button:hover,
input[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 24px 48px rgba(22, 56, 61, 0.14);
}

.one-button--ghost,
.site-nav__button--ghost {
    background: rgba(255, 253, 250, 0.74);
    color: var(--one-primary-deep);
    border: 1px solid rgba(47, 122, 122, 0.18);
    box-shadow: none;
}

.one-button--soft {
    background: linear-gradient(135deg, var(--one-accent-soft) 0%, #f8eee4 100%);
    color: var(--one-accent-deep);
    box-shadow: none;
}

.site-main {
    padding-bottom: 60px;
}

.one-section {
    padding: 30px 0 92px;
}

.one-section--tight {
    padding-top: 12px;
}

.one-section__header {
    display: grid;
    gap: 18px;
    align-items: start;
    margin-bottom: 34px;
}

.one-section__header--split {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
}

.one-eyebrow,
.one-pill,
.one-stat__label,
.one-process-step__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: var(--one-primary-mist);
    color: var(--one-primary-deep);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.one-section-heading,
.entry-title {
    margin: 0;
    font-size: clamp(2.3rem, 4vw, 4.2rem);
    line-height: 0.94;
}

.one-section-lede,
.entry-intro,
.one-card p,
.one-course-card__copy,
.one-prose,
.entry-content,
.one-not-found__copy,
.one-page-hero__lede {
    color: var(--one-ink-soft);
    font-size: 1.04rem;
}

.one-page-shell {
    display: grid;
    gap: 36px;
    padding-top: 34px;
}

.one-page-hero,
.one-hero,
.one-card,
.one-course-card,
.one-shell-panel,
.one-footer-cta,
.one-not-found,
.one-home-hero__aside,
.one-highlight-card,
.one-process-step,
.one-brand-band,
.one-swatch-card {
    position: relative;
    background: linear-gradient(180deg, rgba(255, 253, 250, 0.93) 0%, rgba(252, 250, 246, 0.84) 100%);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: var(--one-shadow-lg);
    backdrop-filter: blur(16px);
}

.one-page-hero,
.one-shell-panel,
.one-footer-cta,
.one-not-found,
.one-brand-band {
    border-radius: var(--one-radius-lg);
}

.one-card,
.one-course-card,
.one-process-step,
.one-highlight-card,
.one-home-hero__aside,
.one-swatch-card {
    border-radius: var(--one-radius-md);
}

.one-page-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 32px;
    padding: clamp(30px, 5vw, 56px);
    overflow: hidden;
}

.one-page-hero::after,
.one-hero::after,
.one-footer-cta::after,
.one-brand-band::after {
    content: "";
    position: absolute;
    inset: auto 0 0 auto;
    width: 210px;
    height: 210px;
    background: radial-gradient(circle, rgba(47, 122, 122, 0.18), transparent 70%);
    pointer-events: none;
}

.one-page-hero__copy,
.one-page-hero__aside {
    display: grid;
    gap: 18px;
}

.one-page-hero__title,
.one-hero__title,
.one-not-found__title {
    margin: 0;
    font-size: clamp(3rem, 6vw, 5.8rem);
    line-height: 0.92;
}

.one-page-hero__aside {
    align-content: start;
    gap: 14px;
}

.one-page-hero__aside h3,
.one-highlight-card h3,
.one-process-step h3,
.one-home-hero__aside h3,
.one-course-card h3,
.one-card h3,
.one-swatch-card strong {
    margin: 0;
    font-size: 1.36rem;
    line-height: 1;
}

.one-page-hero__notes,
.one-feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.one-page-hero__notes li,
.one-feature-list li {
    position: relative;
    padding-left: 20px;
    color: var(--one-ink-soft);
}

.one-page-hero__notes li::before,
.one-feature-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--one-primary);
}

.entry-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 28px;
}

.entry-shell--single {
    grid-template-columns: 1fr;
}

.entry-content {
    width: min(100%, var(--one-reading));
    margin: 0;
}

.entry-panel,
.entry-sidebar {
    padding: 28px;
    border-radius: var(--one-radius-md);
}

.entry-panel {
    background: rgba(255, 253, 250, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.74);
}

.entry-sidebar {
    display: grid;
    gap: 18px;
    align-content: start;
}

.one-content-stack {
    display: grid;
    gap: 26px;
}

.one-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: 26px;
    padding: clamp(28px, 5vw, 50px);
    border-radius: 42px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 253, 250, 0.96) 0%, rgba(251, 249, 244, 0.9) 100%);
}

.one-hero__copy {
    display: grid;
    gap: 22px;
    align-content: start;
}

.one-hero__lede {
    margin: 0;
    max-width: 58ch;
    color: var(--one-ink-soft);
    font-size: 1.12rem;
}

.one-hero__actions,
.one-stack-actions,
.one-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.one-hero__stats,
.one-highlight-grid,
.one-process-grid,
.one-course-grid,
.one-state-grid,
.one-faq-grid,
.one-pricing-grid,
.one-auth-grid,
.one-dashboard__grid,
.one-lesson-grid,
.one-brand-band__grid,
.one-token-list {
    display: grid;
    gap: 22px;
}

.one-hero__stats {
    align-content: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.one-highlight-card,
.one-process-step,
.one-home-hero__aside,
.one-swatch-card,
.one-card,
.one-course-card,
.one-lesson-card {
    padding: 28px;
}

.one-stat__value {
    margin: 0 0 8px;
    font-size: 1.95rem;
    line-height: 0.95;
    color: var(--one-primary-deep);
}

.one-home-hero__aside p {
    margin: 0;
}

.one-token-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.one-token {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 14px 18px;
    border-radius: 22px;
    background: rgba(47, 122, 122, 0.08);
    border: 1px solid rgba(47, 122, 122, 0.14);
    color: var(--one-primary-deep);
    font-size: 0.92rem;
    font-weight: 700;
    text-align: center;
}

.one-highlight-grid,
.one-course-grid,
.one-brand-band__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.one-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.one-state-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.one-faq-grid {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}

.one-course-card {
    display: grid;
    gap: 18px;
    min-height: 100%;
}

.one-course-card__meta,
.one-course-summary__row,
.one-dashboard__hero,
.one-card__split {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.one-course-card__meta span:last-child,
.one-subtle {
    color: var(--one-muted);
}

.one-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    font-weight: 700;
    color: var(--one-primary);
}

.one-link-arrow::after {
    content: "->";
    transition: transform var(--one-transition);
}

.one-link-arrow:hover::after,
.one-link-arrow:focus-visible::after {
    transform: translateX(4px);
}

.one-shell-panel {
    padding: clamp(24px, 4vw, 40px);
}

.one-shell-panel__header {
    display: grid;
    gap: 18px;
    margin-bottom: 24px;
}

.one-shell-panel__body {
    display: grid;
    gap: 24px;
}

.one-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.one-checklist li {
    position: relative;
    padding-left: 24px;
    color: var(--one-ink-soft);
}

.one-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--one-primary) 0%, #4e9d9d 100%);
}

.one-brand-band {
    padding: clamp(28px, 4vw, 42px);
    display: grid;
    gap: 26px;
    overflow: hidden;
}

.one-brand-band__copy {
    display: grid;
    gap: 14px;
    max-width: 760px;
}

.one-swatch-card {
    display: grid;
    gap: 12px;
    align-content: start;
}

.one-swatch-card__chip {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.one-swatch-card code {
    display: inline-flex;
    width: fit-content;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(22, 56, 61, 0.06);
    color: var(--one-primary-deep);
    font-size: 0.82rem;
}

.one-brand-band__notes {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.one-brand-note {
    display: grid;
    gap: 12px;
    padding: 24px;
    border-radius: var(--one-radius-md);
    background: rgba(255, 253, 250, 0.72);
    border: 1px solid rgba(22, 56, 61, 0.08);
}

.one-brand-note h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1;
}

.one-brand-note p {
    margin: 0;
    color: var(--one-ink-soft);
}

.one-accordion {
    display: grid;
    gap: 14px;
}

.one-accordion details {
    border-radius: var(--one-radius-sm);
    border: 1px solid var(--one-line);
    background: rgba(255, 253, 250, 0.74);
    overflow: hidden;
}

.one-accordion summary {
    padding: 18px 22px;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.one-accordion summary::-webkit-details-marker {
    display: none;
}

.one-accordion__body {
    padding: 0 22px 22px;
    color: var(--one-ink-soft);
}

.one-footer-cta {
    padding: clamp(26px, 4vw, 40px);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto;
    gap: 22px;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(25, 61, 66, 0.96) 0%, rgba(47, 122, 122, 0.93) 100%);
    color: #f7fbfb;
}

.one-footer-cta__copy {
    display: grid;
    gap: 12px;
}

.one-footer-cta__title {
    margin: 0;
    font-size: clamp(2.1rem, 4vw, 3.4rem);
    line-height: 0.94;
}

.one-footer-cta .one-eyebrow {
    background: rgba(255, 255, 255, 0.12);
    color: #f3fbfb;
}

.site-footer {
    padding: 18px 0 36px;
}

.site-footer__inner {
    display: grid;
    gap: 18px;
}

.site-footer__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    padding: 26px 30px;
    border-radius: var(--one-radius-lg);
    background: linear-gradient(180deg, rgba(18, 39, 42, 0.98) 0%, rgba(22, 56, 61, 0.98) 100%);
    color: #eef7f6;
    box-shadow: var(--one-shadow-lg);
}

.site-footer__brand {
    display: grid;
    gap: 10px;
}

.site-footer__brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.site-footer__mark {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    box-shadow: var(--one-shadow-sm);
}

.site-footer__brand-copy {
    display: grid;
    gap: 4px;
}

.site-footer__brand-name {
    font-family: "Newsreader", Georgia, serif;
    font-size: 1.55rem;
    line-height: 0.95;
    letter-spacing: -0.03em;
}

.site-footer__legal-name {
    color: rgba(238, 247, 246, 0.78);
    font-size: 0.92rem;
}

.site-footer__brand h2 {
    margin: 0;
    font-size: 1.9rem;
    line-height: 0.95;
}

.site-footer__brand p,
.site-footer__meta {
    margin: 0;
    color: rgba(238, 247, 246, 0.8);
}

.footer-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: flex-end;
}

.footer-nav a {
    padding: 8px 0;
    color: inherit;
}

.footer-nav a:hover,
.footer-nav a:focus-visible {
    color: #ffffff;
}

.site-footer__meta {
    font-size: 0.92rem;
}

.one-form,
.one-quiz-form,
.one-inline-form {
    display: grid;
    gap: 16px;
}

.one-form label,
.one-inline-form label,
.one-quiz-question {
    display: grid;
    gap: 8px;
}

.one-form input,
.one-form textarea,
.one-form select {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid var(--one-line);
    background: rgba(255, 255, 255, 0.92);
    color: var(--one-ink);
}

.one-form textarea {
    min-height: 150px;
}

.one-quiz-question {
    padding: 20px;
    border-radius: 24px;
    border: 1px solid var(--one-line);
    background: rgba(255, 253, 250, 0.72);
}

.one-quiz-question legend {
    margin-bottom: 10px;
    font-weight: 700;
}

.one-quiz-question label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.one-notice {
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid transparent;
}

.one-notice p {
    margin: 0;
}

.one-notice--success {
    background: rgba(43, 114, 93, 0.12);
    border-color: rgba(43, 114, 93, 0.2);
}

.one-notice--error {
    background: rgba(139, 74, 58, 0.12);
    border-color: rgba(139, 74, 58, 0.2);
}

.one-notice--warning {
    background: rgba(154, 107, 47, 0.12);
    border-color: rgba(154, 107, 47, 0.2);
}

.one-notice--info {
    background: rgba(39, 91, 102, 0.1);
    border-color: rgba(39, 91, 102, 0.18);
}

.one-dashboard,
.one-course-shell {
    display: grid;
    gap: 22px;
}

.one-dashboard__grid,
.one-pricing-grid,
.one-auth-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.one-lesson-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.one-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.one-table th,
.one-table td {
    padding: 14px 10px;
    text-align: left;
    border-bottom: 1px solid var(--one-line);
}

.one-table th {
    color: var(--one-muted);
    font-weight: 700;
}

.entry-content > *:first-child,
.one-prose > *:first-child {
    margin-top: 0;
}

.entry-content > *:last-child,
.one-prose > *:last-child {
    margin-bottom: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.one-prose h2,
.one-prose h3,
.one-prose h4 {
    color: var(--one-ink);
    line-height: 1.06;
}

.entry-content h2,
.one-prose h2 {
    font-family: "Newsreader", Georgia, serif;
    font-size: clamp(2rem, 3vw, 2.8rem);
    margin: 1.8em 0 0.5em;
}

.entry-content h3,
.one-prose h3 {
    font-size: 1.28rem;
    margin: 1.4em 0 0.5em;
}

.entry-content p,
.entry-content li,
.one-prose p,
.one-prose li {
    color: var(--one-ink-soft);
}

.entry-content ul,
.entry-content ol,
.one-prose ul,
.one-prose ol {
    padding-left: 1.3rem;
}

.one-ghost-block {
    display: grid;
    gap: 14px;
    padding: 22px;
    border-radius: 24px;
    border: 1px dashed rgba(47, 122, 122, 0.22);
    background: rgba(47, 122, 122, 0.05);
}

.one-not-found {
    padding: clamp(30px, 5vw, 56px);
    display: grid;
    gap: 18px;
    max-width: 760px;
}

@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: auto auto;
        grid-template-areas:
            "brand toggle"
            "nav nav"
            "actions actions";
    }

    .site-branding {
        grid-area: brand;
    }

    .site-nav-toggle {
        grid-area: toggle;
        display: inline-flex;
        justify-self: end;
    }

    .site-nav-wrap {
        grid-area: nav;
        justify-content: flex-start;
        display: none;
    }

    .site-header__actions {
        grid-area: actions;
        justify-content: flex-start;
        display: none;
    }

    .site-header.is-menu-open .site-nav-wrap,
    .site-header.is-menu-open .site-header__actions {
        display: flex;
    }

    .site-nav ul {
        flex-direction: column;
        align-items: flex-start;
    }

    .one-page-hero,
    .entry-shell,
    .one-hero,
    .one-footer-cta,
    .site-footer__panel,
    .one-section__header--split,
    .one-faq-grid,
    .one-brand-band__grid,
    .one-brand-band__notes,
    .one-token-list {
        grid-template-columns: 1fr;
    }

    .entry-content {
        width: 100%;
    }
}

@media (max-width: 860px) {
    .site-topbar__inner,
    .site-header,
    .site-footer__inner,
    .one-page-shell,
    .one-section__inner,
    .entry-shell,
    .site-main > .entry-content {
        width: min(calc(100vw - 24px), 100%);
    }

    .one-hero__stats,
    .one-highlight-grid,
    .one-process-grid,
    .one-course-grid,
    .one-state-grid,
    .one-pricing-grid,
    .one-auth-grid,
    .one-dashboard__grid,
    .one-lesson-grid {
        grid-template-columns: 1fr;
    }

    .one-course-summary__row,
    .one-dashboard__hero,
    .one-card__split {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .site-header {
        gap: 16px;
    }

    .site-branding__mark {
        width: 50px;
        height: 50px;
        border-radius: 16px;
    }

    .one-hero,
    .one-page-hero,
    .one-shell-panel,
    .one-footer-cta,
    .one-not-found,
    .one-brand-band {
        padding: 24px;
        border-radius: 28px;
    }

    .one-hero__actions,
    .one-stack-actions,
    .one-inline-actions,
    .site-header__actions {
        width: 100%;
    }

    .one-hero__actions .one-button,
    .one-stack-actions .one-button,
    .one-inline-actions .one-button,
    .site-header__actions .site-nav__button,
    .site-header__actions .one-button {
        width: 100%;
    }

    .site-footer__panel {
        padding: 24px;
    }

    .footer-nav ul {
        justify-content: flex-start;
    }
}
