
/* V11 reviewed copy: keep the same display scale and allow longer labels to reflow. */
.fh-copy h1 .fh-outcome{color:var(--fh-ink)}
.fh-copy h1 .fh-ai-line{color:var(--fh-blue)}
.fh-copy p{max-width:900px;text-wrap:pretty}
.wf-copy h3{overflow-wrap:normal;hyphens:none;text-wrap:pretty}
.rv-copy h2 .title-line,.scenario-head h2 .title-line{white-space:normal}
.fh-copy{max-width:1240px}

/* Preserve the original two-line headline, with a slightly quieter display scale. */
.fh-copy h1{font-size:clamp(54px,5.25vw,74px);line-height:1.07;letter-spacing:-.028em}
.fh-copy h1>br{display:none}
.fh-copy h1 .fh-outcome,.fh-copy h1 .fh-ai-line{display:block}
.fh-copy p.fh-summary{max-width:1120px;margin:22px auto 25px;font-size:clamp(14px,1.4vw,18px);line-height:1.6;text-wrap:initial}
.fh-summary-lead,.fh-summary-benefit{display:block}
.fh-summary-lead{white-space:nowrap}
html[lang="zh-CN"] .fh-copy h1{font-size:clamp(50px,4.8vw,68px);line-height:1.28}
html[lang="zh-CN"] .fh-copy p.fh-summary{font-size:18px;line-height:1.75;margin:22px auto 25px;max-width:1120px}
@media(max-width:760px){
 .fh-copy h1{font-size:clamp(36px,10vw,54px);line-height:1.09;letter-spacing:-.026em}
 .fh-copy p.fh-summary{max-width:500px;font-size:16px;line-height:1.5;margin:18px auto 23px}
 .fh-summary-lead{white-space:normal;text-wrap:pretty}
 html[lang="zh-CN"] .fh-copy h1{font-size:clamp(32px,8.2vw,48px);line-height:1.34}
 html[lang="zh-CN"] .fh-copy p.fh-summary{font-size:16px;line-height:1.75;max-width:24em;margin:18px auto 23px}
}

/* Privacy policy access in the footer and enquiry form. */
.privacy-policy-link{color:var(--blue);text-decoration:underline;text-underline-offset:.2em;border-radius:2px}
.privacy-policy-link:hover{text-decoration-thickness:2px}
.privacy-policy-link:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* Existing blue-and-white direction: a consistent reading scale after copy edits. */
/* Shared section roles, scoped away from the report section and report artwork. */
:is(.wf-heading,.scenario-head,.ogc-copy,.ogt-story,.contact-intro) h2{
  font-size:clamp(36px,3.6vw,48px);
  font-weight:500;
  line-height:1.16;
  letter-spacing:-.02em;
}
:is(.wf-heading,.scenario-head,.contact-intro)>p,.ogc-copy>p,.ogt-lead{
  font-size:19px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0;
  text-wrap:pretty;
}
.wf-heading>p{max-width:62ch;margin:20px auto 0}
.wf-heading{margin-bottom:44px}
.wf-copy h3{font-size:25px;font-weight:600;line-height:1.26;letter-spacing:-.012em;margin:16px 0 12px}
.wf-copy>p{font-size:18px;line-height:1.6;letter-spacing:0}
.scenario h3{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.012em}
.scenario p{font-size:18px;line-height:1.65;letter-spacing:0}

/* AI explanation: give each sentence a clear role and enough column width. */
.rv-copy h2{font-size:clamp(30px,3.2vw,42px);font-weight:500;line-height:1.16;letter-spacing:-.018em;margin:0 0 24px;text-wrap:balance}
.rv-copy h2 .title-line{white-space:normal;line-height:inherit}
.rv-copy h2 .title-mask+.title-mask{margin-top:4px}
.rv-copy .rv-summary{max-width:56ch;margin:0;font-size:18px;line-height:1.65;font-weight:400;letter-spacing:0;text-wrap:pretty}
.rv-copy .rv-review-note{max-width:58ch;margin:12px 0 0;font-size:16px;line-height:1.6;font-weight:400;letter-spacing:0;text-wrap:pretty}
.rv-copy .rv-points{margin:24px 0 0;max-width:none}
.rv-copy .rv-points li{padding:13px 0;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:0}
@media(min-width:1024px){
  .rv-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(40px,4.2vw,64px)}
  .rv-copy{max-width:none}
}
@media(max-width:1023px){
  .rv-layout{grid-template-columns:1fr;gap:40px}
  .rv-copy{max-width:680px;width:100%;margin-inline:auto}
  .rv-copy h2{font-size:clamp(30px,4.2vw,42px)}
}

/* Team: icon, heading and paragraph form one compact group. */
.ogt-disciplines{gap:40px;margin-top:56px}
.ogt-discipline{padding:0 8px 0 0}
.ogt-discipline .ogt-role-mark{width:32px;height:32px;margin:0 0 16px}
.ogt-discipline h3{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}
.ogt-discipline p{max-width:42ch;font-size:18px;line-height:1.6;font-weight:400;letter-spacing:0;margin:0;text-wrap:pretty}

/* Form support copy: full width, quieter than the fields and primary action. */
.form-bottom{display:grid;gap:20px;margin-top:24px}
.form-guidance{display:grid;justify-items:start;gap:6px;min-width:0}
.form-guidance .form-note{max-width:none;margin:0;font-size:14px;line-height:1.55;font-weight:400;letter-spacing:0;text-wrap:pretty}
.form-guidance .privacy-policy-link{font-size:14px;line-height:1.5;font-weight:400}
.form-bottom .submit-btn{width:100%;min-height:52px;margin:0;padding:13px 20px;font-size:16px;line-height:1.5;font-weight:500;letter-spacing:0}

/* Keep the AI node between the source imagery and the output panel. */
@media(min-width:1101px){.fh-ai-node{left:60.25%}}
@media(min-width:761px) and (max-width:1100px){.fh-ai-node{left:54.75%}}

/* CJK needs its own line rhythm, without the old oversized paragraph scale. */
html[lang="zh-CN"] :is(.wf-heading,.scenario-head,.ogc-copy,.ogt-story,.contact-intro) h2{font-size:clamp(34px,3.5vw,46px);font-weight:600;line-height:1.3;letter-spacing:0}
html[lang="zh-CN"] :is(.wf-heading,.scenario-head,.contact-intro)>p,html[lang="zh-CN"] .ogc-copy>p,html[lang="zh-CN"] .ogt-lead{font-size:18px;line-height:1.75;letter-spacing:0}
html[lang="zh-CN"] .wf-copy h3{font-size:25px;line-height:1.35;letter-spacing:0}
html[lang="zh-CN"] .wf-copy>p{font-size:18px;line-height:1.7}
html[lang="zh-CN"] .rv-copy h2{font-size:clamp(32px,3.4vw,44px);line-height:1.3;font-weight:600;letter-spacing:0}
html[lang="zh-CN"] .rv-copy .rv-summary{font-size:18px;line-height:1.75}
html[lang="zh-CN"] .rv-copy .rv-review-note{font-size:16px;line-height:1.7}
html[lang="zh-CN"] .rv-copy .rv-points li{font-size:16px;line-height:1.65}
html[lang="zh-CN"] .ogt-discipline h3{font-size:22px;line-height:1.4;letter-spacing:0}
html[lang="zh-CN"] .ogt-discipline p{font-size:18px;line-height:1.75}
html[lang="zh-CN"] .form-guidance .form-note{font-size:14px;line-height:1.65}

@media(max-width:700px){
  :is(.wf-heading,.scenario-head,.ogc-copy,.ogt-story,.contact-intro) h2{font-size:clamp(30px,7.4vw,36px);line-height:1.2}
  :is(.wf-heading,.scenario-head,.contact-intro)>p,.ogc-copy>p,.ogt-lead{font-size:17px;line-height:1.65}
  .wf-heading{margin-bottom:32px}
  .wf-heading>p{margin-top:16px}
  .wf-copy h3{font-size:24px;line-height:1.28}
  .wf-copy>p,.scenario p{font-size:17px;line-height:1.65}
  .rv-copy h2{font-size:clamp(28px,7.4vw,36px);line-height:1.2;margin-bottom:20px}
  .rv-copy .rv-summary{font-size:17px;line-height:1.65}
  .rv-copy .rv-review-note{font-size:15px;line-height:1.65;margin-top:12px}
  .rv-copy .rv-points{margin-top:20px}
  .rv-copy .rv-points li{font-size:16px;padding:12px 0}
  .ogt-disciplines{gap:28px;margin-top:36px}
  .ogt-discipline{grid-template-columns:32px minmax(0,1fr);column-gap:16px;row-gap:0;padding:0}
  .ogt-discipline .ogt-role-mark{grid-row:1/3;width:32px;height:32px;margin:0}
  .ogt-discipline h3{font-size:22px;margin-bottom:8px}
  .ogt-discipline p{grid-column:2;font-size:17px;line-height:1.65;margin:0;max-width:none}
  .form-bottom{gap:18px;margin-top:20px}
  .form-guidance .form-note,.form-guidance .privacy-policy-link{font-size:14px}
  html[lang="zh-CN"] :is(.wf-heading,.scenario-head,.ogc-copy,.ogt-story,.contact-intro) h2{font-size:clamp(28px,7.4vw,34px);line-height:1.35}
  html[lang="zh-CN"] :is(.wf-heading,.scenario-head,.contact-intro)>p,html[lang="zh-CN"] .ogc-copy>p,html[lang="zh-CN"] .ogt-lead{font-size:17px;line-height:1.75}
  html[lang="zh-CN"] .wf-copy h3{font-size:24px;line-height:1.35}
  html[lang="zh-CN"] .wf-copy>p{font-size:17px;line-height:1.7}
  html[lang="zh-CN"] .rv-copy h2{font-size:clamp(28px,7.4vw,34px);line-height:1.35}
  html[lang="zh-CN"] .rv-copy .rv-summary{font-size:17px;line-height:1.75}
  html[lang="zh-CN"] .rv-copy .rv-review-note{font-size:15px;line-height:1.7}
  html[lang="zh-CN"] .ogt-discipline h3{font-size:22px}
  html[lang="zh-CN"] .ogt-discipline p{font-size:17px;line-height:1.75}
}
