/* V4 Refined spacing: one repeated rhythm, isolated from every other layout. */
.index-v4.v4-spacing {
  --v4-content-width:1152px;
  --pad:clamp(24px,5vw,64px);
  --space-section:128px;
  --space-layout:64px;
  --space-card:32px;
  --space-copy:24px;
  --section-title:clamp(34px,3.5vw,48px);
}
.v4-spacing .wrap { width:min(var(--v4-content-width),calc(100% - 2 * var(--pad))); }
.v4-spacing .v4-hero { padding:96px 0 0; }
.v4-spacing .v4-hero h1 { max-width:960px; font-size:clamp(44px,5vw,72px); line-height:1.04; letter-spacing:-.055em; }
.v4-spacing .v4-eyebrow,.v4-spacing .feat .lbl,.v4-spacing .news-head .lbl { margin-bottom:var(--space-copy); }
.v4-spacing .v4-hero > .wrap > p { max-width:60ch; font-size:16px; line-height:1.65; margin-top:32px; }
.v4-spacing .v4-actions { gap:16px 32px; margin-top:40px; }
.v4-spacing .v4-hero-note { margin-top:64px; padding:16px 0; }
.v4-spacing .v4-image-grid { gap:4px; }
.v4-spacing .v4-image-grid img { height:clamp(240px,22vw,352px); }
.v4-spacing :is(.v4-network,.feat,.v4-program,.front,.news) { padding:var(--space-section) 0; }
.v4-spacing .v4-network-top .v4-eyebrow { margin:0; }
.v4-spacing .v4-globe { margin:32px auto 48px; }
.v4-spacing :is(.v4-network h2,.feat-head h3,.v4-program h2,.front-head h2,.news-head h2) {
  font-size:var(--section-title); line-height:1.08; letter-spacing:-.045em;
}
.v4-spacing .v4-network h2 { margin:0 auto; }
.v4-spacing #why { padding-bottom:var(--space-section); }
.v4-spacing #why h2 { font-size:var(--section-title); }
.v4-spacing #facilities .front-cols { padding-bottom:0; }
.v4-spacing #facilities .fc-img { margin-top:auto; }
.v4-spacing .v4-network-copy { max-width:60ch; margin-top:var(--space-copy); font-size:16px; line-height:1.65; }
.v4-spacing .v4-location-tabs { margin:32px 0 16px; }
.v4-spacing .v4-location-copy { margin-bottom:16px; }
.v4-spacing :is(.feat-head,.front-head,.news-head) { grid-template-columns:1.15fr 1fr; gap:var(--space-layout); align-items:end; margin-bottom:var(--space-layout); }
.v4-spacing :is(.feat-intro,.front-head > p,.news-head > p) { max-width:46ch; width:100%; justify-self:start; padding:0; margin:0; font-size:15px; line-height:1.65; }
.v4-spacing .v4-service-filters { margin-bottom:32px; gap:8px; }
.v4-spacing #services .acard { min-height:352px; padding:var(--space-card); }
.v4-spacing #services .acard .no { height:28px; margin-bottom:32px; }
.v4-spacing #services .acard h4 { font-size:22px; line-height:1.15; min-height:2.3em; margin:0 0 16px; }
.v4-spacing #services .acard p { font-size:14px; line-height:1.65; }
.v4-spacing #services .service-card-actions { padding-top:32px; }
.v4-spacing #products { --product-columns:1fr 1fr; --product-gap:var(--space-layout); }
.v4-spacing #products .feat-grid { grid-template-columns:1fr 1fr; gap:var(--space-layout); align-items:start; }
.v4-spacing #products .frame { height:clamp(352px,35vw,480px); }
.v4-spacing #products .mini-card { padding-top:24px; }
.v4-spacing #products .mini-card .lbl { margin-bottom:16px; }
.v4-spacing #products .row button { padding:24px 0; align-items:center; }
.v4-spacing #products .row .ric { margin:0; }
.v4-spacing #products .row .bd p { line-height:1.65; }
.v4-spacing .v4-program-grid { grid-template-columns:1fr 1fr; gap:var(--space-layout); }
.v4-spacing .v4-program h2 { margin-bottom:var(--space-copy); }
.v4-spacing .v4-program-intro p { font-size:15px; line-height:1.65; margin-bottom:24px; max-width:46ch; }
.v4-spacing .v4-program-steps article { grid-template-columns:32px 1fr; gap:24px; padding:32px 0; }
.v4-spacing .v4-program-steps h3 { font-size:24px; line-height:1.2; margin-bottom:16px; }
.v4-spacing .v4-program-steps p { line-height:1.65; }
.v4-spacing .certs { padding:40px 0; }
.v4-spacing .front-cols { gap:32px; }
.v4-spacing .fcol { padding-top:32px; display:flex; flex-direction:column; align-items:start; }
.v4-spacing .fcol h4 { margin:24px 0 16px; font-size:28px; }
.v4-spacing .fcol > p { font-size:15px; line-height:1.65; min-height:0; margin:0 0 32px; max-width:54ch; }
.v4-spacing .fcol .fc-img { height:304px; margin-top:auto; }
.v4-spacing .fcol > .v4-text-link { margin-top:24px; }
.v4-spacing .news-grid { gap:32px; }
.v4-spacing .news-card { padding:32px 0 16px; }
.v4-spacing .news-card h4 { font-size:24px; }
.v4-spacing .news-card:hover :is(.nc-tag,h4,.nc-meta) { color:var(--ink); }
.v4-spacing.navy-mode .news-card:hover .nc-tag { color:var(--navy); }
.v4-spacing .ft { padding-top:var(--space-section); padding-bottom:32px; }
.v4-spacing .v4-footer-intro h2 { font-size:clamp(40px,5vw,64px); line-height:1.06; }
.v4-spacing .v4-footer-intro p { margin:32px 0 40px; line-height:1.65; }
.v4-spacing .v4-footer-intro .btn-pill { margin-right:24px; }
.v4-spacing .ft-cols { margin-top:96px; padding-top:48px; gap:32px; }
.v4-spacing .ft-base { margin-top:64px; }
@media(max-width:1100px) {
  .index-v4.v4-spacing { --space-section:96px; --space-layout:48px; --space-card:24px; }
  .v4-spacing #services .app-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v4-spacing #services .acard { min-height:320px; }
  .v4-spacing #services .acard h4 { min-height:0; }
  .v4-spacing #services .acard p { max-width:36ch; }
}
@media(max-width:900px) {
  .v4-spacing .v4-hero { padding-top:80px; }
  .v4-spacing :is(.feat-head,.front-head,.news-head) { grid-template-columns:minmax(0,1fr); gap:24px; }
  .v4-spacing :is(.feat-intro,.front-head > p,.news-head > p) { max-width:58ch; }
  .v4-spacing #products .feat-grid { grid-template-columns:minmax(0,1fr); }
  .v4-spacing .front-cols { gap:48px; }
  .v4-spacing .fcol .fc-img { height:352px; }
  .v4-spacing .news-grid { gap:24px; }
}
@media(max-width:650px) {
  .index-v4.v4-spacing { --pad:24px; --section-title:34px; --space-section:72px; --space-layout:40px; --space-card:24px; }
  .v4-spacing .v4-hero { padding-top:56px; }
  .v4-spacing .v4-hero h1 { font-size:clamp(36px,9.5vw,48px); line-height:1.05; }
  .v4-spacing .v4-hero > .wrap > p { font-size:15px; margin-top:24px; }
  .v4-spacing .v4-actions { gap:12px 24px; margin-top:32px; }
  .v4-spacing .v4-hero-note { margin-top:48px; padding:16px 0; }
  .v4-spacing .v4-image-grid img { height:200px; }
  .v4-spacing .v4-globe { margin:24px auto 32px; }
  .v4-spacing :is(.v4-network h2,.feat-head h3,.v4-program h2,.front-head h2,.news-head h2) { font-size:34px; }
  .v4-spacing .v4-network-copy { font-size:15px; }
  .v4-spacing .v4-location-tabs { margin-top:24px; }
  .v4-spacing .v4-service-filters { margin-bottom:24px; }
  .v4-spacing #services .acard { min-height:0; padding:32px 24px; }
  .v4-spacing #services .acard .no { margin-bottom:32px; }
  .v4-spacing #services .acard h4 { font-size:22px; }
  .v4-spacing #services .acard p { font-size:14px; }
  .v4-spacing #services .service-card-actions { padding-top:24px; }
  .v4-spacing #products .feat-grid { gap:32px; }
  .v4-spacing #products .frame { height:320px; }
  .v4-spacing .v4-program-grid { grid-template-columns:minmax(0,1fr); }
  .v4-spacing .v4-program-steps h3 { font-size:22px; }
  .v4-spacing .v4-program-steps article { padding:24px 0; gap:16px; }
  .v4-spacing .certs { padding:32px 0; }
  .v4-spacing .fcol h4 { font-size:25px; }
  .v4-spacing .fcol .fc-img { height:240px; }
  .v4-spacing .news-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .v4-spacing .news-card { padding-top:24px; }
  .v4-spacing .v4-footer-intro h2 { font-size:40px; }
  .v4-spacing .v4-footer-intro p { margin:24px 0 32px; font-size:15px; }
  .v4-spacing .v4-footer-intro .btn-pill { margin:0 12px 12px; }
  .v4-spacing .ft-cols { margin-top:64px; padding-top:32px; }
  .v4-spacing .ft-base { margin-top:48px; }
}
@media(max-width:520px) { .v4-spacing #services .app-cards { grid-template-columns:minmax(0,1fr); } }
@media(max-width:370px) { .index-v4.v4-spacing { --pad:20px; } }
