/* =========================================================
   OPTIMAL DENTAL CARE — styles.css  (Light Theme Rebuild)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap');

/* FA icon sizing inside icon containers */
.svc-icon i, .ts-icon i, .wli-icon i, .ci-icon i,
.about-feature-icon i, .cert-dot i, .hbf-icon i,
.play-circle i {
  font-size: 1.1rem;
  color: var(--teal);
  font-weight: 900;
  display: inline-block;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.footer-socials i { color: var(--white); }
.ts-icon.gold-bg i { color: #f9a825; }
.ts-icon.star-bg i { color: #e85d6a; }
.svc-icon.ic-gold i  { color: #f9a825; }
.svc-icon.ic-green i { color: #34c98e; }
.svc-icon.ic-red i   { color: #e85d6a; }
.svc-icon.ic-purple i{ color: #8b6fe8; }
.svc-icon.ic-orange i{ color: #f97234; }
.ci-icon i { color: var(--teal); font-size: 1.1rem; }
.why-badge i { color: #fff; font-size:.85rem; }
.nav-phone-link i, .float-cta i { color: inherit; }
.btn i { color: inherit; }

/* ── Variables ── */
:root {
  --teal:       #2ab5d5;
  --teal-dark:  #1a9abb;
  --teal-light: #e8f8fc;
  --navy:       #0d2b4e;
  --dark:       #1a2e44;
  --text:       #444f5a;
  --text-light: #7a8899;
  --white:      #ffffff;
  --bg:         #f5fafd;
  --bg2:        #edf6fb;
  --border:     #ddeef6;
  --gold:       #f9a825;
  --green:      #34c98e;
  --red:        #e85d6a;
  --purple:     #8b6fe8;
  --orange:     #f97234;

  --radius-sm:  6px;
  --radius-md:  14px;
  --radius-lg:  24px;
  --radius-xl:  40px;
  --shadow-xs:  0 2px 8px rgba(42,181,213,.10);
  --shadow-sm:  0 4px 18px rgba(42,181,213,.14);
  --shadow-md:  0 10px 40px rgba(42,181,213,.18);
  --t:          all .3s ease;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* ── Helpers ── */
.container{max-width:1140px;margin:0 auto;padding:0 1.5rem;}
section{padding:5rem 0;}
.text-center{text-align:center;}
.tag{
  display:inline-block;
  font-size:.75rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--teal);
  margin-bottom:.6rem;
}
.section-title{
  font-family:'Nunito',sans-serif;
  font-size:clamp(1.7rem,3.5vw,2.5rem);
  font-weight:800;color:var(--navy);
  line-height:1.25;margin-bottom:.9rem;
}
.section-sub{
  font-size:1rem;color:var(--text-light);
  max-width:580px;margin-bottom:2.5rem;line-height:1.75;
}
.mx-auto{margin-left:auto;margin-right:auto;}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.95rem;font-weight:700;
  border-radius:50px;padding:.85rem 2rem;
  cursor:pointer;border:none;transition:var(--t);
  white-space:nowrap;
}
.btn-teal{
  background:var(--teal);color:var(--white);
  box-shadow:0 6px 22px rgba(42,181,213,.38);
}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(42,181,213,.48);}
.btn-outline-teal{
  background:transparent;color:var(--teal);
  border:2px solid var(--teal);
}
.btn-outline-teal:hover{background:var(--teal);color:var(--white);}
.btn-white{
  background:var(--white);color:var(--navy);
  box-shadow:var(--shadow-sm);
}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}

/* ───────────────────────────────────────
   HEADER / NAV
─────────────────────────────────────── */
/* ── Header ── */
#site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:var(--t);
}
#site-header.scrolled{
  background:rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1140px;margin:0 auto;padding:.85rem 1.5rem;
  gap:1rem;
}
.nav-logo img{height:42px; width: auto; filter: brightness(0) invert(1); transition: var(--t); }
#site-header.scrolled .nav-logo img { filter: none; }

.nav-links{display:flex;align-items:center;gap:1.75rem;}
.nav-links a{
  font-size:.88rem;font-weight:600;color:var(--white);
  transition:var(--t);position:relative;
}
#site-header.scrolled .nav-links a { color: var(--text); }
.nav-links a:hover{color:var(--teal) !important;}

.nav-right{display:flex;align-items:center;gap:1.5rem;}
.nav-phone-link{
  font-size:.88rem;font-weight:700;color:var(--white);
  display:flex;align-items:center;gap:.4rem;transition:var(--t);
}
#site-header.scrolled .nav-phone-link { color: var(--navy); }
.nav-phone-link:hover{color:var(--teal) !important;}

/* Hamburger */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;background:none;border:none;padding:.3rem;
}
.hamburger span{
  display:block;width:22px;height:2px;
  background:var(--navy);border-radius:2px;transition:var(--t);
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;flex-direction:column;
  background:var(--white);padding:1rem 1.5rem;
  border-top:1px solid var(--border);
}
.mobile-menu.open{display:flex;}
.mobile-menu a{
  padding:.7rem 0;border-bottom:1px solid var(--border);
  font-weight:600;font-size:.95rem;color:var(--navy);
}
.mobile-menu a:last-child{border:none;}

/* ───────────────────────────────────────
   HERO
─────────────────────────────────────── */
/* ── Hero v2 (Extreme Premium - Compact) ── */
#hero {
  padding: 8rem 0 4rem; /* Reduced padding */
  min-height: 90vh; /* Ensure full visible area */
  display: flex; align-items: center; /* Center horizontally-distributed content */
  background: radial-gradient(circle at 0% 0%, #0d2b4e 0%, #081a30 40%, #041020 70%, #020b16 100%);
  position: relative;
  overflow: hidden;
  color: var(--white);
}

/* Background elements */
.hero-aura {
  position: absolute; top: 10%; right: 5%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(42, 181, 213, 0.08) 0%, transparent 70%);
  filter: blur(100px); opacity: 0.8;
}
.hero-glow-1 {
  position: absolute; top: -10%; right: -5%;
  width: 50vw; height: 50vw;
  background: radial-gradient(circle, rgba(42, 181, 213, 0.12) 0%, transparent 70%);
  filter: blur(80px); animation: float-glow 15s infinite alternate;
}
.hero-glow-2 {
  position: absolute; bottom: -10%; left: -5%;
  width: 40vw; height: 40vw;
  background: radial-gradient(circle, rgba(139, 111, 232, 0.08) 0%, transparent 70%);
  filter: blur(80px); animation: float-glow 20s infinite alternate-reverse;
}
.hero-dots {
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 40px 40px; opacity: 0.6;
}

@keyframes float-glow {
  from { transform: translate(0, 0); }
  to { transform: translate(40px, 40px); }
}

.hero-inner{
  max-width: 1140px; margin: 0 auto; padding: 0 1.5rem;
  display: grid; grid-template-columns: 1.15fr 0.85fr;
  gap: 5rem; align-items: center; position: relative; z-index: 5;
}

/* Pretitle & Seal */
.hero-pretitle {
  display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2rem;
}

.hero-h1 {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.8rem); /* Slightly smaller headline */
  font-weight: 900; line-height: 1.1; letter-spacing: -0.02em;
  margin-bottom: 1.2rem; color: var(--white);
}
.hero-h1 span {
  display: block; background: linear-gradient(90deg, var(--teal) 0%, var(--teal-dark) 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

.hero-sub {
  font-size: 1.1rem; color: rgba(255, 255, 255, 0.7);
  line-height: 1.6; max-width: 480px; margin-bottom: 2rem;
}
.hero-actions {
  display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; margin-top: 2rem;
}

/* Interaction Effects */
.btn-pulse {
  animation: pulse-btn 2.5s infinite;
}
@keyframes pulse-btn {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(42, 181, 213, 0.4); }
  70% { transform: scale(1.02); box-shadow: 0 0 0 12px rgba(42, 181, 213, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(42, 181, 213, 0); }
}

/* Light Sweep Animation */
.sweep { position: relative; overflow: hidden; }
.sweep::after {
  content: ''; position: absolute; top: -50%; left: -60%;
  width: 50%; height: 200%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transform: rotate(35deg); animation: light-sweep 4s infinite;
}
@keyframes light-sweep {
  0% { left: -60%; }
  25% { left: 120%; }
  100% { left: 120%; }
}

/* Glass Stats */
.hero-stats {
  display: flex; gap: 1rem; margin-top: 2.5rem; /* Reduced margin/gap */
}
.stat-glass {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem; border-radius: var(--radius-md); /* Reduced padding */
  flex: 1; text-align: center; transition: var(--t);
}
.stat-glass:hover {
  background: rgba(255, 255, 255, 0.08); transform: translateY(-5px);
  border-color: rgba(42, 181, 213, 0.4);
}

/* Hero Image Container */
.hero-img-container {
  position: relative; border-radius: var(--radius-lg);
  padding: 12px; background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(8px); box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.img-aura {
  position: absolute; inset: -15px;
  background: radial-gradient(circle, rgba(42, 181, 213, 0.2) 0%, transparent 70%);
  filter: blur(40px); z-index: -1;
}
.hero-img-main {
  width: 100%; height: 400px; /* Reduced image height from 480 to 400 */
  object-fit: cover;
  border-radius: calc(var(--radius-lg) - 8px);
  filter: brightness(0.95) contrast(1.05);
}

/* Glass Cards */
.glass-card {
  position: absolute; z-index: 10;
  background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 1.1rem; border-radius: var(--radius-md);
  display: flex; align-items: center; gap: 1.1rem;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
  animation: float-card 4s ease-in-out infinite;
}
.gcard-tl { top: -25px; left: -25px; }
.gcard-br { bottom: -25px; right: -25px; animation-delay: -2s; }

@keyframes float-card {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.glass-card .hbf-icon { background: rgba(255,255,255,0.1); color: var(--white); }
.glass-card .hbf-text strong { color: var(--white); }
.glass-card .hbf-text span { color: rgba(255,255,255,0.7); }

/* ───────────────────────────────────────
   TRUST STRIP
─────────────────────────────────────── */
#trust-strip{
  background:var(--white);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:2.5rem 0;
}
.trust-strip-grid{
  max-width:1140px;margin:0 auto;padding:0 1.5rem;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
.ts-item{
  display:flex;align-items:center;gap:1rem;
}
.ts-icon{
  width:58px;height:58px;min-width:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;background:var(--teal-light);
  box-shadow:0 4px 14px rgba(42,181,213,.18);
}
.ts-icon.gold-bg{background:#fff8e1;}
.ts-icon.star-bg{background:#fff0f0;}
.ts-text strong{
  display:block;font-size:.95rem;font-weight:700;color:var(--navy);
}
.ts-text span{font-size:.82rem;color:var(--text-light);}

/* ───────────────────────────────────────
   WHY CHOOSE US
─────────────────────────────────────── */
#why{background:var(--bg);}
.why-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
/* Why image — single clean card */
.why-photos{
  position:relative;
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.why-photos img{
  width:100%;
  height:460px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.why-badge{
  position:absolute;bottom:1.5rem;left:1.5rem;
  background:var(--teal);color:var(--white);
  border-radius:var(--radius-md);padding:.65rem 1.1rem;
  font-size:.82rem;font-weight:700;
  box-shadow:var(--shadow-sm);
  display:flex;align-items:center;gap:.5rem;
}
/* Hide old circle elements if still rendered */
.photo-circle{ display:none; }
/* Why text */
.why-text .section-sub{margin-bottom:1.5rem;}
.why-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:2rem;}
.why-list-item{
  display:flex;align-items:flex-start;gap:.85rem;
  background:var(--white);border-radius:var(--radius-md);
  padding:1rem 1.25rem;
  box-shadow:var(--shadow-xs);border:1px solid var(--border);
}
.wli-icon{
  width:38px;height:38px;min-width:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;background:var(--teal-light);margin-top:.1rem;
}
.wli-text strong{display:block;font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.15rem;}
.wli-text span{font-size:.83rem;color:var(--text-light);line-height:1.55;}

/* ───────────────────────────────────────
   SERVICES
─────────────────────────────────────── */
#services{background:var(--white);}
.services-head{text-align:center;}
.services-head .section-sub{margin:0 auto 2.5rem;}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.svc-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:1.75rem 1.5rem;
  transition:var(--t);
  cursor:default;
}
.svc-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
  border-color:var(--teal);
}
.svc-icon{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;margin-bottom:1rem;
}
.ic-teal{background:var(--teal-light);}
.ic-gold{background:#fff8e1;}
.ic-green{background:#e8faf3;}
.ic-red{background:#fff0f0;}
.ic-purple{background:#f0ecff;}
.ic-orange{background:#fff4ed;}
.svc-card h3{
  font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.5rem;
}
.svc-card p{font-size:.85rem;color:var(--text-light);line-height:1.6;margin-bottom:.9rem;}
.svc-more{
  font-size:.82rem;font-weight:700;color:var(--teal);
  display:inline-flex;align-items:center;gap:.25rem;transition:var(--t);
}
.svc-more:hover{gap:.5rem;}
.services-cta{text-align:center;margin-top:2.5rem;}

/* ───────────────────────────────────────
   ABOUT / MEET THE DENTIST
─────────────────────────────────────── */
#about{background:var(--bg);}
.about-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
.about-text .section-sub{margin-bottom:1.5rem;}
.about-certs{margin-bottom:2rem;}
.about-certs h4{
  font-size:.88rem;font-weight:700;color:var(--navy);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:.9rem;
}
.cert-list{display:flex;flex-direction:column;gap:.55rem;}
.cert-item{
  display:flex;align-items:center;gap:.7rem;
  font-size:.9rem;color:var(--text);
}
.cert-dot{
  width:22px;height:22px;min-width:22px;border-radius:50%;
  background:var(--teal);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;font-weight:700;
}
/* Doctor image */
.about-img-wrap{
  position:relative;border-radius:var(--radius-xl);
  overflow:visible; /* Allow badge to float naturally */
  box-shadow:var(--shadow-lg);
  background:var(--teal-light);
}
.about-img-wrap img{
  width:100%;height:480px;object-fit:cover;object-position:top;
  border-radius:var(--radius-xl); /* Ensure image itself is rounded */
}
.about-exp-badge{
  position:absolute;bottom:1rem;left: -1rem; /* Offset it for a more premium floating look */
  background:var(--teal);color:var(--white);
  border-radius:var(--radius-md);padding:.9rem 1.4rem;
  font-size:.82rem;font-weight:700;
  box-shadow:var(--shadow-md);
  z-index: 10;
}
.about-exp-badge strong{
  display:block;font-size:1.5rem;font-weight:900;line-height:1;
}

/* ───────────────────────────────────────
   TESTIMONIALS
─────────────────────────────────────── */
#testimonials{background:var(--white);}
.testimonials-head{text-align:center;}
.testimonials-head .section-sub{margin:0 auto 2.5rem;}
.testi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
  margin-bottom:1.25rem;
}
.testi-card{
  background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1.75rem 1.5rem;
  transition:var(--t);display:flex;flex-direction:column;
}
.testi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.tc-top{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem;}
.tc-av{
  width:46px;height:46px;min-width:46px;border-radius:50%;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:var(--white);display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:.95rem;
}
.tc-av.g{background:linear-gradient(135deg,#34c98e,#1dab74);}
.tc-av.p{background:linear-gradient(135deg,#8b6fe8,#6d54cc);}
.tc-name-wrap strong{display:block;font-size:.9rem;font-weight:700;color:var(--navy);}
.tc-name-wrap span{font-size:.77rem;color:var(--text-light);}
.tc-stars{color:var(--gold);font-size:.88rem;letter-spacing:2px;margin-bottom:.9rem;}
.tc-quote{
  font-size:.87rem;color:var(--text);line-height:1.7;
  font-style:italic;flex:1;
}
.testi-more{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;
}
.testi-center{text-align:center;margin-top:2rem;}

/* ───────────────────────────────────────
   CTA SECTION
─────────────────────────────────────── */
#cta-section{
  background:linear-gradient(135deg,var(--navy) 0%,#0e3d66 100%);
  padding:4.5rem 0;text-align:center;
  position:relative;overflow:hidden;
}
#cta-section::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:350px;height:350px;border-radius:50%;
  background:rgba(42,181,213,.12);pointer-events:none;
}
#cta-section::after{
  content:'';position:absolute;bottom:-80px;left:-80px;
  width:280px;height:280px;border-radius:50%;
  background:rgba(42,181,213,.08);pointer-events:none;
}
.cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;padding:0 1.5rem;}
.cta-inner h2{
  font-family:'Nunito',sans-serif;
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  font-weight:900;color:var(--white);margin-bottom:.9rem;
}
.cta-inner p{
  font-size:1rem;color:rgba(255,255,255,.75);margin-bottom:2rem;
}
.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;}

/* ───────────────────────────────────────
   CONTACT
─────────────────────────────────────── */
#contact{background:var(--bg);}
.contact-inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:start;
}
.contact-info-card{
  background:var(--white);border-radius:var(--radius-lg);
  padding:2.25rem;border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
}
.contact-info-card h3{
  font-size:1.25rem;font-weight:800;color:var(--navy);margin-bottom:1.75rem;
}
.ci-row{
  display:flex;align-items:flex-start;gap:1rem;
  padding:.9rem 0;border-bottom:1px solid var(--border);
}
.ci-row:last-of-type{border:none;}
.ci-icon{
  width:42px;height:42px;min-width:42px;border-radius:var(--radius-sm);
  background:var(--teal-light);display:flex;align-items:center;
  justify-content:center;font-size:1.1rem;
}
.ci-text strong{display:block;font-size:.78rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.25rem;}
.ci-text a,.ci-text span{font-size:.93rem;font-weight:600;color:var(--navy);}
.ci-text a:hover{color:var(--teal);}
/* Hours */
.hours-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.25rem;}
.hour-row{display:flex;justify-content:space-between;gap: 2rem; font-size:.86rem; border-bottom: 1px dashed rgba(0,0,0,0.05); padding: 4px 0; }
.hour-row .day{font-weight:600;color:var(--navy); min-width: 90px;}
.hour-row .time{color:var(--text-light); text-align: right;}

/* Form */
.contact-form-card{
  background:var(--white);border-radius:var(--radius-lg);
  padding:2.25rem;border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
}
.contact-form-card h3{
  font-size:1.25rem;font-weight:800;color:var(--navy);margin-bottom:1.5rem;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fg{margin-bottom:1rem;}
.fg label{
  display:block;font-size:.78rem;font-weight:700;
  color:var(--text-light);text-transform:uppercase;
  letter-spacing:.07em;margin-bottom:.4rem;
}
.fg input,.fg select,.fg textarea{
  width:100%;padding:.78rem 1rem;border:1.5px solid var(--border);
  border-radius:var(--radius-sm);font-size:.93rem;
  color:var(--text);font-family:'Inter',sans-serif;
  background:var(--white);outline:none;transition:var(--t);
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(42,181,213,.12);
}
.fg textarea{resize:vertical;min-height:90px;}
.form-btn{width:100%;padding:.95rem;font-size:1rem;border-radius:var(--radius-sm);margin-top:.25rem;}
.msg-ok,.msg-err{
  display:none;padding:.85rem 1rem;border-radius:var(--radius-sm);
  font-size:.88rem;font-weight:600;margin-top:.75rem;text-align:center;
}
.msg-ok{background:#d1fae5;color:#065f46;}
.msg-err{background:#fee2e2;color:#991b1b;}

/* ───────────────────────────────────────
   MAP
─────────────────────────────────────── */
#map-section{padding:0;}
.map-wrapper{position:relative;}
.map-wrapper iframe{width:100%;height:380px;border:none;display:block;filter:saturate(.85);}
.map-pill{
  position:absolute;top:1.25rem;left:50%;transform:translateX(-50%);
  background:var(--white);border-radius:50px;
  padding:.6rem 1.5rem;font-size:.86rem;font-weight:700;
  color:var(--navy);box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:.4rem;white-space:nowrap;
}

/* ───────────────────────────────────────
   FOOTER
─────────────────────────────────────── */
#footer{background:var(--dark);color:rgba(255,255,255,.75);padding:3.5rem 0 0;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:2.5rem;padding-bottom:3rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand-col img{
  height:46px;margin-bottom:1rem;
  filter:brightness(0) invert(1);
}
.footer-brand-col p{font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.6);max-width:270px;}
.footer-socials{display:flex;gap:.6rem;margin-top:1.25rem;}
.footer-socials a{
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;transition:var(--t);
}
.footer-socials a:hover{background:var(--teal);}
.footer-col h4{
  font-size:.85rem;font-weight:800;color:var(--white);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;
  position:relative;
}
.footer-col h4::after{
  content:'';position:absolute;bottom:-8px;left:0;
  width:30px;height:2px;background:var(--teal);
}
.footer-col ul li{margin-bottom:.55rem;}
.footer-col ul li a{font-size:.85rem;color:rgba(255,255,255,.6);transition:var(--t);}
.footer-col ul li a:hover{color:var(--teal);}
.footer-col ul li i{
  margin-right:.8rem;color:var(--teal);opacity:0.9;
  font-size:0.85rem;display:inline-block;width:15px;text-align:center;
}
.footer-col ul li a{font-size:.85rem;color:rgba(255,255,255,.6);transition:var(--t);line-height:1.6;}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:.75rem;padding:1.2rem 0;
}
.footer-bottom p{font-size:.79rem;color:rgba(255,255,255,.38);}
.footer-bottom a{color:rgba(255,255,255,.38);transition:var(--t);}
.footer-bottom a:hover{color:var(--teal);}

/* ───────────────────────────────────────
   FLOATING CALL BUTTON
─────────────────────────────────────── */
.float-cta{
  position:fixed;bottom:1.75rem;right:1.75rem;z-index:999;
  display:flex;align-items:center;gap:.6rem;
  background:var(--teal);color:var(--white);
  border-radius:50px;padding:.75rem 1.4rem;
  font-size:.86rem;font-weight:700;
  box-shadow:0 6px 24px rgba(42,181,213,.45);
  transition:var(--t);animation:pulse-shadow 2s infinite;
}
.float-cta:hover{transform:translateY(-2px);color:var(--white);}
@keyframes pulse-shadow{
  0%,100%{box-shadow:0 6px 24px rgba(42,181,213,.45);}
  50%{box-shadow:0 6px 36px rgba(42,181,213,.7);}
}

/* ───────────────────────────────────────
   SCROLL ANIMATIONS
─────────────────────────────────────── */
.fade-up{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ───────────────────────────────────────
   RESPONSIVE
─────────────────────────────────────── */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  section{padding:3.5rem 0;}
  .nav-links,.nav-phone-link,.nav-right>.btn{display:none;}
  .hamburger{display:flex;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-image-wrap{display:none;}
  .trust-strip-grid{grid-template-columns:1fr;}
  .why-inner{grid-template-columns:1fr;}
  .why-photos{display:none;}
  .services-grid{grid-template-columns:1fr;}
  .about-inner{grid-template-columns:1fr;}
  .about-img-wrap{display:none;}
  .testi-grid{grid-template-columns:1fr;}
  .testi-more{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:2.5rem;}
  .footer-brand-col{grid-column: span 2;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .float-cta .cta-label{display:none;}
  .float-cta{padding:.8rem;border-radius:50%;}
}
@media(max-width:480px){
  .hero-h1{font-size:2rem;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{justify-content:center;}
  .cta-actions{flex-direction:column;align-items:center;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-brand-col{grid-column: span 1;}
}
