/* ============================================================
   SHANVI BANK & LOAN CONSULTANCY - MASTER STYLESHEET
   Bootstrap 5 is used for grid/utilities. This file controls
   the brand, responsive layout and animations.
   ============================================================ */
:root{--navy:#062d63;--navy2:#0b3e7c;--blue:#1263d6;--gold:#f4b51b;--gold2:#ffca3a;--ink:#092b55;--muted:#62738c;--soft:#f4f9ff;--line:#dbe6f3;--white:#fff;--shadow:0 14px 40px rgba(7,45,94,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Poppins',Arial,sans-serif;color:var(--ink);background:#fff;font-size:14px;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{max-width:1240px}.site-header-shell{position:fixed;top:0;z-index:1040;background:#fff}.topbar{background:var(--navy);color:#fff;font-size:13px}.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{opacity:.96}.topbar a:hover{color:var(--gold2)}.topbar i{margin-right:5px}.top-contact{display:flex;gap:22px}.site-nav{background:#fff;box-shadow:0 5px 22px rgba(0,31,72,.08);position:sticky;top:0;z-index:1030}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);line-height:1.1}.brand img{width:62px;height:62px;object-fit:contain}.brand span{max-width:220px}.navbar{padding:8px 0}.nav-link{font-weight:700;color:var(--ink)!important;padding:14px 11px!important;font-size:14px}.nav-link:hover,.nav-link.active{color:var(--blue)!important}.navbar-toggler{border:1px solid var(--line);box-shadow:none!important}.navbar-toggler-icon{width:1.25em;height:1.25em}.btn-brand{border:0;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#052d62;font-weight:800;border-radius:10px;padding:12px 20px;box-shadow:0 8px 20px rgba(244,181,27,.24);transition:.25s ease}.btn-brand:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(244,181,27,.34);color:#052d62}.btn-outline-brand{border:1px solid var(--blue);color:var(--blue);font-weight:700;border-radius:10px;padding:11px 18px}.btn-outline-brand:hover{background:var(--blue);color:#fff}.hero{background:linear-gradient(110deg,#f5faff,#fff 65%);padding:72px 0 66px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:rgba(18,99,214,.07);right:-180px;top:-180px}.eyebrow{display:inline-block;color:#d99200;font-weight:800;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px}.hero h1{font-size:46px;line-height:1.12;font-weight:900;margin:0 0 14px;color:var(--navy)}.hero h1 span{color:#e2a300}.hero p{font-size:16px;line-height:1.8;color:var(--muted);max-width:650px}.hero-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.hero-badge{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 9px;text-align:center;box-shadow:0 8px 22px rgba(7,45,94,.06);font-size:10px;font-weight:700}.hero-badge i{display:block;color:var(--blue);font-size:18px;margin-bottom:6px}.hero-img-wrap{position:relative;animation:floatImage 5s ease-in-out infinite}.hero-img{width:100%;height:430px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.hero-img-wrap:after{content:"";position:absolute;inset:auto 10% -15px 10%;height:25px;background:rgba(7,45,94,.12);filter:blur(12px);border-radius:50%;animation:shadowPulse 5s ease-in-out infinite}.section-pad{padding:78px 0}.section-soft{background:var(--soft)}.section-title{text-align:center;max-width:720px;margin:0 auto 38px}.section-title h2{font-size:33px;font-weight:900;margin:0 0 10px}.section-title p{color:var(--muted);line-height:1.75;font-size:14px}.service-card-link{display:block;height:100%}.service-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 13px;text-align:center;box-shadow:0 8px 24px rgba(7,45,94,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px rgba(7,45,94,.13);border-color:#b7d1ef}.service-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:13px;background:#edf5ff;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:21px}.service-card h3{font-size:14px;font-weight:800;margin:0 0 7px}.service-card p{font-size:11px;color:var(--muted);line-height:1.5;min-height:30px;margin:0 0 10px}.service-card span{font-size:11px;font-weight:800;color:var(--blue)}.service-card span i{font-size:8px}.about{background:linear-gradient(180deg,#fff,#f9fcff)}.about-copy h2{font-weight:900;font-size:31px}.about-copy p{color:var(--muted);line-height:1.8}.about-art{min-height:300px;border-radius:24px;background:linear-gradient(135deg,#0c4c92,#07316a);color:#fff;position:relative;overflow:hidden;padding:45px}.about-art:after,.about-art:before{content:"";position:absolute;border-radius:50%;border:26px solid rgba(244,181,27,.25)}.about-art:after{width:240px;height:240px;right:-80px;bottom:-110px}.about-art:before{width:160px;height:160px;right:10px;bottom:-80px;border-color:rgba(255,255,255,.16)}.about-art i{color:var(--gold);font-size:35px}.about-art h3{font-size:25px;font-weight:900;margin-top:45px}.about-art p{color:#e8f1ff;max-width:390px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.stat{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;text-align:center}.stat strong{display:block;color:var(--blue);font-size:15px}.stat span{font-size:9px;color:var(--muted)}.why-card{text-align:center;padding:20px 10px;border-right:1px solid var(--line);height:100%}.why-card:last-child{border-right:0}.why-card i{font-size:26px;color:var(--gold)}.why-card h3{font-size:12px;font-weight:800;margin:10px 0 5px}.why-card p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}.testimonial-card{height:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px;box-shadow:0 9px 25px rgba(7,45,94,.05)}.testimonial-head{display:flex;align-items:center;gap:12px}.testimonial-head img{width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid #eef5ff}.testimonial-name{font-size:12px;font-weight:800}.stars{color:#f5ad00;font-size:11px;letter-spacing:2px;margin-top:3px}.testimonial-card blockquote{font-size:12px;color:#51657e;line-height:1.7;margin:17px 0 12px}.review-label{font-size:10px;color:#169a5b;font-weight:800}.testimonial-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}.testimonial-arrow{position:static!important;width:42px;height:42px;border:0;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;opacity:1;transform:none!important;box-shadow:0 8px 20px rgba(6,45,99,.16);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.testimonial-arrow:hover{background:var(--blue);transform:translateY(-3px)!important;box-shadow:0 12px 26px rgba(18,99,214,.22)}.carousel-indicators{position:static;margin:0;display:flex;align-items:center;justify-content:center;gap:6px}.carousel-indicators [data-bs-target]{width:9px;height:9px;border:0;border-radius:50%;background:#b7cae2;opacity:1}.carousel-indicators .active{background:var(--blue);transform:scale(1.25)}.desktop-testimonials{display:block}.mobile-testimonials{display:none}.contact-layout{align-items:stretch}.contact-card,.enquiry-card{height:100%;border:1px solid var(--line);border-radius:20px;background:#fff;padding:28px;box-shadow:var(--shadow)}.contact-item{display:flex;gap:14px;margin-bottom:18px}.contact-item i{width:22px;color:var(--blue);font-size:18px;margin-top:3px}.contact-item strong{display:block;font-size:12px;margin-bottom:3px}.contact-item span,.contact-item a{font-size:11px;color:var(--muted);line-height:1.6}.map-link{display:inline-flex!important;align-items:center;gap:7px;color:var(--blue)!important;font-weight:800}.enquiry-card h3{font-size:20px;font-weight:900;margin-bottom:18px}.form-label,.enquiry-form label{display:block;font-size:11px;font-weight:800;margin-bottom:7px}.enquiry-form label b{color:#d99200}.form-control,.form-select{border:1px solid #cfddec;border-radius:9px;min-height:44px;font-size:12px;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:#74a7e6;box-shadow:0 0 0 3px rgba(18,99,214,.09)!important}.enquiry-form textarea{min-height:86px;resize:vertical}.enquiry-form .submit-enquiry{width:100%;min-height:47px}.site-footer{background:var(--navy);color:#fff;padding:46px 0 15px}.footer-main{display:grid;grid-template-columns:1.25fr .85fr 1.65fr 1.1fr;gap:38px}.footer-brand{display:flex;align-items:center;gap:9px;color:#fff}.footer-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:7px}.footer-brand strong{font-size:15px;line-height:1.35}.footer-main p,.footer-main a{font-size:12px;color:#dce9f8;line-height:1.65}.footer-brand-col>p{max-width:280px;margin:15px 0}.footer-main h3{font-size:15px;font-weight:900;margin:0 0 12px;color:#fff}.footer-links-col>a,.footer-contact-col>a{display:block;margin:5px 0}.footer-main a:hover{color:var(--gold2)}.socials{display:flex;gap:8px}.socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.disabled-social{opacity:.5}.footer-service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.footer-service-grid a{display:block;margin:4px 0}.footer-map{color:#7cb2ff!important;font-weight:800}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:30px;padding-top:14px;display:flex;justify-content:space-between;gap:20px;color:#bcd0e8;font-size:10px}.service-hero{background:linear-gradient(110deg,#f4f9ff,#fff);padding:72px 0}.service-hero h1{font-size:43px;font-weight:900;margin-bottom:13px}.service-hero p{color:var(--muted);line-height:1.8;max-width:680px}.service-art{min-height:290px;border-radius:25px;background:linear-gradient(145deg,#0b4c93,#062d63);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;position:relative;overflow:hidden}.service-art:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:24px solid rgba(244,181,27,.25);right:-75px;bottom:-75px}.service-art i{font-size:55px;color:var(--gold);margin-bottom:18px}.service-art h2{font-size:25px;font-weight:900}.info-card{height:100%;border:1px solid var(--line);border-radius:18px;background:#fff;padding:25px;box-shadow:0 9px 25px rgba(7,45,94,.05)}.info-card h3{font-size:15px;font-weight:900}.info-card p,.info-card li{font-size:11px;color:var(--muted);line-height:1.7}.enquiry-modal .modal-content{border:0;border-radius:20px;overflow:hidden}.enquiry-modal .modal-header{padding:22px 26px;border-bottom:1px solid var(--line)}.enquiry-modal h2{font-size:20px;font-weight:900;margin:0}.enquiry-modal .modal-body{padding:24px 26px}.thank-modal{border:0;border-radius:22px}.thank-modal .modal-body{padding:45px 35px}.thank-icon{width:68px;height:68px;border-radius:50%;background:#e9f9f0;color:#159a5b;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 16px}.thank-modal h2{font-weight:900}.thank-modal p{font-size:12px;color:var(--muted);line-height:1.7}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.service-card-link:hover .service-icon{animation:iconBounce .6s ease}.pulse{animation:pulse 2s infinite}.service-page .site-footer{margin-top:0}
@keyframes floatImage{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shadowPulse{0%,100%{transform:scale(.95);opacity:.45}50%{transform:scale(1.05);opacity:.25}}@keyframes iconBounce{50%{transform:scale(1.13) rotate(-3deg)}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(244,181,27,.35)}50%{box-shadow:0 0 0 12px rgba(244,181,27,0)}}
@media(max-width:1199.98px){.container{max-width:960px}.hero h1{font-size:40px}.footer-main{gap:25px}}
@media(max-width:991.98px){.topbar-inner{min-height:34px}.topbar-inner>a{display:none}.top-contact{width:100%;justify-content:center}.navbar-collapse{background:#fff;border-top:1px solid var(--line);margin-top:7px;padding:10px 0}.nav-link{padding:9px 5px!important}.nav-enquire{width:100%;margin-top:6px}.hero{padding:58px 0}.hero-img{height:350px}.footer-main{grid-template-columns:1fr 1fr}.footer-services-col{grid-column:span 2}.footer-contact-col{grid-column:span 2}.section-pad{padding:62px 0}.desktop-testimonials .carousel-control-prev{left:-8px}.desktop-testimonials .carousel-control-next{right:-8px}}
@media(max-width:767.98px){body{font-size:12px}.container{width:min(100% - 24px,540px)}.topbar{font-size:9px}.top-contact{gap:12px}.top-contact a:first-child{display:none}.brand img{width:45px;height:45px}.brand span{font-size:10px;max-width:150px}.navbar{padding:6px 0}.hero{text-align:center;padding:38px 0 45px}.hero h1{font-size:29px}.hero p{font-size:12px;line-height:1.7}.get-started{display:flex;justify-content:center}.hero-badges{grid-template-columns:repeat(2,1fr);gap:8px}.hero-badge{padding:10px 6px;font-size:8px}.hero-badge i{font-size:15px}.hero-img{height:245px;border-radius:18px}.section-pad{padding:48px 0}.section-title{margin-bottom:25px}.section-title h2,.about-copy h2{font-size:24px}.section-title p{font-size:10px}.services-grid{--bs-gutter-x:7px;--bs-gutter-y:7px}.service-card{padding:12px 4px;border-radius:13px}.service-icon{width:35px;height:35px;font-size:15px;border-radius:10px;margin-bottom:7px}.service-card h3{font-size:9px;margin-bottom:5px}.service-card p{font-size:7px;min-height:25px;margin-bottom:5px}.service-card span{font-size:7px}.about{text-align:center}.about-copy p{font-size:10px;line-height:1.65}.stats{gap:6px}.stat{padding:9px 4px}.stat strong{font-size:10px}.stat span{font-size:7px}.about-art{min-height:200px;padding:25px;text-align:left;border-radius:18px;margin-top:15px}.about-art i{font-size:27px}.about-art h3{font-size:19px;margin-top:30px}.about-art p{font-size:9px}.why-card{padding:16px 5px}.why-card i{font-size:20px}.why-card h3{font-size:9px}.why-card p{font-size:7px}.desktop-testimonials{display:none}.mobile-testimonials{display:block}.mobile-testimonials .testimonial-card{min-height:225px}.testimonial-card{padding:18px}.testimonial-card blockquote{font-size:10px}.carousel-control-prev,.carousel-control-next{width:36px;height:36px}.mobile-testimonials .carousel-control-prev{left:-3px}.mobile-testimonials .carousel-control-next{right:-3px}.contact-layout{text-align:left}.contact-card,.enquiry-card{padding:18px;border-radius:15px}.enquiry-card{margin-top:12px}.contact-item{margin-bottom:13px}.contact-item i{font-size:15px}.contact-item strong{font-size:10px}.contact-item span,.contact-item a{font-size:9px}.form-label,.enquiry-form label{font-size:8px}.form-control,.form-select{min-height:38px;font-size:9px;padding:7px 9px}.enquiry-form textarea{min-height:70px}.enquiry-form .submit-enquiry{min-height:40px;font-size:10px}.form-grid{--bs-gutter-x:7px;--bs-gutter-y:9px}.enquiry-modal .modal-dialog{margin:10px}.enquiry-modal .modal-header{padding:16px}.enquiry-modal .modal-body{padding:15px}.enquiry-modal h2{font-size:15px}.site-footer{padding:28px 0 12px}.footer-main{grid-template-columns:1fr 1fr;gap:22px 16px;text-align:left}.footer-brand-col{grid-column:span 2;text-align:center}.footer-brand{justify-content:center}.footer-brand img{width:45px;height:45px}.footer-brand strong{font-size:11px;max-width:150px;text-align:left}.footer-brand-col>p{font-size:8px;max-width:290px;margin:9px auto}.socials{justify-content:center}.socials a{width:28px;height:28px;font-size:10px}.footer-main h3{font-size:10px;margin-bottom:7px}.footer-main p,.footer-main a{font-size:8px;line-height:1.5}.footer-links-col a{margin:3px 0}.footer-services-col{grid-column:span 2}.footer-service-grid{grid-template-columns:1fr 1fr;gap:0 12px}.footer-service-grid a{margin:2px 0}.footer-contact-col{grid-column:span 2;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.footer-bottom{margin-top:20px;padding-top:10px;display:block;text-align:center;font-size:7px;line-height:1.7}.footer-bottom span{display:block}.service-hero{text-align:center;padding:45px 0}.service-hero h1{font-size:29px}.service-hero p{font-size:10px}.service-hero .btns{justify-content:center}.service-art{min-height:210px;margin-top:8px}.service-art i{font-size:42px}.service-art h2{font-size:20px}.info-card{padding:18px}.info-card h3{font-size:12px}.info-card p,.info-card li{font-size:9px}.thank-modal .modal-body{padding:35px 20px}.thank-modal h2{font-size:20px}.thank-modal p{font-size:10px}}
@media(max-width:575.98px){.top-contact a{font-size:8px}.hero h1{font-size:27px}.hero-badges{grid-template-columns:repeat(2,1fr)}.service-card p{display:none}.service-card{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center}.service-icon{margin-bottom:5px}.footer-main{gap:18px 12px}.footer-brand-col>p{font-size:7.5px}.enquiry-modal .form-grid .col-md-6{width:50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.hero-img-wrap,.hero-img-wrap:after{animation:none}.btn-brand,.service-card{transition:none}}

/* ============================================================
   MOBILE FINAL POLISH
   - Larger readable text on phones
   - Compact footer layout inspired by the supplied reference
   - Desktop/tablet footer remains unchanged
   ============================================================ */
@media (max-width: 767.98px){
  body{font-size:14px}
  .topbar{font-size:10px}
  .brand span{font-size:12px;max-width:175px}
  .nav-link{font-size:13px!important}
  .hero h1{font-size:30px}
  .hero p{font-size:13px;line-height:1.75}
  .eyebrow{font-size:10px}
  .hero-badge{font-size:10px;padding:11px 7px}
  .hero-badge i{font-size:17px}
  .section-title h2,.about-copy h2{font-size:25px}
  .section-title p{font-size:11px;line-height:1.65}
  .service-card h3{font-size:11px}
  .service-card span{font-size:9px}
  .about-copy p{font-size:11.5px;line-height:1.75}
  .stat strong{font-size:12px}
  .stat span{font-size:9px}
  .why-card h3{font-size:10px}
  .why-card p{font-size:8.5px}
  .testimonial-card blockquote{font-size:12px;line-height:1.7}
  .testimonial-name{font-size:13px}
  .stars{font-size:11px}
  .review-label{font-size:10px}
  .contact-item strong{font-size:11px}
  .contact-item span,.contact-item a{font-size:10.5px}
  .form-label,.enquiry-form label{font-size:10px}
  .form-control,.form-select{font-size:10.5px}
  .enquiry-card h3{font-size:18px}

  /* Compact footer: brand, quick links + contact, then all services. */
  .site-footer{padding:25px 0 10px}
  .site-footer .container{width:min(100% - 28px,540px)}
  .footer-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "brand brand"
      "links contact"
      "services services";
    gap:18px 22px;
    text-align:left;
  }
  .footer-brand-col{grid-area:brand;grid-column:auto;text-align:left}
  .footer-links-col{grid-area:links;grid-column:auto}
  .footer-contact-col{grid-area:contact;grid-column:auto;border:0;padding:0}
  .footer-services-col{grid-area:services;grid-column:auto}

  .footer-brand{justify-content:flex-start;gap:9px}
  .footer-brand img{width:48px;height:48px}
  .footer-brand strong{font-size:13px;max-width:190px;line-height:1.3}
  .footer-brand-col>p{font-size:10px;line-height:1.55;max-width:340px;margin:8px 0 10px}
  .socials{justify-content:flex-start;gap:7px}
  .socials a{width:30px;height:30px;font-size:10px}

  .footer-main h3{font-size:13px;margin:0 0 8px}
  .footer-main p,.footer-main a{font-size:10px;line-height:1.55}
  .footer-links-col a{margin:4px 0}
  .footer-contact-col a{margin:4px 0}
  .footer-contact-col p{margin:7px 0}
  .footer-map{display:inline-flex!important;align-items:center;gap:5px;margin-top:3px!important}

  .footer-services-col{border-top:1px solid rgba(255,255,255,.16);padding-top:15px}
  .footer-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:28px;
    row-gap:2px;
  }
  .footer-service-grid a{font-size:10px;margin:3px 0}
  .footer-bottom{
    margin-top:17px;
    padding-top:10px;
    font-size:9px;
    line-height:1.6;
  }
}

@media (max-width: 575.98px){
  .hero h1{font-size:29px}
  .section-title h2,.about-copy h2{font-size:24px}
  .service-card{min-height:108px;padding:13px 4px}
  .service-card h3{font-size:10.5px}
  .service-icon{width:38px;height:38px;font-size:16px}
  .footer-main{gap:16px 14px}
  .footer-brand strong{font-size:12px;max-width:160px}
  .footer-brand-col>p{font-size:9.5px}
  .footer-main h3{font-size:12px}
  .footer-main p,.footer-main a,.footer-service-grid a{font-size:9.5px}
  .footer-bottom{font-size:8.5px}
}

/* ============================================================
   FINAL POLISH / FULL-SCREEN RESPONSIVE TYPOGRAPHY
   ============================================================ */
:root{--container-wide:1500px}
.container{max-width:var(--container-wide)}
.topbar{font-size:13px}
.top-contact{gap:28px}
.nav-link{font-size:15px;padding:15px 12px!important}
.brand span{font-size:19px;max-width:260px}
.brand img{width:68px;height:68px}
.btn-brand{font-size:15px;padding:13px 23px}
.section-title h2{font-size:34px}
.section-title p{font-size:15px}
.service-card{padding:23px 16px}
.service-card h3{font-size:15px}
.service-card p{font-size:12px}
.service-card span{font-size:11px}
.service-icon{width:54px;height:54px;font-size:23px}
.about-copy p{font-size:14px}
.stat strong{font-size:17px}.stat span{font-size:11px}
.why-card h3{font-size:14px}.why-card p{font-size:11px}
.testimonial-card{padding:25px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(7,45,94,.14);border-color:#a9c9ef}
.testimonial-name{font-size:14px}.stars{font-size:13px}.testimonial-card blockquote{font-size:13px}.review-label{font-size:11px}
.testimonial-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
.testimonial-arrow{width:42px;height:42px;border:1px solid #c8daee;background:#fff;color:var(--navy);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 8px 20px rgba(7,45,94,.08);transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.testimonial-arrow:hover{transform:translateY(-3px) scale(1.05);background:var(--navy);color:#fff;border-color:var(--navy)}
.testimonial-nav .carousel-indicators{position:static;margin:0;display:flex;align-items:center;justify-content:center;gap:7px;width:auto}
.testimonial-nav .carousel-indicators [data-bs-target]{width:9px;height:9px;margin:0;border:0;border-radius:50%;background:#b9cee6;opacity:1}
.testimonial-nav .carousel-indicators .active{background:var(--blue);transform:scale(1.18)}
.testimonial-carousel .carousel-item.active .testimonial-card{animation:testimonialIn .65s cubic-bezier(.2,.7,.2,1) both}
.contact-item strong{font-size:13px}.contact-item span,.contact-item a{font-size:12px}
.form-label,.enquiry-form label{font-size:12px}.form-control,.form-select{font-size:13px}
.enquiry-card h3{font-size:22px}
.footer-main h3{font-size:15px}.footer-main p,.footer-main a{font-size:12px}.footer-brand strong{font-size:17px}.footer-bottom{font-size:11px}

@keyframes testimonialIn{from{opacity:.35;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes softGlow{0%,100%{box-shadow:0 12px 35px rgba(7,45,94,.08)}50%{box-shadow:0 18px 55px rgba(18,99,214,.14)}}
.hero-img{animation:heroZoom 7s ease-in-out infinite alternate}
.service-card{animation:softGlow 6s ease-in-out infinite}
.service-card:nth-child(2n){animation-delay:1s}.service-card:nth-child(3n){animation-delay:2s}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.035)}}

/* Premium motion layer */
.hero:before{animation:orbDrift 12s ease-in-out infinite alternate}
.hero-badge{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;animation:badgeFloat 5s ease-in-out infinite}
.hero-badge:nth-child(2){animation-delay:.5s}.hero-badge:nth-child(3){animation-delay:1s}.hero-badge:nth-child(4){animation-delay:1.5s}
.hero-img{animation:heroZoom 7s ease-in-out infinite alternate}
.service-card{will-change:transform;animation:cardBreath 6s ease-in-out infinite}
.service-card:nth-child(2n){animation-delay:.6s}.service-card:nth-child(3n){animation-delay:1.2s}.service-card:nth-child(4n){animation-delay:1.8s}
.why-card i{animation:iconFloat 3s ease-in-out infinite}.about-art i{animation:iconFloat 3.5s ease-in-out infinite}.btn-brand{position:relative;overflow:hidden}.btn-brand:after{content:"";position:absolute;top:-60%;left:-30%;width:20%;height:220%;background:rgba(255,255,255,.35);transform:rotate(25deg);animation:buttonShine 4.5s ease-in-out infinite}
.testimonial-card{animation:cardEnter .75s cubic-bezier(.2,.75,.2,1)}
@keyframes orbDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-35px,25px,0) scale(1.08)}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes cardBreath{0%,100%{box-shadow:0 10px 28px rgba(7,45,94,.06)}50%{box-shadow:0 16px 38px rgba(18,99,214,.11)}}
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes buttonShine{0%,55%{left:-35%;opacity:0}65%{opacity:1}82%,100%{left:120%;opacity:0}}
@keyframes cardEnter{from{opacity:.2;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}


@media(max-width:1199.98px){
  .container{max-width:1140px}.nav-link{font-size:14px}.brand span{font-size:17px}.section-title h2{font-size:33px}
}
@media(max-width:991.98px){
  .container{max-width:960px}.topbar{font-size:12px}.nav-link{font-size:14px}.brand span{font-size:16px}.section-title h2{font-size:29px}
  .testimonial-nav{margin-top:20px}
}
@media(max-width:767.98px){
  .container{width:min(100% - 24px,760px);max-width:none}
  body{font-size:14px}
  .topbar{font-size:11px}.top-contact{gap:12px}.top-contact a{font-size:11px}
  .brand img{width:50px;height:50px}.brand span{font-size:14px;max-width:190px}
  .nav-link{font-size:14px!important;padding:10px 6px!important}
  .btn-brand{font-size:13px;padding:11px 18px}
  .hero h1{font-size:34px}.hero p{font-size:15px}.eyebrow{font-size:11px}
  .hero-badge{font-size:10px}.hero-badge i{font-size:17px}
  .section-pad{padding:55px 0}.section-title{margin-bottom:28px}.section-title h2{font-size:29px}.section-title p{font-size:13.5px;line-height:1.7}
  .service-card{padding:14px 5px;animation:none}.service-icon{width:42px;height:42px;font-size:18px}.service-card h3{font-size:12.5px}.service-card p{font-size:10px}.service-card span{font-size:10px}
  .about-copy{text-align:center}.about-copy p{font-size:12.5px}.stat strong{font-size:13px}.stat span{font-size:9px}
  .why-card h3{font-size:11px}.why-card p{font-size:9px}
  .testimonial-card{padding:20px;min-height:235px}.testimonial-name{font-size:15px}.stars{font-size:13px}.testimonial-card blockquote{font-size:13px;line-height:1.75}.review-label{font-size:10px}
  .testimonial-nav{gap:14px;margin-top:18px}.testimonial-arrow{width:38px;height:38px;font-size:13px}.testimonial-nav .carousel-indicators [data-bs-target]{width:8px;height:8px}
  .contact-item strong{font-size:12px}.contact-item span,.contact-item a{font-size:11px}.form-label,.enquiry-form label{font-size:10px}.form-control,.form-select{font-size:11px}.enquiry-card h3{font-size:19px}
  /* Compact mobile footer: readable but intentionally short. */
  .site-footer{padding:24px 0 11px}.site-footer .container{width:min(100% - 24px,700px)}
  .footer-main{grid-template-columns:1fr 1fr;grid-template-areas:"brand brand" "links contact" "services services";gap:18px 18px;text-align:left}
  .footer-brand-col{grid-area:brand;text-align:left}.footer-links-col{grid-area:links}.footer-contact-col{grid-area:contact;grid-column:auto;border:0;padding:0}.footer-services-col{grid-area:services;grid-column:auto;border-top:1px solid rgba(255,255,255,.16);padding-top:14px}
  .footer-brand{justify-content:flex-start}.footer-brand img{width:50px;height:50px}.footer-brand strong{font-size:14px}.footer-brand-col>p{font-size:10.5px;line-height:1.55;max-width:350px;margin:8px 0}.socials{justify-content:flex-start}.socials a{width:30px;height:30px}
  .footer-main h3{font-size:12px;margin-bottom:7px}.footer-main p,.footer-main a{font-size:10px;line-height:1.55}.footer-links-col a,.footer-contact-col a{margin:3px 0}.footer-service-grid{grid-template-columns:1fr 1fr;gap:0 18px}.footer-service-grid a{font-size:10px;margin:2px 0}.footer-bottom{margin-top:15px;padding-top:9px;font-size:8.5px;line-height:1.6}
  .footer-map{font-size:10px!important}
}
@media(max-width:575.98px){
  .container{width:calc(100% - 20px)}.topbar{font-size:10px}.top-contact a{font-size:9px}.brand span{font-size:12px;max-width:155px}
  .hero h1{font-size:31px}.hero p{font-size:13.5px}.section-title h2{font-size:27px}.section-title p{font-size:12.5px}
  .service-card{min-height:105px}.service-card h3{font-size:11.5px}.service-card span{font-size:9.5px}.service-icon{width:39px;height:39px;font-size:16px}
  .testimonial-card{min-height:220px;padding:18px}.testimonial-card blockquote{font-size:12px}.testimonial-nav{margin-top:15px}.testimonial-arrow{width:36px;height:36px}
  .footer-main{gap:16px 12px}.footer-brand strong{font-size:12.5px}.footer-brand-col>p{font-size:10px}.footer-main h3{font-size:11.5px}.footer-main p,.footer-main a,.footer-service-grid a{font-size:9.5px}.footer-bottom{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.hero-img,.service-card,.hero:before,.hero-badge,.why-card i,.about-art i,.btn-brand:after{animation:none}.testimonial-carousel .carousel-item.active .testimonial-card{animation:none}.testimonial-arrow,.testimonial-card{transition:none}}


/* ============================================================
   FINAL RESPONSIVE POLISH - STICKY HEADER + LARGER TYPE + MOTION
   ============================================================ */
/* .site-header-shell{position:relative;width:100%!important;z-index:1030!important;background:#fff;box-shadow:0 8px 28px rgba(7,45,94,.08)}
.site-nav{position:relative;width:100%!important;z-index:1030!important} */

/* .site-header-shell{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    z-index:9999!important;
    background:#fff!important;
    box-shadow:0 8px 28px rgba(7,45,94,.08);
}

.site-nav{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    z-index:9999!important;
} */

/* .site-header-shell{
    position:sticky;
    top:0;
    width:100%;
    z-index:1040;
    background:#fff;
    box-shadow:0 8px 28px rgba(7,45,94,.08);
}

.site-nav{
    background:#fff;
    box-shadow:0 5px 22px rgba(0,31,72,.08);
    position:relative;
    width:100%;
    z-index:1030;
} */

/* ============================================================
   FINAL HEADER FIX
   ============================================================ */

#headerMount{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    z-index:99999!important;
}

.site-header-shell{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    z-index:99999!important;
    background:#fff!important;
    box-shadow:0 8px 28px rgba(7,45,94,.08);
}

.site-nav{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    z-index:99999!important;
}

body{font-size:15px;}
.topbar{font-size:13px}.nav-link{font-size:14px!important}.brand span{font-size:17px}.hero h1{font-size:48px}.hero p{font-size:17px}.section-title h2{font-size:34px}.section-title p{font-size:14px}.service-card h3{font-size:14px}.service-card p{font-size:11px}.service-card span{font-size:11px}.about-copy h2{font-size:33px}.about-copy p{font-size:15px}.why-card h3{font-size:13px}.why-card p{font-size:11px}.testimonial-name{font-size:14px}.testimonial-card blockquote{font-size:12.5px}.contact-item strong{font-size:13px}.contact-item span,.contact-item a{font-size:12px}.form-label,.enquiry-form label{font-size:12px}.form-control,.form-select{font-size:13px}.footer-main p,.footer-main a{font-size:12px}.footer-main h3{font-size:15px}
@media(max-width:991.98px){
  .hero h1{font-size:42px}.hero p{font-size:15px}.section-title h2{font-size:31px}.section-title p{font-size:13.5px}.brand span{font-size:16px}.nav-link{font-size:14px!important}.service-card h3{font-size:13px}.service-card p{font-size:10.5px}.service-card span{font-size:10.5px}.testimonial-card blockquote{font-size:12px}
}
@media(max-width:767.98px){
  body{font-size:14px}.container{width:calc(100% - 24px)}
  .topbar{font-size:10.5px}.top-contact a{font-size:10px}.brand img{width:48px;height:48px}.brand span{font-size:13px;max-width:185px}.nav-link{font-size:14px!important}
  .hero h1{font-size:33px}.hero p{font-size:14px}.section-pad{padding:54px 0}.section-title h2{font-size:28px}.section-title p{font-size:13px}
  .hero-badge{font-size:10px}.service-card{padding:14px 5px}.service-icon{width:40px;height:40px;font-size:17px}.service-card h3{font-size:11.5px}.service-card p{font-size:9.5px}.service-card span{font-size:9.5px}
  .about-copy p{font-size:12.5px}.stat strong{font-size:12px}.stat span{font-size:9px}.why-card h3{font-size:10.5px}.why-card p{font-size:9px}
  .testimonial-name{font-size:14px}.testimonial-card blockquote{font-size:12px}.review-label{font-size:10px}.testimonial-arrow{width:38px;height:38px}
  .contact-item strong{font-size:12px}.contact-item span,.contact-item a{font-size:11px}.form-label,.enquiry-form label{font-size:10.5px}.form-control,.form-select{font-size:11.5px}
  /* Keep the mobile footer compact while improving readability. */
  .site-footer{padding:24px 0 10px}.footer-main{gap:18px 14px}.footer-brand strong{font-size:13px}.footer-brand-col>p{font-size:10px}.footer-main h3{font-size:12px}.footer-main p,.footer-main a,.footer-service-grid a{font-size:9.5px}.footer-bottom{font-size:8px}
}
@media(max-width:575.98px){
  .hero h1{font-size:30px}.hero p{font-size:13.5px}.section-title h2{font-size:26px}.section-title p{font-size:12.5px}.service-card h3{font-size:11px}.service-card span{font-size:9px}.service-icon{width:38px;height:38px;font-size:16px}.testimonial-card{min-height:225px}.testimonial-card blockquote{font-size:11.5px}.footer-main{gap:16px 12px}.footer-brand strong{font-size:12.5px}.footer-main h3{font-size:11.5px}.footer-main p,.footer-main a,.footer-service-grid a{font-size:9px}.footer-bottom{font-size:7.8px}
}
