:root {
    --ink: #17233b;
    --ink-soft: #42506a;
    --navy: #11213d;
    --brand: #174f67;
    --brand-dark: #103b4f;
    --brand-light: #dbe9ed;
    --paper: #ffffff;
    --soft: #f3f5f6;
    --line: #d9dfe3;
    --success: #1f6b4f;
    --warning: #8a5a13;
    --error: #a52d2d;
    --radius: 4px;
    --shadow: 0 16px 45px rgba(17, 33, 61, .09);
    --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, input, textarea, select, button { font: inherit; }
img, svg { display: block; max-width: 100%; }
a { color: var(--brand-dark); text-underline-offset: .18em; }
a:hover { color: var(--brand); }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #f2a900; outline-offset: 3px; }
h1, h2, h3 { margin: 0 0 .75em; font-family: Georgia, "Times New Roman", serif; line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2.55rem, 6vw, 5.2rem); }
h2 { font-size: clamp(2rem, 4vw, 3.55rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); }
p { margin: 0 0 1.25em; }
strong { font-weight: 750; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.narrow { max-width: 850px; }
.center { text-align: center; }
.section { padding-block: clamp(4.5rem, 9vw, 8.5rem); }
.section--soft { background: var(--soft); }
.section--dark { color: #fff; background: var(--navy); }
.section--dark .eyebrow { color: #a8d4df; }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section-title { margin-top: 2.2rem; font-family: inherit; font-size: 1.05rem; letter-spacing: .01em; }
.eyebrow { margin-bottom: 1rem; color: var(--brand); font-family: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.lead { color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.65; }
.microcopy { margin-top: 1rem; color: var(--ink-soft); font-size: .9rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: .75rem; left: .75rem; padding: .75rem 1rem; color: #fff; background: var(--navy); transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--navy); font-weight: 800; line-height: 1; text-decoration: none; white-space: nowrap; }
.brand__mark { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; color: #fff; background: var(--brand); border-radius: 2px; font-size: .75rem; letter-spacing: .05em; }
.brand__dot { color: var(--brand); }
.brand--large { font-size: 1.25rem; }
.brand--large .brand__mark { width: 2.6rem; height: 2.6rem; }
.brand--footer { margin-bottom: 1.25rem; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: .72rem 1.25rem; border: 1px solid var(--brand); border-radius: var(--radius); color: #fff; background: var(--brand); font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
.button:hover { color: #fff; background: var(--brand-dark); border-color: var(--brand-dark); }
.button:disabled { opacity: .65; cursor: wait; }
.button--small { min-height: 40px; padding: .55rem .9rem; font-size: .9rem; }
.button--full { width: 100%; }
.button--ghost { color: var(--brand-dark); background: transparent; border-color: var(--line); }
.button--ghost:hover { color: var(--navy); background: var(--soft); border-color: #b5c0c7; }
.button--secondary { color: var(--navy); background: #fff; border-color: #aab7bf; }
.button--secondary:hover { color: #fff; }
.button--light { color: var(--navy); background: #fff; border-color: #fff; }
.button--light:hover { color: #fff; background: transparent; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.text-link { font-weight: 750; }
.link-button { padding: 0; border: 0; color: var(--brand-dark); background: none; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.link-button--danger { color: var(--error); }
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(217, 223, 227, .85); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); }
.site-header__inner { display: grid; min-height: 74px; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.site-nav { display: flex; gap: clamp(.8rem, 1.5vw, 1.55rem); justify-content: center; }
.site-nav a { color: var(--ink); font-size: .92rem; font-weight: 650; text-decoration: none; }
.site-header__actions { display: flex; gap: 1rem; align-items: center; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; background: var(--navy); }
.hero--cover { position: relative; display: grid; min-height: clamp(620px, 78vh, 820px); padding: 0; align-items: end; color: #fff; background: var(--navy); overflow: hidden; }
.hero__media, .hero__overlay { position: absolute; inset: 0; }
.hero__media picture { display: block; width: 100%; height: 100%; }
.hero__background { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.hero__overlay { background: linear-gradient(90deg, rgba(8, 18, 34, .91) 0%, rgba(8, 18, 34, .76) 42%, rgba(8, 18, 34, .3) 72%, rgba(8, 18, 34, .12) 100%), linear-gradient(0deg, rgba(8, 18, 34, .56) 0%, rgba(8, 18, 34, 0) 58%); }
.hero__content { position: relative; z-index: 1; padding-block: clamp(4rem, 8vw, 6.75rem); }
.hero__copy { max-width: 760px; }
.hero--cover h1 { max-width: 700px; margin-bottom: .55em; font-size: clamp(2.25rem, 4vw, 3.85rem); text-wrap: balance; }
.hero--cover h1 span { color: #c9e8ee; }
.hero--cover .eyebrow { color: #b8e0e8; }
.hero--cover .lead { max-width: 680px; color: #f0f4f5; font-size: clamp(1.04rem, 1.45vw, 1.2rem); line-height: 1.6; }
.hero--cover .microcopy { color: #e0e7e9; }
.hero--cover .button--ghost { color: #fff; border-color: rgba(255, 255, 255, .7); background: rgba(8, 18, 34, .3); }
.hero--cover .button--ghost:hover { color: var(--navy); border-color: #fff; background: #fff; }
.editorial-image { width: 100%; height: auto; border-radius: var(--radius); object-fit: cover; }
.editorial-image--hero { aspect-ratio: 4 / 3; box-shadow: var(--shadow); }
.document-stack { position: relative; width: min(100%, 420px); height: 390px; }
.document-stack div { position: absolute; width: 78%; min-height: 280px; padding: 2rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.document-stack div:nth-child(1) { top: 3.2rem; left: 0; transform: rotate(-6deg); }
.document-stack div:nth-child(2) { top: 1.5rem; right: 0; transform: rotate(4deg); }
.document-stack div:nth-child(3) { top: 4rem; left: 11%; transform: rotate(-1deg); }
.document-stack span { display: block; margin-bottom: 2.5rem; color: var(--brand); font-family: Georgia, serif; font-size: 1.4rem; font-weight: 700; }
.document-stack i { display: block; height: 8px; margin: 1rem 0; background: #dce2e5; }
.document-stack i:nth-of-type(2) { width: 78%; }.document-stack i:nth-of-type(3) { width: 62%; }
.trust-strip { border-block: 1px solid var(--line); background: #fff; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid article { display: flex; gap: 1rem; padding: 2rem; border-right: 1px solid var(--line); }
.trust-grid article:last-child { border: 0; }
.trust-grid article > span { color: var(--brand); font-size: 1.4rem; }
.trust-grid h2 { margin-bottom: .35rem; font-family: inherit; font-size: .92rem; letter-spacing: .04em; text-transform: uppercase; }
.trust-grid p { margin: 0; color: var(--ink-soft); font-size: .92rem; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.comparison article { padding: clamp(2rem, 5vw, 4rem); background: #fff; }
.comparison__strong { border-top: 4px solid var(--brand); }
.comparison blockquote { margin: 0; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.45; }
.comparison__note { grid-column: 1 / -1; margin: 0; padding: 1rem 1.4rem; color: var(--ink-soft); background: #fff; font-size: .92rem; }
.four-grid, .three-grid, .service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.four-grid article, .three-grid article, .service-grid article { padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.four-grid article > span { color: var(--brand); font-weight: 800; }
.four-grid h3, .three-grid h3, .service-grid h3 { margin-top: 1.5rem; }
.steps { display: grid; margin-block: 3rem; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.method-intro, .human-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,7vw,7rem); align-items: center; }
.method-intro picture { min-width: 0; }
.steps article { padding-top: 1rem; border-top: 1px solid #52617a; }
.steps span { color: #9dcad5; font-weight: 800; }
.steps p { color: #d7dce5; }
.conversation-grid, .profile-grid, .target-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.conversation { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.message { max-width: 90%; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.message--answer { margin-left: auto; border-color: #bdd2d8; background: #eaf3f5; }
.message span { display: block; margin-bottom: .35rem; color: var(--brand); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.message p { margin: 0; }
.conversation__note { margin: .75rem 0 0; color: var(--ink-soft); font-size: .9rem; }
.profile-map { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.profile-map span { padding: 1rem; border-left: 3px solid var(--brand); background: #fff; box-shadow: 0 4px 18px rgba(17,33,61,.06); }
.match-card { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.match-card--horizontal { display: grid; margin-top: 1rem; grid-template-columns: repeat(4,1fr); box-shadow: none; }
.match-card--horizontal > div { border-right: 1px solid var(--line); border-bottom: 0; }
.match-card > div { display: grid; padding: 1rem; grid-template-columns: auto 1fr; column-gap: .8rem; border-bottom: 1px solid var(--line); }
.match-card > div:last-child { border: 0; }
.match-card p { grid-column: 2; margin: .2rem 0 0; color: var(--ink-soft); font-size: .9rem; }
.match-dot { width: .75rem; height: .75rem; margin-top: .4rem; border-radius: 2px; background: var(--brand); }.match-dot--success { background: var(--success); }.match-dot--warning { background: var(--warning); }.match-dot--muted { background: #89939c; }
.service-grid article { display: flex; min-height: 290px; flex-direction: column; }.service-grid article a { margin-top: auto; font-weight: 750; }
.privacy-section { color: #fff; background: var(--brand-dark); }.privacy-section .three-grid article { color: var(--ink); }.privacy-section a { color: #fff; }
.three-grid { grid-template-columns: repeat(3, 1fr); margin-block: 2.5rem; }
.final-cta { color: #fff; background: var(--navy); }.final-cta .lead { color: #d7dce5; }
.page-hero { background: #eef4f5; }.page-hero h1 { font-size: clamp(2.7rem, 6vw, 4.8rem); }
.content-hero { overflow: hidden; background: #eef4f5; }.content-hero h1 { font-size: clamp(2.7rem,6vw,4.8rem); }.content-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2.5rem,7vw,7rem); align-items: center; }.content-hero__grid .editorial-image { aspect-ratio: 3 / 2; box-shadow: var(--shadow); }.service-summary { color: #fff; background: var(--brand-dark); }.service-summary__inner { display: grid; padding-block: 1.5rem; grid-template-columns: 1fr 1fr; gap: 2rem; }.service-summary__inner > div { display: grid; align-content: start; }.service-summary strong { font-family: Georgia,serif; font-size: 1.35rem; }.service-summary span { color: #d6e3e7; }.service-summary .eyebrow { margin-bottom: .3rem; color: #b7dde5; }.content-sections { display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }.content-section { display: grid; padding: clamp(1.5rem,5vw,3.5rem); grid-template-columns: 70px minmax(0,1fr); gap: clamp(1rem,4vw,3rem); background: #fff; }.content-section__number { color: var(--brand); font-family: Georgia,serif; font-size: 1.8rem; }.content-section h2 { margin-bottom: .4rem; font-size: clamp(1.6rem,3vw,2.35rem); }.content-section p:last-child, .content-section ul:last-child { margin-bottom: 0; }.content-section ul { padding-left: 1.2rem; }.service-catalog { display: grid; gap: 1rem; }.service-catalog article { display: grid; padding: clamp(1.5rem,4vw,2.5rem); grid-template-columns: 1fr minmax(240px,.45fr); gap: 2rem; align-items: center; border: 1px solid var(--line); background: #fff; }.service-catalog h2 { margin-bottom: .35rem; font-size: 2rem; }.service-catalog__action { display: grid; gap: .7rem; justify-items: end; text-align: right; }.service-catalog__action strong { font-family: Georgia,serif; font-size: 1.8rem; }.service-catalog__action span { color: var(--ink-soft); font-size: .85rem; }
.article-filters { display: grid; margin-bottom: 2rem; padding: 1rem; grid-template-columns: 1fr minmax(200px,.4fr) auto; gap: 1rem; align-items: end; border: 1px solid var(--line); background: #fff; }.article-header { background: #eef4f5; }.breadcrumb { display: flex; margin-bottom: 3rem; flex-wrap: wrap; gap: .5rem; color: var(--ink-soft); font-size: .85rem; }.article-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; color: var(--ink-soft); font-size: .88rem; }.article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(260px,1fr); gap: clamp(2rem,7vw,7rem); align-items: start; }.article-body { font-size: 1.08rem; }.article-body h2 { margin-top: 2.5rem; font-size: 2rem; }.article-body h3 { margin-top: 2rem; }.article-cta { position: sticky; top: 100px; padding: 1.5rem; border: 1px solid var(--line); background: var(--soft); }.article-cta h2 { font-size: 1.7rem; }.legal-layout { display: grid; grid-template-columns: 260px minmax(0,760px); gap: clamp(2rem,7vw,7rem); align-items: start; }.legal-index { position: sticky; top: 100px; display: grid; padding-left: 1rem; gap: .5rem; border-left: 2px solid var(--line); }.legal-index strong { margin-bottom: .5rem; }.legal-index a { text-decoration: none; }.legal-content { display: grid; gap: 3rem; }.legal-content h2 { font-size: 2rem; }
.form-container { max-width: 850px; }.public-form, .admin-form { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.form-stack { display: grid; gap: 1.1rem; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }.field--wide { grid-column: 1 / -1; }
.field { display: grid; gap: .4rem; }.field label { font-size: .9rem; font-weight: 750; }.field input, .field select, .field textarea { width: 100%; min-height: 46px; padding: .72rem .8rem; border: 1px solid #9facb5; border-radius: var(--radius); color: var(--ink); background: #fff; }.field textarea { resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 2px rgba(23,79,103,.16); outline: 0; }.field-error { color: var(--error); font-size: .86rem; font-weight: 700; }.field-help { color: var(--ink-soft); font-size: .84rem; }.check { display: flex; margin: 1.2rem 0; gap: .75rem; align-items: flex-start; }.check input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--brand); }
.form-section { min-width: 0; margin: 0 0 2rem; padding: 1.5rem; border: 1px solid var(--line); }.form-section legend { padding-inline: .4rem; color: var(--navy); font-family: Georgia,serif; font-size: 1.35rem; font-weight: 700; }.form-section > p { color: var(--ink-soft); }.form-summary { padding: 1rem; color: var(--error); border-left: 3px solid var(--error); background: #fff1f0; font-weight: 700; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; }
.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { padding: 1.4rem 2.5rem 1.4rem 0; font-size: 1.12rem; font-weight: 750; cursor: pointer; }.faq-list details p { padding-bottom: 1.4rem; color: var(--ink-soft); }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.article-grid article { padding: 2rem; border: 1px solid var(--line); background: #fff; }.article-grid h2 { font-size: 1.5rem; }.article-grid time { color: var(--ink-soft); font-size: .9rem; }
.article-grid h3 { font-size: 1.5rem; }.article-grid h3 a { color: var(--ink); text-decoration: none; }.editorial-placeholder { padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--line); background: var(--soft); }.editorial-placeholder h3 { margin-bottom: .4rem; }.editorial-placeholder p:last-child { margin: 0; }.section-link { margin: 2rem 0 0; }
.analysis-hero { display: grid; grid-template-columns: 1fr minmax(320px, .72fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }.analysis-copy .editorial-image { margin-top: 2rem; aspect-ratio: 3 / 2; box-shadow: var(--shadow); }.upload-card { padding: clamp(1.3rem, 4vw, 2.2rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }.upload-card input[type="file"] { padding: 1rem; background: var(--soft); }.analysis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }.analysis-grid span { padding: 1rem; border-left: 3px solid var(--brand); background: var(--soft); font-weight: 700; }.status-page { min-height: 70vh; }.progress-track { height: 8px; margin: 2rem 0 1rem; background: #dfe5e8; overflow: hidden; }.progress-track__bar { display: block; width: 25%; height: 100%; background: var(--brand); }.progress-track__bar--document_parsed, .progress-track__bar--analysis_queued { width: 50%; }.progress-track__bar--analysis_in_progress { width: 75%; }.progress-track__bar--analysis_ready { width: 100%; background: var(--success); }.progress-track__bar--failed, .progress-track__bar--needs_input { width: 100%; background: var(--warning); }.working-state, .analysis-result { display: grid; margin-top: 2rem; padding: 1.5rem; gap: .35rem; border: 1px solid var(--line); background: var(--soft); }.working-state span { color: var(--ink-soft); }.analysis-result { text-align: left; }.analysis-result .button { justify-self: start; }
.site-footer { padding-top: 4rem; color: #d7dce5; background: #0b172d; }.site-footer .brand { color: #fff; }.site-footer .brand__dot { color: #a8d4df; }.site-footer a { color: #e6edf2; }.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; }.footer-grid h2 { color: #fff; font-family: inherit; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }.footer-grid > div > a:not(.brand) { display: block; margin: .5rem 0; text-decoration: none; }.footer-company { display: grid; margin-top: 3.5rem; padding-block: 2rem; grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem; border-top: 1px solid #334058; font-size: .82rem; }.footer-bottom { display: flex; padding-block: 1.5rem; justify-content: space-between; gap: 1.5rem; border-top: 1px solid #334058; font-size: .82rem; }.footer-bottom p { margin: 0; }.footer-bottom nav { display: flex; flex-wrap: wrap; gap: 1rem; }.footer-bottom .link-button { color: #e6edf2; }
.cookie-dialog { width: min(calc(100% - 2rem),620px); padding: 0; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); box-shadow: 0 24px 70px rgba(0,0,0,.28); }.cookie-dialog::backdrop { background: rgba(8,19,36,.72); }.cookie-dialog form { padding: clamp(1.25rem,5vw,2.5rem); }.dialog-heading, .dialog-actions, .cookie-choice { display: flex; gap: 1rem; align-items: center; justify-content: space-between; }.dialog-heading h2 { margin: 0; font-size: 2rem; }.dialog-close { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; font-size: 1.6rem; cursor: pointer; }.cookie-choice { margin-block: 1.5rem; padding: 1rem; border: 1px solid var(--line); background: var(--soft); }.cookie-choice span { display: grid; }.cookie-choice small { color: var(--ink-soft); }.cookie-choice input { width: 1.2rem; height: 1.2rem; accent-color: var(--brand); }.dialog-actions { flex-wrap: wrap; }
.flash-stack { margin-block: 1rem; }.flash { padding: .85rem 1rem; border: 1px solid; border-radius: var(--radius); }.flash--success { color: #174e3b; background: #edf8f3; border-color: #a9d2c0; }.flash--error { color: #812525; background: #fff2f1; border-color: #efb8b5; }
.maintenance-body, .minimal-body, .auth-body { min-height: 100vh; background: var(--soft); }.maintenance { display: grid; width: min(calc(100% - 2rem), 780px); min-height: 100vh; margin: auto; padding-block: 4rem; align-content: center; }.maintenance .brand { margin-bottom: 4rem; }.maintenance h1 { font-size: clamp(2.5rem, 7vw, 4.7rem); }.minimal-body { display: grid; padding: 1rem; place-items: center; }.minimal-card { width: min(100%, 650px); padding: clamp(1.5rem, 5vw, 3.5rem); border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }.minimal-card h1 { font-size: clamp(2rem, 6vw, 3.2rem); }.auth-body { display: grid; padding: 1rem; place-items: center; }.auth-shell { width: min(100%, 470px); }.auth-shell > .brand { margin: 0 0 1.5rem .25rem; }.auth-card { padding: clamp(1.5rem, 6vw, 3rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }.auth-card h1 { font-size: 2.6rem; }
.admin-body { background: #f4f6f7; }.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 255px minmax(0, 1fr); }.admin-sidebar { position: sticky; top: 0; display: flex; height: 100vh; padding: 1.25rem; flex-direction: column; color: #fff; background: var(--navy); overflow-y: auto; }.brand--admin { margin-bottom: 1.5rem; color: #fff; }.admin-sidebar nav { display: grid; gap: .15rem; }.admin-sidebar nav a { min-height: 40px; padding: .55rem .75rem; border-left: 3px solid transparent; color: #dce3ec; font-size: .9rem; text-decoration: none; }.admin-sidebar nav a:hover, .admin-sidebar nav a.is-active { color: #fff; background: #1b2d4d; border-left-color: #7eb4c1; }.admin-sidebar nav a[aria-disabled="true"] { color: #8794a8; cursor: default; }.admin-version { margin: auto 0 0; padding-top: 1rem; color: #9ba8ba; font-size: .75rem; }.admin-main { min-width: 0; }.admin-topbar { display: flex; min-height: 68px; padding: .75rem clamp(1rem, 3vw, 2rem); gap: 1rem; align-items: center; justify-content: flex-end; border-bottom: 1px solid var(--line); background: #fff; }.admin-user { color: var(--ink-soft); font-size: .84rem; }.admin-topbar form { margin: 0; }.admin-content { padding: clamp(1rem, 4vw, 3rem); }.page-heading { display: flex; margin-bottom: 2rem; gap: 2rem; align-items: flex-start; justify-content: space-between; }.page-heading h1 { margin-bottom: .25rem; font-size: clamp(2rem, 4vw, 3.4rem); }.page-heading p { margin: 0; color: var(--ink-soft); }.metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }.metric { display: flex; min-height: 130px; padding: 1.25rem; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.metric span { color: var(--ink-soft); font-size: .85rem; }.metric strong { font-family: Georgia, serif; font-size: 2.5rem; }.admin-panel { margin-top: 2rem; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.panel-heading { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; }.panel-heading h2 { margin-bottom: .25rem; font-size: 1.8rem; }.attention-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }.attention-list a { display: flex; padding: 1rem; color: var(--ink); background: #fff; justify-content: space-between; text-decoration: none; }.filter-bar { display: grid; margin-bottom: 1.25rem; padding: 1rem; grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) auto; gap: 1rem; align-items: end; border: 1px solid var(--line); background: #fff; }.table-wrap { overflow-x: auto; border: 1px solid var(--line); background: #fff; }.table-wrap table { width: 100%; border-collapse: collapse; }.table-wrap th, .table-wrap td { padding: .9rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }.table-wrap th { color: var(--ink-soft); background: #f8f9fa; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }.table-wrap td > span:not(.status) { display: block; color: var(--ink-soft); font-size: .85rem; }.table-actions { display: flex; gap: .75rem; align-items: center; justify-content: flex-end; white-space: nowrap; }.table-actions form { margin: 0; }.empty-cell, .empty-state { padding: 2rem !important; color: var(--ink-soft); text-align: center !important; }.status { display: inline-flex; padding: .18rem .45rem; border: 1px solid #b5c0c7; border-radius: 2px; color: var(--ink-soft); background: #f5f7f8; font-size: .72rem; font-weight: 800; text-transform: uppercase; }.status--active, .status--completed, .status--paid { color: var(--success); border-color: #a7cabd; background: #edf7f2; }.status--suspended, .status--failed { color: var(--error); border-color: #e6b7b4; background: #fff1f0; }.pagination { display: flex; margin-top: 1rem; gap: .4rem; }.pagination a { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--line); background: #fff; text-decoration: none; }.pagination a[aria-current="page"] { color: #fff; background: var(--brand); border-color: var(--brand); }.form-actions { display: flex; margin-top: 1.5rem; justify-content: flex-end; }.detail-grid { display: grid; margin: 0; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }.detail-grid div { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }.detail-grid dt { color: var(--ink-soft); font-size: .78rem; font-weight: 800; text-transform: uppercase; }.detail-grid dd { margin: .3rem 0 0; }.object-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: .75rem; }.object-grid a { display: flex; min-height: 120px; padding: 1rem; flex-direction: column; color: var(--ink); border: 1px solid var(--line); background: #fff; text-decoration: none; }.object-grid strong { font-family: Georgia, serif; font-size: 2rem; }.object-grid span { margin-top: auto; color: var(--ink-soft); font-size: .85rem; }.menu-toggle--admin { margin-right: auto; }
.filter-bar--compact { grid-template-columns: minmax(180px, 280px) auto; justify-content: start; }
.content-filter { grid-template-columns: minmax(220px,1fr) minmax(140px,200px) minmax(160px,240px) auto; }

.auth-shell--wide { width: min(100%, 680px); }
.auth-switch { margin: 1.5rem 0 0; text-align: center; }
.form-assist { margin: -.45rem 0 0; font-size: .9rem; text-align: right; }
.button-row--center { justify-content: center; }
.customer-body { background: #f5f7f7; }
.customer-shell { display: grid; min-height: 100vh; grid-template-columns: 235px minmax(0,1fr); }
.customer-sidebar { position: sticky; top: 0; display: flex; height: 100vh; padding: 1.25rem; flex-direction: column; border-right: 1px solid var(--line); background: #fff; overflow-y: auto; }
.brand--customer { margin-bottom: 2rem; }
.customer-sidebar nav { display: grid; gap: .2rem; }
.customer-sidebar nav a { min-height: 42px; padding: .6rem .75rem; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; }
.customer-sidebar nav a:hover, .customer-sidebar nav a.is-active { color: var(--brand-dark); background: var(--soft); border-left-color: var(--brand); }
.customer-sidebar nav a[aria-disabled="true"] { color: #8a949d; cursor: default; }
.customer-main { min-width: 0; }
.customer-topbar { display: flex; min-height: 68px; padding: .75rem clamp(1rem,3vw,2rem); gap: 1rem; align-items: center; justify-content: flex-end; border-bottom: 1px solid var(--line); background: #fff; }
.customer-topbar form { margin: 0; }
.customer-content { width: min(calc(100% - 2rem), 1050px); margin-inline: auto; padding-block: clamp(1.25rem,4vw,3rem); }
.menu-toggle--customer { margin-right: auto; }
.customer-heading { max-width: 760px; margin-bottom: 3rem; }
.customer-heading h1 { font-size: clamp(2.5rem,6vw,4.6rem); }
.customer-objects { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.customer-objects article { display: flex; min-height: 240px; padding: 1.5rem; flex-direction: column; border: 1px solid var(--line); background: #fff; }
.customer-objects article strong { font-family: Georgia,serif; font-size: 3rem; }
.customer-objects article span { color: var(--ink-soft); }
.customer-objects article a { margin-top: auto; font-weight: 750; }
.next-action { margin-top: 2rem; padding: clamp(1.5rem,5vw,3rem); color: #fff; background: var(--navy); }
.next-action .eyebrow { color: #a8d4df; }
.object-list { display: grid; gap: 1rem; }
.object-list article { display: grid; padding: clamp(1rem,3vw,1.5rem); grid-template-columns: 1fr auto; gap: 2rem; align-items: center; border: 1px solid var(--line); background: #fff; }
.object-list h2 { margin-bottom: .3rem; font-size: 1.6rem; }
.completion { display: block; width: min(100%,320px); height: 5px; margin-top: 1rem; border: 0; background: #dfe5e8; }
.completion::-webkit-progress-bar { background: #dfe5e8; }
.completion::-webkit-progress-value { background: var(--brand); }
.completion::-moz-progress-bar { background: var(--brand); }
.object-list small { color: var(--ink-soft); }
.object-actions { display: flex; gap: .75rem; align-items: center; }
.object-actions form { margin: 0; }
.customer-form { padding: clamp(1.25rem,4vw,2.5rem); border: 1px solid var(--line); background: #fff; }
.improve-action { display: flex; margin-bottom: 1.5rem; padding: clamp(1.25rem,4vw,2.25rem); gap: 2rem; align-items: center; justify-content: space-between; color: #fff; background: var(--brand-dark); }
.improve-action .eyebrow { color: #b7dde5; }
.improve-action h2 { margin-bottom: .3rem; }
.improve-action p { margin: 0; }
.experience-sections { display: grid; gap: 1rem; }
.experience-sections section { padding: clamp(1.25rem,4vw,2rem); border: 1px solid var(--line); background: #fff; }
.experience-sections h2 { font-size: 1.65rem; }
.section-row { display: flex; gap: 1rem; justify-content: space-between; }
.gap-list { color: var(--warning); }
.interview-shell { max-width: 820px; margin-inline: auto; }
.interview-turn, .interview-question, .proposal-card { margin-bottom: 1rem; padding: clamp(1.25rem,4vw,2rem); border: 1px solid var(--line); background: #fff; }
.interview-turn--answer { margin-left: clamp(1rem,8vw,5rem); background: #eef5f6; border-color: #bfd5da; }
.interview-turn span { display: block; color: var(--brand); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.interview-turn p { margin: .4rem 0 0; }
.interview-question h2 { font-size: clamp(1.6rem,4vw,2.4rem); }
.proposal-correction { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.truth-notice { display: grid; margin-top: 1.5rem; padding: 1rem; border-left: 3px solid var(--brand); background: var(--soft); }.truth-notice span { color: var(--ink-soft); }.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }.two-columns h3 { font-size: 1.2rem; }
.skill-group { margin-bottom: 3rem; }.skill-group > .section-row { margin-bottom: 1rem; align-items: end; }.skill-group h2 { margin: 0; font-size: 2rem; }.skill-group h3 { margin-bottom: .2rem; }.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.choice-grid a { display: grid; min-height: 260px; padding: clamp(1.5rem,4vw,2.5rem); align-content: start; border: 1px solid var(--line); color: var(--ink); background: #fff; text-decoration: none; }.choice-grid a:hover { border-color: var(--brand); box-shadow: var(--shadow); }.choice-grid span { color: var(--brand); font-size: .78rem; font-weight: 800; text-transform: uppercase; }.choice-grid strong { margin-top: 2rem; font-family: Georgia,serif; font-size: 1.8rem; line-height: 1.2; }.choice-grid small { margin-top: 1rem; color: var(--ink-soft); }
.choice-grid--three { grid-template-columns: repeat(3,1fr); }.resume-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 2rem; align-items: start; }.resume-preview { padding: clamp(1rem,3vw,2rem); background: #dfe5e8; }.resume-paper { min-height: 720px; padding: clamp(2rem,6vw,5rem); background: #fff; box-shadow: 0 8px 28px rgba(17,33,61,.12); }.resume-paper h2 { margin-top: 5rem; }.action-stack { display: grid; gap: .7rem; }.action-stack form { margin: 0; }.experience-sections dl { margin: 0; }.experience-sections dt { margin-top: .8rem; color: var(--ink-soft); font-size: .78rem; font-weight: 800; text-transform: uppercase; }.experience-sections dd { margin: 0; }
.resume-paper__header { padding-bottom: 1.5rem; border-bottom: 2px solid var(--brand); }.resume-paper__header h2 { margin: 0 0 .35rem; color: var(--brand-dark); font-size: clamp(2rem,5vw,3rem); }.resume-headline { margin-bottom: .35rem; font-size: 1.08rem; font-weight: 750; }.resume-contacts { margin: 0; color: var(--ink-soft); font-size: .84rem; }.resume-paper section { margin-top: 2.2rem; }.resume-paper section > h3 { padding-bottom: .45rem; border-bottom: 1px solid var(--line); color: var(--brand-dark); font-family: inherit; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }.resume-paper h4 { margin: 0; font-family: inherit; font-size: 1.05rem; }.resume-paper p,.resume-paper li { font-size: .9rem; line-height: 1.5; }.resume-paper ul { padding-left: 1.2rem; }.resume-experience { margin-top: 1.5rem; }.resume-experience__heading { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }.resume-experience__heading p { margin: .2rem 0 0; color: var(--ink-soft); }.resume-experience__heading > p { flex: 0 0 auto; font-size: .8rem; }.resume-empty { max-width: 520px; margin: 8rem auto 0; text-align: center; }.resume-empty h2 { margin-top: 0; }.quality-score { display: flex; gap: 1rem; align-items: end; justify-content: space-between; }.quality-score span { color: var(--ink-soft); font-size: .8rem; font-weight: 800; text-transform: uppercase; }.quality-score strong { color: var(--brand-dark); font-family: Georgia,serif; font-size: 2.4rem; line-height: 1; }.quality-score small { font-family: inherit; font-size: .8rem; }.quality-meta { margin: .8rem 0; color: var(--ink-soft); font-size: .82rem; }.quality-checks { display: grid; margin: 1.2rem 0 0; padding: 0; gap: .7rem; list-style: none; }.quality-check { display: flex; gap: .7rem; align-items: flex-start; }.quality-check > span { display: grid; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; place-items: center; border: 1px solid currentColor; border-radius: 2px; font-size: .72rem; font-weight: 900; }.quality-check--passed > span { color: var(--success); }.quality-check--open > span { color: var(--warning); }.quality-check strong { display: block; font-size: .85rem; }.quality-check p { margin: .15rem 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.4; }
.application-detail { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 2rem; align-items: start; }.source-text { max-height: 500px; margin-top: 1rem; padding: 1rem; background: var(--soft); overflow: auto; white-space: normal; }.application-detail summary { cursor: pointer; font-weight: 750; }.match-sections { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }.match-sections section { padding: 1.25rem; background: #fff; }.match-sections section + section { margin: 0; }.match-sections h3 { margin-bottom: .65rem; }.match-sections ul { display: grid; margin: 0; padding-left: 1.2rem; gap: .65rem; }.match-sections li span { display: block; color: var(--ink-soft); }
.application-materials { display: grid; gap: 1rem; }.application-materials > article { padding: clamp(1rem,3vw,1.5rem); border: 1px solid var(--line); background: #fff; }.application-materials h3 { margin-bottom: .5rem; }.cover-letter-preview { border-top: 4px solid var(--signal) !important; }.letter-copy { margin-block: 1.5rem; padding-block: 1.25rem; border-block: 1px solid var(--line); }.letter-copy p { max-width: 72ch; }
.privacy-note { margin-top: 2rem; padding: 1rem; border-left: 3px solid var(--success); background: #edf7f2; }.privacy-note p { margin: .25rem 0 0; }
.profile-summary { display: grid; margin-bottom: 1rem; padding: clamp(1.5rem,5vw,3rem); grid-template-columns: 1fr 1fr; gap: 3rem; border: 1px solid var(--line); background: #fff; }.profile-counts { display: grid; margin-block: 1rem; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.profile-counts > * { display: flex; min-height: 120px; padding: 1rem; flex-direction: column; color: var(--ink); background: #fff; text-decoration: none; }.profile-counts strong { font-family: Georgia,serif; font-size: 2rem; }.profile-counts span { margin-top: auto; color: var(--ink-soft); }.compact-list { display: grid; gap: 1px; background: var(--line); }.compact-list a { display: flex; padding: 1rem; justify-content: space-between; gap: 1rem; color: var(--ink); background: var(--soft); text-decoration: none; }.compact-list span { color: var(--ink-soft); }.detail-grid .detail-wide { grid-column: 1 / -1; }.completeness-areas { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; }.completeness-areas > div { padding-block: .6rem; }.completeness-areas > div > div { display: flex; justify-content: space-between; gap: 1rem; }.completeness-areas progress { width: 100%; height: 8px; accent-color: var(--brand); }.completeness-areas p { margin: .4rem 0 0; color: var(--ink-soft); font-size: .88rem; }
.customer-service-grid { display: grid; gap: 1rem; }.customer-service-grid > article { display: grid; padding: clamp(1.25rem,4vw,2rem); grid-template-columns: 1fr auto; gap: 2rem; align-items: center; border: 1px solid var(--line); background: #fff; }.customer-service-grid h2 { margin-bottom: .35rem; }.customer-service-grid__action { display: grid; min-width: 170px; gap: .7rem; justify-items: end; }.customer-service-grid__action strong { font-family: Georgia,serif; font-size: 1.55rem; }.customer-service-grid__action small { font-family: system-ui,sans-serif; font-size: .75rem; font-weight: 500; }.service-detail-layout,.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 2rem; align-items: start; }.service-purchase-card,.order-summary { position: sticky; top: 1rem; display: grid; padding: 1.5rem; gap: .7rem; border: 1px solid var(--line); background: #fff; }.service-purchase-card > strong { font-family: Georgia,serif; font-size: 2rem; }.service-purchase-card > span { color: var(--ink-soft); }.checkout-layout form { min-width: 0; }.checkbox-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1rem; }.checkbox-row { display: flex; margin-top: 1rem; gap: .75rem; align-items: flex-start; }.checkbox-list .checkbox-row { margin: 0; padding: .85rem; border: 1px solid var(--line); background: #fff; }.checkbox-row input,.field .checkbox-row input { width: 1.2rem; min-height: 0; height: 1.2rem; padding: 0; flex: 0 0 auto; accent-color: var(--brand); }.checkbox-row span { display: grid; gap: .2rem; }.checkbox-row small { color: var(--ink-soft); line-height: 1.45; }.order-summary dl,.order-totals { display: grid; margin: 0; gap: .7rem; }.order-summary dl div,.order-totals div { display: flex; padding-bottom: .7rem; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }.order-summary dd,.order-totals dd { margin: 0; font-weight: 800; }.order-summary__total { padding-top: .6rem; font-size: 1.15rem; }.order-totals { width: min(100%,340px); margin: 1.5rem 0 0 auto; }
.account-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 2rem; align-items: start; }.button--danger { color: #fff; background: var(--error); border-color: var(--error); }.button--danger:hover { background: #812525; border-color: #812525; }.deletion-form { border-color: #e6b7b4; }.deletion-form .privacy-note { border-left-color: var(--error); background: #fff1f0; }

@media (max-width: 1100px) {
    .site-nav { display: none; position: absolute; top: 74px; right: 1rem; left: 1rem; padding: 1rem; flex-direction: column; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }.site-nav.is-open { display: flex; }.site-nav a { min-height: 44px; padding: .7rem; }.menu-toggle { display: block; margin-left: auto; }.site-header__inner { grid-template-columns: auto 1fr auto; }.site-header__actions .text-link { display: none; }
    .metric-grid { grid-template-columns: repeat(3, 1fr); }.object-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
    .hero--cover { min-height: 720px; background: var(--navy); }.hero__background { object-position: 60% center; }.hero__overlay { background: linear-gradient(90deg, rgba(8,18,34,.91) 0%, rgba(8,18,34,.74) 72%, rgba(8,18,34,.42) 100%), linear-gradient(0deg, rgba(8,18,34,.7) 0%, rgba(8,18,34,.12) 68%); }.hero__content { padding-block: 4rem; }.conversation-grid, .profile-grid, .target-grid, .analysis-hero, .method-intro, .human-grid, .content-hero__grid, .article-layout { grid-template-columns: 1fr; }.trust-grid, .comparison, .four-grid, .steps, .service-grid, .three-grid, .article-grid, .match-card--horizontal { grid-template-columns: 1fr 1fr; }.match-card--horizontal > div { border-bottom: 1px solid var(--line); }.trust-grid article { border-bottom: 1px solid var(--line); }.comparison__note { grid-column: 1 / -1; }.footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-company { grid-template-columns: 1fr; }.article-cta { position: static; }
    .admin-shell { grid-template-columns: 1fr; }.admin-sidebar { position: fixed; z-index: 200; width: min(85vw, 280px); transform: translateX(-105%); transition: transform .2s ease; }.admin-sidebar.is-open { transform: none; box-shadow: 16px 0 40px rgba(0,0,0,.2); }.menu-toggle--admin { display: block; }.metric-grid { grid-template-columns: 1fr 1fr; }.detail-grid { grid-template-columns: 1fr 1fr; }
    .customer-shell { grid-template-columns: 1fr; }.customer-sidebar { position: fixed; z-index: 200; width: min(85vw, 280px); transform: translateX(-105%); transition: transform .2s ease; }.customer-sidebar.is-open { transform: none; box-shadow: 16px 0 40px rgba(0,0,0,.2); }.menu-toggle--customer { display: block; }.customer-objects { grid-template-columns: 1fr; }.profile-summary { grid-template-columns: 1fr; }.profile-counts { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 560px) {
    .container { width: min(calc(100% - 1.25rem), var(--container)); }.section { padding-block: 4rem; }.site-header__inner { min-height: 64px; gap: .65rem; }.site-header__actions .button { min-height: 40px; padding: .55rem .65rem; font-size: .78rem; }.site-nav { top: 64px; }.brand { font-size: .85rem; }.brand__mark { width: 1.9rem; height: 1.9rem; }.hero--cover { min-height: 690px; }.hero__content { padding-block: 3rem; }.hero--cover h1 { font-size: clamp(2rem, 9.25vw, 2.45rem); }.hero--cover .lead { font-size: 1rem; }.hero--cover .button-row { align-items: stretch; flex-direction: column; }.hero--cover .button-row .button { width: 100%; }
    .trust-grid, .comparison, .four-grid, .steps, .service-grid, .three-grid, .article-grid, .profile-map, .analysis-grid, .match-card--horizontal, .service-summary__inner, .service-catalog article, .article-filters, .legal-layout { grid-template-columns: 1fr; }.comparison__note { grid-column: 1; }.service-grid article { min-height: 230px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-bottom { flex-direction: column; }.content-section { grid-template-columns: 1fr; }.content-section__number { font-size: 1.2rem; }.service-catalog__action { justify-items: stretch; text-align: left; }.legal-index { position: static; }.article-filters .button { width: 100%; }
    .form-grid, .filter-bar, .attention-list, .detail-grid { grid-template-columns: 1fr; }.field--wide { grid-column: 1; }.page-heading { flex-direction: column; }.page-heading > .button, .page-heading .button-row { width: 100%; }.page-heading .button-row .button { flex: 1; }.metric-grid, .object-grid { grid-template-columns: 1fr 1fr; }.admin-user { display: none; }.admin-topbar { gap: .5rem; }.table-actions { align-items: flex-start; flex-direction: column; }
    .customer-topbar { gap: .5rem; }.customer-topbar > span { display: none; }.object-list article,.customer-service-grid > article { grid-template-columns: 1fr; }.customer-service-grid__action { justify-items: stretch; }.object-actions { flex-wrap: wrap; }.improve-action { align-items: stretch; flex-direction: column; }.two-columns, .choice-grid, .choice-grid--three, .resume-detail-grid, .application-detail, .account-grid, .completeness-areas,.service-detail-layout,.checkout-layout,.checkbox-list { grid-template-columns: 1fr; }.service-purchase-card,.order-summary { position: static; }.resume-paper { min-height: 480px; }.profile-counts { grid-template-columns: 1fr 1fr; }.compact-list a { align-items: flex-start; flex-direction: column; }
}

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

/* Identità editoriale */
@font-face {
    font-family: "Manrope";
    src: url("../fonts/manrope-latin-400-800.woff2") format("woff2");
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
}
@font-face {
    font-family: "Source Serif 4";
    src: url("../fonts/source-serif-4-italic-600.woff2") format("woff2");
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}
:root {
    --ink: #17191c;
    --ink-soft: #5f656c;
    --navy: #17191c;
    --brand: #f05a32;
    --brand-dark: #a7361c;
    --brand-light: #f7d8cf;
    --paper: #f5f1e9;
    --soft: #eeeae2;
    --line: #d9d6cf;
    --signal: #f05a32;
    --graphite: #17191c;
    --muted: #5f656c;
    --radius: 4px;
    --shadow: 0 12px 30px rgba(23, 25, 28, .08);
    --container: 1280px;
}
body, input, textarea, select, button { font-family: "Manrope", ui-sans-serif, system-ui, sans-serif; }
h1, h2, h3, .metric strong, .object-grid strong, .customer-objects article strong, .choice-grid strong, .quality-score strong, .profile-counts strong, .customer-service-grid__action strong, .service-purchase-card > strong { font-family: "Manrope", ui-sans-serif, system-ui, sans-serif; }
:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.public-body { color: var(--graphite); background: var(--paper); font-size: 1.0625rem; line-height: 1.62; }
.public-body h1, .public-body h2, .public-body h3 { line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
.public-body h1 { font-size: clamp(3.25rem, 5.2vw, 4.75rem); font-weight: 800; }
.public-body h2 { font-size: clamp(2.65rem, 4.35vw, 3.5rem); font-weight: 800; }
.public-body h3 { font-size: clamp(1.45rem, 2.25vw, 1.875rem); font-weight: 750; }
.public-body .container { width: min(calc(100% - 3rem), var(--container)); }
.public-body .section { padding-block: clamp(6.25rem, 9vw, 8.75rem); }
.public-body .lead { color: var(--muted); font-size: clamp(1.125rem, 1.6vw, 1.3125rem); line-height: 1.58; }
.public-body .eyebrow { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; color: var(--brand-dark); font-size: .78rem; font-weight: 800; letter-spacing: .1em; }
.public-body .eyebrow::before { width: 24px; height: 3px; flex: 0 0 24px; background: var(--signal); content: ""; }
.public-body a { color: var(--graphite); }
.public-body .button { min-height: 52px; padding: .86rem 1.2rem; gap: .55rem; color: var(--graphite); background: var(--signal); border-color: var(--signal); border-radius: 4px; font-weight: 800; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
.public-body .button span { transition: transform .16s ease; }
.public-body .button:hover { color: #fff; background: var(--graphite); border-color: var(--graphite); }
.public-body .button:hover span { transform: translateX(3px); }
.public-body .button--small { min-height: 42px; padding: .62rem .85rem; font-size: .83rem; }
.public-body .button--ghost { color: var(--graphite); background: transparent; border-color: rgba(23,25,28,.4); }
.public-body .button--ghost:hover { color: #fff; background: var(--graphite); border-color: var(--graphite); }
.button--outline-light { color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.52) !important; }
.button--outline-light:hover { color: var(--graphite) !important; background: #fff !important; border-color: #fff !important; }
.text-arrow { display: inline-flex; gap: .75rem; align-items: center; font-weight: 800; text-decoration: none; }
.text-arrow span { color: var(--signal); font-size: 1.4em; }

/* Marchio e navigazione */
.public-body .site-header { border-color: var(--line); background: rgba(245,241,233,.96); backdrop-filter: blur(14px); }
.public-body .site-header__inner { min-height: 76px; gap: clamp(1rem,2.5vw,2.5rem); }
.brand { gap: .58rem; color: var(--graphite); font-size: 1rem; letter-spacing: -.035em; }
.brand__mark { position: relative; display: inline-block; width: auto; height: auto; padding: 0; color: var(--graphite); background: transparent; border-radius: 0; font-size: 1.28rem; font-weight: 800; letter-spacing: -.08em; }
.brand__mark::after { content: none; }
.public-body .brand__mark::after,
.auth-body .brand__mark::after,
.maintenance-body .brand__mark::after { position: absolute; right: 0; bottom: -.35rem; left: .08em; display: block; height: 3px; background: var(--signal); content: ""; }
.brand__word { font-size: 1.28rem; font-weight: 620; letter-spacing: -.055em; }
.brand--large .brand__mark, .brand--large .brand__word { font-size: 1.42rem; }
.public-body .site-nav { gap: clamp(.7rem,1.35vw,1.4rem); }
.public-body .site-nav a { position: relative; font-size: .85rem; font-weight: 650; }
.public-body .site-nav a::after { position: absolute; right: 0; bottom: -.4rem; left: 0; height: 2px; background: var(--signal); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .16s ease; }
.public-body .site-nav a:hover::after { transform: scaleX(1); }
.public-body .menu-toggle { background: var(--paper); border-color: var(--graphite); }

/* Home: hero e board */
.home-hero { color: #fff; background: var(--graphite); overflow: hidden; }
.home-hero__grid { display: grid; min-height: clamp(650px, 78vh, 790px); padding-block: clamp(5.25rem,8vw,7.5rem); grid-template-columns: minmax(0,1.24fr) minmax(370px,.86fr); gap: clamp(3rem,6vw,6.5rem); align-items: center; }
.home-hero__copy h1 { max-width: 780px; margin-bottom: .45em; font-size: clamp(3.4rem,5vw,4.7rem); }
.home-hero__copy h1 em { color: var(--signal); font-family: "Source Serif 4", Georgia, serif; font-weight: 600; }
.home-hero__copy .eyebrow { color: #fff; }
.home-hero__copy .lead { max-width: 660px; color: #d7d8d9; }
.home-hero__copy .button-row { margin-top: 2rem; }
.home-hero__copy .microcopy { color: #b7b9bc; }
.evidence-board { position: relative; min-height: 530px; padding: 1.35rem; color: var(--graphite); background: var(--paper); border: 1px solid rgba(255,255,255,.18); overflow: hidden; }
.evidence-board::before, .evidence-board::after { position: absolute; width: 9px; height: 9px; border: 2px solid var(--signal); content: ""; }
.evidence-board::before { top: 12px; right: 12px; border-left: 0; border-bottom: 0; }
.evidence-board::after { bottom: 12px; left: 12px; border-top: 0; border-right: 0; }
.evidence-board__top, .evidence-board__coordinates { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.evidence-board__index { position: absolute; top: 2.6rem; right: 1rem; color: rgba(23,25,28,.06); font-size: clamp(8rem,13vw,12rem); font-weight: 800; line-height: 1; letter-spacing: -.09em; }
.evidence-board__step, .evidence-board__result { position: relative; z-index: 1; padding: 1rem 1.1rem; border-top: 1px solid var(--line); }
.evidence-board__step--one { margin-top: 4.75rem; }
.evidence-board__step > span, .evidence-board__result > span { color: var(--brand-dark); font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.evidence-board__step p, .evidence-board__result p { margin: .45rem 0 0; font-weight: 750; line-height: 1.25; }
.evidence-board__step p { font-size: clamp(1.15rem,1.65vw,1.42rem); }
.evidence-board__connector { display: flex; height: 34px; padding-inline: 1.1rem; align-items: center; gap: .5rem; color: var(--signal); }
.evidence-board__connector i { width: 46px; height: 1px; background: var(--signal); }
.evidence-board__result { margin-top: .2rem; color: var(--graphite); background: var(--signal); border: 0; }
.evidence-board__result > span { color: var(--graphite); }
.evidence-board__result p { font-size: clamp(1.65rem,2.8vw,2.3rem); }
.evidence-board__coordinates { position: absolute; right: 1.35rem; bottom: 1.2rem; left: 1.35rem; align-items: center; }
.evidence-board__coordinates b { width: 8px; height: 8px; background: var(--signal); }

/* Home: ritmo editoriale */
.public-body .trust-strip { background: var(--paper); border-color: var(--line); }
.public-body .trust-grid article { padding: 2.1rem clamp(1.2rem,2vw,2rem); align-items: flex-start; }
.public-body .trust-grid article > span { color: var(--brand-dark); font-size: .8rem; font-weight: 800; }
.public-body .trust-grid h2 { margin: 0 0 .35rem; font-size: .86rem; letter-spacing: .04em; }
.problem-intro { background: #fff; }
.editorial-intro { display: grid; grid-template-columns: .7fr 1.8fr; gap: 1rem 5rem; align-items: start; }
.editorial-intro .eyebrow { grid-row: span 2; }
.editorial-intro h2 { max-width: 900px; }
.editorial-intro .lead { max-width: 740px; }
.transformation { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.transformation__before, .transformation__after { display: grid; min-height: 490px; padding: clamp(4rem,7vw,7.5rem); align-items: center; }
.transformation__before { background: #e7e4de; }
.transformation__after { color: #fff; background: var(--graphite); }
.transformation__before > div, .transformation__after > div { max-width: 620px; }
.transformation__before > div { margin-left: auto; }
.transformation__before blockquote, .transformation__after blockquote { margin: 0; font-size: clamp(2rem,3.3vw,3.35rem); line-height: 1.25; letter-spacing: -.035em; }
.transformation__before blockquote { color: #77736d; font-family: "Source Serif 4", Georgia, serif; font-style: italic; font-weight: 600; }
.transformation__after blockquote strong { color: var(--signal); }
.transformation__after .eyebrow { color: #fff; }
.transformation__axis { position: absolute; z-index: 2; top: 0; bottom: 4.3rem; left: 50%; width: 3px; background: var(--signal); transform: translateX(-50%); }
.transformation__axis span { position: absolute; top: 50%; left: 50%; display: grid; width: 58px; height: 58px; place-items: center; color: var(--graphite); background: var(--signal); font-size: 2rem; transform: translate(-50%,-50%); }
.transformation__note { grid-column: 1/-1; margin: 0; padding: 1.25rem 3rem; color: #fff; background: #0e0f11; font-size: .9rem; font-weight: 650; text-align: center; }
.questions-section { background: var(--paper); }
.questions-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem,8vw,8rem); }
.question-list { border-top: 1px solid var(--graphite); }
.question-list article { display: grid; min-height: 160px; padding: 1.5rem 0; grid-template-columns: 150px 1fr; gap: 1.5rem; align-items: center; border-bottom: 1px solid rgba(23,25,28,.2); }
.question-list article > span { color: var(--signal); font-size: clamp(4.5rem,8vw,7.5rem); font-weight: 800; line-height: .8; letter-spacing: -.08em; }
.question-list h3 { margin: 0 0 .35rem; text-transform: uppercase; }
.question-list p { margin: 0; color: var(--muted); }
.method-section { color: #fff; background: var(--graphite); }
.method-section .eyebrow { color: #fff; }
.method-heading, .dossier-heading, .target-heading { display: grid; margin-bottom: 3.5rem; grid-template-columns: 1.3fr .7fr; gap: 3rem; align-items: end; }
.method-heading .button { justify-self: end; }
.method-visual { position: relative; margin-bottom: 3rem; border-block: 1px solid rgba(255,255,255,.2); overflow: hidden; }
.method-visual picture { display: block; }
.method-visual .editorial-image { width: 100%; aspect-ratio: 16/7; border-radius: 0; object-fit: cover; }
.method-visual > span { position: absolute; bottom: 1rem; padding: .4rem .6rem; color: var(--graphite); background: var(--paper); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.method-visual > span:first-of-type { left: 1rem; }
.method-visual > span:last-of-type { right: 1rem; background: var(--signal); }
.method-path { position: relative; display: grid; grid-template-columns: repeat(4,1fr); }
.method-path::before { position: absolute; top: 18px; right: 0; left: 0; height: 1px; background: rgba(255,255,255,.3); content: ""; }
.method-path article { position: relative; padding: 3.4rem 2rem 0 0; }
.method-path article::before { position: absolute; z-index: 1; top: 13px; left: 0; width: 10px; height: 10px; background: var(--signal); content: ""; }
.method-path span { color: var(--signal); font-size: 1rem; font-weight: 800; }
.method-path p { color: #bfc1c3; }
.discovery-section { color: var(--graphite); background: var(--signal); }
.discovery-section .eyebrow { color: var(--graphite); }
.discovery-section .eyebrow::before { background: var(--graphite); }
.discovery-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,8vw,9rem); }
.discovery-grid > div:first-child { position: sticky; top: 120px; align-self: start; }
.interview { border-top: 2px solid var(--graphite); }
.interview > div { padding: 2rem 0; border-bottom: 1px solid rgba(23,25,28,.45); }
.interview span { font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.interview p { margin: .65rem 0 0; font-size: clamp(1.3rem,2.3vw,1.9rem); font-weight: 650; line-height: 1.35; }
.interview > strong { display: block; padding-top: 2.5rem; font-size: clamp(1.8rem,3vw,2.4rem); line-height: 1.12; }
.dossier-section { background: #fff; }
.dossier-heading .lead, .target-heading .lead { margin: 0; }
.professional-dossier { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--graphite); background: #fff; }
.professional-dossier header, .professional-dossier footer { display: flex; grid-column: 1/-1; padding: .9rem 1.2rem; justify-content: space-between; color: #fff; background: var(--graphite); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.professional-dossier__column { min-height: 330px; padding: clamp(1.5rem,4vw,3rem); border-right: 1px solid var(--graphite); }
.professional-dossier__column:nth-of-type(3) { border-right: 0; }
.professional-dossier__column > span { color: var(--brand-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.professional-dossier__column h3 { margin: 3rem 0 1.5rem; }
.professional-dossier__column p { margin: 0; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.professional-dossier footer { align-items: center; color: var(--graphite); background: var(--signal); }
.professional-dossier footer b { width: min(40%,300px); height: 2px; background: var(--graphite); }
.target-section { color: #fff; background: var(--graphite); }
.target-section .eyebrow { color: #fff; }
.target-heading { align-items: start; }
.target-heading .lead { color: #c6c8ca; }
.profile-comparison { display: grid; grid-template-columns: 1fr minmax(155px,.3fr) 1fr; border: 1px solid rgba(255,255,255,.35); }
.profile-comparison__side { padding: clamp(2rem,5vw,4rem); }
.profile-comparison__side > span { color: var(--signal); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.profile-comparison__side h3 { margin-top: 3rem; }
.profile-comparison__side p { margin: 0; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.profile-comparison__status { display: grid; align-content: center; background: var(--signal); }
.profile-comparison__status span { padding: 1.1rem .85rem; color: var(--graphite); border-bottom: 1px solid rgba(23,25,28,.3); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-align: center; }
.services-section { background: var(--paper); }
.start-bar, .service-index a { display: grid; padding: 1.6rem 1.8rem; grid-template-columns: 120px 1fr 1.5fr 50px; gap: 2rem; align-items: center; color: var(--graphite); border-bottom: 1px solid var(--graphite); text-decoration: none; }
.start-bar { margin-bottom: 1.5rem; background: var(--signal); border: 0; }
.start-bar > span { font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.start-bar strong, .service-index strong { font-size: clamp(1.25rem,2vw,1.65rem); text-transform: uppercase; }
.start-bar p, .service-index p { margin: 0; }
.start-bar b, .service-index b { font-size: 2rem; text-align: right; transition: transform .16s ease; }
.service-index { border-top: 1px solid var(--graphite); }
.service-index a { transition: color .16s ease, background-color .16s ease; }
.service-index a > span { color: var(--brand-dark); font-weight: 800; }
.service-index a:hover { color: #fff; background: var(--graphite); }
.service-index a:hover > span { color: var(--signal); }
.service-index a:hover b, .start-bar:hover b { transform: translateX(4px); }
.human-section { position: relative; min-height: min(78vh,780px); color: #fff; background: var(--graphite); overflow: hidden; }
.human-section__media, .human-section__media picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.human-section__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(14,15,17,.94) 0%,rgba(14,15,17,.83) 38%,rgba(14,15,17,.12) 74%); content: ""; }
.human-section__media .editorial-image { width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
.human-section__content { position: relative; display: grid; min-height: min(78vh,780px); padding-block: 6rem; align-items: center; }
.human-section__content > div { max-width: 650px; padding: 2.5rem 0; }
.human-section__content .eyebrow { color: #fff; }
.human-section__content p:not(.eyebrow) { max-width: 580px; color: #d3d4d5; font-size: 1.15rem; }
.public-body .privacy-section { color: var(--graphite); background: var(--paper); }
.privacy-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,8vw,9rem); }
.privacy-layout__number { display: block; margin-bottom: 2rem; color: rgba(23,25,28,.5); font-size: clamp(7rem,12vw,11rem); font-weight: 800; line-height: .72; letter-spacing: -.08em; }
.privacy-section a { color: var(--graphite); }
.privacy-lines { border-top: 1px solid var(--graphite); }
.privacy-lines article { display: grid; padding: 1.75rem 0; grid-template-columns: 70px 1fr; gap: 1.2rem; border-bottom: 1px solid rgba(23,25,28,.22); }
.privacy-lines article > span { color: var(--brand-dark); font-weight: 800; }
.privacy-lines h3 { margin: 0 0 .35rem; }
.privacy-lines p { margin: 0; color: var(--muted); }
.insights-section { background: #fff; }
.editorial-articles { display: grid; grid-template-columns: 2fr 1fr; gap: 1px; background: var(--graphite); border: 1px solid var(--graphite); }
.editorial-articles article { min-height: 290px; padding: clamp(1.5rem,4vw,3rem); background: #fff; }
.editorial-articles__lead { grid-row: span 2; min-height: 581px !important; }
.editorial-articles__lead h3 { max-width: 680px; font-size: clamp(2rem,3.4vw,3.25rem); }
.editorial-articles article h3 a { text-decoration: none; }
.article-index { display: block; float: right; color: rgba(23,25,28,.5); font-size: 3.5rem; font-weight: 800; line-height: 1; }
.editorial-articles time { color: var(--muted); font-size: .82rem; }
.public-body .final-cta { position: relative; color: #fff; background: #0e0f11; overflow: hidden; }
.public-body .final-cta .container { position: relative; }
.public-body .final-cta h2 { max-width: 950px; }
.public-body .final-cta .lead { color: #c6c8ca; }
.public-body .final-cta .eyebrow { color: #fff; }
.final-cta__arrow { position: absolute; right: 0; bottom: -4rem; color: rgba(240,90,50,.28); font-size: clamp(9rem,22vw,20rem); font-weight: 400; line-height: 1; }

/* Analisi */
.analysis-page-hero { color: #fff; background: var(--graphite); }
.analysis-hero { grid-template-columns: minmax(0,.85fr) minmax(480px,1.15fr); align-items: start; }
.analysis-copy .eyebrow { color: #fff; }
.analysis-copy .lead { color: #c9cbcd; }
.analysis-proof { display: grid; margin-top: 3rem; grid-template-columns: 40px 1fr; border-top: 1px solid rgba(255,255,255,.25); }
.analysis-proof span, .analysis-proof p { margin: 0; padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.analysis-proof span { color: var(--signal); font-size: .75rem; font-weight: 800; }
.upload-panel { padding: clamp(1.2rem,2.4vw,2rem); background: #0e0f11; border: 1px solid rgba(255,255,255,.2); }
.upload-panel__heading { display: flex; margin-bottom: 1rem; justify-content: space-between; color: #aeb1b4; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.upload-drop { position: relative; display: grid; min-height: 390px; padding: 2rem; place-items: center; align-content: center; color: var(--graphite); background: var(--paper); border: 2px dashed #96948f; text-align: center; transition: border-color .16s ease, background-color .16s ease; }
.upload-drop.is-dragging { background: #fff; border-color: var(--signal); }
.upload-input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.upload-drop__icon { color: var(--signal); font-size: 3rem; font-weight: 500; line-height: 1; }
.upload-drop h2 { margin: .8rem 0 .45rem; font-size: clamp(1.8rem,3vw,2.5rem); }
.upload-drop p { color: var(--muted); }
.upload-drop .button { cursor: pointer; }
.upload-drop__name { margin-top: 1rem; color: var(--muted); font-size: .82rem; font-weight: 650; }
.check--dark { color: #d0d2d3; font-size: .85rem; }
.check--dark input { accent-color: var(--signal); }
.analysis-criteria { background: var(--paper); }
.analysis-list { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--graphite); border-left: 1px solid var(--graphite); }
.analysis-list span { display: grid; min-height: 100px; padding: 1.2rem; align-content: space-between; border-right: 1px solid var(--graphite); border-bottom: 1px solid var(--graphite); font-weight: 750; }
.analysis-list b { color: var(--brand-dark); font-size: .72rem; }
.analysis-editorial { position: relative; min-height: 620px; color: #fff; background: var(--graphite); }
.analysis-editorial__media, .analysis-editorial__media picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.analysis-editorial__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(23,25,28,.94),rgba(23,25,28,.45) 58%,rgba(23,25,28,.08)); content: ""; }
.analysis-editorial__media .editorial-image { width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
.analysis-editorial__copy { position: relative; display: grid; min-height: 620px; padding-block: 5rem; align-items: center; }
.analysis-editorial__copy > div { max-width: 620px; }
.analysis-editorial__copy .eyebrow { color: #fff; }
.analysis-editorial__copy .lead { color: #e0e1e2; }

/* Pagine editoriali, servizi e articoli */
.public-body .content-hero { background: var(--paper); }
.content-hero--dark, .content-hero--editorial:not(:has(.content-hero__grid)) { color: #fff; background: var(--graphite) !important; }
.content-hero--dark .lead, .content-hero--editorial:not(:has(.content-hero__grid)) .lead { max-width: 800px; color: #c9cbcd; }
.content-hero--dark .eyebrow, .content-hero--editorial:not(:has(.content-hero__grid)) .eyebrow { color: #fff; }
.public-body .content-hero h1 { max-width: 1050px; font-size: clamp(3.25rem,5.3vw,4.75rem); }
.content-hero__counter { display: block; margin: .25rem 0 1.5rem; color: rgba(255,255,255,.46); font-size: clamp(5rem,12vw,10rem); font-weight: 800; line-height: .78; letter-spacing: -.08em; }
.content-hero__grid { grid-template-columns: 1fr 1fr; }
.content-hero__grid .editorial-image { box-shadow: none; border-radius: 0; }
.content-sections-wrap { background: #fff; }
.public-body .content-sections { gap: 0; border: 0; background: transparent; }
.public-body .content-section { min-height: 260px; padding: clamp(2rem,5vw,4rem) 0; grid-template-columns: minmax(120px,.35fr) 1fr; border-top: 1px solid var(--graphite); background: transparent; }
.public-body .content-section:last-child { border-bottom: 1px solid var(--graphite); }
.public-body .content-section__number { color: var(--signal); font-family: "Manrope", sans-serif; font-size: clamp(4rem,8vw,7.5rem); font-weight: 800; line-height: .8; letter-spacing: -.08em; }
.public-body .content-section h2 { font-size: clamp(2rem,3.5vw,3rem); }
.content-page--audiences .content-section { min-height: 190px; grid-template-columns: minmax(120px,.25fr) 1fr; }
.service-summary { color: #fff; background: var(--graphite); border-top: 1px solid rgba(255,255,255,.16); }
.service-summary strong { font-family: "Manrope", sans-serif; }
.service-catalog-section { background: #fff; }
.public-body .service-catalog { gap: 0; border-top: 1px solid var(--graphite); }
.public-body .service-catalog article { grid-template-columns: 130px 1fr minmax(250px,.4fr); border: 0; border-bottom: 1px solid var(--graphite); }
.service-catalog__start { background: var(--signal) !important; }
.service-catalog__start .eyebrow { color: var(--graphite); }
.service-catalog__start .eyebrow::before { background: var(--graphite); }
.service-catalog__number { color: var(--brand-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.service-catalog__start .service-catalog__number { color: var(--graphite); }
.public-body .service-catalog h2 { font-size: clamp(1.8rem,3vw,2.6rem); text-transform: uppercase; }
.public-body .service-catalog__action strong { font-family: "Manrope", sans-serif; }
.public-body .article-header { background: var(--graphite); color: #fff; }
.public-body .article-header .lead, .public-body .article-header .article-meta, .public-body .article-header .breadcrumb { color: #c9cbcd; }
.public-body .article-header a { color: #fff; }
.public-body .article-header .eyebrow { color: #fff; }
.public-body .article-cta { background: var(--signal); border: 0; }
.public-body .article-cta .eyebrow { color: var(--graphite); }
.public-body .article-cta .eyebrow::before { background: var(--graphite); }
.article-hero-media { margin: clamp(2rem,5vw,4rem) 0 0; }
.article-hero-media img, .article-inline-media img { display: block; width: 100%; height: auto; border-radius: 0; }
.article-inline-media { margin: clamp(2rem,5vw,3.5rem) 0; }
.article-inline-media figcaption { margin-top: .65rem; color: var(--muted); font-size: .85rem; }
.article-body table { display: block; width: 100%; max-width: 100%; border-collapse: collapse; overflow-x: auto; }
.article-body th, .article-body td { padding: .65rem .75rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.admin-media-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; }
.admin-media-grid figure { margin: 0; }
.admin-media-grid img { display: block; width: 100%; height: auto; max-height: 280px; object-fit: cover; }
.admin-media-grid figcaption { margin-top: .5rem; color: var(--ink-soft); font-size: .82rem; }
.public-body .article-grid { gap: 1px; background: var(--graphite); border: 1px solid var(--graphite); }
.public-body .article-grid article { border: 0; }
.public-body .article-grid .empty-state { color: var(--graphite); background: #fff; }
.public-body .article-grid .empty-state h2 { color: var(--graphite); }
.public-body .article-filters { box-shadow: none; }

/* Form, footer, aree operative */
.field input, .field select, .field textarea { min-height: 52px; border-color: rgba(23,25,28,.32); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--signal); box-shadow: 0 0 0 2px rgba(240,90,50,.25); }
.check input, .checkbox-row input { accent-color: var(--signal); }
.public-body .public-form { box-shadow: none; }
.public-body .site-footer { padding-top: clamp(5rem,8vw,7.5rem); color: #b9bbbe; background: #0e0f11; }
.public-body .site-footer .brand { color: #fff; }
.public-body .site-footer .brand__mark { color: #fff; }
.footer-grid { grid-template-columns: 1.6fr repeat(3,.7fr); gap: clamp(2rem,5vw,5rem); }
.footer-brand p { max-width: 430px; font-size: 1.05rem; }
.public-body .footer-grid h2 { margin-bottom: 1rem; color: #f3f1ed; font-size: .78rem; font-weight: 700; letter-spacing: .025em; line-height: 1.4; text-transform: none; }
.public-body .site-footer a, .public-body .footer-grid a, .public-body .footer-bottom .link-button { color: #dedfe0; }
.public-body .footer-grid, .public-body .footer-grid > div, .public-body .footer-bottom { background: #0e0f11; }
.public-body .footer-company { border-color: rgba(255,255,255,.16); }
.public-body .footer-company p > span { display: block; margin-bottom: .7rem; color: var(--signal); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.public-body .footer-company p > strong { display: block; color: #fff; }
.public-body .footer-bottom { border-color: rgba(255,255,255,.16); }
.admin-body, .customer-body, .auth-body, .maintenance-body, .minimal-body { font-family: "Manrope", ui-sans-serif, system-ui, sans-serif; }
.auth-body { position: relative; background: var(--graphite); }
.auth-body::before { position: fixed; top: 0; right: 0; width: 34vw; height: 6px; background: var(--signal); content: ""; }
.auth-shell { width: min(100%,520px); }
.auth-shell > .brand { margin-bottom: 1.6rem; color: #fff; }
.auth-shell > .brand .brand__mark { color: #fff; }
.auth-shell > .brand .brand__word small { color: #9b9da0; }
.auth-card { padding: clamp(1.75rem,5vw,3.25rem); background: var(--paper); border: 0; border-top: 5px solid var(--signal); box-shadow: none; }
.auth-card h1 { font-size: clamp(2.5rem,7vw,3.5rem); font-weight: 800; }
.auth-card .eyebrow { color: var(--brand-dark); font-size: .75rem; letter-spacing: .1em; }
.admin-sidebar, .customer-sidebar { background: var(--graphite); }
.brand--admin .brand__mark, .brand--customer .brand__mark { color: #fff; }
.customer-sidebar { color: #fff; border-color: rgba(255,255,255,.12); }
.customer-sidebar nav a { color: #d5d6d7; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.is-active, .customer-sidebar nav a:hover, .customer-sidebar nav a.is-active { color: #fff; background: rgba(255,255,255,.08); border-left-color: var(--signal); }
.next-action, .improve-action { color: var(--graphite); background: var(--signal); }
.next-action .eyebrow, .improve-action .eyebrow { color: var(--graphite); }
.next-action .eyebrow::before, .improve-action .eyebrow::before { background: var(--graphite); }
.admin-body .button, .customer-body .button, .auth-body .button { color: var(--graphite); background: var(--signal); border-color: var(--signal); }
.admin-body .button:hover, .customer-body .button:hover, .auth-body .button:hover { color: #fff; background: var(--graphite); border-color: var(--graphite); }
.completion::-webkit-progress-value { background: var(--signal); }
.completion::-moz-progress-bar { background: var(--signal); }
.form-notice, .form-alert { margin: 1rem 0; padding: .9rem 1rem; border-left: 4px solid var(--signal); background: #fff; }
.form-alert { border-left-color: var(--error); color: var(--error); }
.object-list .status { margin-top: .65rem; }
.analysis-result { gap: 1.5rem; background: #fff; }
.analysis-result h3 { margin-bottom: .55rem; font-size: 1.15rem; }
.analysis-result__profile { padding: 1.25rem; border-left: 4px solid var(--signal); background: var(--paper); }
.analysis-result__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.analysis-result__columns section { padding: 1.25rem; background: #fff; }
.analysis-result__columns li + li { margin-top: .7rem; }
.analysis-result__columns li span { display: block; margin-top: .2rem; color: var(--ink-soft); }
.analysis-result__checks { display: grid; gap: 1px; background: var(--line); }
.analysis-result__checks section { padding: 1rem 1.25rem; background: var(--paper); }
.analysis-result__checks section > div { display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.analysis-result__checks p { margin: .35rem 0 0; }
.analysis-result__next ol { padding-left: 1.3rem; }
.analysis-result__next li + li { margin-top: .45rem; }
.analysis-result__action { display: grid; padding-top: 1.25rem; gap: .9rem; border-top: 1px solid var(--line); }

@media (max-width: 1100px) {
    .public-body .site-nav { top: 76px; background: var(--paper); box-shadow: none; }
    .home-hero__grid { grid-template-columns: 1fr minmax(340px,.7fr); gap: 2.5rem; }
    .home-hero__copy h1 { font-size: clamp(3.2rem,5.5vw,4rem); }
    .evidence-board { min-height: 500px; }
    .start-bar, .service-index a { grid-template-columns: 90px 1fr 1.2fr 40px; gap: 1rem; }
}
@media (max-width: 820px) {
    .public-body .container { width: min(calc(100% - 2rem), var(--container)); }
    .home-hero__grid, .questions-layout, .discovery-grid, .dossier-heading, .target-heading, .privacy-layout { grid-template-columns: 1fr; }
    .home-hero__grid { min-height: 0; padding-block: 4.5rem; }
    .home-hero__copy h1 { font-size: clamp(2.8rem,10vw,3.7rem); }
    .evidence-board { width: min(100%,560px); min-height: 500px; }
    .editorial-intro { grid-template-columns: 1fr; }
    .editorial-intro .eyebrow { grid-row: auto; }
    .transformation { grid-template-columns: 1fr; }
    .transformation__before, .transformation__after { min-height: 400px; padding: 4rem 2rem; }
    .transformation__before > div { margin-left: 0; }
    .transformation__axis { top: 50%; bottom: auto; left: 0; width: 100%; height: 3px; transform: translateY(-50%); }
    .transformation__axis span { transform: translate(-50%,-50%) rotate(90deg); }
    .transformation__note { grid-column: 1; }
    .method-heading { grid-template-columns: 1fr; }
    .method-heading .button { justify-self: start; }
    .method-path { grid-template-columns: 1fr 1fr; gap: 2rem 0; }
    .professional-dossier { grid-template-columns: 1fr; }
    .professional-dossier__column { min-height: auto; border-right: 0; border-bottom: 1px solid var(--graphite); }
    .profile-comparison { grid-template-columns: 1fr 130px 1fr; }
    .human-section__media .editorial-image { object-position: 65% center; }
    .human-section__media::after { background: linear-gradient(90deg,rgba(14,15,17,.94),rgba(14,15,17,.68) 58%,rgba(14,15,17,.25)); }
    .analysis-hero { grid-template-columns: 1fr; }
    .analysis-list { grid-template-columns: 1fr 1fr; }
    .analysis-result__columns { grid-template-columns: 1fr; }
    .content-hero__grid { grid-template-columns: 1fr; }
    .public-body .service-catalog article { grid-template-columns: 100px 1fr; }
    .service-catalog__action { grid-column: 2; justify-items: start; text-align: left; }
}
@media (max-width: 560px) {
    .public-body { font-size: 1rem; }
    .public-body .section { padding-block: 5rem; }
    .public-body .site-header__inner { min-height: 68px; }
    .public-body .site-nav { top: 68px; }
    .brand__word, .brand__mark { font-size: 1.02rem; }
    .public-body .site-header__actions .button { max-width: 116px; padding: .5rem .6rem; font-size: .72rem; }
    .home-hero__grid { padding-block: 3.75rem; }
    .home-hero__copy h1, .public-body h1, .public-body .content-hero h1 { font-size: clamp(2.5rem,11.5vw,3rem); }
    .public-body h2 { font-size: clamp(2.2rem,9.5vw,2.8rem); }
    .home-hero__copy .button-row { align-items: stretch; flex-direction: column; }
    .home-hero__copy .button-row .button { width: 100%; }
    .evidence-board { min-height: 480px; padding: 1rem; }
    .evidence-board__step--one { margin-top: 4.2rem; }
    .trust-grid { grid-template-columns: 1fr; }
    .public-body .trust-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
    .transformation__before blockquote, .transformation__after blockquote { font-size: 1.85rem; }
    .transformation__note { padding-inline: 1rem; text-align: left; }
    .question-list article { min-height: 125px; grid-template-columns: 88px 1fr; }
    .question-list article > span { font-size: 4.2rem; }
    .method-visual .editorial-image { aspect-ratio: 4/3; object-position: center; }
    .method-path { grid-template-columns: 1fr; }
    .method-path::before { top: 0; bottom: 0; left: 5px; width: 1px; height: auto; }
    .method-path article { padding: 0 0 1.8rem 2rem; }
    .method-path article::before { top: 7px; }
    .discovery-grid > div:first-child { position: static; }
    .professional-dossier header, .professional-dossier footer { gap: 1rem; }
    .professional-dossier footer b { display: none; }
    .profile-comparison { grid-template-columns: 1fr; }
    .profile-comparison__status { grid-template-columns: 1fr 1fr; }
    .start-bar, .service-index a { grid-template-columns: 42px 1fr 30px; padding-inline: .8rem; }
    .start-bar p, .service-index p { grid-column: 2; }
    .start-bar b, .service-index b { grid-column: 3; grid-row: 1; }
    .start-bar > span { grid-column: 1/-1; }
    .human-section, .human-section__content { min-height: 680px; }
    .human-section__media .editorial-image { object-position: 67% center; }
    .human-section__media::after { background: linear-gradient(0deg,rgba(14,15,17,.95) 0%,rgba(14,15,17,.8) 55%,rgba(14,15,17,.2) 100%); }
    .human-section__content { align-items: end; }
    .privacy-lines article { grid-template-columns: 45px 1fr; }
    .editorial-articles { grid-template-columns: 1fr; }
    .editorial-articles__lead { grid-row: auto; min-height: 360px !important; }
    .analysis-list { grid-template-columns: 1fr; }
    .upload-panel { padding: .8rem; }
    .upload-drop { min-height: 350px; padding: 1.25rem; }
    .analysis-editorial, .analysis-editorial__copy { min-height: 560px; }
    .public-body .content-section { min-height: 0; grid-template-columns: 1fr; }
    .public-body .content-section__number { font-size: 4.5rem; }
    .public-body .service-catalog article { grid-template-columns: 1fr; }
    .service-catalog__action { grid-column: 1; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .evidence-board__step, .evidence-board__result, .evidence-board__connector i { animation: none !important; }
    .evidence-board__connector i { width: 46px; }
}

/* Intervista guidata */
.customer-body--interview { color: var(--graphite); background: var(--paper); }
.customer-shell--interview { display: block; background: var(--paper); }
.customer-shell--interview .customer-main { min-height: 100vh; }
.interview-topbar { position: sticky; z-index: 100; top: 0; display: grid; min-height: 76px; padding: .75rem clamp(1rem,3vw,2rem); grid-template-columns: 1fr auto 1fr; gap: 1.5rem; align-items: center; border-bottom: 1px solid var(--line); background: rgba(245,241,233,.97); }
.brand--interview { justify-self: start; }
.interview-topbar > p { display: grid; margin: 0; text-align: center; line-height: 1.25; }
.interview-topbar > p strong { font-size: .88rem; }
.interview-topbar > p span { color: var(--muted); font-size: .75rem; }
.interview-exit { justify-self: end; color: var(--graphite); font-size: .84rem; font-weight: 750; text-decoration: none; }
.interview-exit::after { margin-left: .55rem; color: var(--signal); content: "↗"; }
.customer-body--interview .customer-content { width: min(calc(100% - 2rem), 980px); padding-block: 0 3rem; }
.interview-flow { min-height: calc(100vh - 76px); }
.interview-progress { display: block; width: 100%; height: 4px; border: 0; background: #ded9d0; appearance: none; }
.interview-progress::-webkit-progress-bar { background: #ded9d0; }
.interview-progress::-webkit-progress-value { background: var(--signal); transition: width .25s ease; }
.interview-progress::-moz-progress-bar { background: var(--signal); transition: width .25s ease; }
.interview-context { display: flex; min-height: 94px; padding-block: 1.25rem; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line); }
.interview-context > div, .interview-context > p { display: grid; margin: 0; }
.interview-context span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.interview-context > div strong { font-size: .94rem; }
.interview-context > p { text-align: right; }
.interview-context > p strong { font-size: 1.15rem; }
.interview-stage { position: relative; display: grid; min-height: min(650px, calc(100vh - 174px)); padding: clamp(3.5rem,8vw,7.25rem) clamp(0rem,3vw,2.5rem); align-content: center; overflow: hidden; }
.interview-stage > * { position: relative; z-index: 1; }
.interview-stage .eyebrow { margin-bottom: 1.25rem; color: var(--signal); font-size: .76rem; letter-spacing: .12em; }
.interview-stage h1 { max-width: 900px; margin-bottom: .55em; font-size: clamp(2.35rem,5.3vw,4.45rem); font-weight: 780; line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; }
.interview-stage > p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: 1.05rem; }
.interview-question-number { position: absolute; z-index: 0; top: 1.25rem; right: 0; color: rgba(23,25,28,.055); font-size: clamp(9rem,22vw,17rem); font-weight: 800; line-height: .8; letter-spacing: -.09em; pointer-events: none; }
.interview-reason { max-width: 780px !important; margin-bottom: 2.25rem !important; padding-left: 1rem; border-left: 3px solid var(--signal); }
.interview-answer { display: grid; max-width: 820px; gap: 1.5rem; }
.interview-input { display: grid; gap: .3rem; }
.interview-input label { color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.interview-input textarea { width: 100%; min-height: 76px; padding: .65rem 0 .85rem; border: 0; border-bottom: 2px solid var(--graphite); border-radius: 0; color: var(--graphite); background: transparent; font-size: clamp(1.3rem,2.25vw,1.75rem); font-weight: 550; line-height: 1.45; resize: none; overflow-y: auto; }
.interview-input textarea::placeholder { color: #96938d; opacity: 1; }
.interview-input textarea:focus { border-color: var(--signal); box-shadow: none; outline: 0; }
.interview-options { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: .65rem; border: 0; }
.interview-options legend { width: 100%; margin-bottom: .35rem; color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.interview-options button { display: inline-flex; min-height: 48px; padding: .65rem 1rem; gap: .75rem; align-items: center; border: 1px solid rgba(23,25,28,.35); border-radius: 3px; color: var(--graphite); background: transparent; font-weight: 700; cursor: pointer; }
.interview-options button span { display: grid; width: 23px; height: 23px; place-items: center; color: var(--signal); border: 1px solid var(--signal); border-radius: 2px; font-size: .72rem; }
.interview-options button:hover, .interview-options button.is-selected { border-color: var(--signal); background: #fff; }
.interview-answer__actions { display: flex; gap: 1rem; align-items: center; }
.customer-body--interview .button { min-height: 52px; padding-inline: 1.25rem; gap: .65rem; color: var(--graphite); background: var(--signal); border-color: var(--signal); font-weight: 800; }
.customer-body--interview .button:hover { color: #fff; background: var(--graphite); border-color: var(--graphite); }
.customer-body--interview .button--ghost { color: var(--graphite); background: transparent; border-color: rgba(23,25,28,.35); }
.customer-body--interview .button--secondary { color: var(--graphite); background: #fff; border-color: var(--graphite); }
.interview-answer__actions > span { color: var(--muted); font-size: .78rem; }
.interview-answer__actions kbd { padding: .1rem .35rem; border: 1px solid #bbb6ad; border-bottom-width: 2px; border-radius: 2px; background: #fff; font-size: .7rem; }
.interview-skip { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; color: var(--muted); font-size: .82rem; }
.interview-skip button { padding: 0; border: 0; color: var(--graphite); background: transparent; font-weight: 700; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.interview-skip button.is-selected { color: var(--signal); }
.interview-facts { display: grid; max-width: 860px; margin: 1.5rem 0 2rem; border-top: 1px solid var(--graphite); }
.interview-facts article { display: grid; padding: 1.25rem 0; grid-template-columns: minmax(170px,.35fr) 1fr; gap: 1.5rem; border-bottom: 1px solid rgba(23,25,28,.24); }
.interview-facts span { color: var(--signal); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.interview-facts p { margin: 0; font-size: 1.18rem; font-weight: 650; line-height: 1.5; }
.interview-confirmation { display: flex; flex-wrap: wrap; gap: .75rem; }
.interview-confirmation form { margin: 0; }
.interview-correction { max-width: 820px; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.interview-correction summary { font-weight: 750; cursor: pointer; }
.interview-correction form { display: grid; margin-top: 1.25rem; gap: 1.25rem; }
.interview-correction .button { justify-self: start; }
.interview-history { padding-block: 1.25rem; border-top: 1px solid var(--line); }
.interview-history summary { display: flex; align-items: center; justify-content: space-between; font-weight: 750; cursor: pointer; list-style-position: inside; }
.interview-history summary span { display: grid; width: 28px; height: 28px; place-items: center; color: var(--graphite); border: 1px solid var(--line); border-radius: 2px; font-size: .75rem; }
.interview-history > div { display: grid; margin-top: 1.5rem; gap: 0; border-top: 1px solid var(--line); }
.interview-history article { display: grid; padding: 1.1rem 0; grid-template-columns: 120px 1fr; gap: 1.25rem; border-bottom: 1px solid var(--line); }
.interview-history article span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.interview-history article p { margin: 0; }
.interview-history__answer p { font-weight: 650; }
.interview-loader { width: 70px; height: 4px; margin-bottom: 2rem; background: linear-gradient(90deg,var(--signal) 0 45%,rgba(240,90,50,.18) 45% 100%); background-size: 200% 100%; animation: interview-loading 1.15s linear infinite; }
.interview-complete-mark { display: grid; width: 64px; height: 64px; margin-bottom: 2rem; place-items: center; color: var(--graphite); background: var(--signal); border-radius: 3px; font-size: 1.8rem; font-weight: 800; }
@keyframes interview-loading { to { background-position: -200% 0; } }
@media (max-width: 680px) {
    .interview-topbar { min-height: 64px; grid-template-columns: 1fr auto; }
    .interview-topbar > p { display: none; }
    .brand--interview .brand__word { display: none; }
    .customer-body--interview .customer-content { width: min(calc(100% - 1.25rem),980px); }
    .interview-flow { min-height: calc(100vh - 64px); }
    .interview-context { min-height: 76px; }
    .interview-context > div strong { font-size: .84rem; }
    .interview-context > p span { display: none; }
    .interview-stage { min-height: calc(100svh - 144px); padding-block: 3rem; }
    .interview-stage h1 { font-size: clamp(1.85rem,9vw,2.35rem); line-height: 1.07; }
    .interview-question-number { top: 1rem; font-size: 9rem; }
    .interview-reason { font-size: .92rem !important; }
    .interview-options { display: grid; grid-template-columns: 1fr; }
    .interview-options button { width: 100%; }
    .interview-answer__actions { align-items: stretch; flex-direction: column; }
    .interview-answer__actions .button { width: 100%; }
    .interview-answer__actions > span { text-align: center; }
    .interview-facts article, .interview-history article { grid-template-columns: 1fr; gap: .35rem; }
    .interview-confirmation { display: grid; }
    .interview-confirmation .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .interview-loader { animation: none; }
    .interview-progress::-webkit-progress-value { transition: none; }
    .interview-progress::-moz-progress-bar { transition: none; }
}
