/* Only the owned homepage hub, including its native editor canvas. */
.ninja-home-hub{--container:1235px;--gutter:24px;--font-display:Poppins,Arial,sans-serif;--font-body:Nunito,Arial,sans-serif;--color-ink:#333;--color-gold:#d19333;--color-red:#bf1e2d;--color-cream:#fff6e9;--color-focus:#bf1e2d;font:400 17px/1.65 var(--font-body);color:var(--color-ink);width:100%;margin:0}
.ninja-home-hub *,.ninja-home-hub *::before,.ninja-home-hub *::after{box-sizing:border-box}
.ninja-home-hub>.wp-block-group__inner-container,.ninja-home-hub .wp-block-group>.wp-block-group__inner-container{display:contents}
.ninja-home-hub>.wp-block-group{margin-block:0}
.ninja-home-hub a:focus-visible,.ninja-home-hub button:focus-visible,.ninja-home-hub input:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.ninja-home-hub .button,.ninja-home-hub .ninja-cta-banner__button{border-radius:30px;font:600 16px/1.3 var(--font-display)}
.ninja-home-hub .ninja-hero-block__eyebrow,.ninja-home-hub .ninja-info-block__eyebrow,.ninja-home-hub .ninja-audience-routes__eyebrow,.ninja-home-hub .ninja-audience-routes-editor__eyebrow,.ninja-home-hub .ninja-location-finder__eyebrow,.ninja-home-hub .ninja-cta-banner__eyebrow{font:400 14px/1.4 var(--font-display);letter-spacing:.16em;color:var(--color-gold);text-transform:uppercase;margin:0 0 12px}
.ninja-home-hero .ninja-hero-block,.ninja-home-hero .ninja-hero-block__grid,.ninja-home-hero .ninja-hero-block__art{min-height:540px}
.ninja-home-hero .ninja-hero-block__grid{left:0;width:min(calc(100% - 48px),1235px);grid-template-columns:48% 52%}
.ninja-home-hero .ninja-hero-block__copy{max-width:550px;padding:52px 0 46px;align-self:center}
.ninja-home-hero .ninja-hero-block__title{font:400 clamp(44px,4.45vw,64px)/1.12 var(--font-display);letter-spacing:-.045em;max-width:540px}
.ninja-home-hero .ninja-hero-block__intro{max-width:475px;margin-top:25px;font:400 18px/1.6 var(--font-body)}
.ninja-home-hero .ninja-hero-block__body{margin-top:14px;font:400 15px/1.5 var(--font-body)}
.ninja-home-hero .ninja-hero-block__cta{margin-top:26px}
.ninja-home-hero .ninja-hero-block__story{top:0;right:-265px;width:1020px;height:637px}
.ninja-home-hero .ninja-hero-block__foreground{right:-35px;width:365px;height:525px;object-fit:contain;object-position:center bottom}
.ninja-home-hero .ninja-hero-block__decoration{top:170px;left:18px;width:76px}
.ninja-home-hero .ninja-hero-block__video-play{right:12px;bottom:35px;width:64px;height:64px;border-radius:50%}
.ninja-home-hero .ninja-hero-block__dot--red{top:35px;left:46%}
.ninja-home-hero .ninja-hero-block__dot--green{bottom:35px;right:53%}
.ninja-home-routes{scroll-margin-top:100px}
.ninja-home-routes .ninja-audience-routes,.ninja-home-routes .ninja-audience-routes-editor{padding:48px 0 55px;border:0;border-radius:0;background:#fff}
.ninja-home-routes .ninja-audience-routes__inner,.ninja-home-routes .ninja-audience-routes-editor{width:min(calc(100% - 48px),1235px);margin:auto}
.ninja-home-routes .ninja-audience-routes__heading,.ninja-home-routes .ninja-audience-routes-editor__heading{max-width:none;text-align:center;margin:0 0 30px}
.ninja-home-routes .ninja-audience-routes__heading h2,.ninja-home-routes .ninja-audience-routes-editor__title{font:400 clamp(28px,3vw,40px)/1.2 var(--font-display);letter-spacing:-.035em;margin:0}
.ninja-home-routes .ninja-audience-routes__intro:empty,.ninja-home-routes .ninja-audience-routes-editor__intro:empty{display:none}
.ninja-home-routes .ninja-audience-routes__grid,.ninja-home-routes .ninja-audience-routes-editor__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ninja-home-routes .ninja-audience-route-card,.ninja-home-routes .ninja-audience-routes-editor__card{min-height:350px;grid-column:auto;padding:30px 28px;align-items:center;text-align:center;background:var(--color-cream);border:0;border-radius:30px;box-shadow:none}
.ninja-home-routes .ninja-audience-route-card__icon,.ninja-home-routes .ninja-audience-routes-editor__icon{width:132px;height:132px;padding:0;margin:0 0 18px;background:transparent;box-shadow:none;border-radius:0}
.ninja-home-routes .ninja-audience-route-card h3,.ninja-home-routes .ninja-audience-routes-editor__card h3{font:600 24px/1.25 var(--font-display);margin:0 0 14px}
.ninja-home-routes .ninja-audience-route-card__text,.ninja-home-routes .ninja-audience-routes-editor__card p{font:400 17px/1.55 var(--font-body);color:#333;margin:0 0 24px;max-width:280px}
.ninja-home-routes .ninja-audience-route-card>a,.ninja-home-routes .ninja-audience-routes-editor__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 23px;margin-top:auto;background:var(--color-red);color:#fff;text-decoration:none;border:0;border-radius:30px;font:600 15px/1.3 var(--font-display)}
.ninja-home-routes .ninja-audience-route-card>a:hover{background:#9d1724}
.ninja-home-method .ninja-info-block{padding:36px 0 54px;background:#fff}
.ninja-home-method .ninja-info-block__inner{width:min(calc(100% - 48px),1235px);min-height:460px;gap:44px}
.ninja-home-method .ninja-info-block__title{font:400 clamp(34px,3.5vw,48px)/1.16 var(--font-display);letter-spacing:-.04em}
.ninja-home-method .ninja-info-block__intro,.ninja-home-method .ninja-info-block__points li{font:400 17px/1.65 var(--font-body)}
.ninja-home-method .ninja-info-block__visual{min-height:0}
.ninja-home-method .ninja-info-block__image{max-height:465px;object-fit:contain}
.ninja-home-parents{width:min(calc(100% - 48px),1235px);margin:0 auto!important;background:var(--color-cream);border:0;border-radius:30px;overflow:hidden;scroll-margin-top:100px}
.ninja-home-parents .ninja-location-finder{padding:40px 38px 12px;background:transparent}
.ninja-home-parents .ninja-location-finder__inner{width:100%}
.ninja-home-parents .ninja-location-finder__main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px}
.ninja-home-parents .ninja-location-finder__copy{position:static}
.ninja-home-parents .ninja-location-finder h2{max-width:16ch;font:400 clamp(30px,3vw,40px)/1.18 var(--font-display);letter-spacing:-.04em}
.ninja-home-parents .ninja-location-finder__intro{margin-top:16px;font:400 17px/1.6 var(--font-body)}
.ninja-home-parents .ninja-location-finder__form{margin-top:22px}
.ninja-home-parents .ninja-location-finder__form>label{font:600 14px/1.4 var(--font-body);margin-bottom:8px}
.ninja-home-parents .ninja-location-finder__form-row{gap:8px}
.ninja-home-parents .ninja-location-finder__form input{border-radius:30px;border-color:#bbb5ad;background:#fff;font:400 15px/1.5 var(--font-body)}
.ninja-home-parents .ninja-location-finder__form .button{font-size:14px;padding-inline:19px;min-height:50px}
.ninja-home-parents .ninja-location-finder__results-heading{gap:12px;margin:0 0 16px;flex-wrap:wrap}
.ninja-home-parents .ninja-location-finder__results-heading h3{font:600 18px/1.3 var(--font-display)}
.ninja-home-parents .ninja-location-finder__results-heading p{font:400 13px/1.4 var(--font-body)}
.ninja-home-parents .ninja-location-finder__grid{gap:14px}
.ninja-home-parents .ninja-location-finder__location,.ninja-home-parents .ninja-location-finder__more{min-height:90px;padding:16px 18px;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;border:0;border-radius:30px;background:#fff;box-shadow:none}
.ninja-home-parents .ninja-location-finder__icon,.ninja-home-parents .ninja-location-finder__more-icon{width:22px;height:26px;background:transparent;border-radius:0}
.ninja-home-parents .ninja-location-finder__icon img{width:20px;height:22px}
.ninja-home-parents .ninja-location-finder__location-copy strong,.ninja-home-parents .ninja-location-finder__more strong{font:600 15px/1.3 var(--font-display)}
.ninja-home-parents .ninja-location-finder__location-copy>span{font-size:12px}
.ninja-home-party{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:22px;align-items:center;margin:10px 38px 0!important;padding:22px 0 30px;border-top:1px solid #e8decd}
.ninja-home-party figure{margin:0;width:48px}
.ninja-home-party img{display:block;width:48px;height:55px;object-fit:contain}
.ninja-home-party__copy h3{font:600 20px/1.35 var(--font-display);margin:0 0 7px}
.ninja-home-party__copy p{font:400 16px/1.5 var(--font-body);margin:0}
.ninja-home-party__link{font:600 15px/1.4 var(--font-display);margin:0}
.ninja-home-party__link a{color:var(--color-red);text-underline-offset:4px}
.ninja-home-contact{padding:38px 0 44px}
.ninja-home-contact .ninja-cta-banner{width:min(calc(100% - 48px),1235px);max-width:none;margin:0 auto;padding:36px 42px;min-height:210px;border:0;border-radius:30px}
.ninja-home-contact .ninja-cta-banner__content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 30px;max-width:none;width:100%;padding:0;align-items:center}
.ninja-home-contact .ninja-cta-banner__eyebrow,.ninja-home-contact .ninja-cta-banner__text{grid-column:1}
.ninja-home-contact .ninja-cta-banner__title{grid-column:1;font:400 clamp(28px,3vw,40px)/1.2 var(--font-display);letter-spacing:-.04em;margin:0 0 12px}
.ninja-home-contact .ninja-cta-banner__text{font:400 16px/1.6 var(--font-body);margin:0;max-width:650px}
.ninja-home-contact .ninja-cta-banner__action{grid-column:2;grid-row:1/4;margin:0}
.ninja-home-contact .ninja-cta-banner__button{background:var(--color-red);color:#fff;min-height:50px}
.ninja-home-contact .ninja-cta-banner__dots{opacity:.75}
@media(max-width:1100px){
.ninja-home-hero .ninja-hero-block__story{right:-260px;width:900px;height:563px}
.ninja-home-hero .ninja-hero-block__foreground{right:-24px;width:325px;height:500px}
.ninja-home-hero .ninja-hero-block__decoration{width:60px;left:5px}
.ninja-home-routes .ninja-audience-route-card,.ninja-home-routes .ninja-audience-routes-editor__card{padding:26px 20px}
.ninja-home-routes .ninja-audience-route-card h3{font-size:21px}
.ninja-home-routes .ninja-audience-route-card>a{padding-inline:16px;font-size:14px}
.ninja-home-parents .ninja-location-finder{padding:30px 28px 10px}
.ninja-home-parents .ninja-location-finder__main{gap:26px}
.ninja-home-parents .ninja-location-finder__grid{grid-template-columns:1fr}
.ninja-home-parents .ninja-location-finder__location,.ninja-home-parents .ninja-location-finder__more{min-height:72px}
.ninja-home-party{margin-inline:28px!important;grid-template-columns:48px 1fr}
.ninja-home-party__link{grid-column:2}
}
@media(max-width:800px){
.ninja-home-hero .ninja-hero-block,.ninja-home-hero .ninja-hero-block__grid{min-height:0}
.ninja-home-hero .ninja-hero-block__grid{width:100%;grid-template-columns:1fr}
.ninja-home-hero .ninja-hero-block__copy{width:min(calc(100% - 48px),602px);max-width:none;margin:auto;padding:42px 0 20px}
.ninja-home-hero .ninja-hero-block__title{font-size:48px;max-width:550px}
.ninja-home-hero .ninja-hero-block__intro{max-width:550px}
.ninja-home-hero .ninja-hero-block__art{min-height:330px;width:min(100%,650px);margin:auto}
.ninja-home-hero .ninja-hero-block__story{top:0;right:-120px;left:auto;width:720px;height:450px}
.ninja-home-hero .ninja-hero-block__foreground{width:225px;height:330px;right:10%}
.ninja-home-hero .ninja-hero-block__decoration{top:65px;left:12%;width:60px}
.ninja-home-hero .ninja-hero-block__video-play{right:12%;bottom:24px}
.ninja-home-hero .ninja-hero-block__dot--red{top:30px;left:auto;right:10%}
.ninja-home-hero .ninja-hero-block__dot--green{bottom:44px;left:12%;right:auto}
.ninja-home-routes .ninja-audience-route-card,.ninja-home-routes .ninja-audience-routes-editor__card{min-height:0;padding:30px}
.ninja-home-routes .ninja-audience-route-card__text{max-width:400px}
.ninja-home-method .ninja-info-block__inner{width:min(calc(100% - 48px),602px);min-height:0;gap:24px}
.ninja-home-method .ninja-info-block{padding:10px 0 42px}
.ninja-home-method .ninja-info-block__image{max-height:360px}
.ninja-home-parents{width:min(calc(100% - 48px),650px)}
.ninja-home-parents .ninja-location-finder__main{grid-template-columns:1fr;gap:24px}
.ninja-home-parents .ninja-location-finder__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ninja-home-contact .ninja-cta-banner__content{grid-template-columns:1fr;gap:0}
.ninja-home-contact .ninja-cta-banner__action{grid-column:1;grid-row:auto;margin-top:24px}
.ninja-home-contact .ninja-cta-banner{padding:32px;min-height:0}
}
@media(max-width:560px){
.ninja-home-hub .ninja-hero-block__eyebrow,.ninja-home-hub .ninja-info-block__eyebrow,.ninja-home-hub .ninja-audience-routes__eyebrow,.ninja-home-hub .ninja-location-finder__eyebrow,.ninja-home-hub .ninja-cta-banner__eyebrow{font-size:12px}
.ninja-home-hero .ninja-hero-block__copy{width:calc(100% - 40px);padding-top:36px}
.ninja-home-hero .ninja-hero-block__title{font-size:40px}
.ninja-home-hero .ninja-hero-block__intro{font-size:17px;margin-top:22px}
.ninja-home-hero .ninja-hero-block__art{min-height:300px}
.ninja-home-hero .ninja-hero-block__story{width:600px;height:375px;right:-150px;top:0}
.ninja-home-hero .ninja-hero-block__foreground{height:300px;width:205px;right:0}
.ninja-home-hero .ninja-hero-block__video-play{width:56px;height:56px;right:16px}
.ninja-home-routes .ninja-audience-routes__inner,.ninja-home-routes .ninja-audience-routes-editor{width:calc(100% - 40px)}
.ninja-home-routes .ninja-audience-routes{padding:36px 0}
.ninja-home-routes .ninja-audience-route-card h3{font-size:23px}
.ninja-home-method .ninja-info-block__inner{width:calc(100% - 40px)}
.ninja-home-method .ninja-info-block__title{font-size:34px}
.ninja-home-parents{width:calc(100% - 32px)}
.ninja-home-parents .ninja-location-finder{padding:28px 20px 8px}
.ninja-home-parents .ninja-location-finder__grid{grid-template-columns:1fr}
.ninja-home-parents .ninja-location-finder h2{font-size:30px}
.ninja-home-parents .ninja-location-finder__form-row{flex-direction:column}
.ninja-home-parents .ninja-location-finder__form input{width:100%;min-height:50px}
.ninja-home-parents .ninja-location-finder__form .button{align-self:flex-start}
.ninja-home-party{margin-inline:20px!important;padding-top:22px;gap:14px}
.ninja-home-party__copy h3{font-size:19px}
.ninja-home-party__copy p{font-size:15px}
.ninja-home-contact .ninja-cta-banner{width:calc(100% - 32px);padding:30px 24px}
.ninja-home-contact .ninja-cta-banner__title{font-size:30px}
}

/* Keep the Info composition in normal flow so its lazy image reserves real space. */
.ninja-home-method .ninja-info-block__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;align-items:center}
.ninja-home-method .ninja-info-block__copy{padding:0;width:100%;max-width:none;margin:0;grid-column:2;grid-row:1}
.ninja-home-method .ninja-info-block__title{max-width:none}
.ninja-home-method .ninja-info-block__visual{width:100%;height:auto;min-height:0;margin:0;padding:0;display:block;overflow:visible;grid-column:1;grid-row:1}
.ninja-home-method .ninja-info-block__image{position:static;inset:auto;transform:none;width:125%;height:auto;max-height:none;max-width:none;margin-left:-25%;object-fit:contain}
.ninja-home-contact .ninja-cta-banner__title{max-width:none}
.ninja-home-contact .ninja-cta-banner__text p{margin:0}
@media(max-width:800px){
.ninja-home-method .ninja-info-block__inner{grid-template-columns:1fr}
.ninja-home-method .ninja-info-block__copy{grid-column:1;grid-row:1}
.ninja-home-method .ninja-info-block__visual{grid-column:1;grid-row:2;width:100%}
.ninja-home-method .ninja-info-block__image{width:115%;margin-left:-15%;max-height:420px;object-fit:contain}
}

@media(max-width:650px){
.ninja-home-routes .ninja-audience-routes__grid,.ninja-home-routes .ninja-audience-routes-editor__grid{grid-template-columns:1fr}
}
@media(max-width:560px){
.ninja-home-routes .ninja-audience-route-card,.ninja-home-routes .ninja-audience-routes-editor__card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px 16px;align-items:start;text-align:left;padding:24px}
.ninja-home-routes .ninja-audience-route-card__icon,.ninja-home-routes .ninja-audience-routes-editor__icon{grid-column:1;grid-row:1/3;width:88px;height:88px;margin:0}
.ninja-home-routes .ninja-audience-route-card h3,.ninja-home-routes .ninja-audience-routes-editor__card h3{grid-column:2;font-size:22px;margin:0}
.ninja-home-routes .ninja-audience-route-card__text,.ninja-home-routes .ninja-audience-routes-editor__card p{grid-column:2;font-size:16px;margin:0}
.ninja-home-routes .ninja-audience-route-card>a,.ninja-home-routes .ninja-audience-routes-editor__link{grid-column:2;margin:3px 0 0;justify-self:start;padding-inline:17px;font-size:13px}
}

/* Native button roles also inside the existing production theme. */
.ninja-home-hub a.button,.ninja-home-hub button.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 28px;border-radius:30px;text-decoration:none;line-height:1.3;box-sizing:border-box}
.ninja-home-hub .button.button--primary{background:#bf1e2d;color:#fff;border:0}
.ninja-home-hub .button.button--primary:hover{background:#9d1724;color:#fff}
.ninja-home-hub .button.button--secondary{background:#fff;color:#bf1e2d;border:1px solid #bf1e2d}
.ninja-home-hub .button.button--secondary:hover{background:#fff6e9;color:#bf1e2d}
.ninja-home-hub button.ninja-hero-block__video-play{border:2px solid #fff;background:#bf1e2d;color:#fff}
.ninja-home-hub .ninja-location-finder__form input[type="search"]{box-sizing:border-box;max-width:100%;border:1px solid #bbb5ad;min-height:50px}
.ninja-home-hub .ninja-location-finder__more{color:#333;letter-spacing:normal;text-transform:none;box-sizing:border-box}
.ninja-home-hub .ninja-location-finder__more strong{color:#333}
.ninja-home-hub .ninja-location-finder__more-icon{color:#bf1e2d}
.ninja-home-hub .ninja-home-party__link a{color:#bf1e2d}
