@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/manrope-regular.ttf") format("truetype")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/manrope-medium.ttf") format("truetype")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/manrope-semibold.ttf") format("truetype")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/manrope-bold.ttf") format("truetype")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url("../assets/fonts/manrope-extrabold.ttf") format("truetype")}
:root{--bs-body-font-family:"Manrope",sans-serif;--header-height:131px;--navy:#0b1220;--navy2:#121c33;--or:#ff6a1a;--or2:#e85a0d;--bg:#f5f6fa;--tx:#1b2438;--mu:#6b7488;--r:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Manrope",sans-serif;color:var(--tx);background:#fff;padding-bottom:calc(60px + env(safe-area-inset-bottom))}
img{max-width:100%;height:auto}
a{text-decoration:none}
h1,h2,h3,h4,h5{font-weight:800;line-height:1.2}
.btn-orange{background:var(--or);color:#fff;border:0;font-weight:700;border-radius:50px;padding:.6rem 1.3rem}
.btn-orange:hover,.btn-orange:focus{background:var(--or2);color:#fff}
.btn-outline-orange{border:2px solid var(--or);color:var(--or);font-weight:700;border-radius:50px}
.btn-outline-orange:hover{background:var(--or);color:#fff}
.btn-sm{padding:.4rem 1rem}
.eyebrow{display:inline-block;color:var(--or);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:.5rem}

/* Shared typography and accessible controls */
body{line-height:1.65}
button,input,select,textarea,.btn,.accordion-button{font-family:inherit}
button{touch-action:manipulation}
:focus-visible{outline:3px solid #ff8a4a;outline-offset:5px}
.skip-link{position:fixed;top:8px;left:12px;z-index:2000;background:#fff;color:var(--navy);padding:10px 18px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
@media(min-width:1400px){.container{max-width:1640px;padding-left:32px;padding-right:32px}}

/* A quiet utility strip replaces the oversized promotion. */
.utility-bar{background:var(--navy);color:#d3dae6;font-size:.74rem;line-height:1.4}
.utility-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.utility-bar i{color:#ff9156;margin-right:7px}
.utility-bar strong{color:#fff;font-weight:700}
.utility-bar a{color:#d3dae6}
.utility-bar a:hover{color:#fff}

/* Bright, readable brand and balanced desktop navigation. */
.site-header{background:#fff;z-index:1030;box-shadow:0 3px 20px rgba(11,18,32,.08);border-bottom:1px solid #e9edf2}
.navbar{padding:0;min-height:96px}
.navbar>.container{gap:30px;flex-wrap:nowrap;position:relative}
.navbar-brand{padding:6px 0;margin:0;flex:0 0 auto;line-height:1}
.navbar-brand img{display:block;width:204px;height:auto;max-height:81px;object-fit:contain}
.offcanvas-lg{color:var(--tx)}
.offcanvas-body{align-items:center;gap:32px;justify-content:space-between}
.navbar-nav{gap:16px;margin-left:auto;margin-right:auto;align-items:center}
.navbar .nav-link{font-weight:700;color:#27344b;font-size:.92rem;padding:14px 10px!important;border:0;background:transparent;white-space:nowrap;position:relative}
.navbar .nav-link:hover,.navbar .nav-link.active{color:#cb4b07}
.navbar .nav-link.active::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:3px;background:var(--or);border-radius:3px}
.navbar-toggler{display:grid;place-items:center;flex-shrink:0;color:var(--navy);background:#f2f4f8;border:1px solid #e1e5ed;width:44px;height:44px;border-radius:10px;padding:0}
.navbar-toggler:focus{box-shadow:0 0 0 3px #ff6a1a40}
.mobile-header-call{display:grid;place-items:center;color:#fff;background:var(--or);width:44px;height:44px;border-radius:10px;flex-shrink:0}
.mobile-header-call:hover{background:var(--or2);color:#fff}
.support{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#fff;background:#e4530b;border-radius:12px;padding:12px 16px;line-height:1.4;transition:background .2s}
.support:hover{background:#c74405;color:#fff}
.support-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffff22;font-size:18px}
.support small{display:block;font-size:.66rem;font-weight:500;color:#fff;letter-spacing:.02em;margin-bottom:3px}
.support b{font-size:1rem;font-weight:800;white-space:nowrap}
.support-arrow{font-size:15px;margin-left:6px}
.mega{border:1px solid #e9edf2;border-radius:16px;padding:24px;background:#fff;box-shadow:0 18px 45px #0b122026}
.mega h6{font-weight:800;color:#b94305;font-size:.8rem}
.mega>.row>div>a{display:block;color:var(--tx);padding:7px 0;font-size:.88rem}
.mega a:hover{color:#c84b09}
.mm-item{margin-bottom:12px}.mm-item b,.mm-item span{display:block}.mm-item span{font-size:.75rem;color:var(--mu);line-height:1.6;margin-top:5px}
.mm-promo{border-radius:12px;background-size:cover;background-position:center;color:#fff;padding:20px;text-align:center}
.mm-promo h5{margin:4px 0}.mm-promo strong{display:block;font-size:1.8rem;color:#ff965c;margin-bottom:10px}
@media(min-width:992px){
 .mega-wrap{position:static}
 .mega{width:min(1060px,calc(100vw - 48px));left:50%;transform:translateX(-50%);margin-top:0}
 .offcanvas-lg{flex:1;min-width:0}
 .offcanvas-body{display:flex;flex:1}
}
@media(min-width:992px) and (max-width:1199.98px){
 .navbar>.container{gap:20px}
 .navbar-brand img{width:170px}
 .navbar-nav{gap:2px}
 .navbar .nav-link{font-size:.84rem;padding-left:8px!important;padding-right:8px!important}
 .offcanvas-body{gap:14px}
 .support{gap:8px;padding:10px 12px}
 .support b{font-size:.86rem}
 .support-icon{width:30px;height:30px;font-size:15px}
 .support-arrow{display:none}
}
@media(max-width:991.98px){
 :root{--header-height:113px}
 .utility-inner{min-height:34px;justify-content:center;text-align:center;font-size:.68rem}
 .utility-bar a{display:none}
 .navbar{min-height:78px}
 .navbar>.container{gap:10px}
 .navbar-brand{padding:4px 0}
 .navbar-brand img{width:170px;max-height:68px}
 .offcanvas-lg{background:#fff;max-width:90vw;width:360px!important}
 .offcanvas-header{border-bottom:1px solid #edf0f5;padding:20px}
 .offcanvas-header img{width:170px;height:auto}
 .offcanvas-body{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px;padding:20px;overflow-y:auto}
 .navbar-nav{margin:0;align-items:stretch;gap:0;width:100%}
 .navbar .nav-link{font-size:1rem;text-align:left;width:100%;padding:14px 10px!important}
 .navbar .nav-link.active::after{right:auto;width:28px;bottom:6px}
 .mega{position:static!important;transform:none!important;margin:8px 0 12px;padding:18px;box-shadow:none;background:#f5f7fa}
 .mega .mm-promo{display:none}
 .support{justify-content:center;margin-top:auto;padding:16px 12px}
 .support b{font-size:1rem}
}
@media(max-width:359.98px){.navbar-brand img{width:145px}.navbar>.container{gap:8px}.utility-inner{font-size:.61rem}}

/* The hero now reaches the bottom of the first desktop screen. */
.hero{position:relative;display:flex;align-items:center;min-height:max(640px,calc(100svh - var(--header-height)));background:radial-gradient(ellipse at 88% 22%,#e978382b,transparent 48%),linear-gradient(135deg,#0b1220,#16233c 60%,#242c45);color:#fff;padding:76px 0;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;inset:auto -10% -240px 35%;height:420px;border:1px solid #ffffff09;border-radius:50%;transform:rotate(-18deg);pointer-events:none}
.hero .row{--bs-gutter-x:44px}
.hero .eyebrow{color:#ff9a61;letter-spacing:.12em;font-size:.76rem;margin-bottom:22px}
.hero h1{font-size:clamp(2.6rem,3.65vw,4.4rem);font-weight:800;line-height:1.15;letter-spacing:-.045em;margin-bottom:24px;max-width:760px}
.hero h1 span{color:#ff9455}
.hero p{font-size:clamp(.98rem,1.05vw,1.1rem);color:#cbd3e0;line-height:1.85;max-width:680px;margin-bottom:32px}
.hero .btn-lg{font-size:1.08rem;border-radius:12px;padding:17px 24px;box-shadow:0 8px 24px #ff6a1a20}
.hero .btn-lg i{margin-right:8px}
.hero #latest{--bs-gutter-x:16px;--bs-gutter-y:16px}
.lcard{position:relative;display:block;border-radius:18px;overflow:hidden;color:#fff;aspect-ratio:3/4.3;border:1px solid #ffffff18;box-shadow:0 20px 45px #00000024}
.lcard img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lcard:hover{color:#fff}
.lcard:hover img{transform:scale(1.05)}
.lcard div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px 16px;background:linear-gradient(180deg,transparent 25%,#0309105e 55%,#030910ed)}
.lcard span{background:#e65308;color:#fff;font-size:.62rem;font-weight:800;padding:5px 9px;border-radius:6px;line-height:1.4}
.lcard h2{font-size:clamp(1rem,1.25vw,1.32rem);line-height:1.25;letter-spacing:-.02em;margin:12px 0 10px}
.lcard u{font-size:.73rem;color:#ffe1cf;text-underline-offset:4px}
@media(min-width:1200px){#latest>div:nth-child(2){transform:translateY(-26px)}#latest>div:nth-child(3){transform:translateY(18px)}}
@media(max-width:1199.98px) and (min-width:992px){.hero .row{--bs-gutter-x:28px}.hero h1{font-size:3rem}.lcard div{padding:16px 10px}.lcard h2{font-size:1rem}.lcard span{font-size:.56rem}}
@media(max-width:991.98px){
 .hero{min-height:0;padding:56px 0 64px}
 .hero .row{--bs-gutter-x:24px;--bs-gutter-y:40px}
 .hero h1{font-size:clamp(2.3rem,6.5vw,3.7rem);max-width:650px}
 .hero p{max-width:720px}
 .hero-visual{max-width:760px}
 .lcard{aspect-ratio:4/4.5}
 .lcard h2{font-size:1.25rem}
}
@media(max-width:575.98px){
 .hero{padding:40px 0 44px}
 .hero .eyebrow{font-size:.63rem;letter-spacing:.09em;margin-bottom:18px}
 .hero h1{font-size:clamp(2.1rem,8.6vw,3rem);letter-spacing:-.04em;margin-bottom:20px}
 .hero p{font-size:.92rem;line-height:1.8;margin-bottom:24px}
 .hero .btn-lg{font-size:1rem;padding:15px 19px}
 #latest>div{width:100%}
 .lcard{aspect-ratio:auto;height:166px;border-radius:14px}
 .lcard img{object-position:center 45%}
 .lcard div{padding:18px 20px;background:linear-gradient(90deg,#030910d9, #03091066 65%,#03091020)}
 .lcard h2{font-size:1.2rem;margin:8px 0}
 .lcard span{font-size:.64rem}
 .lcard u{font-size:.76rem}
}

/* sections */
.sec{padding:3.5rem 0}.sec.alt{background:var(--bg)}
.sec-head{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:end;margin-bottom:2rem}
.sec-head h2,.sec h2{font-size:clamp(1.5rem,4vw,2.3rem);max-width:640px;margin:0}
.pcard{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 4px 18px rgba(11,18,32,.08);height:100%;transition:.25s;text-align:center}
.pcard:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(11,18,32,.15)}
.pcard .im{display:block;aspect-ratio:4/3;background:#eef0f5;overflow:hidden}
.pcard img{width:100%;height:100%;object-fit:cover}
.pcard img.fb{object-fit:contain;padding:1.5rem;opacity:.5}
.pcard h3{font-size:1rem;margin:0 0 .7rem}.pcard h3 a{color:var(--tx)}.pcard h3 a:hover{color:var(--or)}
.special{position:relative;border-radius:var(--r);overflow:hidden;height:100%;min-height:340px;background:var(--navy)}
.special img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.special .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#fff;background:linear-gradient(transparent 30%,rgba(0,0,0,.9))}
.special ul{margin:0;padding-left:1.1rem}
.type{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6rem;height:100%;min-height:150px;padding:1.2rem;background:#fff;border-radius:var(--r);color:var(--tx);box-shadow:0 4px 18px rgba(11,18,32,.08);transition:.25s}
.type i{font-size:2rem;color:var(--or)}.type h3{font-size:1rem;margin:0}
.type:hover{background:var(--navy);color:#fff;transform:translateY(-4px)}
.offer{position:relative;border-radius:var(--r);overflow:hidden;height:100%;min-height:380px;color:#fff;background:var(--navy)}
.offer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.offer:hover img{transform:scale(1.06)}
.offer div{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:380px;padding:1.5rem;background:linear-gradient(transparent 20%,rgba(0,0,0,.92))}
.offer span:not(.btn){background:var(--or);font-size:.72rem;font-weight:700;padding:.2rem .7rem;border-radius:50px}
.offer h3{font-size:1.35rem;margin:.6rem 0 .4rem}.offer p{opacity:.88;font-size:.92rem}
.accordion-item{border:0;border-radius:12px!important;margin-bottom:.8rem;box-shadow:0 3px 14px rgba(11,18,32,.08);overflow:hidden}
.accordion-button{font-weight:700;font-size:1rem}
.accordion-button:not(.collapsed){background:var(--navy);color:#fff;box-shadow:none}
.accordion-button:not(.collapsed)::after{filter:brightness(0) invert(1)}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(255,106,26,.3)}
.svc{background:#fff;border-radius:var(--r);padding:1.5rem;height:100%;text-align:center;box-shadow:0 4px 18px rgba(11,18,32,.08)}
.svc img{width:100%;max-width:280px;height:auto;aspect-ratio:3/2;object-fit:contain}
.svc span{display:block;color:var(--or);font-weight:700;font-size:.78rem;text-transform:uppercase;margin-top:.8rem}
.svc h3{font-size:1.3rem;margin:.3rem 0}.svc p{color:var(--mu)}
.arrows button{width:44px;height:44px;border-radius:50%;border:2px solid var(--or);background:#fff;color:var(--or);margin-left:.4rem}
.arrows button:hover{background:var(--or);color:#fff}
.rev-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.3rem .2rem 1rem}
.rev-track::-webkit-scrollbar{display:none}
.rev{flex:0 0 88%;scroll-snap-align:start;background:#fff;border-radius:var(--r);padding:1.5rem;box-shadow:0 4px 18px rgba(11,18,32,.1);border-top:4px solid var(--or)}
@media(min-width:768px){.rev{flex-basis:calc(50% - .5rem)}}
@media(min-width:1200px){.rev{flex-basis:calc(33.333% - .7rem)}}
.stars{color:#f5b301;margin-bottom:.6rem}
.rev p{font-size:.95rem}
.who{display:flex;gap:.7rem;align-items:center}
.who b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff}
.who h3{font-size:1rem;margin:0}.who small{color:var(--mu)}
.blog{display:block;background:#fff;border-radius:var(--r);padding:1.8rem;height:100%;color:var(--tx);box-shadow:0 4px 18px rgba(11,18,32,.08);transition:.25s}
.blog>i{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:rgba(255,106,26,.12);color:var(--or);font-size:1.6rem;margin-bottom:1rem}
.blog h3{font-size:1.2rem}.blog u{color:var(--or);font-weight:700}
.blog:hover{transform:translateY(-5px);color:var(--tx)}

/* footer */
.foot{background:var(--navy);color:#b9c0d0;padding:3.5rem 0 1.5rem}
.footer-brand{display:inline-block!important;width:254px;max-width:100%;padding:14px 18px!important;border:1px solid #ffffff20;border-radius:14px;background:#fff;line-height:1}
.footer-brand img{display:block;width:100%;height:auto}
.footer-about>p{max-width:420px;line-height:1.85;font-size:.93rem}
.foot .footer-brand:hover{background:#fff}
.foot h4{color:#fff;font-size:1.1rem;margin-bottom:1rem}
.foot a{display:block;color:#b9c0d0;padding:.25rem 0;word-break:break-word}
.foot a:hover{color:var(--or)}.foot a i{color:var(--or);margin-right:.3rem}
.social{display:flex;gap:.6rem}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff}
.social a:hover{background:var(--or);color:#fff}.social a i{color:inherit;margin:0}
.copy{border-top:1px solid rgba(255,255,255,.12);margin:2rem 0 0;padding-top:1.2rem;text-align:center;font-size:.88rem}

/* mobile call bar & back to top */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:1040;background:var(--or);color:#fff;text-align:center;font-weight:800;padding:.9rem;padding-bottom:calc(.9rem + env(safe-area-inset-bottom))}
.callbar:hover{color:#fff}
#toTop{position:fixed;right:14px;bottom:76px;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:none;z-index:1039}
@media(min-width:992px){body{padding-bottom:0}#toTop{bottom:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Consistent spacing and narrow-screen safeguards. */
.sec-head>.btn{flex-shrink:0;max-width:100%}
.sec h2{letter-spacing:-.035em}
.foot a[href^="mailto:"]{font-size:.88rem;overflow-wrap:anywhere}
.foot .social a{padding:0}
.callbar{min-height:60px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.95rem;background:#e4530b}
@media(max-width:767.98px){
 .sec{padding:44px 0}
 .sec-head{margin-bottom:24px;gap:20px}
 .sec-head h2,.sec h2{font-size:1.85rem}
 .sec-head>.btn{font-size:.8rem}
 .pcard .p-3{padding:14px 10px!important}
 .pcard h3{font-size:.9rem;min-height:2.4em;display:flex;align-items:center;justify-content:center}
 .pcard .btn{font-size:.73rem;padding:10px 8px}
 .type{min-height:150px;padding:18px 12px}
 .type h3{font-size:.9rem}
 .foot{padding:44px 0 24px}
 .foot .row{--bs-gutter-y:32px}
 .foot h4{font-size:1rem}
 .foot a{font-size:.87rem;padding:6px 0}
 .footer-brand{width:238px}
 .copy{line-height:1.8;font-size:.75rem}
 .accordion-button{line-height:1.6;padding:18px 16px;font-size:.92rem}
 .accordion-body{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* All displayed images are native phone links, including covered card images. */
.special{display:block}
.offer-call{display:block;min-height:380px;color:inherit}
.offer-call:hover,.offer-call:focus{color:inherit}
.service-image-link{display:block;border-radius:12px}
.service-image-link:hover img{opacity:.9}
.mega .row .mm-promo{display:block;color:#fff;padding:20px}
.navbar-brand,.footer-brand,.service-image-link,.offer-call,.special,.lcard,.pcard .im{cursor:pointer}
