/* Inner marketing pages: the home page's minimal rules applied below each page's opening.
   Contract: DESIGN.md ("Inner pages"). Every page keeps its opening section (.tf-page-head,
   .tf-tool, the blog article head) exactly as it was; these rules only reach the sections after
   it. The id in each selector keeps them ahead of typography.css and the older -mapa themes. */
body.tf-inner {
    --mn-ink: var(--foreground);
    --mn-muted: var(--muted-foreground);
    --mn-surface: #f5f8f8;
    --mn-tint: #eef7f4;
    --mn-line: #e3eaea;
    --mn-line-strong: #cfdcdc;
    --mn-primary-hover: #0a4f55;
    --mn-on-inverse-muted: #b7cfcd;
    --mn-on-inverse-line: rgb(255 255 255 / 18%);
    --mn-radius-lg: calc(var(--radius-md) * 1.5);
    --mn-radius-xl: calc(var(--radius-md) * 2);
    --mn-radius-2xl: calc(var(--radius-md) * 3);
    --mn-section-y: var(--space-24);
    --mn-head-gap: var(--space-12);
}

/* Section rhythm: 96px bands, white by default, one quiet surface and one inverse band. */
body.tf-inner #main-content .tf-section,
body.tf-inner #main-content :is(.bl-library,.bl-related) { padding: var(--mn-section-y) 0; }
body.tf-inner #main-content :is(.tf-deliverables-section,.pm-about-mission,.tf-development) { background: var(--mn-surface); border: 0; }
body.tf-inner #main-content .bl-service { border-bottom: 0; }
/* Two white sections in a row are split by a hairline instead of a double gap. */
body.tf-inner #main-content .tf-results:not(.hidden) + .tf-section { padding-top: 0; }
body.tf-inner #main-content .tf-results:not(.hidden) + .tf-section > .tf-shell { padding-top: var(--mn-section-y); border-top: 1px solid var(--mn-line); }

/* Section headings */
body.tf-inner #main-content :is(.tf-section:not(.tf-dark) > .tf-shell:not(.tf-legal) > h2,.sm-catalogue-intro h2,.tf-story h2,.tf-section-heading h2,.bl-section-head h2,.tf-comp-header h2,.tf-page-cta h2,.bl-contact h2),
body.tf-inner #main-content .tf-dark > .tf-shell > h2 {
    margin: 0 0 var(--mn-head-gap);
    color: inherit;
    font-size: clamp(32px, 3.1vw, 44px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-wrap: balance;
}
body.tf-inner #main-content .sm-catalogue-intro { max-width: 760px; margin: 0 0 var(--mn-head-gap); }
body.tf-inner #main-content .sm-catalogue-intro h2 { margin-bottom: 0; }
body.tf-inner #main-content .sm-catalogue-intro > p:last-child { max-width: 56ch; margin: var(--space-4) 0 0; color: var(--mn-muted); font-size: 18px; line-height: 1.6; }
body.tf-inner #main-content .tf-section-heading { margin-bottom: var(--mn-head-gap); }
body.tf-inner #main-content .tf-section-heading h2 { margin: 0; }

/* Client strip caption (services overview), as on home. */
body.tf-inner #main-content .tf-clients { padding: var(--space-10) 0; border-top: 0; border-bottom: 1px solid var(--mn-line); }
body.tf-inner #main-content .tf-clients > .tf-eyebrow { margin: 0 0 var(--space-5); color: var(--mn-muted); font: 500 13px/1.5 var(--tf-font-sans); letter-spacing: 0; text-align: center; text-transform: none; }

/* Three-up lists (scope, deliverables, values, why): hairline-topped columns, quiet numbers. */
body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid { gap: var(--space-10) var(--space-8); }
body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid article { padding: var(--space-6) 0 0; border-top: 1px solid var(--mn-line-strong); }
body.tf-inner #main-content .tf-section .tf-editorial-grid .tf-number,
body.tf-inner #main-content :is(.tf-next-steps,.tf-comp-card-head) .tf-number {
    display: block;
    width: auto;
    margin: 0 0 var(--space-5);
    padding: 0;
    border: 0;
    color: var(--mn-muted);
    font: 500 14px/1 var(--tf-font-sans);
    letter-spacing: 0;
    text-transform: none;
    font-variant-numeric: tabular-nums;
}
body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid h3 { margin: 0 0 var(--space-2); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid p { max-width: 44ch; margin: 0; color: var(--mn-muted); font-size: 16px; line-height: 1.6; opacity: 1; }
body.tf-inner #main-content .tf-deliverables-grid { margin-top: 0; }
body.tf-inner #main-content .tf-deliverables-scanner-note { margin-top: var(--space-10); padding: var(--space-6) 0 0; border: 0; border-top: 1px solid var(--mn-line-strong); background: none; }

/* Method band: the page's one inverse band, heading left and steps as rows, as on home. */
body.tf-inner #main-content .tf-dark { color: #fff; background: var(--mn-ink); }
body.tf-inner #main-content .tf-dark > .tf-shell { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: start; }
body.tf-inner #main-content .tf-dark > .tf-shell > h2 { max-width: 12ch; margin: 0; color: #fff; }
body.tf-inner #main-content .tf-dark .tf-editorial-grid { display: block; margin: 0; border-bottom: 1px solid var(--mn-on-inverse-line); }
body.tf-inner #main-content .tf-dark .tf-editorial-grid article { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--space-4); min-width: 0; padding: var(--space-8) 0; border: 0; border-top: 1px solid var(--mn-on-inverse-line); }
body.tf-inner #main-content .tf-dark .tf-editorial-grid .tf-number { grid-row: 1 / 3; margin: 0; padding-top: 6px; color: var(--mn-on-inverse-muted); }
body.tf-inner #main-content .tf-dark .tf-editorial-grid h3 { margin: 0 0 var(--space-2); color: #fff; font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
body.tf-inner #main-content .tf-dark .tf-editorial-grid p { max-width: 44ch; margin: 0; color: var(--mn-on-inverse-muted); font-size: 17px; line-height: 1.6; opacity: 1; }

/* Links and buttons after the opening. landing.css and development.css force an underline on
   .tf-text-link and .tf-project-inquire with !important (the openings still rely on it), so the
   resting and hover decoration here need !important too. */
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-library,.bl-related,.bl-contact,.bl-article-layout) :is(.tf-text-link,.bl-read),
body.tf-inner #main-content :is(.sm-catalogue-cta,.tf-project-inquire,.tf-comp-card-action a) {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--mn-ink);
    font: 500 15px/1.4 var(--tf-font-sans);
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none !important;
}
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-library,.bl-related,.bl-contact,.bl-article-layout) :is(.tf-text-link,.bl-read):hover,
body.tf-inner #main-content :is(.tf-project-inquire,.tf-comp-card-action a):hover,
body.tf-inner #main-content .tf-catalogue-development:hover .sm-catalogue-cta { color: var(--mn-ink); text-decoration: underline 1px !important; text-underline-offset: 5px; }
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-library,.bl-related,.bl-contact,.bl-article-layout) :is(.tf-text-link,.bl-read) svg,
body.tf-inner #main-content :is(.sm-catalogue-cta,.tf-comp-card-action a) svg { width: 16px; height: 16px; flex: 0 0 16px; margin: 0; }
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-contact) :is(.tf-button,.tf-comp-btn-primary,.tf-comp-btn-secondary) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: var(--control-md);
    margin: 0;
    padding: 0 var(--space-6);
    border: 1px solid var(--mn-ink);
    border-radius: var(--radius-md);
    background: var(--mn-ink);
    color: #fff !important;
    font: 500 15px/1.2 var(--tf-font-sans);
    letter-spacing: 0;
    text-decoration: none;
    filter: none;
}
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-contact) :is(.tf-button,.tf-comp-btn-primary):hover { border-color: var(--mn-primary-hover); background: var(--mn-primary-hover); filter: none; }
body.tf-inner #main-content .tf-section .tf-comp-btn-secondary { border-color: var(--mn-line-strong); background: #fff; color: var(--mn-ink) !important; }
body.tf-inner #main-content .tf-section .tf-comp-btn-secondary:hover { border-color: var(--mn-ink); background: #fff; color: var(--mn-ink) !important; }
body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-contact) :is(.tf-button,.tf-comp-btn-primary,.tf-comp-btn-secondary) svg { width: 18px; height: 18px; flex: 0 0 18px; }
@media (prefers-reduced-motion: no-preference) {
    body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-library,.bl-related,.bl-contact,.bl-article-layout) :is(.tf-text-link,.bl-read) svg,
    body.tf-inner #main-content :is(.sm-catalogue-cta,.tf-comp-card-action a) svg,
    body.tf-inner #main-content .tf-catalogue-row .tf-row-arrow { transition: transform var(--motion-feedback) var(--motion-ease); }
    body.tf-inner #main-content :is(.tf-section,.tf-page-cta,.bl-library,.bl-related,.bl-contact,.bl-article-layout) :is(.tf-text-link,.bl-read):hover svg,
    body.tf-inner #main-content :is(.tf-catalogue-development:hover .sm-catalogue-cta,.tf-comp-card-action a:hover) svg,
    body.tf-inner #main-content .tf-catalogue-row:hover .tf-row-arrow { transform: translateX(2px); }
}

/* Closing panel: the page CTA band and the blog "from reading to action" band become the home
   page's centred tint panel. */
body.tf-inner #main-content :is(.tf-page-cta,.bl-contact) { padding: 0 0 var(--mn-section-y); border: 0; background: none; }
body.tf-inner #main-content .tf-dark + .tf-page-cta { padding-top: var(--mn-section-y); }
body.tf-inner #main-content :is(.tf-page-cta > .tf-shell,.bl-contact-inner) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-8);
    padding: var(--space-16) var(--space-8);
    border-radius: var(--mn-radius-2xl);
    background: var(--mn-tint);
    text-align: center;
}
body.tf-inner #main-content :is(.tf-page-cta,.bl-contact) h2 { max-width: 22ch; margin: 0; }
body.tf-inner #main-content .bl-contact-inner p { margin: var(--space-4) 0 0; color: var(--mn-muted); font-size: 18px; line-height: 1.6; }
body.tf-inner #main-content .bl-article-layout + .bl-contact,
body.tf-inner #main-content .bl-article + .bl-contact { padding-top: 0; }

/* Dossier bar under a service opening: a quiet back/contact row. */
body.tf-inner #main-content .tf-dossier-bar { padding-block: var(--space-4); border-color: var(--mn-line); color: var(--mn-muted); font: 500 14px/1.5 var(--tf-font-sans); }
body.tf-inner #main-content .tf-dossier-bar a { min-height: 44px; gap: var(--space-2); color: var(--mn-muted); font-weight: 500; }
body.tf-inner #main-content .tf-dossier-bar a:hover { color: var(--mn-ink); }
body.tf-inner #main-content .tf-dossier-bar a:last-child { color: var(--mn-ink); }
body.tf-inner #main-content .tf-dossier-bar svg { width: 16px; height: 16px; flex: 0 0 16px; }

/* Services overview: catalogue rows and the development card. */
body.tf-inner #main-content .tf-catalogue { gap: 0 var(--space-12); }
body.tf-inner #main-content .tf-catalogue-row { grid-template-columns: 40px minmax(0, 1fr) 20px; gap: var(--space-2) var(--space-4); padding: var(--space-8) 0; border-top: 1px solid var(--mn-line-strong); color: var(--mn-ink); }
body.tf-inner #main-content .tf-catalogue-row:nth-last-child(2),
body.tf-inner #main-content .tf-catalogue-row:nth-last-child(3) { border-bottom: 1px solid var(--mn-line-strong); }
body.tf-inner #main-content .tf-catalogue-row:hover { color: var(--mn-ink); background: transparent; }
body.tf-inner #main-content .tf-catalogue-row > .tf-number { display: block; width: auto; height: auto; margin: 0; padding-top: 6px; border-radius: 0; background: none; color: var(--mn-muted); font: 500 14px/1 var(--tf-font-sans); letter-spacing: 0; font-variant-numeric: tabular-nums; }
body.tf-inner #main-content .tf-catalogue-row h2 { margin: 0; color: var(--mn-ink); font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; text-wrap: initial; }
body.tf-inner #main-content .tf-catalogue-row:hover h2 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
body.tf-inner #main-content .tf-catalogue-row > p { max-width: 46ch; margin: 0; color: var(--mn-muted); font-size: 16px; line-height: 1.6; }
body.tf-inner #main-content .tf-catalogue-row .tf-row-arrow { width: 20px; height: 28px; color: var(--mn-ink); }
body.tf-inner #main-content .tf-catalogue-row .tf-row-arrow svg { width: 16px; height: 16px; }
body.tf-inner #main-content .tf-catalogue-development { grid-template-columns: 40px minmax(0, 1fr) 160px; gap: var(--space-2) var(--space-4); margin-top: var(--space-10); padding: var(--space-10); border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: #fff; }
body.tf-inner #main-content .tf-catalogue-development:hover { border-color: var(--mn-line-strong); background: #fff; }
body.tf-inner #main-content .tf-catalogue-development:hover h2 { text-decoration: none; }
body.tf-inner #main-content .tf-catalogue-development > .tf-number { background: none; }
body.tf-inner #main-content .tf-catalogue-development h2 { font-size: clamp(24px, 2.2vw, 28px); letter-spacing: -.025em; }
body.tf-inner #main-content .tf-catalogue-development > p { max-width: 56ch; }
body.tf-inner #main-content .sm-catalogue-cta { margin-top: var(--space-4); }

/* Custom development: project showcases. */
body.tf-inner #main-content .tf-project-screen { border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: #fff; }
body.tf-inner #main-content .tf-project-screen:hover { border-color: var(--mn-line-strong); }
body.tf-inner #main-content .tf-browser-bar { border-color: var(--mn-line); color: var(--mn-muted); font: 500 12px/1.5 var(--tf-font-sans); }
body.tf-inner #main-content .tf-browser-dots { color: var(--mn-line-strong); }
body.tf-inner #main-content .tf-project-category { margin: 0 0 var(--space-2); color: var(--mn-muted); font-size: 14px; line-height: 1.4; }
body.tf-inner #main-content .tf-development-page .tf-project-copy h3 { margin: 0 0 var(--space-3); font-size: clamp(26px, 2.4vw, 32px); font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
body.tf-inner #main-content .tf-development-page .tf-project-copy > p:not(.tf-project-category) { max-width: 48ch; color: var(--mn-muted); font-size: 16px; line-height: 1.6; }
body.tf-inner #main-content .sm-project-details { margin-top: var(--space-6); border-block: 1px solid var(--mn-line-strong); }
body.tf-inner #main-content .sm-project-details summary { min-height: 56px; color: var(--mn-ink); font: 500 15px/1.4 var(--tf-font-sans); }
body.tf-inner #main-content .sm-project-details summary .ui-disclosure-icon { color: var(--mn-muted); }
body.tf-inner #main-content .tf-project-specs div { font-size: 15px; }
body.tf-inner #main-content .tf-project-specs dt { color: var(--mn-muted); font: 500 13px/1.5 var(--tf-font-sans); letter-spacing: 0; text-transform: none; }
body.tf-inner #main-content .tf-project-specs dd { color: var(--mn-ink); }
body.tf-inner #main-content .tf-project-links { gap: var(--space-2) var(--space-8); margin-top: var(--space-5); }
body.tf-inner #main-content .tf-project-card { border-color: var(--mn-line-strong); }

/* Blog cards (index, service pages, related articles), as on home. */
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-section-head { align-items: end; margin-bottom: var(--mn-head-gap); }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-section-head h2 { margin: 0; }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-grid { gap: var(--space-12) var(--space-8); }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card-image { margin-bottom: var(--space-5); border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: var(--mn-surface); }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card-image:hover { border-color: var(--mn-line-strong); }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card time { color: var(--mn-muted); font-size: 13px; }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card h3 { margin: var(--space-2) 0 var(--space-3); font-size: 19px; font-weight: 600; line-height: 1.35; letter-spacing: -.015em; text-wrap: pretty; }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card h3 a { color: var(--mn-ink); }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-card > p { display: -webkit-box; margin: 0 0 var(--space-4); overflow: hidden; color: var(--mn-muted); font-size: 15px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-read { margin-top: auto; }
body.tf-inner #main-content .bl-language-note { color: var(--mn-muted); font-size: 14px; }

/* Blog article: body and aside after the article's opening. */
body.tf-inner #main-content .bl-prose { color: #365b63; }
body.tf-inner #main-content .bl-prose a { color: #007481; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.tf-inner #main-content .bl-prose blockquote { padding: var(--space-4) var(--space-6); border: 0; border-left: 2px solid var(--mn-line-strong); border-radius: 0; background: var(--mn-surface); }
body.tf-inner #main-content .bl-prose :is(td,th) { border-color: var(--mn-line); }
body.tf-inner #main-content .bl-prose :is(th,pre) { background: var(--mn-surface); }
body.tf-inner #main-content .bl-article-aside { padding: var(--space-8); border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: #fff; }
body.tf-inner #main-content .bl-article-aside h2 { margin: 0 0 var(--space-3); font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
body.tf-inner #main-content .bl-article-aside p { margin: 0 0 var(--space-5); color: var(--mn-muted); font-size: 15px; line-height: 1.6; }
body.tf-inner #main-content .bl-service-links { gap: 0; border-top: 1px solid var(--mn-line); }
body.tf-inner #main-content .bl-service-links .tf-text-link { justify-content: space-between; width: 100%; padding-block: var(--space-2); border-bottom: 1px solid var(--mn-line); }

/* About: story and values. */
body.tf-inner #main-content .tf-story { gap: var(--space-16); }
body.tf-inner #main-content .tf-story h2 { max-width: 14ch; margin-bottom: 0; }
body.tf-inner #main-content .tf-story .tf-prose p { max-width: 56ch; margin: 0 0 var(--space-5); color: var(--mn-muted); font-size: 18px; line-height: 1.65; }

/* Contact received: next steps as hairline rows. */
body.tf-inner #main-content .tf-receipt { max-width: 880px; }
body.tf-inner #main-content .tf-next-steps { margin: 0 0 var(--space-10); border-bottom: 1px solid var(--mn-line-strong); }
body.tf-inner #main-content .tf-next-steps li { grid-template-columns: 48px minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-6); border-color: var(--mn-line-strong); }
body.tf-inner #main-content .tf-next-steps .tf-number { min-width: 0; margin: 0; padding-top: 5px; }
body.tf-inner #main-content .tf-next-steps p { margin: 0; color: var(--mn-ink); font-size: 18px; line-height: 1.55; }

/* Competitor results: context card, company cards, closing panel. */
body.tf-inner #main-content .tf-comp-report { gap: var(--space-12); }
body.tf-inner #main-content .tf-comp-header h2 { margin-bottom: 0; text-transform: none; }
body.tf-inner #main-content .tf-comp-lead { max-width: 56ch; margin-top: var(--space-4); color: var(--mn-muted); font-size: 18px; line-height: 1.6; }
body.tf-inner #main-content .tf-results .tf-eyebrow { margin: 0 0 var(--space-5); color: var(--mn-ink); font: 600 17px/1.4 var(--tf-font-sans); letter-spacing: -.01em; text-transform: none; }
body.tf-inner #main-content .tf-comp-context { padding: var(--space-8); border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: #fff; }
body.tf-inner #main-content .tf-comp-meta dt { margin-bottom: var(--space-1); color: var(--mn-muted); font: 500 13px/1.5 var(--tf-font-sans); letter-spacing: 0; text-transform: none; }
body.tf-inner #main-content .tf-comp-meta dd { color: var(--mn-ink); font-size: 16px; }
body.tf-inner #main-content .tf-comp-meta dd a,
body.tf-inner #main-content .tf-comp-url a { color: #007481; }
body.tf-inner #main-content .tf-comp-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: var(--space-6); }
body.tf-inner #main-content .tf-comp-grid .tf-comp-card { padding: var(--space-8); border: 1px solid var(--mn-line); border-radius: var(--mn-radius-xl); background: #fff; }
body.tf-inner #main-content .tf-comp-card-head .tf-number { margin: 0; }
body.tf-inner #main-content .tf-comp-card h3 { margin: var(--space-4) 0 var(--space-2); font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
body.tf-inner #main-content .tf-comp-score { color: var(--mn-ink); }
body.tf-inner #main-content .tf-comp-score strong { font: 600 28px/1 var(--tf-font-sans); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
body.tf-inner #main-content .tf-comp-score span { color: var(--mn-muted); font-size: 13px; }
body.tf-inner #main-content .tf-comp-url { font-size: 14px; }
body.tf-inner #main-content .tf-comp-desc { color: var(--mn-muted); font-size: 16px; line-height: 1.6; }
body.tf-inner #main-content .tf-comp-reason { border-color: var(--mn-line); }
body.tf-inner #main-content .tf-comp-reason .tf-eyebrow { margin-bottom: var(--space-1); color: var(--mn-muted); font: 500 13px/1.5 var(--tf-font-sans); }
body.tf-inner #main-content .tf-comp-reason p:last-child { color: var(--mn-muted); font-size: 15px; line-height: 1.6; }
body.tf-inner #main-content .tf-comp-cta { padding: var(--space-12); border-radius: var(--mn-radius-2xl); background: var(--mn-tint); color: var(--mn-ink); }
body.tf-inner #main-content .tf-comp-cta-copy h3 { margin: 0 0 var(--space-3); font-size: clamp(24px, 2.2vw, 28px); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; }
body.tf-inner #main-content .tf-comp-cta-copy p:last-child { max-width: 56ch; color: var(--mn-muted); font-size: 16px; line-height: 1.6; }
body.tf-inner #main-content .tf-comp-cta-actions { gap: var(--space-3); }

/* Privacy: the policy reads as a document, not as marketing sections. Its column starts on the
   same left edge as the title above instead of floating centred. */
body.tf-inner #main-content .tf-legal { max-width: none; }
body.tf-inner #main-content .tf-legal > * { max-width: 760px; }
body.tf-inner #main-content .tf-legal > .tf-legal-table-wrap { max-width: 960px; }
body.tf-inner #main-content .tf-legal h2 { margin: var(--space-12) 0 var(--space-4); font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; text-wrap: initial; }
body.tf-inner #main-content .tf-legal h2:first-child { margin-top: 0; }
body.tf-inner #main-content .tf-legal h3 { margin: var(--space-8) 0 var(--space-2); font-size: 19px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }
body.tf-inner #main-content .tf-legal :is(p,li) { color: var(--mn-muted); font-size: 17px; line-height: 1.7; }
body.tf-inner #main-content .tf-legal :is(strong,a,.tf-link-button) { color: var(--mn-ink); }
body.tf-inner #main-content .tf-legal-table :is(th,td) { border-color: var(--mn-line); }
body.tf-inner #main-content .tf-legal-table th { color: var(--mn-ink); font-weight: 600; }

@media (max-width: 1023px) {
    body.tf-inner { --mn-section-y: var(--space-20); }
    body.tf-inner #main-content .tf-dark > .tf-shell { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); }
    body.tf-inner #main-content .tf-dark > .tf-shell > h2 { max-width: none; }
    body.tf-inner #main-content .tf-catalogue { gap: 0 var(--space-8); }
    body.tf-inner #main-content .tf-catalogue-development { padding: var(--space-8); }
    body.tf-inner #main-content .tf-story { gap: var(--space-8); }
}
@media (max-width: 767px) {
    body.tf-inner { --mn-section-y: var(--space-16); --mn-head-gap: var(--space-8); }
    body.tf-inner #main-content :is(.tf-section:not(.tf-dark) > .tf-shell:not(.tf-legal) > h2,.sm-catalogue-intro h2,.tf-story h2,.tf-section-heading h2,.bl-section-head h2,.tf-comp-header h2,.tf-page-cta h2,.bl-contact h2),
    body.tf-inner #main-content .tf-dark > .tf-shell > h2 { font-size: clamp(28px, 7.6vw, 34px); }
    body.tf-inner #main-content .sm-catalogue-intro > p:last-child,
    body.tf-inner #main-content :is(.tf-comp-lead,.bl-contact-inner p,.tf-story .tf-prose p) { font-size: 16px; }
    body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
    body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid article { padding-top: var(--space-5); }
    body.tf-inner #main-content .tf-section .tf-editorial-grid .tf-number { margin-bottom: var(--space-4); }
    body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid h3 { font-size: 19px; }
    body.tf-inner #main-content .tf-section:not(.tf-dark) .tf-editorial-grid p { font-size: 15px; }
    body.tf-inner #main-content .tf-dark .tf-editorial-grid article { grid-template-columns: 40px minmax(0, 1fr); column-gap: var(--space-3); padding: var(--space-5) 0 var(--space-6); }
    body.tf-inner #main-content .tf-dark .tf-editorial-grid .tf-number { padding-top: 5px; }
    body.tf-inner #main-content .tf-dark .tf-editorial-grid h3 { font-size: 20px; }
    body.tf-inner #main-content .tf-dark .tf-editorial-grid p { font-size: 15px; }
    body.tf-inner #main-content .tf-catalogue-row { grid-template-columns: 32px minmax(0, 1fr) 20px; gap: var(--space-2) var(--space-3); padding-block: var(--space-6); }
    body.tf-inner #main-content .tf-catalogue-row:nth-last-child(3) { border-bottom: 0; }
    body.tf-inner #main-content .tf-catalogue-row h2 { font-size: 20px; }
    body.tf-inner #main-content .tf-catalogue-row > p { font-size: 15px; }
    body.tf-inner #main-content .tf-catalogue-development { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3) var(--space-4); margin-top: var(--space-8); padding: var(--space-6); }
    body.tf-inner #main-content .tf-catalogue-development h2 { font-size: 22px; }
    body.tf-inner #main-content .tf-catalogue-development > .tf-number { padding-top: 0; align-self: start; }
    body.tf-inner #main-content :is(.tf-page-cta > .tf-shell,.bl-contact-inner) { gap: var(--space-6); padding: var(--space-12) var(--space-5); border-radius: var(--mn-radius-xl); }
    body.tf-inner #main-content :is(.tf-page-cta,.bl-contact) :is(.tf-button) { width: 100%; white-space: normal; }
    body.tf-inner #main-content .tf-dossier-bar { font-size: 13px; }
    body.tf-inner #main-content .tf-development-page .tf-project-copy h3 { font-size: 26px; }
    body.tf-inner #main-content .tf-development-page .tf-project-copy > p:not(.tf-project-category) { font-size: 15px; }
    body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-section-head { display: block; }
    body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-section-head > a { margin-top: var(--space-3); }
    body.tf-inner #main-content :is(.bl-library,.bl-related) .bl-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); }
    body.tf-inner #main-content .bl-article-aside { padding: var(--space-6); }
    body.tf-inner #main-content .tf-story .tf-prose p { margin-bottom: var(--space-4); }
    body.tf-inner #main-content .tf-next-steps li { grid-template-columns: 40px minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-5); }
    body.tf-inner #main-content .tf-next-steps p { font-size: 16px; }
    body.tf-inner #main-content .tf-receipt .tf-button { width: 100%; }
    body.tf-inner #main-content .tf-comp-context,
    body.tf-inner #main-content .tf-comp-grid .tf-comp-card { padding: var(--space-6); }
    body.tf-inner #main-content .tf-comp-cta { padding: var(--space-8) var(--space-5); border-radius: var(--mn-radius-xl); }
    body.tf-inner #main-content .tf-comp-cta-actions :is(.tf-comp-btn-primary,.tf-comp-btn-secondary) { width: 100%; }
    body.tf-inner #main-content .tf-legal h2 { font-size: 22px; }
    body.tf-inner #main-content .tf-legal :is(p,li) { font-size: 16px; }
}
