@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;900&family=Rajdhani:wght@500;600;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,400&display=swap');

:root {
  --orange:   #f07b1e;
  --orange2:  #ff9535;
  --orange3:  #fff3e8;
  --navy:     #0d1b2a;
  --navy2:    #1a2f45;
  --white:    #ffffff;
  --bg:       #f7f8fa;
  --bg2:      #eef1f5;
  --ink:      #111827;
  --body:     #374151;
  --muted:    #6b7280;
  --border:   #e2e8f0;
  --shadow:   0 4px 24px rgba(0,0,0,0.08);
  --shadow-lg:0 12px 48px rgba(0,0,0,0.12);
  --display:  'Barlow Condensed', sans-serif;
  --ui:       'Rajdhani', sans-serif;
  --body-f:   'DM Sans', sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--body);font-family:var(--body-f);overflow-x:hidden}

/* CURSOR */
.cursor{width:10px;height:10px;background:var(--orange);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999}
.cursor-ring{width:32px;height:32px;border:2px solid var(--orange);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;opacity:.4}



/* HERO */
#hero{
  min-height:100vh;
  padding:60px 48px 60px;
  display:grid;
  grid-template-columns:55fr 45fr;
  align-items:center;
  gap:40px;
  position:relative;
  overflow:visible;
  background:linear-gradient(135deg,var(--navy) 0%,#0e2237 55%,#1a3350 100%);
  clip-path:inset(0);
}
.hgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,123,30,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(240,123,30,.06) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.hshapes{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hs{position:absolute;border-radius:10px;transform:rotate(-20deg)}
.hs1{width:420px;height:640px;right:-60px;top:-100px;background:linear-gradient(135deg,rgba(240,123,30,.18),rgba(240,123,30,.04));animation:hsf 9s ease-in-out infinite}
.hs2{width:260px;height:420px;right:120px;top:60px;background:linear-gradient(135deg,rgba(240,123,30,.1),transparent);animation:hsf 11s ease-in-out infinite reverse}
.hs3{width:110px;height:180px;right:500px;bottom:100px;opacity:.35;animation:hsf 7s ease-in-out infinite}
@keyframes hsf{0%,100%{transform:rotate(-20deg) translateY(0)}50%{transform:rotate(-20deg) translateY(-18px)}}

/* Hero LEFT column */
.hero-content{position:relative;z-index:2}
.hbadge{display:inline-flex;align-items:center;gap:10px;background:rgba(240,123,30,.18);border:1px solid rgba(240,123,30,.45);border-radius:40px;padding:7px 20px;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#ffb36b;margin-bottom:34px;animation:fuUp .8s ease .2s both}
.bdot{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:blink 2s infinite}
@keyframes blink{0%,100%{box-shadow:0 0 0 0 rgba(240,123,30,.7)}50%{box-shadow:0 0 0 8px rgba(240,123,30,0)}}
.htitle{font-family:var(--display);font-size:clamp(68px,7vw,110px);font-weight:900;line-height:.9;text-transform:uppercase;animation:fuUp .8s ease .35s both}
.ht-o{color:var(--orange);display:block}
.ht-w{color:#fff;display:block}
.ht-x{-webkit-text-stroke:2px rgba(255,255,255,.25);color:transparent;display:block}
.hsub{font-size:17px;line-height:1.75;color:rgba(255,255,255,.65);margin-top:28px;animation:fuUp .8s ease .5s both}
.hbtns{margin-top:42px;display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:nowrap;animation:fuUp .8s ease .65s both}
.hstats{margin-top:52px;display:flex;flex-direction:row;gap:36px;flex-wrap:nowrap;animation:fuUp .8s ease .8s both}
.hstat{border-left:3px solid var(--orange);padding-left:18px}
.hstat-num{font-family:var(--display);font-size:46px;font-weight:900;color:#fff;line-height:1}
.hstat-num span{color:var(--orange)}
.hstat-lbl{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;margin-top:4px;white-space:nowrap}

/* Hero RIGHT column */
.hero-bunny-wrap{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
  margin-top:-160px;
  animation:fuUp .8s ease .4s both;
}
.hero-bunny-img{
  width:100%;max-width:400px;height:auto;
  filter:drop-shadow(0 20px 60px rgba(240,123,30,0.35));
  animation:bunnyFloat 4s ease-in-out infinite;
}
@keyframes bunnyFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1deg)}}

/* 24/7 badge */
.b247{
  position:absolute;bottom:18%;left:8%;z-index:4;
  width:13%;aspect-ratio:1/1;border-radius:50%;
  background:var(--white);
  border:3px solid var(--orange);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 0 40px rgba(240,123,30,.45);
  animation:spin247 22s linear infinite;
}
@keyframes spin247{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.b247-big{font-family:var(--display);font-size:clamp(14px,2.5vw,34px);font-weight:900;color:var(--orange);line-height:1}
.b247-sm{font-family:var(--ui);font-size:clamp(5px,0.8vw,9px);font-weight:700;color:var(--navy);letter-spacing:2px;text-align:center;line-height:1.4}


/* BUTTONS */
.btn-main{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--navy);padding:17px 34px;border-radius:8px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 6px 32px rgba(240,123,30,.45);transition:transform .3s,box-shadow .3s}
.btn-main::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:left .5s}
.btn-main:hover{transform:translateY(-3px);box-shadow:0 10px 44px rgba(240,123,30,.6)}
.btn-main:hover::before{left:100%}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;border:2px solid rgba(255,255,255,.22);color:#fff;padding:15px 28px;border-radius:8px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:border-color .3s,background .3s}
.btn-ghost:hover{border-color:var(--orange);background:rgba(240,123,30,.12)}

/* TICKER */
.ticker-wrap{background:var(--orange);overflow:hidden;padding:15px 0}
.ticker{display:flex;width:max-content;animation:tick 28s linear infinite}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ti{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--navy);white-space:nowrap;padding:0 32px;display:flex;align-items:center;gap:14px}
.ti::before{content:'🔑';font-size:14px}

/* SECTION HELPERS */
.sec{padding:112px 48px}
.sec-alt{background:var(--bg2)}
.sec-label{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:flex;align-items:center;gap:14px}
.sec-label::before{content:'';width:32px;height:2px;background:var(--orange)}
.sec-title{font-family:var(--display);font-size:clamp(42px,5vw,72px);font-weight:900;text-transform:uppercase;line-height:1;color:var(--ink);margin-bottom:72px}
.sec-title span{color:var(--orange)}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3px}
.svc-card{background:var(--white);padding:52px 40px;position:relative;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .4s,box-shadow .4s}
.svc-card::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.svc-card:hover::before{transform:scaleX(1)}
.svc-num{position:absolute;top:28px;right:28px;font-family:var(--display);font-size:64px;font-weight:900;color:rgba(0,0,0,.04);line-height:1}
.svc-icon{font-size:52px;margin-bottom:28px;display:block;transition:transform .4s}
.svc-card:hover .svc-icon{transform:scale(1.15) rotate(-5deg)}
.svc-title{font-family:var(--display);font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);margin-bottom:14px}
.svc-desc{font-size:15px;line-height:1.75;color:var(--body)}
.svc-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-family:var(--ui);font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--orange);text-decoration:none;transition:gap .3s}
.svc-card:hover .svc-link{gap:14px}

/* WHY US */
#why{padding:112px 48px;background:var(--bg2)}
.why-grid{display:grid;grid-template-columns:55fr 45fr;gap:100px;align-items:start}
.why-features{display:flex;flex-direction:column}
.why-row{display:flex;gap:28px;align-items:flex-start;padding:36px 0;border-bottom:1px solid var(--border)}
.why-row:first-child{border-top:1px solid var(--border)}
.wi{width:60px;height:60px;flex-shrink:0;border-radius:10px;background:var(--orange3);border:1px solid rgba(240,123,30,.25);display:flex;align-items:center;justify-content:center;font-size:26px;transition:background .3s,transform .3s}
.why-row:hover .wi{background:var(--orange);transform:rotate(8deg)}
.why-row h3{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px}
.why-row p{font-size:14px;line-height:1.75;color:var(--muted)}

/* Reviews card */
.reviews-card{background:var(--white);border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:40px;display:flex;flex-direction:column;gap:0}
.rc-label{font-family:var(--ui);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.rc-stars{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.rc-stars .stars{color:#f59e0b;font-size:24px;letter-spacing:2px}
.rc-num{font-family:var(--display);font-size:48px;font-weight:900;color:var(--ink)}
.rc-base{font-size:12px;color:var(--muted);margin-bottom:28px}
.review-list{display:flex;flex-direction:column;gap:14px}
.review-item{background:var(--bg);border-radius:10px;padding:18px 20px;border-left:3px solid var(--orange)}
.ri-name{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:6px}
.ri-text{font-size:13px;color:var(--muted);line-height:1.6}

/* Google Verified badge — inline flow, always visible */
.gv-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--orange);color:var(--navy);
  border-radius:8px;padding:13px 22px;
  font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  margin-top:24px;
  box-shadow:0 4px 20px rgba(240,123,30,.35);
  align-self:flex-start;
}

/* PROCESS */
#process{padding:112px 48px;background:var(--white)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;position:relative}
.process-grid::before{content:'';position:absolute;top:54px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,transparent,var(--orange),var(--orange),transparent);opacity:.2}
.step{text-align:center;padding:0 12px}
.step-circle{width:108px;height:108px;border-radius:50%;background:var(--white);border:2px solid rgba(240,123,30,.3);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:48px;font-weight:900;color:var(--orange);margin:0 auto 32px;box-shadow:0 6px 24px rgba(240,123,30,.12);position:relative;z-index:1;transition:background .4s,border-color .4s,transform .4s,box-shadow .4s,color .4s}
.step:hover .step-circle{background:var(--orange);color:var(--navy);border-color:var(--orange);transform:scale(1.1);box-shadow:0 10px 40px rgba(240,123,30,.4)}
.step-title{font-family:var(--display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);margin-bottom:14px}
.step-desc{font-size:14px;color:var(--muted);line-height:1.75}

/* EMERGENCY */
.em-wrap{padding:0 48px 90px;background:var(--bg2)}
#emergency{background:linear-gradient(130deg,var(--navy) 0%,#0e2237 50%,#1a3350 100%);border-radius:20px;padding:90px;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;position:relative;overflow:hidden}
#emergency::before{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:rgba(240,123,30,.1)}
#emergency::after{content:'';position:absolute;right:60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:rgba(240,123,30,.07)}
.em-title{font-family:var(--display);font-size:clamp(38px,4vw,64px);font-weight:900;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:18px}
.em-sub{font-size:16px;color:rgba(255,255,255,.65);max-width:480px}
.em-phone{background:var(--orange);border-radius:14px;padding:32px 44px;text-align:center;position:relative;z-index:1;flex-shrink:0}
.em-phone .lbl{font-family:var(--ui);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.em-phone .num{font-family:var(--display);font-size:44px;font-weight:900;color:var(--navy);white-space:nowrap}
.em-phone .num span{color:var(--white)}
.em-phone .sub{font-size:11px;color:var(--navy);margin-top:6px;letter-spacing:1px;font-weight:600}

/* AREAS */
#coverage{padding:112px 48px;background:var(--bg)}
.areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:3px}
.area{background:var(--white);padding:22px 28px;font-family:var(--ui);font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px;border:1px solid var(--border);transition:background .3s,color .3s,transform .3s;cursor:default;color:var(--ink)}
.area::before{content:'→';color:var(--orange);transition:transform .3s,color .3s}
.area:hover{background:var(--orange);color:var(--navy);transform:translateY(-2px);box-shadow:0 4px 16px rgba(240,123,30,.25)}
.area:hover::before{transform:translateX(4px);color:var(--navy)}

/* CONTACT */
#contact{padding:112px 48px;background:var(--white)}
.ct-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;align-items:start}
.ct-info{display:flex;flex-direction:column;gap:40px}
.ct-item{display:flex;gap:24px;align-items:flex-start}
.ct-icon{width:58px;height:58px;flex-shrink:0;background:var(--orange3);border:1px solid rgba(240,123,30,.25);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px}
.ct-item h4{font-family:var(--ui);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.ct-item p{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink)}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.form-field label{font-family:var(--ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:15px 18px;color:var(--ink);font-family:var(--body-f);font-size:15px;outline:none;transition:border-color .3s,box-shadow .3s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,123,30,.12)}
.form-field select option{background:var(--white)}
.form-field textarea{resize:vertical;min-height:130px}
.form-row{display:grid;grid-template-columns:55fr 45fr;gap:18px}
.submit-btn{width:100%;background:var(--orange);color:var(--white);padding:18px;border:none;border-radius:8px;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .3s,transform .3s,box-shadow .3s;box-shadow:0 6px 32px rgba(240,123,30,.35)}
.submit-btn:hover{background:var(--orange2);transform:translateY(-2px);box-shadow:0 10px 44px rgba(240,123,30,.5)}

/* FOOTER */
footer{background:var(--navy);padding:72px 48px 48px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px}
.ft-logo{font-family:var(--display);font-size:30px;font-weight:900;color:#fff;margin-bottom:18px;text-transform:uppercase}
.ft-logo span{color:var(--orange)}
.ft-desc{font-size:14px;color:rgba(255,255,255,.4);line-height:1.75}
.ft-col h4{font-family:var(--ui);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);margin-bottom:22px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;padding:0;margin:0}
.ft-col li{padding:0;margin:0}
.ft-col a{font-size:15px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s;display:block}
.ft-col a:hover{color:#fff}

/* FAB */
.fab{position:fixed;bottom:36px;right:36px;z-index:150;background:var(--orange);color:var(--navy);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 4px 30px rgba(240,123,30,.6);text-decoration:none;animation:fabpulse 2.2s infinite;transition:transform .3s}
.fab:hover{transform:scale(1.14)}
@keyframes fabpulse{0%,100%{box-shadow:0 4px 30px rgba(240,123,30,.6),0 0 0 0 rgba(240,123,30,.4)}50%{box-shadow:0 4px 30px rgba(240,123,30,.6),0 0 0 18px rgba(240,123,30,0)}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(38px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

@keyframes fuUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media(max-width:1100px){
  .why-grid,.ct-grid{grid-template-columns:1fr;gap:56px}
  .process-grid{grid-template-columns:1fr 1fr}
  .process-grid::before{display:none}
  #emergency{grid-template-columns:1fr}
  .ft-top{grid-template-columns:55fr 45fr;gap:40px}
}
@media(max-width:768px){
  nav{padding:0 20px}.nav-links{display:none}
  #hero{grid-template-columns:1fr;padding:100px 20px 60px}
  .hero-bunny-wrap{display:none}
  .sec,#why,#process,#contact,#coverage{padding:72px 20px}
  .em-wrap{padding:0 20px 60px}
  #emergency{padding:48px 28px}
  .b247{width:20%;left:5%}
  .b247-big{font-size:26px}
  .hstats{gap:28px}
  .process-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}
  footer{padding:48px 20px 24px}
}
  @keyframes bunnyFloat {
    0%,100% { transform: translateY(0) rotate(-1deg); }
    50%      { transform: translateY(-16px) rotate(1deg); }
  }