:root{
  --container:82rem;
  --aqua-soft:#eef7f6;
  --footer:#03253a;
  --footer-deep:#021828;
}
html{hyphens:auto}
body{overflow-x:hidden}
img{display:block}
.container{width:min(calc(100% - 2.8rem),var(--container))}
.btn,.main-nav a,.header-cta,.card .arrow{white-space:nowrap}
.card h1,.card h2,.card h3,.card p,.team-card h3,.team-card p,.approach-stop h3,.approach-stop p{overflow-wrap:break-word;hyphens:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}
.header-inner{min-height:84px;gap:1.25rem}
.brand-mark{display:inline-flex;flex-direction:column;justify-content:center;text-decoration:none;min-width:0;color:var(--blue)}
.brand-mark__title{font-size:clamp(1.55rem,1.2rem + 1vw,2.2rem);line-height:1;font-weight:500;font-style:italic;letter-spacing:-.03em;color:var(--blue)}
.brand-mark__tag{margin-top:.28rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.main-nav{gap:clamp(.7rem,1vw,1.1rem);margin-left:auto}
.main-nav a{font-size:clamp(.92rem,.82rem + .22vw,.99rem)}
.header-cta{margin-left:.35rem;flex:0 0 auto;font-size:clamp(.92rem,.82rem + .18vw,1rem);padding:.78rem clamp(1rem,1.6vw,1.28rem)}
.hero{padding:clamp(2.7rem,4.8vw,4.8rem) 0;background:linear-gradient(125deg,#fff 0,#fff 57%,var(--aqua-soft) 57%)}
.hero-grid{align-items:center;gap:clamp(2rem,4vw,4rem)}
.hero .lead{max-width:42rem}
.hero-location{font-weight:700;color:var(--muted)}
.home-hero-media{position:relative}
.home-hero-media .media-frame{background:#fff;padding:.9rem;border:1px solid var(--border);box-shadow:var(--shadow)}
.media-frame{position:relative;border-radius:1.4rem;overflow:hidden;box-shadow:var(--shadow)}
.media-frame img{width:100%;height:100%;object-fit:cover}
.media-frame--hero{min-height:33rem}
.media-frame--hero img{aspect-ratio:5/6;object-position:center}
.media-frame--split{min-height:28rem}
.media-frame--split img{aspect-ratio:4/3;object-position:center}
.hero-badges{position:absolute;left:1rem;top:1rem;display:flex;gap:.65rem;flex-wrap:wrap;z-index:2}
.hero-badge{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:999px;padding:.5rem .9rem;font-weight:800;color:var(--blue);box-shadow:var(--shadow);font-size:.92rem}
.hero-note{position:absolute;right:1rem;bottom:1rem;max-width:20rem;background:rgba(7,59,92,.95);color:#fff;padding:1rem 1.15rem;border-radius:1rem;box-shadow:var(--shadow)}
.hero-note strong{display:block;font-size:1rem;margin-bottom:.25rem}
.hero-note span{display:block;font-size:.96rem;line-height:1.45}
.section-head{align-items:end}
.card,.team-card{display:flex;flex-direction:column;height:100%}
.card p,.team-card p{margin-bottom:0}
.card--link .arrow{margin-top:auto;padding-top:1.1rem;font-weight:800}
.card-icon{margin-bottom:1.05rem}
.card-grid-equal .card h3{min-height:3.8em}
.eyebrow{letter-spacing:.12em}
.page-hero{padding:1.15rem 0 3.6rem;background:linear-gradient(125deg,#fff 0,#fff 60%,var(--aqua-soft) 60%)}
.page-hero--split .page-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:2.5rem;align-items:center}
.page-hero--split .content{max-width:none}
.page-hero-grid .media-frame,.page-hero-grid .feature-panel{justify-self:end;width:100%}
.breadcrumb{padding-top:1rem;padding-bottom:.35rem}
.orbit-section{overflow:hidden}
.orbit-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:center}
.orbit-wrap{display:flex;justify-content:center}
.orbit-graphic{position:relative;width:min(100%,34rem);aspect-ratio:1;display:grid;place-items:center}
.orbit-graphic::before{content:"";position:absolute;inset:10%;border:1.5px dashed rgba(7,59,92,.22);border-radius:50%}
.orbit-center{width:40%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#6f8db7 0,#5c7daa 100%);display:grid;place-items:center;text-align:center;color:#fff;padding:1.3rem;box-shadow:0 1rem 2rem rgba(7,59,92,.16), 0 0 0 .5rem rgba(255,255,255,.4)}
.orbit-center strong{font-size:clamp(1.25rem,1rem + .7vw,1.75rem);line-height:1.1}
.orbit-item{position:absolute;width:25%;aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#6d8eb9 0,#587ca8 100%);color:#fff;text-decoration:none;display:grid;place-items:center;text-align:center;padding:1rem;box-shadow:0 .8rem 1.5rem rgba(7,59,92,.16),0 0 0 .45rem rgba(255,255,255,.34);font-weight:800;line-height:1.18;transition:transform .18s ease, box-shadow .18s ease}
.orbit-item:hover{transform:translateY(-2px);box-shadow:0 1rem 1.7rem rgba(7,59,92,.22),0 0 0 .45rem rgba(255,255,255,.34);color:#fff}
.orbit-item span{display:block;font-size:clamp(.96rem,.85rem + .22vw,1.04rem)}
.orbit-item--1{top:5%;left:37.5%}
.orbit-item--2{top:20%;right:2%}
.orbit-item--3{bottom:19%;right:10%}
.orbit-item--4{bottom:5%;left:37.5%}
.orbit-item--5{top:20%;left:2%}
.services-grid-home{grid-template-columns:repeat(5,minmax(0,1fr))}
.approach-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start;padding-top:1rem}
.approach-track::before{content:"";position:absolute;left:10%;right:10%;top:2.55rem;height:4px;background:linear-gradient(90deg,var(--green) 0,var(--green) 100%);border-radius:999px}
.approach-stop{position:relative;background:#fff;border:1px solid var(--border);border-radius:1.4rem;padding:3.2rem 1.4rem 1.5rem;box-shadow:var(--shadow);text-align:center;height:100%}
.approach-stop .num{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:4rem;height:4rem;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;font-size:1.15rem;box-shadow:0 0 0 .45rem #fff}
.split--fpz-home{align-items:stretch}
.fpz-panel{background:linear-gradient(180deg,#0f4870 0,#073b5c 100%);color:#fff;border-radius:1.5rem;padding:1.6rem;display:grid;gap:1rem;box-shadow:var(--shadow)}
.fpz-panel h3{color:#fff;margin:0;font-size:clamp(2rem,2vw,2.8rem)}
.fpz-panel__badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:.4rem .8rem;border-radius:999px;background:#fff;color:var(--blue);font-weight:900}
.fpz-mini-steps{display:grid;gap:.9rem}
.fpz-mini-steps>div{background:#fff;color:var(--text);border-radius:1rem;padding:1rem 1rem 1rem 1.05rem}
.fpz-mini-steps strong{display:block;color:var(--blue);margin-bottom:.22rem}
.fpz-panel__text{margin:0;color:rgba(255,255,255,.9)}
.feature-panel{background:#fff;border:1px solid var(--border);border-radius:1.4rem;padding:1.6rem;box-shadow:var(--shadow)}
.pill-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}
.pill-list li{padding:.4rem .8rem;border-radius:999px;background:var(--aqua);color:var(--blue);font-weight:800}
.team-spotlight,.media-text-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.8rem;align-items:center}
.photo-box{border-radius:1.4rem;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);background:#fff}
.photo-box img{width:100%;height:100%;object-fit:cover}
.team-summary-card{background:#fff;border:1px solid var(--border);border-radius:1.4rem;padding:1.7rem;box-shadow:var(--shadow)}
.map-card{display:grid;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:1.4rem;padding:1.25rem;box-shadow:var(--shadow)}
.map-embed{border-radius:1rem;overflow:hidden;border:1px solid var(--border);background:#f7fafb}
.map-privacy-box{padding:1.4rem;display:grid;gap:1rem;min-height:16rem;align-content:center}
.map-canvas{height:23rem;width:100%}
.location-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.location-legend .card{padding:1.25rem}
.cta-band{padding:clamp(3rem,5vw,4.6rem) 0;background:linear-gradient(135deg,#dff0ee 0,#eef8f7 100%);color:var(--text);border-top:1px solid var(--border)}
.cta-band h2{color:var(--blue)}
.cta-band p{color:var(--text)}
.cta-inner{align-items:center}
.site-footer{background:linear-gradient(180deg,var(--footer) 0,var(--footer-deep) 100%);padding-top:4rem}
.site-footer .brand-mark{color:#fff}
.site-footer .brand-mark__title,.site-footer .brand-mark__tag{color:#fff}
.site-footer .brand-mark__tag{opacity:.7}
.site-footer a{display:block}
.footer-bottom{font-size:.92rem}
.team-grid--photos{grid-template-columns:repeat(3,1fr)}
.team-photo-card{padding:0;overflow:hidden}
.team-photo{aspect-ratio:4/5;background:#f2f6f7}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.team-card-body{padding:1.35rem 1.35rem 1.5rem;display:grid;gap:.5rem}
.team-role{font-weight:800;color:var(--blue)}
.team-note{font-size:.95rem;color:var(--muted)}
.inline-media{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}
.inline-media .photo-box img,.image-grid-2 .photo-box img{aspect-ratio:4/5;object-fit:cover}
.image-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.kicker-list{display:grid;gap:.8rem;margin:1rem 0 0;padding:0;list-style:none}
.kicker-list li{display:flex;gap:.7rem;align-items:flex-start}
.kicker-list li::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--green);margin-top:.45rem;flex:0 0 .7rem}
.grid--5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.3rem}
@media(max-width:1280px){
  .brand-mark__title{font-size:clamp(1.4rem,1rem + .9vw,1.9rem)}
  .main-nav a{font-size:clamp(.88rem,.8rem + .2vw,.95rem)}
}
@media(max-width:1100px){
  .page-hero--split .page-hero-grid,.orbit-layout,.team-spotlight,.media-text-split{grid-template-columns:1fr}
  .services-grid-home,.grid--5{grid-template-columns:repeat(2,1fr)}
  .location-legend{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .container{width:min(calc(100% - 2rem),var(--container))}
  .hero{background:linear-gradient(180deg,#fff 0,#fff 56%,var(--aqua-soft) 56%)}
  .page-hero{padding-bottom:3rem}
  .page-hero-grid .media-frame,.page-hero-grid .feature-panel{justify-self:stretch}
  .hero-note{max-width:17rem}
  .card-grid-equal .card h3{min-height:unset}
  .approach-track{grid-template-columns:1fr;gap:1.6rem;padding-top:0}
  .approach-track::before{display:none}
  .orbit-graphic{width:min(100%,28rem)}
}
@media(max-width:820px){
  .main-nav{gap:.8rem}
  .services-grid-home,.grid--5{grid-template-columns:1fr 1fr}
  .location-legend,.team-grid--photos,.inline-media,.image-grid-2{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 1.6rem),var(--container))}
  .header-inner{min-height:74px}
  .brand-mark__title{font-size:1.45rem}
  .brand-mark__tag{font-size:.62rem}
  .hero{padding-top:1.8rem}
  .media-frame--hero{min-height:auto}
  .hero-note{position:static;max-width:none;margin-top:.85rem;border-radius:1rem}
  .hero-badges{position:static;margin-bottom:.85rem}
  .orbit-graphic{width:min(100%,22rem)}
  .orbit-center{width:42%}
  .orbit-item{width:30%;padding:.7rem}
  .orbit-item span{font-size:.88rem}
  .services-grid-home,.grid--5,.team-grid--photos,.inline-media,.image-grid-2,.location-legend{grid-template-columns:1fr}
  .map-canvas{height:19rem}
  .button-group .btn{width:100%}
  .cta-band{padding-bottom:5.5rem}
}
