*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:#202326;background:#fff;font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6}a{color:#0067b8;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #1b65ad;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;font-weight:600;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,4vw,3.6rem);margin-bottom:24px}h2{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:22px}h3{font-size:1.5rem}p{color:#50565c}img{max-width:100%;display:block}section[id],article[id]{scroll-margin-top:32px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:8px}.header{height:88px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#24282d}.brand-mark{font-size:2.1rem;font-weight:800;letter-spacing:-2px;line-height:1}.brand-mark span{color:#0078d4}.brand-name{border-left:1px solid #c8cdd2;padding-left:14px;font-size:.65rem;line-height:1.45;letter-spacing:2px;font-weight:700}.header nav{display:flex;align-items:center;gap:36px}.header nav a{font-size:.9rem;text-decoration:none;color:#30343a}.header nav a:hover{text-decoration:underline}.header .nav-contact{color:#0067b8;border:1px solid #0067b8;padding:8px 20px;font-weight:600}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:#e6f1f8}.slide{min-height:540px;position:relative;isolation:isolate;animation:enter .7s ease both}.slide[hidden]{display:none}.hero-art{position:absolute;inset:0 0 0 34%;z-index:-2}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}.slide:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#eaf3f8 0%,#eaf3f8 31%,rgba(234,243,248,.9) 40%,rgba(234,243,248,0) 64%)}.slide-1:after{background:linear-gradient(90deg,#f0f0f3 0%,#f0f0f3 31%,rgba(240,240,243,.93) 41%,rgba(240,240,243,0) 65%)}.slide-2 .hero-art img{object-position:80% center}.slide-2:after{background:linear-gradient(90deg,#e4eff9 0%,#e4eff9 31%,rgba(228,239,249,.93) 41%,rgba(228,239,249,0) 65%)}.hero-inner{max-width:1440px;margin:auto;padding:90px 7% 80px}.hero-copy{max-width:490px}.hero-copy p{max-width:395px;font-size:1.06rem;color:#353e47;margin-bottom:30px}.eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:2px;color:#49606f;margin-bottom:19px}.button{display:inline-flex;align-items:center;justify-content:center;background:#0067b8;color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;padding:12px 23px;border:1px solid transparent;transition:background .2s}.button:hover{background:#004f8f;text-decoration:underline}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:17px;height:68px}.carousel-controls button{background:none;border:0;min-width:34px;height:38px;color:#202326;font-size:1.7rem}.carousel-controls #play{font-size:1rem}.dots{display:flex;gap:17px;align-items:center}.dots .dot{width:10px;height:10px;min-width:10px;border:1px solid #30363c;border-radius:50%;padding:0}.dots .dot.active{background:#30363c}#slide-count{font-size:.75rem;color:#5c656c;border-left:1px solid #d2d6da;padding-left:20px;margin-left:6px;font-variant-numeric:tabular-nums}.quick-links{display:flex;justify-content:center;gap:70px;margin:36px auto 70px;padding:0 24px}.quick-links a{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.9rem;font-weight:600}.quick-icon{font-size:2rem;color:#0078c9;line-height:1;height:34px}.code-icon{font-size:1.5rem;font-weight:700}.section{max-width:1320px;margin:0 auto 92px;padding:0 40px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading h2{margin:0}.section-heading p{margin-bottom:2px;font-size:.94rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{box-shadow:0 2px 9px #00000016;background:#fff;display:flex;flex-direction:column}.card>img,.card-graphic{width:100%;height:172px;object-fit:cover}.card-content{padding:27px 24px 26px;display:flex;flex-direction:column;flex:1}.tag{font-size:.63rem;font-weight:700;color:#68717a;letter-spacing:1.3px;margin-bottom:14px}.card h3{font-size:1.55rem;margin-bottom:16px}.card p{font-size:.92rem;line-height:1.6;margin-bottom:24px}.card a{font-size:.9rem;font-weight:600;margin-top:auto;text-decoration:none}.card a:hover{text-decoration:underline}.card-graphic{padding:20px 24px;display:flex;flex-direction:column;justify-content:space-between;background:#ede8f8;color:#533995}.card-graphic span{font-size:.68rem;font-weight:600}.card-graphic strong{font-size:1.8rem;line-height:1.06;letter-spacing:-1px}.card-graphic small{font-size:.55rem;letter-spacing:1px}.code-graphic{background:#e5eff9;color:#126293}.feature{padding:0;background:#edf0f5;display:grid;grid-template-columns:43% 57%;overflow:hidden;min-height:425px;max-width:1240px}.feature-copy{padding:60px 45px}.feature-copy p{font-size:.97rem;max-width:370px}.feature img{height:100%;object-fit:cover}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:45px}.steps article{border-top:1px solid #ccd9e2;padding-top:23px}.steps span{color:#0067b8;font-size:.9rem}.steps h3{margin:22px 0 14px;font-size:1.35rem}.steps p{font-size:.95rem}.about{border-top:1px solid #e1e5e9;padding-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{max-width:530px}.about .lead{font-size:1.4rem;color:#222b33;line-height:1.4}.location{font-size:.8rem;font-weight:600;color:#0067b8}.contact{background:#0067b8;color:#fff;padding:60px max(6%,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:36px}.contact .eyebrow{color:#c4e2f6}.contact h2{margin-bottom:14px}.contact p{color:#e4f1fc;margin:0}.contact-action{display:flex;align-items:flex-start;flex-direction:column;gap:17px;flex-shrink:0}.button-light{background:white;color:#005ca5}.button-light:hover{background:#e9f2fa}.email-link{color:white;font-size:.83rem}footer{background:#f3f4f5;padding:58px max(6%,calc((100vw - 1240px)/2)) 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:40px}.footer-grid h3{font-size:.9rem;letter-spacing:0;margin:0 0 17px}.footer-grid p,.footer-grid>div>a:not(.brand){font-size:.8rem;color:#5d6268}.footer-grid p{margin-top:20px}.footer-grid>div>a:not(.brand){display:block;margin-bottom:10px;text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-bottom{display:flex;gap:25px;align-items:center;border-top:1px solid #dadfe3;padding-top:22px;margin-top:40px;font-size:.72rem;color:#5d6268}.footer-bottom span:first-child{margin-right:auto}.footer-bottom a{color:#5d6268}.page-intro{background:#eaf3fa;padding:75px max(6%,calc((100vw - 1240px)/2));margin-bottom:65px}.page-intro p{max-width:560px}.service-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding:45px 0 60px;border-bottom:1px solid #dae1e7}.service-detail ul{padding-left:22px;color:#50565c}.service-detail li{padding:8px 0}.service-detail h3{font-size:1.2rem}.legal{max-width:900px;padding-top:70px;min-height:65vh}.legal h2{font-size:1.5rem;margin-top:35px}.not-found{text-align:center;padding:110px 24px;min-height:65vh}.not-found p{max-width:500px;margin:0 auto 30px}.text-link{display:block;margin:25px auto}.desktop{display:block}@keyframes enter{from{opacity:.3;transform:translateX(15px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero-inner{padding-left:80px}.slide{min-height:590px}.hero-inner{padding-top:110px}}@media(max-width:1000px){.header{padding:0 30px}.header nav{gap:22px}.hero-inner{padding:70px 40px}.hero-copy{max-width:410px}.hero-art{left:30%}.slide:after{background:linear-gradient(90deg,#eaf3f8 0%,#eaf3f8 32%,#eaf3f8d9 44%,#eaf3f800 85%)}.quick-links{gap:42px}.cards{grid-template-columns:repeat(2,1fr)}.card>img,.card-graphic{height:225px}.card-graphic{padding:30px}.card-graphic strong{font-size:2.5rem}.section-heading{align-items:start}.section-heading p{max-width:330px}.feature{margin-left:40px;margin-right:40px;grid-template-columns:1fr 1fr}.feature-copy{padding:35px 28px}.steps{gap:22px}.about{gap:40px}.contact{align-items:start;flex-direction:column}.service-detail{gap:40px}}
@media(max-width:680px){.header{height:76px;padding:0 22px;position:relative;z-index:10}.brand-mark{font-size:1.8rem}.brand-name{font-size:.57rem}.menu-toggle{display:block;background:none;border:0;padding:10px;color:#24282d;font-size:.85rem}.menu-toggle span{margin-left:8px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:22px;border-top:1px solid #ddd;box-shadow:0 8px 10px #0001}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.header .nav-contact{text-align:center}.slide{min-height:0;display:flex;flex-direction:column}.hero-art{position:relative;inset:auto;order:0;height:245px;z-index:0}.hero-art img{object-position:center}.slide:after{display:none}.hero-inner{padding:32px 25px 37px;order:1;width:100%;background:#eaf3f8}.hero-copy{max-width:none}.hero-copy h1{font-size:2.25rem}.hero-copy p{font-size:1rem;max-width:none}.eyebrow{font-size:.65rem;letter-spacing:1.5px}.carousel-controls{height:62px}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:30px 10px;margin:30px auto 55px}.quick-links a{font-size:.8rem}.section{padding:0 24px;margin-bottom:60px}.section-heading{display:block;margin-bottom:25px}.section-heading p{margin-top:20px;max-width:none}.desktop{display:none}.cards{grid-template-columns:1fr;gap:26px}.card>img,.card-graphic{height:auto;aspect-ratio:1.79}.card-content{padding:25px}.card h3{font-size:1.6rem}.feature{margin:0 24px 60px;display:flex;flex-direction:column;padding:0}.feature-copy{padding:35px 28px}.feature img{height:auto;order:-1}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps h3{font-size:1.15rem}.about{display:block;padding-top:40px}.about .lead{margin-top:28px}.contact{padding:42px 24px;gap:25px}.contact h2{font-size:2rem}.contact p{font-size:.95rem}.email-link{overflow-wrap:anywhere}footer{padding:40px 24px 20px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid a{overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap;gap:15px}.footer-bottom>span:first-child{width:100%}.page-intro{padding:45px 24px;margin-bottom:20px}.service-detail{grid-template-columns:1fr;gap:30px;padding:35px 0}.legal{padding-top:40px}.not-found{padding-top:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Hero revision: shared sizing prevents movement between slides. */
.hero{display:grid;background:#091423;color:#fff}
.hero .slide{grid-area:1 / 1;display:block;min-height:600px;visibility:hidden;opacity:0;pointer-events:none;animation:none;transition:opacity .5s ease,visibility .5s;isolation:isolate}
.hero .slide.is-active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.hero .hero-art{position:absolute;inset:0;z-index:-2}
.hero .hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero .slide:after{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,13,26,.9) 0%,rgba(5,13,26,.74) 30%,rgba(5,13,26,.25) 57%,rgba(5,13,26,0) 80%)}
.hero .hero-inner{width:100%;max-width:1440px;height:100%;margin:auto;padding:80px 7%;display:flex;align-items:center}
.hero .hero-copy{width:100%;max-width:490px;display:flex;flex-direction:column;align-items:flex-start}
.hero .eyebrow{color:#9ed6ff;line-height:1.6;margin:0 0 20px;font-size:.75rem;min-height:1.6em}
.hero h1{font-size:clamp(2.3rem,3.6vw,3.3rem);color:#fff;line-height:1.12;margin:0 0 24px;letter-spacing:-.035em;width:100%}
.hero .hero-copy p{color:#edf3fa;font-size:1.0625rem;line-height:1.65;width:100%;max-width:420px;margin:0 0 30px}
.hero .button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:48px;min-width:240px;max-width:100%;line-height:1.4;padding:13px 24px;margin:0;background:#0078d4;color:white;font-size:.9375rem;box-sizing:border-box}
.hero .button:hover{background:#0067b8}
.hero a:focus-visible{outline-color:#fff}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:8px;min-height:76px;height:auto;padding:12px 20px;background:#fff}
.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0;margin:0;border:1px solid transparent;border-radius:4px;background:transparent;line-height:1;color:#273644}
.carousel-controls button:hover{background:#edf4fa}
.carousel-controls button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.carousel-controls .dots{display:flex;align-items:center;gap:0}
.carousel-controls .dot{width:36px;min-width:36px;flex-basis:36px;height:44px;border:0;border-radius:4px;background:transparent}
.carousel-controls .dot:before{content:"";display:block;width:8px;height:8px;border:1.5px solid #607385;border-radius:50%;background:transparent;box-sizing:border-box}
.carousel-controls .dot.active{background:transparent}
.carousel-controls .dot.active:before{background:#0067b8;border-color:#0067b8}
.carousel-controls #slide-count{display:flex;align-items:center;align-self:center;line-height:1;height:24px;padding-left:20px;margin-left:10px;font-size:.8125rem;white-space:nowrap}
@media(min-width:1600px){.hero .slide{min-height:660px}.hero .hero-inner{padding:90px 80px}}
@media(max-width:1000px){.hero .hero-inner{padding:64px 40px}.hero .hero-copy{max-width:430px}.hero .slide{min-height:560px}.hero .slide:after{background:linear-gradient(90deg,#071221ed 0%,#071221c9 38%,#07122152 75%,#07122119 100%)}}
@media(max-width:680px){.hero .slide{display:flex;flex-direction:column;min-height:0}.hero .hero-art{position:relative;inset:auto;height:235px;flex:0 0 235px;z-index:0;order:0}.hero .hero-art img{object-position:75% center}.hero .slide:after{display:none}.hero .hero-inner{height:auto;flex:1;padding:32px 24px 38px;background:#091423;order:1;align-items:flex-start}.hero .hero-copy{max-width:none}.hero h1{font-size:clamp(2rem,7.8vw,2.5rem);line-height:1.13}.hero .hero-copy p{font-size:1rem;max-width:none}.hero .eyebrow{font-size:.6875rem;letter-spacing:1.4px}.hero .button{min-width:240px}.carousel-controls{gap:2px;padding:10px 8px;min-height:68px}.carousel-controls #slide-count{padding-left:12px;margin-left:4px}.carousel-controls .dot{width:30px;min-width:30px;flex-basis:30px}}
@media(prefers-reduced-motion:reduce){.hero .slide{transition:none}}

/* Rounded business cards and social links, matching the supplied reference. */
.business-section{max-width:none;background:#dceff7;padding:44px 32px 36px;margin:0 0 0}
.business-inner{max-width:1440px;margin:0 auto}
.business-section .section-heading{margin-bottom:30px}
.business-section .cards{gap:22px;align-items:stretch}
.business-section .card{border:1px solid #d9e0e5;border-radius:28px;padding:10px 10px 0;overflow:hidden;box-shadow:0 3px 8px #16364c20;background:white;min-width:0}
.business-section .card>img,.business-section .card-graphic{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:19px;flex-shrink:0}
.business-section .card-graphic{padding:22px;min-height:0}
.business-section .card-graphic strong{font-size:clamp(1.6rem,2.5vw,2.4rem)}
.business-section .card-content{padding:28px 17px 28px;min-height:310px}
.business-section .card h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}
.business-section .card p{font-size:1rem;line-height:1.6;color:#344257;margin-bottom:30px}
.business-section .card-content>a{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:46px;max-width:100%;padding:11px 16px;margin-top:auto;background:#0078d4;color:#fff;border-radius:9px;font-size:.9rem;line-height:1.4;font-weight:600;text-decoration:none}
.business-section .card-content>a:hover{background:#005fa8;text-decoration:underline}
.social-section{padding:38px 24px 48px;text-align:center;background:#fff}
.social-section h2{font-size:1.125rem;font-weight:500;line-height:1.5;letter-spacing:0;margin:0 0 23px;color:#162330}
.social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e0e3e7;border-radius:11px;background:#fff;box-shadow:0 1px 3px #00000021;text-decoration:none;transition:box-shadow .2s,transform .2s}
.social-link svg{display:block;width:29px;height:29px}
.social-link:hover{box-shadow:0 3px 9px #00000026;transform:translateY(-2px)}
@media(max-width:1000px){.business-section{padding:36px 32px 32px}.business-section .card-content{min-height:290px}.business-section .card-graphic strong{font-size:2.5rem}}
@media(max-width:680px){.business-section{padding:32px 20px}.business-section .cards{gap:24px}.business-section .card{border-radius:25px}.business-section .card>img,.business-section .card-graphic{border-radius:17px}.business-section .card-content{padding:24px 17px;min-height:285px}.social-section{padding:32px 20px 42px}.social-links{gap:16px}.social-section h2{font-size:1rem}}

/* Shared page edges: cards, feature, content, header and footer align. */
:root{--content-width:1440px;--page-gutter:32px}
.business-section{padding-inline:var(--page-gutter)}
.business-inner{width:100%;max-width:var(--content-width);margin-inline:auto}
.section:not(.business-section):not(.legal){width:calc(100% - var(--page-gutter) * 2);max-width:var(--content-width);margin-inline:auto;padding-inline:0}
.feature.section{margin-top:36px}
.feature img{width:100%;min-width:0}
.header{width:calc(100% - var(--page-gutter) * 2);max-width:var(--content-width);margin-inline:auto;padding-inline:0}
.hero .hero-inner{width:calc(100% - var(--page-gutter) * 2);max-width:var(--content-width);padding-inline:0}
.contact,footer,.page-intro{padding-inline:max(var(--page-gutter),calc((100% - var(--content-width)) / 2))}
@media(max-width:680px){:root{--page-gutter:20px}.feature.section{margin-top:24px}.hero .hero-inner{padding-inline:0}}

/* Selected company logo: transparent PNG, shared across all pages. */
.brand{gap:0;flex-shrink:0}
.brand-logo{display:block;width:224px;height:84px;object-fit:contain}
footer .brand-logo{width:250px;height:100px;object-position:left center}
@media(max-width:680px){.brand-logo{width:180px;height:72px}footer .brand-logo{width:224px;height:90px}}

/* Contact page */
.contact-intro{padding-top:52px;margin-bottom:36px}.contact-intro h1{font-size:clamp(2rem,3.6vw,3rem);margin-bottom:16px}.contact-intro p{max-width:640px}
.contact-panel{display:grid;grid-template-columns:44% 56%;border-radius:24px;overflow:hidden;background:#d5e9f8;margin-bottom:42px}
.contact-photo{min-width:0;position:relative}.contact-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.contact-form-panel{padding:44px 48px}.contact-form-panel h2{font-size:1.8rem;letter-spacing:-.025em;margin-bottom:12px}.form-intro{font-size:.95rem;margin-bottom:26px}
#contact-form fieldset{padding:0;border:0;margin:0 0 22px;min-width:0}#contact-form legend{padding:0;font-weight:600;margin-bottom:12px}.required{color:#b42318}
.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{margin-bottom:22px}#contact-form label{display:block;font-weight:600;margin-bottom:8px;font-size:.95rem}.name-fields label{font-size:.85rem!important;font-weight:400!important}
#contact-form input,#contact-form textarea{display:block;width:100%;border:1px solid #6d8192;background:#ffffffb3;border-radius:6px;padding:11px 13px;color:#172b3c;font:inherit;min-height:46px}#contact-form textarea{resize:vertical;min-height:135px}#contact-form input:focus,#contact-form textarea:focus{outline:3px solid #0067b8;outline-offset:2px}
.form-note{font-size:.85rem;line-height:1.5;color:#405466;margin:2px 0 22px}.form-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.form-actions .button{border-radius:7px;min-height:46px;padding-inline:28px}.copy-message{background:none;border:0;color:#005d9d;text-decoration:underline;padding:10px 0;font-size:.9rem}.contact-status{margin:18px 0 0;font-size:.9rem;color:#24465f}.contact-status:empty{display:none}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact-details h2{font-size:1.2rem;letter-spacing:0;margin-bottom:12px}.contact-details a{overflow-wrap:anywhere}
@media(max-width:1000px){.contact-panel{grid-template-columns:40% 60%}.contact-form-panel{padding:32px 28px}}
@media(max-width:680px){.contact-panel{display:flex;flex-direction:column}.contact-photo{height:240px}.contact-form-panel{padding:30px 24px}.contact-intro{padding-top:34px}.name-fields{gap:12px}.contact-details{grid-template-columns:1fr;gap:20px}}

/* Social links belong to the shared footer on every page. */
footer{padding:0}
.footer-content{padding:58px max(var(--page-gutter),calc((100% - var(--content-width)) / 2)) 22px}
@media(max-width:680px){.footer-content{padding-top:40px;padding-bottom:20px}}
