/* ============================================================
   Locations — VERBATIM copy of the <style> block in the
   export's ui_kits/locations/index.html. Do not hand-edit: keep it
   diffable against a future export.
   ============================================================ */
html,body{margin:0;padding:0}
a{color:#5939F5}a:hover{color:#4527d4}
.loc-page a{text-decoration:none}

/* 1 — Hero (Our Team hero style) */
.loc-hero{margin-top:80px;background:#FFFFFF;padding:40px 0 60px;text-align:center}
.loc-hero__title{margin:0 auto;max-width:900px;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:60px;line-height:1.1;letter-spacing:-1.8px;color:#050E1E;text-wrap:balance}
.loc-hero__sub{margin:24px auto 0;max-width:760px;font-family:"Epilogue",var(--font-body);font-weight:500;font-size:20px;line-height:1.45;letter-spacing:-0.01em;color:#050E1E;text-wrap:pretty}

/* 3 — State sections (sticky left ↔ right office list) */
.loc-state{padding:80px 0;background:#FFFFFF}
.loc-state__row{display:flex;justify-content:space-between;align-items:flex-start;gap:60px}
.loc-state__left{flex:0 0 453px;max-width:453px;position:sticky;top:104px;display:flex;flex-direction:column;gap:16px}
.loc-state__name{margin:0;font-family:var(--font-display);font-weight:500;font-size:40px;line-height:1.1;letter-spacing:-1.2px;color:#050E1E}
.loc-state__intro{margin:0;font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.5;color:#050E1E;text-wrap:pretty}
.loc-state__right{flex:0 0 690px;max-width:690px;min-width:0;display:flex;flex-direction:column;gap:20px}
.loc-card{position:relative;display:block;width:100%;aspect-ratio:690/500;overflow:hidden;background:#e9e9ea}
.loc-card img{width:100%;height:100%;object-fit:cover;display:block}
.loc-card__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.2)}
.loc-card__name{position:absolute;left:28px;right:28px;bottom:28px;margin:0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.2;letter-spacing:-0.48px;color:#FFFFFF;transition:opacity 200ms ease}
.loc-card__overlay{transition:opacity 200ms ease}
.loc-card:hover .loc-card__overlay,.loc-card:hover .loc-card__name{opacity:0}
.loc-card__panel{position:absolute;inset:0;background:var(--oc);color:var(--ink);transform:translateY(100%);transition:transform 500ms cubic-bezier(0.16,1,0.3,1);display:flex;flex-direction:column;padding:29px 28px 28px;box-sizing:border-box}
.loc-card:hover .loc-card__panel{transform:translateY(0)}
.loc-card__panel>*{opacity:0;transition:opacity 200ms ease}
.loc-card:hover .loc-card__panel>*{opacity:1;transition-delay:250ms}
/* Keyboard users receive the same office details as pointer users. */
.loc-card:focus-visible .loc-card__overlay,.loc-card:focus-visible .loc-card__name{opacity:0}
.loc-card:focus-visible .loc-card__panel{transform:translateY(0)}
.loc-card:focus-visible .loc-card__panel>*{opacity:1;transition-delay:250ms}
.loc-card__pname{margin:0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.2;letter-spacing:-0.48px}
.loc-card__addr{margin:auto 0 0;display:flex;flex-direction:column;gap:2px}
.loc-card__addr span{font-family:"Epilogue",var(--font-body);font-weight:400;font-size:20px;line-height:1.4}
.loc-card__view{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1;letter-spacing:-0.16px}
.loc-card__view svg{display:block}
.loc-empty{font-family:"Epilogue",var(--font-body);font-weight:400;font-size:16px;line-height:1.5;color:#050E1E}

/* 4 — Find accountants near you */
.loc-suburbs{padding:80px 0;background:#FFFFFF}
.loc-suburbs__h{margin:0 0 40px;font-family:var(--font-display);font-weight:var(--fw-halbfett);font-size:40px;line-height:1.1;letter-spacing:-1.2px;color:#050E1E}
.loc-suburbs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.loc-suburb{background:#F6F6F6;padding:32px;display:flex;flex-direction:column;gap:24px;align-items:flex-start;min-height:220px;box-sizing:border-box}
.loc-suburb__icon{width:40px;height:40px;display:block}
.loc-suburb__h{margin:0;font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.2;letter-spacing:-0.48px;color:#050E1E}
.loc-suburb__link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1;letter-spacing:-0.16px;color:#050E1E}
.loc-suburb__link svg{display:block;transition:transform 200ms ease}
.loc-suburb:hover .loc-suburb__link svg{transform:translateX(3px)}

/* Tablet */
@media (max-width:1199px){
  .loc-hero__title{font-size:48px;letter-spacing:-1.4px}
  .loc-state__row{gap:40px}
  .loc-state__left{flex:0 0 320px;max-width:320px}
  .loc-state__right{flex:1 1 auto;max-width:none}
  .loc-suburbs__grid{grid-template-columns:repeat(2,1fr)}
}
/* Mobile */
@media (max-width:767px){
  .loc-hero{padding:32px 0 48px}
  .loc-hero__title{font-size:34px;letter-spacing:-1px}
  .loc-hero__sub{font-size:18px}
  .loc-state{padding:60px 0}
  .loc-state__row{flex-direction:column;gap:32px}
  .loc-state__left{position:static;flex:none;max-width:none;width:100%}
  .loc-state__name{font-size:32px;letter-spacing:-0.9px}
  .loc-state__right{flex:none;width:100%}
  .loc-suburbs{padding:60px 0}
  .loc-suburbs__h{font-size:30px;letter-spacing:-0.9px}
  .loc-suburbs__grid{grid-template-columns:1fr}
  .loc-card__name{font-size:20px;bottom:28px}
  /* Keep the complete detail panel inside the unchanged mobile card. */
  .loc-card__panel{padding:20px}
  .loc-card__pname{font-size:20px}
  .loc-card__addr span{font-size:16px}
}

/* Keep the short state list balanced at tablet widths; show every option on phones. */
.page-template-locations .ot-filter__row{justify-content:center;flex-wrap:wrap}
@media(max-width:600px){
 .page-template-locations .ot-filter__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:visible}
 .page-template-locations .ot-tag{white-space:normal;font-size:16px;padding:18px 10px;border-radius:0}
}
