/* Hello Platform v19 — visual unification, curved photo heroes and lightweight imagery */
:root{--v19-ink:#071c46;--v19-blue:#087df1;--v19-purple:#7437df;--v19-pink:#ef3b87;--v19-orange:#ff9823;--v19-green:#16a36e;--v19-shadow:0 18px 54px rgba(7,31,72,.12)}

/* Home CTA: exact supplied artwork, clear and readable */
.hp-home .hp-cta{height:270px!important;background-image:var(--cta)!important;background-size:cover!important;background-position:center center!important;isolation:isolate}
.hp-home .hp-cta-overlay{background:linear-gradient(90deg,rgba(23,18,80,.62) 0%,rgba(83,33,160,.50) 33%,rgba(90,28,156,.46) 58%,rgba(113,40,112,.30) 100%)!important;mix-blend-mode:normal!important}
.hp-home .hp-cta:after{background:linear-gradient(180deg,rgba(2,14,42,.06),rgba(2,14,42,.28))!important}
.hp-home .hp-cta-copy{width:min(760px,68%);text-shadow:0 2px 16px rgba(0,0,0,.35)}
.hp-home .hp-cta h2{font-size:clamp(2rem,3.1vw,3rem)!important}.hp-home .hp-cta p{font-size:16px!important;line-height:1.6}.hp-home .hp-cta-primary,.hp-home .hp-cta-secondary{font-size:15px!important;padding:12px 22px!important}

/* Standard readable typography, including footer */
.hp-footer p,.hp-footer a,.hp-footer input,.hp-footer button{font-size:15px!important;line-height:1.65}.hp-footer h3{font-size:17px!important}.hp-footer-bottom{font-size:14px!important}.hp-footer-brand p{max-width:330px}
.hp-public-inner p,.hp-public-inner li,.hp-public-inner label,.hp-public-inner input,.hp-public-inner select,.hp-public-inner textarea,.hp-public-inner button,.hp-public-inner a{font-size:16px}.hp-public-inner small{font-size:14px}

/* Full-width cinematic inner heroes */
.hp-public-inner .inner-hero,.hp-public-inner .platform-directory-head,.hp-public-inner .app-hero,.hp-public-inner .platform-detail-hero,.hp-public-inner .event-detail-hero,.hp-public-inner .mini-site-cover{position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(90deg,rgba(4,17,48,.93) 0%,rgba(7,38,91,.82) 37%,rgba(48,31,115,.49) 62%,rgba(10,45,93,.20) 100%),var(--hp-inner-visual)!important;background-size:cover!important;background-position:center!important;color:#fff!important;box-shadow:0 20px 65px rgba(8,31,72,.16);border-radius:0 0 48% 9% / 0 0 10% 5%}
.hp-public-inner .platform-directory-head{width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;min-height:500px!important;padding:86px max(6vw,46px) 112px!important}
.hp-public-inner .app-page>.app-hero,.hp-public-inner .platform-detail>.platform-detail-hero,.hp-public-inner .app-page>.event-detail-hero,.hp-public-inner .platform-detail>.mini-site-cover{width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;min-height:480px!important;padding:82px max(6vw,46px) 108px!important}
.hp-public-inner .inner-hero{min-height:560px!important;padding:86px max(6vw,46px) 118px!important;border-radius:0;display:grid!important;grid-template-columns:minmax(0,1.22fr) minmax(280px,.58fr)!important}
.hp-public-inner .inner-hero-copy,.hp-public-inner .platform-directory-head>div,.hp-public-inner .app-hero>*:not(.v19-hero-wave),.hp-public-inner .platform-detail-hero>*:not(.v19-hero-wave),.hp-public-inner .event-detail-copy,.hp-public-inner .mini-site-cover-copy{position:relative;z-index:4}
.hp-public-inner .inner-hero h1,.hp-public-inner .platform-directory-head h1,.hp-public-inner .app-hero h1,.hp-public-inner .platform-detail-hero h1,.hp-public-inner .event-detail-hero h1,.hp-public-inner .mini-site-cover h1{color:#fff!important;font-size:clamp(2.75rem,5vw,5.25rem)!important;line-height:.98!important;letter-spacing:-.045em!important;text-shadow:0 3px 24px rgba(0,0,0,.23)}
.hp-public-inner .inner-hero p,.hp-public-inner .platform-directory-head p,.hp-public-inner .app-hero p,.hp-public-inner .platform-detail-hero p,.hp-public-inner .event-detail-hero p,.hp-public-inner .mini-site-cover p{color:rgba(255,255,255,.94)!important;font-size:clamp(1.06rem,1.25vw,1.24rem)!important;line-height:1.75!important;max-width:760px}
.hp-public-inner .breadcrumbs,.hp-public-inner .breadcrumbs a,.hp-public-inner .eyebrow.eyebrow-light{color:rgba(255,255,255,.90)!important}

/* Real photo layer for render-page service heroes */
.v19-curvy-hero .v19-hero-photo{position:absolute;inset:0;z-index:-3}.v19-curvy-hero .v19-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.05) contrast(1.02)}
.v19-curvy-hero .v19-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,16,47,.96) 0%,rgba(7,39,90,.86) 36%,rgba(73,38,145,.52) 63%,rgba(9,37,81,.16) 100%)}
.v19-hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:96px;z-index:6;pointer-events:none}.v19-curvy-hero{border-radius:0!important}.v19-curvy-hero::after{display:none!important}

/* Curved white sweep for non-render-page heroes */
.hp-public-inner .platform-directory-head::after,.hp-public-inner .app-hero::after,.hp-public-inner .platform-detail-hero::after,.hp-public-inner .event-detail-hero::after,.hp-public-inner .mini-site-cover::after{content:""!important;display:block!important;position:absolute!important;left:-4%!important;right:-4%!important;bottom:-56px!important;height:112px!important;background:#fff!important;border-radius:50% 50% 0 0 / 100% 100% 0 0!important;z-index:5!important;opacity:1!important;letter-spacing:0!important;animation:none!important}

/* Playful animated educational doodles */
.v19-doodle{position:absolute;z-index:3;width:54px;height:54px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.66);border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:0 12px 32px rgba(0,0,0,.14);animation:v19Float 5.2s ease-in-out infinite;pointer-events:none}.v19-doodle svg{width:28px;height:28px}.v19-doodle-1{top:15%;right:35%;color:#ffd122;transform:rotate(-8deg)}.v19-doodle-2{top:30%;right:13%;color:#ff88c8;animation-delay:-1.7s}.v19-doodle-3{bottom:24%;right:26%;color:#63efff;animation-delay:-3.1s}.hp-public-inner .hp-doodle{opacity:.96}.hp-public-inner .hp-doodle.d1{color:#ffd122}.hp-public-inner .hp-doodle.d2{color:#58ecff}.hp-public-inner .hp-doodle.d3{color:#ff7cc1}
@keyframes v19Float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -12px;rotate:4deg}}

/* Beautiful inner page content blocks */
.hp-public-inner .content-section{padding-top:78px;padding-bottom:78px}.hp-public-inner .section-heading{max-width:820px;margin-left:auto;margin-right:auto}.hp-public-inner .section-heading h2{font-size:clamp(2rem,3.2vw,3.2rem)!important}.hp-public-inner .section-heading p{font-size:17px;line-height:1.75;color:#61708a}
.hp-public-inner .feature-card-grid,.hp-public-inner .platform-card-grid,.hp-public-inner .listing-grid{gap:26px!important}.hp-public-inner .feature-card,.hp-public-inner .platform-card,.hp-public-inner .listing-card,.hp-public-inner .process-card,.hp-public-inner .contact-card{border-radius:25px!important;border-color:#e3ebf5!important;box-shadow:0 12px 38px rgba(9,35,77,.075)!important;background:#fff!important;transform:translateY(14px);opacity:.01}.hp-public-inner .v19-in{transform:none!important;opacity:1!important;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease!important}.hp-public-inner .feature-card:hover,.hp-public-inner .platform-card:hover,.hp-public-inner .listing-card:hover,.hp-public-inner .process-card:hover,.hp-public-inner .contact-card:hover{transform:translateY(-8px)!important;box-shadow:0 26px 60px rgba(8,37,83,.14)!important}
.hp-public-inner .feature-card-media{aspect-ratio:16/9;overflow:hidden;background:#eaf2ff}.hp-public-inner .feature-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1);filter:saturate(1.03) contrast(1.01)}.hp-public-inner .feature-card:hover .feature-card-media img{transform:scale(1.055)}
.hp-public-inner .feature-card-link{padding:24px 26px 28px!important}.hp-public-inner .feature-card-link .card-icon{margin-top:-50px;position:relative;z-index:2;background:#fff;box-shadow:0 10px 24px rgba(8,38,84,.16);border:5px solid #fff}.hp-public-inner .feature-card h3,.hp-public-inner .platform-card h2,.hp-public-inner .listing-card h3{font-size:1.34rem!important}.hp-public-inner .feature-card p,.hp-public-inner .platform-card p,.hp-public-inner .listing-card p{font-size:16px!important;line-height:1.72!important}
.hp-public-inner .split-feature{gap:48px!important;align-items:center}.hp-public-inner .split-media{border-radius:30px!important;overflow:hidden;box-shadow:0 24px 60px rgba(8,38,84,.14);min-height:420px}.hp-public-inner .split-media img{min-height:420px;object-fit:cover}.hp-public-inner .split-copy h2{font-size:clamp(2.15rem,3.4vw,3.35rem)!important}.hp-public-inner .split-copy p{font-size:17px!important;line-height:1.78!important}

/* Directory cards: clean generated photography and stronger visual hierarchy */
.hp-public-inner .platform-card-media{aspect-ratio:16/9!important}.hp-public-inner .platform-card-media img{object-fit:cover!important;filter:saturate(1.03) contrast(1.015)}.hp-public-inner .platform-card-body{padding:24px 24px 28px!important}.hp-public-inner .platform-tags span{font-size:12px!important;font-weight:800}.hp-public-inner .text-link{font-weight:800;color:#087df1}
.hp-public-inner .platform-toolbar,.hp-public-inner .directory-search,.hp-public-inner .filter-toolbar{border-radius:22px!important;padding:16px!important;box-shadow:0 18px 50px rgba(8,35,78,.14)!important}

/* Detail pages */
.hp-public-inner .platform-detail-content,.hp-public-inner .app-shell{gap:30px!important}.hp-public-inner .platform-detail-article,.hp-public-inner .platform-detail-side,.hp-public-inner .app-card,.hp-public-inner .app-side-note{border-radius:26px!important;box-shadow:0 15px 42px rgba(10,38,80,.08)!important;border-color:#e3ebf5!important}.hp-public-inner .content-media,.hp-public-inner .detail-hero-image,.hp-public-inner .resource-preview-image{border-radius:24px!important;overflow:hidden}.hp-public-inner .content-media img,.hp-public-inner .detail-hero-image,.hp-public-inner .resource-preview-image{width:100%;height:auto;object-fit:cover}

/* Closing CTA reuses the exact supplied brighter-future artwork */
.hp-public-inner .page-closing-cta{background-image:linear-gradient(90deg,rgba(41,24,123,.78),rgba(94,36,163,.63) 52%,rgba(178,82,37,.34)),url('../images/v19/cta-brighter.webp')!important;background-position:center!important;background-size:cover!important;min-height:300px!important;display:flex;align-items:center;justify-content:space-between;gap:34px;padding:58px 62px!important;border-radius:30px!important}.hp-public-inner .page-closing-cta>div:first-child{max-width:700px}.hp-public-inner .page-closing-cta h2{font-size:clamp(2.2rem,4vw,3.75rem)!important}.hp-public-inner .page-closing-cta p{font-size:17px!important;max-width:650px}

/* Lightweight rendering below the fold */
.hp-public-inner .content-section,.hp-public-inner .platform-card-grid,.hp-public-inner .listing-grid{content-visibility:auto;contain-intrinsic-size:700px}.hp-public-inner img{image-rendering:auto}

@media(max-width:1000px){.hp-public-inner .inner-hero{grid-template-columns:1fr!important;min-height:510px!important}.hp-public-inner .inner-hero-ads{display:none}.v19-doodle-1{right:22%}.v19-doodle-2{right:7%}.v19-doodle-3{right:15%}.hp-public-inner .page-closing-cta{display:block}.hp-public-inner .closing-actions{margin-top:22px}}
@media(max-width:680px){.hp-home .hp-cta{height:300px!important;background-position:center center!important}.hp-home .hp-cta-copy{max-width:90%!important;width:90%!important}.hp-home .hp-cta p{font-size:15px!important}.hp-public-inner .inner-hero,.hp-public-inner .platform-directory-head,.hp-public-inner .app-hero,.hp-public-inner .platform-detail-hero,.hp-public-inner .event-detail-hero,.hp-public-inner .mini-site-cover{min-height:420px!important;padding:58px 22px 88px!important;border-radius:0 0 44% 7%/0 0 7% 3%!important}.hp-public-inner .inner-hero h1,.hp-public-inner .platform-directory-head h1,.hp-public-inner .app-hero h1,.hp-public-inner .platform-detail-hero h1,.hp-public-inner .event-detail-hero h1,.hp-public-inner .mini-site-cover h1{font-size:clamp(2.45rem,12vw,3.6rem)!important}.v19-doodle{display:none}.hp-public-inner .content-section{padding:58px 18px}.hp-public-inner .split-feature{gap:26px!important}.hp-public-inner .split-media,.hp-public-inner .split-media img{min-height:280px}.hp-public-inner .page-closing-cta{margin:15px 14px 56px!important;padding:38px 24px!important;min-height:350px!important;background-position:center!important}.hp-public-inner .page-closing-cta h2{font-size:2.4rem!important}}
@media(prefers-reduced-motion:reduce){.v19-doodle{animation:none!important}.hp-public-inner .feature-card,.hp-public-inner .platform-card,.hp-public-inner .listing-card,.hp-public-inner .process-card,.hp-public-inner .contact-card{opacity:1!important;transform:none!important}}
