:root{--navy:#001631;--navy2:#0b2b4d;--blue:#2f6095;--pale:#f2f6fb;--line:#dce5ef;--orange:#f26b2b;--ink:#172b40;--muted:#637387;--white:#fff;--radius:20px;--shadow:0 18px 50px rgba(0,22,49,.09)}



\*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:var(--navy);color:#e6eef9;font-size:.83rem}.topbar-inner{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar a:hover{color:#ffb38d}.top-sep{margin:0 10px;color:#8ca2bc}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,239,.8)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;font-family:Manrope,sans-serif;font-weight:800;font-size:1.5rem;box-shadow:inset 0 -4px 0 rgba(255,255,255,.12)}.brand strong{display:block;color:var(--navy);font:800 1.2rem/1.1 Manrope,sans-serif;letter-spacing:.04em}.brand small{display:block;margin-top:5px;color:var(--blue);font-size:.61rem;font-weight:700;letter-spacing:.12em}.main-nav{display:flex;align-items:center;gap:3px}.main-nav a{padding:10px 11px;border-radius:9px;color:#526174;font-size:.85rem;font-weight:600;white-space:nowrap;transition:.2s}.main-nav a:hover,.main-nav a.active{background:#edf3fa;color:var(--navy)}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;padding:13px 19px;font-weight:700;font-size:.92rem;cursor:pointer;transition:transform .2s,*background* .2s}.header-cta,.btn-primary{background:var(--navy);color:#fff}.header-cta:hover,.btn-primary:hover{background:#123c66;transform:translateY(-1px)}.header-cta{white-space:nowrap;padding:12px 15px;font-size:.85rem}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:#d95419;transform:translateY(-2px)}.btn-outline{border:1px solid rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.08)}.btn-outline:hover{background:rgba(255,255,255,.17)}.menu-toggle{display:none;background:var(--pale);border:0;border-radius:9px;padding:10px 12px;color:var(--navy);font-size:1.2rem}.hero{position:relative;min-height:590px;background:var(--navy);color:#fff;overflow:hidden}.hero-slide{position:absolute;inset:0;display:flex;align-items:center;padding:70px max(20px,calc((100% - 1180px)/2));background-image:var(--hero-image);background-position:center;background-size:cover;opacity:0;visibility:hidden;transition:opacity .8s ease;min-height:590px}.hero-slide.active{opacity:1;visibility:visible}.hero-copy{max-width:680px;position:relative;z-index:2;padding-bottom:30px}.eyebrow{display:inline-block;color:var(--blue);font-size:.76rem;text-transform:uppercase;font-weight:800;letter-spacing:.13em;margin-bottom:12px}.hero .eyebrow,.page-hero .eyebrow{color:#ffc19f}.hero h1,.hero h2,.page-hero h1{font:800 clamp(2.4rem,5vw,4.5rem)/1.1 Manrope,sans-serif;letter-spacing:-.045em;margin:12px 0 18px}.hero h1 em{font-style:normal;color:#ff9b65}.hero p,.page-hero p{font-size:1.12rem;color:#e1eaf5;max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.slider-controls{position:absolute;z-index:4;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px}.slider-controls button{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff66;background:#ffffff16;color:#fff;font-size:1.6rem;cursor:pointer}.slider-dots{display:flex;gap:7px}.slider-dots button{width:9px;height:9px;padding:0;border:0;background:#ffffff75}.slider-dots button.active{background:var(--orange);width:25px;border-radius:8px}.section{padding:82px 0}.section-soft{background:var(--pale)}.section-heading{max-width:720px;text-align:center;margin:0 auto 38px}.section-heading h2,.split h2,.cta-band h2,.info-panel h2,.enquiry-form h2,.legal h2{font:800 clamp(1.8rem,3.2vw,2.7rem)/1.2 Manrope,sans-serif;letter-spacing:-.035em;color:var(--navy);margin:0 0 14px}.section-heading p,.split p{color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:#fff;box-shadow:0 5px 18px rgba(0,22,49,.025);transition:transform .22s,box-shadow .22s,border-color .22s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b8cde3}.card-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#eaf1fa;color:var(--blue);font-size:1.1rem;font-weight:800;margin-bottom:18px}.service-card h3{font:800 1.12rem/1.35 Manrope,sans-serif;color:var(--navy);margin:0 0 10px}.service-card p{font-size:.92rem;color:var(--muted);margin:0 0 15px}.card-link{display:inline-block;margin-top:7px;color:var(--blue);font-weight:800;font-size:.88rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split h2{margin-top:0}.steps{display:grid;gap:15px}.steps>div{display:flex;gap:17px;align-items:flex-start;background:#fff;padding:20px;border:1px solid var(--line);border-radius:15px}.steps b{color:var(--orange);font:800 1.1rem Manrope,sans-serif}.steps strong,.steps small{display:block}.steps strong{color:var(--navy)}.steps small{color:var(--muted);margin-top:4px}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 42px;border-radius:24px;background:linear-gradient(120deg,var(--navy),#154776);color:#fff}.cta-band h2{color:#fff;margin-bottom:7px}.cta-band p{margin:0;color:#d3dfed}.page-hero{padding:86px max(20px,calc((100% - 1180px)/2)) 82px;background:linear-gradient(110deg,rgba(0,22,49,.97),rgba(12,55,93,.86)),url('https\://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1800&q=80') center/cover;color:#fff}.page-hero h1{max-width:850px;font-size:clamp(2.4rem,4.6vw,4rem)}.page-hero p{max-width:740px}.car-hero{background-image:linear-gradient(110deg,rgba(0,22,49,.96),rgba(0,22,49,.6)),url('https\://images.unsplash.com/photo-1492144534655-ae79c964c9d7?auto=format&fit=crop&w=1800&q=85')}.health-hero{background-image:linear-gradient(110deg,rgba(0,22,49,.96),rgba(0,22,49,.65)),url('https\://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=1800&q=80')}.home-hero{background-image:linear-gradient(110deg,rgba(0,22,49,.96),rgba(0,22,49,.55)),url('https\://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=80')}.travel-hero{background-image:linear-gradient(110deg,rgba(0,22,49,.96),rgba(0,22,49,.58)),url('https\://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1800&q=80')}.marine-hero{background-image:linear-gradient(110deg,rgba(0,22,49,.96),rgba(0,22,49,.58)),url('https\://images.unsplash.com/photo-1494412519320-aa613dfb7738?auto=format&fit=crop&w=1800&q=80')}.info-panel{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.info-panel h3{font:800 1.25rem Manrope,sans-serif;color:var(--navy);margin:0 0 14px}.info-panel p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:20px 0}.check-list li{padding:9px 0 9px 29px;position:relative;color:var(--muted)}.check-list li:before{content:"✓";position:absolute;left:0;top:9px;display:grid;place-items:center;width:19px;height:19px;background:#e4f4eb;color:#16804a;border-radius:50%;font-size:.75rem;font-weight:800}.mini-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.mini-links a{padding:13px 17px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--blue);font-weight:700}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:start}.contact-line{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.contact-line strong{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.contact-line a{font-weight:700;color:var(--navy)}.fine-print,.footer-note{font-size:.82rem;color:var(--muted)}.enquiry-form{padding:30px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px}.enquiry-form label{font-size:.87rem;font-weight:700;color:var(--navy);margin-top:5px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #ccd8e5;border-radius:9px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:3px solid #d7e7f8;border-color:#6d91b7}.form-note{font-size:.82rem;color:var(--muted);margin:5px 0 0}.legal{max-width:850px}.legal h2{font-size:1.5rem;margin-top:32px}.site-footer{background:#061b32;color:#d4dfec;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer-brand strong{color:#fff}.footer-brand small{color:#a9c3df}.footer-grid p{max-width:280px;color:#aebed0;font-size:.9rem}.footer-grid h3{color:#fff;font:800 1rem Manrope,sans-serif;margin:0 0 16px}.footer-grid>div:not(:first-child) a{display:block;margin:9px 0;color:#c5d2e0;font-size:.9rem}.footer-grid a:hover,.footer-bottom a:hover{color:#ffad82}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2b3d50;margin-top:40px;padding-top:22px;color:#aebed0;font-size:.83rem}.footer-bottom div{display:flex;gap:20px}.disclaimer{font-size:.76rem;color:#8fa2b7;margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}



@media(max-width:1100px){.main-nav{gap:0}.main-nav a{padding:9px 7px;font-size:.78rem}.header-inner{gap:12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.header-cta{display:none}}



@media(max-width:760px){.container{width:min(100% - 30px,1180px)}.topbar-inner{padding:8px 0;align-items:flex-start;font-size:.75rem}.topbar-inner>div{display:flex;flex-wrap:wrap;gap:4px}.top-sep{margin:0 4px}.header-inner{height:70px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;border-bottom:1px solid var(--line);padding:12px 15px 18px;box-shadow:0 15px 25px #00163118;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{font-size:.95rem;padding:12px}.hero,.hero-slide{min-height:570px}.hero-slide{padding:55px 22px 80px;background-position:60% center}.hero h1,.hero h2{font-size:clamp(2.35rem,11vw,3.3rem)}.hero p,.page-hero p{font-size:1rem}.section{padding:60px 0}.cards,.cards.three{grid-template-columns:1fr}.split,.contact-grid{grid-template-columns:1fr;gap:25px}.cta-band{padding:28px;align-items:flex-start;flex-direction:column}.page-hero{padding:65px 22px}.page-hero h1{font-size:2.55rem}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap}.slider-controls{bottom:18px}}



@media(prefers-reduced-motion:reduce){\*,\*:before,\*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}



/\* =========================================

   INSURANCE DROPDOWN

   ========================================= \*/

.nav-dropdown {

  position: relative;

  flex: 0 0 auto;

}



.dropdown-toggle {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  padding: 10px 9px;

  border: 0;

  border-radius: 9px;

  background: transparent;

  color: #526174;

  font-family: inherit;

  font-size: 0.82rem;

  font-weight: 600;

  white-space: nowrap;

  cursor: pointer;

  transition: *background* 0.2s, color 0.2s;

}



.dropdown-toggle:hover,

.dropdown-toggle[aria-expanded="true"] {

  background: #edf3fa;

  color: var(--navy);

}



.dropdown-arrow {

  display: inline-block;

  transition: transform 0.2s ease;

}



.dropdown-toggle[aria-expanded="true"] .dropdown-arrow {

  transform: rotate(180deg);

}



.dropdown-menu {

  display: none;

  position: absolute;

  top: calc(100% + 8px);

  left: 0;

  z-index: 1000;

  width: 245px;

  max-height: min(70vh, 420px);

  overflow-y: auto;

  padding: 8px;

  background: #fff;

  border: 1px solid var(--line);

  border-radius: 12px;

  box-shadow: 0 16px 35px rgba(0, 22, 49, 0.16);

}



.nav-dropdown.open .dropdown-menu {

  display: block;

}



.dropdown-menu a {

  display: block;

  padding: 10px 12px;

  border-radius: 8px;

  color: #526174;

  font-size: 0.88rem;

  font-weight: 600;

  line-height: 1.4;

  white-space: normal;

}



.dropdown-menu a:hover,

.dropdown-menu a:focus-visible {

  background: #edf3fa;

  color: var(--navy);

}



/\* =========================================

   HEADER WIDTH FIX — DESKTOP

   Keeps Get in touch inside the viewport.

   ========================================= \*/

@media (min-width: 761px) {

  .header-inner {

    width: min(100% - 32px, 1500px);

    gap: clamp(6px, 0.8vw, 14px);

  }



  .brand {

    gap: 7px;

    flex-shrink: 0;

  }



  .brand-mark {

    width: 38px;

    height: 38px;

    font-size: 1.35rem;

  }



  .brand strong {

    font-size: 1.05rem;

  }



  .brand small {

    font-size: 0.55rem;

    letter-spacing: 0.07em;

  }



  .main-nav {

    flex: 1 1 auto;

    min-width: 0;

    justify-content: center;

    gap: 0;

  }



  .main-nav > a {

    padding: 9px clamp(4px, 0.55vw, 8px);

    font-size: clamp(0.68rem, 0.72vw, 0.78rem);

  }



  .dropdown-toggle {

    padding: 9px clamp(4px, 0.55vw, 8px);

    font-size: clamp(0.68rem, 0.72vw, 0.78rem);

  }



  .header-cta {

    flex: 0 0 auto;

    padding: 10px clamp(8px, 0.8vw, 12px);

    font-size: clamp(0.68rem, 0.72vw, 0.78rem);

  }

}



/\* Tablet and mobile navigation \*/

@media (max-width: 760px) {

  .header-inner {

    position: relative;

    gap: 10px;

  }



  .main-nav {

    gap: 0;

  }



  .main-nav > a {

    display: block;

    width: 100%;

    font-size: 0.95rem;

    padding: 12px;

  }



  .nav-dropdown {

    width: 100%;

  }



  .dropdown-toggle {

    display: flex;

    width: 100%;

    justify-content: space-between;

    padding: 12px;

    font-size: 0.95rem;

  }



  .dropdown-menu {

    position: static;

    width: 100%;

    max-height: none;

    margin: 0;

    padding: 0 0 0 12px;

    border: 0;

    border-radius: 0;

    box-shadow: none;

    overflow: visible;

  }



  .dropdown-menu a {

    padding: 10px 12px;

    font-size: 0.9rem;

  }

}





/\* =========================================================

   PROINS HEADER + INSURANCE DROPDOWN POLISH

   Additive overrides: preserves existing page and slideshow styles

   ========================================================= \*/



:root {

  --navy: #061a33;

  --navy2: #103b65;

  --blue: #2f6095;

  --pale: #f3f7fc;

  --line: #dce5ef;

  --orange: #ef6b35;

  --ink: #172b40;

  --muted: #637387;

  --header-shadow: 0 8px 28px rgba(6, 26, 51, 0.07);

}



.site-header {

  box-shadow: var(--header-shadow);

}



.header-inner {

  gap: clamp(12px, 1.6vw, 24px);

}



.brand {

  gap: 10px;

}



.brand-mark {

  width: 44px;

  height: 44px;

  transition: transform 220ms ease, box-shadow 220ms ease;

}



.brand:hover .brand-mark {

  transform: translateY(-2px) rotate(-3deg);

  box-shadow: 0 7px 16px rgba(6, 26, 51, 0.18);

}



.brand strong {

  font-size: 1.25rem;

}



.brand small {

  font-size: 0.64rem;

  letter-spacing: 0.105em;

}



/\* Keep navigation readable without pushing the CTA off-screen \*/

.main-nav {

  flex: 1 1 auto;

  min-width: 0;

  justify-content: center;

  gap: 3px;

}



.main-nav > a,

.main-nav .dropdown-toggle {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 7px;

  padding: 11px clamp(7px, 0.8vw, 12px);

  border: 0;

  border-radius: 10px;

  background: transparent;

  color: #526174;

  font-family: inherit;

  font-size: clamp(0.78rem, 0.82vw, 0.9rem);

  font-weight: 700;

  line-height: 1.25;

  white-space: nowrap;

  cursor: pointer;

  transition: color 180ms ease, *background* 180ms ease, transform 180ms ease;

}



.main-nav > a:hover,

.main-nav > a.active,

.main-nav .dropdown-toggle:hover,

.main-nav .dropdown-toggle[aria-expanded="true"] {

  background: #edf3fa;

  color: var(--navy);

}



.main-nav > a:hover,

.main-nav .dropdown-toggle:hover {

  transform: translateY(-1px);

}



/\* Dropdown works on mouse hover, keyboard focus, and click state \*/

.nav-dropdown {

  position: relative;

  flex: 0 0 auto;

}



.dropdown-toggle {

  appearance: none;

}



.dropdown-arrow {

  display: inline-block;

  font-size: 1rem;

  transition: transform 200ms ease;

}



.nav-dropdown:hover .dropdown-arrow,

.nav-dropdown:focus-within .dropdown-arrow,

.nav-dropdown.open .dropdown-arrow {

  transform: rotate(180deg);

}



.dropdown-menu {

  display: block;

  position: absolute;

  top: calc(100% + 10px);

  left: 0;

  z-index: 1000;

  width: 260px;

  padding: 9px;

  margin: 0;

  border: 1px solid #dce5ef;

  border-radius: 14px;

  background: #fff;

  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.16);

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transform: translateY(8px) scale(0.98);

  transform-origin: top left;

  transition:

    opacity 180ms ease,

    transform 180ms ease,

    visibility 180ms ease;

}



/\* Invisible hover bridge helps prevent the menu closing while moving the pointer \*/

.dropdown-menu::before {

  content: "";

  position: absolute;

  left: 0;

  right: 0;

  top: -12px;

  height: 12px;

}



.nav-dropdown:hover .dropdown-menu,

.nav-dropdown:focus-within .dropdown-menu,

.nav-dropdown.open .dropdown-menu {

  opacity: 1;

  visibility: visible;

  pointer-events: auto;

  transform: translateY(0) scale(1);

}



.dropdown-menu a {

  display: flex;

  align-items: center;

  width: 100%;

  padding: 11px 13px;

  border-radius: 9px;

  color: #42556b;

  font-size: 0.9rem;

  font-weight: 600;

  line-height: 1.35;

  white-space: normal;

  transition: color 160ms ease, *background* 160ms ease, padding-left 160ms ease;

}



.dropdown-menu a:hover,

.dropdown-menu a:focus-visible {

  padding-left: 17px;

  background: #edf3fa;

  color: #0b3a66;

}



/\* CTA stays visible and gets a subtle professional hover \*/

.header-cta {

  flex: 0 0 auto;

  padding: 13px 17px;

  font-size: 0.86rem;

  box-shadow: 0 5px 13px rgba(6, 26, 51, 0.08);

  transition: *background* 180ms ease, transform 180ms ease, box-shadow 180ms ease;

}



.header-cta:hover {

  transform: translateY(-2px);

  box-shadow: 0 9px 20px rgba(6, 26, 51, 0.15);

}



/\* Medium desktop: reduce gaps gently instead of shrinking all text too much \*/

@media (min-width: 1101px) and (max-width: 1400px) {

  .container {

    width: calc(100% - 44px);

  }



  .header-inner {

    gap: 14px;

  }



  .main-nav {

    gap: 1px;

  }



  .main-nav > a,

  .main-nav .dropdown-toggle {

    padding: 10px 8px;

    font-size: 0.82rem;

  }



  .brand-mark {

    width: 42px;

    height: 42px;

  }



  .brand strong {

    font-size: 1.16rem;

  }



  .header-cta {

    padding: 12px 13px;

    font-size: 0.82rem;

  }

}



@media (min-width: 761px) and (max-width: 1100px) {

  .header-inner {

    gap: 10px;

  }



  .brand {

    gap: 7px;

  }



  .brand-mark {

    width: 38px;

    height: 38px;

  }



  .brand strong {

    font-size: 1.05rem;

  }



  .brand small {

    font-size: 0.54rem;

    letter-spacing: 0.06em;

  }



  .main-nav > a,

  .main-nav .dropdown-toggle {

    padding: 9px 6px;

    font-size: 0.74rem;

  }



  .header-cta {

    padding: 10px 11px;

    font-size: 0.74rem;

  }

}



/\* Mobile navigation and dropdown \*/

@media (max-width: 760px) {

  .main-nav {

    gap: 2px;

    max-height: calc(100vh - 115px);

    overflow-y: auto;

  }



  .main-nav > a,

  .main-nav .dropdown-toggle {

    display: flex;

    justify-content: space-between;

    width: 100%;

    padding: 12px;

    font-size: 0.96rem;

  }



  .nav-dropdown {

    width: 100%;

  }



  .dropdown-menu {

    position: static;

    width: 100%;

    max-height: none;

    margin: 0;

    padding: 4px 0 5px 12px;

    border: 0;

    border-radius: 0;

    box-shadow: none;

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform: none;

    display: none;

  }



  .nav-dropdown:hover .dropdown-menu,

  .nav-dropdown:focus-within .dropdown-menu,

  .nav-dropdown.open .dropdown-menu {

    display: block;

  }



  .dropdown-menu a {

    padding: 11px 13px;

    font-size: 0.92rem;

  }



  .header-cta {

    display: none;

  }

}



/\* Respect users who prefer reduced motion \*/

@media (prefers-reduced-motion: reduce) {

  .brand-mark,

  .main-nav > a,

  .main-nav .dropdown-toggle,

  .dropdown-arrow,

  .dropdown-menu,

  .dropdown-menu a,

  .header-cta {

    transition: none !important;

    transform: none !important;

  }

}

.company-logo {

  display: block;

  width: 250px;

  max-width: 100%;

  height: auto;

  object-fit: contain;

}

.corporate-clients-section {
  padding: 64px 0 72px;
  background: #fff;
}

.corporate-clients-heading {
  margin-bottom: 24px;
  text-align: center;
}

.corporate-clients-heading h2 {
  margin: 0;
  color: var(--navy);
  font-family: Manrope, sans-serif;
  font-size: 2rem;
  line-height: 1.25;
}

.corporate-clients-carousel {
  min-height: 120px;
  overflow: hidden;
}

.corporate-clients-track,
.corporate-clients-group {
  display: flex;
  width: max-content;
}

.corporate-clients-track {
  animation: corporate-clients-scroll 32s linear infinite;
}

.corporate-clients-carousel:hover .corporate-clients-track,
.corporate-clients-carousel:focus-within .corporate-clients-track {
  animation-play-state: paused;
}

.corporate-clients-group {
  flex: 0 0 auto;
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding-right: clamp(24px, 4vw, 56px);
}

.corporate-clients-group img {
  display: block;
  flex: 0 0 150px;
  width: 150px;
  height: 84px;
  object-fit: contain;
}

@keyframes corporate-clients-scroll {
  to {
    transform: translateX(-50%);
  }
}

.corporate-clients-action {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.corporate-clients-action .btn:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .corporate-clients-section {
    padding: 56px 0 60px;
  }

  .corporate-clients-carousel {
    min-height: 108px;
  }

  .corporate-clients-group img {
    flex-basis: 132px;
    width: 132px;
  }
}

@media (max-width: 600px) {
  .corporate-clients-heading h2 {
    font-size: 1.7rem;
  }

  .corporate-clients-carousel {
    min-height: 92px;
  }

  .corporate-clients-group img {
    flex-basis: 116px;
    width: 116px;
    height: 72px;
  }

  .corporate-clients-action .btn {
    width: min(100%, 280px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .corporate-clients-track {
    animation: none;
  }
}



.brand:has(.company-logo) {

  flex-shrink: 0;

}



@media (max-width: 760px) {

  .company-logo {

    width: 205px;

  }

}



/\* Company logo \*/

.company-logo {

  display: block;

  width: 280px;

  max-width: 100%;

  height: auto;

  object-fit: contain;

}



.brand {

  display: flex;

  align-items: center;

  flex-shrink: 0;

}



.footer-brand .company-logo {

  width: 240px;

}



@media (max-width: 768px) {

  .company-logo {

    width: 210px;

  }



  .footer-brand .company-logo {

    width: 200px;

  }

}



/\* Fix company logo alignment in header \*/

.site-header .header-inner {

  gap: 20px;

}



.site-header .brand {

  flex: 0 1 340px;

  min-width: 0;

  overflow: hidden;

}



.site-header .company-logo {

  display: block;

  width: 100%;

  max-width: 340px;

  height: auto;

  object-fit: contain;

}



/\* Keep the logo responsive on mobile \*/

@media (max-width: 768px) {

  .site-header .brand {

    flex-basis: 210px;

  }



  .site-header .company-logo {

    max-width: 210px;

  }

}



/\* Final header logo size fix \*/

.site-header .header-inner > .brand {

  flex: 0 0 260px !important;

  width: 260px !important;

  max-width: 260px !important;

  min-width: 0 !important;

  overflow: hidden;

  padding: 0 !important;

  margin: 0 !important;

}



.site-header .header-inner > .brand .company-logo {

  display: block;

  width: 100% !important;

  max-width: 260px !important;

  height: auto !important;

  max-height: 90px;

  object-fit: contain;

}



.site-header .header-inner {

  gap: 16px;

}



@media (max-width: 768px) {

  .site-header .header-inner > .brand {

    flex-basis: 190px !important;

    width: 190px !important;

    max-width: 190px !important;

  }



  .site-header .header-inner > .brand .company-logo {

    max-width: 190px !important;

    max-height: 65px;

  }

}



/\* Fine-tune logo position \*/

.site-header .header-inner > .brand {

  flex: 0 0 240px !important;

  width: 240px !important;

  max-width: 240px !important;

  height: 80px;

  display: flex;

  align-items: center;

  justify-content: flex-start;

  overflow: hidden;

  margin: 0 !important;

  padding: 0 !important;

}



.site-header .header-inner > .brand .company-logo {

  width: 240px !important;

  max-width: 240px !important;

  max-height: 80px !important;

  height: auto !important;

  object-fit: contain;

  display: block;

}



/* =========================================================
   PROINS VISUAL POLISH — FINAL OVERRIDES
   Keeps existing page layouts and insurance dropdown.
   ========================================================= */

/* Header logo: consistent size and no overflow */
.site-header .header-inner {
  gap: clamp(10px, 1.2vw, 20px);
}

.site-header .header-inner > .brand {
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 220px !important;
  min-width: 0 !important;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.site-header .header-inner > .brand .company-logo {
  display: block;
  width: 220px !important;
  max-width: 220px !important;
  max-height: 68px !important;
  height: auto !important;
  object-fit: contain;
  object-position: left center;
}

.site-header .brand-mark,
.site-header .brand strong,
.site-header .brand small {
  display: none;
}

/* Give the hero a more cinematic, polished feel */
.hero {
  min-height: 610px;
  isolation: isolate;
}

.hero-slide {
  min-height: 610px;
  padding-top: 64px;
  padding-bottom: 70px;
  background-position: center;
  will-change: opacity;
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 18, 39, 0.96) 0%,
    rgba(0, 22, 49, 0.84) 38%,
    rgba(0, 22, 49, 0.38) 72%,
    rgba(0, 22, 49, 0.12) 100%
  );
}

.hero-slide.active {
  z-index: 2;
  animation: hero-crossfade-in 850ms ease both;
}

.hero-slide.is-exiting {
  z-index: 1;
  visibility: visible;
  pointer-events: none;
  animation: hero-crossfade-out 850ms ease both;
}

.hero-slide.active.hero-transition-crossfade {
  animation-name: hero-crossfade-in;
}

.hero-slide.active.hero-transition-zoom-in {
  animation-name: hero-zoom-in;
}

.hero-slide.active.hero-transition-left {
  animation-name: hero-slide-from-right;
}

.hero-slide.active.hero-transition-right {
  animation-name: hero-slide-from-left;
}

.hero-slide.active.hero-transition-zoom-out {
  animation-name: hero-zoom-out;
}

.hero-copy {
  max-width: 690px;
  padding-bottom: 16px;
  animation: proins-copy-rise 750ms 100ms ease both;
}

.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #ff9a62;
  letter-spacing: 0.12em;
}

.hero .eyebrow::after {
  content: "";
  display: inline-block;
  width: 42px;
  height: 2px;
  background: var(--orange);
  opacity: 0.9;
}

.hero h1,
.hero h2 {
  max-width: 850px;
  font-size: clamp(2.7rem, 5.2vw, 4.65rem);
  line-height: 1.04;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.hero p {
  max-width: 610px;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.75;
}

.hero .actions {
  margin-top: 25px;
  gap: 14px;
}

.hero .btn {
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 11px;
}

.hero .btn-orange {
  box-shadow: 0 10px 24px rgba(242, 107, 43, 0.2);
}

.hero .btn-outline {
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(4, 24, 45, 0.3);
  backdrop-filter: blur(5px);
}

.hero .btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.13);
}

/* User requested removal of slideshow arrows and dots */
.hero .slider-controls {
  display: none !important;
}

/* Subtle motion on content cards and sections */
.service-card,
.info-panel,
.steps > div {
  transition:
    transform 240ms ease,
    box-shadow 240ms ease,
    border-color 240ms ease;
}

.service-card:hover {
  transform: translateY(-6px);
}

.btn,
.header-cta {
  transition:
    transform 200ms ease,
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.section-heading {
  animation: proins-copy-rise 650ms ease both;
}

.site-footer .company-logo {
  width: 220px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  background: #fff;
  border-radius: 3px;
}

/* Keep desktop navigation and logo from colliding */
@media (min-width: 1101px) {
  .header-inner {
    gap: clamp(12px, 1.3vw, 22px);
  }

  .main-nav {
    gap: 1px;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .site-header .header-inner > .brand {
    flex-basis: 190px !important;
    width: 190px !important;
    max-width: 190px !important;
  }

  .site-header .header-inner > .brand .company-logo {
    width: 190px !important;
    max-width: 190px !important;
    max-height: 62px !important;
  }

  .main-nav > a,
  .main-nav .dropdown-toggle {
    padding: 8px 5px;
    font-size: 0.72rem;
  }
}

@media (max-width: 760px) {
  .site-header .header-inner {
    gap: 8px;
  }

  .site-header .header-inner > .brand {
    flex: 0 0 185px !important;
    width: 185px !important;
    max-width: 185px !important;
    height: 64px;
  }

  .site-header .header-inner > .brand .company-logo {
    width: 185px !important;
    max-width: 185px !important;
    max-height: 58px !important;
  }

  .hero,
  .hero-slide {
    min-height: 570px;
  }

  .hero-slide {
    padding: 52px 22px 66px;
    background-position: 62% center;
  }

  .hero-slide::before {
    background: linear-gradient(
      90deg,
      rgba(0, 18, 39, 0.95) 0%,
      rgba(0, 22, 49, 0.82) 58%,
      rgba(0, 22, 49, 0.48) 100%
    );
  }

  .hero h1,
  .hero h2 {
    font-size: clamp(2.35rem, 10vw, 3.3rem);
  }

  .hero-copy {
    padding-bottom: 0;
  }

  .hero .actions {
    align-items: stretch;
  }

  .hero .actions .btn {
    width: 100%;
  }
}

@keyframes hero-crossfade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes hero-crossfade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes hero-zoom-in {
  from {
    opacity: 0;
    transform: scale(1.035);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes hero-slide-from-right {
  from {
    opacity: 0;
    transform: translateX(4%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes hero-slide-from-left {
  from {
    opacity: 0;
    transform: translateX(-4%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes hero-zoom-out {
  from {
    opacity: 0;
    transform: scale(0.97);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes proins-copy-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide.active,
  .hero-slide.is-exiting,
  .hero-copy,
  .section-heading {
    animation: none !important;
  }

  .hero .hero-slide {
    transition: none !important;
  }

  .hero-slide.is-exiting {
    visibility: hidden;
  }

  .hero-slide.active {
    visibility: visible;
  }

  .service-card,
  .info-panel,
  .steps > div,
  .btn,
  .header-cta {
    transition: none !important;
  }
}

/* FIX: Insurance dropdown in desktop header */
@media (min-width: 761px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
  }

  .site-header .header-inner {
    position: relative;
    display: flex;
    align-items: center;
  }

  .site-header .nav-dropdown {
    position: relative;
    flex: 0 0 auto;
  }

  .site-header .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 10px 9px;
    background: transparent;
    border: 0;
    white-space: nowrap;
    font: inherit;
    color: #526174;
    cursor: pointer;
  }

  .site-header .dropdown-menu {
    display: block;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 245px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 8px;
    margin: 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 16px 35px rgba(0, 22, 49, .16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    z-index: 1000;
  }

  .site-header .nav-dropdown:hover .dropdown-menu,
  .site-header .nav-dropdown:focus-within .dropdown-menu,
  .site-header .nav-dropdown.open .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-header .dropdown-menu a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    white-space: normal;
  }
}

/* Header readability correction */
@media (min-width: 1101px) {
  .site-header .header-inner {
    width: calc(100% - 48px);
    max-width: 1500px;
    gap: 16px;
  }

  .site-header .header-inner > .brand {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
  }

  .site-header .main-nav > a,
  .site-header .main-nav .dropdown-toggle {
    font-size: 0.88rem !important;
    padding: 10px 9px !important;
  }

  .site-header .main-nav {
    gap: 2px;
  }

  .site-header .header-cta {
    font-size: 0.9rem !important;
    padding: 13px 17px !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .site-header .main-nav > a,
  .site-header .main-nav .dropdown-toggle {
    font-size: 0.78rem !important;
    padding: 9px 5px !important;
  }
}
```css
/* Homepage slideshow controls */
.hero .slider-controls {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  bottom: 22px;
  z-index: 5;
}

.hero .slider-controls > button {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: rgba(0, 22, 49, 0.45);
  color: #fff;
  cursor: pointer;
}

.hero .slider-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hero .slider-dots button {
  display: block;
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.65);
  cursor: pointer;
}

.hero .slider-dots button.active {
  width: 24px;
  border-radius: 8px;
  background: var(--orange);
}

/* Reduce extra space above the hero content */
.hero-slide {
  padding-top: 35px;
}

@media (max-width: 760px) {
  .hero-slide {
    padding-top: 38px;
  }

  .hero .slider-controls {
    bottom: 16px;
  }
}

/* Homepage feedback form */
.feedback-section {
  padding: 0 20px 76px;
  background: #fff;
}

.feedback-card {
  box-sizing: border-box;
  width: min(560px, 100%);
  margin: 0 auto;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--white);
}

.feedback-card h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font: 800 1.8rem/1.25 Manrope, sans-serif;
  text-align: center;
}

.feedback-notice {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 0.88rem;
  text-align: center;
}

.feedback-form {
  display: grid;
  gap: 16px;
}

.feedback-field {
  display: grid;
  gap: 6px;
}

.feedback-field label {
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 700;
}

.feedback-field input,
.feedback-field textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #cfd8e2;
  border-radius: 9px;
  padding: 12px 14px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.95rem;
}

.feedback-field input {
  min-height: 50px;
}

.feedback-field textarea {
  min-height: 165px;
  resize: vertical;
}

.feedback-field input::placeholder,
.feedback-field textarea::placeholder {
  color: #788596;
  opacity: 1;
}

.feedback-field input:focus-visible,
.feedback-field textarea:focus-visible,
.feedback-submit:focus-visible {
  outline: 3px solid rgba(47, 96, 149, 0.28);
  outline-offset: 2px;
  border-color: var(--blue);
}

.feedback-hint {
  color: var(--muted);
  font-size: 0.78rem;
}

.feedback-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.feedback-status {
  margin: 0;
  color: #9b2c2c;
  font-size: 0.88rem;
}

.feedback-submit {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 11px 20px;
  border: 0;
  border-radius: 9px;
  background: var(--blue);
  color: #fff;
  font: 700 0.92rem "DM Sans", sans-serif;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}

.feedback-submit:hover:not(:disabled) {
  background: var(--navy2);
  transform: translateY(-1px);
}

.feedback-submit:disabled {
  cursor: wait;
  opacity: 0.7;
}

@media (max-width: 600px) {
  .feedback-section {
    padding: 0 20px 56px;
  }

  .feedback-card {
    padding: 24px 18px;
  }

  .feedback-form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .feedback-submit {
    align-self: flex-end;
  }
}

/* Homepage category card photos */
.homepage-service-cards > .service-card {
  overflow: hidden;
}

.homepage-service-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.homepage-service-cards .service-card-image {
  display: block;
  width: calc(100% + 50px);
  max-width: none;
  height: 190px;
  margin: -25px -25px 18px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .homepage-service-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .homepage-service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .homepage-service-cards .service-card-image {
    height: 160px;
  }
}

@media (max-width: 480px) {
  .homepage-service-cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.about-intro-copy {
  max-width: 800px;
}

.about-intro-copy p {
  margin: 14px 0 0;
}

.about-people {
  align-items: center;
}

.about-people p {
  color: var(--muted);
}

.about-people .about-promise {
  color: var(--navy);
  font-weight: 700;
}

.about-people-image {
  display: block;
  width: 100%;
  height: 420px;
  border-radius: var(--radius);
  object-fit: cover;
  object-position: center;
}

@media (max-width: 760px) {
  .about-people {
    gap: 30px;
  }

  .about-people-image {
    height: 280px;
  }
}

.car-cover-card {
  overflow: hidden;
}

.car-cover-image {
  display: block;
  width: calc(100% + 50px);
  max-width: none;
  height: 190px;
  margin: -25px -25px 18px;
  border-radius: 12px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .car-cover-image {
    height: 170px;
  }
}

@media (max-width: 600px) {
  .car-cover-image {
    height: 190px;
  }
}

.contact-office-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  margin-bottom: 32px;
}

.contact-information h2 {
  overflow-wrap: anywhere;
}

.contact-detail {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.contact-detail-icon {
  color: var(--orange);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.contact-detail address {
  color: var(--muted);
  font-style: normal;
  overflow-wrap: anywhere;
}

.contact-detail a {
  display: block;
  width: fit-content;
  color: var(--blue);
  overflow-wrap: anywhere;
}

.contact-detail a:hover,
.contact-detail a:focus-visible {
  color: var(--navy);
  text-decoration: underline;
}

.contact-directions {
  margin-top: 18px;
}

.contact-map iframe {
  display: block;
  width: 100%;
  height: 400px;
  border: 0;
  border-radius: 16px;
}

.contact-map-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 0.82rem;
}

@media (max-width: 900px) {
  .contact-office-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-map iframe {
    height: 360px;
  }
}

@media (max-width: 600px) {
  .contact-map iframe {
    height: 320px;
  }
}

.footer-grid > div {
  min-width: 0;
}

.footer-grid .footer-address-link {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 9px 0 14px;
  color: #c5d2e0;
  font-size: 0.9rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.footer-contact-icon {
  flex: 0 0 auto;
  color: var(--orange);
}

.footer-grid .footer-contact-links a {
  overflow-wrap: anywhere;
}

/* Consistent navigation transitions and dropdown behavior */
.site-header {
  overflow: visible;
}

.site-header .main-nav > a,
.site-header .main-nav .dropdown-toggle {
  transition:
    color 240ms ease,
    background-color 240ms ease,
    transform 240ms ease;
}

.site-header .main-nav > a:not(.active):hover,
.site-header .main-nav > a:not(.active):focus-visible,
.site-header .main-nav .dropdown-toggle:hover,
.site-header .main-nav .dropdown-toggle:focus-visible,
.site-header .main-nav .dropdown-toggle[aria-expanded="true"] {
  background-color: #edf3fa;
  color: var(--navy);
}

.site-header .main-nav > a.active {
  background-color: var(--navy);
  color: #fff;
}

.site-header .nav-dropdown {
  align-self: stretch;
}

.site-header .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  line-height: 1.25;
  white-space: nowrap;
}

.site-header .dropdown-arrow {
  display: inline-block;
  flex: 0 0 auto;
  line-height: 1;
  vertical-align: middle;
}

@media (min-width: 761px) {
  .site-header .main-nav {
    overflow: visible;
  }

  .site-header .nav-dropdown {
    position: relative;
    z-index: 1001;
  }

  .site-header .dropdown-menu {
    top: 100%;
    z-index: 1002;
    transition:
      opacity 220ms ease,
      transform 220ms ease,
      visibility 0s linear 220ms;
  }

  .site-header .nav-dropdown:hover .dropdown-menu,
  .site-header .nav-dropdown:focus-within .dropdown-menu,
  .site-header .nav-dropdown.open .dropdown-menu {
    transition:
      opacity 220ms ease,
      transform 220ms ease,
      visibility 0s;
  }
}

.site-header .dropdown-menu a {
  transition:
    color 220ms ease,
    background-color 220ms ease,
    padding-left 220ms ease;
}

@media (max-width: 760px) {
  .site-header .dropdown-toggle {
    justify-content: space-between;
  }

  .site-header .nav-dropdown:not(.open):not(:focus-within) .dropdown-menu {
    display: none !important;
  }

  .site-header .nav-dropdown.open .dropdown-menu,
  .site-header .nav-dropdown:focus-within .dropdown-menu {
    display: block !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .main-nav > a,
  .site-header .main-nav .dropdown-toggle,
  .site-header .dropdown-arrow,
  .site-header .dropdown-menu,
  .site-header .dropdown-menu a {
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero .hero-slide {
    transition: none !important;
  }
}

/* =========================================
   HEALTH INSURANCE - PREMIUM FEATURE CARDS
========================================= */

.health-features {
  padding-top: 75px;
  padding-bottom: 85px;
}

.health-section-heading {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center;
}

.health-section-heading h2 {
  margin: 12px 0 16px;
  color: #061b35;
  font-family: "Manrope", sans-serif;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.2;
  letter-spacing: -1.2px;
}

.health-section-heading > p {
  max-width: 700px;
  margin: 0 auto;
  color: #647791;
  font-size: 17px;
  line-height: 1.8;
}

.health-feature-grid {
  align-items: stretch;
  gap: 26px;
}

.health-feature-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  padding: 0;
  background: #ffffff;
  border: 1px solid #d9e4f1;
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(6, 27, 53, 0.04);
  transition:
    transform 260ms ease,
    box-shadow 260ms ease,
    border-color 260ms ease;
}

.health-feature-image {
  display: block;
  width: 100%;
  height: 190px;
  flex: 0 0 190px;
  object-fit: cover;
  object-position: center;
  background: #edf3fa;
  border-radius: 12px;
  transition: transform 350ms ease;
}

.health-feature-card:hover {
  transform: translateY(-4px);
  border-color: #b5cce7;
  box-shadow: 0 16px 36px rgba(6, 27, 53, 0.09);
}

.health-feature-card:hover .health-feature-image {
  transform: scale(1.025);
}

.health-feature-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 25px;
}

.health-feature-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 17px;
  border-radius: 12px;
  background: #eaf1fb;
  color: #3267a8;
  font-size: 14px;
  font-weight: 700;
}

.health-feature-content h3 {
  margin: 0 0 12px;
  color: #061b35;
  font-family: "Manrope", sans-serif;
  font-size: 22px;
  line-height: 1.35;
}

.health-feature-content > p {
  margin: 0 0 22px;
  color: #60748d;
  font-size: 15.5px;
  line-height: 1.8;
}

.health-check-note {
  width: 100%;
  margin-top: auto;
  padding: 16px;
  border-left: 3px solid #f47735;
  border-radius: 0 10px 10px 0;
  background: #f4f7fc;
}

.health-check-note strong {
  display: block;
  margin-bottom: 6px;
  color: #102b4a;
  font-size: 14px;
}

.health-check-note p {
  margin: 0;
  color: #60748d;
  font-size: 14px;
  line-height: 1.7;
}

/* =========================================
   HEALTH INSURANCE - COMPARISON SECTION
========================================= */

.health-compare-section {
  padding-top: 90px;
  padding-bottom: 70px;
}

.health-compare-layout {
  align-items: center;
  gap: 55px;
}

.health-compare-copy h2 {
  max-width: 650px;
  margin: 14px 0 22px;
  color: #061b35;
  font-family: "Manrope", sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.15;
  letter-spacing: -1.4px;
}

.health-compare-copy > p {
  margin: 0 0 18px;
  color: #60748d;
  font-size: 17px;
  line-height: 1.85;
}

.health-compare-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
  transition:
    transform 250ms ease,
    box-shadow 250ms ease;
}

.health-compare-cta span {
  display: inline-block;
  transition: transform 250ms ease;
}

.health-compare-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(6, 27, 53, 0.15);
}

.health-compare-cta:hover span {
  transform: translateX(4px);
}

.health-checklist-panel {
  padding: 34px;
  border: 1px solid #d9e4f1;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 40px rgba(6, 27, 53, 0.05);
}

.health-checklist-panel > h3 {
  margin: 0 0 28px;
  color: #061b35;
  font-family: "Manrope", sans-serif;
  font-size: 25px;
  line-height: 1.35;
}

.health-checklist-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #e8eef6;
}

.health-checklist-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.health-check-icon {
  display: inline-flex;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e5f5ec;
  color: #16845a;
  font-size: 17px;
  font-weight: 700;
}

.health-checklist-item h4 {
  margin: 2px 0 7px;
  color: #102b4a;
  font-size: 17px;
  line-height: 1.45;
}

.health-checklist-item p {
  margin: 0;
  color: #60748d;
  font-size: 15px;
  line-height: 1.75;
}

.health-policy-note {
  max-width: 1000px;
  margin: 30px auto 0;
  color: #718096;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}

/* Gentle entrance animation */
@keyframes health-card-enter {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .health-feature-card {
    animation: health-card-enter 600ms ease both;
  }

  .health-feature-card:nth-child(2) {
    animation-delay: 100ms;
  }

  .health-feature-card:nth-child(3) {
    animation-delay: 200ms;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .health-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .health-compare-layout {
    gap: 32px;
  }

  .health-checklist-panel {
    padding: 26px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .health-features {
    padding-top: 50px;
    padding-bottom: 55px;
  }

  .health-section-heading {
    margin-bottom: 28px;
    text-align: left;
  }

  .health-section-heading h2 {
    font-size: 30px;
    letter-spacing: -0.7px;
  }

  .health-section-heading > p {
    font-size: 15px;
    line-height: 1.75;
  }

  .health-feature-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .health-feature-image {
    height: 165px;
    flex-basis: 165px;
  }

  .health-feature-content {
    padding: 21px;
  }

  .health-feature-content h3 {
    font-size: 21px;
  }

  .health-compare-section {
    padding-top: 55px;
    padding-bottom: 45px;
  }

  .health-compare-copy h2 {
    font-size: 32px;
    letter-spacing: -0.8px;
  }

  .health-compare-copy > p {
    font-size: 15.5px;
    line-height: 1.8;
  }

  .health-checklist-panel {
    padding: 22px;
  }

  .health-checklist-panel > h3 {
    font-size: 22px;
  }

  .health-checklist-item {
    gap: 11px;
  }

  .health-checklist-item h4 {
    font-size: 16px;
  }

  .health-checklist-item p {
    font-size: 14px;
  }

  .health-compare-cta {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .health-feature-card,
  .health-feature-image,
  .health-compare-cta,
  .health-compare-cta span {
    animation: none !important;
    transition: none !important;
  }

  .health-feature-card:hover {
    transform: none;
  }
}
/* Home Insurance Images */
.home-insurance-image {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 22px;
  transition: transform 0.45s ease, filter 0.45s ease;
}

.service-card:hover .home-insurance-image {
  transform: scale(1.025);
  filter: saturate(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .home-insurance-image {
    transition: none;
  }
}

/* ===== PROINS POPUP ENQUIRY FORM ===== */

.proins-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(10, 25, 45, 0.65);
  backdrop-filter: blur(4px);
}

.proins-popup-overlay.is-visible {
  display: flex;
}

.proins-popup-card {
  position: relative;
  width: 100%;
  max-width: 430px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 30px 25px 25px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  animation: proinsPopupIn 0.25s ease-out;
}

.proins-popup-close {
  position: absolute;
  top: 10px;
  right: 13px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f1f5f9;
  color: #142b49;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.proins-popup-close:hover {
  background: #e2e8f0;
}

.proins-popup-form {
  display: grid;
  gap: 15px;
  margin-top: 8px;
}

.proins-popup-field {
  display: grid;
  gap: 7px;
}

.proins-popup-field label {
  color: #142b49;
  font-size: 14px;
  font-weight: 600;
}

.proins-popup-field input,
.proins-popup-field select {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  background: #ffffff;
  color: #142b49;
  font: inherit;
  box-sizing: border-box;
}

.proins-popup-field input:focus,
.proins-popup-field select:focus {
  outline: 2px solid #2563eb;
  outline-offset: 1px;
  border-color: #2563eb;
}

.proins-popup-submit {
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border: 0;
  border-radius: 8px;
  background: #142b49;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.proins-popup-submit:hover {
  background: #1d416b;
}

.proins-popup-submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.proins-popup-status {
  margin: 0;
  color: #142b49;
  font-size: 14px;
  line-height: 1.5;
}

@keyframes proinsPopupIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 480px) {
  .proins-popup-card {
    padding: 28px 18px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .proins-popup-card {
    animation: none;
  }
}
/* TOP BAR CONTACT + SOCIAL ICONS */
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.topbar-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.topbar-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-left: auto;
}

.topbar-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.topbar-social svg {
  display: block;
  width: 20px;
  height: 20px;
}

.topbar-social a:hover {
  color: #ff6b1a;
  transform: translateY(-2px);
}

@media (max-width: 640px) {
  .topbar-inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }

  .topbar-contact {
    justify-content: center;
    font-size: 12px;
  }

  .topbar-social {
    margin-left: 0;
    gap: 16px;
  }
}