:root{
  --ft-primary:#8fc4ff;
  --ft-secondary:#ffd7c2;
  --ft-accent:#d9f1e6;
  --ft-soft:#f9f5ee;
  --ft-text:#3b3b52;
  --ft-muted:#6f7384;
  --max-width:1100px;
}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; color:var(--ft-text); background:var(--ft-soft)}
.top-bar{background:linear-gradient(90deg, rgba(255,213,132,.18), rgba(143,196,255,.18));color:#323847;font-size:.95rem;padding:.7rem 0;border-bottom:1px solid rgba(143,196,255,.22);backdrop-filter:blur(8px)}
.top-bar a{color:#0f3f5f;text-decoration:none;font-weight:700}
.navbar{padding:1rem 0;transition:background .3s ease,box-shadow .3s ease}
.navbar.sticky-top{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 20px 40px rgba(46,58,89,.08)}
.navbar-brand{border-radius:999px;background:rgba(143,196,255,.14);padding:.4rem .85rem}
.navbar-brand .logo{height:42px}
.nav-link{color:#4a556b;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.5rem .75rem}
.nav-link:hover{color:#0f3f5f}
.navbar-toggler{border:1px solid rgba(15,63,95,.16)}
.navbar-toggler-icon{filter:invert(.25)}
.logo{height:48px;width:auto}
.hero-logo{max-width:220px;width:60%;height:auto}
@media(min-width:768px){.hero-logo{max-width:320px;width:auto}}

header#hero.hero-section{min-height:520px;position:relative;color:var(--ft-text);background-image:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.74)), url('../assets/background.png');background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;align-items:center;overflow:hidden;padding:4rem 0}
header#hero.hero-section::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.48));pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:760px;margin:0 auto}
.hero-tagline{font-size:1.05rem;font-weight:800;letter-spacing:.18em;color:#034f84;text-transform:uppercase;margin-bottom:1rem}
header#hero.hero-section .lead{max-width:680px;margin:0 auto;color:var(--ft-text);font-size:1.05rem;line-height:1.75}
header#hero.hero-section h1{font-size:clamp(2.6rem,5vw,3.8rem);line-height:1.03;font-weight:900;margin-bottom:1rem;color:#0f3f5f;text-shadow:0 14px 32px rgba(0,0,0,0.08)}
.hero-badge{display:inline-flex;align-items:center;gap:.65rem;padding:.95rem 1.3rem;border-radius:999px;background:rgba(243,106,32,.14);color:#8d2f05;font-weight:800;margin:1.4rem 0;box-shadow:0 18px 35px rgba(243,106,32,.12);border:1px solid rgba(243,106,32,.24);font-size:0.96rem}
.hero-btn-primary{background:#0f3f5f;border-color:#0f3f5f;color:#fff;box-shadow:0 16px 32px rgba(15,63,95,.18)}
.hero-btn-primary:hover,.hero-btn-primary:focus{background:#15588a;border-color:#15588a}
.hero-btn-secondary{background:#f68b3e;border-color:#f68b3e;color:#fff;box-shadow:0 16px 32px rgba(246,139,62,.18)}
.hero-btn-secondary:hover,.hero-btn-secondary:focus{background:#ff9a54;border-color:#ff9a54}
.hero-btn-outline{color:#0f3f5f;border-color:#0f3f5f;background:rgba(15,63,95,.08)}
.hero-btn-outline:hover{background:rgba(15,63,95,.16)}

.feature-card{border:0;background:linear-gradient(180deg,#fff,#f7f2ee);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;text-align:center;padding:18px}
.feature-card .icon{font-size:40px;line-height:1}

.plan-card .original{color:#8c8c8c;text-decoration:line-through;margin-right:8px}
.plan-card .offer{font-weight:700;font-size:1.3rem;color:var(--ft-primary)}
.plan-card.highlight{border:2px solid var(--ft-secondary)}

.area{background:#fff8f4;border:1px dashed rgba(125,185,255,.24);padding:12px;margin:8px;border-radius:8px;text-align:center;display:flex;align-items:center;justify-content:center;min-height:64px}

section.bg-white{background:var(--ft-soft)}

.card{background:#fffaf5}

/* Service Areas cards - single row scroll */
.areas-wrapper{position:relative;overflow:hidden}
.areas-scroll{display:flex;gap:1rem;overflow-x:hidden;padding:8px 0;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.areas-scroll::-webkit-scrollbar{display:none}
.areas-scroll{-ms-overflow-style:none;scrollbar-width:none}
.areas-scroll .area-card{flex:0 0 calc((100% - 2rem) / 3);max-width:calc((100% - 2rem) / 3);background:linear-gradient(180deg,#fff 0%, #fff7ec 100%);border-radius:12px;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,0.06);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease;min-height:110px;scroll-snap-align:center}
.areas-scroll .area-card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(0,0,0,0.12)}
.area-icon{font-size:28px;margin-bottom:8px}
.area-name{font-weight:700;color:#333}

.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;border-radius:50%;background:rgba(125,185,255,.92);color:var(--ft-text);font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px rgba(125,185,255,.25);transition:transform .2s ease,background .2s ease;z-index:2}
.slider-arrow:hover{transform:translateY(-50%) scale(1.05);background:rgba(125,185,255,1)}
.slider-arrow-left{left:0}
.slider-arrow-right{right:0}

@media(max-width:991px){
  .areas-scroll .area-card{flex:0 0 calc((100% - 2rem) / 3)}
  .slider-arrow-left{left:2px}
  .slider-arrow-right{right:2px}
}

@media(max-width:767px){
  .areas-scroll .area-card{flex:0 0 calc((100% - 2rem) / 3)}
}


.step-card{background:#fff;border-radius:12px;border:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;text-align:center}
.step{width:56px;height:56px;border-radius:50%;background:var(--ft-secondary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ft-text);margin-bottom:10px}

.btn-primary{background:var(--ft-primary);border-color:var(--ft-primary);color:#fff;box-shadow:0 16px 28px rgba(143,196,255,.22)}
.btn-primary:hover,.btn-primary:focus{background:#7cb7ff;border-color:#7cb7ff}
.btn-secondary{background:var(--ft-secondary);border-color:var(--ft-secondary);color:var(--ft-text);box-shadow:0 16px 28px rgba(255,215,190,.18)}
.btn-secondary:hover,.btn-secondary:focus{background:#ffd3b5;border-color:#ffd3b5}
.btn-outline-primary{color:var(--ft-primary);border-color:var(--ft-primary);background:rgba(143,196,255,.06)}
.btn-outline-primary:hover{background:rgba(143,196,255,.16)}

/* Forms */
form .form-control:invalid{border-color:rgba(255,114,125,0.85)}

#formMessage{min-height:36px}

.site-footer{position:relative;overflow:hidden;background:linear-gradient(135deg, #e8f5ff 0%, #fff5e9 100%);}
.site-footer::before{content:'';position:absolute;inset:0;background:url('../assets/hero-bg.svg') center/95% no-repeat;opacity:.06;pointer-events:none}
.site-footer .container{position:relative;z-index:1}
.footer-brand{font-size:1.8rem;font-weight:800;letter-spacing:.08em;color:var(--ft-text);text-decoration:none}
.footer-copy{max-width:360px;color:rgba(59,62,79,.9);line-height:1.8}
.footer-heading{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;color:var(--ft-text)}
.footer-links li{margin-bottom:.65rem}
.footer-links a{color:var(--ft-text);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--ft-primary)}
.footer-social a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;background:rgba(255,213,132,.18);color:#933d15;font-weight:700;text-decoration:none;transition:background .25s,color .25s}
.footer-social a:hover{background:rgba(255,213,132,.32);color:#7d3019}
.site-footer a.btn-outline-light{border-color:rgba(59,62,79,.15);color:var(--ft-text)}
.site-footer a.btn-outline-light:hover{background:rgba(59,62,79,.08);border-color:rgba(59,62,79,.2)}
.footer-bottom{font-size:.95rem;color:rgba(59,62,79,.65)}
.footer-bottom .border-white-10{border-color:rgba(59,62,79,.15)!important}

/* Accessibility focus */
a:focus,button:focus,input:focus,select:focus{outline:3px solid rgba(125,185,255,0.35);outline-offset:2px}

.offer-marquee-wrapper{background:rgba(255,215,190,0.22);border-top:1px solid rgba(255,215,190,0.35);border-bottom:1px solid rgba(255,215,190,0.35);overflow:hidden}
.offer-marquee{display:inline-block;padding:16px 0;white-space:nowrap;animation:marquee 12s linear infinite;font-weight:800;color:var(--ft-text);letter-spacing:.02em}
.offer-marquee span{display:inline-block;padding-left:100%}

@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

/* Utility tweaks */
.pricing{display:flex;align-items:center;gap:10px}

/* Testimonials and cards */
.card.p-3{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px}

/* Hero column adjustments */
.hero-left{display:flex;align-items:center;justify-content:center}


/* Mobile-first spacing */
.container{max-width:var(--max-width)}

/* small screens hero spacing */
header#hero{background:linear-gradient(180deg, #fff 0%, #fff 100%)}

/* Image responsiveness */
img{max-width:100%;height:auto;display:block}

.img-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ft-text);background:#fff;padding:6px 10px;border-radius:6px;border:1px solid rgba(125,185,255,.35)}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
