/* Public editorial surfaces. Shared shell and application workspace remain owned by app.css.
 * Screen-only: illustrative PDF print layouts and source content are unchanged. */
@media screen {
  :is(.seo-page,.product-landing,.demo-page) main { color:var(--aletura-ink); }
  :is(.seo-page,.product-landing,.demo-page) main :is(p,li) { text-wrap:pretty; }
  :is(.seo-page,.product-landing,.demo-page) main :is(h1,h2,h3) {
    color:var(--aletura-ink); font-weight:400; text-wrap:balance;
    overflow-wrap:normal; word-break:normal; hyphens:auto;
  }
  :is(.seo-page,.product-landing,.demo-page) main :is(h1,h2,h3):lang(en) { hyphens:none; }
  :is(.seo-page,.product-landing,.demo-page) main a:not(.primary):not(.secondary):not(.seo-button) {
    color:var(--aletura-source-link,var(--aletura-ink)); text-underline-offset:4px;
    text-decoration-thickness:1px;
  }
  :is(.seo-page,.product-landing,.demo-page) main :is(a,button,input,select,textarea,summary):focus-visible {
    outline:2px solid var(--aletura-accent); outline-offset:4px;
  }
  :is(.seo-page,.product-landing,.demo-page) main .eyebrow {
    font:600 11px/1.6 var(--aletura-font-ui); letter-spacing:.14em;
    color:var(--aletura-muted); text-transform:uppercase; background:none; padding:0;
  }
  /* A single restrained scale connects the generated pages and the walkthroughs. */
  .seo-page :is(.seo-hero,.product-hero,.individuals-hero,.business-hero,.proof-hero),
  .product-landing .product-landing-hero {
    max-width:1200px; margin-inline:auto;
    padding:clamp(44px,6vw,80px) 32px clamp(40px,5vw,64px);
    gap:clamp(32px,5vw,72px);
  }
  .seo-page :is(.seo-hero,.product-hero,.proof-hero) {
    grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr); align-items:center;
  }
  .seo-page :is(.seo-hero,.product-hero,.individuals-hero,.business-hero,.proof-hero) h1,
  .product-landing .product-landing-hero h1,.demo-page .demo-shell h1 {
    font:400 clamp(36px,4vw,56px)/1.08 var(--aletura-font-display,Georgia,serif);
    letter-spacing:-.045em; max-width:21ch; margin:16px 0 24px;
  }
  .seo-page :is(.seo-lead,.individuals-lead,.business-lead,.proof-lead),
  .product-landing .product-landing-hero .lead,.demo-page .demo-shell .lead {
    font-size:18px; line-height:1.65; max-width:60ch; color:var(--aletura-muted);
  }
  .seo-page :is(.seo-trust,.product-hero-note,.proof-hero-note) {
    background:var(--aletura-paper); border:1px solid var(--aletura-border);
    border-radius:16px; padding:28px; box-shadow:none;
  }
  .seo-page :is(.seo-trust,.product-hero-note,.proof-hero-note) :is(b,strong) {
    font:400 25px/1.25 var(--aletura-font-display,Georgia,serif);
  }
  .seo-page :is(.seo-trust,.product-hero-note,.proof-hero-note) :is(p,span) {
    font-size:14px; line-height:1.7; color:var(--aletura-muted);
  }
  /* Section boundaries replace isolated oversized cards and nested decoration. */
  .seo-page :is(.seo-section,.product-section,.business-section),
  .product-landing .product-landing-shell {
    max-width:1200px; margin-inline:auto; padding-inline:32px;
  }
  .seo-page :is(.seo-section,.product-section,.business-section) {
    padding-block:64px; border-top-color:var(--aletura-border);
  }
  .seo-page :is(.seo-section-heading,.product-section-heading,.section-lead) { max-width:760px; }
  .seo-page :is(.seo-section-heading,.product-section-heading,.section-lead) h2,
  .seo-page :is(.business-section h2,.proof-section-heading h2) {
    font:400 clamp(28px,3vw,40px)/1.15 var(--aletura-font-display,Georgia,serif);
    letter-spacing:-.03em; margin-top:0;
  }
  .seo-page :is(.seo-card-grid,.product-card-grid,.contract-link-grid) { gap:18px; }
  .seo-page :is(.seo-card-grid article,.product-card-grid article,.contract-link-grid a,.seo-boundaries article) {
    background:var(--aletura-paper); border:1px solid var(--aletura-border);
    border-radius:14px; padding:28px; box-shadow:none;
  }
  .seo-page :is(.seo-card-grid,.product-card-grid) h3,.seo-page .contract-link-grid strong {
    font:400 24px/1.25 var(--aletura-font-display,Georgia,serif); letter-spacing:-.02em;
  }
  .seo-page :is(.seo-card-grid,.product-card-grid,.contract-link-grid) :is(p,li) {
    font-size:15px; line-height:1.7;
  }
  .seo-page :is(.individuals-source-paper,.business-standard-preview article,.business-workspace,.individuals-report-preview) {
    border-color:var(--aletura-border); border-radius:14px; box-shadow:none;
  }
  .seo-page .contract-link-grid a { transition:border-color .2s ease,transform .2s ease; }
  .seo-page .contract-link-grid a:hover { transform:translateY(-2px); box-shadow:none; }
  .seo-page :is(.seo-cta,.product-final-cta,.business-final-cta) {
    max-width:1200px; margin:0 auto; padding:52px 32px;
    background:transparent; border-top:1px solid var(--aletura-border); border-radius:0;
  }
  .seo-page .seo-error { max-width:900px; padding:64px 32px; }
  /* Evidence and limits stay readable, at the same visual priority as their meaning. */
  .proof-page :is(.sample-report-shell,.trust-section-grid,.result-states,.quality-snapshot,.limitations-panel,.case-study-list,.update-list,.proof-cross-links,.proof-cta) {
    max-width:1200px; padding-inline:32px;
  }
  .proof-page .proof-hero { padding-bottom:48px; }
  .proof-page .proof-admission-note {
    max-width:1136px; width:calc(100% - 64px); margin:0 auto 32px;
    background:var(--aletura-paper); padding:20px 24px; border-radius:12px;
    font-size:14px; line-height:1.7;
  }
  .proof-page .sample-report-header { padding:32px; border-radius:16px 16px 0 0; }
  .proof-page .bottom-line-card { padding:28px 32px; }
  .proof-page .bottom-line-card p { max-width:75ch; font:400 16px/1.75 var(--aletura-font-ui); }
  .proof-page .sample-pillar-grid { border-radius:0 0 16px 16px; }
  .proof-page .sample-pillar-grid article { padding:28px 24px; }
  .proof-page .sample-pillar-grid h3 { font-size:24px; }
  .proof-page :is(.evidence-flow>article,.absence-card,.check-list,.state-list article,.metric-grid article,.case-study) {
    border-radius:12px; box-shadow:none;
  }
  .proof-page .trust-section-grid { gap:0 48px; }
  .proof-page .trust-section-grid article { padding-block:32px; }
  .proof-page .trust-section-grid article:first-child { max-width:none; }
  .proof-page .trust-section-grid h2 { font-size:29px; letter-spacing:-.02em; }
  .proof-page .trust-section-grid :is(p,li) { max-width:75ch; font-size:16px; line-height:1.75; }
  .proof-page :is(.result-states,.quality-snapshot,.limitations-panel) { padding-block:56px; }
  .proof-page .metric-grid strong { font-size:36px; }
  .proof-page .case-grid section { padding:28px; }
  .proof-page .case-source { background:var(--aletura-evidence-highlight); }
  .proof-page .update-list article { padding-block:32px; gap:36px; }
  .proof-page .update-list h2 { font-size:30px; }
  /* Contact is the same product, not an unstyled provider configuration page. */
  .seo-page .contact-section { padding-top:44px; }
  .seo-page .contact-form { max-width:740px; }
  .seo-page .contact-form fieldset { min-width:0; padding:0; border:0; }
  .seo-page .contact-form :is(input:not([type=checkbox]),select,textarea) {
    width:100%; max-width:100%; min-height:48px; margin:9px 0 24px;
    padding:13px 15px; color:var(--aletura-ink); background:var(--aletura-paper);
    border:1px solid var(--aletura-control-border,var(--aletura-border)); border-radius:10px;
    font:400 15px/1.5 var(--aletura-font-ui);
  }
  .seo-page .contact-form textarea { min-height:160px; resize:vertical; }
  .seo-page .contact-form label { font-size:14px; font-weight:600; line-height:1.5; }
  .seo-page .contact-form .contact-consent { display:flex; align-items:flex-start; gap:12px; margin-block:18px 24px; font-weight:400; }
  .seo-page .contact-form .contact-consent input { flex-shrink:0; width:19px; height:19px; margin-top:3px; }
  .seo-page .contact-form :is(#contact-message-hint,#contact-privacy-note) { font-size:13px; line-height:1.6; color:var(--aletura-muted); }
  /* Source-grounded synthetic walkthroughs: shared facts, deliberate department controls. */
  .product-landing .product-landing-hero { padding-inline:0; }
  .product-landing .product-landing-features { gap:24px; padding-top:8px; }
  .product-landing .product-landing-features .demo-finding { border-top:1px solid var(--aletura-border); padding-block:28px; }
  .product-landing .product-landing-features h2 { font-size:29px; }
  .product-landing .product-demo-boundary { margin-block:24px; }
  .demo-page .demo-shell { width:100%; max-width:1200px; padding:56px 32px 64px; }
  .demo-page .demo-hero { max-width:900px; margin-bottom:36px; }
  .demo-page .demo-shell h2 { font-size:clamp(27px,2.8vw,36px); letter-spacing:-.03em; }
  .demo-page .demo-shell h3 { font-size:25px; }
  .demo-page .demo-actions { gap:16px; align-items:center; margin-top:24px; }
  .demo-page .demo-limitations { color:var(--aletura-muted); font-size:13px; margin-block:16px; }
  .demo-page .demo-limitations summary { min-height:36px; padding-block:8px; cursor:pointer; }
  .demo-page .demo-findings { gap:20px; }
  .demo-page .demo-finding { padding:28px; min-width:0; border:1px solid var(--aletura-border); border-radius:14px; background:var(--aletura-paper); }
  .demo-page .demo-finding p { font-size:16px; line-height:1.7; }
  .demo-page .demo-finding blockquote { margin-inline:0; padding:16px 20px; background:var(--aletura-evidence-highlight); border-radius:8px; }
  .demo-page :is(.demo-question,.demo-questions details) { border-color:var(--aletura-border); border-radius:10px; background:var(--aletura-paper); }
  .demo-page .demo-questions summary { padding:18px 20px; cursor:pointer; line-height:1.55; }
  .demo-page .demo-questions details :is(p,a) { overflow-wrap:anywhere; }
  .demo-page .teams-departments { gap:8px; padding:8px; border:1px solid var(--aletura-border); border-radius:14px; background:var(--aletura-paper); }
  .demo-page .teams-departments button { min-height:44px; padding:11px 17px; border-radius:8px; font-size:14px; font-weight:600; background:transparent; color:var(--aletura-ink); border:1px solid transparent; }
  .demo-page .teams-departments button[aria-pressed=true] { background:var(--aletura-ink); color:var(--aletura-paper); }
  .demo-page .teams-departments button:not([aria-pressed=true]):hover { background:var(--aletura-evidence-highlight); }
  .demo-page :is(#demo-source-text,#teams-source-text) { background:var(--aletura-paper); border:1px solid var(--aletura-border); border-radius:14px; padding:28px; }
  .demo-page :is(#demo-source-text,#teams-source-text) :is(p,blockquote) { max-width:85ch; }
  .demo-page #privacy-main { max-width:960px; }
  .demo-page #privacy-main h1 { max-width:24ch; }
  .demo-page #privacy-details section { padding-block:28px; border-top:1px solid var(--aletura-border); }
  .demo-page #privacy-details h2 { font-size:28px; }
  .demo-page #privacy-details :is(p,li) { font-size:16px; line-height:1.75; }
  /* Real tables retain all columns inside their own accessible horizontal scroll region. */
  :is(.seo-page,.product-landing,.demo-page) main table { max-width:100%; }
  :is(.seo-page,.product-landing,.demo-page) main :is(.table-scroll,.table-wrapper) { min-width:0; max-width:100%; overflow-x:auto; }
}
@media screen and (max-width:1000px) {
  .seo-page :is(.seo-hero,.product-hero,.individuals-hero,.business-hero,.proof-hero) { grid-template-columns:1fr; gap:28px; }
  .seo-page :is(.seo-trust,.product-hero-note,.proof-hero-note) { max-width:700px; }
  .seo-page .individuals-hero,.seo-page .business-hero { max-width:900px; }
  .seo-page .seo-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:600px) {
  .seo-page :is(.seo-hero,.product-hero,.individuals-hero,.business-hero,.proof-hero),
  .product-landing .product-landing-hero { padding:40px 24px 36px; gap:24px; }
  .seo-page :is(.seo-hero,.product-hero,.individuals-hero,.business-hero,.proof-hero) h1,
  .product-landing .product-landing-hero h1,.demo-page .demo-shell h1 { font-size:clamp(34px,9vw,44px); line-height:1.1; letter-spacing:-.04em; max-width:22ch; }
  .product-landing .product-landing-hero { padding-inline:0; }
  .seo-page :is(.seo-lead,.individuals-lead,.business-lead,.proof-lead),.product-landing .product-landing-hero .lead,.demo-page .demo-shell .lead { font-size:16px; line-height:1.65; }
  .seo-page :is(.seo-section,.product-section,.business-section),.product-landing .product-landing-shell,
  .proof-page :is(.sample-report-shell,.trust-section-grid,.result-states,.quality-snapshot,.limitations-panel,.case-study-list,.update-list,.proof-cross-links,.proof-cta) { padding-inline:24px; }
  .seo-page :is(.seo-section,.product-section,.business-section) { padding-block:40px; }
  .seo-page :is(.seo-card-grid,.product-card-grid,.contract-link-grid),.product-landing .product-landing-features { grid-template-columns:1fr; }
  .seo-page :is(.seo-card-grid article,.product-card-grid article,.contract-link-grid a,.seo-boundaries article) { padding:22px; }
  .seo-page :is(.seo-actions,.individuals-actions,.business-actions) { align-items:stretch; gap:12px; }
  .seo-page :is(.seo-actions,.individuals-actions,.business-actions) .primary { width:100%; }
  .seo-page :is(.seo-cta,.product-final-cta,.business-final-cta) { padding:36px 24px; gap:24px; }
  .seo-page .seo-error { padding:48px 24px; }
  .proof-page .proof-admission-note { width:calc(100% - 48px); margin-inline:24px; padding:18px; }
  .proof-page .sample-report-header,.proof-page .bottom-line-card { padding:22px; }
  .proof-page .sample-pillar-grid article { padding:24px 22px; }
  .proof-page :is(.state-list,.metric-grid,.trust-section-grid,.limitations-panel) { grid-template-columns:1fr; }
  .proof-page .trust-section-grid h2 { font-size:27px; }
  .proof-page .trust-section-grid :is(p,li) { font-size:15px; }
  .proof-page .check-list article,.proof-page .case-grid section { padding:22px; }
  .proof-page .update-list article { gap:12px; }
  .demo-page .demo-shell { padding:40px 24px 48px; }
  .demo-page .demo-hero { margin-bottom:28px; }
  .demo-page .demo-actions { align-items:stretch; }
  .demo-page .demo-actions .primary { width:100%; }
  .demo-page .demo-findings { grid-template-columns:1fr; }
  .demo-page .demo-finding { padding:22px; }
  .demo-page .teams-departments { gap:6px; padding:6px; }
  .demo-page .teams-departments button { flex:1 1 40%; padding:10px; font-size:13px; }
  .demo-page :is(#demo-source-text,#teams-source-text) { padding:20px; }
  .demo-page #privacy-details :is(p,li) { font-size:15px; }
}
@media screen and (prefers-reduced-motion:reduce) {
  :is(.seo-page,.product-landing,.demo-page) main *,
  :is(.seo-page,.product-landing,.demo-page) main *::before,
  :is(.seo-page,.product-landing,.demo-page) main *::after { animation:none; transition:none; scroll-behavior:auto; }
}
