/* GRPL Circular v1.3.0 — responsive layout, identity, footer and CTA refinements.
   This stylesheet loads last; no existing database pages are re-seeded. */
:root {--grpl-footer-navy:#02356C;--grpl-page-gutter:clamp(18px,4vw,60px)}
/* Provide predictable sizing and readable layouts on all pages. */
.grpl-site {overflow-wrap:normal}
.grpl-site img,.grpl-site video,.grpl-site svg {max-width:100%}
.grpl-site :where(.audience-grid,.family-grid,.split,.section-heading,.industry-grid,.capability-grid,.clientele-network,.clientele-commitment,.footer-top,.footer-links,.contact-layout,.product-hero,.service-hero,.download-strip,.cta-panel) > * {min-width:0}
.grpl-site :where(.section-heading,.family-grid,.split,.clientele-commitment,.audience-grid,.footer-top) {column-gap:clamp(22px,3.6vw,72px)}
.grpl-site .audience-item h2 {line-height:1.17;letter-spacing:-.035em;overflow-wrap:normal;text-wrap:balance}
.grpl-site .audience-item p {line-height:1.65}
.grpl-site :where(.section-heading>p,.split p,.clientele-commitment-copy p) {line-height:1.7}
.grpl-site .family-card>.family-title {gap:14px}
.grpl-site :where(.family-card,.service-hero,.contact-layout,.process-detail,.industry-grid,.footer-links) {min-width:0}
.grpl-site .site-header .header-inner {gap:clamp(14px,1.6vw,26px)}
/* Brand identity: larger legal name, correctly balanced with smaller logo. */
.grpl-site .site-header .brand {flex:0 1 auto;min-width:0;max-width:100%;gap:12px}
.grpl-site .site-header .brand-logo {width:68px;height:47px;max-height:47px;flex:none;object-fit:contain}
.grpl-site .site-header .brand span {display:flex;flex-direction:column;min-width:0;justify-content:center}
.grpl-site .site-header .brand strong {display:block;font-family:Manrope,Arial,sans-serif;font-size:clamp(11.6px,.9vw,13px);font-weight:800;letter-spacing:-.025em;line-height:1.3;color:#172331;white-space:nowrap}
.grpl-site .site-header .brand small {display:block;font-size:9.4px;line-height:1.4;color:#566575;white-space:nowrap}
/* Dark navy footer is the same family of blue as the selected Raw Materials tab. */
.grpl-site .site-footer {background:var(--grpl-footer-navy);color:#E4EDF8;border-top:1px solid rgba(255,255,255,.09)}
.grpl-site .site-footer :where(h1,h2,h3,h4,strong) {color:#FFFFFF}
.grpl-site .site-footer .footer-top .eyebrow {color:#C5DBEE}
.grpl-site .site-footer :where(p,span,.footer-bottom,.footer-bottom span) {color:#C9DDEC}
.grpl-site .site-footer a,.grpl-site .site-footer .footer-links a,.grpl-site .site-footer .text-link {color:#F4FAFF;text-decoration:none}
.grpl-site .site-footer a:hover {color:#FFF;text-decoration:underline;text-underline-offset:4px}
.grpl-site .site-footer a:focus-visible {outline:2px solid #FFF;outline-offset:5px;border-radius:2px}
.grpl-site .site-footer .footer-bottom {border-top-color:rgba(255,255,255,.24);color:#CDDEEE}
.grpl-site .site-footer .inline-arrow,.grpl-site .site-footer .footer-links a:after {color:#FFF}
.grpl-site .site-footer .footer-top {margin-bottom:clamp(30px,4vw,58px)}
.grpl-site .site-footer .footer-links {gap:clamp(22px,3.5vw,70px)}
/* Global CTA finish — no secondary inset stroke, pseudo ring or circular arrow plate.
   Keep subtle exterior shadow and clear single border for click affordance. */
.grpl-site .button.grpl-cta{isolation:isolate;box-shadow:0 4px 11px rgba(1,29,61,.12)!important;border:1px solid rgba(1,29,61,.13)!important}
.grpl-site .button.grpl-cta::before,.grpl-site .button.grpl-cta::after{content:none!important;display:none!important;box-shadow:none!important;border:0!important}
.grpl-site .button.grpl-cta .grpl-cta__icon{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.grpl-site .button.grpl-cta:hover{box-shadow:0 6px 14px rgba(1,29,61,.16)!important}
.grpl-site .button.grpl-cta:focus-visible{outline:3px solid #68ABD4;outline-offset:3px}
/* Content text must stay readable when manually authored breaks disappear on small screens. */
@media(max-width:1180px) {
 .grpl-site .site-header .brand strong {font-size:11.7px}
 .grpl-site .site-header .brand-logo {width:61px;height:43px}
 .grpl-site .site-header .brand {gap:9px}
}
@media(max-width:1050px) {
 .grpl-site .site-header .brand strong {font-size:12.2px}
 .grpl-site .site-header .brand-logo {width:67px;height:45px}
 .grpl-site .site-header .brand {gap:12px}
}
@media(max-width:850px) {
 .grpl-site .audience-item h2 {font-size:clamp(27px,4vw,33px)}
 .grpl-site .section-heading>p {max-width:100%}
}
@media(max-width:600px) {
 .grpl-site .site-header .brand strong {font-size:clamp(9.8px,2.76vw,11px);line-height:1.25;letter-spacing:-.026em}
 .grpl-site .site-header .brand small {font-size:clamp(8px,2.15vw,9px)}
 .grpl-site .site-header .brand-logo {width:clamp(48px,15vw,62px);height:43px}
 .grpl-site .site-header .brand {gap:clamp(6px,2vw,10px)}
 .grpl-site .site-header .header-inner {min-height:72px;gap:8px}
 .grpl-site .menu-toggle {flex:none;font-size:12px;min-height:43px;padding:8px 11px}
 .grpl-site .audience-item h2 {font-size:clamp(25px,7.5vw,31px);line-height:1.2;margin:14px 0}
 .grpl-site .audience-grid {row-gap:26px}
 .grpl-site .audience-item + .audience-item {padding-top:28px}
 .grpl-site .section-heading {margin-bottom:clamp(24px,6vw,35px)}
 .grpl-site .section {padding-block:clamp(48px,10vw,68px)}
 .grpl-site .cta-panel {padding-block:clamp(36px,8vw,58px)}
 .grpl-site .site-footer {padding-top:clamp(45px,9vw,64px)}
 /* Side-by-side hero actions: allow 2-3 line labels without overflow. */
 .grpl-site .hero-video .actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2.5vw,12px);width:100%;max-width:100%;align-items:stretch;margin-top:26px}
 .grpl-site .hero-video .actions .button.grpl-cta {width:100%;max-width:100%;height:100%;min-height:68px;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px clamp(10px,2.8vw,15px);text-align:left;font-size:clamp(10.5px,2.9vw,12px);line-height:1.4}
 .grpl-site .hero-video .actions .button.grpl-cta .grpl-cta__text {font-size:inherit;min-width:0;line-height:1.42;overflow-wrap:normal;word-break:normal}
 .grpl-site .hero-video .actions .button.grpl-cta .grpl-cta__icon {flex:0 0 17px;width:17px;height:17px}
 .grpl-site .hero-video .actions .button.grpl-cta .grpl-cta__icon svg {width:17px;height:17px}
}
@media(max-width:380px) {
 .grpl-site .site-header .brand strong {font-size:clamp(9px,2.66vw,10.2px)}
 .grpl-site .site-header .brand small {font-size:8px}
 .grpl-site .site-header .brand-logo {width:48px;height:39px}
 .grpl-site .site-header .brand {gap:6px}
 .grpl-site .menu-toggle {padding:8px 9px;gap:7px}
 .grpl-site .hero-video .actions .button.grpl-cta {min-height:74px;padding:10px 10px;gap:5px;font-size:10.5px}
 .grpl-site .hero-video .actions .button.grpl-cta .grpl-cta__icon {width:15px;height:15px;flex-basis:15px}
 .grpl-site .hero-video .actions .button.grpl-cta .grpl-cta__icon svg {width:15px;height:15px}
}
@media(prefers-reduced-motion:reduce){.grpl-site .button.grpl-cta,.grpl-site .button.grpl-cta::before {transition:none!important}}
