:root{
  --navy:#0b192c;--navy2:#1a3656;--spark:#ff7a1a;--spark2:#ffb13b;--ink:#1d2126;--mute:#5b6068;--bg:#f5f6f7;
}
html{scroll-padding-top:80px;overflow-x:clip}
main,footer{overflow-x:clip}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,.stat b{font-family:'Inter',system-ui,sans-serif;font-weight:700;letter-spacing:-.01em}
a{color:var(--spark);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#d95f00}
img{max-width:100%;height:auto}

.topbar{background:var(--navy);color:#aeb9c7;font-size:.85rem;padding:.45rem 0}
.topbar a{color:#fff;text-decoration:none}.topbar i{color:var(--spark)}

#mainNav{background:#fff;border-bottom:1px solid #e9ebef;transition:box-shadow .3s,padding .3s;padding:.4rem 0}
#mainNav.scrolled{box-shadow:0 6px 24px rgba(11,25,44,.14)}
.navbar-brand{display:inline-flex;align-items:center;padding:0}
.brand-logo{height:105px;width:auto;object-fit:contain}
.navbar .nav-link{font-weight:500;position:relative;color:rgba(11,25,44,.8)}
.navbar .nav-link:hover{color:var(--navy)}
.navbar .nav-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:2px;height:2px;background:var(--spark);transform:scaleX(0);transition:transform .25s}
.navbar .nav-link:hover::after{transform:scaleX(1)}

.btn-spark{background:linear-gradient(135deg,var(--spark),var(--spark2));border:0;color:#111;font-weight:600;box-shadow:0 8px 22px rgba(255,122,26,.35);transition:transform .2s,box-shadow .2s}
.btn-spark:hover{color:#000;transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,122,26,.5)}
.btn-lg{padding:.85rem 1.7rem;border-radius:.7rem}

/* hero */
.hero{position:relative;background:radial-gradient(900px 500px at 85% 10%,rgba(255,122,26,.16) 0,transparent 60%),linear-gradient(180deg,#fff,#f3f4f6);color:var(--ink);padding:3.5rem 0 2.5rem;overflow:hidden}
.hero h1{font-size:clamp(2.1rem,5vw,3.7rem);font-weight:700;line-height:1.1;margin:1rem 0;color:var(--navy)}
.hero .lead{color:var(--mute);max-width:34rem;margin-bottom:1.8rem}
.eyebrow{display:inline-block;background:rgba(255,122,26,.15);border:1px solid rgba(255,122,26,.5);color:#c2570a;padding:.3rem .8rem;border-radius:2rem;font-size:.85rem;font-weight:600}
.hero-img{border-radius:1.5rem;box-shadow:0 18px 36px rgba(11,25,44,.22)}
.float{animation:float 6s ease-in-out infinite;will-change:transform}
@keyframes float{50%{transform:translateY(-14px)}}
.ember{position:absolute;bottom:-10px;width:6px;height:6px;border-radius:50%;background:var(--spark2);box-shadow:0 0 12px 3px var(--spark);opacity:0;animation:rise 7s linear infinite;will-change:transform,opacity}
.e1{left:8%;animation-delay:0s}.e2{left:28%;animation-delay:2s}.e3{left:52%;animation-delay:4s;width:4px;height:4px}.e4{left:72%;animation-delay:1s}.e5{left:90%;animation-delay:3s;width:4px;height:4px}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-650px) translateX(40px);opacity:0}}
.pulse{animation:pulse 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse{50%{opacity:.6;transform:scale(1.12)}}

.stats{position:relative}
.stat{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e4e6e9;box-shadow:0 8px 24px rgba(11,25,44,.08);border-radius:1rem;padding:1.1rem 1.3rem;height:100%;transition:transform .3s,background .3s}
.stat:hover{transform:translateY(-5px);border-color:var(--spark)}
.stat i{font-size:2rem;color:var(--spark)}
.stat b{display:block;font-size:1.7rem;font-weight:600;line-height:1.1}
.stat small{color:var(--mute)}

/* sections */
.section{padding:3.5rem 0}
.section.alt{background:var(--bg)}
.section.dark{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#e2e4e8}
.section.dark .section-title{color:#fff}
.narrow{max-width:46rem}
.section-title{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;color:var(--navy);margin-bottom:1.2rem;position:relative;padding-bottom:.8rem}
.section-title::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--spark),var(--spark2))}
.text-center .section-title::after{left:50%;transform:translateX(-50%)}
.section-title.sm{font-size:1.6rem}
.section p{color:var(--mute);line-height:1.75}
.section.dark p{color:#b8bcc3}
.phone{font-weight:600;white-space:nowrap}
.img-fluid.rounded-4{transition:transform .4s}
.img-fluid.rounded-4:hover{transform:scale(1.02) rotate(-.4deg)}

.card-app{background:#fff;border-radius:1.2rem;overflow:hidden;border:1px solid #e4e6e9;box-shadow:0 10px 30px rgba(11,25,44,.07);transition:transform .3s,box-shadow .3s}
.card-app:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(11,25,44,.16)}
.card-app>img{width:100%;display:block}
.card-app h3{font-size:1.4rem;color:var(--navy)}
.card-app p{font-size:.95rem}
.tag{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:.25rem .65rem;border-radius:2rem;background:#fff0e3;color:#c2570a;margin-bottom:.6rem}
.tag-cd{background:#eceef0;color:#3a4048}.tag-sc{background:#fff6dd;color:#9a6b00}

.checklist li{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #e4e6e9;border-radius:.7rem;padding:.65rem .9rem;font-weight:500;transition:transform .2s,border-color .2s}
.checklist li:hover{transform:translateX(5px);border-color:var(--spark)}
.checklist{--bs-gutter-x:.6rem}
.checklist i{color:var(--spark);flex:none}
.checklist li{margin:0}
.checklist li.col-sm-6{padding:0 .3rem;background:none;border:0}

.feature{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:1.1rem;padding:1.8rem;transition:transform .3s,background .3s,border-color .3s}
.feature:hover{transform:translateY(-8px);background:rgba(255,122,26,.12);border-color:var(--spark)}
.feature i{font-size:2.4rem;color:var(--spark);display:inline-block;margin-bottom:.6rem;transition:transform .4s}
.feature:hover i{transform:rotate(-12deg) scale(1.15)}
.feature h3{font-size:1.25rem;color:#fff}

.find{background:var(--bg)}
.cta{background:radial-gradient(900px 500px at 15% 0%,rgba(255,122,26,.16) 0,transparent 60%),linear-gradient(160deg,var(--navy),var(--navy2));padding:3.5rem 0;color:#fff}
.cta h2{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:700;color:#fff}
.cta p{color:#c3cbd8}
.cta-icon{font-size:3rem;display:inline-block;color:var(--spark);animation:float 4s ease-in-out infinite}
.btn-dark{background:var(--navy);border-color:var(--navy)}
.btn-dark:hover{background:var(--navy2);border-color:var(--navy2)}
.btn-outline-dark{color:var(--navy);border-color:var(--navy)}
.btn-outline-dark:hover{background:var(--navy);border-color:var(--navy);color:#fff}


.to-top{position:fixed;right:1.2rem;bottom:1.2rem;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.3s;z-index:99;box-shadow:0 8px 20px rgba(11,25,44,.3)}
.to-top.show{opacity:1;pointer-events:auto}
.to-top:hover{background:var(--spark);color:#111}
.call-fab{position:fixed;left:1.2rem;bottom:1.2rem;width:54px;height:54px;border-radius:50%;background:var(--spark);color:#111;display:grid;place-items:center;font-size:1.3rem;z-index:99;box-shadow:0 0 0 0 rgba(255,122,26,.7);animation:ring 2s infinite}
@keyframes ring{70%{box-shadow:0 0 0 16px rgba(255,122,26,0)}100%{box-shadow:0 0 0 0 rgba(255,122,26,0)}}

@media (max-width:991px){
  .section{padding:2.5rem 0}
  .hero{padding:2.5rem 0 2rem}
  #mainNav .navbar-collapse{padding:1rem 0}
}
@media (max-width:575px){
  .btn-lg{width:100%}
  .section-title{font-size:1.6rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* about page */
.page-hero{padding:3rem 0}
.navbar .nav-link.active{color:var(--spark)}
.navbar .nav-link.active::after{transform:scaleX(1)}
.service{background:#fff;border:1px solid #e4e6e9;border-radius:1.1rem;padding:1.6rem;box-shadow:0 8px 24px rgba(11,25,44,.06);transition:transform .3s,box-shadow .3s,border-color .3s}
.service:hover{transform:translateY(-8px);box-shadow:0 20px 44px rgba(11,25,44,.14);border-color:var(--spark)}
.service h3{font-size:1.2rem;color:var(--navy)}
.service p{font-size:.93rem;margin:0}
.service-icon{width:56px;height:56px;border-radius:1rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--spark),var(--spark2));color:#111;font-size:1.5rem;margin-bottom:1rem;transition:transform .4s}
.service:hover .service-icon{transform:rotate(-10deg) scale(1.1)}
.faq .accordion-item{border:1px solid #e4e6e9;border-radius:.9rem!important;margin-bottom:.8rem;overflow:hidden}
.faq .accordion-button{font-weight:600;color:var(--navy);padding:1.1rem 1.3rem}
.faq .accordion-button:not(.collapsed){background:#fff4ea;color:#c2570a;box-shadow:none}
.faq .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(255,122,26,.25)}
.faq .accordion-body{color:var(--mute);line-height:1.7}
.faq-num{display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:2.1rem;border-radius:.6rem;background:var(--navy);color:var(--spark2);font-family:'Inter',sans-serif;font-weight:700;font-size:.85rem;margin-right:.8rem;flex:none}
.faq .accordion-button:not(.collapsed) .faq-num{background:var(--spark);color:#111}
.faq .accordion-button{display:flex;align-items:center}

.hero .btn-outline-light{color:var(--navy);border-color:var(--navy)}
.hero .btn-outline-light:hover{background:var(--navy);color:#fff}
#mainNav{position:sticky;top:0;z-index:1030}

.card-app,.service,.feature,.stat{will-change:transform}
img{content-visibility:auto}

/* hero slider */
.hero-slider{position:relative;border-radius:1.5rem;perspective:1400px;isolation:isolate}
.slider-glow{position:absolute;inset:8% 6%;background:radial-gradient(circle,rgba(255,122,26,.45),transparent 70%);filter:blur(30px);z-index:-1;animation:glowpulse 4.2s ease-in-out infinite}
@keyframes glowpulse{50%{opacity:.5;transform:scale(1.08)}}
.hero-slider .carousel-inner{border-radius:1.5rem;overflow:hidden;box-shadow:0 18px 36px rgba(11,25,44,.25);transform-style:preserve-3d;background:var(--navy)}
.hero-slider .carousel-item{transition:transform .9s cubic-bezier(.77,0,.18,1),opacity .9s,filter .9s}
.hero-slider .carousel-item img{display:block;width:100%;height:auto}
.hero-slider .carousel-item:not(.active){opacity:0}
.hero-slider .carousel-item-next:not(.carousel-item-start),.hero-slider .active.carousel-item-end{transform:translateX(100%) rotateY(-28deg) scale(.9)}
.hero-slider .carousel-item-prev:not(.carousel-item-end),.hero-slider .active.carousel-item-start{transform:translateX(-100%) rotateY(28deg) scale(.9)}
.hero-slider .carousel-item-next.carousel-item-start,.hero-slider .carousel-item-prev.carousel-item-end{opacity:1;filter:none}
.hero-slider .active.carousel-item-start,.hero-slider .active.carousel-item-end{opacity:0;filter:blur(3px)}
.hero-slider .carousel-item.active img{animation:kenburns 5.5s ease-out both}
@keyframes kenburns{from{transform:scale(1.12) translate(-1.5%,1%)}to{transform:scale(1) translate(0,0)}}
.slide-caption{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.8rem;background:rgba(11,25,44,.72);border:1px solid rgba(255,255,255,.16);color:#fff;padding:.6rem 1rem .6rem .7rem;border-radius:.9rem;transform:translateY(30px);opacity:0}
.carousel-item.active .slide-caption{animation:capin .7s .5s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes capin{to{transform:none;opacity:1}}
.slide-num{font-family:'Inter',sans-serif;font-weight:700;font-size:1.4rem;color:var(--spark);line-height:1}
.slide-caption b{display:block;font-weight:600;line-height:1.2}
.slide-caption small{color:#c9cdd3;font-size:.78rem}
.slider-bar{position:absolute;left:1.5rem;right:1.5rem;top:0;height:4px;border-radius:0 0 4px 4px;background:rgba(255,255,255,.18);overflow:hidden}
.slider-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--spark),var(--spark2));transform-origin:left;animation:barfill 4.2s linear infinite}
@keyframes barfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.slider-dots{position:absolute;right:1rem;bottom:1.2rem;display:flex;gap:.4rem}
.slider-dots button{width:10px;height:10px;border-radius:10px;border:0;background:rgba(255,255,255,.5);padding:0;transition:width .35s,background .35s}
.slider-dots button.active{width:28px;background:var(--spark)}
@media (max-width:575px){.slide-caption small{display:none}.slider-dots{bottom:1rem}}
@media (prefers-reduced-motion:reduce){.hero-slider .carousel-item.active img,.slider-glow{animation:none}}

/* footer */
.site-footer{background:var(--navy);color:#a3a8b0;font-size:.95rem;overflow-x:clip}
.site-footer a{color:#d3d6db;text-decoration:none;transition:color .2s,padding .2s}
.site-footer a:hover{color:var(--spark)}
.footer-cta{background:var(--navy2);color:#fff;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-cta h2{font-size:1.6rem;font-weight:700;margin:0 0 .2rem;color:#fff}
.footer-cta p{margin:0;color:#c3cbd8}
.footer-cta .btn-spark{white-space:nowrap}
.footer-main{padding:3rem 0 2rem}
.footer-links-grid{--bs-gutter-x:1rem}
.footer-brand{display:inline-flex;align-items:center}
.footer-brand .brand-logo{height:56px}
.footer-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.footer-badges span{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.14);border-radius:2rem;padding:.3rem .8rem;font-size:.82rem;color:#d3d6db}
.footer-badges i{color:var(--spark)}
.site-footer h3{font-size:1.05rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;margin-bottom:1.1rem;position:relative;padding-bottom:.7rem}
.site-footer h3::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:2px;background:var(--spark)}
.footer-links li{margin-bottom:.55rem}
.footer-links a:hover{padding-left:6px}
.footer-contact li{display:flex;gap:.9rem;margin-bottom:1.1rem}
.footer-contact>li>i{flex:none;width:38px;height:38px;border-radius:.7rem;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--spark)}
.footer-contact small{display:block;color:#7d828a;font-size:.75rem;text-transform:uppercase;letter-spacing:.8px}
.footer-contact a,.footer-contact span{color:#fff;font-weight:600}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;font-size:.85rem;color:#7d828a}
/* contact page */
.contact-info li{display:flex;gap:.9rem;margin-bottom:1.1rem}
.contact-info>li>i{flex:none;width:38px;height:38px;border-radius:.7rem;display:grid;place-items:center;background:#fff0e3;color:var(--spark)}
.contact-info small{display:block;color:var(--mute);font-size:.75rem;text-transform:uppercase;letter-spacing:.8px}
.contact-info a,.contact-info span{color:var(--navy);font-weight:600;text-decoration:none}
.contact-info a:hover{color:var(--spark)}
.contact-card{background:#fff;border:1px solid #e4e6e9;border-radius:1.2rem;padding:2rem;box-shadow:0 10px 30px rgba(11,25,44,.07)}
.req{color:var(--spark)}
.contact-card .form-label{font-weight:600;color:var(--navy);font-size:.92rem}
.contact-card .form-control{border-radius:.6rem;border-color:#dfe2e6;padding:.65rem .9rem}
.contact-card .form-control:focus{border-color:var(--spark);box-shadow:0 0 0 .2rem rgba(255,122,26,.15)}
.contact-card textarea.form-control{resize:vertical}
.contact-card .alert-success{background:#eefbf1;border:1px solid #bfe8c8;color:#1e6b32;border-radius:.8rem}

.captcha-box{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.captcha-code{position:relative;flex:none;display:flex;align-items:center;justify-content:center;gap:.35rem;width:160px;height:56px;background:repeating-linear-gradient(135deg,#eef0f2,#eef0f2 6px,#e6e9ec 6px,#e6e9ec 12px);border:1px solid #dfe2e6;border-radius:.6rem;overflow:hidden;user-select:none}
.captcha-code span{font-family:'Inter',sans-serif;font-weight:700;font-size:1.5rem;display:inline-block}
.captcha-noise{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.captcha-noise line{stroke:rgba(29,33,38,.25);stroke-width:1.5}
.btn-refresh{flex:none;width:44px;height:44px;border-radius:.6rem;border:1px solid #dfe2e6;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:1.2rem;transition:transform .2s,border-color .2s,color .2s}
.btn-refresh:hover{border-color:var(--spark);color:var(--spark)}
.btn-refresh.spinning i{animation:spin .5s linear}
@keyframes spin{to{transform:rotate(360deg)}}
.captcha-input{flex:1;min-width:160px}
@media (max-width:400px){.captcha-code{width:100%}}

/* legal pages (privacy / terms) */
.legal-toc{background:#fff;border:1px solid #e4e6e9;border-radius:1rem;padding:1.5rem;position:sticky;top:96px}
.legal-toc h3{font-size:.85rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--navy);margin-bottom:1rem}
.legal-toc ul{margin:0}
.legal-toc li{margin-bottom:.6rem}
.legal-toc a{color:var(--mute);font-size:.92rem;text-decoration:none;transition:color .2s,padding-left .2s}
.legal-toc a:hover{color:var(--spark);padding-left:3px}

.legal-toc-mobile{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.legal-toc-mobile a{background:#fff;border:1px solid #e4e6e9;border-radius:2rem;padding:.4rem .9rem;font-size:.85rem;color:var(--navy);text-decoration:none;font-weight:500}
.legal-toc-mobile a:hover{border-color:var(--spark);color:var(--spark)}

.legal-content{color:var(--mute);line-height:1.8;font-size:1rem}
.legal-content h2{font-size:1.35rem;font-weight:700;color:var(--navy);margin:2.2rem 0 1rem;scroll-margin-top:96px}
.legal-content h2:first-of-type{margin-top:0}
.legal-content p{margin-bottom:1rem}
.legal-content ul{margin:0 0 1.2rem;padding-left:0;list-style:none}
.legal-content ul li{position:relative;padding-left:1.5rem;margin-bottom:.55rem}
.legal-content ul li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--spark)}

.legal-contact-block{background:#fff;border:1px solid #e4e6e9;border-left:4px solid var(--spark);border-radius:.8rem;padding:1.4rem 1.6rem;margin-top:.5rem}
.legal-contact-block strong{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:.5rem}
.legal-contact-block div{margin-bottom:.2rem}
.legal-contact-block a{font-weight:600}

/* footer legal links row */
.footer-legal-links{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center}
.footer-legal-links a{font-size:.85rem}
