/* Page-specific overrides */
/* ---------- Office + Map section ---------- */
.office-section{padding:0;}
.office-grid{display:grid; grid-template-columns:1fr 1fr; min-height:460px;}
.map-panel{position:relative; background:#e9e7e7;}
.map-panel iframe{width:100%; height:100%; border:0px; min-height:460px; display:block;}
.office-panel{background:var(--black); color:#fff; padding:56px 60px; display:flex; flex-direction:column; justify-content:center;}
.office-panel .kicker{color:var(--red); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px;}
.office-panel h2{color:#fff; font-size:clamp(1.6rem,2.6vw,2.1rem); margin-bottom:28px;}
.office-row{display:flex; gap:16px; align-items:flex-start; margin-bottom:22px;}
.office-row:last-child{margin-bottom:0;}
.office-row .ic{width:38px; height:38px; border-radius:10px; background:rgba(192,20,42,0.18); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.office-row .ic svg{width:18px; height:18px; stroke:var(--red); fill:none;}
.office-row .ic svg.filled{fill:var(--red); stroke:none;}
.office-row a, .office-row span.val{font-size:1rem; font-weight:600; color:#fff; text-decoration:none;}
.office-row a:hover{color:var(--red);}

@media (max-width:900px) {
  .office-grid{grid-template-columns:1fr;}
  .map-panel iframe{min-height:340px;}
  .office-panel{padding:44px 28px;}
}
/* ---------- Department grid ---------- */
section.dept{padding:72px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 44px;}
.section-head .kicker{color:var(--red); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; display:block;}
.section-head h2{font-size:clamp(1.6rem,2.6vw,2.1rem);}
.section-head p{color:var(--muted); margin-top:12px;}
.dept-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.dept-card{background:var(--panel); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:30px 28px; text-align:center; border:1px solid var(--red) ;}
.dept-card h3{font-size:1.05rem; color:var(--black); margin-bottom:18px;}
.dept-row{display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:12px; font-size:.92rem;}
.dept-row:last-child{margin-bottom:0;}
.dept-row svg{width:15px; height:15px; stroke:var(--red); fill:none; flex-shrink:0;}
.dept-row svg.filled{fill:var(--red); stroke:none;}
.dept-row a{text-decoration:none; color:var(--muted); font-weight:500;}
.dept-row a:hover{color:var(--red);}

@media (max-width:900px) {
  .dept-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:600px) {
  .dept-grid{grid-template-columns:1fr;}
}
/* ---------- Contact ---------- */
#contact{ margin-bottom: 80px; margin-top:80px; scroll-margin-top:200px;}
.contact-panel{background:var(--black); border:solid 3px; border-color: var(--red); border-radius:var(--radius); color:#fff; padding:56px; display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.contact-panel h2{color:#fff; font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:14px;}
.contact-panel p.lead{color:#C9C9C9; margin-bottom:28px;}
.contact-panel .info-row{display:flex; gap:14px; align-items:flex-start; margin-bottom:20px;}
.contact-panel .info-row .ic{width:38px; height:38px; border-radius:10px; background:rgba(192,20,42,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.contact-panel .info-row .ic svg{width:18px; height:18px; stroke:var(--red);}
.contact-panel .info-row .lbl{font-size:.75rem; color:#9A9A9A; text-transform:uppercase; letter-spacing:.03em;}
.contact-panel .info-row .val{font-size:.96rem; margin-top:3px;}
.contact-panel .info-row a{color:#fff; text-decoration:none; font-weight:600;}
form.enquiry .row{margin-bottom:16px;}
form.enquiry label{display:block; font-size:.8rem; font-weight:600; margin-bottom:7px; color:#C9C9C9;}
form.enquiry input, form.enquiry select, form.enquiry textarea{
    width:100%; padding:12px 15px; border:1.5px solid rgba(255,255,255,.18); border-radius:var(--radius-sm);
    font-family:inherit; font-size:.94rem; background:rgba(255,255,255,.06); color:#fff;
  }
form.enquiry input::placeholder, form.enquiry textarea::placeholder{color:#8A8A8A;}
form.enquiry input:focus, form.enquiry select:focus, form.enquiry textarea:focus{border-color:var(--red); outline:none;}
form.enquiry textarea{resize:vertical; min-height:96px;}
form.enquiry .two-col{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-note{font-size:.8rem; color:#9A9A9A; margin-top:12px;}

@media (max-width:900px) {
  .contact-panel{grid-template-columns:1fr; padding:36px 24px; gap:32px;}
  form.enquiry .two-col{grid-template-columns:1fr;}
}
.foot-map-link{display:inline-flex; align-items:center; gap:6px; font-size:.82rem; color:#fff; margin-bottom:12px; text-decoration:none; font-weight:600;}
.foot-map-link svg{width:12px;height:12px;stroke:#fff;}
.foot-map-link:hover{color:var(--red);}
