/* Oracle practice hero: reusable illustrated platform cards. */
.service-card-hero .service-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:6%;align-items:center;padding:15px 0 100px}
.service-card-hero .service-hero-grid:where([data-compact-section]){padding-top:15px;padding-bottom:calc((100px) * .82)}
.service-card-hero .hero-copy{display:block;min-width:0}
.service-card-hero .hero-copy>h1{margin-bottom:38px;line-height:1.1}
.service-card-hero .hero-copy h1 em{padding-left:0;display:inline-block}
.service-card-hero .hero-description{max-width:550px;margin-bottom:48px!important}
.service-card-hero .hero-assurance{margin-top:46px!important}
.service-card-hero .service-visual{grid-column:auto;grid-row:auto;align-self:center;padding:0;width:100%;max-width:none;min-width:0}
.service-card-hero .service-visual:where([data-compact-section]){padding-top:0;padding-bottom:0}
.oracle-card-scene{position:relative;isolation:isolate;padding:16px 0 30px}
.oracle-card-scene:where([data-compact-section]){padding-top:16px;padding-bottom:30px}
.oracle-card-scene:before{content:'';position:absolute;inset:-6% 1% -6% 0;border-radius:50%;background:radial-gradient(ellipse at 58% 55%,#D8E5FAb0, #f3f7fc80 55%,transparent 72%);z-index:-2}
.oracle-card-scene:after{content:'';position:absolute;inset:0 -25px 0 -40px;background-image:radial-gradient(#D8E5FA 1.2px,transparent 1.4px);background-size:15px 15px;mask-image:linear-gradient(130deg,transparent 30%,#000 32%,transparent 43%,transparent 64%,#000 78%,transparent 90%);opacity:.6;z-index:-1;pointer-events:none}
.oracle-hero-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 23px;position:relative;z-index:1}
.oracle-card-position{min-width:0;position:relative}
.oracle-card-position:nth-child(2){padding-top:30px;transform:rotate(-2deg)}
.oracle-card-position:nth-child(2):where([data-compact-section]){padding-top:30px}
.oracle-card-position:nth-child(3){transform:translateX(17px) rotate(3deg)}
.oracle-card-position:nth-child(4){transform:translate(5px,30px) rotate(-2deg)}
.oracle-hero-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:252px;height:100%;border:1px solid #D8E5FA;border-radius:22px;padding:25px 24px;overflow:hidden;background:linear-gradient(125deg,#fff 25%,#f6f9ff);box-shadow:0 18px 40px #245BC413;transition:box-shadow .3s,border-color .3s}
.oracle-hero-card:where([data-compact-section]){padding-top:25px;padding-bottom:25px}
.oracle-card-position:first-child .oracle-hero-card{border-color:#D51F49;box-shadow:0 20px 42px #A91B4316}
.oracle-hero-card:hover,.oracle-hero-card:focus-visible{border-color:#D51F49;box-shadow:0 25px 48px #245BC426}
.oracle-card-number{font-size:19px;line-height:1;color:#ed2147;position:relative;z-index:2;margin-bottom:25px}
.oracle-card-number:after{content:'';display:block;width:22px;height:1px;background:#D51F49;margin-top:11px}
.oracle-card-copy{position:relative;z-index:2;width:57%}
.service-card-hero .oracle-hero-card h3{font-size:clamp(19px,1.42vw,25px)!important;line-height:1.13;letter-spacing:-.045em;margin-bottom:11px}
.oracle-hero-card p{font-size:16px;line-height:1.35;color:#697c98;max-width:145px}
.oracle-card-art{position:absolute;width:58%;height:auto;aspect-ratio:1;object-fit:contain;right:-5%;top:21%;mix-blend-mode:multiply;pointer-events:none;z-index:1}
.oracle-card-arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#edf3fd;color:#103b9f;font-size:25px;line-height:1;margin-top:22px;position:relative;z-index:2;transition:transform .3s,background .3s}
.oracle-card-position:first-child .oracle-card-arrow{color:#ed2147;background:#fff0f3}
.oracle-hero-card:hover .oracle-card-arrow{transform:translateX(4px);background:#D8E5FA}
.oracle-orbits{position:absolute;inset:-25px -16px -25px 18%;z-index:-1;pointer-events:none}
.oracle-orbit{position:absolute;border:1px dashed #3878DD;border-radius:50%;width:74%;height:86%;transform:rotate(-23deg);left:0;top:0}
.oracle-orbit.orbit-two{left:12%;top:17%;width:90%;height:80%;transform:rotate(35deg)}
.oracle-orbit i{position:absolute;width:11px;height:11px;border-radius:50%;background:#D51F49;box-shadow:0 0 0 8px #D51F4912;left:50%;top:-6px}
.oracle-orbit i+i{background:#245BC4;box-shadow:0 0 0 8px #245BC410;left:auto;right:0;top:62%}
.oracle-orbit.orbit-two i{background:#E6B630;box-shadow:0 0 0 8px #E6B63018;top:auto;bottom:0;left:25%}
.oracle-orbit.orbit-two i+i{background:#245BC4;box-shadow:0 0 0 8px #245BC410;left:auto;right:8%;bottom:auto;top:15%}
@media(min-width:1500px){.service-card-hero .hero-copy h1 em{margin-left:9%}.oracle-hero-card{min-height:270px;padding:29px}.oracle-hero-card:where([data-compact-section]){padding-top:29px;padding-bottom:29px}.oracle-card-copy{width:58%}}
@media(max-width:1200px){.service-card-hero .service-hero-grid{gap:4%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.oracle-hero-cards{gap:18px 16px}.oracle-hero-card{padding:22px 18px;min-height:245px}.oracle-hero-card:where([data-compact-section]){padding-top:22px;padding-bottom:22px}.oracle-card-art{width:53%;right:-4%;top:30%}.oracle-card-copy{width:67%}.oracle-hero-card p{font-size:14px;max-width:115px}.service-card-hero .hero-actions{gap:15px}.service-card-hero .hero-actions .pill{gap:20px}}
@media(max-width:960px){.service-card-hero .service-hero-grid{grid-template-columns:1fr;gap:45px;padding-bottom:75px}.service-card-hero .service-hero-grid:where([data-compact-section]){padding-bottom:calc((75px) * .82)}.service-card-hero .hero-copy{max-width:680px}.service-card-hero .hero-description{margin-bottom:28px!important}.service-card-hero .hero-assurance{margin-top:26px!important}.service-card-hero .service-visual{max-width:740px;margin:0 auto}.oracle-hero-card{min-height:245px;padding:25px}.oracle-hero-card:where([data-compact-section]){padding-top:25px;padding-bottom:25px}.service-card-hero .oracle-hero-card h3{font-size:24px!important}.oracle-hero-card p{font-size:16px;max-width:150px}.oracle-card-copy{width:57%}.oracle-card-art{width:57%;top:20%}}
@media(max-width:540px){.service-card-hero .service-hero-grid{gap:25px}.service-card-hero .hero-copy>h1{margin-bottom:26px}.oracle-hero-cards{gap:15px}.oracle-hero-card{padding:20px;min-height:280px}.oracle-hero-card:where([data-compact-section]){padding-top:20px;padding-bottom:20px}.oracle-card-copy{width:100%}.service-card-hero .oracle-hero-card h3{font-size:20px!important;max-width:150px}.oracle-hero-card p{font-size:14px;max-width:135px}.oracle-card-number{font-size:16px;margin-bottom:16px}.oracle-card-art{width:75%;top:auto;bottom:-2%;right:-10%}.oracle-card-arrow{margin-top:auto;width:32px;height:32px;font-size:21px}.oracle-card-position:nth-child(3){transform:rotate(2deg)}.oracle-card-position:nth-child(4){transform:translateY(18px) rotate(-2deg)}.oracle-card-position:nth-child(2){padding-top:18px}.oracle-card-position:nth-child(2):where([data-compact-section]){padding-top:18px}.oracle-card-scene{padding-bottom:20px}.oracle-card-scene:where([data-compact-section]){padding-bottom:20px}}
@media(max-width:360px){.oracle-hero-cards{grid-template-columns:1fr;gap:16px}.oracle-card-position:nth-child(n){transform:none;padding:0}.oracle-card-position:nth-child(n):where([data-compact-section]){padding-top:0;padding-bottom:0}.oracle-hero-card{min-height:225px}.oracle-card-copy{width:57%}.oracle-card-art{width:54%;top:22%;bottom:auto;right:-3%}.oracle-card-arrow{margin-top:20px}}

/* Keep every illustration inside the shared card, including its shadow. */
.service-card-hero .service-hero-grid{padding-top:0}
.service-card-hero .service-hero-grid:where([data-compact-section]){padding-top:0}
.service-card-hero .oracle-hero-card .oracle-card-art{top:auto;bottom:22px;right:20px;width:46%;max-height:calc(100% - 60px);object-fit:contain}
.service-card-hero .oracle-hero-card .oracle-card-copy{width:calc(54% - 60px)}
.service-card-hero .oracle-card-arrow{position:absolute;left:24px;bottom:24px;margin-top:0}
.service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-copy{width:100%}
.service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-art{width:48%;max-width:140px;bottom:22px;right:22px}
@media(max-width:540px){
 .service-card-hero .oracle-hero-card{min-height:330px;padding-bottom:154px}
 .service-card-hero .oracle-hero-card:where([data-compact-section]){padding-bottom:calc((154px) * .82)}
 .service-card-hero .oracle-hero-card .oracle-card-copy{width:100%}
 .service-card-hero .oracle-hero-card .oracle-card-art{width:65%;max-width:145px;bottom:20px;right:16px}
 .service-card-hero .oracle-card-arrow{left:18px;bottom:22px;z-index:2}
 .service-card-hero.module-detail-hero .oracle-hero-card{min-height:330px;padding-bottom:148px}
 .service-card-hero.module-detail-hero .oracle-hero-card:where([data-compact-section]){padding-bottom:calc((148px) * .82)}
 .service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-art{width:65%;max-width:125px;bottom:20px;right:16px}
}
@media(max-width:360px){.service-card-hero .oracle-hero-card{min-height:270px}.service-card-hero .oracle-hero-card .oracle-card-copy{width:50%}.service-card-hero .oracle-hero-card .oracle-card-art{width:44%;max-width:145px}.service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-copy{width:100%}.service-card-hero.module-detail-hero .oracle-hero-card{min-height:310px}}

/* Module heroes use the same compact rhythm, with source-based supporting copy.
   Grid keeps long headings and illustrations in separate, non-overlapping rows. */
.remaining-page .service-card-hero.module-detail-hero .oracle-hero-card{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
 grid-template-rows:auto auto 1fr;align-items:start;column-gap:14px;row-gap:12px;
 min-height:270px;padding:24px;
}
.remaining-page .service-card-hero.module-detail-hero .oracle-hero-card:where([data-compact-section]){padding-top:24px;padding-bottom:24px}
.remaining-page .module-detail-hero .oracle-card-number{grid-column:1/-1;margin-bottom:4px}
.remaining-page .service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-copy{display:contents}
.remaining-page .service-card-hero.module-detail-hero .oracle-hero-card h3{
 grid-column:1/-1;font-size:clamp(19px,1.42vw,25px)!important;line-height:1.18;margin:0;letter-spacing:-.035em;
}
.remaining-page .module-detail-hero .oracle-hero-card p{
 grid-column:1;grid-row:3;max-width:160px;margin:4px 0 0;font-size:14px;line-height:1.55;color:#536b8a;
}
.remaining-page .service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-art{
 position:relative;grid-column:2;grid-row:3;align-self:center;justify-self:end;
 inset:auto;width:100%;height:auto;max-width:190px;max-height:160px;aspect-ratio:1;object-fit:contain;
}
@media(max-width:1200px) and (min-width:961px){
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card{padding:20px;column-gap:10px;min-height:270px}
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card:where([data-compact-section]){padding-top:20px;padding-bottom:20px}
}
@media(max-width:540px){
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr;min-height:330px;padding:18px;row-gap:12px}
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card:where([data-compact-section]){padding-top:18px;padding-bottom:18px}
 .remaining-page .module-detail-hero .oracle-hero-card p{grid-column:1;grid-row:3;max-width:none;margin:0}
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-art{grid-column:1;grid-row:4;max-width:150px;justify-self:center}
}
@media(max-width:360px){
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;min-height:270px}
 .remaining-page .service-card-hero.module-detail-hero .oracle-hero-card .oracle-card-art{grid-column:2;grid-row:3}
}

/* Shared hero card arrows: compact bottom-right placement. */
body .oracle-hero-card .oracle-card-arrow{position:absolute!important;left:auto!important;right:16px!important;top:auto!important;bottom:14px!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;margin:0!important;font-size:19px!important;line-height:1!important;display:grid!important;place-items:center!important;z-index:3}
@media(max-width:540px){body .oracle-hero-card .oracle-card-arrow{right:12px!important;bottom:12px!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;font-size:18px!important}}
