/* Contact and CNS estimate follow the existing navy, ice-blue and white identity. */
.call-link{gap:12px;white-space:nowrap}
.call-link .icon{width:19px;height:19px}
.utility-phone{display:inline-flex;align-items:center;gap:8px;min-height:34px;text-decoration:none;color:inherit;font-size:.75rem;font-weight:600}
.utility-phone:hover{text-decoration:underline}
.utility-phone .icon{width:14px;height:14px}
.footer-phone{font-size:.875rem;margin-top:16px}
.contact-band .call-demo-link{display:flex;color:white;margin-top:10px;font-size:.875rem}
.contact-band .call-demo-link .icon{width:16px}
.contact-sidebar>.call-link{margin-block:12px 18px;max-width:100%}
.booking-rx-note{font-size:.8125rem;background:#e9f3f5;color:var(--brand-strong);border-radius:8px;padding:14px 18px;margin:22px 0 14px}
.check-rx-help{font-size:.875rem;line-height:1.8;color:var(--brand-strong);background:#e6f2f4;border-radius:8px;padding:16px;margin-bottom:24px}
.practice-call{background:#eaf4f6;border-radius:16px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;margin-top:40px}
.practice-call .eyebrow{font-size:.6875rem;margin-bottom:12px}
.practice-call h2,.article-content .practice-call h2{font-size:1.7rem;line-height:1.3;margin-bottom:15px}
.practice-call p:not(.eyebrow){font-size:.9375rem;line-height:1.8;max-width:550px}
.practice-call .call-rx{font-size:.8125rem!important;margin-top:12px;color:var(--muted)}
.practice-call>div:last-child>p{text-align:center;font-size:.75rem;margin-top:10px;color:var(--muted)}
.article-content .practice-call{grid-template-columns:1fr;margin-bottom:40px;gap:22px}
.article-content .practice-call>div:last-child{text-align:left}
.article-content .practice-call>div:last-child>p{text-align:left}
.cns-teaser{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:#edf5f7;border-radius:16px;padding:30px 34px;margin-bottom:48px}
.cns-teaser h2{font-size:1.8rem;line-height:1.3;margin-bottom:12px}
.cns-teaser .eyebrow{font-size:.6875rem;margin-bottom:10px}
.cns-teaser p:not(.eyebrow){font-size:.9375rem;max-width:640px;color:var(--muted)}
.cns-teaser>.button{font-size:.875rem}
.cns-head{max-width:930px;padding-bottom:52px;text-align:center}
.cns-head .lead{margin-inline:auto;max-width:780px}
.cns-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;max-width:1120px}
.cns-form-card{border:1px solid #cfe4e8;border-radius:20px;padding:32px;background:#fff}
.cns-rx-notice{color:var(--brand-strong);background:#edf5f7;border-radius:9px;padding:16px 18px;font-size:.8125rem;line-height:1.8;margin-bottom:26px}
.cns-form-card .field{margin-bottom:26px}
.cns-form-card .field>label{font-size:.875rem;line-height:1.65;display:block;margin-bottom:10px;font-weight:500}
.cns-form-card .field-help{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:10px}
.cns-form-card input[type=text]{font-variant-numeric:tabular-nums;font-size:1.2rem;min-height:60px;background:#fafdfd}
.cns-form-card .form-error:empty{display:none}
.cns-confirm{display:flex;gap:12px;font-size:.8125rem;line-height:1.8;color:var(--muted);cursor:pointer;margin-bottom:26px}
.cns-confirm input{margin-top:4px}
.cns-submit{width:100%}
.cns-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;margin-top:14px}
.cns-actions .text-link{font-size:.75rem;text-align:left}
.cns-privacy{font-size:.75rem;line-height:1.85;color:var(--muted);padding-top:24px;margin-top:16px;border-top:1px solid #d9e9ec}
.cns-result{background:#edf5f7;border-radius:20px;position:sticky;top:154px;padding:34px;min-width:0}
.cns-empty{padding:36px 2px;text-align:center}
.cns-empty-mark{display:flex;align-items:center;justify-content:center;margin:0 auto 28px;width:88px;height:88px;border-radius:50%;background:#dbedf0;color:var(--brand-strong);font-size:2.5rem;font-weight:400}
.cns-empty h2{font-size:1.75rem;line-height:1.35;margin-bottom:20px}
.cns-empty p{font-size:.9375rem;color:var(--muted);line-height:1.8}
.cns-result .eyebrow{font-size:.6875rem;margin-bottom:14px}
.cns-result h2{font-size:1.65rem;line-height:1.3;margin-bottom:20px}
.cns-result-note{font-size:.8125rem;line-height:1.85;margin-bottom:15px;color:#3d6168}
.cns-input-summary{margin:24px 0;padding-bottom:20px;border-bottom:1px solid #c7dee3}
.cns-input-summary>div{display:flex;justify-content:space-between;gap:24px;font-size:.8125rem;line-height:1.8;margin-bottom:7px}
.cns-input-summary>div:last-child{font-weight:600;color:var(--brand-strong);padding-top:6px}
.cns-input-summary dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.cns-scenario{background:#fff;padding:22px;border-radius:12px;margin-top:16px}
.cns-scenario h3{font-size:.9375rem;letter-spacing:0;line-height:1.6;margin-bottom:18px}
.cns-scenario dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}
.cns-scenario dt{font-size:.6875rem;line-height:1.7;color:var(--muted);margin-bottom:5px}
.cns-scenario dd{font-size:clamp(1.25rem,2vw,1.7rem);margin:0;font-weight:500;color:var(--brand-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cns-scenario .cns-own dd{color:#42676e}
.cns-split{height:7px;border-radius:8px;background:#b8d2d7;overflow:hidden;margin-top:21px}
.cns-split>span{display:block;height:100%;background:var(--brand-strong)}
.cns-formula{font-size:.75rem;line-height:1.9;color:var(--muted);margin-top:24px}
.cns-disclaimer{font-size:.75rem;line-height:1.85;color:var(--muted);margin-top:16px}
.cns-payment{font-size:.8125rem;line-height:1.85;padding-top:20px;margin-top:20px;border-top:1px solid #c7dee3;color:var(--brand-strong)}
.cns-explain{max-width:1120px}
.cns-explain>h2{font-size:2.35rem;margin-bottom:38px}
.cns-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.cns-rule-grid article>span{font-size:.75rem;color:var(--muted)}
.cns-rule-grid h3{font-size:1.3rem;margin-block:16px;line-height:1.35}
.cns-rule-grid p{font-size:.875rem;line-height:1.9;color:var(--muted)}
.cns-scope{font-size:.8125rem;line-height:1.85;border-block:1px solid #d3e5e8;padding-block:22px;margin-top:38px;color:var(--muted)}
.cns-sources{margin-top:32px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.cns-sources h3{font-size:1.125rem;margin-bottom:12px}
.cns-sources p{font-size:.75rem;color:var(--muted)}
.cns-sources ul{list-style:none;padding:0;margin:0}
.cns-sources a{display:flex;gap:15px;justify-content:space-between;min-height:44px;font-size:.8125rem;line-height:1.7;color:var(--brand-strong);padding-block:10px}
.cns-sources a>.icon{width:17px;height:17px}
@media(max-width:1080px){.cns-layout{gap:24px}.cns-form-card,.cns-result{padding:26px}.cns-result{position:static}.cns-rule-grid{gap:25px}.practice-call{gap:24px}.cns-teaser{grid-template-columns:1fr;gap:20px}.cns-teaser>.button{justify-self:start}}
@media(max-width:760px){
 .utility .wrap{gap:8px}.utility-phone{font-size:.6875rem;gap:5px}.utility .wrap>span:last-child{display:none}
 #mobile-booking{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 #mobile-booking .button{padding:12px 10px;font-size:.75rem;min-height:48px;gap:8px;white-space:normal}
 #mobile-booking .button .icon{width:17px;height:17px}
 .contact-band .call-link{white-space:normal;font-size:.9375rem}
 .practice-call{grid-template-columns:1fr;gap:22px;padding:26px 22px}
 .practice-call h2,.article-content .practice-call h2{font-size:1.5rem}
 .practice-call>div:last-child>p{text-align:left}
 .practice-call p:not(.eyebrow){font-size:.875rem}
 .practice-call .call-link{font-size:.875rem;max-width:100%}
 .cns-teaser{padding:26px 22px;margin-bottom:36px}
 .cns-teaser h2{font-size:1.6rem}
 .cns-teaser p:not(.eyebrow){font-size:.875rem}
 .cns-head{text-align:left;padding-bottom:32px}
 .cns-head h1{font-size:2.9rem}
 .cns-layout{grid-template-columns:1fr;gap:24px}
 .cns-form-card,.cns-result{padding:24px 22px;border-radius:16px}
 .cns-form-card .field{margin-bottom:22px}
 .cns-rx-notice{font-size:.75rem;padding:15px}
 .cns-result h2{font-size:1.5rem}
 .cns-empty{padding:12px 0}
 .cns-scenario{padding:20px 18px}
 .cns-scenario dd{font-size:1.45rem}
 .cns-explain>h2{font-size:1.9rem;margin-bottom:30px}
 .cns-rule-grid{grid-template-columns:1fr;gap:32px}
 .cns-rule-grid h3{margin-block:12px}
 .cns-sources{grid-template-columns:1fr;gap:20px}
 .cns-scope{margin-top:30px}
}
@media print{.practice-call,.cns-teaser{display:none!important}.cns-layout{display:block}.cns-result{position:static}.cns-actions,.cns-submit{display:none!important}}
