/*
 * Readability pass for the full ZEN site.
 * This is loaded after the existing editorial sheets: long-form copy is 18px,
 * short notes stay at a readable 15–16px, and form controls are comfortably
 * sized for touch as well as desktop use.
 */

html[data-theme] body{font-size:18px;line-height:1.95}
html[data-theme] p{line-height:2.05}

/* Shared editorial content: preserve display numerals and cinematic hero type. */
html[data-theme] :is(.intro-desc,.prose p,.section-heading div>p,.feature-copy>p:not(.eyebrow),.work-intro-grid>p,.belief>p:last-child,.contact-copy p,.representative>div>p,.career-work-grid p,.job-row p,.job-conditions>div,.careers-teaser p,.contact-option>p,.contact-direct>p:last-child,.gourmet-hero-copy>p:not(.eyebrow):not(.breadcrumb):not(.gourmet-name),.faq-list details>p,.simple-flow p,.strength-list p,.process-copy>p:not(.process-number),.case-context p,.story-result>p:not(.result-label):not(.result-period),.audience-small,.audience-source p,.reach-source,.sv-intro-body>p,.sv-section-title>p:last-child:not(.eyebrow),.sv-pain-answer p,.sv-platform-label+p,.sv-service-grid p:not(.sv-service-phase),.sv-evidence-input>p,.sv-evidence-output>p,.sv-evidence-output li,.sv-evidence-core p,.sv-start-steps li>p,.sv-faq details>p){font-size:18px;line-height:2.05}

html[data-theme] :is(.small-note,.case-source,.story-note p,.form-instruction,.feature-stat-note,.sv-illustration-note,.sv-example-title,.sv-example-title>span:last-child,.sv-example-reel .reel-start,.sv-example-reel .video-source,.sv-example-path small,.sv-problem-label,.sv-problem-label>b,.sv-step-meta span,.sv-platform-label,.sv-service-grid .sv-service-phase,.sv-evidence-core p,.sv-proof-bar,.sv-proof-bar b,.sv-proof-bar small){font-size:15px;line-height:1.85}

html[data-theme] :is(.eyebrow,.breadcrumb,.journey-number,.case-publication>.eyebrow,.store-wall-heading>div>p:last-child,.career-work-grid article>span,.reel-category,.result-label,.interview-image small,.case-image>span,.official-lp-link small){font-size:15px;line-height:1.8}

/* Repeated interface cards have a larger visual entry point. */
html[data-theme] :is(.simple-flow h3,.career-work-grid h3,.case-card h3,.story-detail-head h2,.sv-pain-grid h3,.sv-service-grid h3,.sv-start-steps h3){font-size:clamp(24px,2.05vw,30px);line-height:1.65}
html[data-theme] :is(.section-heading h2,.editorial-split h2,.process-copy h3,.strength-list h3,.service-media h2,.representative h2,.careers-teaser h2,.contact-option h2,.contact-direct h2,.official-lp-entry h2,.sv-section-title h2,.sv-evidence-title h2,.sv-start-steps h2){font-size:clamp(40px,3.4vw,56px);line-height:1.55}
html[data-theme] :is(.page-intro h1,.gourmet-hero h1,.video-page-intro h1){font-size:clamp(48px,4.7vw,68px);line-height:1.48}
html[data-theme] .page-intro .intro-desc{max-width:36rem}

/* Links, filters and disclosure controls meet the same readable baseline. */
html[data-theme] :is(.text-link,.genre-filters button,.faq-list summary,.step-nav a,.process-detail-list>div,.journey-stages a,.sv-choice-flow a,.sv-consult,.sv-intro-bottom nav,.store-wall-bottom .text-link,.video-external){font-size:17px;line-height:1.8}
html[data-theme] .platform-names>span{font-size:15px;line-height:1.65}
html[data-theme] .journey-stages .customer-voice{font-size:17px;line-height:1.85}
html[data-theme] .journey-note p{font-size:16px;line-height:1.95}

/* The service page has its own compact editorial components.  These carry
 * actual explanatory copy, so they cannot remain at the old 10–14px sizes. */
html[data-theme] :is(.sv-pain-context,.sv-pain-answer p,.sv-choice-bottom p,.sv-service-grid p,.sv-media-copy>p:not(.eyebrow):not(.sv-quiet-note):not(.sv-national-note),.sv-strengths p,.sv-start-steps p,.sv-faq details>p){font-size:18px;line-height:2.05}
html[data-theme] :is(.sv-action-label,.sv-quiet-note,.sv-national-note,.sv-media-number>p:first-child,.sv-media-number time,.sv-media-screens .real-media-preview>figcaption,.sv-service-grid small,.sv-proof-card>p,.sv-proof-link,.sv-results-bottom .text-link,.sv-faq summary){font-size:16px;line-height:1.85}
html[data-theme] :is(.sv-pain-answer>span,.sv-service-top>span,.sv-data-loop span,.sv-proof-genre,.sv-start-steps span){font-size:15px;line-height:1.75}
html[data-theme] .sv-media-copy>h2{font-size:clamp(40px,3.8vw,56px);line-height:1.55}
html[data-theme] .sv-strengths h3{font-size:clamp(28px,2.5vw,36px);line-height:1.6}
html[data-theme] .sv-start-steps h3{font-size:25px;line-height:1.65}
html[data-theme] .sv-proof-card h3{font-size:24px;line-height:1.65}
html[data-theme] .logo-wall-heading .eyebrow{font-size:14px;line-height:1.75}
html[data-theme] .logo-wall-heading h2{font-size:clamp(28px,2.4vw,36px);line-height:1.55}
html[data-theme] .logo-wall-heading>div>p:last-child{font-size:16px;line-height:1.9}
html[data-theme] :is(.logo-wall-actions .text-link,.logo-motion-toggle){font-size:16px;line-height:1.75}

/* Keep display numbers compact after the global paragraph leading adjustment. */
html[data-theme] :is(.total-followers .reach-value,.listed-count .reach-value){line-height:1.12}

/* Form v6: a warm, calm surface with a clear progression and grouped fields. */
html[data-theme] .contact-v6{margin-top:0;padding-top:112px;padding-bottom:120px;background:linear-gradient(135deg,var(--zen-soft) 0%,var(--zen-soft) 67%,color-mix(in srgb,var(--zen-accent-soft) 62%,var(--zen-soft)) 100%)}
html[data-theme] .contact-v6 .form-heading{grid-template-columns:minmax(0,1.25fr) minmax(285px,.75fr);gap:clamp(40px,8vw,135px);align-items:end;margin-bottom:58px}
html[data-theme] .contact-v6 .form-lead h2{font-size:clamp(42px,4vw,60px);line-height:1.52;margin:22px 0 20px;letter-spacing:.035em}
html[data-theme] .contact-v6 .form-lead>p:last-child{font-size:18px;line-height:2.05;max-width:38rem}
html[data-theme] .form-guide{justify-self:end;width:min(100%,365px);padding:25px 27px;background:var(--zen-paper);border-top:3px solid var(--zen-accent);box-shadow:0 14px 34px rgb(66 26 18 / .08)}
html[data-theme] .contact-v6 .form-instruction{font-size:16px;line-height:1.8;margin:0 0 18px}
html[data-theme] .form-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;list-style:none;padding:0;margin:0;border-top:1px solid var(--zen-line);padding-top:16px}
html[data-theme] .form-flow li{font-size:15px;line-height:1.55;color:var(--zen-muted);display:grid;gap:5px}
html[data-theme] .form-flow span{display:block;width:25px;height:25px;place-content:center;text-align:center;background:var(--zen-accent-soft);color:var(--zen-accent-deep);border-radius:50%;font-size:14px;font-variant-numeric:tabular-nums}
html[data-theme] .contact-v6 #contact-form{max-width:1160px;background:var(--zen-paper);padding:clamp(28px,4vw,58px);box-shadow:0 16px 42px rgb(66 26 18 / .10)}
html[data-theme] .contact-v6 .form-section-label{font-size:16px;letter-spacing:.08em;color:var(--zen-accent-deep);padding-bottom:15px;border-bottom:1px solid var(--zen-line);margin:0 0 2px}
html[data-theme] .contact-v6 .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,54px)}
html[data-theme] .contact-v6 .form-row{display:block;padding:23px 0;border-color:var(--zen-line)}
/* revision.js owns these visibility changes; never re-open a hidden field. */
html[data-theme] .contact-v6 [hidden]{display:none!important}
html[data-theme] .contact-v6 .form-row--full{padding-top:23px}
html[data-theme] .contact-v6 .form-row--message{margin-top:20px;border-top:2px solid var(--zen-copper);padding-top:28px}
html[data-theme] .contact-v6 .form-row>label{display:flex;align-items:center;gap:8px;padding:0;margin:0 0 10px;font-size:17px;font-weight:600;line-height:1.7}
html[data-theme] .contact-v6 .form-row label>span{font-size:14px;line-height:1.5;margin-left:0;padding:4px 8px}
html[data-theme] .contact-v6 .form-row :is(input,textarea,select){min-height:58px;padding:15px 17px;font-size:17px;line-height:1.7;border-width:1px;border-radius:2px}
html[data-theme] .contact-v6 .form-row textarea{min-height:160px}
html[data-theme] .contact-v6 .form-row :is(input,textarea)::placeholder{font-size:16px;opacity:1}
html[data-theme] .contact-v6 .consent{justify-content:flex-start;margin:32px 0 0;padding:21px 0;border-top:1px solid var(--zen-line);font-size:16px;line-height:1.85}
html[data-theme] .contact-v6 .consent input{width:22px;height:22px;margin-top:3px}
html[data-theme] .contact-v6 .form-primary{display:flex;justify-content:center;align-items:center;gap:21px;margin:32px 0 0;margin-left:auto;min-width:340px;min-height:66px;padding:18px 30px;font-size:18px;line-height:1.5;letter-spacing:.04em;box-shadow:0 10px 18px rgb(126 36 30 / .18)}
html[data-theme] .contact-v6 .form-primary>span{font-size:22px;line-height:1}
html[data-theme] .contact-v6 .form-primary:focus-visible{outline:3px solid var(--zen-focus);outline-offset:4px}
html[data-theme] .contact-v6 .form-error,.contact-v6 .review-error{font-size:16px;line-height:1.9;text-align:left}
html[data-theme] .contact-v6 .form-review{max-width:980px;margin:auto}
html[data-theme] .contact-v6 .form-review h3,.contact-v6 .form-success h3{font-size:clamp(34px,3.2vw,48px);line-height:1.6;margin:16px 0 34px}
html[data-theme] .contact-v6 .review-list>div{grid-template-columns:210px 1fr;font-size:17px;line-height:1.95;padding:23px 0}
html[data-theme] .contact-v6 .review-actions{justify-content:flex-end;gap:26px}
html[data-theme] .contact-v6 .form-back{font-size:17px;line-height:1.7;padding:14px 0}
html[data-theme] .contact-v6 .form-success{padding:65px 0;text-align:left;max-width:780px;margin:auto}
html[data-theme] .contact-v6 .form-success>p:last-child{font-size:18px;line-height:2.05}

@media (max-width:950px){
  html[data-theme] .contact-v6 .form-heading{grid-template-columns:1fr;gap:28px}
  html[data-theme] .form-guide{justify-self:start}
  html[data-theme] .contact-v6 .form-lead h2{font-size:clamp(38px,6vw,50px)}
  html[data-theme] :is(.section-heading h2,.editorial-split h2,.process-copy h3,.strength-list h3,.service-media h2,.representative h2,.careers-teaser h2,.contact-option h2,.contact-direct h2,.official-lp-entry h2,.sv-section-title h2,.sv-evidence-title h2,.sv-start-steps h2){font-size:clamp(34px,4.8vw,46px)}
}

@media (max-width:720px){
  html[data-theme] body{font-size:18px}
  html[data-theme] :is(.intro-desc,.prose p,.section-heading div>p,.feature-copy>p:not(.eyebrow),.work-intro-grid>p,.belief>p:last-child,.contact-copy p,.representative>div>p,.career-work-grid p,.job-row p,.job-conditions>div,.careers-teaser p,.contact-option>p,.contact-direct>p:last-child,.gourmet-hero-copy>p:not(.eyebrow):not(.breadcrumb):not(.gourmet-name),.faq-list details>p,.simple-flow p,.strength-list p,.process-copy>p:not(.process-number),.case-context p,.story-result>p:not(.result-label):not(.result-period),.audience-small,.audience-source p,.reach-source,.sv-intro-body>p,.sv-section-title>p:last-child:not(.eyebrow),.sv-pain-answer p,.sv-platform-label+p,.sv-service-grid p:not(.sv-service-phase),.sv-evidence-input>p,.sv-evidence-output>p,.sv-evidence-output li,.sv-evidence-core p,.sv-start-steps li>p,.sv-faq details>p){font-size:18px;line-height:2}
  html[data-theme] :is(.small-note,.case-source,.story-note p,.form-instruction,.feature-stat-note,.sv-illustration-note,.sv-example-title,.sv-example-title>span:last-child,.sv-example-reel .reel-start,.sv-example-reel .video-source,.sv-example-path small,.sv-problem-label,.sv-problem-label>b,.sv-step-meta span,.sv-platform-label,.sv-service-grid .sv-service-phase,.sv-evidence-core p,.sv-proof-bar,.sv-proof-bar b,.sv-proof-bar small){font-size:15px;line-height:1.8}
  html[data-theme] :is(.eyebrow,.breadcrumb,.journey-number,.case-publication>.eyebrow,.store-wall-heading>div>p:last-child,.career-work-grid article>span,.reel-category,.result-label,.interview-image small,.case-image>span,.official-lp-link small){font-size:14px;line-height:1.75}
  html[data-theme] :is(.page-intro h1,.gourmet-hero h1,.video-page-intro h1){font-size:clamp(30px,8.6vw,38px);line-height:1.58}
  html[data-theme] :is(.section-heading h2,.editorial-split h2,.process-copy h3,.strength-list h3,.service-media h2,.representative h2,.careers-teaser h2,.contact-option h2,.contact-direct h2,.official-lp-entry h2,.sv-section-title h2,.sv-evidence-title h2,.sv-start-steps h2){font-size:clamp(28px,7.2vw,36px);line-height:1.62}
  html[data-theme] :is(.simple-flow h3,.career-work-grid h3,.case-card h3,.story-detail-head h2,.sv-pain-grid h3,.sv-service-grid h3,.sv-start-steps h3){font-size:24px;line-height:1.65}
  html[data-theme] :is(.text-link,.genre-filters button,.faq-list summary,.step-nav a,.process-detail-list>div,.journey-stages a,.sv-choice-flow a,.sv-consult,.sv-intro-bottom nav,.store-wall-bottom .text-link,.video-external){font-size:16px}
  html[data-theme] .contact-v6{padding-top:72px;padding-bottom:76px}
  html[data-theme] .contact-v6 .form-heading{margin-bottom:32px;gap:24px}
  html[data-theme] .contact-v6 .form-lead h2{font-size:34px;line-height:1.6;margin:17px 0}
  html[data-theme] .contact-v6 .form-lead>p:last-child{font-size:18px;line-height:2}
  html[data-theme] .form-guide{width:100%;padding:20px}
  html[data-theme] .contact-v6 #contact-form{padding:25px 20px;box-shadow:0 10px 28px rgb(66 26 18 / .10)}
  html[data-theme] .contact-v6 .form-grid{grid-template-columns:1fr}
  html[data-theme] .contact-v6 .form-row{padding:20px 0}
  html[data-theme] .contact-v6 .form-row>label{font-size:17px;margin-bottom:9px}
  html[data-theme] .contact-v6 .form-row :is(input,textarea,select){font-size:17px;min-height:57px;padding:14px 15px}
  html[data-theme] .contact-v6 .form-row :is(input,textarea)::placeholder{font-size:16px}
  html[data-theme] .contact-v6 .form-row textarea{min-height:150px}
  html[data-theme] .contact-v6 .consent{font-size:16px;margin-top:25px;padding-top:19px}
  html[data-theme] .contact-v6 .form-primary{width:100%;min-width:0;min-height:62px;margin-top:27px;font-size:17px}
  html[data-theme] .contact-v6 .review-list>div{grid-template-columns:1fr;gap:7px;font-size:17px}
  html[data-theme] .contact-v6 .review-actions{align-items:stretch;gap:18px}
  html[data-theme] .contact-v6 .form-success{padding:40px 0}
  html[data-theme] .sv-media-copy>h2{font-size:34px;line-height:1.6}
  html[data-theme] .sv-strengths h3{font-size:27px;line-height:1.65}
  html[data-theme] .sv-start-steps h3{font-size:24px;line-height:1.65}
  html[data-theme] .sv-proof-card h3{font-size:24px;line-height:1.65}
  html[data-theme] :is(.sv-pain-context,.sv-pain-answer p,.sv-choice-bottom p,.sv-service-grid p,.sv-media-copy>p:not(.eyebrow):not(.sv-quiet-note):not(.sv-national-note),.sv-strengths p,.sv-start-steps p,.sv-faq details>p){font-size:18px;line-height:2}
  html[data-theme] :is(.sv-action-label,.sv-quiet-note,.sv-national-note,.sv-media-number>p:first-child,.sv-media-number time,.sv-media-screens .real-media-preview>figcaption,.sv-service-grid small,.sv-proof-card>p,.sv-proof-link,.sv-results-bottom .text-link,.sv-faq summary){font-size:16px;line-height:1.8}
  html[data-theme] .logo-wall-heading h2{font-size:28px}
  html[data-theme] .logo-wall-heading>div>p:last-child{font-size:16px}
  html[data-theme] :is(.logo-wall-actions .text-link,.logo-motion-toggle){font-size:16px}
}

@media (prefers-reduced-motion:reduce){html[data-theme] .contact-v6 *{transition:none}}

/* Metric labels are explanatory text, not decorative microcopy. */
html[data-theme] .sv-intro-bottom>p{font-size:16px;line-height:1.9}
html[data-theme] .sv-intro-bottom strong>span{font-size:16px}

/* Complete the same reading scale across the home, company, careers and data. */
html[data-theme] :is(.vision-body p,.principle-grid p,.principles-lead>p:last-child,.cs-conditions dd,.official-lp-entry>div>p:last-child,.national-context>p){font-size:18px;line-height:2}
html[data-theme] .company-list>div{font-size:18px;line-height:1.95}
html[data-theme] .company-list dt{font-size:16px}
html[data-theme] :is(.desktop-nav,.footer-nav){font-size:16px;line-height:1.9}
html[data-theme] .desktop-nav{gap:18px}
html[data-theme] :is(.footer-top p,.company-title>p:last-child,.back-top,.map-link,.media-lp-link,.national-context,.national-context a,.case-shop,.case-more,.filter-result,.comparison-chart>p,.bar-row>span,.single-result>p,.performance-headline>p:first-child,.performance-headline>p:last-child>span,.salary-feature>p,.job-conditions dt,.network-stats p,.reach-label){font-size:16px;line-height:1.9}
html[data-theme] :is(.footer-bottom,.mobile-menu nav span,.network-stats time,.network-stats span,.feature-live-stat time,.feature-live-stat>p:nth-child(2)>span,.listed-count .unit,.region-legend,.gender-legend,.gender-donut span,.population-panel>div>p:last-child,.real-media-preview>figcaption,.real-profile>span,.real-media-heading>.eyebrow,.career-field-scene figcaption span,.live-reels-status,.case-publication .video-source,.reel-card .video-source,.reel-category){font-size:15px;line-height:1.9}
html[data-theme] :is(.career-field-scene figcaption,.interview-play>span,.interview-play-overlay b,.video-dialog-head h2,.video-dialog-close,.case-publication .reel-start,.reel-start){font-size:16px;line-height:1.85}
html[data-theme] :is(.sv-evidence-input li,.sv-evidence-output li){font-size:17px;line-height:1.9}
html[data-theme] :is(.sv-journey-visual figcaption,.sv-action-label>span){font-size:16px;line-height:1.85}
html[data-theme] .sv-pain-answer h4{font-size:20px;line-height:1.7}
html[data-theme] .mobile-menu{overflow-y:auto;overscroll-behavior:contain}
html[data-theme] .mobile-menu nav{flex-shrink:0}
/* Old content sheets used !important for these notes. Override only that scope. */
html[data-theme] .small-note{font-size:16px!important;line-height:1.9!important}
html[data-theme] .reel-card>.small-note{font-size:15px!important}
html[data-theme] .audience-small{font-size:18px!important;line-height:2!important}
html[data-theme] :is(.population-result p,.feature-live-stat>p:first-child,.feature-live-stat .feature-stat-note){font-size:16px!important;line-height:1.9!important}
html[data-theme] .reel-category{font-size:15px!important;line-height:1.85!important}
