:root {
    --ink: #171a18;
    --paper: #fffdf8;
    --tl-oxblood: #622f2b;
    --tl-clay: #b85f3f;
    --tl-marigold: #e0ad54;
    --tl-lake: #2f5b59;
    --tl-paper: #f7efe2;
    --tls-deep: #0a3540;
    --tls-current: #0d6970;
    --tls-signal: #d79a2d;
    --tls-field: #cfe4dc;
    --tls-paper: #f1f6f2;
    --font-body: "Source Sans 3", sans-serif;
    --font-literary: "Newsreader", Georgia, serif;
    --font-solutions: "Sora", sans-serif;
    --font-mono: "IBM Plex Mono", monospace;
}

.brand-system {
    overflow-x: clip;
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.55;
}

.brand-system h1,
.brand-system h2,
.brand-system h3,
.brand-system p {
    text-wrap: pretty;
}

.brand-system a {
    color: inherit;
    text-underline-offset: .2em;
}

.brand-system a:focus-visible,
.brand-system button:focus-visible,
.brand-system input:focus-visible,
.brand-system select:focus-visible,
.brand-system textarea:focus-visible {
    outline: 3px solid var(--tls-signal);
    outline-offset: 4px;
}

.turn-mark {
    display: inline-grid;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
}

.turn-mark svg {
    width: 70%;
    height: 70%;
    overflow: visible;
}

.turn-mark path {
    stroke: currentColor;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.turn-mark circle {
    fill: currentColor;
}

.turn-mark--literary {
    color: var(--tl-paper);
    background: var(--tl-oxblood);
    box-shadow: 0 12px 30px rgba(98, 47, 43, .2);
}

.turn-mark--solutions {
    color: var(--tls-field);
    background: var(--tls-deep);
    box-shadow: 0 12px 30px rgba(10, 53, 64, .2);
}

.brand-system .container {
    width: min(1180px, calc(100% - 64px));
    max-width: none;
    padding: 0;
}

.brand-system .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
    border-bottom: 1px solid rgba(23, 26, 24, .12);
    box-shadow: none;
    backdrop-filter: blur(18px);
}

.literary-site .site-header {
    color: var(--tl-oxblood);
    background: rgba(247, 239, 226, .94);
}

.solutions-site .site-header {
    color: var(--tls-deep);
    background: rgba(241, 246, 242, .94);
}

.brand-system .header-inner {
    display: flex;
    height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.brand-system .brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: inherit;
    font-size: 1.25rem;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.literary-site .brand,
.literary-site .footer__brand {
    font-family: var(--font-literary);
}

.solutions-site .brand,
.solutions-site .footer__brand {
    font-family: var(--font-solutions);
    font-size: 1.08rem;
    letter-spacing: -.04em;
}

.brand-system .main-nav ul {
    display: flex;
    align-items: center;
    gap: clamp(17px, 2.3vw, 31px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.brand-system .main-nav a {
    padding: 0;
    color: inherit;
    font-size: .83rem;
    font-weight: 600;
    text-decoration: none;
}

.brand-system .main-nav a::after {
    display: none;
}

.brand-system .main-nav li:last-child a,
.brand-system .main-nav .nav-cta {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 10px 17px;
    border-radius: 999px;
    color: #fff;
}

.literary-site .main-nav li:last-child a,
.literary-site .main-nav .nav-cta {
    background: var(--tl-oxblood);
}

.solutions-site .main-nav li:last-child a,
.solutions-site .main-nav .nav-cta {
    background: var(--tls-deep);
}

.brand-system .mobile-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 10px;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: inherit;
    background: transparent;
}

.site-kicker {
    margin: 0 0 18px;
    font-family: var(--font-mono);
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-button-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    margin-top: 34px;
}

.site-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 999px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}

.brand-system .site-button--literary {
    color: #fff;
    background: var(--tl-oxblood);
}

.brand-system .site-button--solutions {
    color: #fff;
    background: var(--tls-deep);
}

.brand-system .site-button--light {
    color: var(--ink);
    background: #fff;
}

.brand-system .site-button--signal {
    color: var(--tls-deep);
    background: var(--tls-signal);
}

.site-text-link {
    font-size: .9rem;
    font-weight: 700;
}

.site-section {
    padding: clamp(80px, 10vw, 150px) clamp(24px, 6vw, 90px);
}

.site-section__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 50px;
}

.site-section__heading h2 {
    max-width: 850px;
    margin: 0;
    font-size: clamp(3rem, 6vw, 5.6rem);
    line-height: .98;
}

/* Talty Literary */
.literary-site {
    color: #321d1b;
    background: var(--tl-paper);
}

.literary-site h1,
.literary-site h2,
.literary-site h3 {
    color: inherit;
    font-family: var(--font-literary);
    font-weight: 500;
}

.literary-site .site-kicker {
    color: var(--tl-oxblood);
}

.literary-hero {
    display: grid;
    min-height: 770px;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    align-items: center;
    gap: clamp(50px, 8vw, 130px);
    padding: clamp(80px, 10vw, 150px) clamp(24px, 6vw, 90px);
    background:
        radial-gradient(circle at 80% 16%, rgba(224, 173, 84, .3), transparent 25%),
        linear-gradient(125deg, transparent 0 54%, rgba(184, 95, 63, .045) 54% 55%, transparent 55%);
}

.literary-hero h1 {
    max-width: 890px;
    margin: 0;
    font-size: clamp(4.5rem, 8.5vw, 8.4rem);
    letter-spacing: -.045em;
    line-height: .88;
}

.literary-hero h1 em {
    color: var(--tl-clay);
    font-weight: 400;
}

.literary-hero__copy > p:not(.site-kicker) {
    max-width: 680px;
    margin: 34px 0 0;
    color: #5a4844;
    font-size: 1.28rem;
}

.school-now {
    overflow: hidden;
    border: 1px solid rgba(98, 47, 43, .18);
    border-radius: 34px;
    background: rgba(255, 253, 248, .88);
    box-shadow: 0 26px 70px rgba(98, 47, 43, .12);
    transform: rotate(1deg);
}

.school-now > .site-kicker,
.school-now > h2 {
    margin-right: clamp(28px, 4vw, 46px);
    margin-left: clamp(28px, 4vw, 46px);
}

.school-now > .site-kicker {
    margin-top: clamp(28px, 4vw, 46px);
}

.school-now h2 {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 2.7rem;
    line-height: .98;
}

.school-now a {
    display: grid;
    grid-template-columns: minmax(105px, .45fr) minmax(0, 1.3fr) auto;
    align-items: center;
    gap: 18px;
    padding: 21px clamp(28px, 4vw, 46px);
    border-top: 1px solid rgba(98, 47, 43, .15);
    text-decoration: none;
}

.school-now a:hover {
    background: rgba(224, 173, 84, .13);
}

.school-now a span,
.school-now a small {
    font-family: var(--font-mono);
    font-size: .59rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.school-now a strong {
    font-family: var(--font-literary);
    font-size: 1.18rem;
    font-weight: 500;
}

.school-now a small {
    max-width: 120px;
    color: #765f59;
    text-align: right;
}

.literary-manifesto {
    display: grid;
    min-height: 380px;
    place-content: center;
    padding: 70px 24px;
    color: var(--tl-paper);
    background: var(--tl-oxblood);
    text-align: center;
}

.literary-manifesto p,
.literary-manifesto strong {
    margin: 4px;
    font-family: var(--font-literary);
    font-size: clamp(2rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.05;
}

.literary-manifesto strong {
    color: var(--tl-marigold);
}

.participation-section {
    background:
        linear-gradient(90deg, rgba(98, 47, 43, .045) 1px, transparent 1px),
        linear-gradient(rgba(98, 47, 43, .045) 1px, transparent 1px),
        #fffaf1;
    background-size: 36px 36px;
}

.participation-grid,
.program-grid,
.faculty-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.participation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.participation-card {
    display: flex;
    min-height: 385px;
    flex-direction: column;
    padding: 30px;
    border: 1px solid rgba(98, 47, 43, .16);
    border-radius: 24px;
    background: rgba(255, 253, 248, .9);
}

.participation-card > span {
    color: var(--tl-clay);
    font-family: var(--font-mono);
    font-size: .68rem;
}

.participation-card .site-kicker {
    margin-top: 70px;
    margin-bottom: 10px;
}

.participation-card h3 {
    margin: 0;
    font-size: 2.25rem;
    line-height: 1;
}

.participation-card > p:not(.site-kicker) {
    color: #65504b;
}

.participation-card a {
    margin-top: auto;
    padding-top: 24px;
    font-weight: 700;
}

.current-programs {
    background: var(--tl-paper);
}

.program-card {
    min-height: 480px;
    padding: 32px;
    border: 1px solid rgba(98, 47, 43, .17);
    border-radius: 28px;
    background: rgba(255, 253, 248, .72);
}

.program-card--feature {
    color: #fff;
    background:
        radial-gradient(circle at 88% 14%, rgba(224, 173, 84, .4), transparent 25%),
        var(--tl-lake);
}

.program-card__status,
.program-card__family {
    font-family: var(--font-mono);
    font-size: .63rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.program-card__status {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid currentColor;
    border-radius: 999px;
}

.program-card__family {
    margin: 48px 0 9px;
}

.program-card h3 {
    margin: 0;
    font-size: 2.5rem;
    line-height: 1;
}

.program-card dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 36px 0;
}

.program-card dl div {
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, .38);
}

.program-card dt {
    font-family: var(--font-mono);
    font-size: .55rem;
    text-transform: uppercase;
}

.program-card dd {
    margin: 4px 0 0;
    font-size: .82rem;
}

.program-card > a {
    display: inline-block;
    margin-top: 20px;
    font-weight: 700;
}

.faculty-section {
    background: #fffaf1;
}

.faculty-card,
.faculty-standard {
    display: flex;
    min-height: 330px;
    flex-direction: column;
    align-items: flex-start;
    padding: 36px;
    border-radius: 28px;
}

.faculty-card {
    gap: 24px;
    color: #fff;
    background: var(--tl-oxblood);
}

.faculty-card__portrait {
    display: grid;
    width: 104px;
    aspect-ratio: 4 / 5;
    place-items: center;
    border-radius: 999px 999px 30px 30px;
    color: var(--tl-oxblood);
    background: var(--tl-marigold);
    font-family: var(--font-literary);
    font-size: 2.6rem;
}

.faculty-card p,
.faculty-card span {
    color: #ead9ce;
}

.faculty-card h3 {
    margin: 4px 0;
    font-size: 2.5rem;
}

.faculty-card a {
    display: inline-block;
    margin-top: 30px;
}

.faculty-standard {
    color: var(--tl-oxblood);
    background: var(--tl-marigold);
}

.faculty-standard--visiting {
    background: #ead9ce;
}

.faculty-standard h3 {
    margin: 0;
    font-size: 3rem;
}

.faculty-standard a {
    display: inline-block;
    margin-top: auto;
    padding-top: 24px;
    font-weight: 700;
}

.writer-path,
.events-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
    padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 90px);
}

.writer-path {
    background: #efe0ce;
}

.writer-path__intro h2,
.events-section h2 {
    margin: 0;
    font-size: clamp(3.5rem, 6vw, 6rem);
    line-height: .95;
}

.writer-path ol {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.writer-path li {
    padding: 26px;
    border: 1px solid rgba(98, 47, 43, .16);
    border-radius: 22px;
    background: rgba(255, 253, 248, .65);
}

.writer-path li span {
    font-family: var(--font-mono);
    font-size: .65rem;
}

.writer-path li strong {
    display: block;
    margin-top: 20px;
    font-family: var(--font-literary);
    font-size: 1.8rem;
}

.writer-path li p {
    margin-bottom: 0;
    color: #5a4844;
}

.events-section {
    color: #fff;
    background: var(--tl-lake);
}

.events-section .site-kicker {
    color: #fffaf1;
}

.event-list {
    display: grid;
    gap: 16px;
}

.event-list article {
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 22px;
    background: rgba(255, 255, 255, .06);
}

.event-list span {
    font-family: var(--font-mono);
    font-size: .6rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.event-list h3 {
    margin: 12px 0;
    font-size: 2rem;
}

.literary-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 90px);
}

.literary-trust h2 {
    margin: 0;
    font-size: clamp(3.2rem, 5vw, 5rem);
    line-height: .98;
}

.literary-trust > div:last-child {
    align-self: end;
    padding: 30px;
    border-left: 4px solid var(--tl-clay);
    background: #fff;
}

.site-cta {
    padding: clamp(80px, 9vw, 130px) clamp(24px, 8vw, 130px);
}

.site-cta h2 {
    max-width: 1000px;
    margin: 0;
    font-size: clamp(3.8rem, 7vw, 7.2rem);
    line-height: .92;
}

.site-cta > p:not(.site-kicker) {
    max-width: 680px;
    font-size: 1.2rem;
}

.site-cta--literary {
    color: #fff;
    background: #aa4d32;
}

.site-cta--literary .site-kicker,
.site-cta--literary .site-text-link {
    color: #fff;
}

/* Talty Literary Solutions */
.solutions-site {
    color: var(--tls-deep);
    background: var(--tls-paper);
}

.solutions-site h1,
.solutions-site h2,
.solutions-site h3 {
    color: inherit;
    font-family: var(--font-solutions);
    font-weight: 600;
    letter-spacing: -.055em;
}

.solutions-site .site-kicker {
    color: var(--tls-current);
}

.solutions-hero {
    display: grid;
    min-height: 770px;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items: center;
    gap: clamp(45px, 7vw, 100px);
    padding: clamp(80px, 10vw, 150px) clamp(24px, 6vw, 90px);
    background:
        linear-gradient(90deg, rgba(10, 53, 64, .055) 1px, transparent 1px),
        linear-gradient(rgba(10, 53, 64, .055) 1px, transparent 1px),
        var(--tls-paper);
    background-size: 34px 34px;
}

.solutions-hero h1 {
    max-width: 960px;
    margin: 0;
    font-size: clamp(4.3rem, 7.5vw, 7.8rem);
    line-height: .93;
}

.solutions-hero__copy > p:not(.site-kicker) {
    max-width: 720px;
    margin: 32px 0 0;
    color: #3f5558;
    font-size: 1.25rem;
}

.system-console {
    padding: 34px;
    border: 1px solid rgba(10, 53, 64, .2);
    border-radius: 28px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 28px 80px rgba(10, 53, 64, .13);
}

.system-console__head {
    display: grid;
    gap: 7px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(10, 53, 64, .16);
}

.system-console__head span {
    font-family: var(--font-mono);
    font-size: .62rem;
}

.system-console__head strong {
    font-family: var(--font-solutions);
    font-size: 1.8rem;
    letter-spacing: -.04em;
}

.system-console ol {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.system-console li {
    display: grid;
    grid-template-columns: 46px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(10, 53, 64, .15);
    border-radius: 14px;
}

.system-console li > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: var(--tls-deep);
    font-family: var(--font-mono);
    font-size: .65rem;
}

.system-console li div {
    display: grid;
}

.system-console li small {
    color: #607073;
}

.system-console li b {
    color: var(--tls-current);
    font-family: var(--font-mono);
    font-size: .57rem;
    font-weight: 500;
    text-transform: uppercase;
}

.signal-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    color: #fff;
    background: var(--tls-deep);
}

.signal-strip span {
    padding: 24px clamp(18px, 3vw, 44px);
    border-right: 1px solid rgba(255, 255, 255, .16);
    font-size: .85rem;
    font-weight: 600;
}

.signal-strip b {
    margin-right: 10px;
    color: var(--tls-signal);
    font-family: var(--font-mono);
    font-size: .65rem;
}

.solutions-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.solutions-service-grid article {
    min-height: 360px;
    padding: 32px;
    border: 1px solid rgba(10, 53, 64, .15);
    border-radius: 22px;
    background: #fff;
}

.solutions-service-grid span {
    font-family: var(--font-mono);
    font-size: .62rem;
    text-transform: uppercase;
}

.solutions-service-grid h3 {
    margin: 56px 0 18px;
    font-size: 2rem;
    line-height: 1;
}

.solutions-service-grid a {
    display: inline-block;
    margin-top: 24px;
    font-weight: 700;
}

.flagship-system,
.process-section,
.work-section {
    display: grid;
    gap: 70px;
    padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 90px);
}

.flagship-system {
    grid-template-columns: .85fr 1.15fr;
    color: #fff;
    background: var(--tls-deep);
}

.flagship-system__intro h2,
.ownership-section h2 {
    margin: 0;
    font-size: clamp(3.6rem, 6vw, 6.4rem);
    line-height: .94;
}

.flagship-system__intro > p:not(.site-kicker) {
    color: #c4d8d5;
}

.flagship-system .site-kicker {
    color: var(--tls-signal);
}

.deliverable-matrix {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.deliverable-matrix div {
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    background: rgba(255, 255, 255, .05);
}

.deliverable-matrix span {
    color: var(--tls-signal);
    font-family: var(--font-mono);
    font-size: .65rem;
}

.deliverable-matrix strong {
    display: block;
    margin-top: 26px;
    font-family: var(--font-solutions);
    font-size: 1.2rem;
}

.deliverable-matrix p {
    margin-bottom: 0;
    color: #bfd2cf;
}

.process-section {
    grid-template-columns: .7fr 1.3fr;
    background:
        linear-gradient(90deg, rgba(10, 53, 64, .05) 1px, transparent 1px),
        linear-gradient(rgba(10, 53, 64, .05) 1px, transparent 1px),
        #e4efea;
    background-size: 32px 32px;
}

.process-section h2,
.work-section h2 {
    margin: 0;
    font-size: clamp(3.4rem, 5vw, 5.4rem);
    line-height: .95;
}

.process-section ol {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.process-section li {
    display: grid;
    grid-template-columns: 48px 150px 1fr;
    align-items: start;
    gap: 18px;
    padding: 24px;
    border: 1px solid rgba(10, 53, 64, .14);
    border-radius: 17px;
    background: rgba(255, 255, 255, .7);
}

.process-section li span {
    font-family: var(--font-mono);
    font-size: .65rem;
}

.process-section li strong {
    font-family: var(--font-solutions);
}

.process-section li p {
    margin: 0;
    color: #486064;
}

.work-section {
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
}

.case-study-placeholder {
    padding: clamp(32px, 5vw, 56px);
    border: 2px dashed rgba(10, 53, 64, .28);
    border-radius: 28px;
    background: #fff;
}

.case-study-placeholder span,
.case-study-placeholder small {
    font-family: var(--font-mono);
    font-size: .62rem;
    text-transform: uppercase;
}

.case-study-placeholder strong {
    display: block;
    margin-top: 60px;
    font-family: var(--font-solutions);
    font-size: 2rem;
}

.ownership-section {
    padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 90px);
    background: #fff;
}

.ownership-section h2 {
    max-width: 1000px;
}

.ownership-section > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 60px;
    border: 1px solid rgba(10, 53, 64, .16);
    border-radius: 22px;
}

.ownership-section article {
    padding: 30px;
    border-right: 1px solid rgba(10, 53, 64, .16);
}

.ownership-section article:last-child {
    border-right: 0;
}

.ownership-section strong {
    font-family: var(--font-solutions);
}

.site-cta--solutions {
    color: #fff;
    background:
        radial-gradient(circle at 88% 16%, rgba(215, 154, 45, .28), transparent 24%),
        var(--tls-current);
}

.brand-system .site-footer {
    padding: 70px 0 32px;
    color: rgba(255, 255, 255, .8);
}

.literary-site .site-footer {
    background: #3f211f;
}

.solutions-site .site-footer {
    background: #061f27;
}

.brand-system .footer__content {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, .7fr);
    gap: 38px;
    margin: 0;
    padding-bottom: 44px;
}

.brand-system .footer__brand {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #fff;
    font-size: 1.3rem;
}

.brand-system .footer__about p,
.brand-system .footer__nav a {
    color: rgba(255, 255, 255, .72);
}

.brand-system .footer__nav a {
    display: block;
    margin: 8px 0;
    font-size: .85rem;
}

.brand-system .footer__nav-title {
    color: #fff;
    font-family: var(--font-mono);
    font-size: .64rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.brand-system .footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: rgba(255, 255, 255, .64);
    font-size: .72rem;
}

.brand-system .footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

@media (max-width: 1100px) {
    .literary-hero,
    .solutions-hero,
    .literary-trust {
        grid-template-columns: 1fr;
    }

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

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

@media (max-width: 860px) {
    .brand-system .container {
        width: min(100% - 36px, 680px);
    }

    .brand-system .header-inner {
        height: 74px;
    }

    .brand-system .mobile-menu-toggle {
        display: block;
    }

    .brand-system .main-nav {
        display: none;
    }

    .brand-system .main-nav.is-open {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        padding: 22px;
        border-top: 1px solid rgba(23, 26, 24, .12);
        background: var(--paper);
        box-shadow: 0 18px 35px rgba(12, 37, 53, .13);
    }

    .literary-site .main-nav.is-open {
        background: var(--tl-paper);
    }

    .solutions-site .main-nav.is-open {
        background: var(--tls-paper);
    }

    .brand-system .main-nav.is-open ul {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .brand-system .main-nav.is-open li:last-child a {
        justify-content: center;
    }

    .writer-path,
    .events-section,
    .process-section,
    .work-section,
    .flagship-system {
        grid-template-columns: 1fr;
    }

    .faculty-grid,
    .solutions-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brand-system .footer__content {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .brand-system {
        font-size: 16px;
    }

    .brand-system .brand {
        font-size: 1rem;
    }

    .turn-mark {
        width: 42px;
        height: 42px;
    }

    .literary-hero,
    .solutions-hero {
        min-height: auto;
        gap: 60px;
        padding: 74px 22px;
    }

    .literary-hero h1 {
        font-size: 4.2rem;
    }

    .solutions-hero h1 {
        font-size: 3.5rem;
    }

    .school-now {
        transform: none;
    }

    .school-now a {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .school-now a small {
        max-width: none;
        text-align: left;
    }

    .site-section,
    .writer-path,
    .events-section,
    .literary-trust,
    .process-section,
    .work-section,
    .flagship-system,
    .ownership-section {
        padding: 80px 22px;
    }

    .site-section__heading {
        display: grid;
    }

    .site-section__heading h2 {
        font-size: 3.4rem;
    }

    .participation-grid,
    .program-grid,
    .writer-path ol,
    .faculty-grid,
    .solutions-service-grid,
    .deliverable-matrix,
    .ownership-section > div,
    .signal-strip {
        grid-template-columns: 1fr;
    }

    .program-card {
        min-height: auto;
    }

    .program-card dl {
        grid-template-columns: 1fr;
    }

    .faculty-card__portrait {
        width: 170px;
    }

    .system-console {
        padding: 20px;
    }

    .system-console li {
        grid-template-columns: 42px 1fr;
    }

    .system-console li b,
    .process-section li p {
        grid-column: 2;
    }

    .signal-strip span {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .process-section li {
        grid-template-columns: 38px 1fr;
    }

    .ownership-section article {
        border-right: 0;
        border-bottom: 1px solid rgba(10, 53, 64, .16);
    }

    .ownership-section article:last-child {
        border-bottom: 0;
    }

    .site-cta h2 {
        font-size: 3.7rem;
    }

    .brand-system .footer__content {
        grid-template-columns: 1fr;
    }

    .brand-system .footer__bottom {
        flex-direction: column;
    }
}

@media (max-width: 440px) {
    .literary-hero h1 {
        font-size: 3.45rem;
    }

    .solutions-hero h1,
    .site-section__heading h2 {
        font-size: 2.85rem;
    }

    .ownership-section h2 {
        font-size: clamp(2.65rem, 11vw, 2.85rem);
        overflow-wrap: break-word;
    }

    .site-cta h2 {
        font-size: 3rem;
    }

    .brand-system .site-button {
        width: 100%;
    }
}
