/* Homepage sections: shared spacing, restrained colour and clear hierarchy. */
.home-sections{background:linear-gradient(180deg,#f4f8fc 0%,#fff 38%,#f5f8fc 100%);padding-top:12px}
.home-sections .section{padding-block:60px 0}
.home-sections h2{font-size:31px;line-height:1.25;letter-spacing:-.8px;color:#102c4e}
.home-sections .eyebrow{font-size:11px;letter-spacing:1.8px;color:#0879a8;margin-bottom:13px}
.home-sections .eyebrow:after{background:#43b9d4;width:34px}
.home-sections .section-heading{margin-bottom:28px;gap:25px}
.home-sections .section-heading p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:790px}
.home-sections .outline{border-color:#cadcea;background:#ffffffc9;color:#16496d;padding:12px 18px;border-radius:9px;transition:background .2s,border-color .2s}
.home-sections .outline:hover{background:#eef9ff;border-color:#75bedb}
/* Equal-height, spacious service cards. */
.home-sections .service-grid{gap:18px}
.home-sections .service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:26px 22px;border-radius:17px;border:1px solid #e0e9f1;background:white;box-shadow:0 5px 18px #183c5a04;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.home-sections .service-card:before{content:'';position:absolute;top:0;left:22px;right:22px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#008fc6,#59cfe1);opacity:0;transition:opacity .2s}
.home-sections .service-card:hover{border-color:#9ccfdf;box-shadow:0 12px 28px #1a5b7d0c;transform:translateY(-4px)}
.home-sections .service-card:hover:before{opacity:1}
.home-sections .service-icon{width:52px;height:52px;margin-bottom:20px;padding:10px;border-radius:13px;background:linear-gradient(140deg,#087fbb,#064477);box-shadow:0 5px 12px #006d9a14}
.home-sections .service-card>div{flex:1}
.home-sections .service-card h3{font-size:16px;font-weight:700;line-height:1.4;letter-spacing:-.2px;color:#133351;margin-bottom:10px}
.home-sections .service-card p{font-size:13px;line-height:1.75;color:#607087}
.home-sections .service-card .arrow{display:none}
.home-sections .service-action{display:block;margin-top:20px;padding-top:15px;border-top:1px solid #edf2f6;width:100%;font-size:12px;font-weight:bold;color:#087aa6;letter-spacing:.1px}
/* A focused, dark callout connects the light sections to the banner palette. */
.home-sections .cloud-strip{position:relative;isolation:isolate;overflow:hidden;margin-top:38px;padding:34px 36px;border:1px solid #194d6e;border-radius:19px;background:radial-gradient(ellipse at 85% 0,#0f526b,transparent 70%),#08243e;color:white;gap:35px;box-shadow:0 12px 30px #072c4910}
.home-sections .cloud-strip:before{content:'';position:absolute;z-index:-1;right:5%;top:-65px;width:260px;height:260px;border:1px solid #58bada25;border-radius:50%;box-shadow:0 0 0 45px #58bada07,0 0 0 90px #58bada04}
.home-sections .cloud-strip .eyebrow{color:#70d4e7}.home-sections .cloud-strip h2{color:white;font-size:28px;margin-bottom:10px}.home-sections .cloud-strip p:not(.eyebrow){color:#b6cfdf;font-size:14px}
.home-sections .cloud-strip .button{background:#0788b8;border-color:#68d2ed55;box-shadow:0 6px 20px #00192d25;padding:14px 22px}
/* Partner labels share one baseline and a consistent card size. */
.home-sections .filters{background:#e9f0f6;border-color:transparent;gap:3px;padding:4px;border-radius:10px}
.home-sections .filters button{border-radius:7px;color:#4d6277;font-size:11px}.home-sections .filters .active{background:white;color:#086d98;box-shadow:0 2px 5px #153c5812}
.home-sections .partners{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.home-sections .partners>div{flex:0 0 calc((100% - 56px)/5);height:91px;border-radius:12px;border-color:#e1e9f0;box-shadow:0 4px 15px #16496603;font-size:28px;padding:15px 10px}
.home-sections .partners .microsoft{font-size:20px}.home-sections .partners .hik{font-size:21px}.home-sections .partners .tplink{font-size:26px}
/* Numbered principles, not customer quotations. */
.home-sections .testimonials>h2{margin-bottom:10px}.home-sections .testimonials>p:not(.eyebrow){font-size:14px;margin-bottom:26px}
.home-sections .value-grid{gap:20px}
.home-sections .value-grid article{padding:29px 27px;border-radius:15px;border-color:#e0e9f1;background:linear-gradient(150deg,white,#f9fcfe);box-shadow:none}
.home-sections .value-grid article>span{display:block;float:none;font-size:12px;letter-spacing:2px;font-weight:bold;color:#1885a7;line-height:1;margin:0 0 23px}
.home-sections .value-grid h3{font-size:19px;line-height:1.4;margin-bottom:12px;color:#17354e}.home-sections .value-grid p{font-size:14px;line-height:1.8}
/* Team remains full width with a quiet, structured presentation. */
.home-sections .bottom-grid{gap:62px;margin-top:62px}
.home-sections .bottom-grid h2{margin-bottom:27px}
.home-sections .team-grid{gap:22px}
.home-sections .team-grid article{padding:0;border-color:#e0e8f1;border-radius:17px;overflow:hidden;box-shadow:0 7px 24px #183f5c05}
.home-sections .team-grid img{border-radius:0;height:270px;background:#eaf2f9}
.home-sections .team-grid article>div{padding:21px 24px;border-top:1px solid #edf2f6}
.home-sections .team-grid h3{font-size:19px;color:#183952}.home-sections .team-grid p{font-size:13px;color:#65778b}
/* Office information and form remain side by side on desktop. */
.home-sections .contact-box{padding:0;gap:0;overflow:hidden;border-radius:20px;border-color:#dce6ef;box-shadow:0 15px 40px #12374e08;align-items:stretch}
.home-sections .contact-info{padding:30px;background:radial-gradient(ellipse at top left,#12465e,transparent 80%),#09263e}
.home-sections .contact-info address{padding:0;background:transparent;color:#d6e4ee;font-size:14px}
.home-sections .contact-info address>div{margin-bottom:23px;gap:15px}
.home-sections .contact-info address p{color:#b9cfdf;line-height:1.8}.home-sections .contact-info address strong{color:#f3faff;font-size:13px;margin-bottom:3px}.home-sections .contact-info address b{display:grid;place-items:center;width:39px;height:39px;font-size:23px;color:#6ad6f0;border:1px solid #4671877a;background:#1d577838;border-radius:10px}
.home-sections .map-panel{border-color:#507e965c;margin-top:25px;background:#163c53;border-radius:12px}
.home-sections .map-panel iframe{height:250px}
.home-sections #contact-form{padding:35px;gap:17px;background:white}
.home-sections #contact-form h3{font-size:24px;letter-spacing:-.5px;color:#153650}.home-sections .contact-form-intro{font-size:14px;line-height:1.7;margin-bottom:4px}
.home-sections #contact-form input,.home-sections #contact-form textarea{border:1px solid #dce6ee;background:#f8fafc;padding:14px;border-radius:8px;font-size:13px;transition:border-color .2s,background .2s}
.home-sections #contact-form input:focus,.home-sections #contact-form textarea:focus{background:white;border-color:#309ac3}
.home-sections #contact-form .button{background:linear-gradient(110deg,#076e9e,#088bb5);font-size:14px}
.home-sections .newsletter{margin-top:62px;padding-block:32px;background:#e8f1f8;border-block:1px solid #dbe7f0}
.home-sections .newsletter h2{font-size:24px}.home-sections .newsletter p{font-size:14px;line-height:1.7}.home-sections .mail-icon{background:white;border:1px solid #d5e5ef;color:#1182ad;font-size:29px;border-radius:13px;padding:4px 15px}
.home-page footer{padding-top:42px;background:#071f34}
.home-page .footer-grid{gap:36px;padding-bottom:8px}.home-page .footer-grid h3{font-size:13px;letter-spacing:.3px;margin-bottom:14px}.home-page .footer-grid>div>a{font-size:12px;line-height:1.9;color:#adc4d8}.home-page .footer-grid a:hover{color:#7ed6ed}.home-page .copyright{color:#92adc2;padding-top:20px;margin-top:24px;font-size:11px}
@media(max-width:1180px){.home-sections .service-card{padding:25px}.home-sections .partners>div{flex-basis:calc((100% - 42px)/4)}}
@media(max-width:1000px){.home-sections h2{font-size:28px}.home-sections .section{padding-top:45px}.home-sections .cloud-strip{padding:28px}.home-sections .partners>div{flex-basis:calc((100% - 28px)/3)}.home-sections .contact-info{padding:25px}.home-sections #contact-form{padding:28px}}
@media(max-width:760px){.home-sections h2{font-size:26px}.home-sections .section{padding-top:38px}.home-sections .section-heading{margin-bottom:23px}.home-sections .service-grid{gap:14px}.home-sections .service-card{padding:23px 20px}.home-sections .service-card h3{font-size:16px}.home-sections .cloud-strip{padding:27px 24px;gap:22px;margin-top:30px}.home-sections .cloud-strip h2{font-size:25px}.home-sections .partners{gap:12px}.home-sections .partners>div{flex-basis:calc((100% - 24px)/3);height:86px;font-size:25px}.home-sections .partners .microsoft{font-size:16px}.home-sections .partners .hik{font-size:18px}.home-sections .partners .tplink{font-size:23px}.home-sections .value-grid{gap:14px}.home-sections .value-grid article{padding:25px}.home-sections .value-grid article>span{margin-bottom:17px}.home-sections .bottom-grid{gap:42px;margin-top:42px}.home-sections .team-grid img{height:200px}.home-sections .team-grid article>div{padding:17px 13px}.home-sections .team-grid h3{font-size:16px}.home-sections .team-grid p{font-size:12px}.home-sections .contact-info{padding:25px}.home-sections #contact-form{padding:28px 25px}.home-sections .newsletter{margin-top:42px;padding-block:27px}.home-sections .newsletter h2{font-size:22px}.home-page footer{padding-top:30px}}
@media(max-width:480px){.home-sections h2{font-size:25px}.home-sections .service-card{padding:24px;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:0}.home-sections .service-icon{width:48px;height:48px;margin:0}.home-sections .service-action{grid-column:1/-1;margin-top:20px}.home-sections .service-card h3{font-size:16px}.home-sections .partners>div{flex-basis:calc((100% - 12px)/2)}.home-sections .team-grid img{height:270px}.home-sections .team-grid article>div{padding:21px}.home-sections .team-grid h3{font-size:19px}.home-sections .contact-info{padding:24px 20px}.home-sections #contact-form{padding:27px 20px}.home-sections #contact-form h3{font-size:23px}.home-sections .newsletter .button{width:100%}.home-page .footer-grid{gap:26px}.home-sections .cloud-strip .button{width:100%}}
@media(prefers-reduced-motion:reduce){.home-sections .service-card,.home-sections .service-card:before,.home-sections .outline,.home-sections #contact-form input,.home-sections #contact-form textarea{transition:none}}

/* Continuous client strip; duplicate is decorative for a seamless loop. */
.home-sections .clients-intro{font-size:14px;line-height:1.8;margin-top:-12px;margin-bottom:26px;max-width:720px}
.clients-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.clients-track{display:flex;gap:18px;width:max-content;animation:client-scroll 90s linear infinite;will-change:transform}
.home-sections .clients-grid{display:flex;flex:0 0 auto;gap:18px}
.home-sections .client-card{display:grid;place-items:center;flex:0 0 230px;width:230px;min-width:0;height:135px;padding:18px;background:white;border:1px solid #dfe8f0;border-radius:15px;box-shadow:0 6px 20px #163d5705}
.home-sections .client-card img{display:block;width:100%;height:95px;object-fit:contain}
.clients-marquee:hover .clients-track,.clients-marquee:focus-within .clients-track{animation-play-state:paused}
@keyframes client-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
@media(max-width:760px){.clients-marquee{mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent)}.home-sections .client-card{flex-basis:200px;width:200px;height:120px;padding:15px}.home-sections .client-card img{height:90px}}
@media(prefers-reduced-motion:reduce){.clients-marquee{overflow:visible;mask-image:none}.clients-track{animation:none;width:100%;will-change:auto}.home-sections .clients-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;flex:1;gap:15px}.home-sections .clients-copy{display:none}.home-sections .client-card{width:auto;min-width:0;height:125px;flex:auto}}
@media(prefers-reduced-motion:reduce) and (max-width:1000px){.home-sections .clients-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.home-sections .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-sections .client-card{height:115px}}
