/* ══════════════════════════════
   ROOT
══════════════════════════════ */
:root{
  --navy:#05101f;
  --blue:#0b2a6b;
  --mid-blue:#1a4db5;
  --sky:#2563eb;
  --gold:#e8971a;
  --gold-light:#fbbf24;
  --green:#059669;
  --white:#ffffff;
  --off-white:#f8faff;
  --gray:#64748b;
  --light-gray:#f1f5f9;
  --border:#dde5f0;
  --text:#0f1b2d;
  --shadow:0 4px 24px rgba(5,16,31,.09);
  --shadow-lg:0 20px 60px rgba(5,16,31,.16);
  --radius:14px;
  --radius-lg:22px;
  --tr:.3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--text);overflow-x:hidden;line-height:1.65;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.logo{
  display:flex;
  align-items:center;
  height:30px;
}

.site-logo{
  height:100%;
  width:auto;
  object-fit:contain;
}
/* ══════════════════════════════
   TOP BAR
══════════════════════════════ */
.topbar{background:var(--navy);padding:9px 0;border-bottom:2px solid var(--gold);}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.tb-left{display:flex;gap:22px;}
.tb-item{display:flex;align-items:center;gap:7px;font-size:13px;color:rgba(255,255,255,.8);transition:color var(--tr);}
.tb-item:hover{color:var(--gold);}
.tb-item i{color:var(--gold);font-size:12px;}
.tb-right{display:flex;gap:10px;}
.tb-btn{padding:5px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all var(--tr);}
.tb-btn.wa{background:var(--green);color:#fff;}
.tb-btn.wa:hover{background:#047857;transform:translateY(-1px);}
.tb-btn.call{background:var(--gold);color:var(--navy);}
.tb-btn.call:hover{background:var(--gold-light);transform:translateY(-1px);}

/* ══════════════════════════════
   HEADER
══════════════════════════════ */
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 2px 20px rgba(5,16,31,.08);transition:all var(--tr);}
.header.scrolled{box-shadow:0 4px 30px rgba(5,16,31,.14);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--blue),var(--sky));border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(37,99,235,.35);position:relative;overflow:hidden;}
.logo-icon::after{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:rgba(255,255,255,.15);transform:rotate(45deg);}
.logo-icon i{color:#fff;font-size:20px;z-index:1;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-main{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--navy),var(--sky));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.logo-sub{font-size:10px;letter-spacing:2px;color:var(--gold);text-transform:uppercase;font-weight:600;margin-top:2px;}
.nav-menu{display:flex;align-items:center;gap:4px;}
.nav-item{position:relative;}
.nav-link{padding:10px 16px;font-size:14.5px;font-weight:500;color:var(--text);border-radius:8px;transition:all var(--tr);display:flex;align-items:center;gap:5px;white-space:nowrap;}
.nav-link:hover,.nav-link.active{color:var(--sky);background:rgba(37,99,235,.07);}
.arrow{font-size:10px;transition:transform var(--tr);}
.nav-item:hover .arrow{transform:rotate(180deg);}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--tr);border:1px solid var(--border);overflow:hidden;z-index:200;}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dd-item{display:flex;align-items:center;gap:10px;padding:12px 18px;font-size:14px;color:var(--text);transition:all var(--tr);border-bottom:1px solid var(--border);}
.dd-item:last-child{border-bottom:none;}
.dd-item:hover{background:var(--off-white);color:var(--sky);padding-left:24px;}
.dd-item i{width:30px;height:30px;background:var(--off-white);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--sky);flex-shrink:0;transition:all var(--tr);}
.dd-item:hover i{background:var(--sky);color:#fff;}
.nav-cta{background:linear-gradient(135deg,var(--sky),var(--mid-blue));color:#fff!important;padding:11px 22px!important;border-radius:10px!important;font-weight:600!important;box-shadow:0 4px 16px rgba(37,99,235,.35);}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,99,235,.45)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border-radius:8px;}
.ham-line{width:24px;height:2px;background:var(--text);border-radius:2px;transition:all var(--tr);}
.hamburger.open .ham-line:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open .ham-line:nth-child(2){opacity:0;}
.hamburger.open .ham-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ══════════════════════════════
   MOBILE MENU — FIX
══════════════════════════════ */
.mob-menu{
  display:none;
  background:#fff;
  border-top:1px solid var(--border);
  padding:0 0 16px;
  max-height:80vh;
  overflow-y:auto;
}
.mob-menu.open{display:block;}

/* Simple top-level links */
.mob-link{
  display:block;
  padding:13px 24px;
  font-size:15px;
  font-weight:500;
  color:var(--text);
  border-bottom:1px solid var(--border);
  transition:color var(--tr);
}
.mob-link:hover{color:var(--sky);}

/* Mobile dropdown wrapper */
.mobile-dropdown{border-bottom:1px solid var(--border);}

/* Toggle button row */
.mobile-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 24px;
  font-size:15px;
  font-weight:500;
  color:var(--text);
  cursor:pointer;
  user-select:none;
  transition:color var(--tr), background var(--tr);
}
.mobile-toggle:hover{color:var(--sky);background:var(--off-white);}
.mobile-toggle.active{color:var(--sky);background:var(--off-white);}
.mobile-toggle .toggle-arrow{
  font-size:11px;
  color:var(--gray);
  transition:transform var(--tr);
  flex-shrink:0;
}
.mobile-toggle.active .toggle-arrow{transform:rotate(180deg);}

/* Submenu */
.mobile-submenu{
  display:none;
  background:var(--off-white);
  border-top:1px solid var(--border);
}
.mobile-submenu.open{display:block;}
.mobile-submenu a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 24px 11px 36px;
  font-size:14px;
  color:var(--gray);
  border-bottom:1px solid rgba(221,229,240,.5);
  transition:color var(--tr), background var(--tr);
}
.mobile-submenu a:last-child{border-bottom:none;}
.mobile-submenu a::before{
  content:'›';
  color:var(--sky);
  font-size:16px;
  font-weight:700;
  flex-shrink:0;
}
.mobile-submenu a:hover{color:var(--sky);background:rgba(37,99,235,.05);}

/* Mobile CTA button at bottom */
.mob-cta-wrap{padding:16px 24px 8px;}
.mob-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:13px;
  background:linear-gradient(135deg,var(--sky),var(--mid-blue));
  color:#fff;
  border-radius:10px;
  font-size:15px;
  font-weight:700;
  box-shadow:0 4px 16px rgba(37,99,235,.3);
}

/* ══════════════════════════════
   PAGE HERO
══════════════════════════════ */
.page-hero{
  position:relative;padding:76px 0 90px;
  background:var(--navy);overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 80% at 80% 50%,rgba(37,99,235,.2) 0%,transparent 65%),
    radial-gradient(ellipse 40% 60% at 10% 80%,rgba(232,151,26,.10) 0%,transparent 60%),
    linear-gradient(135deg,#05101f 0%,#0b1e3d 55%,#07172e 100%);
}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:54px 54px;}
.hero-orb{position:absolute;border-radius:50%;filter:blur(72px);}
.orb1{width:440px;height:440px;background:rgba(37,99,235,.15);top:-120px;right:-60px;animation:orbf 8s ease-in-out infinite;}
.orb2{width:280px;height:280px;background:rgba(232,151,26,.08);bottom:30px;left:8%;animation:orbf 10s ease-in-out infinite;animation-delay:3s;}
@keyframes orbf{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}
.page-hero .container{position:relative;z-index:1;text-align:center;}
.breadcrumb{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:7px 18px;border-radius:30px;font-size:13px;color:rgba(255,255,255,.6);margin-bottom:22px;}
.breadcrumb a{color:var(--gold-light);font-weight:600;}
.breadcrumb i{font-size:10px;color:rgba(255,255,255,.3);}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(38px,6vw,66px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:18px;}
.page-hero h1 .gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.page-hero h1 .sky{background:linear-gradient(135deg,#60a5fa,var(--sky));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{font-size:18px;color:rgba(255,255,255,.62);max-width:560px;margin:0 auto 34px;line-height:1.75;}
.hero-quick-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.hqb{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:12px;font-size:14.5px;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);}
.hqb.wa{background:var(--green);color:#fff;box-shadow:0 6px 20px rgba(5,150,105,.4);}
.hqb.wa:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(5,150,105,.5);}
.hqb.call-btn{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);box-shadow:0 6px 20px rgba(232,151,26,.4);}
.hqb.call-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(232,151,26,.5);}
.hqb.email-btn{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.22);color:#fff;}
.hqb.email-btn:hover{background:rgba(255,255,255,.18);transform:translateY(-2px);}
.page-hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:55px;background:var(--white);clip-path:polygon(0 100%,100% 0,100% 100%);}

/* ══════════════════════════════
   CONTACT CARDS STRIP
══════════════════════════════ */
.contact-cards{padding:60px 0 0;}
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.contact-card{
  background:#fff;border-radius:var(--radius-lg);
  padding:30px 24px;border:1.5px solid var(--border);
  text-align:center;cursor:pointer;
  transition:all var(--tr);position:relative;overflow:hidden;
}
.contact-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--cc-accent,linear-gradient(90deg,var(--sky),var(--mid-blue)));
  transform:scaleX(0);transform-origin:center;transition:transform var(--tr);
}
.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.contact-card:hover::after{transform:scaleX(1);}
.cc-icon{
  width:66px;height:66px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;margin:0 auto 18px;
  transition:all var(--tr);
}
.contact-card:hover .cc-icon{transform:scale(1.1) rotate(-5deg);}
.cc-label{font-size:12px;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;}
.cc-main{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3;}
.cc-sub{font-size:13px;color:var(--gray);}
.cc-action{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:14px;font-size:13px;font-weight:700;
  padding:8px 18px;border-radius:8px;transition:all var(--tr);
}

/* ══════════════════════════════
   MAIN CONTACT SECTION
══════════════════════════════ */
.main-contact{padding:70px 0 80px;}
.main-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start;}

/* ── LEFT: FORM ── */
.form-card{
  background:#fff;border-radius:var(--radius-lg);
  border:1.5px solid var(--border);
  overflow:hidden;
  box-shadow:0 8px 40px rgba(5,16,31,.09);
}
.form-card-header{
  background:linear-gradient(135deg,var(--navy),var(--blue));
  padding:28px 32px;position:relative;overflow:hidden;
}
.form-card-header::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(37,99,235,.25);}
.form-card-header::after{content:'';position:absolute;bottom:-50px;left:-20px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.03);}
.fch-content{position:relative;z-index:1;}
.fch-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(232,151,26,.18);border:1px solid rgba(232,151,26,.3);color:var(--gold-light);padding:5px 14px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:12px;}
.fch-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:6px;}
.fch-desc{font-size:14px;color:rgba(255,255,255,.6);line-height:1.6;}
.fch-badges{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.fch-badge{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;}
.fch-badge i{color:var(--gold-light);font-size:11px;}

.form-body{padding:30px 32px;}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f-group{margin-bottom:18px;}
.f-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px;}
.f-label .req{color:#dc2626;}
.f-input,.f-select,.f-textarea{
  width:100%;padding:13px 16px;
  border:1.5px solid var(--border);border-radius:10px;
  font-family:'DM Sans',sans-serif;font-size:14.5px;color:var(--text);
  background:#fff;outline:none;transition:all var(--tr);
}
.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.f-input.error,.f-select.error{border-color:#dc2626;background:#fef9f9;}
.f-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;}
.f-textarea{min-height:110px;resize:vertical;}
.f-hint{font-size:12px;color:var(--gray);margin-top:5px;}
.check-row{display:flex;align-items:flex-start;gap:10px;}
.check-row input{width:17px;height:17px;margin-top:2px;accent-color:var(--sky);flex-shrink:0;cursor:pointer;}
.check-row label{font-size:13px;color:var(--gray);line-height:1.55;cursor:pointer;}
.check-row a{color:var(--sky);}
.submit-btn{
  width:100%;padding:16px;margin-top:22px;
  background:linear-gradient(135deg,var(--sky),var(--mid-blue));
  color:#fff;border:none;border-radius:12px;
  font-size:16px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 8px 26px rgba(37,99,235,.38);
  transition:all var(--tr);
}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(37,99,235,.46);}
.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;}

/* Success */
.form-success{display:none;padding:40px 32px;text-align:center;}
.success-anim{font-size:72px;margin-bottom:16px;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275);}
@keyframes popIn{from{transform:scale(0);}to{transform:scale(1);}}
.success-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--text);margin-bottom:10px;}
.success-desc{font-size:15px;color:var(--gray);line-height:1.7;margin-bottom:26px;}
.success-ref{display:inline-block;background:var(--off-white);border:1px solid var(--border);border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;color:var(--text);margin-bottom:26px;}
.success-ref span{color:var(--sky);}
.success-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.s-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);}
.s-btn.wa{background:var(--green);color:#fff;box-shadow:0 4px 14px rgba(5,150,105,.35);}
.s-btn.wa:hover{transform:translateY(-2px);}
.s-btn.call{background:var(--sky);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.3);}
.s-btn.call:hover{transform:translateY(-2px);}
.s-btn.back{background:var(--off-white);border:1.5px solid var(--border);color:var(--text);}

/* ── RIGHT: INFO PANEL ── */
.info-panel{display:flex;flex-direction:column;gap:22px;}

/* office card */
.office-card{
  background:var(--navy);border-radius:var(--radius-lg);
  padding:28px;position:relative;overflow:hidden;
}
.office-card::before{content:'';position:absolute;top:-50px;right:-50px;width:220px;height:220px;border-radius:50%;background:rgba(37,99,235,.15);filter:blur(30px);}
.office-card::after{content:'';position:absolute;bottom:-40px;left:-30px;width:160px;height:160px;border-radius:50%;background:rgba(232,151,26,.08);}
.oc-top{display:flex;align-items:center;gap:14px;margin-bottom:22px;position:relative;z-index:1;}
.oc-icon{width:50px;height:50px;border-radius:13px;background:rgba(232,151,26,.2);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.oc-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#fff;}
.oc-subtitle{font-size:12px;color:rgba(255,255,255,.45);margin-top:2px;}
.oc-details{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;}
.oc-row{display:flex;align-items:flex-start;gap:12px;}
.oc-row-icon{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--gold-light);flex-shrink:0;}
.oc-row-text .oc-row-label{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.oc-row-text .oc-row-value{font-size:14px;color:rgba(255,255,255,.88);line-height:1.5;}
.oc-row-text .oc-row-value a{color:var(--gold-light);font-weight:600;}
.oc-divider{height:1px;background:rgba(255,255,255,.07);margin:4px 0;}

/* quick contact card */
.qc-card{background:#fff;border-radius:var(--radius-lg);border:1.5px solid var(--border);padding:26px;box-shadow:var(--shadow);}
.qc-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.qc-title i{color:var(--sky);}
.qc-btns{display:flex;flex-direction:column;gap:12px;}
.qc-btn{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;border-radius:12px;
  cursor:pointer;border:none;width:100%;
  text-align:left;transition:all var(--tr);
  position:relative;overflow:hidden;
}
.qc-btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.1);opacity:0;transition:opacity var(--tr);}
.qc-btn:hover::after{opacity:1;}
.qc-btn:hover{transform:translateX(4px);}
.qc-btn.wa{background:linear-gradient(135deg,#128C7E,#25d366);}
.qc-btn.call{background:linear-gradient(135deg,var(--sky),var(--mid-blue));}
.qc-btn.mail{background:linear-gradient(135deg,#ea4335,#fa7152);}
.qc-btn-icon{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;}
.qc-btn-text{flex:1;}
.qc-btn-main{font-size:14.5px;font-weight:700;color:#fff;}
.qc-btn-sub{font-size:12px;color:rgba(255,255,255,.75);}
.qc-btn-arrow{color:rgba(255,255,255,.6);font-size:14px;}

/* working hours */
.hours-card{background:var(--off-white);border-radius:var(--radius-lg);padding:24px;border:1.5px solid var(--border);}
.hours-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:9px;}
.hours-title i{color:var(--sky);}
.hours-rows{display:flex;flex-direction:column;gap:10px;}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:9px;background:#fff;border:1px solid var(--border);}
.hours-day{font-size:13.5px;font-weight:600;color:var(--text);}
.hours-time{font-size:13px;color:var(--gray);}
.hours-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;}
.hours-badge.open{background:rgba(5,150,105,.1);color:var(--green);}
.hours-badge.open::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 1.5s infinite;}
.hours-badge.closed{background:rgba(220,38,38,.08);color:#dc2626;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* social links */
.social-card{background:#fff;border-radius:var(--radius-lg);padding:24px;border:1.5px solid var(--border);}
.social-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--text);margin-bottom:16px;}
.socials-row{display:flex;gap:10px;flex-wrap:wrap;}
.s-link{
  display:flex;align-items:center;gap:9px;
  padding:10px 16px;border-radius:10px;
  font-size:13.5px;font-weight:600;
  cursor:pointer;border:1.5px solid var(--border);
  background:#fff;color:var(--text);
  transition:all var(--tr);
}
.s-link:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(5,16,31,.1);}
.s-link.fb:hover{background:#1877f2;color:#fff;border-color:#1877f2;}
.s-link.ig:hover{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;border-color:transparent;}
.s-link.li:hover{background:#0a66c2;color:#fff;border-color:#0a66c2;}
.s-link.yt:hover{background:#ff0000;color:#fff;border-color:#ff0000;}
.s-link.wa:hover{background:#25d366;color:#fff;border-color:#25d366;}

/* ══════════════════════════════
   MAP SECTION
══════════════════════════════ */
.map-section{padding:0 0 80px;}
.map-wrap{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:2px solid var(--border);
  position:relative;
}
.map-overlay-top{
  background:var(--navy);
  padding:20px 28px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
}
.mot-left{display:flex;align-items:center;gap:12px;}
.mot-icon{width:42px;height:42px;border-radius:10px;background:rgba(37,99,235,.2);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--gold-light);}
.mot-title{font-size:15px;font-weight:700;color:#fff;}
.mot-addr{font-size:13px;color:rgba(255,255,255,.55);}
.mot-right{display:flex;gap:10px;}
.mot-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all var(--tr);}
.mot-btn.dir{background:var(--sky);color:#fff;}
.mot-btn.dir:hover{background:var(--mid-blue);transform:translateY(-1px);}
.mot-btn.share{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;}
.mot-btn.share:hover{background:rgba(255,255,255,.18);}
.map-frame{width:100%;height:420px;border:none;display:block;filter:contrast(1.05);}

/* ══════════════════════════════
   BRANCHES SECTION
══════════════════════════════ */
.branches-section{padding:0 0 80px;}
.section-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(37,99,235,.09);border:1px solid rgba(37,99,235,.18);color:var(--sky);padding:6px 16px;border-radius:30px;font-size:13px;font-weight:600;margin-bottom:14px;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(26px,3.5vw,40px);font-weight:700;color:var(--text);line-height:1.2;margin-bottom:14px;}
.section-title span{color:var(--sky);}
.branches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
.branch-card{
  background:#fff;border-radius:var(--radius-lg);
  padding:26px 24px;border:1.5px solid var(--border);
  transition:all var(--tr);position:relative;overflow:hidden;
}
.branch-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(37,99,235,.2);}
.branch-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--bc-color,linear-gradient(90deg,var(--sky),var(--mid-blue)));border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
.branch-top{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.branch-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.branch-name{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--text);}
.branch-type{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-top:3px;width:fit-content;}
.branch-details{display:flex;flex-direction:column;gap:9px;}
.bd-row{display:flex;align-items:flex-start;gap:9px;}
.bd-icon{width:28px;height:28px;border-radius:7px;background:var(--off-white);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--sky);flex-shrink:0;}
.bd-text{font-size:13px;color:var(--gray);line-height:1.5;}
.bd-text strong{color:var(--text);}
.branch-actions{display:flex;gap:8px;margin-top:18px;}
.ba-btn{flex:1;padding:9px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);background:#fff;color:var(--text);transition:all var(--tr);display:flex;align-items:center;justify-content:center;gap:6px;}
.ba-btn:hover{background:var(--sky);color:#fff;border-color:var(--sky);}

/* ══════════════════════════════
   FAQ SECTION
══════════════════════════════ */
.faq-section{padding:0 0 80px;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;}
.faq-item{border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all var(--tr);}
.faq-item:hover,.faq-item.open{border-color:rgba(37,99,235,.25);}
.faq-q{padding:17px 20px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:color var(--tr);}
.faq-item.open .faq-q{color:var(--sky);}
.faq-ico{width:26px;height:26px;border-radius:50%;background:var(--off-white);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:12px;flex-shrink:0;transition:all var(--tr);}
.faq-item.open .faq-ico{background:var(--sky);color:#fff;transform:rotate(45deg);}
.faq-a{display:none;padding:0 20px 16px;font-size:14px;color:var(--gray);line-height:1.75;border-top:1px solid var(--border);}
.faq-item.open .faq-a{display:block;}

/* ══════════════════════════════
   CTA BAND
══════════════════════════════ */
.cta-band{
  background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);
  padding:72px 0;text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:600px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.2) 0%,transparent 70%);}
.cta-band .container{position:relative;z-index:1;}
.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,44px);font-weight:700;color:#fff;margin-bottom:14px;}
.cta-band h2 .gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cta-band p{font-size:17px;color:rgba(255,255,255,.6);max-width:520px;margin:0 auto 34px;line-height:1.7;}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.cta-btn-wa{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:15px 30px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none;box-shadow:0 6px 22px rgba(5,150,105,.4);transition:all var(--tr);}
.cta-btn-wa:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(5,150,105,.5);}
.cta-btn-call{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);padding:15px 30px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none;box-shadow:0 6px 22px rgba(232,151,26,.4);transition:all var(--tr);}
.cta-btn-call:hover{transform:translateY(-3px);}
.cta-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.22);color:#fff;padding:14px 28px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--tr);}
.cta-btn-ghost:hover{background:rgba(255,255,255,.18);transform:translateY(-3px);}

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer{background:#030c17;border-top:1px solid rgba(255,255,255,.06);}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:60px 0 40px;}
.footer-brand .logo{margin-bottom:18px;}
.footer-brand p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.75;margin-bottom:24px;max-width:280px;}
.footer-socials{display:flex;gap:10px;}
.fsoc{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:15px;cursor:pointer;transition:all var(--tr);}
.fsoc:hover{background:var(--sky);border-color:var(--sky);color:#fff;transform:translateY(-2px);}
.footer-col h4{font-size:14px;font-weight:700;color:#fff;margin-bottom:18px;position:relative;padding-bottom:10px;}
.footer-col h4::after{content:'';position:absolute;bottom:0;left:0;width:24px;height:2px;background:var(--gold);border-radius:2px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.ft-link{font-size:13.5px;color:rgba(255,255,255,.5);cursor:pointer;transition:all var(--tr);}
.ft-link:hover{color:rgba(255,255,255,.85);padding-left:6px;}
.ftc-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
.ftc-icon{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:13px;flex-shrink:0;margin-top:1px;}
.ftc-text{font-size:13px;color:rgba(255,255,255,.55);line-height:1.6;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-copy{font-size:13px;color:rgba(255,255,255,.35);}
.fbl{font-size:12.5px;color:rgba(255,255,255,.35);cursor:pointer;transition:color var(--tr);margin-left:20px;}
.fbl:hover{color:rgba(255,255,255,.7);}

/* ══════════════════════════════
   FLOATING + CHATBOT
══════════════════════════════ */
.floating-btns{position:fixed;bottom:28px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:900;}
.fl-btn{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;border:none;box-shadow:0 6px 24px rgba(0,0,0,.22);transition:all var(--tr);position:relative;}
.fl-btn::before{content:attr(data-tip);position:absolute;right:66px;background:rgba(0,0,0,.82);color:#fff;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;padding:6px 12px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:all var(--tr);pointer-events:none;}
.fl-btn:hover::before{opacity:1;transform:translateX(0);}
.fl-btn:hover{transform:scale(1.1) translateY(-2px);}
.fl-wa{background:#25d366;color:#fff;}
.fl-call{background:var(--sky);color:#fff;}
.fl-up{background:var(--navy);color:#fff;opacity:0;pointer-events:none;}
.fl-up.visible{opacity:1;pointer-events:all;}
.chat-toggle{position:fixed;bottom:28px;left:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--mid-blue));color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;z-index:900;box-shadow:0 8px 28px rgba(37,99,235,.44);transition:all var(--tr);}
.chat-toggle:hover{transform:scale(1.1);}
.chat-win{position:fixed;bottom:96px;left:24px;width:320px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:900;overflow:hidden;transform:scale(.9) translateY(20px);opacity:0;visibility:hidden;transform-origin:bottom left;transition:all var(--tr);}
.chat-win.open{transform:scale(1) translateY(0);opacity:1;visibility:visible;}
.chat-hdr{background:linear-gradient(135deg,var(--blue),var(--sky));padding:15px 18px;display:flex;align-items:center;justify-content:space-between;}
.chat-hdr-info{display:flex;align-items:center;gap:10px;}
.chat-av{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:18px;}
.chat-nm{font-size:14px;font-weight:700;color:#fff;}
.chat-ol{font-size:11px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:4px;}
.chat-ol::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ade80;display:inline-block;animation:pulse 1.5s infinite;}
.chat-cl{background:none;border:none;color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;}
.chat-msgs{height:220px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--off-white);}
.cmsg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;}
.cmsg.bot{background:#fff;color:var(--text);border-radius:4px 14px 14px 14px;box-shadow:0 2px 8px rgba(5,16,31,.06);align-self:flex-start;}
.cmsg.user{background:linear-gradient(135deg,var(--sky),var(--mid-blue));color:#fff;border-radius:14px 14px 4px 14px;align-self:flex-end;}
.qreplies{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;background:#fff;border-top:1px solid var(--border);}
.qr{background:var(--off-white);border:1px solid var(--border);color:var(--sky);font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;cursor:pointer;transition:all var(--tr);}
.qr:hover{background:var(--sky);color:#fff;border-color:var(--sky);}
.chat-inp-row{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid var(--border);}
.chat-inp{flex:1;padding:9px 14px;border:1.5px solid var(--border);border-radius:20px;font-size:13px;outline:none;font-family:'DM Sans',sans-serif;transition:border-color var(--tr);}
.chat-inp:focus{border-color:var(--sky);}
.chat-send{width:36px;height:36px;border-radius:50%;background:var(--sky);color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--tr);flex-shrink:0;}
.chat-send:hover{background:var(--mid-blue);}

/* ══════════════════════════════
   SCROLL REVEAL
══════════════════════════════ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal.fl{transform:translateX(-28px);}
.reveal.fr{transform:translateX(28px);}
.reveal.visible.fl,.reveal.visible.fr{transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:1024px){
  .main-grid{grid-template-columns:1fr;}
  .cards-grid{grid-template-columns:1fr 1fr;}
  .branches-grid{grid-template-columns:1fr 1fr;}
  .footer-main{grid-template-columns:1fr 1fr;}
  .faq-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .tb-left{display:none;}
  .nav-menu{display:none;}
  .hamburger{display:flex;}
  .cards-grid{grid-template-columns:1fr 1fr;}
  .branches-grid{grid-template-columns:1fr;}
  .map-frame{height:280px;}
  /* Mobile map overlay stack */
  .map-overlay-top{flex-direction:column;align-items:flex-start;}
  .mot-right{width:100%;}
  .mot-btn{flex:1;justify-content:center;}
  /* Footer responsive */
  .footer-main{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .cards-grid{grid-template-columns:1fr;}
  .footer-main{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .footer-bottom div{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;}
  .fbl{margin-left:0;}
  .form-row2{grid-template-columns:1fr;}
  .hero-quick-btns{flex-direction:column;align-items:center;}
  .fch-badges{justify-content:center;}
  .success-btns{flex-direction:column;}
  .cta-btns{flex-direction:column;align-items:center;}
  /* Chat window on very small screens */
  .chat-win{width:calc(100vw - 32px);left:16px;}
}

