/* FORENTIS 24.2 — GLOBAL CONSISTENCY / EVERY TEMPLATE. Loaded last. */
:root{--fo-section-h:clamp(30px,2.65vw,38px);--fo-section-h-mobile:clamp(27px,7.4vw,33px)}

/* Remove the arbitrary 17.5ch heading restriction from v24.1 and earlier versions.
   Long headings may wrap naturally on narrow screens; no truncation or tiny fonts. */
main .section-head,main .section-head.home-proof-head,
main.about-page .section-head,main.contact-page .section-head{width:100%!important;max-width:100%!important}
main :is(.section-head h2,.home-proof-head h2,.story-copy h2,.home-global-copy h2,
.about-intro-grid h2,.about-network-copy h2,.about-cta h2,.contact-form-head h2,
.contact-final-cta h2,.contact-brief-section h2,.contact-assurance-section h2,
.home-signature-copy h2,.home-clients-section h2,.region-home-flex h2){
 font-family:Arial,Helvetica,sans-serif!important;
 font-weight:800!important;font-size:var(--fo-section-h)!important;
 letter-spacing:-.03em!important;line-height:1.14!important;
 max-width:100%!important;width:100%!important;
 text-wrap:pretty!important;white-space:normal!important;
 margin-inline:0!important;overflow:visible!important;text-overflow:clip!important
}
main .section-head>p,main.about-page .section-head>p,
main.contact-page .section-head>p,main.contact-page .contact-form-head p{
 width:100%;max-width:850px!important;font-size:15px;line-height:1.72
}
main .section-head .eyebrow{font-size:11px;letter-spacing:.13em}
/* Card typography consistent, no tiny or giant headings mixed by template */
main :is(.service-body h3,.about-capability h3,.about-diff-card h3,.about-sector-card h3,
.contact-assurance-grid h3,.contact-brief-card h3,.home-client-card h3,
.home-proof-card h3,.premium-v18-editorial-card h3){
 font-family:Arial,Helvetica,sans-serif!important;font-size:19px!important;
 font-weight:800!important;letter-spacing:-.012em;line-height:1.28
}

/* Footer: icons only, precisely three items on one row at EVERY breakpoint */
.premium-footer .premium-footer-social{
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
 align-items:center!important;justify-content:flex-start!important;
 gap:10px!important;margin-top:20px!important;width:100%;min-width:0
}
.premium-footer .premium-footer-social .premium-social-link{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
 flex:0 0 42px!important;padding:0!important;border-radius:12px!important;
 border:1px solid rgba(142,204,235,.25)!important;
 background:rgba(255,255,255,.045)!important;
 color:#e4f4ff!important;overflow:visible!important
}
.premium-footer .premium-footer-social .premium-social-link:hover{
 background:rgba(31,150,206,.17)!important;border-color:#65bce8!important
}
.premium-footer .premium-footer-social .premium-social-link .premium-social-icon{
 display:grid!important;place-items:center;width:21px!important;height:21px!important;
 color:#d9f3ff!important;flex:0 0 21px!important
}
.premium-footer .premium-footer-social .premium-social-link .premium-social-icon svg{width:21px!important;height:21px!important}
.premium-footer .premium-footer-social .premium-social-link>span:last-child{display:none!important}
.premium-footer-brandmark-footer{max-width:100%!important}
.premium-footer-brandmark-footer img{display:block;width:min(100%,350px)!important;height:auto!important;object-fit:contain!important}
.premium-footer-identity{gap:14px!important}
.premium-footer-description{margin:16px 0 18px!important}
.premium-footer-slogan{line-height:1.5!important}
.premium-footer-bottom>div{align-items:center}

/* Floating WhatsApp: recognizable glyph with accessible label and consistent size */
.whatsapp-premium-icon svg{display:block!important;width:25px!important;height:25px!important}
.whatsapp-premium-icon svg path[fill="none"]{fill:none!important;stroke:#fff!important;stroke-width:2!important}
.whatsapp-premium-icon svg path[fill="currentColor"]{fill:#fff!important}

@media(max-width:1010px){
 .premium-footer .premium-footer-social{justify-content:center!important}
 .premium-footer-grid>div:last-child{grid-column:auto!important}
 .premium-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .premium-footer-grid>div:first-child{grid-column:1/-1!important}
}
@media(max-width:720px){
 main :is(.section-head h2,.home-proof-head h2,.story-copy h2,.home-global-copy h2,
 .about-intro-grid h2,.about-network-copy h2,.about-cta h2,.contact-form-head h2,
 .contact-final-cta h2,.contact-brief-section h2,.contact-assurance-section h2,
 .home-signature-copy h2,.home-clients-section h2,.region-home-flex h2){
  font-size:var(--fo-section-h-mobile)!important;line-height:1.18!important;
  margin-left:auto!important;margin-right:auto!important;
  text-align:center!important;width:100%!important;max-width:100%!important
 }
 main .section-head>p,main.contact-page .contact-form-head p{
  text-align:center!important;max-width:100%!important;margin-inline:auto!important
 }
 main :is(.section-head,.contact-form-head,.home-signature-copy,.story-copy,.about-network-copy){
  text-align:center!important
 }
 .premium-footer-grid{grid-template-columns:1fr!important;gap:24px!important}
 .premium-footer-grid>div:first-child{grid-column:auto!important}
 .premium-footer .premium-footer-social{justify-content:center!important;gap:12px!important}
 .premium-footer .premium-footer-social .premium-social-link{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;flex-basis:46px!important}
 .premium-footer-bottom{padding-bottom:90px!important}
 .premium-footer-brandmark-footer img{width:min(100%,315px)!important;margin-inline:auto!important}
 .premium-footer-description{margin-inline:auto!important;text-align:center!important}
 .premium-footer-slogan{text-align:center!important}
 .premium-footer-trust{justify-content:center!important}
 .premium-footer .premium-footer-social .premium-social-link>span:last-child{display:none!important}
}
/* Explicit high-specificity reset: old contact/benefits selectors used 17.5ch !important.
   Keep heading width aligned with its actual full-size section container. */
main.contact-page .section-head>h2,
main.about-page .section-head>h2,
main.contact-page .contact-form-head h2,
main.contact-page .contact-final-cta h2,
main.about-page .about-intro-grid h2,
main.about-page .about-network-copy h2,
main.about-page .about-cta h2{
  width:100%!important;max-width:100%!important;
  font-size:var(--fo-section-h)!important;
  line-height:1.14!important;
  white-space:normal!important;
  text-wrap:pretty!important;
  margin-left:0!important;margin-right:0!important;
}
@media(max-width:720px){
  main.contact-page .section-head>h2,
  main.about-page .section-head>h2,
  main.contact-page .contact-form-head h2,
  main.contact-page .contact-final-cta h2,
  main.about-page .about-intro-grid h2,
  main.about-page .about-network-copy h2,
  main.about-page .about-cta h2{
    font-size:var(--fo-section-h-mobile)!important;
    max-width:100%!important;
    width:100%!important;
    margin-left:auto!important;margin-right:auto!important;
    text-align:center!important;
  }
}
