/* Shared responsive layouts for Connections, Communications, and Consulting. */
.service-hero{position:relative;overflow:hidden;padding:clamp(76px,9vw,132px) 0}.service-hero:after{position:absolute;right:-18vw;bottom:-32vw;width:68vw;height:68vw;content:"";background:radial-gradient(circle,rgba(47,127,104,.34),transparent 64%);pointer-events:none}.service-hero-grid,.split-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(38px,7vw,92px);align-items:center}.service-hero h1{max-width:780px;font-size:clamp(3.2rem,7vw,7rem)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;color:rgba(255,255,255,.68);font-size:.82rem}.fpo-image{display:grid;min-height:420px;padding:clamp(24px,4vw,42px);border:1px dashed rgba(47,127,104,.68);border-radius:var(--radius);background:linear-gradient(135deg,rgba(47,127,104,.12),rgba(7,21,37,.04)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(47,127,104,.05) 18px 19px);place-items:center}.section-dark .fpo-image{border-color:rgba(140,198,182,.72);background:linear-gradient(135deg,rgba(47,127,104,.22),rgba(255,255,255,.04)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.045) 18px 19px)}.fpo-image-inner{max-width:520px;text-align:center}.fpo-label{display:inline-block;margin-bottom:14px;padding:7px 11px;color:var(--green-dark);background:var(--mint);border-radius:999px;font-size:.75rem;font-weight:850;letter-spacing:.12em}.section-dark .fpo-label{color:var(--navy);background:#8cc6b6}.fpo-image h2,.fpo-image h3{margin-bottom:12px;font-size:clamp(1.35rem,2.4vw,2.15rem)}.fpo-image p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}.section-dark .fpo-image p{color:rgba(255,255,255,.72)}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.capability-card{padding:clamp(25px,3vw,38px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.capability-card h3{font-size:clamp(1.35rem,2vw,1.85rem)}.capability-card p{color:var(--muted)}.capability-card .card-number{margin-bottom:28px}.outcome-panel{padding:clamp(30px,5vw,58px);background:var(--mint);border-radius:var(--radius)}.outcome-panel h2{font-size:clamp(2rem,4vw,3.75rem)}.related-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.related-card{min-height:240px;padding:clamp(26px,3vw,38px);color:var(--white);background:var(--navy-2);border:1px solid var(--line-light);border-radius:var(--radius)}.related-card p{color:rgba(255,255,255,.72)}.page-cta{text-align:center}.page-cta .section-lead{margin-inline:auto}.page-cta .button-row{justify-content:center}.desktop-nav>a[aria-current="page"]{color:var(--green-dark)}.desktop-nav>a[aria-current="page"]:after{transform:scaleX(1)}

/* Upgraded Connections capability cards with semantic iconography. */
#capabilities .capability-card{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
#capabilities .capability-card:after{position:absolute;inset:auto -34px -44px auto;width:120px;height:120px;border-radius:50%;content:"";background:radial-gradient(circle,rgba(47,127,104,.09),transparent 68%);pointer-events:none}
#capabilities .capability-card:hover{transform:translateY(-5px);border-color:rgba(47,127,104,.3);box-shadow:0 20px 44px rgba(7,21,37,.09)}
#capabilities .capability-card h3{margin-bottom:14px}
#capabilities .capability-card p{max-width:30ch;line-height:1.65}
#capabilities .capability-card .card-number{display:inline-grid;width:64px;height:64px;margin-bottom:28px;border-radius:50%;font-size:0;background:rgba(47,127,104,.1);place-items:center}
#capabilities .capability-card .card-number:before{width:30px;height:30px;content:"";background:var(--green-dark);mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}
#capabilities .capability-card:nth-child(1) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h11.2l-3.6-3.6L13 6l6 6-6 6-1.4-1.4 3.6-3.6H4v-2Zm2-7h5v2H6v12h5v2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 11h11.2l-3.6-3.6L13 6l6 6-6 6-1.4-1.4 3.6-3.6H4v-2Zm2-7h5v2H6v12h5v2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E")}
#capabilities .capability-card:nth-child(2) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.5 11 10 8.5a3.5 3.5 0 0 1 5 0l1 1 2-2 4 4-5.5 5.5a3 3 0 0 1-4.2.1l-.3-.3-.3.3a3 3 0 0 1-4.2-.1L2 11.5l4-4 1.5 1.5a3.5 3.5 0 0 1 0 2Zm1.4 1.4a1.5 1.5 0 0 0 0-2.1L6 7.4 3.8 9.6l5.1 5.1a1 1 0 0 0 1.4 0l.3-.3-1.7-2Zm2.5-2.5-1.2 1.2 3.5 3.5a1 1 0 0 0 1.4 0l4.1-4.1L18 9.4l-2 2-2.4-2.4a1.5 1.5 0 0 0-2.2 0Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.5 11 10 8.5a3.5 3.5 0 0 1 5 0l1 1 2-2 4 4-5.5 5.5a3 3 0 0 1-4.2.1l-.3-.3-.3.3a3 3 0 0 1-4.2-.1L2 11.5l4-4 1.5 1.5a3.5 3.5 0 0 1 0 2Zm1.4 1.4a1.5 1.5 0 0 0 0-2.1L6 7.4 3.8 9.6l5.1 5.1a1 1 0 0 0 1.4 0l.3-.3-1.7-2Zm2.5-2.5-1.2 1.2 3.5 3.5a1 1 0 0 0 1.4 0l4.1-4.1L18 9.4l-2 2-2.4-2.4a1.5 1.5 0 0 0-2.2 0Z'/%3E%3C/svg%3E")}
#capabilities .capability-card:nth-child(3) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 3 9 4v2H3V7l9-4Zm-6 8h2v7H6v-7Zm5 0h2v7h-2v-7Zm5 0h2v7h-2v-7ZM3 20v-2h18v2H3Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 3 9 4v2H3V7l9-4Zm-6 8h2v7H6v-7Zm5 0h2v7h-2v-7Zm5 0h2v7h-2v-7ZM3 20v-2h18v2H3Z'/%3E%3C/svg%3E")}
#capabilities .capability-card:nth-child(4) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19V5h2v10.6l4.2-4.2 3 3L19.6 8H16V6h7v7h-2V9.4l-7.8 7.8-3-3L6.4 18H20v2H5a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19V5h2v10.6l4.2-4.2 3 3L19.6 8H16V6h7v7h-2V9.4l-7.8 7.8-3-3L6.4 18H20v2H5a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E")}
#capabilities .capability-card:nth-child(5) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm6.9 9h-3.1a15 15 0 0 0-1.2-5A8 8 0 0 1 18.9 11ZM12 4c.8 1 1.6 3.3 1.8 7h-3.6C10.4 7.3 11.2 5 12 4ZM9.4 6a15 15 0 0 0-1.2 5H5.1A8 8 0 0 1 9.4 6Zm-4.3 7h3.1a15 15 0 0 0 1.2 5A8 8 0 0 1 5.1 13Zm6.9 7c-.8-1-1.6-3.3-1.8-7h3.6c-.2 3.7-1 6-1.8 7Zm2.6-2a15 15 0 0 0 1.2-5h3.1a8 8 0 0 1-4.3 5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm6.9 9h-3.1a15 15 0 0 0-1.2-5A8 8 0 0 1 18.9 11ZM12 4c.8 1 1.6 3.3 1.8 7h-3.6C10.4 7.3 11.2 5 12 4ZM9.4 6a15 15 0 0 0-1.2 5H5.1A8 8 0 0 1 9.4 6Zm-4.3 7h3.1a15 15 0 0 0 1.2 5A8 8 0 0 1 5.1 13Zm6.9 7c-.8-1-1.6-3.3-1.8-7h3.6c-.2 3.7-1 6-1.8 7Zm2.6-2a15 15 0 0 0 1.2-5h3.1a8 8 0 0 1-4.3 5Z'/%3E%3C/svg%3E")}
#capabilities .capability-card:nth-child(6) .card-number:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 8 3.5V11c0 5.2-3.4 9.2-8 11-4.6-1.8-8-5.8-8-11V5.5L12 2Zm0 2.2L6 6.8V11c0 4.1 2.5 7.3 6 8.8 3.5-1.5 6-4.7 6-8.8V6.8l-6-2.6Zm-1.1 10.6L7.6 11.5 9 10.1l1.9 1.9 4.2-4.2 1.4 1.4-5.6 5.6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 8 3.5V11c0 5.2-3.4 9.2-8 11-4.6-1.8-8-5.8-8-11V5.5L12 2Zm0 2.2L6 6.8V11c0 4.1 2.5 7.3 6 8.8 3.5-1.5 6-4.7 6-8.8V6.8l-6-2.6Zm-1.1 10.6L7.6 11.5 9 10.1l1.9 1.9 4.2-4.2 1.4 1.4-5.6 5.6Z'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){#capabilities .capability-card{transition:none}#capabilities .capability-card:hover{transform:none}}

/* Communications uses a narrow 9:16 portrait hero image so the long title has more room. */
.communications-page .service-hero-grid{grid-template-columns:minmax(0,1.72fr) minmax(240px,.48fr);gap:clamp(34px,5vw,72px)}
.communications-page .service-hero h1{max-width:none;font-size:clamp(3.5rem,7vw,7rem);white-space:nowrap}
.communications-page .service-hero-grid>.fpo-image{width:min(100%,310px);min-height:0;aspect-ratio:9/16;justify-self:end;padding:clamp(20px,2.4vw,30px)}
.communications-page .service-hero-grid>.fpo-image .fpo-image-inner{max-width:240px}
.communications-page .service-hero-grid>.fpo-image h2{font-size:clamp(1.25rem,1.8vw,1.7rem)}
.communications-page .service-hero-grid>.fpo-image p{font-size:.88rem}

@media(max-width:1100px){.communications-page .service-hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:32px}.communications-page .service-hero h1{font-size:clamp(3.25rem,6.8vw,5.7rem)}}
@media(max-width:980px){.service-hero-grid,.split-layout{grid-template-columns:1fr}.service-hero-grid .fpo-image{min-height:360px}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.communications-page .service-hero-grid{grid-template-columns:1fr}.communications-page .service-hero h1{white-space:normal}.communications-page .service-hero-grid>.fpo-image{width:min(72vw,320px);min-height:0;justify-self:center}}
@media(max-width:680px){.service-hero{padding:66px 0 78px}.service-hero h1{font-size:clamp(2.85rem,15vw,4.6rem)}.fpo-image{min-height:310px;padding:24px}.capability-grid,.related-pillars{grid-template-columns:1fr}.related-card{min-height:0}.communications-page .service-hero h1{font-size:clamp(2.65rem,12.5vw,4.25rem)}.communications-page .service-hero-grid>.fpo-image{width:min(78vw,300px)}}

/* Mobile refinement */
@media(max-width:980px){
  .service-hero{padding:58px 0 66px}
  .service-hero-grid,.split-layout{gap:30px}
  .service-hero-grid .fpo-image{min-height:0;width:min(100%,620px);justify-self:center}
  .capability-grid{gap:16px}
}
@media(max-width:720px){
  .service-hero{padding:44px 0 52px}
  .service-hero h1{font-size:clamp(2.35rem,11vw,3.55rem);line-height:1.01}
  .communications-page .service-hero h1{font-size:clamp(2.25rem,10.5vw,3.4rem);white-space:normal}
  .breadcrumbs{gap:6px;margin-bottom:16px;font-size:.76rem;line-height:1.35}
  .capability-grid,.related-pillars{grid-template-columns:1fr;gap:14px}
  .capability-card,.related-card{min-height:0;padding:22px;border-radius:16px}
  #capabilities .capability-card p{max-width:none}
  #capabilities .capability-card .card-number{margin-bottom:20px}
  .outcome-panel{padding:24px;border-radius:16px}
  .outcome-panel h2{font-size:clamp(1.85rem,8vw,2.55rem)}
  .fpo-image{min-height:240px;padding:20px;border-radius:16px}
  .communications-page .service-hero-grid>.fpo-image{width:min(82vw,285px)}
  .page-cta{text-align:left}
  .page-cta .section-lead{margin-inline:0}
  .page-cta .button-row{justify-content:stretch}
}
@media(hover:none){#capabilities .capability-card:hover{transform:none;box-shadow:none}}
