/* Homepage art direction. Shared templates and editable content remain unchanged. */
.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.home-service-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:420px;padding:40px;background:#f0f2ff;color:#171726;border:1px solid #e2e6fb;transition:background .4s,border-color .4s}
.home-service-card:nth-child(2),.home-service-card:nth-child(3){background:#17152d;color:#fff;border-color:#252441}
.home-service-card:hover{border-color:#6c74ff}
.home-service-icon{display:block;width:44px;height:44px;color:#5267ff;margin-bottom:44px}
.home-service-icon svg{width:44px;height:44px}
.home-service-card .row-num{position:absolute;right:32px;top:32px;font-size:13px;letter-spacing:.12em;opacity:.5}
.home-service-card h3{position:relative;z-index:2;font-size:clamp(30px,3vw,46px);line-height:1.08;letter-spacing:-.04em;text-transform:none;max-width:10ch;margin:0 0 22px}
.home-service-card h3 a{color:inherit;text-decoration:none}
.home-service-card .service-links{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px 16px;max-width:65%;font-size:13px;line-height:1.5}
.home-service-card .service-links a{color:inherit;text-decoration:none;border-bottom:1px solid #9599ba66}
.home-service-card .service-links span{padding:0;border:0;background:none}
.home-service-card .service-description{position:relative;z-index:2;max-width:80%;margin-top:auto;padding-top:32px}
.home-service-card p{font-size:15px;line-height:1.7;opacity:.7;margin:0}
.home-service-card>.arrow{position:absolute;bottom:32px;right:32px;display:grid;place-items:center;background:#3263ff;color:white;width:44px;height:44px;z-index:3;transition:transform .3s}
.home-service-card:hover>.arrow{transform:rotate(45deg)}
.home-service-card>.home-service-art{position:absolute;right:-12px;top:48px;width:46%;height:250px;z-index:0;pointer-events:none;display:grid;place-items:center}
.home-service-art:before{content:"";position:absolute;width:85%;aspect-ratio:1;border:1px solid #8195ff35;border-radius:50%;transform:rotateX(50deg) rotate(-25deg)}
.home-service-art:after{content:"";position:absolute;inset:15%;background:#6574ff;filter:blur(60px);opacity:.14;z-index:-1}
.home-service-art img{width:100%;height:100%;object-fit:contain;transform:rotate(-12deg);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.home-service-card:hover .home-service-art img{transform:translateY(-12px) rotate(8deg) scale(1.07)}
.home-service-card:nth-child(4) .home-service-art img{transform:rotate(160deg)}
.home-service-card:nth-child(4):hover .home-service-art img{transform:rotate(180deg) translateY(12px)}
/* A continuous four-step composition, without an empty side column. */
.home-approach.section-space{background:#17152d;color:#fff;padding:88px 0}
.home-approach>.container{display:block}
.home-approach .eyebrow{color:#9aabff;margin-bottom:24px}
.home-approach .section-heading{margin:0 0 54px;max-width:900px}
.home-approach h2{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-.035em}
.home-approach h2 em{color:#a9a8ff;background:none;-webkit-text-fill-color:currentColor}
.process-list.home-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;border:0}
.process-list.home-process .process-item{position:relative;display:flex;flex-direction:column;gap:0;padding:0 28px;width:auto;min-width:0;border:0;border-left:1px solid #ffffff24;background:none}
.process-list.home-process .process-item:first-child{padding-left:0;border-left:0}
.process-list.home-process .process-item:last-child{padding-right:0}
.process-list.home-process .process-item:before{display:none;content:none}
.process-list.home-process .process-item:not(:last-child):after{content:"";position:absolute;right:22px;top:36px;width:12px;height:12px;border-top:1px solid #899bff;border-right:1px solid #899bff;transform:rotate(45deg)}
.process-list.home-process .process-item>span{font-size:clamp(52px,6vw,84px);font-weight:400;line-height:1;color:#91a4ff;padding:0;margin:0 0 30px;background:none;border:0;letter-spacing:-.06em}
.process-list.home-process h3{margin:0 0 18px;font-size:clamp(23px,2.3vw,32px);font-weight:500;line-height:1.2;text-transform:none;letter-spacing:-.02em;color:#fff}
.process-list.home-process p{margin:0;font-size:16px;line-height:1.7;color:#bec1d5;max-width:none}
.process-list.home-process .process-symbol{display:none}
.home-seo.section-space{padding:72px 0;background:#f7f8fc;border:0}
.home-seo>.container{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);column-gap:80px;row-gap:0}
.home-seo .eyebrow{grid-column:1/-1;font-size:12px;color:#3263ff;letter-spacing:.06em;margin:0 0 20px}
.home-seo .section-heading{grid-column:1/-1;margin:0 0 36px;padding:0;max-width:900px;border:0}
.home-seo h2{font-size:clamp(30px,3.1vw,44px);line-height:1.2;letter-spacing:-.025em;margin:0}
.home-seo .seo-columns{grid-column:1;display:block;margin:0;padding:0;border:0}
.home-seo .seo-columns>div+div{margin-top:24px}
.home-seo h3{font-size:19px;line-height:1.4;margin:0 0 10px;text-transform:none}
.home-seo p{font-size:16px;line-height:1.8;color:#606577;margin:0}
.home-seo .context-links{grid-column:2;align-self:start;display:flex;flex-direction:column;gap:0;padding:0;margin:0;border:0}
.home-seo .context-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-width:0;min-height:58px;box-sizing:border-box;margin:0;padding:18px 0;border:0;border-bottom:1px solid #d9deeb;border-radius:0;box-shadow:none;background:none;color:#252b3d;font-size:16px;line-height:1.4;text-decoration:none;transform:none;transition:color .2s}
.home-seo .context-links a:first-child{border-top:1px solid #d9deeb}
.home-seo .context-links a:hover,.home-seo .context-links a:focus-visible{color:#3263ff;background:none;border-color:#d9deeb}
.home-seo .context-links a::before,.home-seo .context-links a::after{content:none;display:none}
.home-seo .context-links a>span{display:flex;align-items:center;flex:0 0 18px;width:18px;height:18px;padding:0;margin:0;background:none;border:0;box-shadow:none;color:#3263ff}
.home-seo .context-links svg{display:block;width:18px;height:18px}
.home-service-card .home-service-icon{display:none}
.home-service-card{justify-content:center;min-height:370px;padding-top:60px}
.home-service-card>.home-service-art{width:38%;height:220px;top:44px;right:14px}
.home-service-art:before,.home-service-art:after{display:none}
.home-service-art>svg{width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.home-service-card:nth-child(2) .service-links,.home-service-card:nth-child(3) .service-links{color:#c1c6e3}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-service-card:hover .home-service-art>svg{transform:translateY(-8px) rotate(-6deg)}}
@media(max-width:1000px){.home-service-card{padding:40px 26px 28px;min-height:400px}.home-service-card .service-description{max-width:84%;padding-bottom:40px}.home-service-card>.home-service-art{width:36%;right:0;top:56px;height:160px}.process-list.home-process{grid-template-columns:1fr 1fr;gap:36px 0}.process-list.home-process .process-item:nth-child(3){border-left:0;padding-left:0}.process-list.home-process .process-item:nth-child(2):after{display:none}}
@media(max-width:700px){.home-service-grid{grid-template-columns:1fr;gap:16px}.home-service-card{min-height:330px;padding:40px 24px 24px}.home-service-card h3{font-size:30px;max-width:10ch}.home-service-card .service-links{max-width:65%}.home-service-card>.home-service-art{width:35%;height:145px;right:2px;top:64px}.home-service-card .service-description{max-width:82%;padding-top:30px;padding-bottom:0}.home-service-card>.arrow{right:20px;bottom:24px;width:36px;height:36px}.home-approach.section-space{padding:56px 0}.home-approach .section-heading{margin-bottom:36px}.home-approach h2{font-size:36px}.process-list.home-process{grid-template-columns:1fr;gap:24px}.process-list.home-process .process-item{display:grid;grid-template-columns:60px 1fr;gap:10px 18px;border:0;border-top:1px solid #ffffff24;padding:24px 0 0}.process-list.home-process .process-item:first-child{padding-top:24px}.process-list.home-process .process-item>span{grid-row:1/3;font-size:48px;margin:0}.process-list.home-process h3{font-size:26px;margin:0}.process-list.home-process p{grid-column:2;font-size:15px}.process-list.home-process .process-item:after{display:none!important}.home-seo.section-space{padding:44px 0}.home-seo>.container{display:block}.home-seo .seo-columns{display:block;padding:0}.home-seo .section-heading{margin-bottom:28px}.home-seo h2{font-size:30px}.home-seo .context-links{display:flex;gap:0;margin-top:28px}.home-seo .context-links a{font-size:15px;min-height:56px}.home-seo p{font-size:15px}}

@media(prefers-reduced-motion:reduce){.home-service-card,.home-service-art>svg,.home-service-card>.arrow{transition:none}}

/* Shared contour backgrounds: vector detail, restrained motion, clear copy area. */
.home-service-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 100% 45%,#8495ff25,transparent 65%);mask-image:linear-gradient(90deg,transparent 20%,#000 78%);-webkit-mask-image:linear-gradient(90deg,transparent 20%,#000 78%)}
.home-service-background svg{display:block;width:100%;height:100%;opacity:.55;transform-origin:85% 50%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .8s}
.home-service-card:nth-child(2) .home-service-background svg,.home-service-card:nth-child(3) .home-service-background svg{opacity:.4}
.home-service-card .row-num{z-index:2}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-service-card:hover .home-service-background svg{transform:scale(1.04) translate(-6px,-4px);opacity:.75}}
@media(max-width:700px){.home-service-background{mask-image:linear-gradient(90deg,transparent 30%,#000 95%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 95%)}.home-service-background svg{opacity:.4}}
@media(prefers-reduced-motion:reduce){.home-service-background svg{transition:none}}

/* Desktop hero: reduce only the top spacing. */
@media(min-width:1024px){.home-hero.home-hero{padding-top:24px;}}
