.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ══════════════════════════════════════════════
   Y SOLUTIONS — UniVista Insurance
   Design v4: Modern-minimal, industry-grade
   Blue dominant · Red = action only · No noise
   Reference: Geico / Progressive / UniVista brand
══════════════════════════════════════════════ */
:root {
  --blue:    #1F448D;
  --blue-dk: #0F1528;
  --blue-md: #2855A4;
  --blue-lt: #ECF1FB;
  --red:     #ED1C24;
  --red-dk:  #C10004;
  --white:   #FFFFFF;
  --bg:      #F5F7FC;
  --ink:     #111827;
  --muted:   #6B7280;
  --border:  #E2E8F4;
  --gold:    #F59E0B;
  --radius:  10px;
  --shadow:  0 4px 28px rgba(31,68,141,.11);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Lato', sans-serif;
  background:var(--white);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ─────────── TOPBAR — hidden ─────────── */
.topbar { display:none; }

/* ─────────── NAV ─────────── */
nav.yins-nav {
  position:sticky !important; top:0 !important; z-index:1000 !important;
  background:rgba(255,255,255,.98) !important;
  backdrop-filter:blur(16px) !important;
  border-bottom:1px solid var(--border) !important;
  height:72px !important; min-height:72px !important;
  padding:0 40px 0 48px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:16px !important; width:100% !important; box-sizing:border-box !important;
  box-shadow:0 2px 18px rgba(31,68,141,.06) !important;
  margin:0 !important;
}

/* Logo */
nav.yins-nav .nav-brand { display:flex !important; flex-direction:column !important; gap:4px !important; text-decoration:none !important; flex-shrink:0 !important; }
nav.yins-nav .nav-brand img { height:33px !important; object-fit:contain !important; display:block !important; }
nav.yins-nav .nav-sub {
  font-size:8px !important; font-weight:700 !important; letter-spacing:2.2px !important;
  text-transform:uppercase !important; color:var(--blue) !important; line-height:1 !important;
  opacity:.55 !important; display:block !important;
}

/* Center links — pushed toward right */
nav.yins-nav .nav-links {
  display:flex !important; gap:20px !important; list-style:none !important; align-items:center !important;
  margin-left:auto !important; padding:0 !important;
}
nav.yins-nav .nav-links a {
  font-size:11px !important; font-weight:700 !important; color:var(--blue-dk) !important;
  text-decoration:none !important; letter-spacing:.8px !important; text-transform:uppercase !important;
  padding:4px 0 !important; border-bottom:2px solid transparent !important;
  transition:color .15s, border-color .15s !important; white-space:nowrap !important;
}
nav.yins-nav .nav-links a:hover { color:var(--blue) !important; border-color:var(--blue) !important; }

/* ··· dropdown */
nav.yins-nav .nav-more-wrap { position:relative !important; flex-shrink:0 !important; }
nav.yins-nav .nav-dots {
  width:34px !important; height:34px !important; border-radius:50% !important;
  background:var(--blue-lt) !important; border:1.5px solid var(--border) !important; cursor:pointer !important;
  display:flex !important; align-items:center !important; justify-content:center !important; gap:3px !important;
  transition:background .15s !important; flex-shrink:0 !important;
}
nav.yins-nav .nav-dots:hover { background:var(--border) !important; }
nav.yins-nav .nav-dots i { width:3.5px !important; height:3.5px !important; border-radius:50% !important; background:var(--blue) !important; display:block !important; }
nav.yins-nav .more-dropdown {
  display:none; position:absolute !important; top:calc(100% + 10px) !important; right:0 !important;
  background:white !important; border-radius:var(--radius) !important; border:1px solid var(--border) !important;
  box-shadow:0 8px 30px rgba(31,68,141,.14) !important;
  min-width:210px !important; padding:8px 0 !important; z-index:600 !important;
}
nav.yins-nav .more-dropdown.open { display:block !important; }
nav.yins-nav .more-dropdown a {
  display:flex !important; align-items:center !important; gap:10px !important;
  padding:11px 18px !important; font-size:12.5px !important; font-weight:700 !important;
  color:var(--blue-dk) !important; text-decoration:none !important; letter-spacing:.3px !important;
  transition:background .12s !important;
}
nav.yins-nav .more-dropdown a:hover { background:var(--blue-lt) !important; color:var(--blue) !important; }
nav.yins-nav .more-dropdown a svg { width:15px !important; height:15px !important; stroke:var(--blue) !important; fill:none !important; stroke-width:2 !important; flex-shrink:0 !important; }

/* Right side */
nav.yins-nav .nav-right { display:flex !important; align-items:center !important; flex-shrink:0 !important; margin-left:16px !important; }

/* Animated phone CTA pill */
nav.yins-nav .nav-phone {
  display:flex !important; align-items:center !important;
  text-decoration:none !important; flex-shrink:0 !important;
  background:var(--blue) !important; border-radius:8px !important;
  padding:0 20px !important; height:42px !important; gap:10px !important;
  overflow:hidden !important;
  animation:phPulse 2.4s ease-in-out infinite !important;
}
@keyframes phPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(31,68,141,.5); }
  50%      { box-shadow:0 0 0 8px rgba(31,68,141,0); }
}
nav.yins-nav .ph-label { display:flex !important; flex-direction:column !important; flex-shrink:0 !important; }
nav.yins-nav .ph-label strong {
  font-size:15px !important; font-weight:900 !important; color:white !important;
  line-height:1 !important; white-space:nowrap !important; display:block !important;
  animation:phSize 2.4s ease-in-out infinite !important;
}
@keyframes phSize {
  0%,100% { transform:scale(1); }
  50%      { transform:scale(1.08); }
}
nav.yins-nav .ph-label small {
  font-size:9px !important; color:rgba(255,255,255,.7) !important; white-space:nowrap !important;
  font-weight:700 !important; letter-spacing:.5px !important; text-transform:uppercase !important;
}
nav.yins-nav .nav-sms { display:none !important; }

/* ─────── MOBILE NAV ─────── */
@media (max-width:640px) {
  nav.yins-nav {
    padding:0 16px !important; height:60px !important; min-height:60px !important;
    justify-content:space-between !important;
  }
  nav.yins-nav .nav-sub { display:none !important; }
  nav.yins-nav .nav-links { display:none !important; }
  nav.yins-nav .nav-brand img { height:28px !important; }
  nav.yins-nav .nav-right { margin-left:0 !important; }
  nav.yins-nav .nav-phone {
    padding:0 14px !important; height:38px !important; border-radius:7px !important;
  }
  nav.yins-nav .ph-label strong { font-size:13px !important; }
  nav.yins-nav .ph-label small { font-size:8px !important; }
  nav.yins-nav .nav-more-wrap { flex-shrink:0 !important; }
}
@media (min-width:641px) and (max-width:900px) {
  nav.yins-nav { padding:0 24px !important; }
  nav.yins-nav .nav-links { gap:14px !important; }
  nav.yins-nav .nav-sub { display:none !important; }
}

/* ─────────── HERO ─────────── */
.hero {
  position:relative; overflow:hidden;
  min-height:89vh;
  background:var(--blue-dk);
  display:grid; grid-template-columns:1fr 430px;
  align-items:center;
}
/* Gradient background */
.hero-bg {
  position:absolute; inset:0;
  background:linear-gradient(130deg, #090e1c 0%, #1a3570 60%, #1F448D 100%);
}
/* Right image panel */
.hero-img-panel {
  position:absolute; right:0; top:0; bottom:0; width:50%;
  overflow:hidden;
  clip-path:polygon(7% 0, 100% 0, 100% 100%, 0% 100%);
}
.hero-img-panel img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.hero-img-panel::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to right, #090e1c 0%, rgba(9,14,28,.55) 30%, rgba(9,14,28,.05) 100%);
}
/* Bottom accent */
.hero-line { position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--red); z-index:3; }

/* Left content */
.hero-left { position:relative; z-index:3; padding:84px 0 84px 64px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.6); font-size:10px; font-weight:700;
  padding:6px 14px; border-radius:40px;
  letter-spacing:1.5px; text-transform:uppercase; margin-bottom:30px;
}
.badge-dot {
  width:6px; height:6px; border-radius:50%; background:var(--red);
  animation:blink 1.8s ease-in-out infinite; flex-shrink:0;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

.hero-left h1 {
  font-size:clamp(38px, 4.2vw, 64px);
  font-weight:900; color:white;
  line-height:1.03; letter-spacing:-2.5px;
  margin-bottom:6px;
}
/* Second line — lighter weight, no red accent */
.hero-left h1 .h1-light {
  font-weight:300; letter-spacing:-1.5px;
  display:block; color:rgba(255,255,255,.75);
  font-size:clamp(32px, 3.6vw, 56px);
}

.hero-desc {
  font-size:15px; color:rgba(255,255,255,.45);
  font-weight:300; line-height:1.78;
  max-width:430px; margin:22px 0 46px;
}

/* Counters */
.hero-counters { display:flex; gap:44px; }
.hc { }
.hc-num {
  font-size:36px; font-weight:900; color:white; line-height:1;
  display:flex; align-items:baseline; gap:1px;
}
.hc-num .plus { color:var(--red); font-size:26px; font-weight:900; }
.hc-label { font-size:10px; color:rgba(255,255,255,.32); margin-top:5px; letter-spacing:.8px; text-transform:uppercase; }

/* ─────────── QUOTE CARD ─────────── */
.hero-right { position:relative; z-index:3; padding:28px 36px 28px 8px; display:flex; align-items:center; }

.card-outer {
  width:100%; max-width:416px;
  border-radius:var(--radius); overflow:visible;
  position:relative;
  /* Two-part card: ref banner on top, white form below */
}

/* Referral banner */
.ref-banner {
  background:var(--red);
  border-radius:var(--radius) var(--radius) 0 0;
  padding:15px 20px 15px 18px;
  display:flex; align-items:center; gap:13px;
}
.ref-emoji {
  width:44px; height:44px; flex-shrink:0;
  background:rgba(255,255,255,.18); border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1;
}
.ref-copy strong { display:block; font-size:14px; font-weight:900; color:white; line-height:1.2; }
.ref-copy span { font-size:11px; color:rgba(255,255,255,.8); margin-top:3px; display:block; }
.ref-copy a { color:white; font-weight:700; text-decoration:underline; }

/* Form card */
.form-card {
  background:white;
  border-radius:0 0 var(--radius) var(--radius);
  padding:26px 24px 22px;
  box-shadow:0 36px 90px rgba(0,0,0,.45);
}
.fc-title { font-size:16px; font-weight:900; color:var(--blue); margin-bottom:2px; }
.fc-sub { font-size:11.5px; color:var(--muted); margin-bottom:18px; }

/* Insurance type grid */
.ins-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:14px;
}
.ins-btn {
  border:1.5px solid var(--border); border-radius:7px;
  padding:9px 4px 7px; background:transparent; cursor:pointer;
  font-family:'Lato', sans-serif;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  transition:all .14s;
}
.ins-btn:hover { border-color:var(--blue); background:var(--blue-lt); }
.ins-btn.on { 
  border-color:var(--blue); 
  background:var(--blue); 
  color:white;
}
.ins-btn.on svg { stroke:white !important; }
.ins-btn.on span { color:white !important; }
.ins-btn svg {
  width:21px; height:21px; stroke:var(--muted);
  fill:none; stroke-width:1.5; display:block; transition:stroke .14s;
}
.ins-btn.on svg, .ins-btn:hover svg { stroke:var(--blue); }
.ins-btn span {
  font-size:9px; font-weight:700; color:var(--muted);
  letter-spacing:.5px; text-transform:uppercase; transition:color .14s;
}
.ins-btn.on span, .ins-btn:hover span { color:var(--blue); }

/* Language toggle */
.lang-label {
  font-size:9px; font-weight:700; color:var(--blue);
  letter-spacing:.9px; text-transform:uppercase; margin-bottom:6px;
}
.lang-row { display:flex; gap:7px; margin-bottom:11px; }
.lang-btn {
  flex:1; padding:8px 6px; border:1.5px solid var(--border); border-radius:6px;
  font-family:'Lato', sans-serif; font-size:11px; font-weight:700;
  color:var(--muted); background:transparent; cursor:pointer;
  transition:all .14s; letter-spacing:.3px;
}
.lang-btn.on { border-color:var(--blue); background:var(--blue-lt); color:var(--blue); }

/* Fields */
.f2c { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fg { margin-bottom:10px; }
.fg label {
  display:block; font-size:9px; font-weight:700; color:var(--blue);
  margin-bottom:4px; letter-spacing:.9px; text-transform:uppercase;
}
.fg input {
  width:100%; padding:10px 12px; border:1.5px solid var(--border); border-radius:6px;
  font-family:'Lato', sans-serif; font-size:13px; color:var(--ink);
  background:white; outline:none;
  transition:border-color .14s, box-shadow .14s;
}
.fg input::placeholder { color:#b8c5dc; }
.fg input:focus {
  border-color:var(--blue); box-shadow:0 0 0 3px rgba(31,68,141,.09);
}
.btn-call {
  width:100%; padding:14px; margin-top:12px;
  background:var(--red); color:white; border:none; border-radius:7px;
  font-family:'Lato', sans-serif; font-size:12px; font-weight:900;
  letter-spacing:.8px; text-transform:uppercase; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .14s, transform .1s;
}
.btn-call:hover { background:var(--red-dk); transform:translateY(-1px); }
.btn-call svg { width:14px; height:14px; fill:white; flex-shrink:0; }
.form-note { font-size:10px; color:#9ca3af; text-align:center; margin-top:8px; }

/* Success state */
.success-state {
  display:none; text-align:center; padding:14px 0 8px;
}
.success-state svg {
  width:52px; height:52px; stroke:var(--blue);
  fill:none; stroke-width:1.5; margin-bottom:12px;
}
.success-state h3 { font-size:17px; font-weight:900; color:var(--blue); margin-bottom:7px; }
.success-state p { font-size:13px; color:var(--muted); line-height:1.65; }

/* ─────────── TRUST STRIP ─────────── */
.trust-strip {
  background:var(--blue-lt);
  border-bottom:1px solid var(--border);
  display:grid; grid-template-columns:repeat(5,1fr);
}
.ts {
  display:flex; align-items:center; gap:10px;
  padding:17px 18px; border-right:1px solid var(--border);
}
.ts:last-child { border-right:none; }
.ts-ico {
  width:33px; height:33px; flex-shrink:0;
  background:var(--blue); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
}
.ts-ico svg { width:16px; height:16px; stroke:white; fill:none; stroke-width:2; }
.ts-t strong { display:block; font-size:11px; font-weight:900; color:var(--blue); }
.ts-t span { font-size:10px; color:var(--muted); }

/* ─────────── SECTION BASE ─────────── */
.sec { padding:88px 64px; }
.sec.alt { background:var(--bg); }
.sec-tag {
  font-size:10px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--red); margin-bottom:10px;
}
.sec-title {
  font-size:clamp(26px,2.8vw,42px); font-weight:300; color:var(--blue);
  line-height:1.1; margin-bottom:12px; letter-spacing:-.5px;
}
.sec-title b { font-weight:900; }
.sec-body {
  font-size:14px; color:var(--muted); line-height:1.78;
  font-weight:300; max-width:500px;
}

/* ─────────── SERVICES ─────────── */
.svc-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:var(--radius);
  overflow:hidden; margin-top:52px;
}
.svc-card {
  background:white; padding:36px 30px;
  cursor:pointer; transition:background .18s;
}
.svc-card:hover { background:var(--blue-lt); }
.svc-ico { margin-bottom:20px; }
/* ALL service icons: blue only */
.svc-ico svg {
  width:40px; height:40px;
  stroke:var(--blue); fill:none; stroke-width:1.4;
}
.svc-pill {
  display:inline-block; font-size:9px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase; padding:3px 11px;
  border-radius:3px; margin-bottom:12px;
  background:rgba(31,68,141,.09); color:var(--blue);
}
.svc-card h3 { font-size:18px; font-weight:900; color:var(--blue); margin-bottom:10px; }
.svc-card p { font-size:13px; color:var(--muted); line-height:1.7; font-weight:300; margin-bottom:22px; }
.svc-more {
  font-size:11px; font-weight:700; color:var(--blue);
  letter-spacing:.7px; text-transform:uppercase;
  display:flex; align-items:center; gap:5px;
}
.svc-more svg { width:12px; height:12px; stroke:var(--blue); fill:none; stroke-width:2.5; }

/* ─────────── IMAGE GALLERY ─────────── */
.gallery {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:240px 240px;
  gap:4px;
}
.gal { position:relative; overflow:hidden; }
.gal:first-child { grid-row:1/3; }
.gal img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s ease;
}
.gal:hover img { transform:scale(1.04); }
.gal-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(9,14,28,.78) 0%, transparent 55%);
  display:flex; align-items:flex-end; padding:20px;
}
.gal-lbl { color:white; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }

/* ─────────── WHY US (dark section) ─────────── */
.why-sec {
  background:var(--blue-dk); padding:88px 64px;
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;
}
.why-sec .sec-tag { color:rgba(237,28,36,.9); }
.why-sec .sec-title { color:white; }
.why-sec .sec-body { color:rgba(255,255,255,.38); }

/* Image below the text in left column */
.why-img {
  margin-top:36px; border-radius:var(--radius); overflow:hidden;
  height:210px;
  border:1px solid rgba(255,255,255,.07);
}
.why-img img { width:100%; height:100%; object-fit:cover; display:block; }

/* Right: benefit items */
.wi-list { display:flex; flex-direction:column; gap:11px; }
.wi {
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07);
  border-radius:8px; padding:17px 18px;
  display:flex; gap:12px; align-items:flex-start;
  transition:background .17s;
}
.wi:hover { background:rgba(255,255,255,.06); }
.wi-ico {
  width:38px; height:38px; flex-shrink:0; background:var(--blue);
  border-radius:6px; display:flex; align-items:center; justify-content:center;
}
.wi-ico svg { width:17px; height:17px; stroke:white; fill:none; stroke-width:2; }
.wi-t strong { display:block; font-size:12.5px; font-weight:900; color:white; margin-bottom:3px; }
.wi-t span { font-size:11.5px; color:rgba(255,255,255,.35); line-height:1.55; }

/* Stats band */
.stats-band {
  grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.07); margin-top:10px;
}
.stat {
  padding:28px 20px; text-align:center;
  border-right:1px solid rgba(255,255,255,.07);
}
.stat:last-child { border-right:none; }
.stat-n { font-size:40px; font-weight:900; color:var(--red); line-height:1; }
.stat-l { font-size:10px; color:rgba(255,255,255,.28); margin-top:4px; letter-spacing:1px; text-transform:uppercase; }

/* ─────────── PHOTO + CTA ─────────── */
.photo-cta {
  display:grid; grid-template-columns:1fr 1fr; min-height:430px;
}
.pc-img { position:relative; overflow:hidden; }
.pc-img img { width:100%; height:100%; object-fit:cover; display:block; }
.pc-img-ov { position:absolute; inset:0; background:rgba(31,68,141,.18); }
.pc-copy {
  background:var(--blue); padding:72px 64px;
  display:flex; flex-direction:column; justify-content:center;
}
.pc-copy .sec-tag { color:rgba(237,28,36,.9); }
.pc-copy .sec-title { color:white; font-size:30px; margin-bottom:14px; }
.pc-copy .sec-body { color:rgba(255,255,255,.45); margin-bottom:36px; max-width:100%; }
.btn-prim {
  display:inline-flex; align-items:center; gap:9px;
  background:var(--red); color:white; border:none;
  padding:16px 36px; border-radius:6px;
  font-family:'Lato', sans-serif; font-size:12px; font-weight:900;
  letter-spacing:1px; text-transform:uppercase; cursor:pointer;
  transition:background .14s, transform .1s; width:fit-content;
}
.btn-prim:hover { background:var(--red-dk); transform:translateY(-1px); }
.btn-prim svg { width:16px; height:16px; fill:white; flex-shrink:0; }

/* ─────────── TESTIMONIALS ─────────── */
.testi-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:18px; margin-top:52px;
}
.tcard {
  background:white; border-radius:var(--radius); padding:26px;
  border:1px solid var(--border);
  transition:box-shadow .18s, transform .18s;
}
.tcard:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.tcard-stars { display:flex; gap:3px; margin-bottom:13px; }
.tcard-stars svg { width:14px; height:14px; fill:var(--gold); }
.tcard blockquote {
  font-size:13px; color:#374151; line-height:1.76;
  font-style:italic; font-weight:300; margin-bottom:18px;
}
.tcard-auth { display:flex; align-items:center; gap:10px; }
.t-av {
  width:36px; height:36px; border-radius:50%;
  background:var(--blue); display:flex; align-items:center;
  justify-content:center; color:white; font-size:14px; font-weight:900; flex-shrink:0;
}
.t-nm strong { display:block; font-size:12px; font-weight:900; color:var(--blue); }
.t-nm span { font-size:10.5px; color:var(--muted); }

/* ─────────── BOTTOM CTA ─────────── */
.btm-cta {
  background:var(--blue-dk); padding:68px 64px;
  display:flex; justify-content:space-between; align-items:center; gap:40px;
}
.btm-cta h2 {
  font-size:clamp(22px,2.5vw,34px); font-weight:300; color:white;
  line-height:1.2; max-width:540px;
}
.btm-cta h2 b { font-weight:900; }
.btn-ghost {
  background:transparent; color:white; border:2px solid rgba(255,255,255,.35);
  padding:15px 40px; border-radius:6px; flex-shrink:0;
  font-family:'Lato', sans-serif; font-size:12px; font-weight:900;
  letter-spacing:1px; text-transform:uppercase; cursor:pointer;
  transition:all .15s; white-space:nowrap;
}
.btn-ghost:hover { background:white; color:var(--blue); border-color:white; }

/* ─────────── FOOTER ─────────── */
footer {
  background:var(--blue-dk); padding:60px 64px 28px;
  border-top:1px solid rgba(255,255,255,.05);
}
.ft-grid {
  display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:52px; margin-bottom:52px;
}
.ft-logo img { height:27px; display:block; margin-bottom:14px; }
.ft-desc { font-size:12px; color:rgba(255,255,255,.28); line-height:1.78; max-width:240px; }
/* Social row */
.social-row { display:flex; gap:9px; margin-top:20px; }
.social-btn {
  width:36px; height:36px; border-radius:8px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; transition:all .14s; cursor:pointer;
}
.social-btn:hover { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.2); }
.social-btn svg { width:16px; height:16px; fill:rgba(255,255,255,.55); display:block; }
.ft-col h4 {
  font-size:9px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--red); margin-bottom:14px;
}
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.ft-col a {
  font-size:12px; color:rgba(255,255,255,.28);
  text-decoration:none; transition:color .14s;
}
.ft-col a:hover { color:rgba(255,255,255,.8); }
.ft-bottom {
  border-top:1px solid rgba(255,255,255,.05); padding-top:22px;
  display:flex; justify-content:space-between; align-items:center;
  font-size:11px; color:rgba(255,255,255,.18);
}

/* ─────────── PREVIEW BADGE ─────────── */


/* ─────────── ANIMATIONS ─────────── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-left > * { animation:fadeUp .65s ease both; }
.hero-left > *:nth-child(1) { animation-delay:.08s; }
.hero-left > *:nth-child(2) { animation-delay:.18s; }
.hero-left > *:nth-child(3) { animation-delay:.28s; }
.hero-left > *:nth-child(4) { animation-delay:.40s; }
.card-outer { animation:fadeUp .7s .28s ease both; }

/* ══════════════════════════════════════
   MOBILE RESPONSIVE — Full redesign
   Breakpoints: 768px tablet, 480px mobile
══════════════════════════════════════ */

/* Tablet */
@media (max-width: 900px) {
  nav { padding:0 24px; }
  .nav-links { display:none; }
  .topbar { padding:7px 24px; }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-img-panel { display:none; }
  .hero-left { padding:72px 24px 0 24px; }
  .hero-right { padding:28px 24px 48px; justify-content:center; }
  .card-outer { max-width:100%; }
  .trust-strip { grid-template-columns:repeat(3,1fr); }
  .ts:nth-child(4), .ts:nth-child(5) { border-top:1px solid var(--border); }
  .svc-grid { grid-template-columns:1fr; }
  .gallery { grid-template-columns:1fr 1fr; grid-template-rows:200px 200px 200px; }
  .gal:first-child { grid-column:1/3; grid-row:1; }
  .why-sec { grid-template-columns:1fr; gap:40px; padding:64px 24px; }
  .stats-band { grid-column:1; }
  .photo-cta { grid-template-columns:1fr; }
  .pc-img { height:280px; }
  .pc-copy { padding:52px 24px; }
  .testi-grid { grid-template-columns:1fr; }
  .btm-cta { flex-direction:column; text-align:center; padding:52px 24px; }
  .ft-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .sec { padding:64px 24px; }
  .btm-cta h2 { font-size:24px; }
}

/* Mobile */
@media (max-width: 640px) {
  /* Topbar: hide left info, keep portal link */
  .topbar { padding:7px 20px; }
  .tb-left { display:none; }

  /* Nav */
  nav {
    padding:0 16px; height:60px;
    display:flex; align-items:center;
    justify-content:space-between; gap:10px;
  }
  .nav-brand { flex-shrink:0; }
  .nav-brand img { height:28px; }
  .nav-sub { display:none; }
  .nav-links { display:none; }
  .nav-right { margin-left:0; }
  /* Phone pill on mobile — compact */
  .nav-phone {
    padding:0 14px; height:38px; border-radius:7px;
    gap:6px;
  }
  .ph-label strong { font-size:13px; }
  .ph-label small { font-size:8px; }
  /* dots stay visible */
  .nav-more-wrap { flex-shrink:0; }

  /* Hero */
  .hero {
    grid-template-columns:1fr;
    min-height:auto;
    padding-bottom:0;
  }
  .hero-bg {
    background:linear-gradient(160deg, #090e1c 0%, #1F448D 100%);
  }
  .hero-img-panel { display:none; }
  .hero-left {
    padding:52px 20px 0;
    text-align:center;
  }
  .hero-badge { font-size:9px; }
  .hero-left h1 { font-size:32px; letter-spacing:-1.2px; }
  .hero-left h1 .h1-light { font-size:26px; }
  .hero-desc { font-size:14px; margin:16px auto 32px; max-width:100%; }
  .hero-counters { justify-content:center; gap:28px; }
  .hc-num { font-size:28px; }

  /* Form takes full width */
  .hero-right { padding:24px 20px 44px; }
  .card-outer { max-width:100%; }

  /* Trust strip: 2 cols on mobile */
  .trust-strip { grid-template-columns:1fr 1fr; }
  .ts:nth-child(5) { grid-column:1/3; border-right:none; border-top:1px solid var(--border); }

  /* Services: single column */
  .svc-grid { grid-template-columns:1fr; border-radius:var(--radius); }

  /* Gallery: 2x2 + 1 */
  .gallery {
    grid-template-columns:1fr 1fr;
    grid-template-rows:160px 160px 160px;
  }
  .gal:first-child { grid-column:1/3; grid-row:1; }

  /* Why section */
  .why-sec { grid-template-columns:1fr; padding:52px 20px; gap:32px; }
  .why-img { height:180px; }
  .stats-band { grid-template-columns:1fr 1fr; grid-column:1; }
  .stat:nth-child(3) { border-top:1px solid rgba(255,255,255,.07); }
  .stat:nth-child(4) { border-top:1px solid rgba(255,255,255,.07); border-right:none; }
  .stat:nth-child(2) { border-right:none; }

  /* Photo CTA */
  .photo-cta { grid-template-columns:1fr; }
  .pc-img { height:220px; }
  .pc-copy { padding:44px 20px; }
  .pc-copy .sec-title { font-size:24px; }

  /* Testimonials */
  .testi-grid { grid-template-columns:1fr; }

  /* Bottom CTA */
  .btm-cta { flex-direction:column; text-align:center; padding:48px 20px; gap:24px; }
  .btn-ghost { width:100%; text-align:center; justify-content:center; }

  /* Footer */
  .ft-grid { grid-template-columns:1fr; gap:32px; }
  .ft-bottom { flex-direction:column; gap:8px; text-align:center; }
  footer { padding:44px 20px 24px; }

  /* Sections */
  .sec { padding:52px 20px; }
  .sec-title { font-size:26px; }
}/* End custom CSS */