.page-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding-top: 22px; color: #92909d; font-size: 10px; }
.page-breadcrumbs a { color: #000080; font-weight: 600; }
.page-breadcrumbs strong { color: #62606d; font-weight: 600; }
.page-hero { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: 55px; min-height: 420px; padding-top: 58px; padding-bottom: 70px; border-bottom: 1px solid #e8e6ef; }
.page-hero-copy { max-width: 720px; }
.page-hero h1 { max-width: 740px; margin: 0 0 20px; color: var(--narrativa-blue); font: 400 1.875rem/1.1 var(--display); letter-spacing: -.025em; }
.page-hero .hero-description { max-width: 680px; margin-bottom: 25px; color: #656270; font-size: 17px; line-height: 1.7; }
.page-hero-art { position: relative; display: grid; place-items: center; width: min(100%, 370px); justify-self: center; }
.page-generated-illustration { display: block; width: 100%; height: auto; overflow: visible; }
.page-hero-art .page-generated-illustration { filter: drop-shadow(0 16px 22px #211a4b12); }
.page-art-ring { position: absolute; width: 100%; height: 100%; border: 1px solid #dcd6fa; border-radius: 50%; }
.page-art-ring.ring-two { width: 74%; height: 74%; border-style: dashed; animation: orbit 35s linear infinite; }
.page-art-icon { display: grid; place-items: center; width: 88px; height: 88px; overflow: hidden; border-radius: 24px; background: #000080; box-shadow: 0 18px 50px #00008020, 0 0 0 17px #f2efff; }
.page-art-icon img { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-art-dot { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: #beb1ff; box-shadow: 0 0 0 6px #beb1ff33; }
.page-art-dot.dot-one { top: 38px; right: 59px; }.page-art-dot.dot-two { bottom: 54px; left: 44px; width: 7px; height: 7px; background: #000080; box-shadow: 0 0 0 5px #0000801c; }
.page-content-section { padding-top: 74px; padding-bottom: 78px; border-bottom: 1px solid #eeecf2; }
.page-section-grid { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1fr); gap: 80px; margin-top: 22px; }
.page-section-grid h2,.page-contact h2 { margin: 0; font: 500 clamp(34px, 4vw, 51px)/1.08 var(--display); letter-spacing: -2px; }
.page-section-copy > p,.page-contact-copy > p { margin: 0; color: #696775; font-size: 16px; line-height: 1.75; }
.page-check-list { display: grid; gap: 11px; margin: 21px 0 0; padding: 0; list-style: none; }
.page-check-list li { position: relative; padding-left: 23px; color: #353345; font-size: 14px; line-height: 1.55; }
.page-check-list li::before { position: absolute; top: 1px; left: 0; display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: #eeeafe; color: #000080; content: "✓"; font-size: 9px; font-weight: 700; }
.page-inline-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 22px; }
.page-inline-link { display: flex; justify-content: space-between; gap: 8px; padding: 12px 14px; border: 1px solid #e8e6ef; border-radius: 5px; color: #332e49; font-size: 11px; font-weight: 600; transition: border-color .2s, background .2s; }
.page-inline-link:hover { border-color: #beb1ff; background: #f7f5ff; }.page-inline-link span { color: #000080; }
.page-contact { display: grid; grid-template-columns: .8fr 1fr; gap: 75px; padding-top: 83px; padding-bottom: 90px; }
.page-contact-copy h2 { margin: 20px 0 14px; }.page-contact-copy > p { max-width: 360px; }
.narrativa-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.narrativa-contact-form label { display: grid; gap: 7px; color: #4f4a61; font-size: 10px; font-weight: 700; }
.narrativa-contact-form input,.narrativa-contact-form select,.narrativa-contact-form textarea { width: 100%; min-height: 42px; padding: 10px 11px; border: 1px solid #e1deeb; border-radius: 4px; background: #fff; color: #28253a; font: 13px var(--sans); }
.narrativa-contact-form textarea { resize: vertical; }.narrativa-contact-form .form-wide { grid-column: 1 / -1; }
.narrativa-contact-form button { justify-self: start; border: 0; cursor: pointer; }.form-status { align-self: center; margin: 0; color: #000080; font-size: 11px; }
.page-cta-section { margin-top: 20px; }.page-footer { row-gap: 15px; }
.page-section-image { margin: 22px 0 0; padding: 8px; border: 1px solid #e8e6ef; border-radius: 6px; background: #f7f6fb; }
.page-section-image img { display: block; width: 100%; max-height: 360px; object-fit: contain; }
.page-section-image figcaption { padding: 8px 5px 2px; color: #797686; font-size: 9px; }
.page-visuals { padding-top: 76px; padding-bottom: 82px; }
.page-visual-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.page-visual-card { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 160px; margin: 0; padding: 12px; overflow: hidden; border: 1px solid #e8e6ef; border-radius: 6px; background: #fff; }
.page-visual-card img { display: block; width: 100%; height: 170px; object-fit: contain; }
.page-visual-art { display: grid; place-items: center; width: 100%; height: 170px; overflow: hidden; border-radius: 4px; background: #f7f5ff; }
.page-visual-art .page-generated-illustration { width: 100%; height: 100%; object-fit: cover; }
.page-visual-card figcaption { margin-top: 9px; color: #575365; font-size: 10px; font-weight: 600; line-height: 1.4; }
.page-team-visuals .page-visual-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.page-team-visuals .page-visual-card { align-items: center; text-align: center; }
.page-team-visuals .page-visual-card img { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; }
.page-trust-band { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 27px; padding-bottom: 27px; border-bottom: 1px solid #eeecf2; }
.page-trust-band > p { flex: 0 0 auto; margin: 0; color: #777384; font-size: 8px; font-weight: 700; letter-spacing: .8px; line-height: 1.5; }
.page-trust-band > div { display: flex; flex: 1; justify-content: space-around; align-items: center; gap: 22px; }
.page-trust-band figure { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; }
.page-trust-band img { width: auto; max-width: 112px; height: 50px; object-fit: contain; }
.page-trust-band .page-trust-mark > span { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid #cfc8f4; border-radius: 14px; background: linear-gradient(145deg, #f6f3ff, #e9e5ff); color: #000080; font-size: 20px; }
.page-trust-band figcaption { max-width: 140px; color: #777384; font-size: 9px; text-align: center; }
.page-source-copy h3 { margin: 25px 0 8px; color: #302b45; font: 600 21px/1.2 var(--display); letter-spacing: -.35px; }
.page-source-copy h3:first-child { margin-top: 0; }
.page-source-copy blockquote { margin: 20px 0; padding: 16px 20px; border-left: 3px solid #8e80d5; background: #f7f5ff; color: #39354e; font: 500 18px/1.55 var(--display); }
.page-source-copy .source-list-item { position: relative; margin: 10px 0; padding-left: 22px; color: #353345; font-size: 14px; line-height: 1.6; }
.page-source-copy .source-list-item span { position: absolute; left: 0; color: #7561c1; font-size: 12px; }
.page-source-copy .source-table-cell { padding: 8px 10px; border-bottom: 1px solid #eeecf2; background: #fbfaff; font-size: 13px; }
@media (max-width: 900px) {
  .page-hero { grid-template-columns: minmax(0,1fr) 250px; gap: 25px; }
  .page-hero-art { width: min(100%, 330px); }
  .page-section-grid { gap: 42px; }
  .page-contact { gap: 40px; }
}
@media (max-width: 720px) {
  .page-breadcrumbs { padding-top: 17px; }
  .page-hero { grid-template-columns: 1fr; gap: 22px; min-height: 0; padding-top: 48px; padding-bottom: 45px; }
  .page-hero h1 { font-size: 1.875rem; }
  .page-hero .hero-description { font-size: 15px; }
  .page-hero-art { width: min(100%, 310px); }
  .page-art-icon { width: 68px; height: 68px; border-radius: 18px; }
  .page-content-section { padding-top: 54px; padding-bottom: 56px; }
  .page-section-grid { grid-template-columns: 1fr; gap: 18px; }
  .page-section-grid h2,.page-contact h2 { font-size: 39px; }
  .page-section-copy > p,.page-contact-copy > p { font-size: 15px; }
  .page-inline-links { grid-template-columns: 1fr; }
  .page-contact { grid-template-columns: 1fr; gap: 27px; padding-top: 60px; padding-bottom: 62px; }
  .narrativa-contact-form { grid-template-columns: 1fr; }
  .narrativa-contact-form .form-wide { grid-column: auto; }
  .page-visuals { padding-top: 55px; padding-bottom: 58px; }
  .page-visual-grid,.page-team-visuals .page-visual-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .page-visual-card { min-height: 130px; padding: 8px; }
  .page-visual-card img { height: 130px; }
  .page-team-visuals .page-visual-card img { width: 95px; height: 95px; }
  .page-trust-band { align-items: flex-start; flex-direction: column; gap: 17px; }
  .page-trust-band > div { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
}

/* Static pages use the same editorial rhythm and visual language as the homepage. */
.page-home-hero.hero { grid-template-columns: .9fr 1.1fr; gap: 28px; min-height: 650px; padding-top: 33px; padding-bottom: 62px; }
.page-home-hero .hero-copy { padding: 16px 0 0 12px; }
.page-home-hero h1 { max-width: 650px; margin-bottom: 20px; color: #25213e; font-size: 1.875rem; font-weight: 400; line-height: 1.1; letter-spacing: -.025em; }
.page-home-hero h1 span { color: #8775d4; }
.page-home-hero .hero-description { max-width: 505px; margin-bottom: 27px; color: #626071; font-size: 17px; line-height: 1.75; }
.page-home-hero .hero-proof { margin-top: 38px; }
.page-home-hero .avatar-stack span,.page-home-hero .avatar-stack b { display: grid; width: 32px; height: 32px; background: #f0edff; color: #6c5ac0; font-size: 10px; }
.page-home-hero .avatar-stack span:nth-child(2) { background: #e9e5fb; color: #51468f; }
.page-home-hero .avatar-stack b { background: #302c48; color: #fff; }
.page-home-hero .hero-proof p { font-size: 11px; line-height: 1.55; }
.page-home-hero .hero-proof strong { color: #302c48; }
.page-hero-visual { min-height: 500px; margin: 0; transform: none; }
.page-hero-visual .orbit-one { width: min(100%, 510px); height: min(100%, 510px); border-color: #e2def2; }
.page-hero-visual .orbit-two { width: min(80%, 405px); height: min(80%, 405px); border-color: #d7d0ef; }
.page-art-shell { position: relative; z-index: 1; width: min(100%, 600px); overflow: hidden; border: 1px solid #e3e0ed; border-radius: 10px; background: #fff; box-shadow: 0 22px 65px #302c4818, 0 5px 14px #302c480c; transform: rotate(-1deg); }
.page-art-shell img,.page-art-shell > svg { display: block; width: 100%; height: auto; }
.page-art-shell .page-generated-illustration { width: 100%; }
.page-art-shell .story-photo-art { aspect-ratio: 600 / 410; object-fit: cover; }
.page-art-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; min-width: 202px; padding: 11px 13px; border: 1px solid #e8e5f1; border-radius: 7px; background: #fff; box-shadow: 0 9px 30px #302c4818; }
.page-art-note > span:first-child { display: grid; flex: 0 0 29px; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: #f0edff; color: #7561c1; font-size: 15px; }
.page-art-note > div { display: grid; gap: 3px; }
.page-art-note b { color: #302c48; font: 600 12px/1.2 var(--display); }
.page-art-note small { color: #8a8797; font-size: 8px; }
.page-art-note > strong { display: grid; place-items: center; width: 17px; height: 17px; margin-left: auto; border-radius: 50%; background: #eeeafe; color: #6352af; font-size: 9px; }
.page-art-note-top { top: 42px; right: -12px; }
.page-art-note-bottom { bottom: 34px; left: -7px; }
.page-art-note .page-art-note-mark { background: #302c48; color: #fff; }
.page-art-note-bottom small { font-size: 7px; letter-spacing: .7px; }
.page-art-spark { position: absolute; top: 18%; left: 9%; color: #8775d4; font-size: 23px; }
.page-proof-strip { min-height: 102px; border-bottom-color: #e8e6ef; }
.page-proof-strip > p { color: #827d91; font-size: 8px; letter-spacing: 1px; }
.page-proof-wordmark { display: inline-flex; align-items: center; gap: 7px; color: #716c80; font: 600 13px/1.2 var(--display); white-space: nowrap; }
.page-proof-wordmark i { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #e4e0f0; border-radius: 6px; background: #f7f5ff; color: #8171cb; font-size: 12px; font-style: normal; }
.page-source-intro { padding-top: 118px; padding-bottom: 90px; }
.page-source-intro .intro-grid { grid-template-columns: .92fr 1.08fr; align-items: start; gap: 76px; margin-top: 27px; }
.page-source-intro .intro-grid h1,.page-source-intro .intro-grid h2 { max-width: 510px; color: #25213e; font-size: clamp(38px, 4.5vw, 58px); line-height: 1.03; letter-spacing: -.04em; }
.page-source-intro .intro-grid > div { padding: 0; }
.page-source-copy { max-width: 700px; overflow-wrap: anywhere; }
.page-source-copy a { word-break: break-word; }
.page-source-copy > p { margin: 0 0 17px; color: #626071; font-size: 15px; line-height: 1.78; }
.page-source-copy > p:last-child { margin-bottom: 0; }
.page-source-copy h3 { margin: 26px 0 9px; color: #302c48; font: 600 22px/1.2 var(--display); letter-spacing: -.45px; }
.page-source-copy h3:first-child { margin-top: 0; }
.page-source-copy blockquote { margin: 22px 0; padding: 18px 22px; border-left: 3px solid #8775d4; border-radius: 0 7px 7px 0; background: #f4f1ff; color: #39354e; font: 500 21px/1.45 var(--display); }
.page-source-copy .source-list-item { position: relative; margin: 0 0 12px; padding: 0 0 0 18px; color: #514d61; font-size: 14px; line-height: 1.65; }
.page-source-copy .source-list-item::before { position: absolute; top: .65em; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: #a99ae8; content: ""; }
.page-source-copy .source-table-cell { margin-bottom: 0; padding: 10px 12px; border-bottom: 1px solid #e8e6ef; background: #fbfaff; }
.page-source-statement { grid-template-columns: .95fr 1.05fr; min-height: 0; margin-top: 0; margin-bottom: 105px; background: #f0edff; }
.page-source-statement .statement-art { min-height: 510px; background: #302c48; }
.page-source-statement .statement-art::before { border-color: #ffffff26; }
.page-source-statement .statement-art::after { border-color: #ffffff30; }
.page-source-statement .statement-copy { align-items: stretch; padding: 58px clamp(34px, 6vw, 80px); }
.page-source-statement .statement-copy .section-kicker { color: #756e90; }
.page-source-statement .statement-copy h2 { margin: 22px 0 20px; color: #25213e; font-size: clamp(37px, 4vw, 52px); }
.page-source-statement .page-source-copy { max-width: 580px; }
.page-editorial-section { padding-top: 84px; padding-bottom: 85px; }
.page-editorial-card { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; min-height: 0; margin-top: 22px; padding: 34px; border: 1px solid #e8e5f1; border-radius: 8px; background: linear-gradient(120deg, #fcfbff, #fff 58%); box-shadow: 0 12px 36px #302c4808; }
.page-editorial-card h2 { margin: 0 0 20px; color: #25213e; font: 500 clamp(32px, 4vw, 47px)/1.05 var(--display); letter-spacing: -.04em; }

/* Media kit: turn brand guidance into a browsable, downloadable resource. */
.narrativa-mediakit main#top { row-gap: 0; }
.narrativa-mediakit .mediakit-hero { margin-bottom: 0; }
.narrativa-mediakit .mediakit-hero h1 { max-width: 600px; }
.narrativa-mediakit .mediakit-hero h1 span { color: #8775d4; }
.narrativa-mediakit .mediakit-hero .hero-description { max-width: 490px; }
.mediakit-text-link { color: #302c48; font-size: 12px; font-weight: 700; }
.mediakit-text-link:hover,.mediakit-inline-links a:hover,.mediakit-download:hover { text-decoration: underline; text-underline-offset: 3px; }
.mediakit-hero-visual { overflow: visible; }
.mediakit-brand-board { position: relative; z-index: 1; width: min(100%, 540px); padding: 19px; border: 1px solid #e6e2f0; border-radius: 9px; background: linear-gradient(145deg, #faf9ff, #efecfa); box-shadow: 0 22px 65px #302c4818, 0 5px 14px #302c480c; transform: rotate(-2deg); }
.mediakit-board-top,.mediakit-board-bottom { display: flex; align-items: center; justify-content: space-between; color: #777286; font-size: 8px; font-weight: 700; letter-spacing: .9px; }
.mediakit-logo-tile { display: grid; place-items: center; min-height: 255px; margin: 16px 0 14px; padding: 30px; border: 1px solid #ebe8f3; border-radius: 6px; background: #fff; }
.mediakit-logo-tile img { display: block; width: min(100%, 300px); max-height: 120px; object-fit: contain; }
.mediakit-mini-swatches { display: flex; gap: 5px; }
.mediakit-mini-swatches i { width: 16px; height: 16px; border: 1px solid #e6e2ed; border-radius: 50%; background: #fff; }
.mediakit-mini-swatches i:nth-child(2) { background: #000; }
.mediakit-mini-swatches i:nth-child(3) { background: #01008e; }
.mediakit-mini-swatches i:nth-child(4) { background: #b742be; }
.mediakit-hero .page-art-note-top { top: 28px; right: -13px; }
.mediakit-hero .page-art-note-bottom { bottom: 29px; left: -20px; }
.mediakit-principles { min-height: 110px; margin-bottom: 0; border-top: 1px solid #e8e6ef; border-bottom: 1px solid #e8e6ef; }
.mediakit-principles .page-proof-wordmark { color: #555166; }
.mediakit-principles .page-proof-wordmark i { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #e4e0f0; border-radius: 6px; background: #f7f5ff; color: #7561c1; font-size: 11px; font-style: normal; }
.mediakit-assets,.mediakit-guidelines { padding-top: 100px; padding-bottom: 100px; }
.mediakit-section-heading { align-items: end; margin-bottom: 30px; }
.mediakit-section-heading h2 { margin: 17px 0 0; color: #25213e; font: 500 clamp(42px, 5vw, 60px)/1.04 var(--display); letter-spacing: -.045em; }
.mediakit-section-heading h2 em,.mediakit-palette h2 em,.mediakit-contact h2 em { color: #8775d4; font-style: normal; }
.mediakit-section-heading > p { max-width: 440px; margin: 0 0 4px; color: #565b58; font-size: 15px; line-height: 1.75; }
.mediakit-asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.mediakit-asset-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; transition: transform .2s, border-color .2s, box-shadow .2s; }
.mediakit-asset-card:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 13px 28px #302c4812; }
.mediakit-asset-visual { position: relative; display: grid; place-items: center; height: 205px; padding: 19px; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 50% 45%, #fff 0, #f0edff 74%); }
.mediakit-asset-visual::before,.mediakit-asset-visual::after { position: absolute; z-index: -1; width: 178px; height: 178px; border: 1px solid #8775d426; border-radius: 50%; content: ""; }
.mediakit-asset-visual::after { width: 132px; height: 132px; border-style: dashed; }
.mediakit-asset-visual img { position: relative; z-index: 1; display: block; width: 100%; max-height: 145px; object-fit: contain; }
.mediakit-asset-visual > span { position: absolute; z-index: 2; bottom: 12px; left: 13px; padding: 6px 8px; border: 1px solid #e8e5f1; border-radius: 4px; background: #ffffffed; color: #625a7c; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.mediakit-logo-preview { background: radial-gradient(ellipse at 50% 47%, #51466f, #302c48 72%); }
.mediakit-logo-preview::before,.mediakit-logo-preview::after { border-color: #ffffff2e; }
.mediakit-logo-preview img { width: 82%; max-height: 105px; padding: 10px; border: 1px solid #ffffff80; border-radius: 7px; background: #fff; box-shadow: 0 12px 28px #17152c55; }
.mediakit-logo-preview > span { right: 13px; bottom: 12px; left: auto; border-color: #ffffff3d; background: #302c48d9; color: #f0edff; }
.mediakit-background-preview { background: radial-gradient(ellipse at 50% 45%, #e4dcff 0, #f0edff 66%, #fff 100%); }
.mediakit-background-preview img { width: 86%; max-height: 140px; padding: 8px; border: 1px solid #ffffffd9; border-radius: 7px; background: #fff; box-shadow: 0 13px 32px #302c481a; }
.mediakit-type-preview { background: radial-gradient(ellipse at 50% 45%, #fff 0, #eae5ff 70%); }
.mediakit-type-preview img { width: 86%; max-height: 140px; padding: 8px; border: 1px solid #ffffffd9; border-radius: 7px; background: #fff; box-shadow: 0 13px 32px #302c481a; }
.mediakit-asset-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 20px 20px 21px; }
.mediakit-asset-copy .section-kicker { color: #8775d4; font-size: 9px; }
.mediakit-asset-copy h3 { margin: 11px 0 7px; color: #302c48; font: 600 23px/1.12 var(--display); letter-spacing: -.4px; }
.mediakit-asset-copy p { margin: 0 0 20px; color: #565b58; font-size: 13px; line-height: 1.65; }
.mediakit-download { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: #000080; font-size: 12px; font-weight: 700; }
.mediakit-palette-wrap { padding: 75px 0; background: #f4f2fc; }
.mediakit-palette { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 70px; }
.mediakit-palette-copy .section-kicker { color: #7561c1; }
.mediakit-palette h2 { margin: 19px 0 15px; color: #25213e; font: 500 clamp(40px, 4.5vw, 54px)/1.04 var(--display); letter-spacing: -.045em; }
.mediakit-palette-copy p { max-width: 390px; margin: 0; color: #565b58; font-size: 14px; line-height: 1.75; }
.mediakit-color-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.mediakit-color-swatch { display: flex; min-height: 116px; flex-direction: column; justify-content: space-between; padding: 15px 16px; border: 1px solid #e5e2ed; border-radius: 6px; background: #fff; color: #302c48; }
.mediakit-color-swatch span { font-size: 11px; font-weight: 600; }
.mediakit-color-swatch b { font-size: 10px; letter-spacing: .7px; }
.mediakit-color-swatch.swatch-ink,.mediakit-color-swatch.swatch-accent,.mediakit-color-swatch.swatch-highlight,.mediakit-color-swatch.swatch-soft { border-color: transparent; }
.mediakit-color-swatch.swatch-ink { background: #302c48; color: #fff; }
.mediakit-color-swatch.swatch-accent { background: #8775d4; color: #17152c; }
.mediakit-color-swatch.swatch-highlight { background: #beb1ff; color: #25213e; }
.mediakit-color-swatch.swatch-soft { background: #f0edff; color: #25213e; }
.mediakit-guidelines { padding-bottom: 94px; }
.mediakit-guideline-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.mediakit-guideline-card { display: flex; min-height: 186px; flex-direction: column; justify-content: flex-start; padding: 22px; border: 1px solid #e8e6ef; border-radius: 7px; background: #fff; }
.mediakit-guideline-card h3 { margin: 2px 0 8px; color: #302c48; font: 600 23px/1.15 var(--display); letter-spacing: -.3px; }
.mediakit-guideline-card p { margin: 0; color: #565b58; font-size: 13px; line-height: 1.7; }
.mediakit-inline-links { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 17px; }
.mediakit-inline-links a { color: #000080; font-size: 11px; font-weight: 700; }
.mediakit-contact { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 90px; padding: 48px 56px; border-radius: 8px; background: #302c48; color: #fff; }
.mediakit-contact .section-kicker { color: #c4bddf; }
.mediakit-contact h2 { margin: 14px 0 9px; font: 500 clamp(34px, 4vw, 47px)/1.04 var(--display); letter-spacing: -.04em; }
.mediakit-contact h2 em { color: #c3b7ff; }
.mediakit-contact p { margin: 0; color: #d2cfdf; font-size: 13px; line-height: 1.6; }
.mediakit-contact .button-dark { flex: 0 0 auto; background: #fff; color: #302c48; }
.mediakit-contact .button-dark:hover { background: #eeeafe; }

@media (max-width: 1000px) {
  .mediakit-palette { gap: 38px; }
  .mediakit-asset-copy { padding-inline: 16px; }
  .mediakit-guideline-card { padding: 19px; }
}
@media (max-width: 720px) {
  .narrativa-mediakit .mediakit-hero { padding-bottom: 34px; }
  .mediakit-hero-visual { min-height: 330px; margin-inline: 0; }
  .mediakit-brand-board { width: calc(100% - 34px); padding: 13px; }
  .mediakit-logo-tile { min-height: 190px; margin-block: 12px; }
  .mediakit-logo-tile img { max-width: 250px; }
  .mediakit-hero .page-art-note-top { top: 8px; right: 0; }
  .mediakit-hero .page-art-note-bottom { bottom: 7px; left: 0; }
  .mediakit-principles { margin-top: 0; }
  .mediakit-principles .wordmarks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
  .mediakit-assets,.mediakit-guidelines { padding-block: 62px; }
  .mediakit-section-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 22px; }
  .mediakit-section-heading h2 { font-size: 43px; }
  .mediakit-section-heading > p { font-size: 14px; }
  .mediakit-asset-grid { grid-template-columns: 1fr; gap: 12px; }
  .mediakit-asset-card { display: grid; grid-template-columns: minmax(125px,.7fr) minmax(0,1.3fr); }
  .mediakit-asset-visual { height: 100%; min-height: 205px; padding: 12px; }
  .mediakit-asset-copy { padding: 16px; }
  .mediakit-asset-copy h3 { font-size: 20px; }
  .mediakit-asset-copy p { font-size: 12px; }
  .mediakit-logo-preview img { max-width: 100%; }
  .mediakit-palette-wrap { padding-block: 53px; }
  .mediakit-palette { grid-template-columns: 1fr; gap: 25px; }
  .mediakit-color-swatch { min-height: 96px; padding: 12px; }
  .mediakit-guideline-grid { grid-template-columns: 1fr; }
  .mediakit-guideline-card { min-height: 0; padding: 19px; }
  .mediakit-guideline-card h3 { font-size: 21px; }
  .mediakit-contact { align-items: flex-start; flex-direction: column; margin-bottom: 54px; padding: 30px 25px; }
}
@media (max-width: 420px) {
  .mediakit-text-link { font-size: 11px; }
  .mediakit-asset-card { grid-template-columns: 1fr; }
  .mediakit-asset-visual { height: 170px; min-height: 0; }
  .mediakit-asset-copy { min-height: 205px; }
  .mediakit-guideline-card { padding: 16px; }
  .mediakit-inline-links { flex-direction: column; gap: 11px; }
}

/* Company boilerplate: editorial layout with an easy-to-copy approved description. */
.narrativa-company-boilerplate main#top { row-gap: 0; }
.boilerplate-heading { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: end; gap: 60px; padding-top: 75px; padding-bottom: 60px; }
.boilerplate-heading-copy h1 { margin: 0 0 15px; color: #25213e; font: 500 clamp(52px, 6vw, 76px)/.98 var(--display); letter-spacing: -.05em; }
.boilerplate-heading-copy h1 span { color: #8775d4; }
.boilerplate-heading-copy > p { max-width: 565px; margin: 0; color: #626071; font-size: 16px; line-height: 1.75; }
.boilerplate-meta { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 19px; border: 1px solid #e8e6ef; border-radius: 7px; background: #fbfaff; }
.boilerplate-meta > div { display: flex; justify-content: space-between; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #e8e6ef; }
.boilerplate-meta > div span { color: #827d91; font-size: 8px; font-weight: 700; letter-spacing: .8px; }
.boilerplate-meta > div strong { color: #302c48; font-size: 10px; font-weight: 600; text-align: right; }
.boilerplate-copy-button { width: 100%; min-height: 44px; justify-content: center; font-size: 11px; }
.boilerplate-copy-status { min-height: 14px; margin: -5px 0 0; color: #6252ad; font-size: 10px; line-height: 1.4; text-align: center; }
.boilerplate-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 34px; padding-bottom: 72px; }
.boilerplate-aside { position: sticky; top: 120px; display: flex; flex-direction: column; align-items: flex-start; min-height: 225px; padding: 22px; border-radius: 7px; background: #f3f1ff; }
.boilerplate-aside-mark { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 32px; border-radius: 11px; background: #302c48; color: #fff; font: 600 23px/1 var(--display); }
.boilerplate-aside .section-kicker { color: #7561c1; font-size: 8px; }
.boilerplate-aside p { margin: 10px 0 25px; color: #5d586f; font: 500 20px/1.25 var(--display); }
.boilerplate-aside-date { margin-top: auto; color: #888398; font-size: 8px; font-weight: 700; letter-spacing: .8px; }
.boilerplate-copy-card { min-width: 0; padding: clamp(26px, 4vw, 48px); border: 1px solid #e6e3ef; border-radius: 8px; background: #fff; box-shadow: 0 15px 45px #302c4808; }
.boilerplate-copy-topline { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid #e8e6ef; color: #827d91; font-size: 8px; font-weight: 700; letter-spacing: .85px; }
.boilerplate-copy-content { padding-top: 30px; color: #514d61; font-size: 15px; line-height: 1.85; }
.boilerplate-copy-content h2 { margin: 0 0 17px; color: #25213e; font: 500 35px/1.05 var(--display); letter-spacing: -.035em; }
.boilerplate-copy-content p { margin: 0 0 19px; color: inherit; font-size: inherit; line-height: inherit; }
.boilerplate-copy-content p:last-child { margin-bottom: 0; }
.boilerplate-copy-content strong { color: #302c48; font-weight: 650; }
.boilerplate-copy-content a { color: #000080; text-decoration: underline; text-decoration-color: #c8c1e8; text-underline-offset: 3px; }
.boilerplate-copy-content a:hover { text-decoration-color: currentColor; }
.boilerplate-copy-content .boilerplate-follow { padding-top: 18px; border-top: 1px solid #e8e6ef; color: #696675; font-size: 13px; }
.boilerplate-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 21px; padding-bottom: 60px; border-top: 1px solid #e8e6ef; }
.boilerplate-footer p { margin: 0; color: #696675; font-size: 13px; }
.boilerplate-footer a { color: #000080; font-size: 12px; font-weight: 700; text-decoration: underline; text-decoration-color: #c8c1e8; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .boilerplate-heading { grid-template-columns: minmax(0,1fr) 245px; gap: 35px; }
  .boilerplate-layout { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
}
@media (max-width: 720px) {
  .boilerplate-heading { grid-template-columns: 1fr; gap: 25px; padding-top: 49px; padding-bottom: 38px; }
  .boilerplate-heading-copy h1 { font-size: 56px; }
  .boilerplate-heading-copy > p { font-size: 14px; }
  .boilerplate-meta { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; }
  .boilerplate-meta > div { flex-direction: column; justify-content: flex-start; gap: 5px; padding-bottom: 0; border-bottom: 0; }
  .boilerplate-meta > div strong { text-align: left; }
  .boilerplate-copy-button,.boilerplate-copy-status { grid-column: 1 / -1; }
  .boilerplate-layout { grid-template-columns: 1fr; gap: 14px; padding-bottom: 46px; }
  .boilerplate-aside { position: static; min-height: 0; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; column-gap: 13px; padding: 14px; }
  .boilerplate-aside-mark { grid-row: 1 / 3; margin: 0; }
  .boilerplate-aside .section-kicker { align-self: end; }
  .boilerplate-aside p { grid-column: 2; margin: 3px 0 0; font-size: 17px; }
  .boilerplate-aside-date { display: none; }
  .boilerplate-copy-card { padding: 24px 20px; }
  .boilerplate-copy-content { padding-top: 23px; font-size: 14px; }
  .boilerplate-copy-content h2 { font-size: 31px; }
  .boilerplate-copy-topline { font-size: 7px; }
  .boilerplate-footer { align-items: flex-start; flex-direction: column; gap: 9px; padding-bottom: 43px; }
}

@media (max-width: 1000px) {
  .page-home-hero.hero { grid-template-columns: .9fr 1.1fr; gap: 10px; }
  .page-home-hero .hero-copy { padding-left: 0; }
  .page-hero-visual { min-height: 420px; }
  .page-art-note-top { right: 0; }
  .page-source-intro .intro-grid { gap: 40px; }
}
@media (max-width: 720px) {
  .page-home-hero.hero { grid-template-columns: 1fr; gap: 5px; min-height: 0; padding-top: 39px; padding-bottom: 43px; }
  .page-home-hero h1 { max-width: 560px; font-size: 1.875rem; }
  .page-home-hero .hero-description { font-size: 15px; }
  .page-home-hero .hero-proof { margin-top: 27px; }
  .page-hero-visual { min-height: 365px; margin: 0 -8px; }
  .page-art-shell { width: calc(100% - 28px); }
  .page-art-note { min-width: 172px; padding: 8px 10px; }
  .page-art-note-top { top: 18px; right: 0; }
  .page-art-note-bottom { bottom: 13px; left: 0; }
  .page-proof-strip { padding-block: 19px; }
  .page-proof-strip .wordmarks { justify-content: flex-start; }
  .page-proof-wordmark { font-size: 11px; }
  .page-source-intro { padding-top: 73px; padding-bottom: 65px; }
  .page-source-intro .intro-grid { grid-template-columns: 1fr; gap: 21px; margin-top: 19px; }
  .page-source-intro .intro-grid h1,.page-source-intro .intro-grid h2 { font-size: 42px; }
  .page-source-statement { grid-template-columns: 1fr; margin-bottom: 70px; }
  .page-source-statement .statement-art { min-height: 300px; }
  .page-source-statement .statement-art::before { width: 280px; height: 280px; }
  .page-source-statement .statement-art::after { width: 205px; height: 205px; }
  .page-source-statement .statement-copy { padding: 38px 25px 42px; }
  .page-editorial-section { padding-block: 55px; }
  .page-editorial-card { grid-template-columns: 1fr; gap: 20px; padding: 23px; }
}

/* Redaction Scout uses the configurable-controls panel from Narrative Pathway. */
.page-redaction main > .page-source-intro,
.page-redaction main > .page-source-statement { display: none; }
body.page-redaction main#top { row-gap: 64px; }
body.page-redaction main#top > .page-redaction-process,
body.page-redaction main#top > .page-redaction-faq { padding-block: 0; }
body.page-redaction .page-redaction-overview { margin: 24px auto 48px; }
.page-redaction-overview .page-tlf-overview-copy h2 { max-width: 470px; }
.page-redaction-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-redaction-list { display: grid; gap: 10px; margin: 16px 0 22px; padding: 0; list-style: none; }
.page-redaction-list li { position: relative; padding-left: 21px; color: #626071; font-size: 14px; line-height: 1.6; }
.page-redaction-list li::before { position: absolute; top: 0; left: 0; color: #8775d4; content: "✓"; font-weight: 700; }
.page-redaction-faq .page-faq-heading h2 { max-width: 440px; }
.page-redaction-faq .page-faq-answer p { margin: 0; }
@media (max-width: 720px) {
  body.page-redaction main#top { row-gap: 44px; }
  body.page-redaction .page-redaction-overview { margin: 16px auto 32px; }
}

/* CSR automation follows the same workflow-led layout as other product pages. */
.page-csr-automation main > .page-source-intro,
.page-csr-automation main > .page-source-statement,
.page-csr-automation main > .page-editorial-section { display: none; }
body.page-csr-automation main#top { row-gap: 64px; }
body.page-csr-automation main#top > .page-csr-process,
body.page-csr-automation main#top > .page-csr-faq { padding-block: 0; }
body.page-csr-automation .page-csr-overview { margin: 24px auto 48px; }
body.page-csr-automation .page-csr-process .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-csr-overview .page-tlf-overview-copy h2 { max-width: 470px; }
.page-csr-overview { align-items: stretch; }
.page-csr-overview .page-tlf-overview-art { display: flex; align-self: stretch; align-items: center; justify-content: center; transform: none; background: #f0edff; }
.page-csr-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-csr-faq .page-faq-heading h2 { max-width: 460px; }
.page-csr-faq .page-faq-answer p { margin: 0; }
@media (max-width: 900px) {
  body.page-csr-automation main#top > .page-csr-process .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-csr-automation main#top { row-gap: 44px; }
  body.page-csr-automation .page-csr-overview { margin: 16px auto 32px; }
  body.page-csr-automation main#top > .page-csr-process .page-biostat-process-grid { grid-template-columns: 1fr; }
}

/* Tailored content blocks for AI-powered TLF generation. */
.page-tlf-intro.narrativa-demos { margin-top: 36px; padding-bottom: 80px; }
.page-tlf-intro .stories-heading { align-items: end; margin-bottom: 0; }
.page-tlf-intro .stories-heading h2 { max-width: 620px; font-size: clamp(43px, 5.2vw, 62px); line-height: 1.06; }
.page-tlf-intro .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-tlf-intro .stories-heading > p { max-width: 500px; font-size: 16px; line-height: 1.75; }
.page-tlf-overview { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 44px; margin-top: 6px; margin-bottom: 102px; padding: 52px; overflow: hidden; border-radius: 9px; background: #f0edff; }
.page-tlf-overview-copy h2 { max-width: 480px; margin: 16px 0 19px; color: #25213e; font: 500 clamp(36px, 4.1vw, 51px)/1.04 var(--display); letter-spacing: -.045em; }
.page-tlf-overview .page-source-copy > p { font-size: 14px; }
.page-tlf-overview-art { min-width: 0; overflow: hidden; border: 1px solid #e5e0f5; border-radius: 10px; background: #fff; box-shadow: 0 15px 45px #302c4812; transform: rotate(-.6deg); }
.page-tlf-illustration { display: block; width: 100%; height: auto; }
.page-tlf-capabilities { padding-top: 72px; padding-bottom: 0; }
.page-tlf-capabilities .stories-heading { margin-bottom: 26px; }
.page-tlf-capabilities .stories-heading h2 { font-size: clamp(42px, 5vw, 60px); }
.page-tlf-capabilities .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-tlf-capabilities .stories-heading > p { flex: 0 1 540px; max-width: 540px; font-size: 16px; line-height: 1.75; }
.page-tlf-capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.page-tlf-capability { min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; transition: transform .2s, border-color .2s, box-shadow .2s; }
.page-tlf-capability:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 12px 26px #302c4810; }
.page-tlf-capability-visual { overflow: hidden; background: #f4f1ff; }
.page-tlf-capability-art { display: block; width: 100%; height: auto; }
.page-tlf-capability-copy { padding: 17px 20px 21px; }
.page-tlf-capability small { display: block; margin-bottom: 8px; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.page-tlf-capability p { margin: 0; color: #626071; font-size: 13px; line-height: 1.65; }
.page-faq { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 72px; padding-top: 105px; padding-bottom: 125px; }
.page-faq-heading { position: sticky; top: 112px; }
.page-faq-heading h2 { max-width: 440px; margin: 21px 0 13px; color: #25213e; font: 500 clamp(39px, 4.4vw, 56px)/1.02 var(--display); letter-spacing: -.045em; }
.page-faq-heading > p,.page-faq-context > p { max-width: 430px; color: #777286; font-size: 14px; line-height: 1.7; }
.page-faq-list { border-top: 1px solid #e5e2ef; }
.page-faq-item { border-bottom: 1px solid #e5e2ef; }
.page-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 22px 3px; color: #302c48; cursor: pointer; list-style: none; }
.page-faq-item summary::-webkit-details-marker { display: none; }
.page-faq-question { max-width: 620px; font: 500 22px/1.25 var(--display); letter-spacing: -.2px; }
.page-faq-toggle { position: relative; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #ddd7f0; border-radius: 50%; background: #f7f5ff; }
.page-faq-toggle::before,.page-faq-toggle::after { position: absolute; top: 50%; left: 50%; width: 11px; height: 1.5px; border-radius: 2px; background: #7561c1; content: ""; transform: translate(-50%,-50%); transition: transform .2s; }
.page-faq-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.page-faq-item[open] .page-faq-toggle::after { transform: translate(-50%,-50%) rotate(0); }
.page-faq-answer { padding: 0 42px 25px 3px; }
.page-faq-answer > p { font-size: 14px; line-height: 1.75; }
.page-faq-answer h3 { margin-top: 22px; font-size: 18px; }
.page-faq-benefits-answer > p { margin: 0 0 20px; }
.page-faq-benefits-list { display: grid; gap: 10px; margin: 0; padding-left: 19px; color: #626071; font-size: 14px; line-height: 1.65; }
.page-faq-benefits-list strong { color: #302c48; }
.page-biostat-use-cases { padding-top: 72px; padding-bottom: 100px; }
.page-biostat-use-cases .stories-heading { align-items: end; margin-bottom: 28px; }
.page-biostat-use-cases .stories-heading h2 { font-size: clamp(42px, 5vw, 60px); }
.page-biostat-use-cases .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-biostat-use-cases .stories-heading > p { flex: 0 1 520px; max-width: 520px; font-size: 16px; line-height: 1.75; }
.page-biostat-use-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.use-case-module-heading { grid-column: 1 / -1; margin: 24px 0 0; padding: 0 0 10px; border-bottom: 1px solid #e7e5ee; color: #51468f; font: 600 16px/1.3 var(--display); letter-spacing: .04em; }
.use-case-module-heading:first-child { margin-top: 0; }
.page-biostat-use-case { display: flex; min-height: 310px; flex-direction: column; align-items: flex-start; padding: 18px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; transition: border-color .2s, box-shadow .2s, transform .2s; }
.page-biostat-use-case:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 12px 26px #302c4810; }
.page-biostat-use-case > .section-kicker { margin-bottom: 15px; color: #8775d4; font-size: 8px; letter-spacing: 1px; }
.page-biostat-use-case-art { width: 100%; height: 130px; margin: 0 0 18px; overflow: hidden; border-radius: 5px; background: #f4f1ff; }
.page-biostat-use-case-art svg { display: block; width: 100%; height: 100%; }
.page-biostat-use-case h3 { margin: 0 0 9px; color: #302c48; font: 600 23px/1.2 var(--display); }
.page-biostat-use-case p { max-width: 520px; margin: 0 0 20px; color: #626071; font-size: 14px; line-height: 1.7; }
.page-biostat-process { padding-top: 72px; padding-bottom: 100px; }
.page-biostat-process .stories-heading { align-items: end; margin-bottom: 28px; }
.page-biostat-process .stories-heading h2 { font-size: clamp(42px, 5vw, 60px); }
.page-biostat-process .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-biostat-process .stories-heading > p { flex: 0 1 540px; max-width: 540px; font-size: 16px; line-height: 1.75; }
.page-biostat-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
body.page-redaction main#top > section.page-redaction-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-biostat-process-card { min-width: 0; min-height: 275px; padding: 14px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-biostat-process-art { height: 112px; margin: 0 0 18px; overflow: hidden; border-radius: 5px; background: #f4f1ff; }
.page-biostat-process-art svg { display: block; width: 100%; height: 100%; }
.page-biostat-process-card h3 { margin: 0 0 9px; color: #302c48; font: 600 20px/1.2 var(--display); }
.page-biostat-process-card p { margin: 0; color: #626071; font-size: 13px; line-height: 1.65; }
body.page-biostat-developer main#top { row-gap: 64px; }
body.page-biostat-developer main#top > .page-biostat-use-cases,
body.page-biostat-developer main#top > .page-biostat-process,
body.page-biostat-developer main#top > .page-biostat-faq { padding-block: 0; }
body.page-biostat-developer main#top > .page-biostat-faq { padding-bottom: 64px; }
body.page-medical-authoring-companion main#top { row-gap: 64px; }
body.page-medical-authoring-companion main#top > .page-medical-authoring-use-cases,
body.page-medical-authoring-companion main#top > .page-medical-authoring-process,
body.page-medical-authoring-companion main#top > .page-medical-authoring-faq { padding-block: 0; }
body.page-medical-authoring-companion main#top > .page-medical-authoring-faq { padding-bottom: 64px; }
@media (min-width: 901px) {
  .page-medical-authoring-use-cases .page-biostat-use-case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .page-tlf-overview { grid-template-columns: 1fr; padding: 38px; }
  .page-biostat-use-case-grid { grid-template-columns: 1fr; }
  .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-redaction main#top > section.page-redaction-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-biostat-developer main#top { row-gap: 44px; }
  body.page-biostat-developer main#top > .page-biostat-faq { padding-bottom: 44px; }
  body.page-medical-authoring-companion main#top { row-gap: 44px; }
  body.page-medical-authoring-companion main#top > .page-medical-authoring-faq { padding-bottom: 44px; }
  .page-tlf-intro .stories-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .page-tlf-overview { gap: 26px; margin-bottom: 70px; padding: 25px; }
  .page-tlf-capability-grid { grid-template-columns: 1fr; }
  .page-tlf-capability { min-height: 0; }
  .page-faq { grid-template-columns: 1fr; gap: 25px; padding-top: 72px; padding-bottom: 85px; }
  .page-faq-heading { position: static; }
  .page-faq-heading h2 { font-size: 42px; }
  .page-faq-item summary { padding: 18px 0; }
  .page-faq-question { font-size: 19px; }
  .page-faq-answer { padding-right: 10px; }
  .page-biostat-use-cases { padding-top: 55px; padding-bottom: 70px; }
  .page-biostat-use-cases .stories-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .page-biostat-use-case { min-height: 0; }
  .page-biostat-use-case-art { height: 145px; }
  .page-biostat-process { padding-top: 55px; padding-bottom: 70px; }
  .page-biostat-process .stories-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-redaction main#top > section.page-redaction-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  .page-biostat-process-card { min-height: 0; }
  .page-biostat-process-art { height: 145px; }
  .page-biostat-faq { padding-top: 72px; padding-bottom: 85px; }
}

/* Generated pages follow the homepage's heading typography and H1 scale. */
body.narrativa-page.narrativa-site-page :is(h1,h2,h3,h4,h5,h6) { font-family: var(--display); }
body.narrativa-page.narrativa-site-page h1 { color: var(--narrativa-blue); font-size: 1.875rem; font-weight: 400; line-height: 1.1; letter-spacing: -.025em; }
body.narrativa-page.narrativa-site-page .page-home-hero h1 { font-family: var(--display); font-size: 1.875rem; font-weight: 400; line-height: 1.1; letter-spacing: -.025em; }
body.narrativa-page.narrativa-site-page h2 { font-weight: 500; line-height: 1.06; letter-spacing: -.045em; }
body.narrativa-page.narrativa-site-page h3 { font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
body.narrativa-page.narrativa-site-page h4,
body.narrativa-page.narrativa-site-page h5,
body.narrativa-page.narrativa-site-page h6 { font-weight: 600; line-height: 1.25; letter-spacing: -.015em; }
@media (min-width: 768px) { body.narrativa-page.narrativa-site-page h1 { font-size: 2.375rem; } }
@media (min-width: 1024px) { body.narrativa-page.narrativa-site-page h1 { font-size: 3rem; } }
@media (min-width: 768px) { body.narrativa-page.narrativa-site-page .page-home-hero h1 { font-size: 2.375rem; } }
@media (min-width: 1024px) { body.narrativa-page.narrativa-site-page .page-home-hero h1 { font-size: 3rem; } }

/* Shared structured content layout for all static success-story pages. */
.narrativa-success-story .page-source-intro .page-source-copy { display: grid; max-width: none; gap: 16px; }
.narrativa-success-story .page-story-section { min-width: 0; padding: clamp(20px, 3vw, 30px); border: 1px solid #e8e5f1; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #302c4808; }
.narrativa-success-story .page-story-section-intro { border-color: #dedcf1; background: linear-gradient(125deg, #f6f4ff, #fff 78%); }
.narrativa-success-story .page-story-section-title { margin: 0 0 16px; padding-bottom: 13px; border-bottom: 1px solid #e8e5f1; color: #302c48; font: 600 22px/1.2 var(--display); letter-spacing: -.035em; }
.narrativa-success-story .page-story-section p { margin: 0 0 14px; color: #565b58; font-size: 16px; line-height: 1.7; }
.narrativa-success-story .page-story-section > :last-child { margin-bottom: 0; }
.narrativa-success-story .page-story-section-metrics { border-color: #dcd6f3; background: linear-gradient(120deg, #f0edff, #faf9ff); }
.narrativa-success-story .page-story-section-metrics p { color: #302c48; font-size: 18px; font-weight: 600; }
.narrativa-success-story .page-story-section-testimonial { border-left: 4px solid #8775d4; background: #f7f5ff; }
.narrativa-success-story .page-story-quote { margin: 0 0 15px; color: #302c48; font: 500 clamp(20px, 2.3vw, 27px)/1.45 var(--display); }
.narrativa-success-story .page-story-attribution { margin: 0 0 3px !important; color: #302c48 !important; font-weight: 700; }
.narrativa-success-story .page-story-attribution-detail { color: #777286 !important; font-size: 13px !important; }
.narrativa-success-story .page-story-list { display: grid; gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; }
.narrativa-success-story .page-story-list li { position: relative; padding: 12px 14px 12px 36px; border: 1px solid #e8e5f1; border-radius: 5px; background: #fff; color: #565b58; font-size: 15px; line-height: 1.55; }
.narrativa-success-story .page-story-list li::before { position: absolute; top: 13px; left: 14px; color: #8775d4; content: "✓"; font-weight: 700; }
@media (max-width: 720px) {
  .narrativa-success-story .page-source-intro .intro-grid { grid-template-columns: 1fr; gap: 22px; }
  .narrativa-success-story .page-story-section { padding: 19px; }
  .narrativa-success-story .page-story-section-title { font-size: 20px; }
  .narrativa-success-story .page-story-section p { font-size: 15px; }
}

/* Top pharmaceutical customer story: editorial homepage styling with a clear results-led narrative. */
.narrativa-pharma-story .page-breadcrumbs { padding-top: 19px; }
.narrativa-pharma-story .pharma-story-hero.hero { grid-template-columns: .88fr 1.12fr; min-height: 610px; padding-top: 22px; padding-bottom: 45px; }
.narrativa-pharma-story .pharma-story-hero .hero-copy { padding-left: 10px; }
.narrativa-pharma-story .pharma-story-customer { margin: 0 0 10px; color: #8775d4; font: 600 13px/1.4 var(--display); letter-spacing: .01em; }
.narrativa-pharma-story .pharma-story-hero h1 { max-width: 600px; margin-bottom: 19px; color: #25213e; font-size: clamp(42px, 5vw, 64px); line-height: 1.03; letter-spacing: -.045em; }
.narrativa-pharma-story .pharma-story-hero h1 span { color: #8775d4; }
.narrativa-pharma-story .pharma-story-hero .hero-description { max-width: 500px; margin-bottom: 25px; font-size: 16px; line-height: 1.75; }
.narrativa-pharma-story .pharma-story-hero .hero-actions { align-items: center; gap: 22px; }
.narrativa-pharma-story .pharma-story-text-link { color: #56516c; font-size: 11px; font-weight: 700; }
.narrativa-pharma-story .pharma-story-text-link span { margin-left: 5px; color: #8775d4; }
.narrativa-pharma-story .pharma-story-visual { min-height: 470px; }
.narrativa-pharma-story .pharma-story-visual .page-art-shell { width: min(100%, 570px); }
.narrativa-pharma-story .pharma-story-hero-logo { position: absolute; z-index: 2; top: 15px; right: 15px; display: block; max-width: 118px; max-height: 42px; padding: 6px 9px; border-radius: 5px; background: rgba(255, 255, 255, .95); object-fit: contain; box-shadow: 0 3px 12px rgba(25, 36, 33, .12); }
.narrativa-pharma-story .pharma-story-visual .page-art-note { min-width: 220px; }
.narrativa-pharma-story .pharma-story-visual .page-art-note > span:first-child { display: grid; flex: 0 0 29px; place-items: center; width: 29px; height: 29px; border-radius: 8px; background: #f0edff; color: #7561c1; font-size: 14px; }
.narrativa-pharma-story .pharma-story-visual .page-art-note-top { top: 36px; right: -4px; }
.narrativa-pharma-story .pharma-story-visual .page-art-note-bottom { bottom: 28px; left: -2px; }
.narrativa-pharma-story .pharma-story-metrics-heading { display: grid; grid-template-columns: .92fr 1.08fr; align-items: end; gap: 30px 76px; margin-bottom: 19px; }
.narrativa-pharma-story .pharma-story-metrics-heading .section-kicker { color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.narrativa-pharma-story .pharma-story-metrics-heading h2 { margin: 15px 0 0; color: #25213e; font: 500 clamp(30px, 3.6vw, 43px)/1.08 var(--display); letter-spacing: -.04em; }
.narrativa-pharma-story .pharma-story-metrics-heading h2 em { color: #8775d4; font-style: normal; }
.narrativa-pharma-story .pharma-story-metrics-heading > p { max-width: 900px; margin: 0; color: #626071; font-size: 15px; line-height: 1.7; }
.narrativa-pharma-story .pharma-story-results { padding-top: 34px; padding-bottom: 44px; border-bottom: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-results-qualitative .pharma-story-metrics-grid article { flex-direction: column; align-items: flex-start; gap: 6px; }
.narrativa-pharma-story .pharma-story-results-qualitative .pharma-story-metrics-grid strong { font-size: clamp(25px, 3vw, 36px); }
.narrativa-pharma-story .pharma-story-results-note { margin: -6px 0 0; color: #777286; font-size: 12px; line-height: 1.6; }
.narrativa-pharma-story .pharma-story-quote { max-width: 800px; margin: 28px 0 0 85px; padding-left: 22px; border-left: 2px solid #8775d4; color: #302c48; font: 500 20px/1.5 var(--display); }
.narrativa-pharma-story .pharma-story-quote cite { display: block; margin-top: 10px; color: #777286; font: 600 11px/1.5 Inter, sans-serif; font-style: normal; }
.narrativa-pharma-story .pharma-story-byline { margin: -12px 0 19px; color: #777286; font-size: 11px; }
.narrativa-pharma-story .pharma-story-byline a { color: #7561c1; }
.narrativa-pharma-story .pharma-story-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.narrativa-pharma-story .pharma-story-metrics-grid article { display: flex; align-items: baseline; gap: 11px; min-width: 0; padding: 14px 19px 12px; border-left: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-metrics-grid article:first-child { padding-left: 0; border-left: 0; }
.narrativa-pharma-story .pharma-story-metrics-grid strong { color: #302c48; font: 500 clamp(32px, 4vw, 48px)/1 var(--display); letter-spacing: -.055em; }
.narrativa-pharma-story .pharma-story-metrics-grid span { color: #777286; font-size: 10px; line-height: 1.45; }
.narrativa-pharma-story .pharma-story-overview { display: grid; grid-template-columns: .92fr 1.08fr; gap: 76px; padding-top: 112px; padding-bottom: 104px; }
.narrativa-pharma-story .pharma-story-overview-heading .section-kicker,
.narrativa-pharma-story .pharma-story-workflow-heading .section-kicker,
.narrativa-pharma-story .pharma-story-outcome .section-kicker,
.narrativa-pharma-story .pharma-story-cta .section-kicker { color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.narrativa-pharma-story .pharma-story-overview-heading h2,
.narrativa-pharma-story .pharma-story-workflow-heading h2,
.narrativa-pharma-story .pharma-story-cta h2 { margin: 20px 0 0; color: #25213e; font: 500 clamp(40px, 5vw, 59px)/1.04 var(--display); letter-spacing: -.045em; }
.narrativa-pharma-story .pharma-story-overview-heading h2 em,
.narrativa-pharma-story .pharma-story-workflow-heading h2 em,
.narrativa-pharma-story .pharma-story-outcome h2 em,
.narrativa-pharma-story .pharma-story-cta h2 em { color: #8775d4; font-style: normal; }
.narrativa-pharma-story .pharma-story-problem-image { margin-top: 29px; overflow: hidden; border: 1px solid #e5e2ef; border-radius: 12px; background: #f7f6f3; box-shadow: 0 12px 30px rgba(48, 44, 72, .08); }
.narrativa-pharma-story .pharma-story-problem-image img { display: block; width: 100%; height: auto; }
.narrativa-pharma-story .pharma-story-overview-copy { max-width: 610px; padding-top: 31px; }
.narrativa-pharma-story .pharma-story-overview-copy p { margin: 0 0 17px; color: #626071; font-size: 15px; line-height: 1.8; }
.narrativa-pharma-story .pharma-story-overview-copy p:last-child { margin-bottom: 0; }
.narrativa-pharma-story .pharma-story-workflow { padding-top: 78px; padding-bottom: 91px; border-top: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-workflow-heading { display: grid; grid-template-columns: 1fr .8fr; column-gap: 80px; align-items: end; margin-bottom: 34px; }
.narrativa-pharma-story .pharma-story-workflow-heading .section-kicker { grid-column: 1 / -1; }
.narrativa-pharma-story .pharma-story-workflow-heading h2 { max-width: 620px; }
.narrativa-pharma-story .pharma-story-workflow-heading > p { margin: 0 0 5px; color: #777286; font-size: 13px; line-height: 1.75; }
.narrativa-pharma-story .pharma-story-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.narrativa-pharma-story .pharma-story-step { position: relative; min-height: 240px; padding: 21px 23px 24px; border: 1px solid #e8e5ef; border-radius: 7px; background: linear-gradient(145deg, #fcfbff, #fff 72%); }
.narrativa-pharma-story .pharma-story-step-number { position: absolute; top: 22px; right: 22px; color: #aaa5bb; font-size: 9px; font-weight: 700; letter-spacing: .8px; }
.narrativa-pharma-story .pharma-story-step-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 28px; border: 1px solid #e5e0f5; border-radius: 12px; background: #f4f1ff; color: #7561c1; font-size: 22px; }
.narrativa-pharma-story .pharma-story-step h3 { margin: 0 0 9px; color: #302c48; font: 600 21px/1.2 var(--display); letter-spacing: -.025em; }
.narrativa-pharma-story .pharma-story-step p { max-width: 310px; margin: 0; color: #777286; font-size: 12px; line-height: 1.7; }
.narrativa-pharma-story .pharma-story-outcome { padding-bottom: 91px; }
.narrativa-pharma-story .pharma-story-outcome-card { display: grid; grid-template-columns: 58px 1fr .8fr; align-items: center; gap: 27px; padding: 43px 48px; border: 1px solid #e4e0f3; border-radius: 9px; background: linear-gradient(115deg, #f2efff, #faf9ff 70%, #fff); }
.narrativa-pharma-story .pharma-story-outcome-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #302c48; color: #fff; font-size: 23px; }
.narrativa-pharma-story .pharma-story-outcome h2 { margin: 15px 0 0; color: #25213e; font: 500 clamp(30px, 3.6vw, 43px)/1.08 var(--display); letter-spacing: -.04em; }
.narrativa-pharma-story .pharma-story-outcome-card > p { margin: 0; color: #626071; font-size: 13px; line-height: 1.75; }
.narrativa-pharma-story .pharma-story-detail-heading { max-width: 680px; margin-bottom: 30px; }
.narrativa-pharma-story .pharma-story-detail-heading .section-kicker { color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.narrativa-pharma-story .pharma-story-detail-heading h2 { margin: 15px 0 0; color: #25213e; font: 500 clamp(34px, 4vw, 48px)/1.08 var(--display); letter-spacing: -.04em; }
.narrativa-pharma-story .pharma-story-detail-heading h2 em { color: #8775d4; font-style: normal; }
.narrativa-pharma-story .pharma-story-kpis { padding-top: 78px; padding-bottom: 84px; border-top: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-kpis .pharma-story-metrics-grid { margin-bottom: 36px; padding-bottom: 22px; border-bottom: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-kpis-detail { padding-top: 28px; }
.narrativa-pharma-story .pharma-story-kpis-detail > h3 { margin: 0 0 18px; color: #302c48; font: 600 22px/1.2 var(--display); }
.narrativa-pharma-story .pharma-story-kpis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.narrativa-pharma-story .pharma-story-kpis-grid article,
.narrativa-pharma-story .pharma-story-impact-grid article { padding: 25px 27px; border: 1px solid #e8e5ef; border-radius: 9px; background: linear-gradient(145deg, #fcfbff, #fff 72%); }
.narrativa-pharma-story .pharma-story-kpis-grid h3,
.narrativa-pharma-story .pharma-story-impact-grid h3 { margin: 0 0 10px; color: #302c48; font: 600 21px/1.2 var(--display); }
.narrativa-pharma-story .pharma-story-kpis-grid p,
.narrativa-pharma-story .pharma-story-impact-grid p { margin: 0; color: #777286; font-size: 12px; line-height: 1.75; }
.narrativa-pharma-story .pharma-story-impact { padding-top: 78px; padding-bottom: 84px; border-top: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-impact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.narrativa-pharma-story .pharma-story-impact-grid strong { display: block; margin-bottom: 12px; color: #302c48; font: 500 46px/1 var(--display); letter-spacing: -.055em; }
.narrativa-pharma-story .pharma-story-outcome { padding-top: 6px; }
.narrativa-pharma-story .pharma-story-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-top: 43px; padding-bottom: 86px; border-top: 1px solid #e8e6ef; }
.narrativa-pharma-story .pharma-story-cta h2 { max-width: 650px; margin-top: 14px; font-size: clamp(34px, 4vw, 48px); }
.narrativa-pharma-story .pharma-story-cta p { margin: 12px 0 0; color: #777286; font-size: 13px; }
.narrativa-pharma-story .pharma-story-cta .button { flex: 0 0 auto; }
.narrativa-pharma-story .pharma-story-hero .hero-description { margin-bottom: 19px; }
.narrativa-pharma-story .pharma-story-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 540px; margin: 0 0 23px; }
.narrativa-pharma-story .pharma-story-facts > span { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 13px 14px; border: 1px solid #d9d3eb; border-radius: 9px; background: #fff; box-shadow: 0 5px 16px rgba(48, 44, 72, .07); color: #302c48; font-size: 12px; font-weight: 600; line-height: 1.4; }
.narrativa-pharma-story .pharma-story-facts strong { color: #6e59bb; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.narrativa-pharma-story .pharma-story-metrics-grid article { padding-top: 17px; padding-bottom: 16px; }
.narrativa-pharma-story .pharma-story-step { border-radius: 10px; box-shadow: 0 8px 24px rgba(48, 44, 72, .035); }
.narrativa-pharma-story .pharma-story-step-number { color: #8775d4; }
.narrativa-pharma-story .pharma-story-outcome-card { box-shadow: 0 14px 36px rgba(48, 44, 72, .045); }

@media (max-width: 1000px) {
  .narrativa-pharma-story .pharma-story-hero.hero { gap: 8px; }
  .narrativa-pharma-story .pharma-story-overview { gap: 42px; }
  .narrativa-pharma-story .pharma-story-workflow-heading { column-gap: 40px; }
  .narrativa-pharma-story .pharma-story-outcome-card { grid-template-columns: 50px 1fr; }
  .narrativa-pharma-story .pharma-story-outcome-card > p { grid-column: 2; }
}
@media (max-width: 720px) {
  .narrativa-pharma-story .page-breadcrumbs { padding-top: 13px; }
  .narrativa-pharma-story .pharma-story-hero.hero { grid-template-columns: 1fr; gap: 0; min-height: 0; padding-top: 35px; padding-bottom: 27px; }
  .narrativa-pharma-story .pharma-story-hero .hero-copy { padding-left: 0; }
  .narrativa-pharma-story .pharma-story-hero h1 { max-width: 540px; font-size: clamp(42px, 11vw, 58px); }
  .narrativa-pharma-story .pharma-story-hero .hero-description { font-size: 14px; }
  .narrativa-pharma-story .pharma-story-facts { grid-template-columns: 1fr; gap: 6px; max-width: 410px; margin-bottom: 20px; }
  .narrativa-pharma-story .pharma-story-facts > span { flex-direction: row; align-items: baseline; gap: 10px; padding: 8px 10px; }
  .narrativa-pharma-story .pharma-story-facts strong { flex: 0 0 58px; }
  .narrativa-pharma-story .pharma-story-visual { min-height: 340px; margin: 10px -8px 0; }
  .narrativa-pharma-story .pharma-story-visual .page-art-shell { width: calc(100% - 32px); }
  .narrativa-pharma-story .pharma-story-visual .page-art-note { min-width: 184px; padding: 8px 10px; }
  .narrativa-pharma-story .pharma-story-visual .page-art-note-top { top: 17px; right: 0; }
  .narrativa-pharma-story .pharma-story-visual .page-art-note-bottom { bottom: 13px; left: 0; }
  .narrativa-pharma-story .pharma-story-metrics-heading { grid-template-columns: 1fr; gap: 15px; }
  .narrativa-pharma-story .pharma-story-results { padding-top: 25px; padding-bottom: 30px; }
  .narrativa-pharma-story .pharma-story-quote { margin: 22px 0 0; padding-left: 16px; font-size: 17px; }
  .narrativa-pharma-story .pharma-story-byline { margin-top: -8px; }
  .narrativa-pharma-story .pharma-story-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .narrativa-pharma-story .pharma-story-metrics-grid article { padding: 13px 10px; border-top: 1px solid #e8e6ef; }
  .narrativa-pharma-story .pharma-story-metrics-grid article:first-child { padding-left: 10px; border-left: 1px solid #e8e6ef; }
  .narrativa-pharma-story .pharma-story-metrics-grid article:nth-child(odd) { border-left: 0; }
  .narrativa-pharma-story .pharma-story-metrics-grid strong { font-size: 39px; }
  .narrativa-pharma-story .pharma-story-metrics-grid span { font-size: 9px; }
  .narrativa-pharma-story .pharma-story-overview { grid-template-columns: 1fr; gap: 15px; padding-top: 69px; padding-bottom: 66px; }
  .narrativa-pharma-story .pharma-story-overview-heading h2,
  .narrativa-pharma-story .pharma-story-workflow-heading h2 { font-size: 43px; }
  .narrativa-pharma-story .pharma-story-overview-copy { padding-top: 4px; }
  .narrativa-pharma-story .pharma-story-overview-copy p { font-size: 14px; }
  .narrativa-pharma-story .pharma-story-kpis,
  .narrativa-pharma-story .pharma-story-impact { padding-top: 57px; padding-bottom: 65px; }
  .narrativa-pharma-story .pharma-story-kpis-grid,
  .narrativa-pharma-story .pharma-story-impact-grid { grid-template-columns: 1fr; gap: 9px; }
  .narrativa-pharma-story .pharma-story-kpis-grid article,
  .narrativa-pharma-story .pharma-story-impact-grid article { padding: 20px; }
  .narrativa-pharma-story .pharma-story-impact-grid strong { font-size: 39px; }
  .narrativa-pharma-story .pharma-story-workflow { padding-top: 57px; padding-bottom: 65px; }
  .narrativa-pharma-story .pharma-story-workflow-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 23px; }
  .narrativa-pharma-story .pharma-story-workflow-heading .section-kicker { grid-column: auto; }
  .narrativa-pharma-story .pharma-story-steps { grid-template-columns: 1fr; gap: 9px; }
  .narrativa-pharma-story .pharma-story-step { min-height: 0; padding: 18px 19px 20px; }
  .narrativa-pharma-story .pharma-story-step-icon { margin-bottom: 17px; }
  .narrativa-pharma-story .pharma-story-outcome { padding-bottom: 62px; }
  .narrativa-pharma-story .pharma-story-outcome-card { grid-template-columns: 42px 1fr; gap: 16px; padding: 25px 21px; }
  .narrativa-pharma-story .pharma-story-outcome-mark { width: 40px; height: 40px; border-radius: 12px; font-size: 18px; }
  .narrativa-pharma-story .pharma-story-outcome h2 { font-size: 32px; }
  .narrativa-pharma-story .pharma-story-outcome-card > p { grid-column: 1 / -1; font-size: 12px; }
  .narrativa-pharma-story .pharma-story-cta { align-items: flex-start; flex-direction: column; gap: 22px; padding-top: 31px; padding-bottom: 62px; }
  .narrativa-pharma-story .pharma-story-cta h2 { font-size: 38px; }
}

/* AI Confidence page structure and learning-path visuals. */
.page-ai-confidence .page-art-shell > .page-generated-illustration { display: none; }
.page-ai-confidence .page-art-shell > .confidence-hero-art { display: block; width: 100%; height: auto; }
.page-ai-confidence .confidence-program-overview { padding-top: 68px; padding-bottom: 12px; }
.page-ai-confidence .confidence-program-overview .stories-heading { align-items: end; margin-bottom: 0; }
.page-ai-confidence .confidence-program-overview .stories-heading h2 { max-width: 600px; }
.page-ai-confidence .confidence-program-overview .stories-heading > p { max-width: 500px; font-size: 16px; line-height: 1.7; }
.confidence-learning { padding-top: 65px; padding-bottom: 105px; }
.confidence-learning .stories-heading { align-items: end; margin-bottom: 30px; }
.confidence-learning .stories-heading h2 { max-width: 600px; }
.confidence-learning .stories-heading > p { max-width: 500px; font-size: 16px; line-height: 1.7; }
.confidence-learning-grid { display: grid; grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr); align-items: center; gap: 18px; }
.confidence-learning-card { position: relative; min-height: 270px; padding: 28px 30px; border: 1px solid #e4e0f0; border-radius: 9px; background: #fff; box-shadow: 0 12px 38px #302c4809; }
.confidence-learning-card-specialty { background: linear-gradient(135deg,#f7f5ff,#fff 72%); }
.confidence-step-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 23px; border: 1px solid #dfdaf1; border-radius: 13px; background: #f4f1ff; color: #7561c1; }
.confidence-step-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.confidence-card-kicker { display: block; margin-bottom: 8px; color: #7561c1; font-size: 9px; font-weight: 700; letter-spacing: 1px; }
.confidence-learning-card h3 { margin: 0 0 10px; color: #25213e; font: 600 27px/1.12 var(--display); letter-spacing: -.03em; }
.confidence-learning-card p { max-width: 440px; margin: 0 0 20px; color: #626071; font-size: 14px; line-height: 1.7; }
.confidence-learning-card > a { display: inline-flex; padding: 10px 13px; border: 1px solid #d8d1f0; border-radius: 5px; background: #f7f5ff; color: #55479f; font-size: 12px; font-weight: 700; transition: background .2s,border-color .2s; }
.confidence-learning-card > a:hover { border-color: #b8ace7; background: #eeebff; }
.confidence-learning-connector { position: relative; height: 2px; background: linear-gradient(90deg,#c7bdef,#7868c7); }
.confidence-learning-connector::after { position: absolute; top: 50%; right: 0; width: 9px; height: 9px; border-top: 2px solid #7868c7; border-right: 2px solid #7868c7; content: ""; transform: translateY(-50%) rotate(45deg); }
.confidence-questionnaire { display: flex; justify-content: center; align-items: center; gap: 17px; margin-top: 25px; }
.confidence-questionnaire p { margin: 0; color: #686477; font-size: 13px; }
.confidence-questionnaire a { color: #7561c1; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.confidence-objectives { padding-top: 82px; padding-bottom: 92px; }
.confidence-objectives .stories-heading { margin-bottom: 28px; }
.confidence-objectives .stories-heading h2 { max-width: 530px; }
.confidence-objectives .stories-heading > p { max-width: 480px; font-size: 15px; line-height: 1.7; }
.confidence-objective-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.confidence-objective { min-height: 220px; padding: 22px 20px; border: 1px solid #e8e5f1; border-radius: 7px; background: #fff; }
.confidence-objective-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 11px; background: #f0edff; color: #7561c1; }
.confidence-objective-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.confidence-objective h3 { margin: 0 0 8px; color: #302c48; font: 600 18px/1.2 var(--display); letter-spacing: -.02em; }
.confidence-objective p { margin: 0; color: #686477; font-size: 13px; line-height: 1.6; }
.confidence-audiences { padding-top: 75px; padding-bottom: 110px; }
.confidence-audience-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.confidence-audience-heading h2 { max-width: 560px; margin: 18px 0 13px; color: #25213e; font: 500 clamp(38px,4.5vw,58px)/1.04 var(--display); letter-spacing: -.045em; }
.confidence-audience-heading h2 em { color: #8775d4; font-style: normal; }
.confidence-audience-heading > p { max-width: 400px; color: #686477; font-size: 15px; line-height: 1.7; }
.confidence-audience-list { border-top: 1px solid #e5e2ef; }
.confidence-audience-list article { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(0,1.3fr); align-items: center; gap: 24px; padding: 19px 3px; border-bottom: 1px solid #e5e2ef; }
.confidence-audience-list h3 { margin: 0; color: #302c48; font: 600 19px/1.2 var(--display); letter-spacing: -.02em; }
.confidence-audience-list p { margin: 0; color: #626071; font-size: 14px; line-height: 1.65; }
@media (max-width: 1000px) {
  .confidence-learning-grid { grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); gap: 12px; }
  .confidence-learning-card { padding: 24px; }
  .confidence-objective-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .confidence-audience-layout { grid-template-columns: .8fr 1.2fr; gap: 32px; }
  .confidence-audience-list article { grid-template-columns: 1fr; gap: 7px; }
}
@media (max-width: 720px) {
  .page-ai-confidence .confidence-program-overview { padding-top: 55px; padding-bottom: 0; }
  .page-ai-confidence .confidence-program-overview .stories-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .confidence-learning { padding-top: 54px; padding-bottom: 72px; }
  .confidence-learning .stories-heading,.confidence-objectives .stories-heading,.confidence-audiences .stories-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .confidence-learning-grid { grid-template-columns: 1fr; gap: 12px; }
  .confidence-learning-card { min-height: 0; padding: 23px; }
  .confidence-step-icon { margin-bottom: 17px; }
  .confidence-learning-card h3 { font-size: 23px; }
  .confidence-learning-connector { justify-self: center; width: 2px; height: 34px; background: linear-gradient(180deg,#c7bdef,#7868c7); }
  .confidence-learning-connector::after { top: auto; right: 50%; bottom: 0; transform: translate(50%,0) rotate(135deg); }
  .confidence-questionnaire { align-items: flex-start; flex-direction: column; gap: 8px; }
  .confidence-objectives,.confidence-audiences { padding-top: 58px; padding-bottom: 72px; }
  .confidence-objective-grid { grid-template-columns: 1fr; gap: 10px; }
  .confidence-objective { min-height: 0; padding: 19px; }
  .confidence-objective-icon { margin-bottom: 14px; }
  .confidence-audience-layout { grid-template-columns: 1fr; gap: 19px; }
  .confidence-audience-list article { grid-template-columns: 1fr; gap: 6px; padding: 16px 2px; }
}

/* About page people directory */
.narrativa-about-page .page-home-hero { display: none; }
.narrativa-about-page .page-source-intro { padding-top: 68px; padding-bottom: 76px; }
.narrativa-about-page .page-source-intro .intro-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
.narrativa-about-page .page-source-intro .intro-grid > h1 { max-width: none; }
.narrativa-about-page .page-source-intro .page-source-copy { width: 100%; max-width: none; }
.narrativa-about-page .page-source-intro .page-source-copy > p { width: 100%; max-width: none; font-size: 16px; line-height: 1.8; }
.about-people-directory { padding-bottom: 100px; }
.about-people-group { padding: 30px 0 72px; border-top: 1px solid #e8e6ef; scroll-margin-top: 90px; }
.about-people-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 28px; }
.about-people-heading .section-kicker { margin-bottom: 12px; }
.about-people-heading h2 { margin: 0; color: #25213e; font: 400 clamp(36px, 4vw, 52px)/1.05 var(--display); letter-spacing: -.04em; }
.about-people-heading > p { max-width: 410px; margin: 0 0 3px; color: #696775; font-size: 14px; line-height: 1.7; }
.about-people-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.about-person { min-width: 0; margin: 0; }
.about-person-link { display: flex; flex-direction: column; min-height: 230px; height: 100%; padding: 18px; border: 1px solid #e8e6ef; border-radius: 9px; background: linear-gradient(155deg, #fff 55%, #faf9ff); color: inherit; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.about-person-link:hover { transform: translateY(-4px); border-color: #c9c0f1; box-shadow: 0 15px 34px #302c4812; }
.about-person-link:focus-visible { outline: 3px solid #9283db; outline-offset: 3px; }
.about-person-top { display: flex; align-items: start; justify-content: space-between; margin-bottom: 23px; }
.about-person-avatar { position: relative; display: grid; place-items: center; width: 78px; height: 78px; overflow: hidden; border: 1px solid #e0dcf4; border-radius: 21px; background: linear-gradient(145deg, #f4f1ff, #e6e1fb); color: #51468f; font: 600 17px/1 var(--display); }
.about-person-avatar img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.about-person:nth-child(3n + 2) .about-person-avatar { background: linear-gradient(145deg, #f4f7ff, #e7ecfa); color: #45577d; }
.about-person:nth-child(3n) .about-person-avatar { background: linear-gradient(145deg, #fbf1ff, #efe2f7); color: #775184; }
.about-person-copy { display: flex; flex: 1; flex-direction: column; align-items: start; }
.about-person-copy h3 { margin: 0 0 7px; color: #29263e; font: 600 20px/1.2 var(--display); letter-spacing: -.3px; }
.about-person-copy p { min-height: 39px; margin: 0; color: #757181; font-size: 12px; line-height: 1.55; }
.about-person-arrow { display: none; color: #7561c1; font-size: 16px; line-height: 1; }
.about-advisors { padding-bottom: 10px; }
.about-advisors-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-advisors .about-person-link { min-height: 215px; background: linear-gradient(155deg, #fff 45%, #f6f4ff); }
.about-history { padding: 28px 0 100px; border-top: 1px solid #e8e6ef; }
.about-history-heading { margin-bottom: 24px; }
.about-history-heading .section-kicker { margin-bottom: 12px; }
.about-history-heading h2 { margin: 0; color: #25213e; font: 400 clamp(36px, 4vw, 52px)/1.05 var(--display); letter-spacing: -.04em; }
.about-history-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; margin: 0; padding: 0; list-style: none; }
.about-history-list li { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 14px; align-items: start; padding: 17px 0; border-bottom: 1px solid #e8e6ef; }
.about-history-year { color: #7561c1; font-size: 12px; font-weight: 700; line-height: 1.7; }
.about-history-list p { margin: 0; color: #626071; font-size: 13px; line-height: 1.7; }
.about-history-list a { color: #51468f; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 900px) {
  .about-people-grid,.about-advisors-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .narrativa-about-page .page-source-intro { padding-top: 44px; padding-bottom: 48px; }
  .narrativa-about-page .page-source-intro .intro-grid { gap: 18px; }
  .about-people-directory { padding-bottom: 62px; }
  .about-people-group { padding: 25px 0 48px; }
  .about-people-heading { align-items: flex-start; flex-direction: column; gap: 11px; margin-bottom: 21px; }
  .about-people-heading > p { max-width: 520px; font-size: 13px; }
  .about-people-grid,.about-advisors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .about-person-link { min-height: 205px; padding: 14px; }
  .about-person-avatar { width: 62px; height: 62px; border-radius: 17px; }
  .about-person-copy h3 { font-size: 18px; }
  .about-person-copy p { font-size: 11px; }
  .about-history { padding: 25px 0 62px; }
  .about-history-list { grid-template-columns: 1fr; }
}
@media (max-width: 400px) {
  .about-people-grid,.about-advisors-grid { grid-template-columns: 1fr; }
  .about-person-link { min-height: 190px; }
}

/* Individual team profile */
.david-profile-page .narrativa-home-footer .cta-section,.team-bio-page .narrativa-home-footer .cta-section { display: none; }
.person-profile { display: flex; flex-direction: column; align-items: center; padding-top: 58px; padding-bottom: 105px; }
.person-profile-heading { text-align: center; }
.person-profile-heading h1 { margin: 0; color: #25213e; font: 400 clamp(48px, 7vw, 76px)/1 var(--display); letter-spacing: -.045em; }
.person-profile-heading p { margin: 13px 0 0; color: #7561c1; font-size: 14px; font-weight: 600; letter-spacing: .03em; }
.person-profile-photo { width: min(100%, 225px); aspect-ratio: 4 / 5; margin: 38px 0 0; overflow: hidden; border: 1px solid #e5e1ef; border-radius: 13px; background: linear-gradient(145deg, #f4f1ff, #e9e5f6); box-shadow: 0 22px 60px #302c4816; }
.person-profile-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.person-profile-bio { width: min(100%, 680px); margin-top: 31px; }
.david-profile-page .person-profile-bio p,.team-bio-page .person-profile-bio p { margin: 0; color: #25213e; font-size: 16px; line-height: 1.8; }
.david-profile-page .person-profile-bio p:not(:last-of-type),.team-bio-page .person-profile-bio p:not(:last-of-type) { margin-bottom: 18px; }
.person-profile-link { display: grid; place-items: center; width: 28px; height: 28px; margin: 17px auto 0; color: #0a66c2; transition: opacity .2s ease; }
.person-profile-link:hover { opacity: .75; }
.person-profile-link svg { display: block; width: 24px; height: 24px; }
.person-profile-link:focus-visible { outline: 3px solid #9283db; outline-offset: 4px; }
@media (max-width: 720px) {
  .person-profile { padding-top: 40px; padding-bottom: 68px; }
  .person-profile-heading h1 { font-size: clamp(40px, 11vw, 58px); }
  .person-profile-photo { width: min(78vw, 188px); margin-top: 27px; border-radius: 10px; }
  .person-profile-bio { margin-top: 23px; }
  .person-profile-bio p { font-size: 15px; }
}

/* Narrative Pathway uses the BioStat page's editorial rhythm, tailored to patient safety work. */
body.page-patient-safety main#top { row-gap: 72px; }
body.page-patient-safety main#top > .page-patient-workflow,
body.page-patient-safety main#top > .page-patient-benefits,
body.page-patient-safety main#top > .page-patient-config,
body.page-patient-safety main#top > .page-patient-outcomes { padding-top: 0; padding-bottom: 0; }
.page-patient-workflow .stories-heading,
.page-patient-benefits .stories-heading,
.page-patient-outcomes .stories-heading { align-items: end; margin-bottom: 28px; }
.page-patient-workflow .stories-heading h2,
.page-patient-benefits .stories-heading h2,
.page-patient-outcomes .stories-heading h2 { font-size: clamp(42px, 5vw, 60px); }
.page-patient-workflow .stories-heading h2 em,
.page-patient-benefits .stories-heading h2 em,
.page-patient-outcomes .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-patient-workflow .stories-heading > p,
.page-patient-benefits .stories-heading > p,
.page-patient-outcomes .stories-heading > p { flex: 0 1 540px; max-width: 540px; font-size: 15px; line-height: 1.75; }
.page-patient-workflow-layout { display: grid; grid-template-columns: 1fr 1.05fr; align-items: stretch; gap: 16px; }
.page-patient-workflow-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.page-patient-workflow-step { min-height: 145px; padding: 19px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-patient-workflow-step h3 { margin: 0 0 9px; color: #302c48; font: 600 19px/1.2 var(--display); }
.page-patient-workflow-step p { margin: 0; color: #626071; font-size: 13px; line-height: 1.65; }
.page-patient-workflow-visual { display: flex; min-height: 100%; flex-direction: column; justify-content: center; margin: 0; padding: 10px; border: 1px solid #e7e5ee; border-radius: 8px; background: #fff; box-shadow: 0 12px 36px #302c4808; }
.page-patient-workflow-visual img { display: block; width: 100%; height: auto; border-radius: 4px; }
.page-patient-workflow-visual figcaption { padding: 9px 5px 1px; color: #777286; font-size: 11px; line-height: 1.45; }
.page-patient-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.page-patient-benefit-card { min-height: 170px; padding: 15px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-patient-benefit-art { display: block; width: 100%; height: auto; margin-bottom: 16px; border-radius: 4px; }
.page-patient-benefit-card h3 { margin: 0 6px 9px; color: #302c48; font: 600 21px/1.2 var(--display); }
.page-patient-benefit-card p { margin: 0 6px 6px; color: #626071; font-size: 14px; line-height: 1.7; }
.page-patient-config-layout { display: grid; grid-template-columns: .78fr 1.22fr; align-items: start; gap: 64px; padding: 30px; border-radius: 9px; background: #f0edff; }
.page-patient-config-heading h2 { margin: 17px 0 12px; color: #25213e; font: 500 clamp(34px, 4vw, 48px)/1.06 var(--display); letter-spacing: -.04em; }
.page-patient-config-heading > p { margin: 0; color: #696775; font-size: 14px; line-height: 1.7; }
.page-patient-config-subheading { margin: 0 0 14px; color: #302c48; font: 600 20px/1.2 var(--display); }
.page-patient-config-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.page-patient-config-list li { position: relative; min-height: 76px; padding: 15px 14px 14px 37px; border: 1px solid #e2dcf4; border-radius: 5px; background: #fff; color: #514d61; font-size: 13px; line-height: 1.55; }
.page-patient-config-list li::before { position: absolute; top: 16px; left: 14px; color: #7561c1; content: "✓"; font-size: 12px; font-weight: 700; }
.page-patient-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.page-patient-metric-card { min-height: 210px; padding: 22px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-patient-metric-value { display: block; margin-bottom: 9px; color: #7561c1; font: 500 clamp(38px, 5vw, 54px)/1 var(--display); letter-spacing: -.045em; }
.page-patient-metric-card h3 { margin: 0 0 9px; color: #302c48; font: 600 20px/1.2 var(--display); }
.page-patient-metric-card p { margin: 0; color: #626071; font-size: 13px; line-height: 1.65; }
@media (max-width: 900px) {
  .page-patient-workflow-layout { grid-template-columns: 1fr; }
  .page-patient-workflow-visual img { max-height: 330px; object-fit: contain; }
  .page-patient-config-layout { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 720px) {
  body.page-patient-safety main#top { row-gap: 44px; }
  .page-patient-workflow .stories-heading,
  .page-patient-benefits .stories-heading,
  .page-patient-outcomes .stories-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .page-patient-workflow .stories-heading h2,
  .page-patient-benefits .stories-heading h2,
  .page-patient-outcomes .stories-heading h2 { font-size: 42px; }
  .page-patient-workflow-layout,.page-patient-workflow-steps,.page-patient-benefit-grid,
  .page-patient-config-list,.page-patient-metric-grid { grid-template-columns: 1fr; }
  .page-patient-workflow-step,.page-patient-benefit-card,.page-patient-metric-card { min-height: 0; }
  .page-patient-workflow-visual img { max-height: none; }
  .page-patient-config-layout { padding: 22px; }
}

/* SDTM / ADaM page: keep the TLF page's editorial rhythm while giving the restored copy room to breathe. */
body.page-sdtm-adam main#top { row-gap: 64px; }
body.page-sdtm-adam main#top > .page-dataset-explainer,
body.page-sdtm-adam main#top > .page-dataset-benefits,
body.page-sdtm-adam main#top > .page-dataset-process { padding-block: 0; }
.page-dataset-spotlight { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 55px; padding: 0; overflow: hidden; background: transparent; }
.page-dataset-spotlight .section-kicker { color: #7561c1; }
.page-dataset-spotlight h2 { max-width: 430px; margin: 16px 0 0; color: #25213e; font: 500 clamp(35px, 4vw, 48px)/1.04 var(--display); letter-spacing: -.045em; }
.page-dataset-spotlight h2 em { color: #8775d4; font-style: normal; }
.page-dataset-spotlight-copy { max-width: 680px; }
.page-dataset-spotlight-copy p { margin: 0 0 13px; color: #626071; font-size: 14px; line-height: 1.75; }
.page-dataset-spotlight-copy p:last-child { margin-bottom: 0; }
.page-dataset-spotlight-copy .page-dataset-spotlight-lead { color: #302c48; font: 500 21px/1.4 var(--display); }
.page-dataset-explainer .stories-heading,.page-dataset-benefits .stories-heading,.page-dataset-process .stories-heading { align-items: end; margin-bottom: 27px; }
.page-dataset-explainer .stories-heading h2,.page-dataset-benefits .stories-heading h2,.page-dataset-process .stories-heading h2 { max-width: 620px; font-size: clamp(42px, 5vw, 60px); }
.page-dataset-explainer .stories-heading h2 em,.page-dataset-benefits .stories-heading h2 em,.page-dataset-process .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-dataset-explainer-intro { flex: 0 1 550px; max-width: 550px; }
.page-dataset-explainer-intro p { margin: 0 0 11px; color: #626071; font-size: 14px; line-height: 1.72; }
.page-dataset-explainer-intro p:last-child { margin-bottom: 0; }
.page-workflow-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; max-width: none; margin-bottom: 27px; }
.page-workflow-intro p { margin: 0; }
.page-workflow-intro strong { color: #302c48; }
.page-sdtm-adam-workflow-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.page-sdtm-adam-workflow-grid .page-tlf-capability-copy h3 { margin: 0 0 11px; color: #302c48; font: 600 23px/1.2 var(--display); }
.page-sdtm-adam-workflow-grid .page-tlf-capability-copy p + p { margin-top: 10px; }
.page-dataset-feature-grid { display: grid; grid-template-columns: 1fr; gap: 11px; }
.page-dataset-feature { display: grid; grid-template-columns: minmax(150px, .42fr) minmax(210px, .68fr) minmax(0, 1.4fr); align-items: baseline; gap: 20px; min-width: 0; min-height: 0; padding: 20px 23px; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; transition: transform .2s, border-color .2s, box-shadow .2s; }
.page-dataset-feature:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 12px 26px #302c4810; }
.page-dataset-feature small { display: block; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.page-dataset-feature h3 { margin: 0; color: #302c48; font: 600 21px/1.2 var(--display); }
.page-dataset-feature p { margin: 0; color: #626071; font-size: 13px; line-height: 1.65; }
.page-dataset-benefits .stories-heading > p,.page-dataset-process .stories-heading > p { flex: 0 1 520px; max-width: 520px; font-size: 15px; line-height: 1.75; }
.page-dataset-benefit-grid { display: grid; grid-template-columns: 1fr; gap: 11px; }
.page-dataset-benefit { position: relative; display: grid; grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr); align-items: baseline; gap: 20px; min-height: 0; padding: 22px 23px; overflow: hidden; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-dataset-benefit::before { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #8775d4, #c5bbf3); content: ""; }
.page-dataset-benefit span { display: block; margin-bottom: 14px; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.page-dataset-benefit p { margin: 0; color: #514d61; font: 500 17px/1.45 var(--display); }
.page-dataset-process-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 14px; }
.page-dataset-process-card { min-width: 0; overflow: hidden; border: 1px solid #e7e5ee; border-radius: 7px; background: #fff; }
.page-dataset-process-art { overflow: hidden; background: #f4f1ff; }
.page-dataset-process-art svg { display: block; width: 100%; height: auto; }
.page-dataset-process-copy { padding: 22px 23px 25px; }
.page-dataset-process-copy > small { display: block; margin-bottom: 9px; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.page-dataset-process-copy h3 { margin: 0 0 15px; color: #302c48; font: 600 25px/1.2 var(--display); }
.page-dataset-process-copy > p { color: #626071; font-size: 13px; line-height: 1.7; }
.page-dataset-process .page-inline-links { margin-top: 18px; }

/* Protocol automation follows the configurable workflow layout used by Redaction Scout. */
body.page-protocol-automation main#top { row-gap: 64px; }
body.page-protocol-automation main#top > .page-protocol-process,
body.page-protocol-automation main#top > .page-protocol-faq { padding-block: 0; }
body.page-protocol-automation main#top > .page-protocol-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-protocol-automation .page-protocol-overview { margin: 24px auto 48px; }
.page-protocol-overview .page-tlf-overview-copy h2 { max-width: 500px; }
.page-protocol-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-protocol-faq .page-faq-heading h2 { max-width: 470px; }
.page-protocol-faq .page-faq-answer p { margin: 0 0 12px; }
.page-protocol-faq .page-faq-answer p:last-child { margin-bottom: 0; }
.page-protocol-faq .page-faq-answer strong { color: #302c48; }
@media (max-width: 900px) {
  body.page-protocol-automation main#top > .page-protocol-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-protocol-automation main#top { row-gap: 44px; }
  body.page-protocol-automation main#top > .page-protocol-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-protocol-automation .page-protocol-overview { margin: 16px auto 32px; }
}

/* Investigator Brochure authoring uses the same coordinated-agent workflow as protocol automation. */
body.page-investigator-brochure main#top { row-gap: 64px; }
body.page-investigator-brochure main#top > .page-investigator-process,
body.page-investigator-brochure main#top > .page-investigator-faq { padding-block: 0; }
body.page-investigator-brochure main#top > .page-investigator-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-investigator-brochure .page-investigator-overview { margin: 24px auto 48px; }
.page-investigator-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-investigator-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-investigator-faq .page-faq-heading h2 { max-width: 520px; }
.page-investigator-faq .page-faq-answer p { margin: 0 0 12px; }
.page-investigator-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-investigator-brochure main#top > .page-investigator-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-investigator-brochure main#top { row-gap: 44px; }
  body.page-investigator-brochure main#top > .page-investigator-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-investigator-brochure .page-investigator-overview { margin: 16px auto 32px; }
}

/* Regulatory content validation follows the Investigator Brochure editorial flow. */
body.page-regulatory-validation main#top { row-gap: 64px; }
body.page-regulatory-validation main#top > .page-regulatory-process,
body.page-regulatory-validation main#top > .page-regulatory-faq { padding-block: 0; }
body.page-regulatory-validation main#top > .page-regulatory-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-regulatory-validation .page-regulatory-overview { margin: 24px auto 0; }
.page-regulatory-overview .page-tlf-overview-copy h2 { max-width: 540px; }
.page-regulatory-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-regulatory-faq .page-faq-heading h2 { max-width: 520px; }
.page-regulatory-faq .page-faq-answer p { margin: 0; }
.page-regulatory-validation .validation-client-list { display: flex; flex: 1; flex-wrap: wrap; align-items: center; justify-content: space-around; gap: 13px 24px; }
.page-regulatory-validation .validation-client-list span { flex: 0 1 auto; color: #706c7d; font: 600 14px/1.2 var(--display); white-space: nowrap; }
@media (max-width: 900px) {
  body.page-regulatory-validation main#top > .page-regulatory-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-regulatory-validation main#top { row-gap: 44px; }
  body.page-regulatory-validation main#top > .page-regulatory-process { padding-top: 0; }
  body.page-regulatory-validation main#top > .page-regulatory-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-regulatory-validation .page-regulatory-overview { margin: 16px auto 0; }
  body.page-regulatory-validation main#top > .page-regulatory-faq { padding-bottom: 44px; }
}

/* CTD Module 2.6 links nonclinical written summaries with tabulated study evidence. */
body.page-nonclinical-summaries main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-nonclinical-summaries main#top > .page-nonclinical-summaries-process,
body.page-nonclinical-summaries main#top > .page-nonclinical-summaries-faq { padding-block: 0; }
body.page-nonclinical-summaries main#top > .page-nonclinical-summaries-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-nonclinical-summaries .page-nonclinical-summaries-overview { margin: 24px auto 48px; }
.page-nonclinical-summaries-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-nonclinical-summaries-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-nonclinical-summaries-faq .page-faq-heading h2 { max-width: 520px; }
.page-nonclinical-summaries-faq .page-faq-answer p { margin: 0 0 12px; }
.page-nonclinical-summaries-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-nonclinical-summaries main#top > .page-nonclinical-summaries-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-nonclinical-summaries main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-nonclinical-summaries main#top > .page-nonclinical-summaries-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-nonclinical-summaries .page-nonclinical-summaries-overview { margin: 16px auto 32px; }
}

/* Journal manuscript authoring supports scientific publication and peer review. */
body.page-journal-manuscript main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-journal-manuscript main#top > .page-journal-manuscript-process,
body.page-journal-manuscript main#top > .page-journal-manuscript-faq { padding-block: 0; }
body.page-journal-manuscript main#top > .page-journal-manuscript-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-journal-manuscript .page-journal-manuscript-overview { margin: 24px auto 48px; }
.page-journal-manuscript-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-journal-manuscript-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-journal-manuscript-faq .page-faq-heading h2 { max-width: 520px; }
.page-journal-manuscript-faq .page-faq-answer p { margin: 0 0 12px; }
.page-journal-manuscript-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-journal-manuscript main#top > .page-journal-manuscript-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-journal-manuscript main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-journal-manuscript main#top > .page-journal-manuscript-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-journal-manuscript .page-journal-manuscript-overview { margin: 16px auto 32px; }
}

/* Informed consent uses a participant-first, human-reviewed authoring workflow. */
body.page-informed-consent main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-informed-consent main#top > .page-consent-process,
body.page-informed-consent main#top > .page-consent-faq { padding-block: 0; }
body.page-informed-consent main#top > .page-consent-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-informed-consent .page-consent-overview { margin: 24px auto 48px; }
.page-consent-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-consent-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-consent-faq .page-faq-heading h2 { max-width: 520px; }
.page-consent-faq .page-faq-answer p { margin: 0 0 12px; }
.page-consent-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-informed-consent main#top > .page-consent-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-informed-consent main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-informed-consent main#top > .page-consent-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
body.page-informed-consent .page-consent-overview { margin: 16px auto 32px; }
}

/* Quality Overall Summary authoring connects Module 3 evidence to a reviewed Module 2.3 draft. */
body.page-quality-summary main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-quality-summary main#top > .page-quality-summary-process,
body.page-quality-summary main#top > .page-quality-summary-faq { padding-block: 0; }
body.page-quality-summary main#top > .page-quality-summary-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-quality-summary .page-quality-summary-overview { margin: 24px auto 48px; }
.page-quality-summary-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-quality-summary-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-quality-summary-faq .page-faq-heading h2 { max-width: 520px; }
.page-quality-summary-faq .page-faq-answer p { margin: 0 0 12px; }
.page-quality-summary-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-quality-summary main#top > .page-quality-summary-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-quality-summary main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-quality-summary main#top > .page-quality-summary-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-quality-summary .page-quality-summary-overview { margin: 16px auto 32px; }
}

/* Statistical analysis plans use a protocol-aligned, biostatistician-reviewed workflow. */
body.page-statistical-analysis-plans main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-statistical-analysis-plans main#top > .page-sap-process,
body.page-statistical-analysis-plans main#top > .page-sap-faq { padding-block: 0; }
body.page-statistical-analysis-plans main#top > .page-sap-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-statistical-analysis-plans .page-sap-overview { margin: 24px auto 48px; }
.page-sap-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-sap-overview .page-tlf-overview-art svg { display: block; width: 100%; height: auto; }
.page-sap-faq .page-faq-heading h2 { max-width: 520px; }
.page-sap-faq .page-faq-answer p { margin: 0 0 12px; }
.page-sap-faq .page-faq-answer p:last-child { margin-bottom: 0; }
body.page-statistical-analysis-plans .hero .page-art-shell { background: url("../assets/images/sap-authoring-workspace.svg") center / cover no-repeat; }
body.page-statistical-analysis-plans .hero .page-art-shell > svg { opacity: 0; }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-art { background-position: center; background-size: 100% 100%; background-repeat: no-repeat; }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-art svg { opacity: 0; }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(1) .page-biostat-process-art { background-image: url("../assets/images/sap-source-inputs.svg"); }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(2) .page-biostat-process-art { background-image: url("../assets/images/sap-objective-endpoint-map.svg"); }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(3) .page-biostat-process-art { background-image: url("../assets/images/sap-analysis-methods.svg"); }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(4) .page-biostat-process-art { background-image: url("../assets/images/sap-decision-traceability.svg"); }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(5) .page-biostat-process-art { background-image: url("../assets/images/sap-review-versions.svg"); }
body.page-statistical-analysis-plans .page-sap-process .page-biostat-process-card:nth-child(6) .page-biostat-process-art { background-image: url("../assets/images/sap-statistician-review.svg"); }
body.page-statistical-analysis-plans .page-sap-overview .page-tlf-overview-art { background: url("../assets/images/sap-analysis-framework.svg") center / cover no-repeat; }
body.page-statistical-analysis-plans .page-sap-overview .page-tlf-overview-art svg { opacity: 0; }
@media (max-width: 900px) {
  body.page-statistical-analysis-plans main#top > .page-sap-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-statistical-analysis-plans main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-statistical-analysis-plans main#top > .page-sap-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-statistical-analysis-plans .page-sap-overview { margin: 16px auto 32px; }
}

/* Clinical Summary follows a source-aware, expert-reviewed authoring workflow. */
body.page-clinical-summary main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-clinical-summary main#top > .page-clinical-summary-process,
body.page-clinical-summary main#top > .page-clinical-summary-faq { padding-block: 0; }
body.page-clinical-summary main#top > .page-clinical-summary-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-clinical-summary .page-clinical-summary-overview { margin: 24px auto 48px; }
.page-clinical-summary-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-clinical-summary-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-clinical-summary-faq .page-faq-heading h2 { max-width: 520px; }
.page-clinical-summary-faq .page-faq-answer p { margin: 0 0 12px; }
.page-clinical-summary-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-clinical-summary main#top > .page-clinical-summary-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-clinical-summary main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-clinical-summary main#top > .page-clinical-summary-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-clinical-summary .page-clinical-summary-overview { margin: 16px auto 32px; }
}

/* PSUR authoring follows the same source-aware, human-reviewed workflow pattern. */
body.page-psur main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-psur main#top > .page-psur-process,
body.page-psur main#top > .page-psur-faq { padding-block: 0; }
body.page-psur main#top > .page-psur-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-psur .page-psur-overview { margin: 24px auto 48px; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(1) .page-biostat-process-art { background: url("../assets/images/psur-reporting-scope.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(2) .page-biostat-process-art { background: url("../assets/images/psur-evidence-sources.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(3) .page-biostat-process-art { background: url("../assets/images/psur-signal-evaluation.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(4) .page-biostat-process-art { background: url("../assets/images/psur-benefit-risk-review.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(5) .page-biostat-process-art { background: url("../assets/images/psur-structured-report.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-card:nth-child(6) .page-biostat-process-art { background: url("../assets/images/psur-quality-review.svg?v=2") center / 100% 100% no-repeat; }
body.page-psur .page-psur-process .page-biostat-process-art svg { opacity: 0; }
.page-psur-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-psur-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-psur-faq .page-faq-heading h2 { max-width: 520px; }
.page-psur-faq .page-faq-answer p { margin: 0 0 12px; }
.page-psur-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-psur main#top > .page-psur-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-psur main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-psur main#top > .page-psur-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-psur .page-psur-overview { margin: 16px auto 32px; }
}

/* DSUR authoring organizes annual clinical-development safety evidence for expert review. */
body.page-dsur main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-dsur main#top > .page-dsur-process,
body.page-dsur main#top > .page-dsur-faq { padding-block: 0; }
body.page-dsur main#top > .page-dsur-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-dsur .page-dsur-process .page-biostat-process-art { background-position: center; background-size: 100% 100%; background-repeat: no-repeat; }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(1) .page-biostat-process-art { background-image: url("../assets/images/dsur-reporting-window.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(2) .page-biostat-process-art { background-image: url("../assets/images/dsur-clinical-trial-sources.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(3) .page-biostat-process-art { background-image: url("../assets/images/dsur-safety-findings.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(4) .page-biostat-process-art { background-image: url("../assets/images/dsur-cumulative-exposure.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(5) .page-biostat-process-art { background-image: url("../assets/images/dsur-structured-report.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-card:nth-child(6) .page-biostat-process-art { background-image: url("../assets/images/dsur-expert-review.svg"); }
body.page-dsur .page-dsur-process .page-biostat-process-art svg { opacity: 0; }
body.page-dsur .page-dsur-overview { margin: 24px auto 48px; }
.page-dsur-overview .page-tlf-overview-copy h2 { max-width: 540px; }
.page-dsur-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-dsur-faq .page-faq-heading h2 { max-width: 520px; }
.page-dsur-faq .page-faq-answer p { margin: 0 0 12px; }
.page-dsur-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-dsur main#top > .page-dsur-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-dsur main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-dsur main#top > .page-dsur-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-dsur .page-dsur-overview { margin: 16px auto 32px; }
}

/* Clinical Overview uses the same source-aware, expert-reviewed authoring layout. */
body.page-clinical-overview main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-clinical-overview main#top > .page-clinical-overview-process,
body.page-clinical-overview main#top > .page-clinical-overview-faq { padding-block: 0; }
body.page-clinical-overview main#top > .page-clinical-overview-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-clinical-overview .page-clinical-overview-overview { margin: 24px auto 48px; }
.page-clinical-overview-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-clinical-overview-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-clinical-overview-faq .page-faq-heading h2 { max-width: 520px; }
.page-clinical-overview-faq .page-faq-answer p { margin: 0 0 12px; }
.page-clinical-overview-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-clinical-overview main#top > .page-clinical-overview-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-clinical-overview main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-clinical-overview main#top > .page-clinical-overview-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
body.page-clinical-overview .page-clinical-overview-overview { margin: 16px auto 32px; }
}

/* Nonclinical Overview follows the source-aware, expert-reviewed authoring layout. */
body.page-nonclinical-overview main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-nonclinical-overview main#top > .page-nonclinical-overview-process,
body.page-nonclinical-overview main#top > .page-nonclinical-overview-faq { padding-block: 0; }
body.page-nonclinical-overview main#top > .page-nonclinical-overview-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-nonclinical-overview .page-nonclinical-overview-overview { margin: 24px auto 48px; }
.page-nonclinical-overview-overview .page-tlf-overview-copy h2 { max-width: 520px; }
.page-nonclinical-overview-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-nonclinical-overview-faq .page-faq-heading h2 { max-width: 520px; }
.page-nonclinical-overview-faq .page-faq-answer p { margin: 0 0 12px; }
.page-nonclinical-overview-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-nonclinical-overview main#top > .page-nonclinical-overview-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-nonclinical-overview main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-nonclinical-overview main#top > .page-nonclinical-overview-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-nonclinical-overview .page-nonclinical-overview-overview { margin: 16px auto 32px; }
}

@media (max-width: 900px) {
  .page-dataset-spotlight { grid-template-columns: 1fr; gap: 22px; }
  .page-dataset-feature { grid-template-columns: minmax(130px, .45fr) minmax(180px, .7fr) minmax(0, 1.35fr); gap: 14px; }
  .page-dataset-benefit { grid-template-columns: minmax(130px, .45fr) minmax(0, 1.55fr); gap: 14px; }
  .page-sdtm-adam-workflow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-sdtm-adam main#top { row-gap: 44px; }
  .page-dataset-spotlight { gap: 17px; padding: 0; }
  .page-dataset-spotlight h2 { font-size: 40px; }
  .page-dataset-explainer .stories-heading,.page-dataset-benefits .stories-heading,.page-dataset-process .stories-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
  .page-dataset-explainer .stories-heading h2,.page-dataset-benefits .stories-heading h2,.page-dataset-process .stories-heading h2 { font-size: 42px; }
  .page-workflow-intro { grid-template-columns: 1fr; gap: 11px; }
  .page-sdtm-adam-workflow-grid { grid-template-columns: 1fr; }
  .page-dataset-feature-grid,.page-dataset-benefit-grid { grid-template-columns: 1fr; }
  .page-dataset-feature,.page-dataset-benefit { grid-template-columns: 1fr; gap: 8px; min-height: 0; }
  .page-dataset-feature small,.page-dataset-benefit span { margin-bottom: 2px; }
  .page-dataset-process-copy { padding: 19px; }
}

/* Generative AI translation: a connected, brand-led multilingual workflow. */
body.page-translation main#top { row-gap: 64px; }
body.page-translation .translation-hero { border-bottom: 0; }
body.page-translation .translation-hero .hero-copy { padding-left: 0; }
body.page-translation .translation-hero h1 { max-width: 610px; font-size: clamp(49px, 5.5vw, 72px); line-height: .99; letter-spacing: -.045em; }
body.page-translation .translation-hero h1 span { color: #8775d4; }
body.page-translation .translation-hero .hero-description { max-width: 490px; }
.translation-hero-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 34px; color: #625e70; font-size: 10px; }
.translation-hero-proof > span { flex-basis: 100%; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: 1px; }
.translation-hero-proof b { font-weight: 600; }
.translation-hero-proof i { width: 4px; height: 4px; border-radius: 50%; background: #b5acd8; }
.translation-hero-visual { overflow: visible; }
.translation-workspace { position: relative; z-index: 1; width: min(100%, 535px); padding: 14px; border: 1px solid #e3e0ed; border-radius: 10px; background: #fff; box-shadow: 0 22px 65px #302c4818, 0 5px 14px #302c480c; transform: rotate(-1deg); }
.translation-window-bar { display: flex; align-items: center; gap: 5px; height: 27px; padding: 0 4px 10px; border-bottom: 1px solid #eeecf3; }
.translation-window-bar > span { width: 6px; height: 6px; border-radius: 50%; background: #d0c8ec; }
.translation-window-bar > span:nth-child(2) { background: #a99ae8; }.translation-window-bar > span:nth-child(3) { background: #8775d4; }
.translation-window-bar b { margin-left: 8px; color: #898597; font-size: 7px; letter-spacing: .9px; }
.translation-window-bar i { margin-left: auto; color: #bbb5ca; font-size: 8px; font-style: normal; letter-spacing: 2px; }
.translation-window-content { display: grid; grid-template-columns: .85fr 1.15fr; gap: 10px; padding: 16px 4px 13px; }
.translation-window-content small { display: block; margin-bottom: 12px; color: #9691a2; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.translation-source { min-width: 0; padding: 12px; border: 1px solid #efedf4; border-radius: 5px; background: #fcfbff; }
.translation-source strong { display: block; max-width: 160px; margin-bottom: 12px; color: #302c48; font: 500 17px/1.15 var(--display); }
.translation-source > span { display: block; width: 95%; height: 4px; margin: 5px 0; border-radius: 3px; background: #eae8f0; }
.translation-source > span:nth-of-type(2) { width: 72%; }.translation-source > span:nth-of-type(3) { width: 84%; }
.translation-term { position: relative; display: grid; gap: 4px; margin-top: 16px; padding: 8px; border-radius: 4px; background: #f0edff; }
.translation-term b { color: #7561c1; font-size: 6px; letter-spacing: .6px; }
.translation-term em { color: #514d61; font-size: 8px; font-style: normal; }
.translation-term i { position: absolute; top: 8px; right: 8px; color: #7561c1; font-size: 10px; font-style: normal; }
.translation-language-list > div { display: grid; grid-template-columns: 23px minmax(0,1fr) 12px; align-items: center; gap: 7px; min-height: 38px; margin-bottom: 6px; padding: 5px 7px; border: 1px solid #efedf4; border-radius: 4px; }
.translation-language-list > div i { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 5px; background: #f0edff; color: #7561c1; font-size: 7px; font-style: normal; font-weight: 700; }
.translation-language-list > div span { overflow: hidden; color: #5a5668; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.translation-language-list > div b { color: #7561c1; font-size: 9px; }
.translation-workspace-footer { display: flex; justify-content: space-between; gap: 8px; padding: 10px 4px 2px; border-top: 1px solid #eeecf3; color: #8a8797; font-size: 7px; }
.translation-workspace-footer span:first-child { color: #514d61; }
.translation-workspace-footer i { display: inline-block; width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: #8eae99; }
.translation-hero-visual .page-art-note { min-width: 0; }
.translation-hero-visual .page-art-note-top { top: 46px; right: -20px; }
.translation-hero-visual .page-art-note-bottom { bottom: 35px; left: -18px; }
.translation-hero-visual .page-art-note > span:first-child { background: #f0edff; color: #7561c1; }
.translation-proof { margin-top: -18px; }
.translation-proof .page-proof-wordmark { font-size: 12px; }
.translation-proof .page-proof-wordmark i { font-size: 10px; }
.translation-process { padding-top: 0; padding-bottom: 0; }
.translation-process .stories-heading h2 { max-width: 530px; font-size: clamp(43px, 5vw, 60px); }
.translation-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.translation-process-card { min-height: 0; padding: 13px 13px 20px; }
.translation-process-card .page-biostat-process-art { display: grid; place-items: center; height: 170px; margin-bottom: 19px; background: linear-gradient(135deg, #f5f3fc, #ebe8f7); }
.translation-card-art { position: relative; display: flex; width: min(88%, 270px); min-height: 122px; flex-direction: column; justify-content: center; padding: 17px 19px; border: 1px solid #e7e3f1; border-radius: 7px; background: #fff; box-shadow: 0 10px 23px #302c480c; }
.translation-card-art > span { margin-bottom: 12px; color: #8c85a2; font-size: 7px; font-weight: 700; letter-spacing: .8px; }
.translation-glossary-art b { color: #302c48; font: 600 11px/1.4 var(--display); }
.translation-glossary-art i { margin: 2px 0 8px; color: #898597; font-size: 8px; font-style: normal; }
.translation-glossary-art em { position: absolute; top: 13px; right: 14px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #eeeafe; color: #7561c1; font-size: 10px; font-style: normal; }
.translation-context-art strong { color: #302c48; font: 500 23px/1.1 var(--display); }
.translation-context-art > i { margin-top: 5px; color: #888496; font-size: 8px; font-style: normal; }
.translation-context-art > div { display: flex; gap: 5px; margin-top: 12px; }
.translation-context-art > div b { display: grid; place-items: center; width: 23px; height: 20px; border-radius: 4px; background: #f0edff; color: #7561c1; font-size: 7px; }
.translation-review-art > div { display: flex; align-items: center; gap: 8px; margin-top: 5px; color: #514d61; font-size: 8px; }
.translation-review-art > div i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: #eeeafe; color: #7561c1; font-size: 8px; font-style: normal; }
.translation-step { margin-bottom: 7px; color: #8775d4; font-size: 8px; font-weight: 700; letter-spacing: .9px; }
.translation-process-card h3 { margin-bottom: 8px; font-size: 22px; }
.translation-process-card p { font-size: 13px; }
body.page-translation .translation-overview { grid-template-columns: .95fr 1.05fr; gap: 48px; margin: 0 auto; padding: 48px; background: #f2f0fa; }
.translation-overview .page-tlf-overview-copy h2 { max-width: 480px; }
.translation-overview .page-source-copy { max-width: 530px; }
.translation-overview-visual { position: relative; display: grid; min-height: 350px; margin: 0; place-items: center; overflow: hidden; border: 1px solid #e5e1ef; border-radius: 8px; background: #f1eff8; }
.translation-overview-visual img { display: block; width: 100%; height: auto; }
.translation-benefits { display: block; padding-top: 0; padding-bottom: 0; }
.translation-benefits .stories-heading { align-items: end; margin-bottom: 28px; }
.translation-benefits-heading h2 { margin: 22px 0 0; color: #25213e; font: 500 clamp(42px, 5vw, 60px)/1.06 var(--display); letter-spacing: -2.8px; }
.translation-benefits-heading h2 em { color: #8775d4; font-style: normal; }
.translation-benefits .stories-heading > p { flex: 0 1 540px; max-width: 540px; margin: 0 0 5px; color: #626071; font-size: 16px; line-height: 1.75; }
.translation-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 14px; }
.translation-benefit-grid article { min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #e8e5f1; border-radius: 7px; background: #fff; transition: transform .2s, border-color .2s, box-shadow .2s; }
.translation-benefit-grid article:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 13px 28px #302c4812; }
.translation-benefit-image { height: 155px; margin: 0; overflow: hidden; background: #f3f0fa; }
.translation-benefit-image svg { display: block; width: 100%; height: 100%; }
.translation-benefit-copy { min-height: 156px; padding: 16px 18px 19px; }
.translation-benefit-copy > span { display: none; }
.translation-benefit-grid h3 { margin: 0 0 8px; color: #302c48; font: 600 20px/1.15 var(--display); }
.translation-benefit-grid p { margin: 0; color: #6c6978; font-size: 12px; line-height: 1.65; }
.translation-faq { padding-top: 0; padding-bottom: 0; }
.translation-faq .page-faq-heading h2 { max-width: 410px; }
@media (max-width: 900px) {
  body.page-translation main#top { row-gap: 54px; }
  .translation-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.page-translation .translation-overview { grid-template-columns: 1fr; }
  .translation-overview-visual { min-height: 330px; }
  .translation-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-translation main#top { row-gap: 43px; }
  body.page-translation .translation-hero { padding-bottom: 20px; }
  body.page-translation .translation-hero h1 { font-size: clamp(45px, 12vw, 60px); }
  .translation-hero-visual { min-height: 365px; margin-inline: 0; }
  .translation-workspace { width: calc(100% - 24px); padding: 11px; }
  .translation-hero-visual .page-art-note-top { top: 18px; right: 0; }
  .translation-hero-visual .page-art-note-bottom { bottom: 12px; left: 0; }
  .translation-proof { margin-top: -20px; }
  .translation-proof .wordmarks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .translation-process .stories-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .translation-process .stories-heading h2 { font-size: 43px; }
  .translation-process-grid { grid-template-columns: 1fr; }
  .translation-process-card .page-biostat-process-art { height: 165px; }
  body.page-translation .translation-overview { gap: 25px; margin-inline: auto; padding: 25px; }
  .translation-overview-visual { min-height: 300px; }
  .translation-overview-visual img { width: 100%; }
  .translation-benefits-heading h2 { font-size: 42px; }
  .translation-benefit-grid { grid-template-columns: 1fr; }
  .translation-benefit-image { height: 165px; }
  .translation-benefit-copy { min-height: 0; padding: 16px 18px 19px; }
  .translation-window-content { grid-template-columns: 1fr; }
  .translation-source { display: none; }
  .translation-workspace { max-width: 380px; }
  .translation-workspace-footer { font-size: 6px; }
}

/* Whitepaper generation follows the coordinated workflow layout used by protocol automation. */
body.page-whitepaper-engine main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-whitepaper-engine main#top > .page-whitepaper-workflow,
body.page-whitepaper-engine main#top > .page-whitepaper-faq { padding-block: 0; }
body.page-whitepaper-engine main#top > .page-whitepaper-workflow > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.page-whitepaper-engine .page-whitepaper-overview { margin: 24px auto 48px; }
.page-whitepaper-overview .page-tlf-overview-copy h2 { max-width: 490px; }
.page-whitepaper-overview .page-tlf-overview-art { display: flex; align-items: center; min-height: 0; transform: none; }
.page-whitepaper-overview .page-tlf-overview-art svg { display: block; width: 100%; height: auto; }
.page-whitepaper-workflow .stories-heading { align-items: end; margin-bottom: 28px; }
.page-whitepaper-workflow .stories-heading h2 { font-size: clamp(42px, 5vw, 60px); }
.page-whitepaper-workflow .stories-heading h2 em { color: #8775d4; font-style: normal; }
.page-whitepaper-workflow .stories-heading > p { flex: 0 1 520px; max-width: 520px; font-size: 15px; line-height: 1.75; }
.page-whitepaper-faq .page-faq-heading h2 { max-width: 470px; }
.page-whitepaper-faq .page-faq-answer p { margin: 0; }
@media (max-width: 900px) {
  body.page-whitepaper-engine main#top > .page-whitepaper-workflow > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-whitepaper-engine main#top { row-gap: 44px; padding-bottom: 44px; }
  .page-whitepaper-workflow .stories-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .page-whitepaper-workflow .stories-heading h2 { font-size: 42px; }
  body.page-whitepaper-engine main#top > .page-whitepaper-workflow > .page-biostat-process-grid,
  .page-whitepaper-faq { grid-template-columns: 1fr; }
  .page-whitepaper-faq .page-faq-heading { position: static; }
  body.page-whitepaper-engine .page-whitepaper-overview { gap: 25px; margin: 16px auto 32px; padding: 25px; }
}

/* Module 3 presents the detailed CMC source sections behind the Module 2.3 summary. */
body.page-module3-cmc main#top { row-gap: 64px; padding-bottom: 64px; }
body.page-module3-cmc main#top > .page-module3-process,
body.page-module3-cmc main#top > .page-module3-faq { padding-block: 0; }
body.page-module3-cmc main#top > .page-module3-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-module3-overview .page-tlf-overview-copy h2 { max-width: 530px; }
.page-module3-overview .page-tlf-overview-art img { display: block; width: 100%; height: auto; }
.page-module3-overview .page-inline-links,
.page-quality-summary-overview .page-inline-links { grid-template-columns: minmax(0, 1fr); }
.page-module3-faq .page-faq-heading h2 { max-width: 520px; }
.page-module3-faq .page-faq-answer p { margin: 0 0 12px; }
.page-module3-faq .page-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  body.page-module3-cmc main#top > .page-module3-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.page-module3-cmc main#top { row-gap: 44px; padding-bottom: 44px; }
  body.page-module3-cmc main#top > .page-module3-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
  body.page-module3-cmc .page-module3-overview { margin: 16px auto 32px; }
}

@media (min-width: 721px) {
  body.narrativa-page:has(.trust-strip) .page-breadcrumbs { padding-top: 10px; }
  body.narrativa-page:has(.trust-strip) .page-home-hero.hero {
    min-height: 425px;
    padding-top: 8px;
    padding-bottom: 18px;
  }
  body.narrativa-page:has(.trust-strip) .page-hero-visual { min-height: 345px; }
}

/* Keep the contact booking form visible near the top of the page. */
main#top:has(.contact-booking-section) { row-gap: 0; }
.contact-demo-hero.hero { grid-template-columns: minmax(0, 1fr); gap: 0; min-height: 0; padding-top: 12px; padding-bottom: 0; }
.contact-demo-hero .hero-copy { max-width: 760px; padding: 0; }
.contact-demo-hero .eyebrow { margin-bottom: 14px; }
.contact-demo-hero h1 { margin-bottom: 10px; }
.contact-demo-hero .hero-description { margin-bottom: 0; }
.contact-booking-section { padding-top: 12px; padding-bottom: 60px; }

/* "Book a Demo" heading: 25% smaller than the shared page hero heading scale. */
body.narrativa-page.narrativa-site-page .contact-demo-hero.page-home-hero h1 { font-size: 1.40625rem; }
@media (min-width: 768px) { body.narrativa-page.narrativa-site-page .contact-demo-hero.page-home-hero h1 { font-size: 1.78125rem; } }
@media (min-width: 1024px) { body.narrativa-page.narrativa-site-page .contact-demo-hero.page-home-hero h1 { font-size: 2.25rem; } }

/* Keep the six nonclinical-report workflow cards balanced across two desktop rows. */
.page-nonclinical-study-reports-process > .page-biostat-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .page-nonclinical-study-reports-process > .page-biostat-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .page-nonclinical-study-reports-process > .page-biostat-process-grid { grid-template-columns: 1fr; }
}

/* Contact page: keep the shared product-page hero and give office details a clear directory layout. */
body.narrativa-contact-page main#top { row-gap: 0; padding-bottom: 94px; }
body.narrativa-contact-page .contact-overview-hero { min-height: 570px; padding-bottom: 56px; }
body.narrativa-contact-page .contact-overview-hero h1 { max-width: 580px; }
body.narrativa-contact-page .contact-overview-hero .hero-description { max-width: 470px; }
body.narrativa-contact-page .contact-overview-hero .hero-actions { align-items: center; gap: 23px; }
.contact-solutions-link,.contact-office-cta { display: inline-flex; align-items: center; gap: 8px; color: #514d61; font-size: 12px; font-weight: 700; text-decoration: none; }
.contact-solutions-link span,.contact-office-cta span { color: #8775d4; font-size: 17px; transition: transform .2s ease; }
.contact-solutions-link:hover span,.contact-office-cta:hover span { transform: translateX(3px); }
.contact-offices { padding-top: 76px; }
.contact-offices-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin: 22px 0 32px; }
.contact-offices-heading h2 { margin: 0 0 15px; color: #25213e; font: 400 clamp(37px, 4.4vw, 56px)/1.02 var(--display); letter-spacing: -.04em; }
.contact-offices-heading h2 em { color: #8775d4; font-style: normal; }
.contact-offices-heading p { max-width: 500px; margin: 0; color: #626071; font-size: 14px; line-height: 1.7; }
.contact-office-cta { flex: 0 0 auto; margin-bottom: 4px; color: #302c48; }
.contact-office-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.contact-office-card { position: relative; min-height: 228px; padding: 26px 25px 25px; overflow: hidden; border: 1px solid #e8e5f1; border-radius: 8px; background: linear-gradient(145deg, #fff, #fbfaff); box-shadow: 0 12px 36px #302c4808; }
.contact-office-card::after { position: absolute; right: -44px; bottom: -70px; width: 155px; height: 155px; border: 1px solid #e8e3f7; border-radius: 50%; content: ""; }
.contact-office-card-hq { border-color: #ded8f1; background: linear-gradient(145deg, #f6f3ff, #fff 76%); }
.contact-office-number { color: #817a92; font-size: 9px; font-weight: 700; letter-spacing: 1.05px; }
.contact-office-card h3 { margin: 26px 0 2px; color: #302c48; font: 500 27px/1.1 var(--display); letter-spacing: -.5px; }
.contact-office-label { margin: 0 0 12px; color: #8171cb; font-size: 10px; font-weight: 700; letter-spacing: .4px; }
.contact-office-card address { position: relative; z-index: 1; color: #626071; font-size: 12px; font-style: normal; line-height: 1.7; }
@media (max-width: 900px) {
  body.narrativa-contact-page .contact-overview-hero { min-height: 0; }
  .contact-office-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-office-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  body.narrativa-contact-page main#top { padding-bottom: 62px; }
  body.narrativa-contact-page .contact-overview-hero { padding-top: 28px; padding-bottom: 28px; }
  body.narrativa-contact-page .contact-overview-hero .hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; }
  .contact-offices { padding-top: 44px; }
  .contact-offices-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin-top: 17px; margin-bottom: 22px; }
  .contact-offices-heading h2 { font-size: 40px; }
  .contact-office-grid { grid-template-columns: 1fr; gap: 10px; }
  .contact-office-card,.contact-office-card:last-child { grid-column: auto; min-height: 0; padding: 22px; }
  .contact-office-card h3 { margin-top: 20px; }
}

/* ============================================================
   Guard (2026-10-14): several `.stories-heading > p` rules use
   `flex: 0 1 520-540px` to size the desktop two-column row. Below 720px
   the container switches to `flex-direction: column`, where flex-basis
   sizes the MAIN AXIS = height — turning a 53px paragraph into a 540px
   tall block and leaving ~490px of blank space mid-page. Needs >= 0-2-1
   specificity to beat `.page-<name> .stories-heading > p`.
   ============================================================ */
@media (max-width: 720px) {
  .narrativa-page .stories-heading > p,
  .narrativa-page .page-dataset-explainer-intro { flex-basis: auto; max-width: 100%; }
}
/* 404 page follows the standard page shell: breadcrumbs, split hero, link cards, shared footer. */
body.narrativa-404-page main#top,
body.error404 main#top { padding-bottom: 74px; }
.page-404-hero.hero { grid-template-columns: .9fr 1.1fr; gap: 28px; min-height: 470px; padding-top: 28px; padding-bottom: 58px; border-bottom: 1px solid #e8e6ef; }
.page-404-hero h1 { max-width: 560px; font-size: 2.75rem; }
.page-404-hero .hero-description { max-width: 470px; }
.page-404-hero .hero-visual { min-height: 400px; }
.page-404-links { padding-top: 68px; }
.page-404-heading { align-items: flex-start; margin-bottom: 34px; }
.page-404-heading .section-kicker { color: #756e90; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.page-404-heading h2 { max-width: 520px; }
.page-404-heading > p { max-width: 400px; font-size: 15px; }
.page-404-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-404-card { position: relative; display: block; min-height: 176px; padding: 20px 22px; border: 1px solid #e8e6ef; border-radius: 7px; background: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.page-404-card:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 14px 30px #302c4810; }
.page-404-card:focus-visible { outline: 3px solid #000080; outline-offset: -4px; }
.page-404-card small { display: block; color: #8775d4; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.page-404-card h3 { margin: 22px 0 8px; color: #25213e; font: 600 19px/1.25 var(--display); letter-spacing: -.02em; }
.page-404-card p { margin: 0; max-width: 300px; color: #696775; font-size: 13px; line-height: 1.65; }
.page-404-card i { position: absolute; right: 18px; top: 17px; font-style: normal; color: #8775d4; }
.page-404-inline { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 9px; }
@media (max-width: 900px) {
  .page-404-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-404-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.narrativa-404-page main#top,
  body.error404 main#top { padding-bottom: 44px; }
  .page-404-hero.hero { grid-template-columns: 1fr; gap: 5px; min-height: 0; padding-top: 32px; padding-bottom: 44px; }
  .page-404-hero h1 { font-size: 2.375rem; }
  .page-404-hero .hero-visual { min-height: 340px; }
  .page-404-links { padding-top: 56px; }
  .page-404-grid { grid-template-columns: 1fr; }
  .page-404-card { min-height: 0; padding: 17px 18px; }
  .page-404-card h3 { margin-top: 18px; }
}
/* 404 page follows the standard page shell: breadcrumbs, split hero, link cards, shared footer. */
body.narrativa-404-page main#top,
body.error404 main#top { padding-bottom: 74px; }
.page-404-hero.hero { grid-template-columns: .9fr 1.1fr; gap: 28px; min-height: 470px; padding-top: 28px; padding-bottom: 58px; border-bottom: 1px solid #e8e6ef; }
.page-404-hero h1 { max-width: 560px; font-size: 2.75rem; }
.page-404-hero .hero-description { max-width: 470px; }
.page-404-hero .hero-visual { min-height: 400px; }
.page-404-links { padding-top: 68px; }
.page-404-heading { align-items: flex-start; margin-bottom: 34px; }
.page-404-heading .section-kicker { color: #756e90; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.page-404-heading h2 { max-width: 520px; }
.page-404-heading > p { max-width: 400px; font-size: 15px; }
.page-404-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.page-404-card { position: relative; display: block; min-height: 176px; padding: 20px 22px; border: 1px solid #e8e6ef; border-radius: 7px; background: #fff; transition: transform .2s, box-shadow .2s, border-color .2s; }
.page-404-card:hover { transform: translateY(-3px); border-color: #cfc5ff; box-shadow: 0 14px 30px #302c4810; }
.page-404-card:focus-visible { outline: 3px solid #000080; outline-offset: -4px; }
.page-404-card small { display: block; color: #8775d4; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.page-404-card h3 { margin: 22px 0 8px; color: #25213e; font: 600 19px/1.25 var(--display); letter-spacing: -.02em; }
.page-404-card p { margin: 0; max-width: 300px; color: #696775; font-size: 13px; line-height: 1.65; }
.page-404-card i { position: absolute; right: 18px; top: 17px; font-style: normal; color: #8775d4; }
.page-404-inline { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 9px; }
@media (max-width: 900px) {
  .page-404-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-404-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  body.narrativa-404-page main#top,
  body.error404 main#top { padding-bottom: 44px; }
  .page-404-hero.hero { grid-template-columns: 1fr; gap: 5px; min-height: 0; padding-top: 32px; padding-bottom: 44px; }
  .page-404-hero h1 { font-size: 2.375rem; }
  .page-404-hero .hero-visual { min-height: 340px; }
  .page-404-links { padding-top: 56px; }
  .page-404-grid { grid-template-columns: 1fr; }
  .page-404-card { min-height: 0; padding: 17px 18px; }
  .page-404-card h3 { margin-top: 18px; }
}
.page-404-card-link { position: absolute; z-index: 1; display: block; inset: 0; color: transparent; font-size: 0; }
.page-404-card-link:focus-visible { outline: 3px solid #000080; outline-offset: -4px; }
.page-404-kicker { display: block; color: #8775d4; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; }
.page-404-arrow { position: absolute; right: 18px; top: 17px; color: #8775d4; }
