:root {
  --blue-dark: #0a2540;
  --blue-mid: #1a4b8c;
  --blue-pale: #e8f0fc;
  --red-main: #c0182a;
  --red-light: #e8293d;
  --red-pale: #fde8ea;
  --white: #ffffff;
  --gray-100: #f5f7fa;
  --gray-200: #e9ecef;
  --gray-400: #a0aab4;
  --gray-600: #5a6270;
  --gray-800: #1e2530;
  --gold: #d4a017;
  --shadow-sm: 0 2px 8px rgba(10,37,64,0.10);
  --shadow-md: 0 6px 24px rgba(10,37,64,0.14);
  --radius: 12px;
  --radius-sm: 8px;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter', sans-serif; color:var(--gray-800); background:var(--white); overflow-x:hidden; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

.topbar { background:var(--blue-dark); color:rgba(255,255,255,0.75); font-size:12.5px; padding:7px 0; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; }
.topbar a { color:rgba(255,255,255,0.75); text-decoration:none; }
.topbar a:hover { color:#fff; }
.tb-left, .tb-right { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.tb-left span, .tb-right a { display:flex; align-items:center; gap:6px; }

.navbar { background:var(--white); border-bottom:1px solid var(--gray-200); position:sticky; top:0; z-index:1000; box-shadow:var(--shadow-sm); }
.navbar .container { display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:24px; position:relative; }
.nav-panel { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex:1; min-width:0; }
.nav-toggle { display:none; }
.logo-wrap { display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.site-logo { height:52px; width:auto; display:block; object-fit:contain; }
.site-logo-footer { height:58px; margin-bottom:16px; }
.nav-links { display:flex; list-style:none; gap:2px; align-items:center; }
.nav-links a { display:flex; align-items:center; gap:5px; padding:8px 14px; font-size:13.5px; font-weight:500; color:var(--gray-800); text-decoration:none; border-radius:var(--radius-sm); transition:all 0.2s; }
.nav-links a:hover, .nav-links a.active { background:var(--blue-pale); color:var(--blue-mid); }
.nav-links .has-dropdown { position:relative; }
.nav-links .dropdown { display:none; position:absolute; top:100%; left:0; min-width:200px; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-md); border:1px solid var(--gray-200); padding:8px 0; margin:0; list-style:none; z-index:100; }
.nav-links .dropdown::before { content:''; position:absolute; left:0; right:0; bottom:100%; height:14px; }
.nav-links .dropdown li { list-style:none; margin:0; padding:0; }
.nav-links .has-dropdown:hover .dropdown,
.nav-links .has-dropdown:focus-within .dropdown { display:block; }
.nav-links .dropdown a { border-radius:0; padding:10px 16px; font-weight:400; }
.nav-links .dropdown a i { width:16px; font-size:12px; color:var(--blue-mid); }
.nav-actions { display:flex; gap:8px; align-items:center; }
.nav-bar-end { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.btn-branches { background:var(--red-main); color:#fff; border:none; border-radius:var(--radius-sm); padding:9px 16px; font-size:13px; font-weight:600; display:flex; align-items:center; gap:5px; text-decoration:none; white-space:nowrap; }
.btn-branches:hover { background:var(--red-light); }
.navbar.scrolled { box-shadow:0 4px 20px rgba(10,37,64,0.12); }

.coming-soon {
  min-height: calc(100vh - 280px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:80px 24px; background:var(--gray-100);
}
.coming-logo { height:120px; width:auto; margin-bottom:28px; }
.coming-label { font-family:'Playfair Display', serif; font-size:34px; font-weight:700; color:var(--blue-dark); }

footer { background:#060f1f; color:rgba(255,255,255,0.65); padding:64px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.3fr; gap:40px; margin-bottom:48px; }
.footer-brand p { font-size:13.5px; line-height:1.75; color:rgba(255,255,255,0.55); margin-bottom:20px; }
.footer-socials { display:flex; gap:10px; }
.soc-btn { width:36px; height:36px; border-radius:8px; border:1px solid rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.55); font-size:14px; text-decoration:none; }
.soc-btn:hover { background:var(--blue-mid); color:#fff; border-color:var(--blue-mid); }
.footer-col h4 { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:#fff; margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { font-size:13.5px; color:rgba(255,255,255,0.55); text-decoration:none; display:flex; align-items:center; gap:6px; }
.footer-col ul li a:hover { color:#fff; }
.footer-contact { display:flex; flex-direction:column; gap:14px; }
.fc-item { display:flex; gap:12px; align-items:flex-start; }
.fc-item .fc-icon { width:34px; height:34px; background:rgba(255,255,255,0.07); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:14px; flex-shrink:0; }
.fc-item .fc-text { font-size:13px; color:rgba(255,255,255,0.6); line-height:1.55; }
.fc-item .fc-text strong { color:#fff; display:block; font-size:13px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.07); padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:12.5px; color:rgba(255,255,255,0.4); }
.footer-bottom .flinks { display:flex; gap:20px; }
.footer-bottom .flinks a { font-size:12.5px; color:rgba(255,255,255,0.4); text-decoration:none; }
.whatsapp-btn { position:fixed; bottom:28px; right:28px; z-index:999; width:54px; height:54px; background:#25D366; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; color:#fff; box-shadow:0 6px 20px rgba(37,211,102,0.45); text-decoration:none; }
.whatsapp-btn:hover { transform:scale(1.08); }
.flash-ok { background:#e6f4ea; color:#1a7a34; padding:12px 16px; border-radius:8px; margin:16px 0; font-size:14px; }
.flash-err { background:var(--red-pale); color:var(--red-main); padding:12px 16px; border-radius:8px; margin:16px 0; font-size:14px; }
.field-validation-error, .validation-summary-errors { color:var(--red-main); font-size:12px; }

@media (max-width:1100px) {
  .nav-links a { padding:8px 10px; font-size:13px; }
  .container { padding:0 18px; }
}

@media (max-width:980px) {
  body.nav-locked { overflow:hidden; }
  .tb-address { display:none !important; }
  .topbar { font-size:12px; }
  .tb-right { gap:12px; width:100%; justify-content:center; }
  .navbar .container { padding:10px 16px; gap:12px; }
  .site-logo { height:42px; }
  .nav-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;
    height:42px;
    margin-left:auto;
    border:1px solid var(--gray-200);
    border-radius:10px;
    background:#fff;
    padding:10px;
    cursor:pointer;
  }
  .nav-toggle span {
    display:block;
    height:2px;
    width:100%;
    background:var(--blue-dark);
    border-radius:2px;
    transition:transform 0.2s, opacity 0.2s;
  }
  .navbar.menu-open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .navbar.menu-open .nav-toggle span:nth-child(2) { opacity:0; }
  .navbar.menu-open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .nav-panel {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border-bottom:1px solid var(--gray-200);
    box-shadow:var(--shadow-md);
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:12px 16px 20px;
    max-height:calc(100vh - 70px);
    overflow-y:auto;
  }
  .navbar.menu-open .nav-panel { display:flex; }
  .nav-links {
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .nav-links a { padding:12px 14px; font-size:15px; }
  .nav-links .dropdown {
    position:static;
    display:block;
    box-shadow:none;
    border:none;
    padding:0 0 0 14px;
    min-width:0;
  }
  .nav-links .dropdown::before { display:none; }
  .nav-actions { width:100%; }
  .nav-actions .btn-branches { width:100%; justify-content:center; padding:12px 16px; }
  .coming-soon { padding:56px 20px; min-height:50vh; }
  .coming-logo { height:80px; }
  .coming-label { font-size:24px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  footer { padding:40px 0 0; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .whatsapp-btn { width:50px; height:50px; bottom:18px; right:18px; font-size:24px; }
}

@media (max-width:560px) {
  .container { padding:0 14px; }
  .tb-right a span, .tb-right a { font-size:11.5px; }
  .apply-hero h1, .careers-hero h1 { word-break:break-word; }
}
