/* V7 site.css compact-header block, breakpoint widened from 1020px to 1239px for this site's six nav links */
@media (max-width:1239px){
  .site-nav{display:none}
  .brand-link img{width:147px}
  .nav-menu{display:block;position:static}
  .nav-menu>summary{list-style:none;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-input);cursor:pointer}
  .nav-menu>summary::-webkit-details-marker{display:none}
  .nav-menu>summary .icon{width:30px;height:30px}
  .nav-menu .icon-x{display:none}
  .nav-menu[open] .icon-x{display:block}
  .nav-menu[open] .icon-menu{display:none}
  .nav-menu ul{position:absolute;left:0;right:0;top:100%;margin:0;padding:8px var(--gutter) 20px;list-style:none;background:var(--navy);border-top:1px solid var(--line-dark-soft)}
  .nav-menu li a{display:block;padding:12px 0;font-size:18px;font-weight:700;text-decoration:none}
  .header-actions .btn--secondary{display:none}
}
/* V7 office-cards.css tablet row layout (761-1000px), applied from 761px up to a single office card (.oc-grid--one) */
@media (min-width:761px){.oc-grid--one{grid-template-columns:minmax(0,1fr)}.oc-grid--one .oc-card{flex-direction:row}.oc-grid--one .oc-map{flex:0 0 42%;aspect-ratio:auto;min-height:200px}}
/* single office card from 761px: city label across the top, then map and details side by side (no label-only column) */
@media (min-width:761px){.oc-grid--one .oc-card{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);grid-template-areas:"city city" "map body"}.oc-grid--one .oc-city{grid-area:city}.oc-grid--one .oc-map{grid-area:map}.oc-grid--one .oc-body{grid-area:body}}
/* .n-doc: Privacy and Terms text, one reading column in one band; more space above each H2 than below it */
.band:has(+.n-doc-band) .band-head{margin-bottom:0}.n-doc{max-width:32em}.n-doc .n-after{max-width:none}.n-doc-part h2{margin:0}.n-doc-part .lead-in{margin-top:12px}.n-doc-part+.n-doc-part{margin-top:48px}@media (max-width:760px){.n-doc-part+.n-doc-part{margin-top:40px}}
/* section photos: aligned tops, photo beside the paragraphs after a card row, full-width cards, full-width photos on phones */
.rel-row{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}@media (min-width:761px){.n-head-media .band-head{align-self:start}.n-body-media{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:stretch;margin:28px 0 8px}.n-body-media .n-body-text>:first-child{margin-top:0}.n-body-media .n-body-text>:last-child{margin-bottom:0}.n-body-media .n-sec-img{position:relative;min-height:260px;margin:0;overflow:hidden;border-radius:12px}.n-body-media .n-sec-img picture{position:absolute;inset:0}.n-body-media .n-sec-img img{display:block;width:100%;height:100%;object-fit:cover}}@media (min-width:761px) and (max-width:1000px){.n-body-media{grid-template-columns:minmax(0,1fr) 320px;gap:28px}}@media (max-width:760px){.n-head-media .n-sec-img,.n-body-media .n-sec-img{max-width:none;width:100%;margin:4px 0 0;border-radius:12px;overflow:hidden}.n-head-media .n-sec-img img,.n-body-media .n-sec-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.n-body-media{display:flex;flex-direction:column;gap:16px;margin:24px 0 8px}}.n-body-media .n-sec-img img{object-position:100% 100%}
/* brand eyebrow above the hero H1 (it follows the H1 in the HTML) */
.hero--v7 .v4-title{display:flex;flex-direction:column}.hero--v7 .v4-title .hero-loc-brand{order:-1;margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#d7e3e8;text-shadow:0 2px 14px rgba(4,14,26,.6)}@media (max-width:760px){.hero--v7 .v4-title .hero-loc-brand{margin-bottom:8px;font-size:13px}}
/* .n-head-media: photo column as tall as the heading column (no dead space), from 761px */
@media (min-width:761px){.n-head-media{align-items:stretch}.n-head-media .n-sec-img{position:relative;min-height:240px;margin:0;overflow:hidden}.n-head-media .n-sec-img picture{position:absolute;inset:0}.n-head-media .n-sec-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:100% 100%}.n-head-media .band-head{align-self:center}.n-head-media .n-sec-img{align-self:stretch}.n-head-media .band-head .n-after:last-child{margin-bottom:0}}
/* source order: <main> first in the HTML, the site header shown first (order -1), every body child full width */
body{display:flex;flex-direction:column}body>*{min-width:0;width:100%}.site-header{order:-1}
/* header Services dropdown and the phone menu's labelled services group */
.nav-dd{position:relative}.nav-dd-btn{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--white);font:700 18px/1.2 var(--font-body);cursor:pointer}.nav-dd-btn .icon{width:18px;height:18px;transform:rotate(90deg);transition:transform .15s}.nav-dd-btn[aria-expanded="true"] .icon{transform:rotate(-90deg)}.nav-dd-btn:hover,.nav-dd.is-current>.nav-dd-btn{color:var(--amber)}.nav-dd-btn:focus-visible{outline:3px solid var(--amber);outline-offset:4px;border-radius:2px}.site-nav .nav-dd-list{position:absolute;top:calc(100% + 14px);left:-18px;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:260px;margin:0;padding:8px 0;list-style:none;background:var(--navy);border:1px solid var(--line-dark);border-radius:var(--r-card);box-shadow:0 14px 28px rgba(0,0,0,.35)}.site-nav .nav-dd-list[hidden]{display:none}.site-nav .nav-dd-list a{display:block;padding:10px 18px;font-size:17px;white-space:nowrap}.site-nav a[aria-current="page"]{color:var(--amber)}.nav-group-k{margin:12px 0 2px;font:800 13px/1.2 var(--font-body);letter-spacing:.7px;text-transform:uppercase;color:var(--amber)}.nav-menu .nav-group ul{list-style:none;margin:0;padding:0 0 4px 14px;border:0;position:static;background:none}.nav-menu .nav-group li a{padding:9px 0}.nav-menu a[aria-current="page"]{color:var(--amber)}
