:root{
  --navy-deep:#10203E;
  --navy-mid:#1B3358;
  --navy-line:#2A4570;
  --amber:#F2A93C;
  --amber-dark:#D98E22;
  --bg:#F1EFE9;
  --card-bg:#FFFFFF;
  --text:#171B22;
  --text-muted:#5B6472;
  --steel:#8B93A1;
  --border:#DDD9CE;
}
*{box-sizing:border-box;}
body{margin:0; font-family:'IBM Plex Sans', sans-serif; background:var(--bg); color:var(--text);}
h1,h2,h3{font-family:'Archivo', sans-serif; font-weight:900; letter-spacing:-0.01em; margin:0;}
a{text-decoration:none;}
.nav-link{color:#C7CEDB;}
.nav-link:hover{color:#ffffff;}
.nav-link.active{color:var(--amber); font-weight:600; border-bottom:2px solid var(--amber); padding-bottom:4px;}
.btn-primary{background:var(--amber); color:var(--navy-deep);}
.btn-primary:hover{background:var(--amber-dark);}
.btn-outline{color:#ffffff; border:1px solid #3C5680;}
.btn-outline:hover{background:rgba(255,255,255,0.08);}
.card{background:var(--card-bg); border:1px solid var(--border); border-radius:8px;}
.branch-card{background:var(--navy-deep); border:1px solid var(--navy-line); border-radius:8px; display:block; transition:border-color 0.15s ease;}
.branch-card:hover{border-color:var(--amber);}
.mail-link:hover{text-decoration:underline;}
.photo{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block; border:1px solid var(--border); cursor:zoom-in; transition:opacity 0.15s ease;}
.photo:hover{opacity:0.88;}
.branch-label{font-family:'Archivo',sans-serif; font-weight:900; font-size:20px; margin:0 0 16px;}
.lightbox-backdrop{position:fixed; inset:0; background:rgba(16,32,62,0.92); display:none; align-items:center; justify-content:center; z-index:100; padding:40px; cursor:zoom-out;}
.lightbox-backdrop.open{display:flex;}
.lightbox-img{max-width:100%; max-height:100%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,0.4);}
.lightbox-close{position:absolute; top:24px; right:32px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3); color:#ffffff; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:20px;}
.lightbox-caption{position:absolute; bottom:28px; left:0; right:0; text-align:center; color:#C7CEDB; font-size:14px;}
@media (max-width:900px){
  nav{gap:16px !important;}
  h1{font-size:34px !important;}
  section > div[style*="grid-template-columns:repeat(4"],
  section > div[style*="grid-template-columns:repeat(3"],
  section > div[style*="grid-template-columns:repeat(2"]{
    grid-template-columns:1fr !important;
  }
}
