@font-face{font-family: 'Demo Icons';src:url('assets/fonts/fa-solid-900.woff2') format('woff2');font-weight:900;font-display:block}
:root{--blue:#0b178b;--green:#28af15;--muted:#efefef;--carousel-columns:4;--carousel-gap:45px}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:#fff;color:#000;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:400;line-height:1.85}
img{max-width:100%;height:auto;vertical-align:middle}
video{max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;line-height:1.2;margin:0}
h1{font-size:25px}h2{font-size:50px}h3{font-size:35px}h4{font-size:25px}h5{font-size:21px}h6{font-size:16px}
p{margin:0}
a{color:inherit;text-decoration:none;cursor:default}
button{font:inherit}
a[aria-disabled],button:disabled{cursor:default}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}
.demo-banner{position:relative;z-index:21;padding:9px 15px;background:var(--blue);color:#fff;text-align:center;font-size:14px;font-weight:700;letter-spacing:.7px;line-height:22px}
.demo-disclaimer{display:block;font-weight:400;letter-spacing:.1px}
@media(max-width:599px){.demo-banner.demo-banner-bottom{padding-right:90px}}
.site-header{position:sticky;top:0;z-index:20;background:var(--muted);border-bottom:1px solid rgba(0,0,0,.1)}
.header-inner{max-width:1780px;min-height:99px;padding:5px 20px;margin:auto;display:flex;align-items:center;gap:25px}
.logo{display:block;margin-right:auto;flex-shrink:0;line-height:1}
.logo img{width:240px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:44px;white-space:nowrap}
.nav-link{display:block;text-transform:uppercase;letter-spacing:1.6px;font-size:12px;font-weight:700;line-height:30px}
.has-dropdown:after{display:inline-block;content:'';width:6px;height:6px;margin:0 0 3px 12px;border-bottom:1px solid;border-right:1px solid;transform:rotate(45deg)}
.button{display:inline-block;vertical-align:top;text-align:center;text-transform:uppercase;color:#fff;letter-spacing:3px;font-weight:700;padding:11px 45px;font-size:12px;line-height:29.6px;background:var(--blue);border:2px solid #0f175e;border-radius:0;white-space:nowrap}
.header-booking{flex-shrink:0}
.mobile-menu{display:none;background:none;border:0;padding:10px 0 10px 10px;width:40px;color:var(--blue)}
.mobile-menu span{display:block;height:2px;margin:6px 0;background:currentColor;width:30px}
.mobile-menu span:nth-child(2){width:23px}
.hero{background:#fff;padding-bottom:10px;line-height:0}
.hero video{display:block;width:100%;height:auto;aspect-ratio:2044/1080;object-fit:cover;pointer-events:none}
.section-blue{background:var(--blue);color:#fff}
.section-navy{background:#0b1571;color:#fff}
.section-muted{background:var(--muted)}
.section-heading{text-align:center;margin-bottom:40px}
.eyebrow{font-size:12px;line-height:12px;letter-spacing:.4em;font-weight:700;text-transform:uppercase;color:var(--blue);margin:0 0 10px}
.section-blue .eyebrow,.section-navy .eyebrow{color:#fff}
.separator{display:block;width:100px;height:13px;margin:20px auto 21px}
.about{padding:100px 0 60px}
.about>.container{max-width:1230px}
.about .section-heading{margin:0}
.about h1{padding-top:20px}
.about-copy{padding-top:15px;line-height:28px;text-align:justify}
.about-copy p{margin-bottom:28px}
.about-copy p:last-child{margin-bottom:0}
.button-row{text-align:center;display:flex;justify-content:center;flex-wrap:wrap;gap:5px}
.about .button-row{margin:34px 0 30px}
.carousel{position:relative;--carousel-columns:4;--carousel-gap:45px}
.carousel-window{overflow:hidden}
.carousel-track{display:flex;align-items:flex-start;gap:var(--carousel-gap);transition:transform .8s ease;will-change:transform}
.carousel-card{flex:0 0 calc((100% - (var(--carousel-columns) - 1)*var(--carousel-gap))/var(--carousel-columns));min-width:0;text-align:center}
.carousel-card img{display:block;width:100%;height:auto}
.gallery-carousel{margin:0 30px 75px}
.carousel-dots{display:none}
.services,.reviews{padding:80px 0 100px}
.services .carousel-card.staggered,.reviews .carousel-card.staggered{padding-top:40px}
.service-card h3{font-size:25px;margin:15px 0 10px}
.service-card p{font-size:14px;line-height:1.6;margin:0 0 15px}
.services-summary{text-align:center;max-width:900px;margin:55px auto 25px}
.carousel-arrow{position:absolute;top:45%;width:44px;height:44px;border:1px solid var(--green);background:#fff;transform:rotate(45deg);display:grid;place-items:center;padding:0;z-index:1;color:var(--blue)}
.carousel-arrow span{display:block;font-size:28px;font-family:Arial,sans-serif;line-height:1;transform:rotate(-45deg);font-weight:400;margin-top:-3px}
.carousel-arrow.prev{left:-85px}.carousel-arrow.next{right:-85px}
.strengths{padding:0 0 90px}
.strength-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.strength-card{padding:30px 20px 40px;background:var(--blue);color:#fff;text-align:center}
.strength-card:nth-child(2){background:var(--green)}
.strength-icon{display:block;line-height:90px;font-size:60px;font-family:'Demo Icons';font-weight:900;margin:0 0 20px}
.icon-gear:before{content:'\f013'}.icon-eye:before{content:'\f06e'}.icon-thumb:before{content:'\f164'}
.strength-card h3{font-size:25px;margin-bottom:20px}
.strength-card p{font-size:14px;line-height:1.85}
.appointment{padding:100px 0;text-align:center}
.appointment>.container{max-width:830px}
.appointment h3{font-size:25px;line-height:1.2;margin-bottom:30px}
.team{padding:100px 0 100px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 50px}
.team-image{position:relative;margin-bottom:15px;overflow:hidden}
.team-image img{width:100%;display:block}
.team-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;opacity:0;transition:opacity .3s}
.team-image:hover .team-overlay{opacity:1}
.team-overlay .button{letter-spacing:0;font-size:16px;text-transform:none;padding:0 30px;font-weight:400;border:0}
.team-card h3{font-size:35px;text-transform:capitalize;overflow-wrap:anywhere}
.designation{color:var(--blue);text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.4em;margin:0 0 5px;line-height:29.6px}
.billing{padding:40px 0 50px}
.billing h5{color:#aaa;margin:30px 0}
.billing-partners{display:block;width:100%;height:auto}
.certifications{padding:100px 0 100px}
.certification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;margin-top:30px}
.certification-grid img{display:block;width:100%}
.reviews .button-row{margin-top:65px}
.faq{padding:55px 0;color:#333}
.faq h2{text-align:center;color:#111;margin-bottom:25px}
.faq h3{color:#111;font-size:21px;margin:22px 0 8px}
.faq p{line-height:1.75}
.faq-link{margin-top:25px;color:var(--blue)}
.schedule{text-align:center;padding:0 0 90px}
.schedule-word{margin:48px 0 54px;min-height:42px}
.schedule-word h3{transition:opacity .3s}
.schedule h4{margin-bottom:30px}
.site-footer{text-align:center;padding:20px 0 80px}
.footer-logo{display:inline-block;width:460px;max-width:100%;margin-bottom:40px}
.footer-logo img{width:100%}
.footer-addresses{max-width:460px;margin:auto;line-height:24px}
.footer-addresses h6{color:#31399d;font-weight:700;margin:0}
.footer-addresses p{margin:0 0 5px}
.footer-separator{margin:30px 0 20px;line-height:30px}
.footer-separator span{display:inline-block;width:8px;height:8px;border:1px solid #29b016;transform:rotate(45deg);margin:0 2px}
.copyright{color:#a7a7a7;font-size:16px;line-height:24px}
.copyright a{color:#000}
.designer-logo{width:auto;max-height:24px;margin-right:5px}
@media(min-width:1500px){h2{font-size:60px}.desktop-nav{gap:35px}.header-inner{gap:65px}}
@media(max-width:1350px){.desktop-nav{gap:24px}.header-inner{gap:20px}.logo img{width:230px}.header-booking{padding-inline:28px}.carousel-arrow.prev{left:-50px}.carousel-arrow.next{right:-50px}}
@media(max-width:1199px){h2{font-size:44px}h3{font-size:30px}.desktop-nav{display:none}.mobile-menu{display:block}.header-inner{gap:30px}.carousel-arrow{display:none}.strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strength-card:last-child{grid-column:1/-1;width:calc(50% - 20px);justify-self:center}.team-grid{gap:40px 30px}.team-card h3{font-size:30px}.carousel{--carousel-columns:3;--carousel-gap:30px}.gallery-carousel{margin-inline:15px}}
@media(max-width:991px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about{padding-top:70px}.carousel{--carousel-columns:2}.team,.appointment{padding:70px 0}.services,.reviews{padding:70px 0}.certifications{padding:70px 0}.certification-grid{gap:30px}.team-card h3{font-size:28px}}
@media(max-width:767px){h2{font-size:36px}h3{font-size:24px}.logo img{width:auto;height:70px}.header-inner{min-height:79px}.header-booking{display:none}.about{padding:70px 0 60px}.about>.container{padding:0 15px}.about-copy{text-align:justify}.team-grid{grid-template-columns:1fr;gap:40px}.team-card{width:100%;max-width:400px;margin:auto}.team-card h3{font-size:24px}.strength-grid{grid-template-columns:1fr}.strength-card:last-child{grid-column:auto;width:100%}.strength-card{max-width:500px;width:100%;margin:auto}.strengths{padding-bottom:60px}.certification-grid{grid-template-columns:1fr;max-width:400px;margin:30px auto 0;gap:40px}.appointment h3{font-size:25px}.services .carousel-card,.reviews .carousel-card{padding-top:0!important}.gallery-carousel{margin:0 15px 30px}.services-summary{margin-top:30px}.billing h3{font-size:24px}.billing h5{font-size:20px}.reviews .button-row{margin-top:35px}.faq{padding:55px 0}.schedule{padding-bottom:65px}.site-footer{padding-bottom:50px}.copyright{font-size:14px}}
@media(max-width:599px){.carousel{--carousel-columns:1;--carousel-gap:30px}.gallery-carousel{margin-inline:15px}.carousel-card img{max-width:100%}.service-card h3{font-size:22px}.services .container,.reviews .container{padding-inline:30px}.demo-banner{font-size:12px;letter-spacing:.3px;padding:8px 10px;line-height:20px}.about h1{line-height:1.25}.services,.reviews{padding:60px 0}.schedule h3{font-size:22px}.schedule h4{font-size:22px}.button{padding-inline:34px}.footer-logo{width:330px}.footer-addresses{font-size:15px;overflow-wrap:anywhere}.faq h3{font-size:21px}.section-heading{margin-bottom:40px}}
@media(max-width:479px){h2{font-size:28px}h3{font-size:20px}.appointment h3{font-size:25px}.team-card h3{font-size:20px}.designation{font-size:12px}.billing h3{font-size:20px}.certifications{padding:60px 0}.schedule h3{font-size:20px}.schedule h4{font-size:22px}.header-inner{gap:15px}.footer-logo{width:300px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.team-overlay{transition:none}}
