/*
 * Talty Literary Solutions — systems studio
 * Websites and custom software presentation 1.3.1
 */

/* Self-hosted so the brand exists off macOS. The previous stack asked for
   Avenir Next, which ships only on Apple systems; Windows fell back to Segoe UI
   and Android to Roboto, so the site rendered as itself on one machine.
   Atkinson Hyperlegible is the same face Talty Literary serves, which ties the
   two properties together, and it was drawn by the Braille Institute to keep
   similar letterforms distinct. SIL Open Font License 1.1; the license file
   ships beside the fonts as the license requires. */
@font-face {
    font-family: "Atkinson Hyperlegible";
    src: url("../fonts/AtkinsonHyperlegible-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Atkinson Hyperlegible";
    src: url("../fonts/AtkinsonHyperlegible-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --tls-ink: #142c3a;
    --tls-ink-2: #1c4655;
    --tls-paper: #f1eee6;
    --tls-white: #fffdf8;
    --tls-rule: #9aa4a8;
    --tls-muted: #53636b;
    --tls-green: #d97b4a;
    --tls-amber: #e7b85d;
    --tls-focus: #006bff;
    --tls-sans: "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --tls-head: "Atkinson Hyperlegible", "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
    --tls-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
    --tls-max: 86rem;
    --tls-pad: clamp(1.25rem, 4vw, 4.5rem);
}

html { scroll-behavior: smooth; }
body.brand-system--tls,
body.solutions-site {
    margin: 0;
    padding: 0;
    background: var(--tls-paper);
    color: var(--tls-ink);
    font-family: var(--tls-sans);
    font-size: 1.0625rem;
    line-height: 1.58;
}
.brand-system--tls *, .brand-system--tls *::before, .brand-system--tls *::after { box-sizing: border-box; }
.brand-system--tls img { display: block; max-width: 100%; height: auto; }
.brand-system--tls p { margin: 0 0 1rem; }
.brand-system--tls a { color: var(--tls-ink); text-decoration-thickness: .08em; text-underline-offset: .22em; }
.brand-system--tls a:hover { color: #23645f; }
.brand-system--tls h1,
.brand-system--tls h2,
.brand-system--tls h3,
.brand-system--tls h4 {
    margin: 0 0 1rem;
    color: var(--tls-ink);
    font-family: var(--tls-head);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.04;
}
.brand-system--tls h1 { max-width: 17ch; font-size: clamp(3.15rem, 6.5vw, 5.8rem); }
.brand-system--tls h2 { max-width: 23ch; font-size: clamp(2.2rem, 4.5vw, 4rem); }
.brand-system--tls h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.brand-system--tls :focus-visible { outline: 3px solid var(--tls-focus); outline-offset: 4px; }
.brand-system--tls .proof-ledger :focus-visible,
.brand-system--tls .work-dossier :focus-visible,
.brand-system--tls .site-cta--solutions :focus-visible,
.brand-system--tls .site-footer :focus-visible { outline-color: #fff; }
.brand-system--tls .container { width: min(100%, var(--tls-max)); margin-inline: auto; padding-inline: var(--tls-pad); }
.brand-system--tls .container--narrow { width: min(100%, 54rem); }
.brand-system--tls .site-main { padding-top: 0; scroll-margin-top: 6rem; }
.brand-system--tls .site-main [id] { scroll-margin-top: 7rem; }

.preview-banner {
    position: relative;
    z-index: 1100;
    padding: .48rem var(--tls-pad);
    border-bottom: 1px solid #090909;
    background: #ffe55c;
    color: #090909;
    font: 600 .72rem/1.35 var(--tls-mono);
    letter-spacing: .045em;
    text-align: center;
    text-transform: uppercase;
}
.brand-system--tls .skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 9999; transform: translateY(-180%); padding: .65rem 1rem; background: var(--tls-ink); color: #fff; }
.brand-system--tls .skip-link:focus { transform: none; }

.brand-system--tls .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 0;
    border-bottom: 1px solid var(--tls-ink);
    background: color-mix(in srgb, var(--tls-paper) 96%, transparent);
    box-shadow: none !important;
    backdrop-filter: blur(10px);
}
.brand-system--tls .header-inner { min-height: 5.5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand-system--tls .site-logo { color: var(--tls-ink); text-decoration: none; }
.brand-system--tls .brand-wordmark { display: flex; align-items: baseline; gap: .52rem; white-space: nowrap; }
.brand-system--tls .brand-wordmark__name { font: 750 1.55rem/1 var(--tls-head); letter-spacing: -.055em; }
.brand-system--tls .brand-wordmark__descriptor { border-left: 1px solid var(--tls-rule); padding-left: .52rem; font: 600 .76rem/1.1 var(--tls-sans); letter-spacing: .11em; text-transform: uppercase; }
.brand-system--tls .main-nav ul { display: flex; align-items: center; gap: 1.3rem; margin: 0; padding: 0; list-style: none; }
.brand-system--tls .main-nav a { display: block; padding: .6rem 0; color: var(--tls-ink); font-size: .9rem; font-weight: 650; text-decoration: none; }
.brand-system--tls .main-nav a::after { display: none; }
.brand-system--tls .main-nav a:hover,
.brand-system--tls .main-nav .current-menu-item > a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .36rem; }
.brand-system--tls .main-nav .nav-cta { padding: .66rem .9rem; border: 1px solid var(--tls-ink); background: var(--tls-amber); }
.brand-system--tls .mobile-menu-toggle { display: none; border: 0; background: transparent; color: var(--tls-ink); }

.site-kicker,
.brand-system--tls .eyebrow { margin: 0 0 1.15rem; color: var(--tls-muted); font: 500 .72rem/1.35 var(--tls-mono); letter-spacing: .1em; text-transform: uppercase; }
.solutions-deck,
.brand-system--tls .lead { max-width: 49rem; font-size: clamp(1.3rem, 2.15vw, 1.75rem); line-height: 1.42; }

.solutions-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr); min-height: min(46rem, 80vh); border-bottom: 1px solid var(--tls-ink); }
.solutions-hero__copy { padding: clamp(5rem, 10vw, 8.5rem) var(--tls-pad) 5rem max(var(--tls-pad), calc((100vw - var(--tls-max)) / 2 + var(--tls-pad))); }
.solutions-hero__copy > p { max-width: 50rem; }
.proof-ledger { display: flex; flex-direction: column; justify-content: center; padding: 4rem var(--tls-pad); border-left: 1px solid var(--tls-ink); background: var(--tls-ink); color: #fff; }
.proof-ledger__label, .proof-ledger__status { font: 500 .72rem/1.4 var(--tls-mono); letter-spacing: .08em; text-transform: uppercase; }
.proof-ledger__label { padding-bottom: 1rem; border-bottom: 1px solid #74908b; }
.proof-ledger dl { margin: 1rem 0 2rem; }
.proof-ledger dl div { padding: 1rem 0; border-bottom: 1px solid #57746f; }
.proof-ledger dt { color: #c6d5d1; font: .7rem/1.4 var(--tls-mono); text-transform: uppercase; }
.proof-ledger dd { margin: .35rem 0 0; font: 500 1.15rem/1.35 var(--tls-head); }
.proof-ledger__status { width: fit-content; padding: .5rem .65rem; background: var(--tls-amber); color: var(--tls-ink); }

.site-button-row, .brand-system--tls .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.3rem; margin-top: 2rem; }
.site-button, .brand-system--tls .brand-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: .72rem 1rem; border: 1px solid var(--tls-ink); border-radius: 0; box-shadow: none; font-weight: 700; text-decoration: none; }
.site-button--solutions, .brand-system--tls .brand-button--primary { background: var(--tls-ink); color: #fff !important; }
.brand-system--tls .brand-button--secondary { background: transparent; color: var(--tls-ink); }
.site-button--light { background: var(--tls-white); color: var(--tls-ink) !important; }
.site-button--signal { background: var(--tls-white); color: var(--tls-ink) !important; }
.site-text-link { font-weight: 700; }

.capability-index, .engagement-record, .work-dossier, .fit-record, .site-cta--solutions { width: min(100%, var(--tls-max)); margin-inline: auto; padding: clamp(4.5rem, 8vw, 7.5rem) var(--tls-pad); }
.capability-index { display: grid; grid-template-columns: minmax(16rem, 4fr) minmax(0, 8fr); gap: clamp(3rem, 7vw, 7rem); }
.capability-index > header p:last-child { max-width: 30rem; }
.capability-index__list { border-top: 2px solid var(--tls-ink); }
.capability-index__list article { display: grid; grid-template-columns: 3rem minmax(14rem, 4fr) minmax(9rem, 2fr); gap: 1.5rem; align-items: start; padding: 1.65rem 0; border-bottom: 1px solid var(--tls-rule); }
.capability-index__list article > span { padding-top: .35rem; font: .72rem/1 var(--tls-mono); }
.capability-index__list h3 { margin-bottom: .45rem; }
.capability-index__list p { margin: 0; color: var(--tls-muted); }
.capability-index__list article > a { justify-self: end; font-weight: 700; }
/* The heading is the largest target in each row but was not inside the link.
   The existing anchor is stretched across the whole row so the obvious target
   is the real one. One anchor per row is kept, so the accessible name and the
   tab order are unchanged.
   The anchor itself must NOT be positioned. A positioned anchor becomes the
   containing block for its own ::after, so inset:0 would cover only the link
   instead of the row — which is exactly what broke the first attempt. */
.capability-index__list article { position: relative; }
.capability-index__list article > a::after { content: ""; position: absolute; inset: 0; }
.capability-index__list article:hover { background: var(--tls-white); }
.capability-index__list article:hover h3 { text-decoration: underline; text-underline-offset: .18em; }
.capability-index__list article:focus-within { background: var(--tls-white); }
@media (prefers-reduced-motion: no-preference) {
    .capability-index__list article { transition: background-color 120ms ease; }
}

.engagement-record { border-block: 1px solid var(--tls-ink); background: var(--tls-white); }
.engagement-record > header { display: grid; grid-template-columns: 3fr 7fr; gap: 3rem; }
.engagement-record ol { display: grid; grid-template-columns: repeat(4, 1fr); margin: 3rem 0 0; padding: 0; border-top: 2px solid var(--tls-ink); list-style: none; }
.engagement-record li { min-height: 14rem; padding: 1.4rem 1.4rem 1.4rem 0; border-right: 1px solid var(--tls-rule); }
.engagement-record li + li { padding-left: 1.4rem; }
.engagement-record li:last-child { border-right: 0; }
.engagement-record span { display: block; margin-bottom: 3rem; font: 600 .78rem/1.3 var(--tls-mono); text-transform: uppercase; }

.work-dossier { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 8rem); background: var(--tls-ink-2); color: #fff; }
.work-dossier h2, .work-dossier a, .work-dossier .site-kicker { color: #fff; }
.work-dossier__evidence { margin: 0; border-top: 1px solid #78908c; }
.work-dossier__evidence div { display: grid; grid-template-columns: 8rem 1fr; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #78908c; }
.work-dossier__evidence dt { color: #c7d2ce; font: .68rem/1.4 var(--tls-mono); text-transform: uppercase; }
.work-dossier__evidence dd { margin: 0; }

.fit-record { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(3rem, 8vw, 8rem); }
.fit-record > div { border-top: 2px solid var(--tls-ink); }
.fit-record > div p { padding: 1.1rem 0; border-bottom: 1px solid var(--tls-rule); }
.fit-record strong { font-family: var(--tls-head); }
.published-offerings,
.cost-note { width: min(100%, var(--tls-max)); margin-inline: auto; padding: clamp(4.5rem, 8vw, 7.5rem) var(--tls-pad); }
.work-index { width: min(100%, var(--tls-max)); margin-inline: auto; padding: clamp(4.5rem, 8vw, 7.5rem) var(--tls-pad); border-top: 1px solid var(--tls-ink); }
.work-index > header { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(2rem, 7vw, 7rem); }
.work-index > header > :not(.site-kicker) { grid-column: 2; }
.work-index .deliverable-grid { margin: 3rem 0; }
.work-index .deliverable { display: block; }
.published-offerings { border-top: 1px solid var(--tls-ink); }
.published-offerings > header { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(2rem, 7vw, 7rem); }
.published-offerings__list { margin-top: 3rem; border-top: 2px solid var(--tls-ink); }
.published-offerings__list article { display: grid; grid-template-columns: 2fr 4fr 6fr; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--tls-rule); }
.published-offerings__list h3, .published-offerings__list p { margin: 0; }
.record-meta { color: var(--tls-muted); font: 500 .7rem/1.5 var(--tls-mono); letter-spacing: .06em; text-transform: uppercase; }
.cost-note { display: grid; grid-template-columns: 3fr 5fr 4fr; gap: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--tls-ink); background: var(--tls-amber); }
.cost-note > * { margin: 0; }
.cost-note .site-kicker { color: var(--tls-ink); }
.site-cta--solutions { max-width: none; width: 100%; background: var(--tls-ink-2); color: #fff; }
.site-cta--solutions h2, .site-cta--solutions .site-kicker { color: #fff; }
.site-cta--solutions > * { width: min(100% - (var(--tls-pad) * 2), calc(var(--tls-max) - (var(--tls-pad) * 2))); margin-left: auto; margin-right: auto; }
/* The action sits in a column-width wrapper so the control itself stays the size
   of its label. A full-width control reads as a divider, not a button.
   Amber on the ink-2 band measures 5.55:1, clearing WCAG 2.1 SC 1.4.11 (3:1);
   ink on amber measures 7.86:1 for the label. The previous ink-on-ink-2
   treatment measured 1.42:1 and failed. */
.site-cta--solutions .site-cta__action { margin-block: 2rem 0; }
.site-cta--solutions .brand-button--primary { background: var(--tls-amber); border-color: var(--tls-amber); color: var(--tls-ink) !important; }

/* Interior evidence pages */
.brand-system--tls .page-hero { padding: clamp(5rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--tls-ink); background: transparent; }
.brand-system--tls .page-hero .container { display: grid; grid-template-columns: minmax(0, 8fr) minmax(12rem, 3fr); gap: 2rem 5rem; }
.brand-system--tls .page-hero .eyebrow, .brand-system--tls .page-hero h1, .brand-system--tls .page-hero .lead { grid-column: 1; }
.brand-system--tls .page-hero .button-row, .brand-system--tls .page-hero .offer-meta { grid-column: 1 / -1; }
.brand-system--tls .offer-layout { display: grid; grid-template-columns: minmax(15rem, 3fr) minmax(0, 8fr); gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(4rem, 8vw, 7rem); }
.brand-system--tls .offer-aside { align-self: start; position: sticky; top: 7.5rem; padding: 1.2rem 0; border-block: 2px solid var(--tls-ink); background: transparent; border-radius: 0; box-shadow: none; }
.brand-system--tls .offer-aside h2 { font-size: 1.35rem; }
.brand-system--tls .offer-aside ul { margin: 1rem 0; padding: 0; list-style: none; }
.brand-system--tls .offer-aside li { padding: .55rem 0; border-top: 1px solid var(--tls-rule); }
.brand-system--tls .offer-content { min-width: 0; }
.brand-system--tls .offer-content > section { padding: 0 0 clamp(3.5rem, 7vw, 6rem); margin: 0 0 clamp(3.5rem, 7vw, 6rem); border-bottom: 1px solid var(--tls-rule); }
.case-study-roles { margin: 1.5rem 0 2rem; border-top: 1px solid var(--tls-rule); }
.case-study-roles > div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--tls-rule); }
.case-study-roles dt { font-weight: 700; }
.case-study-roles dd { margin: 0; }
.case-study-note { padding: 1rem 1.25rem; border-left: 3px solid var(--tls-ink); background: var(--tls-white); font-size: .95rem; }
.case-study-screen { margin: 2rem 0; }
.case-study-screen img { display: block; width: 100%; height: auto; border: 1px solid var(--tls-rule); }
.case-study-screen figcaption { margin-top: .75rem; font-size: .9rem; }
.case-study-screen a { display: block; }
.case-study-comparison { margin-bottom: 2rem; border-block: 1px solid var(--tls-rule); }
.case-study-comparison summary { padding: 1rem 0; cursor: pointer; font-weight: 700; }
.brand-system--tls .deliverable-grid { display: block; border-top: 2px solid var(--tls-ink); }
.brand-system--tls .deliverable { display: grid; grid-template-columns: minmax(10rem, 3fr) minmax(0, 6fr); gap: 2rem; padding: 1.4rem 0; border: 0; border-bottom: 1px solid var(--tls-rule); border-radius: 0; background: transparent; box-shadow: none; }
.brand-system--tls .deliverable h3, .brand-system--tls .deliverable p { margin: 0; }
.brand-system--tls .steps { margin: 0; padding: 0; list-style: none; counter-reset: step; border-top: 2px solid var(--tls-ink); }
.brand-system--tls .step { position: relative; display: grid; grid-template-columns: 3fr 6fr; gap: 2rem; padding: 1.4rem 0 1.4rem 3.2rem; border-bottom: 1px solid var(--tls-rule); }
.brand-system--tls .step::before { counter-increment: step; content: counter(step, decimal-leading-zero); position: absolute; top: 1.8rem; left: 0; font: .7rem/1 var(--tls-mono); }
.brand-system--tls .step h3, .brand-system--tls .step p { margin: 0; }
.brand-system--tls .boundary { padding: 2rem 0; border: 0; border-block: 2px solid var(--tls-ink) !important; border-radius: 0; background: transparent; box-shadow: none; }
.brand-system--tls .boundary h2 { font-size: 2rem; }
.brand-system--tls .offer-meta { display: flex; flex-wrap: wrap; gap: 0; margin-top: 1rem; border-block: 1px solid var(--tls-rule); }
.brand-system--tls .meta-chip { padding: .65rem .9rem; border-right: 1px solid var(--tls-rule); border-radius: 0; background: transparent; font: .72rem/1.2 var(--tls-mono); }

.brand-system--tls .inquiry-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(19rem, 5fr); gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(4rem, 8vw, 7rem); }
.brand-system--tls .trust-strip { margin-top: 2rem; border-top: 2px solid var(--tls-ink); }
.brand-system--tls .trust-item { padding: 1rem 0; border-bottom: 1px solid var(--tls-rule); }
.brand-system--tls .trust-item strong, .brand-system--tls .trust-item span { display: block; }
.brand-system--tls .form-panel { padding: 2rem; border: 2px solid var(--tls-ink); border-radius: 0; background: var(--tls-white); box-shadow: none; }
.brand-system--tls input, .brand-system--tls textarea, .brand-system--tls select { width: 100%; padding: .75rem; border: 1px solid var(--tls-ink); border-radius: 0; background: #fff; font: inherit; }
.brand-system--tls input[type="submit"], .brand-system--tls button:not(.mobile-menu-toggle) { width: auto; padding: .75rem 1rem; background: var(--tls-ink); color: #fff; font-weight: 700; }
.brand-system--tls .page-header, .brand-system--tls .page-content { padding-block: 4rem; }
.brand-system--tls .entry-content { font-size: 1.08rem; }
.brand-system--tls article.post { padding: 2rem 0; border-bottom: 1px solid var(--tls-rule); }
.brand-system--tls .btn { display: inline-block; padding: .65rem .85rem; border: 1px solid var(--tls-ink); font-weight: 700; text-decoration: none; }
.brand-system--tls .record-page { width: min(100%, 64rem); margin-inline: auto; padding: clamp(4rem, 8vw, 8rem) var(--tls-pad); }
.brand-system--tls .record-page__meta { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding-block: 1rem; border-block: 1px solid var(--tls-rule); font: .72rem/1.4 var(--tls-mono); text-transform: uppercase; }
.brand-system--tls .record-page__body { margin-top: 3rem; font-size: 1.12rem; }

.brand-system--tls .site-footer { padding: clamp(4rem, 8vw, 7rem) 0 2rem; border-top: 1px solid var(--tls-ink); background: var(--tls-ink); color: #edf1eb; }
.brand-system--tls .site-footer a, .brand-system--tls .site-footer h4, .brand-system--tls .site-footer .brand-wordmark__name { color: #fff; }
.brand-system--tls .footer__content { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 2.5rem; }
.brand-system--tls .footer__tagline { max-width: 24rem; font: 600 1.35rem/1.3 var(--tls-head); }
.brand-system--tls .footer__nav-title { margin: 0 0 .8rem; font: 500 .7rem/1.3 var(--tls-mono); letter-spacing: .12em; text-transform: uppercase; }
.brand-system--tls .footer__nav ul { margin: 0; padding: 0; list-style: none; }
.brand-system--tls .footer__nav li { margin-bottom: .45rem; }
.brand-system--tls .footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #56716c; font-size: .9rem; }
.brand-system--tls .footer__legal { display: flex; flex-wrap: wrap; gap: 1rem; }

@media (max-width: 1020px) {
    .has-js .brand-system--tls .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 3rem; min-height: 3rem; padding: .5rem; }
    .brand-system--tls .main-nav { display: block; position: absolute; top: 100%; left: 0; right: 0; border-bottom: 1px solid var(--tls-ink); background: var(--tls-paper); }
    .has-js .brand-system--tls .main-nav { display: none; }
    .has-js .brand-system--tls .main-nav.is-open { display: block; }
    .brand-system--tls .main-nav ul { display: block; padding: 1rem var(--tls-pad) 1.5rem; }
    .brand-system--tls .main-nav a { padding: .85rem 0; border-bottom: 1px solid var(--tls-rule); }
    .brand-system--tls .main-nav .nav-cta { border: 0; border-bottom: 1px solid var(--tls-rule); background: transparent; }
    html:not(.has-js) .brand-system--tls .header-inner { flex-wrap: wrap; }
    html:not(.has-js) .brand-system--tls .main-nav { position: static; width: 100%; }
    .solutions-hero, .capability-index, .work-dossier, .fit-record,
    .brand-system--tls .offer-layout, .brand-system--tls .inquiry-layout { grid-template-columns: 1fr; }
    .published-offerings > header, .work-index > header, .cost-note { grid-template-columns: 1fr; }
    .work-index > header > :not(.site-kicker) { grid-column: auto; }
    .proof-ledger { border-top: 1px solid var(--tls-ink); border-left: 0; }
    .engagement-record ol { grid-template-columns: 1fr 1fr; }
    .engagement-record li:nth-child(2) { border-right: 0; }
    .brand-system--tls .offer-aside { position: static; }
    .brand-system--tls .footer__content { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .brand-system--tls h1 { font-size: clamp(2.75rem, 14vw, 4.1rem); }
    .brand-system--tls h2 { font-size: clamp(2rem, 10vw, 3rem); }
    .brand-system--tls .header-inner { min-height: 4.8rem; }
    .brand-system--tls .brand-wordmark__name { font-size: 1.55rem; }
    .brand-system--tls .brand-wordmark__descriptor { font-size: .64rem; }
    .solutions-hero__copy { padding-top: 4rem; }
    .capability-index__list article { grid-template-columns: 2.2rem 1fr; gap: .6rem 1rem; }
    .capability-index__list article > a { grid-column: 2; justify-self: start; }
    .published-offerings__list article { grid-template-columns: 1fr; gap: .35rem; }
    .engagement-record > header { display: block; }
    .engagement-record ol { grid-template-columns: 1fr; }
    .engagement-record li, .engagement-record li + li { min-height: 0; padding: 1.3rem 0; border-right: 0; border-bottom: 1px solid var(--tls-rule); }
    .engagement-record span { margin-bottom: .5rem; }
    .work-dossier__evidence div { grid-template-columns: 1fr; gap: .25rem; }
    .case-study-roles > div { grid-template-columns: 1fr; gap: .35rem; }
    .brand-system--tls .page-hero .container { display: block; }
    .brand-system--tls .deliverable, .brand-system--tls .step { grid-template-columns: 1fr; gap: .35rem; }
    .brand-system--tls .footer__content { grid-template-columns: 1fr; }
    .brand-system--tls .footer__bottom { display: block; }
}

@media (max-width: 360px) {
    .brand-system--tls .header-inner { gap: .5rem; padding-inline: .75rem; }
    .brand-system--tls .brand-wordmark__name { font-size: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .brand-system--tls *, .brand-system--tls *::before, .brand-system--tls *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
