:root { --bg-color--bg-primary:#252525; --text-color--text-subtle:#454545; --text-color--text-primary:#252525; --text-color--text-on-primary:#fff; --_typography---font-family--headers:"Sora",sans-serif; }
html,body { margin:0; min-height:0; font-family:"Sora",sans-serif; background:#fff; color:#252525; }
body { overflow:hidden; }
.section_hero { padding:24px; }
.service-one_wrapper { min-height:0; padding:80px 48px 48px; border-radius:40px; background:linear-gradient(135deg,#eef8ff,#cee8fb); color:#252525; }
.services_hero-heading { gap:28px; }
.services_hero-heading h2 { margin:0; font-family:inherit; font-size:clamp(36px,4vw,60px); font-weight:700; line-height:1.1; letter-spacing:-.04em; background:linear-gradient(110deg,#252525 18%,#397b9d 36%,#82c9ee 50%,#397b9d 64%,#252525 82%); background-size:250% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; animation:heading-color 9s ease-in-out infinite alternate; }
.section-intro { max-width:680px; margin:0 auto; font-size:17px; line-height:1.6; letter-spacing:-.02em; }
.button_group { flex-wrap:wrap; gap:14px; }
.button_secondary,.button_component { min-height:54px; font-size:14px; font-weight:600; }
.button_component { background:#252525; color:#fff; }
.button_icon { background:#252525; }
.button_component:not(.is-form):hover,.button_secondary:hover { transform:translateY(-1px); }
.hero_services-grid { width:100%; max-width:1400px; max-height:none; margin-top:48px; grid-template-columns:1fr 1fr 1fr; grid-template-rows:repeat(3,minmax(150px,auto)); gap:18px; }
.services_clients { grid-column:1; grid-row:1; background:#fff; }
.service_hero-img { grid-column:2; grid-row:1 / 4; min-height:590px; }
.services_rate-img { grid-column:3; grid-row:1 / 3; min-height:360px; }
.stats_card { grid-column:1; grid-row:2 / 4; background:#b9ddf8; }
.rate_card { grid-column:3; grid-row:3; background:#fff; }
.services_clients,.stats_card,.rate_card { padding:28px; border-radius:26px; }
.service_hero-img,.services_rate-img { border-radius:26px; }
.hero_services-grid h3 { margin:0 0 12px; font-family:inherit; font-size:clamp(23px,2.2vw,34px); line-height:1.15; font-weight:600; letter-spacing:-.035em; }
.hero_services-grid p { margin:0; font-size:14px; line-height:1.65; }
.hero_services-grid .img { width:100%; height:100%; object-fit:cover; }
.service_hero-img .img { object-position:52% center; }
.services_rate-img .img { position:absolute; inset:0; object-position:center 25%; }
.rate_content { background:rgba(255,255,255,.94); color:#252525; padding:20px; border-radius:18px; }
.rate_content h3 { font-size:26px; margin-bottom:2px; }
.card-link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; color:#252525; font-size:14px; font-weight:600; text-underline-offset:5px; }
.card-link:hover { text-decoration:underline; }
.like_loop-wrapper { margin:30px -28px 0; gap:14px; }
.like_text { background:rgba(255,255,255,.65); border:1px solid rgba(255,255,255,.85); color:#303236; padding:10px 18px; white-space:nowrap; font-size:14px; }
a:focus-visible { outline:3px solid #397b9d; outline-offset:5px; }
@keyframes heading-color { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media(max-width:991px) {
 .service-one_wrapper { padding:60px 28px 28px; }
 .hero_services-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
 .services_clients { grid-column:1; grid-row:1; }
 .service_hero-img { display:block; grid-column:2; grid-row:1 / 3; min-height:500px; }
 .stats_card { grid-column:1; grid-row:2; }
 .services_rate-img { grid-column:1; grid-row:3; min-height:400px; }
 .rate_card { display:flex; flex-direction:column; justify-content:center; grid-column:2; grid-row:3; }
}
@media(max-width:600px) {
 .section_hero { padding:12px; }
 .service-one_wrapper { padding:48px 16px 16px; border-radius:28px; }
 .services_hero-heading { padding:0 4px; }
 .section-intro { font-size:15px; }
 .hero_services-grid { grid-template-columns:1fr; gap:16px; margin-top:32px; }
 .hero_services-grid > * { grid-column:auto; grid-row:auto; }
 .services_clients,.rate_card { display:flex; }
 .services_clients,.stats_card,.rate_card { padding:24px; }
 .service_hero-img { min-height:0; aspect-ratio:4/5; }
 .services_rate-img { padding-top:0; min-height:0; aspect-ratio:4/5; }
 .hero_services-grid h3 { font-size:28px; }
 .button_group { flex-direction:column; width:100%; }
 .button_group a { justify-content:center; }
 .like_loop-wrapper { margin-inline:-24px; }
}
@media(prefers-reduced-motion:reduce) { .services_hero-heading h2 { animation:none; background-position:50% 50%; } }

/* Full-width final section, without an outer frame. */
.section_hero { margin:0; padding:0; background:#fff; }
.service-one_wrapper { margin:0; padding:0; border-radius:0; background:#fff; }
.hero_services-grid { max-width:none; margin-bottom:0; }
.services_hero-heading { padding-inline:18px; }
.services_hero-heading h2 { background:none; color:#252525; -webkit-text-fill-color:currentColor; animation:none; }
.hero_services-grid h3 { color:#252525; }

/* Recompose the embedded service showcase for a phone instead of shrinking its tiles. */
@media(max-width:600px) {
 .service-one_wrapper { padding:34px 20px 24px; }
 .services_hero-heading { padding:0; }
 .services_hero-heading h2 { max-width:12ch; font-size:clamp(32px,9vw,40px); line-height:1.06; }
 .section-intro { max-width:36ch; margin-inline:0; font-size:16px; line-height:1.6; }
 .button_group { align-items:stretch; margin-top:22px; }
 .button_group a { width:100%; min-height:50px; }
 .hero_services-grid { gap:12px; margin-top:26px; }
 .services_clients,.stats_card,.rate_card { padding:20px; border-radius:16px; }
 .hero_services-grid h3 { margin-bottom:8px; font-size:23px; }
 .hero_services-grid p { font-size:15px; line-height:1.55; }
 .service_hero-img,.services_rate-img { border-radius:16px; }
 .service_hero-img { aspect-ratio:4/5; }
 .services_rate-img { aspect-ratio:4/5; }
 .rate_content { padding:14px; border-radius:14px; }
 .rate_content h3 { font-size:21px; }
 .like_loop-wrapper { margin:18px -20px 0; gap:8px; }
 .like_text { padding:8px 12px; font-size:12px; }
 .card-link { margin-top:14px; font-size:13px; }
}
