/* Brand-wide typography and restrained photo sizes. */
body,body button,body input,body textarea,body select,body h1,body h2,body h3,body h4,body h5,body h6{font-family:Montserrat,Arial,sans-serif!important}
.site-content .filled-photo-panel{height:320px!important;min-height:280px!important;max-height:360px!important;align-self:center!important;flex-grow:0!important}
.site-content .content-photo-grid a{max-height:260px}
.home-services-section.home-services-section,.home-services-section .e-con{background-color:#fff!important}
.home-services-section h2,.home-services-section h4{color:#00237c!important}
.home-services-section p,.home-services-section .elementor-widget-text-editor{color:#4c5467!important}
.home-domains-section.home-domains-section,.home-domains-section .e-con,.home-domains-section .home-domain-card{background-color:#00237c!important}
.home-domains-section h2,.home-domains-section h5,.home-domains-section .home-domain-card h5{color:#fff!important}
.home-domains-section p,.home-domains-section .elementor-widget-text-editor,.home-domains-section .home-domain-card p{color:#e4eaff!important}
.home-domains-section .home-domain-card>a:hover{background:#fff!important;color:#00237c!important}
.brand-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 20px;border-radius:4px;background:#ff6600;color:white!important;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.4;text-decoration:none!important}
.brand-button svg,.domain-text-link svg{width:21px;flex-shrink:0}
.brand-button:hover{background:#00237c;color:white!important}
.c360-container{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}
/* Reference footer: same panel, four-column grid and bottom rule. */
.c360-footer{background:white;color:#0b307e;padding:0;margin:0;font-family:Montserrat,Arial,sans-serif;clear:both}
.c360-footer *{box-sizing:border-box;font-family:Montserrat,Arial,sans-serif!important}
.c360-footer .footer-top{background:linear-gradient(110deg,#00a69c 0%,#0b307e 65%,#559aff 100%);color:#fff;border:0;border-radius:15px;margin-top:75px;padding:55px 50px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.c360-footer .footer-top .eyebrow{display:inline-flex;align-items:center;color:white;background:#ffffff20;border-radius:30px;margin:0 0 23px;padding:9px 17px;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none}
.c360-footer .footer-top h2{font-size:40px;line-height:1.13;letter-spacing:-1.5px;font-weight:750;color:white;margin:0;text-transform:none;font-style:normal}
.c360-footer .footer-top p{color:white;font-size:17px;line-height:1.5;margin:22px 0 0}
.c360-footer .footer-top .button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:56px;padding:16px 27px;background:white;color:#0b307e;border:0;border-radius:6px;font-size:16px;font-weight:700;line-height:1.3;text-decoration:none;white-space:nowrap;box-shadow:none}
.c360-footer .footer-top .button svg{width:21px;height:21px}
.c360-footer .footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1.25fr 1fr;gap:35px;padding:65px 0 45px}
.c360-footer .footer-logo{display:block;width:220px;height:78px;background:white;padding:0;margin-bottom:20px;border-radius:5px}
.c360-footer .footer-logo img{display:block;width:220px;height:78px;object-fit:contain;max-width:100%}
.c360-footer .footer-grid h3{font-size:19px;line-height:1.25;letter-spacing:-.4px;margin:0 0 22px;font-weight:750;color:#0b307e}
.c360-footer .footer-grid a:not(.logo){color:#6b6377;display:flex;align-items:center;gap:10px;margin:8px 0;font-size:14px;line-height:1.65;font-weight:400;text-decoration:none;overflow-wrap:anywhere}
.c360-footer .footer-grid a:not(.logo):hover{color:#ff6600}
.c360-footer .footer-grid p{color:#6b6377;font-size:14px;line-height:1.7;margin:14px 0 0}
.c360-footer .footer-grid svg{width:18px;height:18px;flex-shrink:0}
.c360-footer .footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:#82758e;border-top:1px solid #d8dfe9;font-size:11px;line-height:1.5}
.c360-footer .footer-bottom a{color:#82758e;text-decoration:none}
/* More compact layouts for the three domains. */
.domain-page{font-family:Montserrat,Arial,sans-serif;color:#00237c;background:white}
.domain-hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-block:60px 65px}
.domain-kicker{font-size:11px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:#ff6600;margin:0 0 19px}
.domain-hero h1{font-size:42px!important;line-height:1.12!important;letter-spacing:-1.3px!important;font-weight:800!important;font-style:normal!important;color:#00237c;margin:0 0 22px}
.domain-hero h1 span{color:#ff6600}
.domain-lead{font-size:16px;line-height:1.75;color:#50586a;margin:0 0 27px;max-width:570px}
.domain-hero-photo{display:block;width:100%;height:340px;object-fit:cover;border-radius:9px}
.domain-intro-section{background:#f4f6fa;padding:45px 0}
.domain-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}
.domain-page h2{font-size:30px!important;line-height:1.22!important;letter-spacing:-.7px!important;font-weight:750!important;color:#00237c;margin:0 0 18px}
.domain-intro p,.domain-section-lead{font-size:15px;line-height:1.75;color:#50586a;margin:0}
.domain-intro ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.domain-intro li{font-size:14px;line-height:1.55;color:#38445b;padding-left:24px;position:relative}
.domain-intro li:before{content:'✓';position:absolute;left:0;color:#ff6600;font-weight:800}
.domain-examples{padding-block:60px}
.domain-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:30px 0 25px}
.domain-card{background:white;border:1px solid #e7ebf1;border-radius:8px;overflow:hidden}
.domain-card>img{display:block;width:100%;height:210px;object-fit:cover}
.domain-card>div{padding:22px}
.domain-card h3{color:#00237c;font-size:18px!important;line-height:1.4!important;margin:0 0 10px;font-weight:700!important}
.domain-card p{font-size:13px;line-height:1.8;color:#596174;margin:0}
.domain-text-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:700;color:#00237c!important;text-decoration:none}
.domain-process{padding:45px 0;background:#f4f6fa}
.domain-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:30px}
.domain-steps>div>span{font-size:25px;font-weight:750;color:#ff6600}
.domain-steps h3{font-size:16px!important;color:#00237c;margin:12px 0 10px;font-weight:700!important}
.domain-steps p{font-size:13px;line-height:1.7;color:#596174;margin:0}
.coverage-ribbon{padding:52px 0;background:#edf0f5;position:relative;overflow:hidden}
.coverage-ribbon:before{content:'❯❯';position:absolute;left:-25px;top:-70px;color:white;font-size:300px;line-height:1;opacity:.7}
.coverage-inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.coverage-ribbon h2{font-size:29px!important;line-height:1.25!important;font-weight:800!important;margin:0}
.coverage-ribbon h2 span{color:#ff6600}
.coverage-ribbon p{font-size:14px;line-height:1.8;color:#50586a;margin:0}
.contact-details{padding:15px 0 20px 20px}
.contact-details h3{font-size:22px!important;color:#00237c;margin:0 0 18px!important}
.contact-details h3:not(:first-child){margin-top:35px!important}
.contact-details>a:not(.brand-button){display:block;font-size:17px;color:#00237c;margin:10px 0;text-decoration:none}
.contact-details p{font-size:15px;line-height:1.8;color:#50586a}
@media(max-width:1180px){.c360-container{width:calc(100% - 60px)}.c360-footer .footer-grid{gap:25px}.c360-footer .footer-top{padding:40px 35px}.c360-footer .footer-top h2{font-size:36px}.domain-hero{gap:35px}.domain-hero h1{font-size:35px!important}.domain-intro{gap:45px}}
@media(max-width:900px){.c360-footer .footer-grid{grid-template-columns:1fr 1fr;gap:40px}.domain-hero{grid-template-columns:1fr 1fr;gap:25px}.domain-hero-photo{height:300px}.domain-hero h1{font-size:30px!important}.domain-steps{grid-template-columns:1fr 1fr}.domain-cards{gap:15px}.domain-card>div{padding:17px}.coverage-inner{gap:30px}}
@media(max-width:680px){.c360-container{width:calc(100% - 40px)}.c360-footer .footer-top{display:block;margin-top:45px;padding:32px 25px}.c360-footer .footer-top h2{font-size:30px}.c360-footer .footer-top .button{margin-top:25px}.c360-footer .footer-top p{font-size:15px}.c360-footer .footer-grid{grid-template-columns:1fr;gap:30px;padding:45px 0 35px}.c360-footer .footer-grid h3{font-size:20px;margin-bottom:16px}.c360-footer .footer-grid a:not(.logo),.c360-footer .footer-grid p{font-size:15px}.c360-footer .footer-bottom{flex-wrap:wrap;font-size:11px}.c360-footer .footer-bottom span:last-child{width:100%}.domain-hero{grid-template-columns:1fr;padding-block:35px 40px}.domain-hero h1{font-size:34px!important}.domain-hero-photo{height:260px}.domain-intro{grid-template-columns:1fr;gap:25px}.domain-page h2{font-size:25px!important}.domain-cards{grid-template-columns:1fr}.domain-card>img{height:230px}.domain-examples{padding-block:40px}.domain-steps{gap:25px}.coverage-inner{grid-template-columns:1fr;gap:25px}.coverage-ribbon h2{font-size:25px!important}.contact-details{padding-left:0}.site-content .filled-photo-panel{height:260px!important;min-height:240px!important;max-height:280px!important}}

/* Equal service photograph sizes on the homepage. */
.home-services-section .elementor-widget-image{width:100%!important}
.home-services-section .elementor-widget-image img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover;object-position:center}

.c360-whatsapp{position:fixed;right:24px;bottom:24px;z-index:99990;display:flex;align-items:center;gap:9px;padding:12px 18px;background:#128c49;color:#fff!important;border-radius:32px;box-shadow:0 4px 18px #00237c26;font:700 13px Montserrat,Arial,sans-serif;text-decoration:none}.c360-whatsapp svg{width:29px;height:29px}.c360-whatsapp:hover{background:#08763a}.c360-whatsapp:focus-visible{outline:3px solid #ff6600;outline-offset:4px}@media(max-width:600px){.c360-whatsapp{right:16px;bottom:16px;padding:12px}.c360-whatsapp span{display:none}}

/* Keep boxed content inside intermediate viewport widths. */
#content .e-con-boxed>.e-con-inner{max-width:min(1180px,calc(100vw - 48px))!important}
@media(max-width:680px){#content .e-con-boxed>.e-con-inner{max-width:calc(100vw - 32px)!important}}
