/* Helicon Consulting — shared type scale and legibility adjustments, v4. */
:root{
  --hc-type-body:17px;
  --hc-type-small:14px;
  --hc-type-label:13px;
  --hc-type-lead:20px;
  --hc-leading:1.64;
}
body.hc-core,body.hc-services,body.hc-reviews{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:var(--hc-type-body);line-height:var(--hc-leading);-webkit-text-size-adjust:100%;text-size-adjust:100%;}
/* Heading scale is consistent across the independent components. */
body.hc-core .display,body.hc-services h1,body.hc-reviews .hero h1{font-size:clamp(40px,4.8vw,64px);line-height:1.10;letter-spacing:-.041em;font-weight:690;}
body.hc-core .h1-small{font-size:clamp(38px,4.5vw,58px);line-height:1.13;}
body.hc-core h2,body.hc-services h2,body.hc-reviews .section-head h2{font-size:clamp(29px,3.2vw,41px);line-height:1.19;letter-spacing:-.028em;}
body.hc-core h3,body.hc-services h3,body.hc-reviews .review-card h3{font-size:22px;line-height:1.32;letter-spacing:-.017em;}
body.hc-core .lead,body.hc-services .lead,body.hc-reviews .lead{font-size:var(--hc-type-lead);line-height:1.58;color:#dae5d4;}
body.hc-core p,body.hc-services p,body.hc-reviews p{line-height:1.65;}
body.hc-core .eyebrow,body.hc-services .eyebrow,body.hc-reviews .eyebrow{font-size:var(--hc-type-label);line-height:1.4;letter-spacing:.12em;color:#c9e6b9;}
/* Core pages: paragraphs and labels should not drop to 12px without a reason. */
body.hc-core .section-top p,body.hc-core .project-body p{font-size:17px;line-height:1.62;}
body.hc-core .service-card h3{font-size:23px;}
body.hc-core .service-card p,body.hc-core .process p,body.hc-core .fact p{font-size:16px;line-height:1.62;}
body.hc-core .project-foot small,body.hc-core .proofline span,body.hc-core .quote-meta,body.hc-core .footer p,body.hc-core .service-no,body.hc-core .result-count,body.hc-core .compact-badge,body.hc-core .hint{font-size:14px;line-height:1.5;}
body.hc-core .hero-caption,body.hc-core .hero-mini span{font-size:13px;line-height:1.45;}
body.hc-core .project-badge{font-size:12px;}
body.hc-core .nav a{font-size:14px;}
/* Services V3 — preserve the approved card/section layout while fixing its type sizes. */
body.hc-services .section-intro{font-size:17px;line-height:1.66;}
body.hc-services .service-card h3{font-size:23px;line-height:1.28;}
body.hc-services .service-card p,body.hc-services .detail-summary,body.hc-services .help-list li,body.hc-services .output,body.hc-services .step p,body.hc-services .contact-notice{font-size:17px;line-height:1.62;}
body.hc-services .help-list li{padding-block:9px;}
body.hc-services .technical summary,body.hc-services .technical p,body.hc-services .capability p,body.hc-services .brief-form>p,body.hc-services .field label{font-size:16px;line-height:1.62;}
body.hc-services .list-title,body.hc-services .card-index,body.hc-services .detail-number,body.hc-services .step span,body.hc-services .output strong,body.hc-services .review-card .credit,body.hc-services .application-tags span,body.hc-services .form-caption{font-size:14px;line-height:1.50;}
body.hc-services .schematic figcaption,body.hc-services .hero-graphic figcaption{font-size:14px;line-height:1.5;}
body.hc-services .site-nav a{font-size:14px;}
body.hc-services .review-card blockquote{font-size:20px;line-height:1.55;}
body.hc-services .step h3{font-size:21px;}
/* Reviews: reduce oversized display treatment and enlarge undersized functional text. */
body.hc-reviews .section-intro{font-size:17px;line-height:1.65;}
body.hc-reviews .review-text,body.hc-reviews .feature-quote{font-family:Georgia,'Times New Roman',serif;}
body.hc-reviews .review-text{font-size:18px;line-height:1.57;}
body.hc-reviews .review-text.empty,body.hc-reviews .proof-note p,body.hc-reviews .value-card p{font:400 15px/1.62 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
body.hc-reviews .feature-quote{font-size:clamp(23px,2.5vw,33px);line-height:1.48;}
body.hc-reviews .score-number{font-size:clamp(72px,7.5vw,108px);line-height:1.05;}
body.hc-reviews .score-caption,body.hc-reviews .metric span,body.hc-reviews .filter-btn,body.hc-reviews .input-wrap input,body.hc-reviews .archive-info,body.hc-reviews .archive-info select,body.hc-reviews .review-rating,body.hc-reviews .review-footer,body.hc-reviews .proof-caption,body.hc-reviews .modal-note,body.hc-reviews .date-line,body.hc-reviews .modal-review-meta{font-size:14px;line-height:1.52;}
body.hc-reviews .review-cat,body.hc-reviews .review-year,body.hc-reviews .kicker,body.hc-reviews .score-label,body.hc-reviews .token,body.hc-reviews .modal-proof h3{font-size:13px;line-height:1.45;letter-spacing:.07em;}
body.hc-reviews .review-card h3{font-size:21px;}
body.hc-reviews .modal-main p.review-large{font-size:21px;line-height:1.62;}
body.hc-reviews .hc-nav .nav a{font-size:14px;}
body.hc-reviews .feature-bottom span,body.hc-reviews .feature-bottom strong,body.hc-reviews .value-card h3{font-size:15px;}
body.hc-reviews .modal-topbar strong,body.hc-reviews .modal-navigation,body.hc-reviews .modal-navigation button{font-size:14px;}
/* Shared controls */
body.hc-core .btn,body.hc-services .button,body.hc-reviews .filter-btn,body.hc-reviews .pill-btn,body.hc-reviews .ghost-btn{min-height:44px;}
body.hc-core .footer-links a,body.hc-services .footer-links a,body.hc-reviews .footer a{font-size:14px;}
@media(max-width:1080px) and (min-width:781px){body.hc-core .nav a,body.hc-services .site-nav a{font-size:13px;}}
@media(max-width:900px) and (min-width:781px){body.hc-reviews .hc-nav .nav a{font-size:13px;}}
@media(max-width:780px){
  :root{--hc-type-body:16px;--hc-type-lead:18px;}
  body.hc-core .nav a,body.hc-services .site-nav a,body.hc-reviews .hc-nav .nav a{font-size:16px;}
  body.hc-services .service-card p,body.hc-services .detail-summary,body.hc-services .help-list li,body.hc-core .section-top p{font-size:16px;}
  body.hc-reviews .hero h1{font-size:clamp(39px,9vw,54px);}
  body.hc-reviews .section-head h2{font-size:clamp(29px,7vw,37px);}
  body.hc-reviews .score-number{font-size:clamp(68px,14vw,92px);}
}
@media(max-width:540px){
  body.hc-core .display,body.hc-services h1{font-size:clamp(37px,10vw,47px);}
  body.hc-core .h1-small{font-size:clamp(37px,9.5vw,45px);}
  body.hc-core h2,body.hc-services h2{font-size:clamp(28px,7.6vw,34px);}
  body.hc-core .service-card h3,body.hc-services .service-card h3{font-size:22px;}
  body.hc-reviews .feature-quote{font-size:23px;}
  body.hc-reviews .hero h1{font-size:clamp(38px,9vw,48px);}
}

/* Ensure form controls and the grid can shrink on narrow phones. */
body.hc-core .two-col > *,body.hc-core .form-panel,body.hc-core .field,body.hc-core .field-grid{min-width:0;max-width:100%;}
body.hc-core .field input,body.hc-core .field select,body.hc-core .field textarea{width:100%;min-width:0;max-width:100%;}
body.hc-core .two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media(max-width:780px){body.hc-core .two-col{grid-template-columns:minmax(0,1fr);}}
