:root{
  --navy:#071b36;--blue:#0a5bd7;--blue2:#1685ff;--ice:#eaf4ff;--text:#10233e;
  --muted:#667891;--white:#fff;--line:#d8e5f2;--dark:#061327;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.topbar{background:#041327;color:#cfe2ff;font-size:13px}.topbar-inner{height:36px;display:flex;justify-content:space-between;align-items:center}.topbar a{color:#fff;font-weight:700}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);border-bottom:1px solid #e5edf6}.nav{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--blue);color:#fff;font-weight:900;letter-spacing:-1px}.brand strong{display:block;font-size:17px;letter-spacing:2px;color:var(--navy)}.brand small{display:block;font-size:9px;letter-spacing:4px;color:var(--blue);margin-top:4px}.nav nav{display:flex;gap:26px;margin-left:auto;font-weight:700;font-size:14px}.nav nav a:hover{color:var(--blue)}.nav-call{background:var(--navy);color:#fff;padding:12px 18px;border-radius:9px;font-weight:800}.menu-toggle{display:none;border:0;background:none;font-size:25px}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f8fbff 0%,#e8f3ff 52%,#d8ebff 100%);min-height:650px;display:flex;align-items:center}.hero-glow{position:absolute;width:650px;height:650px;border-radius:50%;right:-220px;top:-180px;background:rgba(22,133,255,.14);filter:blur(2px)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:72px 0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--blue);margin-bottom:17px}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#19b56b;margin-right:8px}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.88;letter-spacing:-5px;margin:0 0 25px;color:var(--navy)}h1 em,h2 em{font-style:normal;color:var(--blue)}.hero p{font-size:18px;line-height:1.7;color:#52677f;max-width:560px}.hero-actions{display:flex;gap:12px;margin:28px 0}.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:9px;padding:14px 20px;font-weight:900;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 25px rgba(10,91,215,.22)}.btn-primary:hover{background:#084db7}.btn-ghost{border-color:#b9cee5;color:var(--navy);background:#fff}.trust-row{display:flex;gap:28px;border-top:1px solid #c9d9e9;padding-top:22px}.trust-row strong{display:block;font-size:12px;color:var(--navy)}.trust-row span{font-size:11px;color:var(--muted)}
.hero-visual{min-height:400px;position:relative;display:grid;place-items:center}.truck-card{position:relative;width:min(520px,100%);height:330px;border-radius:28px;background:linear-gradient(145deg,#fff,#cce4ff);border:1px solid #c1d9f2;box-shadow:0 30px 70px rgba(11,66,125,.16);overflow:hidden}.truck-shadow{position:absolute;bottom:48px;left:70px;width:370px;height:25px;border-radius:50%;background:rgba(4,28,58,.2);filter:blur(10px)}.truck{position:absolute;left:65px;bottom:80px;width:390px;height:125px}.truck-cab{position:absolute;right:0;bottom:0;width:140px;height:105px;background:#fff;border:5px solid var(--navy);border-radius:12px 24px 8px 8px}.window{position:absolute;right:14px;top:12px;width:58px;height:42px;background:#7ec4ff;border:3px solid var(--navy);border-radius:5px}.window.small{right:78px;width:42px}.headlight{position:absolute;right:-5px;bottom:24px;width:12px;height:18px;background:#fff;border:2px solid #9bbde0;border-radius:3px}.truck-bed{position:absolute;left:0;bottom:0;width:275px;height:90px;background:var(--blue);border:5px solid var(--navy);border-radius:9px 4px 5px 8px;transform:skew(-8deg)}.bed-top{position:absolute;left:20px;top:-18px;width:245px;height:22px;background:#e9f4ff;border:5px solid var(--navy);border-bottom:0}.bed-line{position:absolute;top:39px;left:20px;right:20px;border-top:5px solid #64aefb}.wheel{position:absolute;bottom:-23px;width:58px;height:58px;border-radius:50%;background:#071b36;border:10px solid #fff;box-shadow:0 0 0 4px #071b36}.w1{left:45px}.w2{right:25px}.visual-label{position:absolute;left:25px;bottom:22px;color:var(--navy)}.visual-label span{font-size:22px;font-weight:950}.visual-label small{display:block;font-size:9px;font-weight:900;letter-spacing:2px;color:var(--blue)}
.service-strip{background:var(--navy);color:#fff}.service-strip-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-strip-grid>div{padding:27px 30px;border-right:1px solid rgba(255,255,255,.1)}.service-strip-grid>div:last-child{border:0}.service-strip span{display:block;color:#63adff;font-size:12px;font-weight:900;margin-bottom:8px}.service-strip strong{font-size:14px;letter-spacing:1px}.service-strip p{margin:6px 0 0;color:#a9c0dc;font-size:13px}
.section{padding:105px 0}.section-heading{max-width:680px;margin-bottom:48px}.section-heading h2,.area-section h2,.request-copy h2{font-size:clamp(38px,5vw,60px);line-height:1;letter-spacing:-2.5px;margin:0 0 18px;color:var(--navy)}.section-heading p,.request-copy p,.area-section p{color:var(--muted);font-size:17px;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:15px;padding:28px;background:#fff;transition:.2s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,49,90,.09);border-color:#b7d5f4}.icon{width:45px;height:45px;display:grid;place-items:center;border-radius:11px;background:var(--ice);color:var(--blue);font-weight:900;font-size:20px}.card h3{font-size:20px;margin:22px 0 9px;color:var(--navy)}.card p{color:var(--muted);line-height:1.6;font-size:14px;min-height:68px}.card a{color:var(--blue);font-weight:900;font-size:13px}
.area-section{background:#f4f9ff;padding:100px 0}.area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.area-map{height:390px;border-radius:25px;background:#e4f1ff;position:relative;overflow:hidden;border:1px solid #c5dff6}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#c8ddf2 1px,transparent 1px),linear-gradient(90deg,#c8ddf2 1px,transparent 1px);background-size:45px 45px;opacity:.55;transform:rotate(-6deg) scale(1.15)}.pin{position:absolute;background:var(--navy);color:#fff;padding:9px 12px;border-radius:8px;font-size:10px;font-weight:900;box-shadow:0 8px 18px rgba(7,27,54,.2)}.pin-1{left:22%;top:25%}.pin-2{right:19%;bottom:28%}.pin-3{left:37%;bottom:12%}.route{position:absolute;left:30%;top:38%;width:48%;height:120px;border:4px dashed var(--blue);border-top-color:transparent;border-left-color:transparent;border-radius:0 0 70px 0;transform:rotate(8deg)}
.request-section{background:var(--dark);color:#fff;padding:105px 0}.request-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px;align-items:start}.request-copy h2{color:#fff}.request-copy p{color:#a9bed7}.big-phone{display:inline-block;color:#6eb8ff;font-size:31px;font-weight:950;margin:16px 0 25px}.notice{padding:15px;border:1px solid #254362;background:#0b213d;border-radius:10px;color:#b9cee4;font-size:13px}.recovery-form{background:#fff;color:var(--text);border-radius:18px;padding:30px;box-shadow:0 25px 60px rgba(0,0,0,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:12px;font-weight:900;margin-bottom:15px;color:var(--navy)}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #cad8e6;border-radius:8px;padding:13px;font:inherit;color:var(--text);outline:none;background:#fbfdff}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,91,215,.1)}.full{width:100%}.form-status{margin-top:13px;font-size:13px;font-weight:800;min-height:20px}
footer{background:#031021;color:#a9bed7;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-grid .brand strong{color:#fff}.footer-grid p{max-width:360px;line-height:1.6;font-size:13px}.footer-grid>div>strong{display:block;color:#fff;font-size:11px;letter-spacing:1.5px;margin-bottom:18px}.footer-grid a:not(.brand),.footer-grid span{display:block;margin:9px 0;font-size:13px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #1a2c42;margin-top:40px;padding-top:18px;font-size:11px}
@media(max-width:850px){.nav nav,.nav-call{display:none}.menu-toggle{display:block;margin-left:auto}.nav{height:68px}.hero-grid,.area-grid,.request-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding:55px 0}.hero-visual{min-height:330px}.cards{grid-template-columns:1fr 1fr}.service-strip-grid{grid-template-columns:1fr}.service-strip-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.area-map{height:300px}.footer-grid{grid-template-columns:1fr 1fr}.nav nav.open{display:flex;position:absolute;left:20px;right:20px;top:68px;background:#fff;padding:20px;flex-direction:column;box-shadow:0 15px 30px rgba(0,0,0,.12);border-radius:0 0 12px 12px}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.topbar-inner{font-size:11px}.hero h1{font-size:54px;letter-spacing:-3px}.hero-actions{flex-direction:column}.trust-row{gap:14px;flex-wrap:wrap}.truck-card{height:280px}.truck{left:15px;transform:scale(.78);transform-origin:left bottom}.cards{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section,.area-section,.request-section{padding:75px 0}}

/* Authentic Bounty Rescue photography */
.hero-photo-wrap{position:relative;width:100%;height:420px;overflow:hidden;border-radius:24px;border:5px solid white;box-shadow:0 26px 65px rgba(5,38,83,.22);background:#c8ddf4}
.hero-photo-wrap>img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}
.hero-photo-tag{position:absolute;left:18px;bottom:18px;background:rgba(6,33,71,.91);border:1px solid rgba(255,255,255,.3);color:white;padding:13px 18px;border-radius:12px;backdrop-filter:blur(7px)}
.hero-photo-tag strong,.hero-photo-tag span{display:block}.hero-photo-tag strong{font-size:13px;letter-spacing:1px}.hero-photo-tag span{font-size:11px;margin-top:5px;color:#cfe6ff}
.gallery-section{background:#f2f7fd}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-item{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:15px;background:#d5e5f5;box-shadow:0 7px 25px rgba(13,57,103,.08)}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.05)}
.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:24px 15px 12px;background:linear-gradient(transparent,rgba(4,26,57,.85));color:#fff;font-weight:800;font-size:13px;opacity:0;transition:opacity .2s}
.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1}
@media(max-width:850px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-photo-wrap{height:360px}}
@media(max-width:560px){.photo-gallery{gap:10px}.gallery-item{aspect-ratio:3/4}.hero-photo-wrap{height:300px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}


/* ==========================================
   ABR RECOVERY - BLUE & ORANGE THEME
   ========================================== */

/* 1. MAIN COLOURS */
:root {
  --primary: #102c54;
  --primary-blue: #1464c8;
  --accent: #f58220;
  --accent-dark: #d9650c;
  --light-bg: #f3f7fc;
  --text-dark: #172b46;
}

/* 2. WEBSITE BACKGROUND */
body {
  background-color: var(--light-bg);
  color: var(--text-dark);
}

/* 3. NAVIGATION */
header,
.site-header {
  border-bottom: 3px solid var(--accent);
}

nav a:hover,
nav a:focus-visible {
  color: var(--accent);
}

/* 4. MAIN BUTTONS */
button,
.btn-primary,
.button-primary,
a.btn-primary {
  background-color: var(--accent);
  color: #ffffff;
  border-color: var(--accent);
  transition: background-color 0.2s ease,
              transform 0.2s ease;
}

button:hover,
.btn-primary:hover,
.button-primary:hover,
a.btn-primary:hover {
  background-color: var(--accent-dark);
  border-color: var(--accent-dark);
  transform: translateY(-2px);
}

/* 5. HEADINGS */
h1,
h2,
h3 {
  color: var(--primary);
}

/* 6. CARDS */
.service-card,
.feature-card {
  border-top: 4px solid var(--accent);
  transition: transform 0.2s ease;
}

.service-card:hover,
.feature-card:hover {
  transform: translateY(-4px);
}

/* 7. PHOTO GALLERY */
.gallery img,
.gallery-grid img {
  border-radius: 12px;
  transition: transform 0.3s ease;
}

.gallery img:hover,
.gallery-grid img:hover {
  transform: scale(1.02);
}

/* 8. FORM FIELDS */
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* 9. FOOTER */
footer,
.site-footer {
  border-top: 4px solid var(--accent);
}

/* 10. MOBILE */
@media (max-width: 768px) {
  h1 {
    font-size: clamp(2rem, 7vw, 3rem);
  }

  .service-card,
  .feature-card {
    margin-bottom: 12px;
  }
}


/* ==================================
   ABR RECOVERY - HEADER UPDATES
   ================================== */

/* Orange Call Now button */
.nav-call {
  background-color: #f58220;
  color: #ffffff;
  border: 1px solid #f58220;
  transition: background-color 0.2s ease;
}

.nav-call:hover {
  background-color: #d9650c;
  color: #ffffff;
}

/* Orange ABR logo square */
.brand-mark {
  background-color: #f58220;
  color: #ffffff;
}

/* Brand text */
.brand strong {
  color: #071b36;
}

/* Smaller subtitle */
.brand small {
  color: #0a5bd7;
  letter-spacing: 1px;
  font-size: 9px;
}



/* Responsive navigation fix */

@media (max-width: 850px) {
  .menu-toggle {
    display: block;
    margin-left: auto;
    background: #f58220;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 13px;
    cursor: pointer;
  }

  .nav nav.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 68px;
    left: 20px;
    right: 20px;
    z-index: 100;
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
  }

  .nav nav.open a {
    display: block;
    padding: 10px;
    color: #071b36;
  }

  .nav nav.open a:hover {
    color: #f58220;
  }
}
