/* Shared report presentation and interaction refinements. */
:root { --paper: #f5f3ed; --paper-2: #eae8e1; --paper-bright: #fffefb; --section-y: clamp(4.5rem, 3rem + 4.5vw, 7rem); }
.nav { background: rgba(245,243,237,.94); }
.nav-toggle { width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.nav-link { min-height: 44px; }
.home-hero { min-height: 0; padding-top: clamp(4.5rem,7vw,7rem); padding-bottom: clamp(6rem,8vw,8.5rem); }
.home-hero h1 { max-width: 12ch; font-size: clamp(3.65rem,6.3vw,6rem); line-height: .99; letter-spacing: -.058em; }
.home-hero .lead { max-width: 45ch; }
.home-hero .system-panel { box-shadow: 0 24px 60px rgba(22,36,58,.12); }
.hero-meta { gap: .7rem 1rem; }
.product-feature { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2.5rem,5vw,5rem); padding: clamp(2.5rem,5vw,5rem); box-shadow: none; }
.product-copy h2 { max-width: 14ch; font-size: clamp(2.4rem,3.9vw,3.55rem); }
.product-preview { min-width: 0; padding: .75rem; }
.product-preview figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem 1rem; margin-top: 1.7rem; text-align: left; }
.product-preview figcaption a { display: inline-flex; gap: .5rem; color: #ffd1ae; text-decoration: underline; text-underline-offset: 4px; }
.product-preview figcaption a:hover { color: #fff; }
.brand-logo { width: 34px; height: 34px; }
.section-intro { margin-bottom: 3rem; }
.patriage-hero { padding-top: 2rem; padding-bottom: clamp(4.5rem,6vw,6rem); }
.patriage-hero .breadcrumb { margin-bottom: 3rem; }
.patriage-hero-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(3rem,6vw,6rem); }
.patriage-hero-copy h1 { max-width: 12ch; font-size: clamp(3.4rem,5.1vw,5.2rem); line-height: 1.02; }
.patriage-hero-copy h1 em { color: #ffb575; font-family: var(--font-serif); font-weight: 500; }
.patriage-hero-copy .lead { font-size: clamp(1.1rem,1.35vw,1.23rem); max-width: 47ch; }
.product-hero-facts { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 2.4rem; padding-top: 1.4rem; border-top: 1px solid var(--line-light); }
.product-hero-facts div { flex: 1; }
.product-hero-facts dt { color: #aeb9c9; font-family: var(--font-mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; }
.product-hero-facts dd { margin-top: .3rem; color: var(--paper-bright); font-size: .85rem; font-weight: 600; }
.patriage-report-preview { min-width: 0; margin: 0; padding: .4rem .5rem 0; }
.patriage-report-preview figcaption { margin-top: 1.8rem; color: #acb7c7; font-size: .76rem; text-align: center; }
.product-nav { border-bottom: 1px solid var(--line); background: var(--paper-bright); }
.product-nav-inner { display: flex; align-items: center; gap: 2rem; overflow-x: auto; scrollbar-width: thin; }
.product-nav-brand { margin-right: auto; font-size: .9rem; font-weight: 700; }
.product-nav-brand span { margin-left: 1rem; color: var(--orange-dark); }
.product-nav a { display: flex; flex: none; min-height: 62px; align-items: center; color: var(--muted); font-size: .83rem; font-weight: 600; }
.product-nav a:hover { color: var(--orange-dark); }

/* The compact, reusable report preview. */
.report-stack { position: relative; isolation: isolate; }
.report-stack::before, .report-stack::after { position: absolute; inset: 6px -6px -9px 8px; z-index: -1; border: 1px solid #c7c5bd; border-radius: 3px; background: #e7e5de; transform: rotate(1.7deg); content: ''; }
.report-stack::after { inset: 10px -1px -13px 9px; z-index: -2; background: #d7d3c9; transform: rotate(-1.2deg); }
.report-paper { position: relative; padding: clamp(1.2rem,2.3vw,2rem); border-top: 4px solid var(--orange); border-radius: 3px; background: var(--paper-bright); color: var(--ink); box-shadow: 0 20px 45px rgba(0,0,0,.18); }
.report-paper strong, .report-paper b { color: var(--ink); }
.report-masthead { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.report-brand { display: inline-flex; align-items: center; gap: .6rem; font-size: 1rem; font-weight: 680; letter-spacing: -.025em; }
.report-brand > span { color: var(--orange-dark); font-size: 1.5rem; font-weight: 600; letter-spacing: -.12em; padding-right: .25rem; }
.report-edition { color: var(--faint); font-family: var(--font-mono); font-size: .61rem; text-transform: uppercase; letter-spacing: .035em; }
.report-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.8rem 0 1.4rem; }
.report-kicker { display: block; color: var(--orange-dark); font-family: var(--font-mono); font-size: .64rem; font-weight: 500; letter-spacing: .055em; text-transform: uppercase; }
.report-title { margin-top: .35rem; color: var(--ink); font-size: clamp(1.8rem,2.7vw,2.5rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.15; }
.report-subtitle { margin-top: .5rem; color: var(--muted); font-size: .78rem; }
.report-molecule { flex: none; width: 64px; color: #8a959a; }
.report-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 1rem 0; border-block: 1px solid var(--line); }
.report-metrics > div { padding-left: 1rem; border-left: 1px solid var(--line); }
.report-metrics > div:first-child { padding-left: 0; border-left: 0; }
.report-metrics strong { display: block; font-size: 1.7rem; font-weight: 500; line-height: 1.2; letter-spacing: -.06em; }
.report-metrics span { display: block; margin-top: .35rem; color: var(--muted); font-size: .65rem; }
.report-market-heading { display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem 0 .4rem; color: var(--muted); font-family: var(--font-mono); font-size: .61rem; text-transform: uppercase; }
.report-markets { list-style: none; }
.report-markets li { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .75rem; }
.report-markets li > span:first-child { display: flex; align-items: center; gap: .6rem; }
.report-markets b { display: inline-grid; width: 25px; height: 25px; place-items: center; background: #eeede7; font-family: var(--font-mono); font-size: .6rem; font-weight: 500; }
.report-badge { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .27rem .5rem; border: 1px solid transparent; border-radius: 3px; font-size: .64rem; font-weight: 600; line-height: 1.35; white-space: nowrap; }
.report-badge::before { width: 4px; height: 4px; flex: none; border-radius: 50%; background: currentColor; content: ''; }
.badge-teal { background: #e6f1eb; color: #245f4b; border-color: #d0e5d8; }
.badge-amber { background: #fff0dc; color: #8c4809; border-color: #f4ddbc; }
.badge-neutral { background: #edeeef; color: #4d5b6b; border-color: #dfe1e3; }
.report-recommendation { margin: 1.15rem 0; padding: .85rem 1rem; border-left: 2px solid var(--teal); background: #edf2ed; }
.report-recommendation .report-kicker { color: var(--teal); font-size: .61rem; }
.report-recommendation p { margin-top: .4rem; color: var(--ink-2); font-size: .75rem; line-height: 1.55; }
.report-footer { display: flex; justify-content: space-between; gap: .5rem; color: var(--muted); font-size: .59rem; }

/* Full-size sample, progressively enhanced into keyboard-accessible tabs. */
.dossier-section { background: var(--paper); }
.dossier-explorer { border: 1px solid var(--line-strong); border-radius: 7px; overflow: hidden; box-shadow: 0 18px 45px rgba(22,36,58,.07); }
.dossier-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--line); background: var(--paper-bright); }
.dossier-toolbar .report-brand { font-size: .9rem; }
.dossier-download { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; color: var(--ink); font-size: .82rem; font-weight: 600; }
.dossier-download span:first-child { color: var(--muted); font-size: .7rem; font-weight: 400; }
.dossier-download span:last-child { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 1.1rem; }
.dossier-download:hover { color: var(--orange-dark); }
.dossier-workspace { display: grid; grid-template-columns: 240px minmax(0,1fr); }
.dossier-sidebar { display: flex; flex-direction: column; padding: 1.9rem 1.1rem; border-right: 1px solid var(--line); background: #eae8e1; }
.dossier-sidebar > .report-kicker { padding-left: .7rem; color: var(--muted); font-size: .6rem; }
.report-tabs { display: flex; flex-direction: column; gap: .4rem; margin: 1.5rem 0 2.4rem; }
.report-tab { display: flex; align-items: center; gap: .65rem; min-height: 50px; padding: .8rem .7rem; border: 1px solid transparent; border-radius: 4px; color: var(--muted); font-size: .79rem; font-weight: 550; line-height: 1.4; }
.report-tab > span { font-family: var(--font-mono); font-size: .65rem; }
.report-tab b { margin-left: auto; color: var(--muted); font-size: .9rem; font-weight: 400; }
.report-tab:hover { border-color: var(--line); color: var(--ink); text-decoration: none; }
.report-tab[aria-selected="true"] { border-color: var(--line); background: var(--paper-bright); color: var(--ink); box-shadow: 0 3px 6px rgba(22,36,58,.035); }
.report-tab[aria-selected="true"] > span, .report-tab[aria-selected="true"] b { color: var(--orange-dark); }
.dossier-sidebar-note { padding: .7rem; }
.dossier-sidebar-note .report-kicker { color: var(--ink); line-height: 1.7; }
.dossier-sidebar-note p { margin-top: .6rem; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.sample-disclosure { margin: auto .7rem 0; padding-top: 2.5rem; color: var(--muted); font-size: .69rem; line-height: 1.6; }
.dossier-pages { min-width: 0; background: var(--paper-bright); }
.dossier-page { display: flex; flex-direction: column; min-height: 655px; padding: 1.6rem clamp(1.4rem,3vw,3rem) 1.4rem; }
.dossier-page + .dossier-page { border-top: 1px solid var(--line); }
.dossier-page[hidden] { display: none; }
.dossier-page-top { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2.5rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .6rem; letter-spacing: .025em; text-transform: uppercase; }
.dossier-page > .report-kicker { margin-bottom: .8rem; }
.dossier-page h3 { max-width: 22ch; font-size: clamp(1.8rem,2.75vw,2.65rem); line-height: 1.06; font-weight: 580; }
.dossier-page-lead { margin: 1.1rem 0 1.8rem; color: var(--ink); font-size: 1.05rem; font-weight: 600; }
.dossier-page-lead > span { display: block; margin-top: .3rem; color: var(--muted); font-size: .86rem; font-weight: 400; }
.dossier-callout { padding: 1.2rem 1.35rem; border-left: 3px solid var(--teal); background: #edf2ed; }
.dossier-callout .report-kicker { color: var(--teal); }
.dossier-callout p { margin-top: .5rem; color: var(--ink-2); font-size: .95rem; line-height: 1.65; }
.dossier-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.3rem; margin: 1.8rem 0; }
.dossier-summary-grid h4 { margin: .85rem 0 .6rem; font-size: 1rem; letter-spacing: -.025em; line-height: 1.3; }
.dossier-summary-grid p { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.dossier-bottom-line { display: flex; align-items: flex-start; gap: .8rem; margin: 0 0 2rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.dossier-bottom-line > span { color: var(--orange-dark); font-size: 1.4rem; line-height: 1; }
.dossier-bottom-line p { color: var(--muted); font-size: .78rem; }
.dossier-page-footer { display: flex; justify-content: space-between; gap: .7rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .58rem; }
.access-table-wrap { margin-bottom: 1.8rem; overflow-x: auto; }
.access-table { width: 100%; min-width: 550px; border-collapse: collapse; text-align: left; font-size: .8rem; }
.access-table caption { padding: .1rem 0 1rem; color: var(--muted); font-size: .69rem; text-align: left; }
.access-table thead th { padding: .8rem .65rem; border-block: 1px solid var(--line); background: #f2f0ea; color: var(--muted); font-size: .66rem; font-weight: 600; }
.access-table td, .access-table tbody th { padding: 1rem .65rem; border-bottom: 1px solid var(--line); font-size: .76rem; line-height: 1.6; vertical-align: top; }
.access-table tbody th { width: 23%; color: var(--ink); font-weight: 600; }
.access-table td { color: var(--muted); }
.access-table th span, .access-table small { display: block; color: var(--muted); font-size: .65rem; font-weight: 400; }
.table-scroll-hint { display: none; }
.dossier-evidence-list { display: grid; gap: 0; margin-bottom: 2rem; list-style: none; }
.dossier-evidence-list li { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 1rem; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.evidence-ref { padding-top: .2rem; color: var(--orange-dark); font-family: var(--font-mono); font-size: .68rem; }
.dossier-evidence-list h4 { margin: 0 0 .45rem; font-size: 1rem; letter-spacing: -.02em; line-height: 1.35; }
.dossier-evidence-list h4 span { margin-left: .5rem; color: var(--muted); font-family: var(--font-mono); font-size: .65rem; }
.dossier-evidence-list p { margin-top: .2rem; color: var(--muted); font-size: .8rem; }
.dossier-afterword { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-top: 1.5rem; }
.dossier-afterword p { max-width: 69ch; color: var(--muted); font-size: .78rem; }
.dossier-afterword a { flex: none; max-width: 33ch; font-size: .8rem; }

/* A shorter product story with a distinct rhythm. */
.analysis-section { background: var(--paper-bright); }
.analysis-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line-strong); }
.analysis-card { padding: 2.2rem 3rem 2.4rem 0; border-bottom: 1px solid var(--line); }
.analysis-card:nth-child(even) { padding-left: 3rem; padding-right: 0; border-left: 1px solid var(--line); }
.analysis-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.6rem; }
.analysis-card-top svg { width: 40px; height: 40px; fill: none; stroke: var(--orange-dark); stroke-width: 1.3; }
.analysis-card h3 { max-width: 21ch; margin-bottom: 1rem; font-size: clamp(1.6rem,2.2vw,2rem); line-height: 1.08; }
.analysis-card > p { max-width: 52ch; color: var(--muted); font-size: .94rem; }
.analysis-output { display: block; margin-top: 1.8rem; color: var(--faint); font-size: .72rem; }
.analysis-output b { margin-left: .5rem; color: var(--teal); font-size: .75rem; font-weight: 600; }
.process-rail { margin-bottom: 1.8rem; }
.process-step h3 { font-size: 1.2rem; }
.process-step p { font-size: .9rem; }
.review-gate { display: flex; gap: 1rem; align-items: start; max-width: 80ch; color: var(--muted); font-size: .9rem; }
.review-gate > span { color: var(--orange-dark); font-size: 1.5rem; line-height: 1.2; }
.review-gate strong { display: block; margin-bottom: .35rem; }
.coverage-intro h2 { max-width: 13ch; }
.pricing-section { border-top: 1px solid var(--line); background: var(--paper-bright); }
.faq-section { border-top: 1px solid var(--line); background: var(--paper-bright); }
.faq-layout { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 5rem; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 2rem; min-height: 78px; padding: 1.3rem 0; color: var(--ink); cursor: pointer; font-size: 1rem; font-weight: 600; line-height: 1.5; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { flex: none; color: var(--orange-dark); font-size: 1.45rem; font-weight: 400; transition: transform .2s; }
.faq-list details[open] summary > span { transform: rotate(45deg); }
.faq-list details > div { padding: 0 2.5rem 1.5rem 0; color: var(--muted); font-size: .93rem; }
.faq-list a { text-decoration: underline; text-underline-offset: 3px; }
.contact-hero h1, .about-hero h1 { max-width: 18ch; font-size: clamp(2.75rem,5.4vw,5.3rem); line-height: 1.06; }
.contact-hero { padding-block: 2rem 3.5rem; background: var(--paper); border-bottom: 1px solid var(--line); }
.contact-hero .eyebrow { color: var(--orange-dark); }
.contact-hero .breadcrumb { margin-bottom: 2rem; }
.contact-section { background: var(--paper); }
.contact-note p { font-size: .85rem; }

@media (max-width: 1100px) {
  .patriage-hero-layout { gap: 3rem; }
  .dossier-workspace { grid-template-columns: 205px minmax(0,1fr); }
  .dossier-sidebar { padding-inline: .6rem; }
  .dossier-page { min-height: 700px; }
}
@media (max-width: 980px) {
  .product-feature, .patriage-hero-layout { grid-template-columns: minmax(0,1fr); }
  .product-feature { width: calc(100% - 2.4rem); gap: 3rem; }
  .product-preview { width: 100%; max-width: 590px; margin-inline: auto; }
  .patriage-hero-copy h1 { max-width: 15ch; }
  .patriage-hero-copy .lead { max-width: 52ch; }
  .patriage-report-preview { width: 100%; max-width: 590px; margin: .5rem auto 0; }
  .product-hero-facts { max-width: 540px; }
  .dossier-workspace { grid-template-columns: minmax(0,1fr); }
  .dossier-sidebar { padding: 1rem 1.4rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .dossier-sidebar > .report-kicker, .dossier-sidebar-note { display: none; }
  .report-tabs { flex-direction: row; gap: .6rem; margin: 0; }
  .report-tab { flex: 1; }
  .sample-disclosure { margin: .8rem 0 0; padding: 0; }
  .dossier-page { min-height: 660px; }
  .dossier-afterword { flex-direction: column; gap: 1rem; }
  .faq-layout { gap: 3rem; grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr); }
}
@media (max-width: 760px) {
  .home-hero h1 { font-size: clamp(3.25rem,10.5vw,4.5rem); }
  .home-hero { padding-top: 3.5rem; }
  .patriage-hero-copy h1 { font-size: clamp(3rem,10.2vw,4.5rem); max-width: 13ch; }
  .patriage-hero .breadcrumb { margin-bottom: 2rem; }
  .patriage-hero-copy .btn-row { gap: .7rem; }
  .patriage-hero-copy .btn { flex: 1; font-size: .85rem; padding-inline: .8rem; }
  .product-hero-facts { gap: 1rem; }
  .product-hero-facts dd { font-size: .8rem; }
  .product-hero-facts dt { font-size: .58rem; }
  .product-nav-inner { gap: 1.5rem; }
  .product-nav-brand { display: none; }
  .product-nav a { min-height: 55px; }
  .dossier-toolbar { padding: .8rem 1rem; }
  .dossier-download { gap: .6rem; font-size: .75rem; }
  .dossier-download span:first-child { display: none; }
  .dossier-sidebar { padding: .7rem; }
  .report-tab { justify-content: center; gap: .4rem; padding: .7rem .4rem; font-size: .75rem; }
  .report-tab b { display: none; }
  .dossier-page { padding: 1.4rem; min-height: 720px; }
  .dossier-page-top { font-size: .52rem; gap: .4rem; margin-bottom: 1.8rem; }
  .dossier-page h3 { font-size: 2rem; }
  .dossier-page-lead { font-size: .95rem; }
  .dossier-page-lead > span { font-size: .82rem; }
  .dossier-callout { padding: 1rem; }
  .dossier-callout p { font-size: .88rem; }
  .dossier-summary-grid { gap: 1rem; }
  .table-scroll-hint { display: flex; justify-content: space-between; gap: 1rem; margin: -1rem 0 1.8rem; color: var(--muted); font-size: .72rem; }
  .analysis-card { padding: 1.8rem 1.5rem 1.8rem 0; }
  .analysis-card:nth-child(even) { padding-left: 1.5rem; }
  .analysis-card h3 { font-size: 1.6rem; }
  .analysis-output b { display: block; margin: .3rem 0 0; }
  .faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .faq-list summary { font-size: .97rem; }
  .contact-hero { padding-block: 1.5rem 2.5rem; }
  .field input, .field select, .field textarea { font-size: 1rem; }
}
@media (max-width: 520px) {
  .product-feature { padding: 2.5rem 1.25rem; }
  .product-preview { padding: .5rem .2rem; }
  .report-paper { padding: 1rem; }
  .report-heading { gap: .5rem; padding-block: 1.4rem 1.1rem; }
  .report-molecule { width: 50px; }
  .report-edition { max-width: 12ch; font-size: .56rem; line-height: 1.5; text-align: right; }
  .report-title { font-size: 2rem; }
  .report-metrics > div { padding-left: .7rem; }
  .report-metrics span { font-size: .61rem; }
  .report-markets li { gap: .4rem; font-size: .69rem; }
  .report-markets li > span:first-child { gap: .4rem; }
  .report-markets b { width: 22px; height: 22px; font-size: .55rem; }
  .report-badge { padding-inline: .35rem; font-size: .59rem; }
  .report-footer { font-size: .55rem; }
  .dossier-toolbar .report-brand { font-size: .78rem; gap: .3rem; }
  .dossier-toolbar { flex-wrap: wrap; gap: .4rem; }
  .report-tabs { gap: .25rem; }
  .report-tab { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .3rem; font-size: .69rem; }
  .report-tab > span { font-size: .6rem; }
  .dossier-page { min-height: 900px; padding: 1.1rem; }
  .dossier-summary-grid { grid-template-columns: 1fr; margin-block: 1.4rem; gap: 1.1rem; }
  .dossier-summary-grid > div { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: .25rem .75rem; align-items: start; }
  .dossier-summary-grid .report-badge { grid-row: span 2; justify-self: start; margin-top: .1rem; }
  .dossier-summary-grid h4 { margin: 0; font-size: .95rem; }
  .dossier-summary-grid p { grid-column: 2; }
  .dossier-page-footer { font-size: .51rem; }
  .dossier-evidence-list li { grid-template-columns: 34px minmax(0,1fr); gap: .5rem; }
  .analysis-grid { grid-template-columns: 1fr; }
  .analysis-card, .analysis-card:nth-child(even) { padding: 1.8rem 0; border-left: 0; }
  .analysis-card h3 { max-width: 20ch; font-size: 1.85rem; }
  .analysis-output b { display: inline; margin-left: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .faq-list summary > span { transition: none; } }
@media (forced-colors: active) { .report-badge, .report-tab[aria-selected="true"] { border: 1px solid currentColor; } }
@media print {
  .product-nav, .report-tabs, .dossier-sidebar, .dossier-toolbar, .table-scroll-hint { display: none !important; }
  .dossier-workspace { display: block; }
  .dossier-page, .dossier-page[hidden] { display: flex !important; min-height: auto; break-inside: avoid; }
  .report-stack::before, .report-stack::after { display: none; }
  .report-paper { box-shadow: none; }
  .patriage-hero-layout, .product-feature { grid-template-columns: 1fr 1fr; gap: 8mm; }
  .patriage-report-preview { padding: 0; }
  .dossier-explorer { box-shadow: none; }
  .access-table-wrap { overflow: visible; }
  .access-table { min-width: 0; }
  .faq-list details > div { display: block !important; }
}

/* Iteration 2: reading rhythm and resilient interaction states. */
h1, h2, h3 { letter-spacing: -.038em; }
.home-hero h1 { letter-spacing: -.045em; }
.home-hero h1 em, .patriage-hero-copy h1 em { margin-left: .045em; letter-spacing: -.04em; }
.report-heading { padding-block: 1.4rem 1.15rem; }
.report-metrics { padding-block: .85rem; }
.report-masthead { padding-bottom: .85rem; }
.report-metrics span, .report-market-heading, .report-kicker { font-size: .68rem; }
.report-markets li { font-size: .8rem; padding-block: .68rem; }
.report-title { letter-spacing: -.04em; }
.report-recommendation { margin-block: 1rem; }
.dossier-page h3 { letter-spacing: -.04em; }
.access-table td, .access-table tbody th { font-size: .84rem; }
.access-table thead th { font-size: .74rem; }
.access-table small, .access-table th span { font-size: .71rem; }
.dossier-page .report-badge { font-size: .68rem; }
.report-tab { font-size: .83rem; }
.cookie { width: min(700px,calc(100% - 2rem)); }
.cookie-inner { grid-template-columns: 1fr; gap: .8rem; padding: 1.1rem 1.2rem; }
.cookie-inner p { color: #c1cad7; font-size: .82rem; }
.cookie-inner strong { color: var(--paper-bright); font-weight: 600; }
.cookie-actions { display: flex; gap: .7rem; justify-content: flex-end; }
.cookie-actions .btn { min-height: 42px; border: 1px solid #8090a6; background: transparent; color: var(--paper-bright); font-size: .8rem; box-shadow: none; }
.cookie-actions .btn:hover { border-color: var(--paper-bright); background: rgba(255,255,255,.08); }
.cookie-settings { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.cookie-settings:hover { text-decoration: underline; text-underline-offset: 4px; }
.cookie-settings[hidden] { display: none; }
.cookie-visible .footer-bottom { padding-bottom: 12rem; }
.form-heading .enquiry-context { margin-top: .8rem; color: #c1cad7; font-size: .86rem; }
.form-fallback { color: #c1cad7; }
html:not(.js) #contactForm { display: none; }
.btn:disabled { cursor: wait; opacity: .75; }
@media (max-width: 980px) { .dossier-page { min-height: 630px; } }
@media (max-width: 760px) {
  .dossier-page { min-height: 670px; }
  .cookie-actions .btn { width: auto; }
  .cookie-actions { justify-content: stretch; }
  .cookie-actions > button { flex: 1; }
  .cookie-visible .footer-bottom { padding-bottom: 15rem; }
}
@media (max-width: 520px) {
  .report-tabs .report-tab { font-size: .73rem; }
  .dossier-page { min-height: 800px; }
  .report-metrics span { font-size: .62rem; }
  .report-markets li { font-size: .71rem; }
  .report-kicker, .report-market-heading { font-size: .61rem; }
}
@media print { .cookie-settings, .enquiry-context { display: none; } }

/* Iteration 3: contrast, conversion and final alignment. */
:root { --faint-ink: #596577; }
.capability-id > span { color: #bb4d00; }
.product-index { color: #a7b3c4; }
p a:not(.btn):not(.text-link):not(.brand) { text-decoration: underline; text-underline-offset: 3px; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .5rem 1.2rem; }
.footer-legal a + a { margin-left: 0; }
.footer-legal a, .cookie-settings { display: inline-flex; min-height: 32px; align-items: center; }
.contact-hero h1 { max-width: 16ch; font-size: clamp(2.75rem,4.8vw,4.5rem); }
.contact-hero .lead { max-width: 62ch; }
@media (max-width: 980px) {
  .contact-layout .form-card { order: -1; }
}
@media (max-width: 760px) {
  .footer-legal { justify-content: flex-start; }
  .contact-hero h1 { font-size: clamp(2.7rem,10vw,3.7rem); }
}

@media print {
  :root { --section-y: 12mm; }
  .home-hero { padding: 10mm 0 12mm; }
  .home-hero h1 { max-width: 12ch; font-size: 32pt; }
  .patriage-hero { padding: 9mm 0 12mm; }
  .patriage-hero .breadcrumb { margin-bottom: 5mm; }
  .patriage-hero-copy h1 { font-size: 30pt; }
  .about-hero h1, .contact-hero h1 { font-size: 34pt; }
  .patriage-hero-copy .lead, .contact-hero .lead { font-size: 10.5pt; }
  .product-feature { width: 100%; padding: 8mm; grid-template-columns: 1fr 1fr; gap: 8mm; }
  .product-copy h2 { font-size: 23pt; }
  .product-preview { padding: 0; }
  .report-paper { padding: 4mm; break-inside: avoid; }
  .report-heading { padding-block: 4mm; }
  .report-brand { font-size: 10pt; }
  .report-brand > span { font-size: 15pt; }
  .report-title { font-size: 23pt; }
  .report-metrics > div { padding-left: 2mm; }
  .report-metrics strong { font-size: 18pt; }
  .report-markets li { gap: 1mm; font-size: 6.5pt; }
  .report-badge { font-size: 5.5pt; }
  .report-molecule { width: 12mm; }
  .report-footer { font-size: 5.5pt; }
  .dossier-page, .dossier-page[hidden] { min-height: 0; padding: 8mm; }
  .dossier-page h3 { font-size: 24pt; }
  .dossier-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dossier-summary-grid > div { display: block; }
  .dossier-summary-grid h4 { margin-block: 4mm 2mm; }
  .dossier-afterword { margin-top: 5mm; }
  .analysis-grid { grid-template-columns: 1fr 1fr; }
  .analysis-card, .analysis-card:nth-child(even) { padding: 6mm; break-inside: avoid; }
  .analysis-card h3 { font-size: 18pt; }
  .analysis-output b { display: block; margin-left: 0; }
  .faq-layout { grid-template-columns: 1fr; gap: 8mm; }
  .faq-list details { break-inside: avoid; }
  .faq-list summary { min-height: 0; padding-block: 4mm; }
  .footer-legal { justify-content: flex-start; }
}

/* Editorial direction: typography, open layouts and readable documents. */
.home-hero::before, .patriage-hero::before, .patriage-hero::after,
.product-feature::before, .product-feature::after, .cta-inner::after,
.report-stack::before, .report-stack::after, .principle-list::before { content: none; }

.home-hero { padding-block: clamp(3.5rem,6vw,6rem) clamp(3.5rem,5vw,5rem); }
.home-hero .hero-layout { display: block; }
.home-hero .eyebrow { margin-bottom: 2rem; }
.home-hero h1 { max-width: none; margin-bottom: 0; font-size: clamp(4.2rem,8.85vw,8rem); line-height: 1.01; letter-spacing: -.055em; }
.home-hero h1 em { color: var(--orange-dark); text-decoration: none; }
.hero-summary { display: flex; justify-content: space-between; align-items: center; gap: 3rem; margin-top: 3.3rem; padding-top: 2.2rem; border-top: 1px solid var(--line-strong); }
.home-hero .hero-summary .lead { max-width: 48ch; margin: 0; font-size: clamp(1.08rem,1.5vw,1.25rem); }
.hero-summary .btn-row { flex: none; gap: .75rem; }
.btn-primary { box-shadow: none; }

.signal-strip { margin-top: 0; border-block: 1px solid var(--line); background: var(--paper); }
.signal-grid { overflow: visible; padding-inline: clamp(1.25rem,3vw,2.5rem); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.signal-grid p { padding-block: 1.3rem; }
.signal-grid p:first-child { justify-content: flex-start; padding-left: 0; }
.signal-grid p:last-child { justify-content: flex-end; padding-right: 0; }
.signal-grid p + p { border-left: 0; }

.expertise-section { padding-top: var(--section-y); background: var(--paper-bright); }
.capability-ledger { border-top: 1px solid var(--line-strong); }
.capability-row { grid-template-columns: 55px minmax(0,1fr); align-items: start; gap: 2.5rem; padding: 2.6rem 0; }
.capability-id { padding-top: .2rem; }
.capability-id > span { color: var(--muted); font-family: var(--font-mono); font-size: .78rem; font-weight: 500; letter-spacing: 0; line-height: 1.4; }
.capability-copy { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: .8rem clamp(2rem,6vw,6rem); }
.capability-label { grid-column: 1; margin: 0; font-size: .69rem; }
.capability-copy h3 { grid-column: 1; max-width: 19ch; font-size: clamp(1.8rem,2.8vw,2.6rem); line-height: 1.08; }
.capability-copy > p:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; max-width: 46ch; margin: 0; font-size: 1rem; line-height: 1.7; }

.product-stage { background: var(--night); }
.product-feature { width: 100%; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(3rem,7vw,7rem); overflow: visible; padding: 0 clamp(1.25rem,3vw,2.5rem); border-radius: 0; background: transparent; }
.product-preview { padding: 0; }
.product-kicker { color: #ffb575; }
.product-copy h2 { max-width: 16ch; }
.clean-list li span { background: none; border-radius: 0; }
.report-paper { padding: clamp(1.4rem,2.7vw,2.6rem); border: 1px solid #dad8d0; border-radius: 1px; background: #fffefb; box-shadow: 0 12px 36px rgba(0,0,0,.09); }
.report-masthead { padding-bottom: 1.1rem; }
.report-heading { padding-block: 2rem 1.6rem; }
.report-paper .report-kicker { font-size: .66rem; }
.report-title { margin-top: .65rem; font-size: clamp(2.4rem,3.8vw,3.7rem); font-weight: 550; letter-spacing: -.045em; }
.report-subtitle { margin-top: .6rem; font-size: .85rem; }
.report-edition { font-size: .62rem; }
.report-metrics { padding-block: 1.2rem; }
.report-metrics strong { font-size: 1.85rem; }
.report-metrics span { font-size: .68rem; }
.report-market-heading { padding-top: 1.6rem; font-size: .63rem; }
.report-markets li { padding-block: .9rem; font-size: .84rem; }
.report-paper .report-badge { gap: .5rem; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: .71rem; font-weight: 500; }
.report-paper .report-badge::before { width: 5px; height: 5px; }
.report-recommendation { margin-block: 1.4rem 1.7rem; padding: 0; border: 0; background: transparent; }
.report-recommendation .report-kicker { color: var(--ink); }
.report-recommendation p { margin-top: .6rem; font-size: .84rem; line-height: 1.65; }
.report-footer { padding-top: 1rem; border-top: 1px solid var(--line); font-size: .62rem; }
.patriage-report-preview { padding: 0; }
.patriage-report-preview figcaption { margin-top: 1.2rem; }
.dossier-explorer { border-radius: 2px; box-shadow: none; }

.principle-list { gap: 0; border-top: 1px solid var(--line-strong); }
.principle-list article { grid-template-columns: 34px minmax(0,1fr); align-items: start; gap: 1.3rem; min-height: 0; padding: 1.8rem 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.principle-list article > span { display: block; width: auto; height: auto; padding-top: .15rem; border: 0; background: transparent; color: var(--muted); font-size: .72rem; }
.principle-list h3 { margin-bottom: .6rem; font-size: 1.3rem; }
.principle-list p { max-width: 56ch; font-size: .95rem; line-height: 1.65; }

.practice-section { border-top: 1px solid var(--line); }
.practice-grid, .founder-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: clamp(3rem,8vw,8rem); }
.practice-grid h2 { max-width: 17ch; }
.founder-grid h2 { max-width: 16ch; }
.founder-grid h3 { font-size: 1.3rem; line-height: 1.3; }
.founder-grid h3 span { display: block; margin: .5rem 0 1.5rem; }
.founder-grid p { font-size: 1rem; line-height: 1.75; }
.founder-credentials { display: block; margin-top: 1.8rem; padding-top: .7rem; border-top: 1px solid var(--line-strong); }
.founder-credentials li { padding: .65rem 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; font-size: .84rem; }

@media (max-width: 1100px) {
  .hero-summary { align-items: flex-start; gap: 2rem; }
  .hero-summary .btn-row { flex-direction: column; align-items: stretch; }
  .hero-summary .btn { justify-content: center; }
}
@media (max-width: 980px) {
  .product-feature { grid-template-columns: 1fr; }
  .product-copy h2 { max-width: 20ch; }
  .product-preview { max-width: 590px; }
  .practice-grid, .founder-grid { gap: 3rem; }
}
@media (max-width: 760px) {
  .home-hero { padding-block: 3rem; }
  .home-hero .eyebrow { margin-bottom: 1.6rem; }
  .home-hero h1 { font-size: clamp(2.7rem,9.1vw,4.3rem); line-height: 1.06; }
  .hero-summary { display: block; margin-top: 2rem; padding-top: 1.5rem; }
  .home-hero .hero-summary .lead { max-width: 48ch; font-size: 1.07rem; }
  .hero-summary .btn-row { flex-direction: row; margin-top: 1.5rem; }
  .signal-grid { grid-template-columns: 1fr; }
  .signal-grid p, .signal-grid p:first-child, .signal-grid p:last-child { justify-content: flex-start; padding: .8rem 0; }
  .signal-grid p + p { border-top: 1px solid var(--line); }
  .capability-row { grid-template-columns: 28px minmax(0,1fr); gap: 1rem; padding-block: 2rem; }
  .capability-copy { grid-template-columns: 1fr; gap: .7rem; }
  .capability-copy h3 { font-size: 1.95rem; max-width: 22ch; }
  .capability-copy > p:last-child { grid-column: 1; grid-row: auto; margin-top: .3rem; font-size: .95rem; }
  .product-feature { width: 100%; }
  .practice-grid, .founder-grid { grid-template-columns: 1fr; gap: 2rem; }
  .founder-grid h2 { margin: 0; }
}
@media (max-width: 520px) {
  .home-hero h1 { font-size: clamp(2.75rem,10.8vw,3.5rem); }
  .hero-summary .btn { width: 100%; }
  .report-paper { padding: 1.25rem; }
  .report-heading { padding-block: 1.6rem 1.3rem; }
  .report-title { font-size: 2.65rem; }
  .report-edition { font-size: .57rem; }
  .report-subtitle { font-size: .78rem; }
  .report-metrics span { font-size: .63rem; }
  .report-paper .report-kicker { font-size: .61rem; }
  .report-market-heading { font-size: .58rem; }
  .report-markets li { font-size: .74rem; }
  .report-paper .report-badge { gap: .35rem; font-size: .63rem; }
  .report-recommendation p { font-size: .8rem; }
  .report-footer { font-size: .56rem; }
}
@media print {
  .home-hero { padding-block: 6mm; }
  .home-hero .eyebrow { margin-bottom: 4mm; }
  .home-hero h1 { font-size: 36pt; }
  .hero-summary { margin-top: 6mm; padding-top: 4mm; }
  .home-hero .hero-summary .lead { max-width: 100%; font-size: 10pt; }
  .signal-grid { grid-template-columns: repeat(3,1fr); }
  .expertise-section { padding-block: 8mm; }
  .capability-row { grid-template-columns: 10mm 1fr; gap: 5mm; padding-block: 6mm; }
  .capability-copy { grid-template-columns: 1fr 1fr; gap: 2mm 8mm; }
  .capability-copy h3 { font-size: 18pt; }
  .capability-copy > p:last-child { grid-column: 2; grid-row: 1 / 3; font-size: 9pt; }
  .product-stage { background: transparent; }
  .product-feature { width: 100%; grid-template-columns: 1fr 1fr; gap: 8mm; padding: 6mm; background: var(--night); }
  .report-paper { padding: 4mm; box-shadow: none; }
  .report-heading { padding-block: 4mm; }
  .report-title { font-size: 25pt; }
  .report-metrics { padding-block: 3mm; }
  .report-metrics strong { font-size: 18pt; }
  .report-metrics span, .report-paper .report-kicker, .report-subtitle { font-size: 6.5pt; }
  .report-market-heading { padding-top: 4mm; font-size: 6pt; }
  .report-markets li { padding-block: 3mm; font-size: 7pt; }
  .report-paper .report-badge { font-size: 6pt; }
  .report-recommendation { margin-block: 4mm; }
  .report-recommendation p { font-size: 7pt; }
  .report-footer { padding-top: 3mm; font-size: 5.5pt; }
  .principle-list article { padding-block: 4mm; }
  .principle-list h3 { font-size: 11pt; }
  .principle-list p { font-size: 9pt; }
  .practice-grid, .founder-grid { grid-template-columns: 1fr 1fr; gap: 10mm; }
  .founder-grid h3 { font-size: 12pt; }
  .founder-grid p { font-size: 10pt; }
  .cookie-settings { display: none !important; }
  .footer-bottom { display: block; }
  .footer-legal { justify-content: flex-start; margin-top: 2mm; }
}
