/* Illustrated service cards with individual, gentle movement. */
.services .section-heading{position:relative}
.service-grid{gap:22px}
.service{border:1px solid transparent;border-radius:24px;padding:30px 28px 34px;overflow:hidden;isolation:isolate;min-width:0;background:#e6eddf;box-shadow:0 5px 0 #263f5003}
.service:nth-child(2){background:#f5e3d5}
.service:nth-child(3){background:#eae3f1}
.service:nth-child(4){background:#f6ebce}
.service:nth-child(5){background:#dfeaf2}
.service.family-service{background:#2b4c61;color:#fffefa;margin:0;padding:30px 28px 26px}
.service:before{content:'';position:absolute;width:140px;height:140px;border:1px solid #ffffff85;border-radius:50%;right:-60px;bottom:-62px;z-index:-1}
.service:after{content:'';position:absolute;width:110px;height:110px;background:#ffffff3b;border-radius:45% 55% 60% 40%;right:-48px;top:-48px;z-index:-1;rotate:-25deg}
.service-icon,.family-service .service-icon{width:82px;height:82px;border-radius:28px 36px 25px 35px;margin-bottom:27px;background:#fffefaad;color:#355266;box-shadow:0 7px 15px #263f5006;transform-origin:50% 75%}
.service .service-icon .icon,.family-service .service-icon .icon{width:42px;height:42px;stroke-width:1.25}
.service:nth-child(2) .service-icon{color:#95674b}
.service:nth-child(3) .service-icon{color:#766489}
.service:nth-child(4) .service-icon{color:#927436}
.service.family-service .service-icon{background:#f6eedb;color:#355266}
.service-number{top:34px;right:27px;font:400 26px/1 var(--serif);color:#263f5066}
.service h3{font-size:25px;line-height:1.2;margin-bottom:17px;letter-spacing:-.025em}
.service p{font-size:14px;line-height:1.85;color:#52636c;max-width:none}
.service.family-service p{color:#e0e9ee}
.family-service .text-link{margin-top:17px;color:#fffefa;font-size:13px}
.family-service .text-link:hover{color:#f4dfa5}
.services .service-bottom{border-top:0;padding-top:21px;margin-top:22px;font-size:15px}
.hero-cutout .photo-halo{background:#d5e5ef}
.photo-note{box-shadow:0 10px 28px #263f5017}
.motion-enabled .service-icon{animation:service-float 5s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .service:nth-child(2n) .service-icon{animation-delay:-1.5s}
.motion-enabled .service:nth-child(3n) .service-icon{animation-delay:-3s}
.motion-enabled .in-view .service-icon{animation-play-state:running}
.motion-enabled .hero-photo{animation:portrait-float 6s ease-in-out infinite;animation-play-state:paused}
.motion-enabled .in-view .hero-photo{animation-play-state:running}
.motion-enabled .hero-cutout .photo-halo{animation:halo-sway 9s ease-in-out infinite alternate;animation-play-state:paused}
.motion-enabled .hero-cutout.in-view .photo-halo{animation-play-state:running}
.motion-enabled .hero-flower,.motion-enabled .play-flower{animation-duration:4.5s}
@keyframes service-float{0%,100%{translate:0 0;rotate:-1.5deg}50%{translate:0 -8px;rotate:2deg}}
@keyframes portrait-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes halo-sway{from{rotate:-3deg;scale:.98}to{rotate:4deg;scale:1.02}}
@media(hover:hover) and (pointer:fine){.motion-enabled .service:hover{translate:0 -9px;box-shadow:0 18px 35px #263f5012;border-color:#ffffffa6}.motion-enabled .service:hover .service-icon{scale:1.08}.motion-enabled .service.family-service:hover{box-shadow:0 18px 35px #263f5024}}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service h3{font-size:24px}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;gap:18px}.service,.service.family-service{padding:26px 25px 29px;margin:0;border-radius:22px}.service-icon,.family-service .service-icon{width:72px;height:72px;margin-bottom:22px}.service .service-icon .icon{width:38px;height:38px}.service h3,.family-service h3{font-size:27px;max-width:300px}.service p{font-size:15px;line-height:1.8}.service-number{right:25px;top:30px;font-size:24px}.family-service .text-link{font-size:14px;gap:12px}.services .service-bottom{font-size:14px;text-align:center;line-height:1.9}.motion-enabled .hero-photo{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){.service-icon,.hero-photo,.photo-halo{animation:none!important;translate:none!important}.service:hover{translate:none!important}}

/* Transparent illustrations retain their original proportions. */
.service .service-art,.family-service .service-art{display:flex;align-items:center;justify-content:center;width:100%;height:200px;margin:0 0 22px;background:none;border-radius:0;box-shadow:none;position:relative}
.service-art img{display:block;width:244px;height:244px;max-width:none;object-fit:contain;position:relative;z-index:1}
.service:nth-child(5) .service-art img{width:270px;height:270px}
.service.family-service .service-art:before{content:'';position:absolute;width:210px;height:190px;background:#fffefa;border-radius:48% 52% 44% 56%;}
.service.family-service .service-art img{width:234px;height:234px}
@media(max-width:600px){.service .service-art,.family-service .service-art{height:185px;margin-bottom:20px}.service-art img{width:232px;height:232px}.service:nth-child(5) .service-art img{width:256px;height:256px}.service.family-service .service-art img{width:224px;height:224px}.service.family-service .service-art:before{width:200px;height:180px}}

.service.family-service .service-art{background:#fff;border-radius:32px 44px 32px 44px}
.service.family-service .service-art:before{display:none}
