/* Locations: scoped page design; global navigation and footer stay shared. */
html body.qm-locations-page #lcn { --lcn-bar-ink:#171a20!important; --lcn-logo-filter:brightness(0)!important; }
html body.qm-locations-page #lcn .lcn-bar { background:#fff!important; border-bottom:1px solid #eee!important; }
#main .loc { color:#171a20; background:#fff; text-transform:none; font-family:var(--t-font),sans-serif; }
#main .loc *, #main .loc *::before, #main .loc *::after { box-sizing:border-box; }
#main .loc :is(h1,h2,h3,p,figure,dl,dd) { margin:0; }
#main .loc a { color:inherit; text-decoration:none; }
#main .loc a:focus-visible { outline:2px solid #3e6ae1; outline-offset:6px; }
#main .loc section[id] { scroll-margin-top:100px; }
#main .loc-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 5vw; background:#fff; }
#main .loc-bar-title { font-size:15px; font-weight:600; }
#main .loc-bar-links { display:flex; gap:30px; font-size:13px; color:#5c5e62; }
#main .loc-bar-links a:hover { color:#171a20; text-decoration:underline; text-underline-offset:6px; }
#main .loc-hero { position:relative; min-height:650px; height:calc(100svh - 130px); max-height:1000px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:64px 24px 40px; text-align:center; overflow:hidden; background:#333; }
#main .loc-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 46%,rgba(0,0,0,.55)); pointer-events:none; }
#main .loc-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 55%; }
#main .loc-hero-copy, #main .loc-hero-bottom { position:relative; z-index:1; width:100%; }
#main .loc .loc-hero :is(h1,p,a,span) { color:#fff!important; }
#main .loc .loc-hero h1 { font-size:clamp(36px,4vw,58px); line-height:1.25; font-weight:500; letter-spacing:.035em; }
#main .loc-hero-copy p { margin-top:16px; font-size:16px; letter-spacing:.08em; }
#main .loc-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:24px; }
#main .loc .loc-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; width:264px; max-width:100%; padding:12px 24px; border:0; border-radius:4px; background:#3e6ae1; color:#fff!important; font-size:14px; font-weight:500; line-height:1.4; transition:background .2s; }
#main .loc .loc-button:hover { background:#3457b1; }
#main .loc .loc-button-light { background:#f4f4f4; color:#171a20!important; }
#main .loc .loc-button-light:hover { background:#e2e3e3; }
#main .loc-hero-bottom>p { font-size:13px; }
#main .loc-hero-bottom .loc-image-note { font-size:11px; opacity:.72; margin-top:20px; }
#main .loc-wrap { width:min(1120px,88%); margin-inline:auto; }
#main .loc-office { padding-block:112px; }
#main .loc-kicker { font-size:11px; letter-spacing:.16em; color:#5c5e62; margin-bottom:20px!important; }
#main .loc h2 { font-size:clamp(28px,3vw,40px); line-height:1.35; font-weight:500; }
#main .loc-office-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; }
#main .loc-office-intro>p:last-child { max-width:330px; margin-top:24px; font-size:15px; line-height:1.9; color:#5c5e62; }
#main .loc-address { font-style:normal; }
#main .loc-address h3 { font-size:20px; font-weight:500; margin-bottom:20px; }
#main .loc-address p { font-size:15px; line-height:1.9; color:#5c5e62; }
#main .loc-address .loc-phone { display:inline-block; font-size:24px; letter-spacing:.04em; margin-top:26px; }
#main .loc-address-links { display:flex; flex-wrap:wrap; gap:28px; margin-top:20px; font-size:13px; }
#main .loc .loc-text-link { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
#main .loc-text-link:hover { color:#3457b1; }
#main .loc-collab { display:grid; grid-template-columns:1.2fr 1fr; background:#f4f4f4; }
#main .loc-collab figure { min-height:540px; }
#main .loc-collab img { display:block; width:100%; height:100%; object-fit:cover; }
#main .loc-collab-copy { padding:80px clamp(32px,5vw,88px); align-self:center; }
#main .loc-collab-copy>p:not(.loc-kicker) { font-size:15px; line-height:1.9; color:#5c5e62; margin-top:24px; }
#main .loc-collab-copy>a { display:inline-block; margin-top:28px; font-size:14px; }
#main .loc-process { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; padding-block:72px 100px; }
#main .loc-process article { border-top:1px solid #d0d1d2; padding-top:24px; }
#main .loc-process span { font-size:11px; color:#5c5e62; }
#main .loc-process h3 { font-size:20px; font-weight:500; margin:18px 0 12px; }
#main .loc-process p { font-size:14px; line-height:1.9; color:#5c5e62; }
#main .loc-visit { padding:92px 24px; background:#f4f4f4; text-align:center; }
#main .loc-visit>p { font-size:14px; line-height:1.9; color:#5c5e62; margin:20px auto 8px; max-width:500px; }
#main .loc-explore { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:40px; font-size:13px; }
#main .loc-explore div { display:flex; flex-wrap:wrap; gap:28px; color:#5c5e62; }
@media(min-width:1800px) { #main .loc-hero { padding-top:90px; } }
@media(max-width:760px) {
  #main .loc-bar { padding:16px 6vw; gap:16px; }
  #main .loc-bar-links { gap:20px; font-size:12px; }
  #main .loc-bar-links a:last-child { display:none; }
  #main .loc-hero { min-height:590px; height:calc(100svh - 116px); padding:48px 24px 28px; }
  #main .loc-hero>img { object-position:42% center; }
  #main .loc-hero-copy p { font-size:14px; letter-spacing:.03em; }
  #main .loc-actions { gap:12px; }
  #main .loc-hero .loc-actions { flex-direction:column; align-items:center; }
  #main .loc-hero .loc-button { width:min(100%,340px); }
  #main .loc-office { padding-block:64px; }
  #main .loc-office-grid { grid-template-columns:1fr; gap:40px; }
  #main .loc-office-intro>p:last-child { max-width:none; }
  #main .loc-collab { grid-template-columns:1fr; }
  #main .loc-collab figure { min-height:0; aspect-ratio:4/3; }
  #main .loc-collab-copy { padding:48px 6vw 56px; }
  #main .loc-process { grid-template-columns:1fr; gap:32px; padding-block:48px 64px; }
  #main .loc-process h3 { margin-top:12px; }
  #main .loc-visit { padding:64px 6vw; }
  #main .loc-explore { align-items:flex-start; flex-direction:column; padding-block:32px; }
}
@media(prefers-reduced-motion:reduce) { #main .loc * { transition:none!important; scroll-behavior:auto!important; } }
