/* Consultation funnel: preserve the existing visual identity and every image. */
.announcement-offer{background:none;border:0;border-left:1px solid #ffffff55;font:inherit;font-weight:700;cursor:pointer}
header{position:relative}
.hero-main{grid-template-columns:47% 53%;min-height:655px;gap:0;padding-top:48px;padding-bottom:40px}
.hero-copy{padding-right:18px}
.hero-copy h1{font-size:clamp(2.5rem,3.35vw,3.05rem);line-height:1.13;letter-spacing:-.045em;max-width:620px;text-wrap:balance}
.hero-copy h1>em{margin-top:.14em}
.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.08em;white-space:normal;max-width:none}
.hero-copy .intro{font-size:1rem;line-height:1.8;max-width:510px;margin:23px 0 27px}
.actions{align-items:center;gap:18px;flex-wrap:wrap}
.actions .button{font-size:1rem;padding:17px 22px}
.how-link{font-size:.875rem;font-weight:700;text-underline-offset:5px;text-decoration:underline;text-decoration-color:#6fa99f}
.how-link:hover{color:var(--teal)}
.assurances{font-size:.875rem;gap:10px 18px;margin-top:20px;flex-wrap:wrap}
.hero-visual{min-width:0}
.hero-master{width:108%;margin-left:-3%}
.visual-caption{font-size:.75rem;padding-inline:10px;line-height:1.5}
.benefit h3{font-size:.875rem}.benefit p{font-size:.875rem;line-height:1.6}
.problems-heading h2{max-width:820px;margin-inline:auto}
.consultation{padding:88px 0;background:radial-gradient(ellipse at 0 100%,#def3ee,transparent 58%),#f1f9f7;border-bottom:1px solid #dcece6}
.consultation-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.consultation .eyebrow,.faq-heading .eyebrow{font-size:.75rem;letter-spacing:.12em;line-height:1.6;margin-bottom:22px}
.consultation h2,.faq-heading h2{font:800 clamp(2rem,3.3vw,2.85rem)/1.16 var(--body);letter-spacing:-.04em;margin:0 0 24px}
.consultation-intro{font-size:1.0625rem;line-height:1.85;color:#536f78;max-width:490px;margin-bottom:30px}
.consultation .button{font-size:1rem;padding:18px 24px}
.consultation-note{font-size:.875rem;color:#4e6d72;line-height:1.6;margin:16px 0 0}
.consultation-value{border-top:2px solid #078678;padding-top:26px}
.value-heading{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:#397169;line-height:1.7;margin:0 0 5px}
.consultation-value article{display:grid;grid-template-columns:36px 1fr;gap:19px;padding:25px 0;border-bottom:1px solid #ccdfd9}
.consultation-value article>span{font-size:.875rem;font-weight:600;color:#178478;padding-top:2px}
.consultation-value h3{font-size:1.125rem;font-weight:800;line-height:1.45;letter-spacing:-.02em;margin:0 0 9px}
.consultation-value article p{font-size:1rem;line-height:1.75;color:#5b747b;margin:0;max-width:420px}
.section-heading>p:last-child{max-width:680px;line-height:1.75;margin-inline:auto;font-size:1rem}
.service p{font-size:1rem;line-height:1.7}.service h3{font-size:1.0625rem}
.system-heading>p:last-child{font-size:1rem;line-height:1.75;max-width:720px;margin-inline:auto}
.step-description,.implementation p{font-size:.875rem;line-height:1.75}
.process-caption{font-size:.75rem}.industry-heading>span{font-size:.875rem}.industry h3{font-size:.875rem}
.plan{border-top:1px solid #e1ece8;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr)}
.plan-action .button{white-space:normal;line-height:1.45}
.plan-action>p{font-size:.875rem;line-height:1.8;margin-top:18px}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-top:65px;padding-bottom:80px;border-top:1px solid #e1ece8}
.faq-heading{padding-top:17px}
.faq-heading h2{font-size:2.3rem}
.faq-heading>p:last-child{font-size:1rem;line-height:1.8;max-width:360px;color:#607682}
.faq-list details{padding:21px 0;border-bottom:1px solid #dce8e6}
.faq-list summary{font-size:1rem;line-height:1.6;cursor:pointer;padding-right:10px;font-weight:700}
.faq-list details p{font-size:1rem;line-height:1.8;color:#607682;margin:14px 0 0}
.closing h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.2;max-width:730px}
.closing .closing-copy>p:last-child{font-size:1rem;line-height:1.8;max-width:665px}
.closing .eyebrow{font-size:.75rem;line-height:1.7}
.closing-action{flex-shrink:0;text-align:center}
.closing .button{font-size:1rem;padding:18px 25px;min-width:0}
.closing .closing-action>p{font-size:.875rem;line-height:1.6;margin:16px 0 0}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;padding:40px;max-width:560px}
dialog .eyebrow{font-size:.75rem;letter-spacing:.1em;margin:8px 0 20px;line-height:1.6}
dialog .close{width:44px;height:44px;right:4px;top:3px;line-height:1}
dialog h2{font-size:2rem;letter-spacing:-.04em;line-height:1.2;margin-bottom:18px}
dialog p{font-size:1rem;line-height:1.8}
.dialog-reassurance{font-size:.875rem;line-height:1.6;padding:13px 15px;background:#eaf6ef;border-radius:8px;color:#27694f;margin:22px 0}
dialog .button{font-size:1rem;padding:17px 22px}
dialog .contact{font-size:1rem;line-height:1.6;margin-top:20px}
dialog .dialog-note{font-size:.875rem;line-height:1.6;text-align:center;margin:23px 0 0;color:#6a7f86}
@media(max-width:1200px){
  .hero-copy h1{font-size:2.65rem}.hero-main{grid-template-columns:48% 52%}
  .consultation-layout,.faq-section{gap:48px}
  .actions{gap:16px}.actions .button{font-size:.9375rem;padding:16px 19px}
  nav{gap:20px}.plan{gap:22px}
}
@media(max-width:1100px){.announcement-offer{border-left:0;padding-left:0}}
@media(max-width:1000px){
  nav{top:100%;border-radius:0 0 16px 16px}
  .hero-main{grid-template-columns:1fr;min-height:0;padding:40px 0 24px}
  .hero-copy{padding:0;max-width:700px}.hero-copy h1{font-size:3.2rem;max-width:680px}
  .hero-copy .intro{font-size:1.125rem;max-width:650px}
  .hero-master{width:100%;margin:0}.hero-visual{margin-top:32px}
  .consultation{padding:65px 0}.consultation-layout{gap:35px}
  .consultation h2{font-size:2.3rem}.consultation-intro{font-size:1rem}
  .consultation .button{font-size:.9375rem;padding:17px 18px}
  .consultation-value article{gap:12px;grid-template-columns:28px 1fr}
  .consultation-value h3{font-size:1rem}
  .plan{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  .faq-section{gap:36px}.faq-heading h2{font-size:2rem}
  .closing>.wrap{align-items:flex-start;gap:30px}
  .closing-action{flex-shrink:1;min-width:265px}.closing .button{padding:17px 20px;font-size:.9375rem}
}
@media(max-width:700px){
  .consultation-layout,.faq-section{grid-template-columns:1fr;gap:36px}
  .consultation{padding:48px 0}.consultation-copy{max-width:550px}
  .consultation h2{font-size:2.2rem}.consultation-intro{max-width:none}
  .consultation-value article p{max-width:none}
  .faq-section{padding-top:42px;padding-bottom:48px;gap:8px}.faq-heading h2{font-size:2rem}
  .faq-heading>p:last-child{max-width:500px}
  .closing>.wrap{display:block}.closing-action{margin-top:26px;min-width:0;text-align:left}
  .closing .button{margin:0}.closing .closing-action>p{margin-top:14px}
}
@media(max-width:600px){
  .announcement{padding:10px 16px;gap:5px}.announcement-plan{font-size:.75rem;line-height:1.6}
  .announcement-plan b{display:inline}.announcement-plan .ui-icon{align-self:center}
  .announcement-offer{display:none}
  header .compact{width:auto;font-size:.75rem;padding:10px 11px;min-height:44px;white-space:nowrap}
  .brand>span{font-size:25px}.brand small{font-size:10px}
  .hero-main{padding-top:29px}.hero-copy h1{font-size:clamp(2.05rem,8.6vw,2.8rem);line-height:1.16;letter-spacing:-.04em}
  .hero-copy .eyebrow{font-size:.75rem;letter-spacing:.06em;line-height:1.7;margin-bottom:18px}
  .hero-copy .intro{font-size:1rem;line-height:1.75;margin:23px 0}
  .actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .actions .button{font-size:1rem;min-height:56px;padding:15px 14px}
  .how-link{text-align:center;font-size:.875rem}
  .assurances{font-size:.75rem;justify-content:center;gap:8px 12px;margin-top:20px}
  .hero-visual{width:108%;margin:28px 0 0 -4%}.visual-caption{font-size:.75rem;max-width:330px;margin:6px auto 0}
  .benefit h3,.benefit p{font-size:.875rem}.benefit{padding:17px 14px}
  .problems-heading h2{font-size:1.5rem}.problems-heading h2 em{display:inline}
  .consultation h2{font-size:2rem}.consultation .eyebrow{margin-bottom:18px}
  .consultation-intro{margin-bottom:24px}.consultation .button{font-size:1rem;width:100%;padding-inline:14px}
  .consultation-note{text-align:center}.consultation-value article{padding:23px 0}
  .service h3{font-size:1rem}.service p{font-size:1rem}
  .section-heading h2{font-size:1.8rem}.section-heading>p:last-child{margin-inline:0;max-width:none}
  .system-heading>p:last-child{margin-inline:0}.step-description{font-size:1rem}
  .industry-heading>span{display:block;line-height:1.6}
  .plan{grid-template-columns:1fr}.plan-action .button{font-size:1rem}
  .closing h2{font-size:1.9rem}.closing .button{width:100%;font-size:1rem;padding-inline:14px}
  .closing .closing-action>p{text-align:center}
  dialog{padding:34px 24px 28px}dialog h2{font-size:1.7rem}
}
@media(max-width:360px){
  header{gap:8px}.brand>span{font-size:22px}header .compact{font-size:.75rem;padding-inline:9px}
  .hero-copy h1{font-size:2rem}.service-grid{grid-template-columns:1fr}
}

/* Benefit and problem headings share the existing type scale. */
.benefits-heading{padding:14px 0 24px;text-align:center}
.benefits-heading h2{font:800 clamp(1.5rem,2.6vw,2.125rem)/1.25 var(--body);letter-spacing:-.035em;margin:0;text-wrap:balance}
.problems-lead{font-size:1rem;line-height:1.6;color:#526e76;margin:12px 0 0}
@media(max-width:1000px){.benefits-heading{max-width:720px}}
@media(max-width:600px){.benefits-heading{padding:12px 0 22px}.benefits-heading h2{font-size:1.5rem;line-height:1.3}.problems-lead{margin-top:9px}.problems-heading h2{font-size:1.5rem;line-height:1.25}}
