/* Forentis v24.1 — footer/social icons, responsive refinement, title consistency, WhatsApp visibility */
:root{
  --forentis-title-unified: clamp(31px,2.95vw,41px);
  --forentis-title-unified-mobile: clamp(28px,7.8vw,36px);
}

/* ------------------------------
   Title consistency
   ------------------------------ */
main :is(.section-head h2,.about-intro-grid h2,.about-network-copy h2,.about-cta h2,.contact-form-head h2,.contact-final-cta h2){
  font-family: var(--p-font, Arial, Helvetica, sans-serif) !important;
  font-weight: 800 !important;
  line-height: 1.11 !important;
  letter-spacing: -.032em !important;
  text-wrap: balance !important;
}
.about-page .section-head,
.contact-page .section-head{
  max-width: 940px !important;
}
.about-page .section-head>h2,
.about-page .about-intro-grid h2,
.about-page .about-network-copy h2,
.about-page .about-cta h2,
.contact-page .section-head>h2,
.contact-page .contact-form-head h2,
.contact-page .contact-final-cta h2{
  font-size: var(--forentis-title-unified) !important;
  max-width: 17.5ch !important;
  width: 100%;
  white-space: normal !important;
  margin-bottom: 14px !important;
}
.about-page .section-head>p,
.contact-page .section-head>p,
.contact-page .contact-form-head p{
  max-width: 58ch !important;
}
main :is(.page-hero-copy h1,.about-hero-copy h1,.contact-hero-copy h1,.region-hero-inner h1){
  letter-spacing: -.038em !important;
  line-height: 1.05 !important;
  text-wrap: balance;
}
@media(max-width:720px){
  .about-page .section-head>h2,
  .about-page .about-intro-grid h2,
  .about-page .about-network-copy h2,
  .about-page .about-cta h2,
  .contact-page .section-head>h2,
  .contact-page .contact-form-head h2,
  .contact-page .contact-final-cta h2{
    font-size: var(--forentis-title-unified-mobile) !important;
    max-width: 14ch !important;
    margin-inline: auto !important;
  }
  main :is(.page-hero-copy h1,.about-hero-copy h1,.contact-hero-copy h1,.region-hero-inner h1){
    font-size: clamp(30px,8vw,39px) !important;
    max-width: 13ch;
    margin-inline: auto;
  }
}

/* ------------------------------
   Responsive polish
   ------------------------------ */
@media(max-width:720px){
  main .story-images{gap:14px}
  main .story-images img{border-radius:16px}
  main .story-images .tall,
  main .story-images .small{min-height:220px}
  main .contact-hero-grid,
  main .about-hero-grid,
  main .about-network-grid,
  main .contact-main-grid{gap:24px}
  main .about-stats{gap:12px}
  main .about-stat,
  main .contact-channel,
  main .contact-side-card,
  main .about-principles-card,
  main .about-capability,
  main .about-process-item,
  main .about-diff-card,
  main .contact-brief-card,
  main .contact-assurance-grid article{
    border-radius: 16px;
  }
}

/* ------------------------------
   Footer upgrade
   ------------------------------ */
.premium-footer-grid{
  grid-template-columns:minmax(320px,1.5fr) repeat(3,minmax(0,1fr));
  gap:42px;
}
.premium-footer-about{padding-right:10px}
.premium-footer-identity{display:grid;gap:18px}
.premium-footer-brandmark-footer{display:inline-flex;align-items:center;max-width:100%}
.premium-footer-brandmark-footer img{width:min(100%,430px);height:auto}
.premium-footer-slogan{
  margin:0;
  color:#fff;
  font-size:14px;
  line-height:1.45;
  font-weight:800;
  letter-spacing:-.01em;
}
.premium-footer-description{
  max-width:410px !important;
  margin:0 0 22px !important;
  color:#a9c0ce !important;
  font-size:14px !important;
  line-height:1.75 !important;
}
.premium-footer-grid h3{margin-bottom:17px;font-size:12px;letter-spacing:.11em}
.premium-footer-grid>div:not(:first-child){display:flex;flex-direction:column}
.premium-footer-grid>div:not(:first-child)>a{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.55;
  color:#c1d3de;
  padding:7px 0;
}
.premium-contact-link{font-weight:700}
.premium-contact-icon,
.premium-social-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  color:#7ccbef;
}
.premium-contact-icon svg,
.premium-social-icon svg{width:18px;height:18px;display:block;fill:currentColor}
.premium-contact-icon svg path[fill="none"]{fill:none}
.premium-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.premium-social-link{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:9px 13px !important;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.12);
  color:#cfe2ed !important;
  font-size:12px !important;
  font-weight:700;
}
.premium-social-link:hover,
.premium-contact-link:hover{color:#fff !important}
.premium-social-link:hover{background:rgba(255,255,255,.09)}
.premium-footer-bottom{
  padding:20px 0 25px;
  font-size:11.5px;
}
.premium-footer-bottom>div{gap:16px}

@media(max-width:1010px){
  .premium-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:28px}
  .premium-footer-grid>div:last-child{grid-column:2/-1}
}
@media(max-width:720px){
  .premium-footer-callout-inner{padding:30px 0}
  .premium-footer-grid{
    grid-template-columns:1fr !important;
    text-align:center;
    gap:24px;
    padding:36px 0 26px;
  }
  .premium-footer-grid>div{padding:0 6px}
  .premium-footer-grid>div:not(:first-child){
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:18px;
  }
  .premium-footer-grid>div:last-child{grid-column:auto}
  .premium-footer-about{padding-right:0}
  .premium-footer-brandmark-footer img{width:min(100%,330px);margin-inline:auto}
  .premium-footer-slogan,
  .premium-footer-description{margin-inline:auto !important}
  .premium-footer-grid>div:not(:first-child)>a{justify-content:center}
  .premium-footer-trust,
  .premium-footer-social,
  .premium-footer-bottom>div{justify-content:center}
  .premium-footer-bottom{flex-direction:column;text-align:center;gap:10px}
}
@media(max-width:390px){
  .premium-footer-social{flex-direction:column;align-items:stretch}
  .premium-social-link{width:100%;justify-content:center}
}

/* ------------------------------
   WhatsApp button visibility
   ------------------------------ */
.whatsapp-premium{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  z-index:999 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  min-height:62px !important;
  width:auto !important;
  height:auto !important;
  padding:9px 16px 9px 9px !important;
  border-radius:999px !important;
  border:1px solid rgba(111,195,236,.34) !important;
  background:linear-gradient(135deg,#07293e 0%,#0d547a 100%) !important;
  color:#fff !important;
  box-shadow:0 20px 42px rgba(2,20,34,.30) !important;
  transform:none !important;
}
.whatsapp-premium:hover{transform:translateY(-1px) !important;color:#fff !important}
.whatsapp-premium-icon{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#25d366,#17bc5b) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), 0 10px 22px rgba(37,211,102,.24) !important;
}
.whatsapp-premium-icon svg{width:24px !important;height:24px !important;display:block;fill:currentColor !important;stroke:none !important}
.whatsapp-premium-copy{
  display:grid !important;
  align-content:center;
  gap:3px;
  min-width:0;
}
.whatsapp-premium small{
  display:block !important;
  margin:0 !important;
  font-size:10px !important;
  line-height:1 !important;
  color:#cae0ec !important;
}
.whatsapp-premium strong{
  display:block !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  color:#fff !important;
}
@media(max-width:720px){
  .whatsapp-premium{
    right:12px !important;
    bottom:12px !important;
    min-height:58px !important;
    padding:8px 14px 8px 8px !important;
  }
  .whatsapp-premium-icon{width:42px !important;height:42px !important;flex-basis:42px !important}
  .whatsapp-premium strong{font-size:13px !important}
}
@media(max-width:420px){
  .whatsapp-premium{
    width:58px !important;
    min-width:58px !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
  }
  .whatsapp-premium-copy{display:none !important}
  .whatsapp-premium-icon{width:42px !important;height:42px !important;flex-basis:42px !important}
}
