.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-purple:#4A1B78;--e-global-color-purple_deep:#33104F;--e-global-color-purple_bright:#7A3EB1;--e-global-color-lavender:#C9A7E8;--e-global-color-teal:#12868C;--e-global-color-teal_bright:#19B0B6;--e-global-color-seafoam:#8FD9C8;--e-global-color-gold:#F5A623;--e-global-color-gold_light:#FFCF6B;--e-global-color-forest:#3E8E4E;--e-global-color-leaf:#7CC47F;--e-global-color-coral:#FF7A5C;--e-global-color-sky:#7EC8F5;--e-global-color-cream:#FFF7EC;--e-global-color-cream_deep:#F6E9D6;--e-global-color-ink:#2E1A46;--e-global-typography-primary-font-family:"Baloo 2";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Fredoka";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Fredoka";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:820px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:560px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Kindessa design system, ported from the static mockup (assets/web/site.css).
   Generated by _build/elementor/css_port.py. Edit the mockup first, then regenerate. */
@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-800-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Baloo 2';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/baloo-2-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/fredoka-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-400-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-400-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://gracefrankbooks.com/wp-content/uploads/kindessa/fonts/nunito-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ---------- browser defaults the mockup was designed on ----------
   Hello Elementor's reset.css and Elementor's base CSS load first and change
   a few defaults the mockup relies on. These put them back; the ported
   mockup rules that follow override them wherever the mockup says otherwise. */
.elementor-kit-9 h1,.elementor-kit-9 h2,.elementor-kit-9 h3,.elementor-kit-9 h4{font-weight:bold;margin:0;color:inherit}
.elementor-kit-9 h1{font-size:2em}.elementor-kit-9 h2{font-size:1.5em}.elementor-kit-9 h3{font-size:1.17em}.elementor-kit-9 h4{font-size:1em}
.elementor-kit-9 ul,.elementor-kit-9 ol{margin-block:1em}
.elementor-kit-9 button,.elementor-kit-9 [type=button],.elementor-kit-9 [type=submit]{padding:1px 6px;border-radius:0;white-space:normal;transition:none;user-select:auto}
.elementor-kit-9 :focus-visible{box-shadow:none}
body.elementor-kit-9{-moz-osx-font-smoothing:auto}
.elementor-kit-9 .elementor-widget-image{text-align:inherit}
.elementor-kit-9 .elementor-widget-image.kd img{display:block;vertical-align:baseline}
.elementor-kit-9 .elementor-button{background:none;color:inherit;border-radius:0;padding:0;font-size:inherit;line-height:inherit;fill:currentColor;transition:none}
.elementor-kit-9 figcaption{font-size:inherit;line-height:inherit;font-style:inherit;font-weight:inherit;color:inherit}

:root{--purple:#4A1B78;
  --purple-deep:#33104F;
  --purple-bright:#7A3EB1;
  --lavender:#C9A7E8;
  --teal:#12868C;
  --teal-bright:#19B0B6;
  --seafoam:#8FD9C8;
  --gold:#F5A623;
  --gold-light:#FFCF6B;
  --forest:#3E8E4E;
  --leaf:#7CC47F;
  --coral:#FF7A5C;
  --sky:#7EC8F5;
  --cream:#FFF7EC;
  --cream-deep:#F6E9D6;
  --ink:#2E1A46;

  --shadow-sm:0 6px 18px rgba(74,27,120,.10);
  --shadow-md:0 18px 44px rgba(74,27,120,.16);
  --shadow-lg:0 36px 80px rgba(74,27,120,.24);

  --r-lg:34px;
  --r-md:24px;
  --r-pill:999px;

  --maxw:1220px;
  --header-h:104px;}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.elementor-kit-9{margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Nunito','Avenir Next',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:18px;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;}
.elementor-kit-9 img{max-width:100%;height:auto;display:block}
.elementor-kit-9 a{color:inherit;text-decoration:none}
.elementor-kit-9 button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.elementor-kit-9 h1,
.elementor-kit-9 h2,
.elementor-kit-9 h3,
.elementor-kit-9 h4{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;line-height:1.02;margin:0;letter-spacing:-.015em}
.elementor-kit-9 p{margin:0 0 1em}
.elementor-kit-9 :focus-visible{outline:3px dashed var(--gold);outline-offset:4px;border-radius:6px}
.elementor-kit-9 .wrap{width:min(100% - 3rem,var(--maxw));margin-inline:auto}
.elementor-kit-9 .wrap-wide{width:min(100% - 5rem,1500px);margin-inline:auto}
.elementor-kit-9 .sr-only:where(:not(.elementor-widget)){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.elementor-kit-9 .sr-only :where(.elementor-heading-title){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.elementor-kit-9 .eyebrow{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(.72rem,1.3vw,.88rem);
  letter-spacing:.22em;text-transform:uppercase;
  display:inline-block;margin-bottom:1rem;}
.elementor-kit-9 .h-mega{font-size:clamp(2.9rem,8.4vw,7rem);font-weight:800}
.elementor-kit-9 .h-1:where(:not(.elementor-widget)){font-size:clamp(2.5rem,6.2vw,5rem);font-weight:800}
.elementor-kit-9 .h-1 :where(.elementor-heading-title){font-size:clamp(2.5rem,6.2vw,5rem);font-weight:800}
.elementor-kit-9 .h-2:where(:not(.elementor-widget)){font-size:clamp(2rem,4.4vw,3.5rem);font-weight:800}
.elementor-kit-9 .h-2 :where(.elementor-heading-title){font-size:clamp(2rem,4.4vw,3.5rem);font-weight:800}
.elementor-kit-9 .h-3{font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:700}
.elementor-kit-9 .lede{font-size:clamp(1.05rem,1.7vw,1.32rem);max-width:60ch}
.elementor-kit-9 .muted{opacity:.72}
.elementor-kit-9 .btn:where(:not(.elementor-widget)){display:inline-flex;align-items:center;justify-content:center;gap:.65em;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(.85rem,1.3vw,1rem);letter-spacing:.11em;text-transform:uppercase;
  padding:1.05em 2.1em;border-radius:var(--r-pill);
  min-height:56px;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),box-shadow .28s ease,background .25s ease,color .25s ease;
  will-change:transform;}
.elementor-kit-9 .btn :where(.elementor-button){display:inline-flex;align-items:center;justify-content:center;gap:.65em;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(.85rem,1.3vw,1rem);letter-spacing:.11em;text-transform:uppercase;
  padding:1.05em 2.1em;border-radius:var(--r-pill);
  min-height:56px;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),box-shadow .28s ease,background .25s ease,color .25s ease;
  will-change:transform;}
.elementor-kit-9 .btn:hover:where(:not(.elementor-widget)){transform:scale(1.04)}
.elementor-kit-9 .btn:hover :where(.elementor-button){transform:scale(1.04)}
.elementor-kit-9 .btn:active:where(:not(.elementor-widget)){transform:translateY(-1px) scale(.99)}
.elementor-kit-9 .btn:active :where(.elementor-button){transform:translateY(-1px) scale(.99)}
.elementor-kit-9 .btn-purple:where(:not(.elementor-widget)){background:var(--purple);color:#fff;box-shadow:0 12px 26px rgba(74,27,120,.35)}
.elementor-kit-9 .btn-purple :where(.elementor-button){background:var(--purple);color:#fff;box-shadow:0 12px 26px rgba(74,27,120,.35)}
.elementor-kit-9 .btn-purple:hover:where(:not(.elementor-widget)){background:var(--purple-bright);box-shadow:0 18px 34px rgba(122,62,177,.42)}
.elementor-kit-9 .btn-purple:hover :where(.elementor-button){background:var(--purple-bright);box-shadow:0 18px 34px rgba(122,62,177,.42)}
.elementor-kit-9 .btn-gold:where(:not(.elementor-widget)){background:var(--gold);color:var(--purple-deep);box-shadow:0 12px 26px rgba(245,166,35,.42)}
.elementor-kit-9 .btn-gold :where(.elementor-button){background:var(--gold);color:var(--purple-deep);box-shadow:0 12px 26px rgba(245,166,35,.42)}
.elementor-kit-9 .btn-gold:hover:where(:not(.elementor-widget)){background:var(--gold-light)}
.elementor-kit-9 .btn-gold:hover :where(.elementor-button){background:var(--gold-light)}
.elementor-kit-9 .btn-teal:where(:not(.elementor-widget)){background:var(--teal);color:#fff;box-shadow:0 12px 26px rgba(18,134,140,.35)}
.elementor-kit-9 .btn-teal :where(.elementor-button){background:var(--teal);color:#fff;box-shadow:0 12px 26px rgba(18,134,140,.35)}
.elementor-kit-9 .btn-teal:hover:where(:not(.elementor-widget)){background:var(--teal-bright)}
.elementor-kit-9 .btn-teal:hover :where(.elementor-button){background:var(--teal-bright)}
.elementor-kit-9 .btn-ghost:where(:not(.elementor-widget)){border:2.5px solid currentColor;color:var(--purple)}
.elementor-kit-9 .btn-ghost :where(.elementor-button){border:2.5px solid currentColor;color:var(--purple)}
.elementor-kit-9 .btn-ghost:hover:where(:not(.elementor-widget)){background:var(--purple);color:#fff;border-color:var(--purple)}
.elementor-kit-9 .btn-ghost:hover :where(.elementor-button){background:var(--purple);color:#fff;border-color:var(--purple)}
.elementor-kit-9 .btn-ghost-light:where(:not(.elementor-widget)){border:2.5px solid rgba(255,255,255,.85);color:#fff;backdrop-filter:blur(6px);background:rgba(255,255,255,.12)}
.elementor-kit-9 .btn-ghost-light :where(.elementor-button){border:2.5px solid rgba(255,255,255,.85);color:#fff;backdrop-filter:blur(6px);background:rgba(255,255,255,.12)}
.elementor-kit-9 .btn-ghost-light:hover:where(:not(.elementor-widget)){background:#fff;color:var(--purple)}
.elementor-kit-9 .btn-ghost-light:hover :where(.elementor-button){background:#fff;color:var(--purple)}
.elementor-kit-9 .link-arrow{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;display:inline-flex;align-items:center;gap:.45em;
  border-bottom:2.5px solid currentColor;padding-bottom:2px;transition:gap .25s ease,opacity .25s ease;}
.elementor-kit-9 .link-arrow:hover{gap:.9em}
.elementor-kit-9 .header{position:fixed;inset:0 0 auto 0;z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;
  transition:background .4s ease,box-shadow .4s ease,height .4s ease;}
.elementor-kit-9 .header::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(30,10,55,.42),rgba(30,10,55,0));
  transition:opacity .4s ease;}
.elementor-kit-9 .header.scrolled{background:var(--cream);box-shadow:0 6px 30px rgba(74,27,120,.13);height:80px}
.elementor-kit-9 .header.scrolled::before{opacity:0}
.elementor-kit-9 .header-inner{display:flex;align-items:center;gap:1.6rem;
  width:min(100% - 3rem,var(--maxw));margin-inline:auto;}
.elementor-kit-9 .brand{display:flex;align-items:center;margin-right:auto}
.elementor-kit-9 .brand img{height:78px;width:auto;aspect-ratio:1;border-radius:50%;
  filter:drop-shadow(0 8px 22px rgba(20,4,40,.38));
  transition:height .4s ease,filter .4s ease;}
.elementor-kit-9 .header.scrolled .brand img{height:60px;filter:drop-shadow(0 4px 12px rgba(20,4,40,.18))}
.elementor-kit-9 .nav{display:flex;align-items:center;gap:1.9rem}
.elementor-kit-9 .nav a{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:500;font-size:.95rem;color:#fff;
  position:relative;padding:.3em 0;text-shadow:0 2px 10px rgba(0,0,0,.35);
  transition:color .25s ease;}
.elementor-kit-9 .header.scrolled .nav a{color:var(--teal);text-shadow:none}
.elementor-kit-9 .nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:3px;border-radius:3px;
  background:var(--gold);transition:right .3s cubic-bezier(.2,.9,.3,1);}
.elementor-kit-9 .nav a:hover::after{right:0}
.elementor-kit-9 .header.scrolled .nav a:hover{color:var(--purple)}
.elementor-kit-9 .header-cta{display:flex;align-items:center;gap:.9rem}
.elementor-kit-9 .btn-join:where(:not(.elementor-widget)){background:var(--purple);color:#fff;border-radius:var(--r-pill);
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.85em 1.5em;display:inline-flex;align-items:center;gap:.5em;
  box-shadow:0 10px 24px rgba(74,27,120,.4);
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),background .25s ease;}
.elementor-kit-9 .btn-join :where(.elementor-button){background:var(--purple);color:#fff;border-radius:var(--r-pill);
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.85em 1.5em;display:inline-flex;align-items:center;gap:.5em;
  box-shadow:0 10px 24px rgba(74,27,120,.4);
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),background .25s ease;}
.elementor-kit-9 .btn-join:hover:where(:not(.elementor-widget)){transform:scale(1.05);background:var(--purple-bright)}
.elementor-kit-9 .btn-join:hover :where(.elementor-button){transform:scale(1.05);background:var(--purple-bright)}
.elementor-kit-9 .heart-mini{display:inline-block;animation:beat 2.6s ease-in-out infinite}
.elementor-kit-9 .burger{display:none;width:52px;height:52px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.5)}
.elementor-kit-9 .header.scrolled .burger{background:rgba(74,27,120,.08);border-color:rgba(74,27,120,.2)}
.elementor-kit-9 .burger span{display:block;width:24px;height:3px;border-radius:3px;background:#fff;position:relative;transition:background .3s}
.elementor-kit-9 .burger span::before,
.elementor-kit-9 .burger span::after{content:"";position:absolute;left:0;width:24px;height:3px;border-radius:3px;background:#fff;transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}
.elementor-kit-9 .burger span::before{top:-8px}
.elementor-kit-9 .burger span::after{top:8px}
.elementor-kit-9 .header.scrolled .burger span,
.elementor-kit-9 .header.scrolled .burger span::before,
.elementor-kit-9 .header.scrolled .burger span::after{background:var(--purple)}
body.elementor-kit-9.nav-open .burger span{background:transparent!important}
body.elementor-kit-9.nav-open .burger span::before{transform:translateY(8px) rotate(45deg)}
body.elementor-kit-9.nav-open .burger span::after{transform:translateY(-8px) rotate(-45deg)}
.elementor-kit-9 .mobile-nav{position:fixed;inset:0;z-index:99;background:var(--cream);
  display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:6rem 2rem 3rem;
  transform:translateY(-100%);transition:transform .55s cubic-bezier(.7,0,.2,1);
  overflow-y:auto;}
body.elementor-kit-9.nav-open .mobile-nav{transform:translateY(0)}
.elementor-kit-9 .mobile-nav a:not(.btn,.elementor-button){font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:clamp(1.9rem,8vw,2.8rem);color:var(--purple);padding:.18em 0;border-bottom:2px dashed rgba(74,27,120,.14)}
.elementor-kit-9 .mobile-nav .btn:where(:not(.elementor-widget)){margin-top:1.6rem;align-self:flex-start}
.elementor-kit-9 .mobile-nav .btn :where(.elementor-button){margin-top:1.6rem;align-self:flex-start}
.elementor-kit-9 .hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.elementor-kit-9 .hero-bg{position:absolute;inset:-6% 0 0;z-index:-3}
.elementor-kit-9 .hero-bg img{width:100%;height:112%;object-fit:cover;object-position:center 58%;transform:scale(1.06);animation:driftZoom 34s ease-in-out infinite alternate}
.elementor-kit-9 .hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(70% 58% at 50% 44%,rgba(24,6,46,.5),rgba(24,6,46,0) 74%),
    linear-gradient(180deg,rgba(24,6,46,.55) 0%,rgba(24,6,46,.1) 26%,rgba(24,6,46,.24) 62%,rgba(24,6,46,.72) 100%);}
.elementor-kit-9 .hero-inner{position:relative;text-align:center;padding:calc(var(--header-h) + 1.6rem) 0 4.6rem;width:100%}
.elementor-kit-9 .hero .eyebrow{color:var(--gold-light);letter-spacing:.34em}
.elementor-kit-9 .hero-mark{position:relative;display:block;margin:0 auto .9rem;
  width:min(290px,50vw,28vh);height:auto;aspect-ratio:1;border-radius:50%;
  filter:drop-shadow(0 24px 52px rgba(16,2,36,.55));
  animation:heroLogo 9s ease-in-out infinite;}
.elementor-kit-9 .hero h1{margin:0 auto .28em;max-width:16ch;
  font-size:clamp(2.4rem,6vw,4.5rem);font-weight:800;color:#fff;
  text-shadow:0 4px 34px rgba(16,2,36,.6),0 2px 10px rgba(16,2,36,.5);}
.elementor-kit-9 .hero-sub{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:700;
  font-size:clamp(1.15rem,2.4vw,1.85rem);color:var(--gold-light);
  text-shadow:0 3px 22px rgba(20,4,40,.6);margin:0 0 .7em;}
@keyframes heroLogo{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(1.2deg)}}
.elementor-kit-9 .hero-copy{color:rgba(255,255,255,.94);font-size:clamp(1.02rem,1.6vw,1.24rem);max-width:38ch;margin:0 auto 1.9rem;text-shadow:0 2px 16px rgba(20,4,40,.7)}
.elementor-kit-9 .hero-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.9rem}
.elementor-kit-9 .hero-credit{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.92rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.8);text-shadow:0 2px 12px rgba(20,4,40,.7)}
.elementor-kit-9 .hero-credit b{color:var(--gold-light);font-weight:600}
.elementor-kit-9 .scroll-hint{position:absolute;left:50%;bottom:.7rem;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.35rem;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.elementor-kit-9 .scroll-hint i{display:block;width:2px;height:28px;border-radius:2px;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0));animation:dropLine 2.6s ease-in-out infinite}
.elementor-kit-9 .sparkles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.elementor-kit-9 .firefly{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold-light);
  box-shadow:0 0 14px 5px rgba(255,207,107,.65);opacity:0;animation:fly 16s ease-in-out infinite}
.elementor-kit-9 .star{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;opacity:.15;animation:twinkle 5s ease-in-out infinite}
.elementor-kit-9 .ribbon{background:var(--purple);color:var(--cream);padding:.95rem 0;overflow:hidden;position:relative;z-index:3}
.elementor-kit-9 .ribbon-track{display:flex;gap:2.6rem;width:max-content;animation:marquee 34s linear infinite}
.elementor-kit-9 .ribbon span{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:clamp(.85rem,1.6vw,1.05rem);letter-spacing:.26em;text-transform:uppercase;display:flex;align-items:center;gap:2.6rem;white-space:nowrap}
.elementor-kit-9 .ribbon span::after{content:"✦";color:var(--gold)}
.elementor-kit-9 section{position:relative}
.elementor-kit-9 .sec{padding:clamp(3.6rem,6.4vw,6.5rem) 0}
.elementor-kit-9 .sec-head{max-width:70ch;margin-bottom:clamp(2rem,3.6vw,3.2rem)}
.elementor-kit-9 .sec-head.center{margin-inline:auto;text-align:center}
.elementor-kit-9 .sec-head.center .eyebrow{text-align:center}
.elementor-kit-9 .has-deco{overflow:hidden}
.elementor-kit-9 .has-deco > .wrap{position:relative;z-index:1}
.elementor-kit-9 .blobs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.elementor-kit-9 .blob{position:absolute;border-radius:50%;
  animation:blobFloat 22s ease-in-out infinite;}
.elementor-kit-9 .blob.ring{background:none!important;border:14px solid currentColor;opacity:.3}
.elementor-kit-9 .c-seafoam{background:var(--seafoam);color:var(--seafoam)}
.elementor-kit-9 .c-lavender{background:var(--lavender);color:var(--lavender)}
.elementor-kit-9 .c-gold{background:var(--gold-light);color:var(--gold-light)}
.elementor-kit-9 .c-coral{background:var(--coral);color:var(--coral)}
.elementor-kit-9 .c-sky{background:var(--sky);color:var(--sky)}
.elementor-kit-9 .c-leaf{background:var(--leaf);color:var(--leaf)}
@keyframes blobFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  33%{transform:translate3d(14px,-26px,0) scale(1.05)}
  66%{transform:translate3d(-12px,18px,0) scale(.97)}
}
.elementor-kit-9 .wave{display:block;width:100%;height:clamp(50px,7vw,120px);position:absolute;left:0;z-index:2;pointer-events:none}
.elementor-kit-9 .wave.top{top:-1px}
.elementor-kit-9 .wave.bot{bottom:-1px}
.elementor-kit-9 .truly{background:linear-gradient(180deg,#0E6C93 0%,#1590AE 32%,#3FB8C9 68%,#8FDCE0 100%);
  color:#fff;overflow:hidden;padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:clamp(4.5rem,8vw,7.5rem);}
.elementor-kit-9 .bubbles-video{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;pointer-events:none;z-index:0;
  mix-blend-mode:screen;opacity:.9;}
.elementor-kit-9 .bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.elementor-kit-9 .bubble{position:absolute;bottom:-14%;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.9),rgba(255,255,255,.18) 45%,rgba(255,255,255,.06) 70%);
  border:1px solid rgba(255,255,255,.3);animation:rise linear infinite}
.elementor-kit-9 .bubble.big{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.5),rgba(255,255,255,.09) 46%,rgba(255,255,255,.03) 72%);
  border-color:rgba(255,255,255,.18);}
.elementor-kit-9 .truly .wrap{position:relative;z-index:1}
.elementor-kit-9 .truly-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.elementor-kit-9 .book{position:relative;width:min(100%,340px);justify-self:center}
.elementor-kit-9 .book-inner{position:relative;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.2);
  filter:drop-shadow(0 30px 48px rgba(4,40,60,.45));}
.elementor-kit-9 .book:hover .book-inner{transform:scale(1.04)}
.elementor-kit-9 .book-inner img{border-radius:10px;width:100%;max-height:62vh;object-fit:cover}
.elementor-kit-9 .book-badge{position:absolute;top:-22px;left:-26px;z-index:3;
  background:var(--gold);color:var(--purple-deep);
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.9em 1.4em;border-radius:var(--r-pill);
  box-shadow:0 16px 34px rgba(0,0,0,.28);transform:rotate(-8deg);
  animation:beat 4s ease-in-out infinite;}
.elementor-kit-9 .truly h2{color:#fff;text-shadow:0 4px 26px rgba(4,40,60,.4);margin-bottom:.5rem}
.elementor-kit-9 .truly .eyebrow{color:var(--gold-light)}
.elementor-kit-9 .truly-tagline{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:clamp(1.2rem,2.3vw,1.7rem);color:#EAFBFF;margin-bottom:1.2rem}
.elementor-kit-9 .truly p{color:rgba(255,255,255,.94)}
.elementor-kit-9 .book-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.8rem 0 2.2rem;}
.elementor-kit-9 .chip{display:inline-flex;align-items:center;gap:.5em;
  background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.4);
  padding:.55em 1.1em;border-radius:var(--r-pill);
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.85rem;letter-spacing:.06em;backdrop-filter:blur(6px);}
.elementor-kit-9 .truly-btns{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.6rem}
.elementor-kit-9 .worlds{background:var(--cream);padding-top:clamp(6rem,11vw,10rem)}
.elementor-kit-9 .worlds .h-2:where(:not(.elementor-widget)){color:var(--purple)}
.elementor-kit-9 .worlds .h-2 :where(.elementor-heading-title){color:var(--purple)}
.elementor-kit-9 .worlds .eyebrow{color:var(--teal)}
.elementor-kit-9 .portals{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.4vw,2.2rem)}
.elementor-kit-9 .portal{position:relative;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  min-height:clamp(430px,52vw,560px);display:flex;flex-direction:column;justify-content:flex-end;
  padding:2rem 1.9rem 2.2rem;color:#fff;
  box-shadow:var(--shadow-md);
  transition:transform .5s cubic-bezier(.2,.9,.3,1.1),box-shadow .5s ease;}
.elementor-kit-9 .portal:hover{transform:scale(1.04);box-shadow:var(--shadow-lg)}
.elementor-kit-9 .portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s cubic-bezier(.2,.8,.3,1)}
.elementor-kit-9 .portal:hover img{transform:scale(1.09)}
.elementor-kit-9 .portal::before{content:"";position:absolute;inset:0;z-index:-1;transition:opacity .5s ease;
  background:linear-gradient(180deg,rgba(10,4,25,.12) 0%,rgba(10,4,25,.28) 40%,rgba(10,4,25,.86) 100%)}
.elementor-kit-9 .portal::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.42;mix-blend-mode:soft-light;transition:opacity .5s ease}
.elementor-kit-9 .portal.ocean::after{background:linear-gradient(180deg,transparent,#0DA6C4)}
.elementor-kit-9 .portal.farm::after{background:linear-gradient(180deg,transparent,#F5A623)}
.elementor-kit-9 .portal.forest::after{background:linear-gradient(180deg,transparent,#2F7C46)}
.elementor-kit-9 .portal-icon{font-size:2.6rem;line-height:1;margin-bottom:.6rem;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4));transition:transform .5s cubic-bezier(.2,.9,.3,1.4)}
.elementor-kit-9 .portal:hover .portal-icon{transform:scale(1.14)}
.elementor-kit-9 .portal h3{font-size:clamp(1.7rem,2.7vw,2.25rem);text-shadow:0 3px 18px rgba(0,0,0,.5)}
.elementor-kit-9 .portal-char{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:500;font-size:1rem;color:rgba(255,255,255,.9);margin-bottom:.9rem}
.elementor-kit-9 .portal-value{display:inline-block;align-self:flex-start;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;padding:.5em 1.1em;border-radius:var(--r-pill);
  margin-bottom:.9rem;color:var(--purple-deep);}
.elementor-kit-9 .portal.ocean .portal-value{background:var(--seafoam)}
.elementor-kit-9 .portal.farm .portal-value{background:var(--gold-light)}
.elementor-kit-9 .portal.forest .portal-value{background:#B9E6A8}
.elementor-kit-9 .portal-tags{font-size:.9rem;color:rgba(255,255,255,.8);margin-bottom:1.4rem;letter-spacing:.04em}
.elementor-kit-9 .portal-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.elementor-kit-9 .soon{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.42);padding:.42em .9em;border-radius:var(--r-pill)}
.elementor-kit-9 .grow{background:var(--cream);overflow:hidden}
.elementor-kit-9 .grow::before{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background:
    radial-gradient(46% 34% at 12% 22%,rgba(143,217,200,.5),transparent 70%),
    radial-gradient(40% 32% at 52% 58%,rgba(255,207,107,.45),transparent 70%),
    radial-gradient(44% 34% at 88% 26%,rgba(201,167,232,.55),transparent 70%),
    radial-gradient(40% 30% at 74% 84%,rgba(126,200,245,.4),transparent 70%);
  filter:blur(8px);}
.elementor-kit-9 .grow .wrap{position:relative;z-index:1}
.elementor-kit-9 .grow h2{color:var(--purple)}
.elementor-kit-9 .grow .eyebrow{color:var(--forest)}
.elementor-kit-9 .stages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem);align-items:stretch;position:relative}
.elementor-kit-9 .stage{background:rgba(255,255,255,.78);backdrop-filter:blur(10px);
  border:2px solid rgba(255,255,255,.9);
  border-radius:var(--r-lg);padding:clamp(2rem,3vw,2.8rem);
  box-shadow:var(--shadow-sm);text-align:center;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.15),box-shadow .45s ease;
  position:relative;}
.elementor-kit-9 .stage:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}
.elementor-kit-9 .stage-glyph{width:76px;height:76px;display:block;margin:0 auto .5rem;transition:transform .45s cubic-bezier(.2,.9,.3,1.2)}
.elementor-kit-9 .stage:hover .stage-glyph{transform:scale(1.08)}
.elementor-kit-9 .stage-age{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:.9rem}
.elementor-kit-9 .stage h3{color:var(--purple);margin-bottom:.2rem}
.elementor-kit-9 .stage-kind{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;color:var(--forest);margin-bottom:.7rem;font-size:1.02rem}
.elementor-kit-9 .stage p{font-size:1rem;margin:0}
.elementor-kit-9 .stage.spiral{background:linear-gradient(160deg,#2A1150,#4A1B78 60%,#1E2A6B);
  border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.9);overflow:hidden}
.elementor-kit-9 .stage.spiral h3{color:#fff}
.elementor-kit-9 .stage.spiral .stage-age{color:var(--gold-light)}
.elementor-kit-9 .stage.spiral .stage-kind{color:var(--lavender)}
.elementor-kit-9 .stage.spiral::after{content:"";position:absolute;inset:-40% 30% 40% -30%;
  background:radial-gradient(circle,rgba(201,167,232,.35),transparent 62%);animation:pulseGlow 7s ease-in-out infinite;}
.elementor-kit-9 .badge-2027{display:inline-block;margin-top:.9rem;font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;border:1.5px solid var(--gold);color:var(--gold-light);padding:.45em 1em;border-radius:var(--r-pill)}
.elementor-kit-9 .bedtime{background:linear-gradient(180deg,#1B1246 0%,#2E1C63 45%,#4A2A85 100%);color:#fff;overflow:hidden}
.elementor-kit-9 .bedtime .eyebrow{color:var(--gold-light)}
.elementor-kit-9 .bedtime h2{color:#fff}
.elementor-kit-9 .bedtime .lede{color:rgba(255,255,255,.86)}
.elementor-kit-9 .night{position:absolute;inset:0;pointer-events:none}
.elementor-kit-9 .watch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,2.2vw,1.9rem);position:relative;z-index:1}
.elementor-kit-9 .ep-side{display:contents}
.elementor-kit-9 .episode{position:relative;border-radius:var(--r-md);overflow:hidden;isolation:isolate;
  display:flex;align-items:flex-end;padding:1.6rem;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.1),box-shadow .45s ease;
  box-shadow:0 22px 50px rgba(8,4,30,.5);}
.elementor-kit-9 .episode:hover{transform:scale(1.03)}
.elementor-kit-9 .episode.feature{aspect-ratio:16/9}
.elementor-kit-9 .episode.small{aspect-ratio:16/9;padding:1.4rem}
.elementor-kit-9 .ep-art{position:absolute;inset:0;z-index:-2}
.elementor-kit-9 .episode::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(10,5,32,.86))}
.elementor-kit-9 .ep-title{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:clamp(1.1rem,1.9vw,1.6rem);line-height:1.12}
.elementor-kit-9 .episode.small .ep-title{font-size:clamp(1.02rem,1.6vw,1.35rem)}
.elementor-kit-9 .ep-meta{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.35rem}
.elementor-kit-9 .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:clamp(62px,7vw,92px);aspect-ratio:1;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--purple);
  display:grid;place-items:center;font-size:1.5rem;padding-left:.18em;
  box-shadow:0 14px 40px rgba(0,0,0,.4);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.4),background .3s;z-index:2;}
.elementor-kit-9 .episode:hover .play{transform:translate(-50%,-50%) scale(1.12);background:var(--gold)}
.elementor-kit-9 .play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.45);animation:ripple 3s ease-out infinite}
.elementor-kit-9 .watch-foot{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;margin-top:2.6rem;position:relative;z-index:1}
.elementor-kit-9 .watch-note{width:100%;text-align:center;font-style:italic;color:rgba(255,255,255,.7);margin-top:.4rem}
.elementor-kit-9 .action{background:linear-gradient(180deg,#F3FBF4,#FFF7EC)}
.elementor-kit-9 .action h2{color:var(--forest)}
.elementor-kit-9 .action .eyebrow{color:var(--teal)}
.elementor-kit-9 .circles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,3.4rem);text-align:center}
.elementor-kit-9 .circle-item .ring{width:min(260px,68vw);aspect-ratio:1;margin:0 auto 1.6rem;border-radius:50%;overflow:hidden;position:relative;
  border:8px solid #fff;box-shadow:var(--shadow-md);
  transition:transform .5s cubic-bezier(.2,.9,.3,1.2),box-shadow .5s ease;}
.elementor-kit-9 .circle-item:hover .ring{transform:scale(1.06);box-shadow:var(--shadow-lg)}
.elementor-kit-9 .circle-item .ring img{width:100%;height:100%;object-fit:cover}
.elementor-kit-9 .circle-item .ring::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 40px rgba(255,255,255,.4)}
.elementor-kit-9 .circle-tag{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:.4rem}
.elementor-kit-9 .circle-item h3{color:var(--purple);margin-bottom:.3rem;font-size:clamp(1.3rem,2.2vw,1.7rem)}
.elementor-kit-9 .circle-item p{font-style:italic;color:rgba(46,26,70,.72);margin:0}
.elementor-kit-9 .parents{background:var(--cream-deep)}
.elementor-kit-9 .parents h2{color:var(--purple)}
.elementor-kit-9 .parents .eyebrow{color:var(--purple-bright)}
.elementor-kit-9 .res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem)}
.elementor-kit-9 .res-card{background:var(--cream);border-radius:var(--r-md);padding:clamp(1.9rem,3vw,2.6rem);
  border-left:8px solid var(--purple);box-shadow:var(--shadow-sm);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.1),box-shadow .4s ease,border-color .4s ease;}
.elementor-kit-9 .res-card:nth-child(2){border-left-color:var(--teal)}
.elementor-kit-9 .res-card:nth-child(3){border-left-color:var(--gold)}
.elementor-kit-9 .res-card:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}
.elementor-kit-9 .res-card h3{color:var(--purple);font-size:1.35rem;letter-spacing:.02em;margin-bottom:1rem;text-transform:uppercase;font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700}
.elementor-kit-9 .res-card ul{list-style:none;margin:0;padding:0}
.elementor-kit-9 .res-card li{padding:.42em 0 .42em 1.9em;position:relative;font-size:1.02rem}
.elementor-kit-9 .res-card li::before{content:"❧";position:absolute;left:0;color:var(--gold);font-size:1.1em}
.elementor-kit-9 .join{background:
    radial-gradient(60% 60% at 18% 20%,rgba(143,217,200,.55),transparent 65%),
    radial-gradient(55% 55% at 82% 22%,rgba(201,167,232,.6),transparent 65%),
    radial-gradient(60% 55% at 50% 96%,rgba(255,207,107,.5),transparent 65%),
    linear-gradient(180deg,#FFF7EC,#FDF1F5);
  text-align:center;overflow:hidden;}
.elementor-kit-9 .big-heart:where(:not(.elementor-widget)){display:block;width:auto;height:clamp(74px,9vw,108px);
  margin:0 auto 1.1rem;
  animation:beat 3.4s ease-in-out infinite;
  filter:drop-shadow(0 14px 26px rgba(74,27,120,.22));}
.elementor-kit-9 .big-heart :where(img){display:block;width:auto;height:clamp(74px,9vw,108px);
  margin:0 auto 1.1rem;
  animation:beat 3.4s ease-in-out infinite;
  filter:drop-shadow(0 14px 26px rgba(74,27,120,.22));}
.elementor-kit-9 .join h2{color:var(--purple);font-size:clamp(1.85rem,3.6vw,2.9rem)}
.elementor-kit-9 .join .lede{margin-inline:auto;font-size:clamp(1rem,1.4vw,1.12rem)}
.elementor-kit-9 .join-bullets{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;color:var(--teal);font-size:.88rem;letter-spacing:.04em;margin:1rem 0 1.8rem;}
.elementor-kit-9 .join-bullets span{display:inline-flex;align-items:center;gap:1.1rem}
.elementor-kit-9 .join-bullets span:not(:last-child)::after{content:"•";color:var(--gold)}
.elementor-kit-9 .gift{background:#fff;border:3px dashed var(--gold);border-radius:var(--r-md);
  padding:clamp(1.1rem,2.2vw,1.6rem) clamp(1.3rem,2.6vw,2rem);
  max-width:560px;margin:0 auto 1.8rem;box-shadow:var(--shadow-sm);
  transform:rotate(-.6deg);}
.elementor-kit-9 .gift-label{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);display:block;margin-bottom:.35rem}
.elementor-kit-9 .gift h3{color:var(--purple);font-size:clamp(1.15rem,2.1vw,1.5rem);margin-bottom:.25rem}
.elementor-kit-9 .gift p{margin:0;font-size:.94rem;color:rgba(46,26,70,.72)}
.elementor-kit-9 .join-form{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;max-width:680px;margin:0 auto}
.elementor-kit-9 .join-form input{flex:1 1 200px;min-height:54px;padding:0 1.3rem;border-radius:var(--r-pill);
  border:2.5px solid rgba(74,27,120,.18);background:#fff;font:inherit;font-size:.98rem;color:var(--ink);
  transition:border-color .3s ease,box-shadow .3s ease;}
.elementor-kit-9 .join-form .btn:where(:not(.elementor-widget)){padding:.85em 1.7em;min-height:54px}
.elementor-kit-9 .join-form .btn :where(.elementor-button){padding:.85em 1.7em;min-height:54px}
.elementor-kit-9 .join .eyebrow{margin-bottom:.6rem}
.elementor-kit-9 .join-form input::placeholder{color:rgba(46,26,70,.42)}
.elementor-kit-9 .join-form input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 5px rgba(122,62,177,.15)}
.elementor-kit-9 .join-form .btn:where(:not(.elementor-widget)){flex:0 0 auto}
.elementor-kit-9 .join-form .btn :where(.elementor-button){flex:0 0 auto}
.elementor-kit-9 .privacy{font-size:.88rem;color:rgba(46,26,70,.6);margin-top:1.2rem}
.elementor-kit-9 .form-thanks{display:none;font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:700;color:var(--forest);font-size:1.35rem;margin-top:1.2rem}
.elementor-kit-9 .form-thanks.show{display:block;animation:popIn .6s cubic-bezier(.2,.9,.3,1.5)}
.elementor-kit-9 .creator{background:var(--cream)}
.elementor-kit-9 .creator-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.elementor-kit-9 .portrait{margin:0}
.elementor-kit-9 .portrait{position:relative;aspect-ratio:4/5;max-height:66vh;
  border-radius:230px 230px 30px 30px;overflow:hidden;
  background:linear-gradient(165deg,#DFF3EE,#E7DDF5 55%,#FDE7CF);
  box-shadow:var(--shadow-md);border:10px solid #fff;
  transition:transform .6s cubic-bezier(.2,.9,.3,1.1),box-shadow .6s ease;}
.elementor-kit-9 .portrait:hover{transform:scale(1.03);box-shadow:var(--shadow-lg)}
.elementor-kit-9 .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.elementor-kit-9 .portrait::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 55% at 50% 108%,rgba(74,27,120,.28),transparent 62%);}
.elementor-kit-9 .portrait-caption{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);z-index:2;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;background:rgba(74,27,120,.72);backdrop-filter:blur(6px);
  padding:.55em 1.3em;border-radius:var(--r-pill);white-space:nowrap;}
.elementor-kit-9 .creator h2{color:var(--purple);margin-bottom:1rem}
.elementor-kit-9 .creator .eyebrow{color:var(--teal)}
.elementor-kit-9 .sig{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:1.8rem;color:var(--purple-bright);transform:rotate(-3deg);display:inline-block;margin:.6rem 0 1.6rem}
.elementor-kit-9 .creator-btns{display:flex;flex-wrap:wrap;gap:1rem}
.elementor-kit-9 .shop{background:linear-gradient(180deg,#FFF7EC,#F0F7F9)}
.elementor-kit-9 .shop h2{color:var(--purple)}
.elementor-kit-9 .shop .eyebrow{color:var(--coral)}
.elementor-kit-9 .shop-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(1.4rem,2.6vw,2.2rem);align-items:stretch}
.elementor-kit-9 .prod{background:#fff;border-radius:var(--r-lg);padding:clamp(1.6rem,2.6vw,2.2rem);
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;text-align:center;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.15),box-shadow .45s ease;position:relative;overflow:hidden;}
.elementor-kit-9 .prod:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}
.elementor-kit-9 .prod-flag{position:absolute;top:1.2rem;left:1.2rem;background:var(--coral);color:#fff;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.45em 1em;border-radius:var(--r-pill);z-index:2}
.elementor-kit-9 .prod-img{aspect-ratio:5/8;width:min(100%,min(300px,34vh));margin:0 auto 1.4rem;border-radius:var(--r-md);overflow:hidden;box-shadow:0 18px 34px rgba(74,27,120,.18)}
.elementor-kit-9 .prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.elementor-kit-9 .prod:hover .prod-img img{transform:scale(1.06)}
.elementor-kit-9 .prod-img.placeholder{display:grid;place-items:center;box-shadow:none;border:3px dashed rgba(74,27,120,.18)}
.elementor-kit-9 .prod-img.ph-farm{background:linear-gradient(165deg,#FFE9B8,#FFD08A)}
.elementor-kit-9 .prod-img.ph-forest{background:linear-gradient(165deg,#D6EFC9,#A8DCA0)}
.elementor-kit-9 .prod-img.placeholder span{font-size:clamp(3rem,7vw,4.6rem);transition:transform .4s ease}
.elementor-kit-9 .prod:hover .prod-img.placeholder span{transform:scale(1.1)}
.elementor-kit-9 .prod h3{color:var(--purple);font-size:clamp(1.15rem,1.9vw,1.5rem);margin-bottom:.35rem}
.elementor-kit-9 .prod-meta{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.85rem;color:var(--teal);letter-spacing:.08em;margin-bottom:1.2rem}
.elementor-kit-9 .prod .btn:where(:not(.elementor-widget)){margin-top:auto;align-self:center}
.elementor-kit-9 .prod .btn :where(.elementor-button){margin-top:auto;align-self:center}
.elementor-kit-9 .prod-soon{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(46,26,70,.5);margin-top:auto}
.elementor-kit-9 .shop-note{text-align:center;margin-top:2.6rem;font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:.88rem;color:var(--purple-bright)}
.elementor-kit-9 .finale{position:relative;min-height:86svh;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate}
.elementor-kit-9 .finale-bg{position:absolute;inset:0;z-index:-3}
.elementor-kit-9 .finale-bg img{width:100%;height:100%;object-fit:cover;object-position:center 70%;transform:scale(1.05);animation:driftZoom 40s ease-in-out infinite alternate}
.elementor-kit-9 .finale::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,rgba(40,12,60,.72),rgba(80,26,70,.55) 40%,rgba(30,8,50,.86)),
  radial-gradient(60% 50% at 50% 55%,rgba(255,167,90,.28),transparent 70%)}
.elementor-kit-9 .finale-inner{padding:6rem 0;position:relative}
.elementor-kit-9 .finale h2{color:#fff;font-size:clamp(2.4rem,7vw,5.6rem);text-shadow:0 6px 40px rgba(20,4,40,.7);margin-bottom:.35em}
.elementor-kit-9 .finale p{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:clamp(1.2rem,2.8vw,2rem);color:var(--gold-light);text-shadow:0 3px 24px rgba(20,4,40,.7);margin-bottom:1.4rem}
.elementor-kit-9 .finale .heart-big{font-size:2.4rem;display:inline-block;animation:beat 3s ease-in-out infinite}
.elementor-kit-9 .footer{background:var(--purple-deep);color:rgba(255,255,255,.82);padding:clamp(4rem,7vw,6rem) 0 0;position:relative}
.elementor-kit-9 .footer-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:clamp(1.6rem,3vw,2.6rem);padding-bottom:3.5rem}
.elementor-kit-9 .footer-brand img{width:96px;height:96px;border-radius:50%;margin-bottom:1rem}
.elementor-kit-9 .footer-brand h3{font-size:1.6rem;color:#fff;letter-spacing:.01em}
.elementor-kit-9 .footer-brand .tag{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light)}
.elementor-kit-9 .footer h4{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.elementor-kit-9 .footer ul{list-style:none;margin:0;padding:0}
.elementor-kit-9 .footer li{margin-bottom:.6rem}
.elementor-kit-9 .footer li a{font-size:1rem;transition:color .25s ease,padding-left .25s ease;display:inline-block}
.elementor-kit-9 .footer li a:hover{color:var(--gold-light);padding-left:6px}
.elementor-kit-9 .footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:1.8rem 0;
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  font-size:.9rem;color:rgba(255,255,255,.6);}
.elementor-kit-9 .footer-bottom strong{color:var(--lavender);font-weight:700}
.elementor-kit-9 .footer-legal{display:flex;flex-wrap:wrap;gap:1.2rem}
.elementor-kit-9 .footer-legal a:hover{color:var(--gold-light)}
.elementor-kit-9 .reveal{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.2,.8,.3,1),transform .9s cubic-bezier(.2,.8,.3,1)}
.elementor-kit-9 .reveal.in{opacity:1;transform:none}
.elementor-kit-9 .reveal.d1{transition-delay:.12s}
.elementor-kit-9 .reveal.d2{transition-delay:.24s}
.elementor-kit-9 .reveal.d3{transition-delay:.36s}
.elementor-kit-9 .reveal.d4{transition-delay:.48s}
@keyframes beat{0%,100%{transform:scale(1)}14%{transform:scale(1.13)}28%{transform:scale(1)}42%{transform:scale(1.09)}}
@keyframes driftZoom{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.4%,-1.6%,0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fly{
  0%{opacity:0;transform:translate(0,0)}
  12%{opacity:.95}
  50%{transform:translate(90px,-60px)}
  70%{opacity:.35}
  100%{opacity:0;transform:translate(180px,20px)}
}
@keyframes twinkle{0%,100%{opacity:.1;transform:scale(.8)}50%{opacity:.9;transform:scale(1.4)}}
@keyframes dropLine{0%{transform:scaleY(.2);transform-origin:top;opacity:0}40%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}
@keyframes pulseGlow{0%,100%{opacity:.35}50%{opacity:.8}}
@keyframes ripple{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes popIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@media (max-width:1080px){
.elementor-kit-9 .nav{display:none}
.elementor-kit-9 .btn-join:where(:not(.elementor-widget)){display:none}
.elementor-kit-9 .btn-join :where(.elementor-button){display:none}
.elementor-kit-9 .burger{display:flex}
.elementor-kit-9 .truly-grid{grid-template-columns:1fr;gap:3.5rem}
.elementor-kit-9 .book{max-width:400px;margin-inline:auto}
.elementor-kit-9 .creator-grid{grid-template-columns:1fr;gap:2.6rem}
.elementor-kit-9 .portrait{max-width:360px;margin-inline:auto;max-height:none}
.elementor-kit-9 .footer-top{grid-template-columns:1fr 1fr 1fr}
.elementor-kit-9 .footer-brand{grid-column:1/-1}
.elementor-kit-9 .shop-grid{grid-template-columns:1fr 1fr}
.elementor-kit-9 .prod:first-child{grid-column:1/-1;max-width:560px;margin-inline:auto;width:100%}
}
@media (max-width:820px){
body.elementor-kit-9{font-size:17px}
:root{--header-h:88px}
.elementor-kit-9 .brand img{height:52px}
.elementor-kit-9 .header.scrolled .brand img{height:44px}
.elementor-kit-9 .wrap-wide{width:min(100% - 2.2rem,1500px)}
.elementor-kit-9 .wrap,
.elementor-kit-9 .header-inner{width:min(100% - 2.2rem,var(--maxw))}
.elementor-kit-9 .stages,
.elementor-kit-9 .circles,
.elementor-kit-9 .res-grid{grid-template-columns:1fr}
.elementor-kit-9 .stage{text-align:left}
.elementor-kit-9 .stage-glyph{margin-left:0}
.elementor-kit-9 .portals{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;
    overflow-x:auto;scroll-snap-type:x mandatory;
    padding:0 22px 1.6rem;margin:0 -22px;gap:1rem;
    scrollbar-width:none;}
.elementor-kit-9 .portals::-webkit-scrollbar{display:none}
.elementor-kit-9 .portal{scroll-snap-align:center;min-height:440px}
.elementor-kit-9 .portal:hover{transform:none}
.elementor-kit-9 .swipe-hint{display:block}
.elementor-kit-9 .watch-grid{grid-template-columns:1fr}
.elementor-kit-9 .join-form{flex-direction:column}
.elementor-kit-9 .join-form input{flex:0 0 auto}
.elementor-kit-9 .join-form .btn:where(:not(.elementor-widget)){width:100%}
.elementor-kit-9 .join-form .btn :where(.elementor-button){width:100%}
.elementor-kit-9 .footer-top{grid-template-columns:1fr 1fr}
.elementor-kit-9 .shop-grid{grid-template-columns:1fr}
.elementor-kit-9 .prod:first-child{max-width:none}
.elementor-kit-9 .book-badge{left:-8px;top:-16px}
}
@media (max-width:560px){
.elementor-kit-9 .hero-btns .btn:where(:not(.elementor-widget)){width:100%}
.elementor-kit-9 .hero-btns .btn :where(.elementor-button){width:100%}
.elementor-kit-9 .footer-top{grid-template-columns:1fr;text-align:center}
.elementor-kit-9 .footer-brand img{margin-inline:auto}
.elementor-kit-9 .footer-bottom{justify-content:center;text-align:center}
.elementor-kit-9 .circle-item .ring{width:min(220px,66vw)}
}
.elementor-kit-9 .swipe-hint{display:none;text-align:center;font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-top:.6rem}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,
*::before,
*::after{animation:none!important;transition-duration:.01ms!important}
.elementor-kit-9 .reveal{opacity:1;transform:none}
.elementor-kit-9 .sparkles,
.elementor-kit-9 .bubbles,
.elementor-kit-9 .night{display:none}
}
.elementor-kit-9 .bookpage{padding-top:80px}
.elementor-kit-9 .bhero{position:relative;overflow:hidden;padding:clamp(3rem,7vw,6rem) 0 clamp(3.5rem,8vw,7rem)}
.elementor-kit-9 .bhero.ocean{background:linear-gradient(165deg,#0E5F77 0%,#12868C 46%,#19B0B6 100%)}
.elementor-kit-9 .bhero.farm{background:linear-gradient(165deg,#2F6E3C 0%,#4E9A47 44%,#8FC45A 100%)}
.elementor-kit-9 .bhero::after{content:"";position:absolute;inset:auto 0 -1px 0;height:90px;
  background:var(--cream);
  clip-path:polygon(0 100%,100% 100%,100% 0,72% 52%,38% 8%,0 62%);
  opacity:.98;}
.elementor-kit-9 .bhero-inner{position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.elementor-kit-9 .bhero-copy{color:#fff}
.elementor-kit-9 .bhero-copy .eyebrow{color:rgba(255,255,255,.9)}
.elementor-kit-9 .bhero-copy h1{font-size:clamp(2.4rem,5.6vw,4.4rem);font-weight:800;color:#fff;
  margin:0 0 .5rem;text-shadow:0 10px 34px rgba(12,2,28,.4);}
.elementor-kit-9 .bhero-tagline{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(1.05rem,2vw,1.5rem);color:var(--gold-light);
  margin:0 0 1.1rem;line-height:1.35;}
.elementor-kit-9 .bhero-copy .lede{color:rgba(255,255,255,.94)}
.elementor-kit-9 .bhero-btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.elementor-kit-9 .bcover{position:relative;perspective:1400px}
.elementor-kit-9 .bcover-inner{position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 44px 90px rgba(10,2,26,.46),0 10px 26px rgba(10,2,26,.3);
  transform:rotate(-2.4deg);transition:transform .6s cubic-bezier(.2,.9,.3,1.2);
  background:rgba(255,255,255,.1);}
.elementor-kit-9 .bcover:hover .bcover-inner{transform:rotate(-2.4deg) scale(1.04)}
.elementor-kit-9 .bcover-inner img{width:100%;height:auto}
.elementor-kit-9 .bcover-badge{position:absolute;z-index:3;top:-14px;left:-14px;
  background:var(--gold);color:var(--purple-deep);
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;font-size:.82rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.62em 1.2em;border-radius:var(--r-pill);
  box-shadow:0 12px 28px rgba(10,2,26,.35);}
.elementor-kit-9 .cover-ph{aspect-ratio:884/1400;display:grid;place-content:center;gap:1rem;
  text-align:center;padding:2rem;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 14px,transparent 14px 28px),
    linear-gradient(170deg,#FFF7EC,#F6E9D6);
  border:3px dashed rgba(74,27,120,.26);}
.elementor-kit-9 .cover-ph img{width:118px;margin-inline:auto;opacity:.92}
.elementor-kit-9 .cover-ph b{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:1.3rem;color:var(--purple);
  display:block;line-height:1.15;}
.elementor-kit-9 .cover-ph span{font-size:.92rem;color:var(--purple);opacity:.68;font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif}
.elementor-kit-9 .bfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:1rem;margin:-2.4rem auto 0;position:relative;z-index:5;}
.elementor-kit-9 .bfact{background:#fff;border-radius:var(--r-md);padding:1.3rem 1.4rem;
  box-shadow:var(--shadow-sm);text-align:center;}
.elementor-kit-9 .bfact dt{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem;}
.elementor-kit-9 .bfact dd{margin:0;font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:1.18rem;color:var(--purple);line-height:1.2}
.elementor-kit-9 .bsplit{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(2rem,5vw,4rem);align-items:center;}
.elementor-kit-9 .bsplit .round{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.elementor-kit-9 .pullquote{font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-size:clamp(1.4rem,2.8vw,2.1rem);
  line-height:1.3;color:var(--purple);border-left:6px solid var(--gold);
  padding:.2em 0 .2em 1em;margin:1.6rem 0;}
.elementor-kit-9 .themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}
.elementor-kit-9 .theme{background:#fff;border-radius:var(--r-md);padding:1.9rem 1.7rem;
  box-shadow:var(--shadow-sm);transition:transform .35s ease,box-shadow .35s ease;}
.elementor-kit-9 .theme:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}
.elementor-kit-9 .theme .ico{font-size:2.1rem;display:block;margin-bottom:.7rem}
.elementor-kit-9 .theme h3{font-size:1.28rem;color:var(--purple);margin-bottom:.45rem}
.elementor-kit-9 .theme p{margin:0;font-size:.98rem;opacity:.82}
.elementor-kit-9 .spread{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.elementor-kit-9 .spread img{width:100%;height:auto}
.elementor-kit-9 .nextbook{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;
  background:linear-gradient(130deg,var(--purple),var(--purple-bright));
  color:#fff;border-radius:var(--r-lg);padding:clamp(1.8rem,4vw,2.8rem);
  box-shadow:var(--shadow-md);}
.elementor-kit-9 .nextbook .nb-ico{font-size:3rem;line-height:1}
.elementor-kit-9 .nextbook h3{font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:.3rem}
.elementor-kit-9 .nextbook p{margin:0;opacity:.9}
.elementor-kit-9 .nextbook .btn:where(:not(.elementor-widget)){margin-left:auto;flex-shrink:0}
.elementor-kit-9 .nextbook .btn :where(.elementor-button){margin-left:auto;flex-shrink:0}
@media(max-width:900px){
.elementor-kit-9 .bhero-inner{grid-template-columns:1fr;gap:2.4rem}
.elementor-kit-9 .bcover{max-width:330px;margin-inline:auto;order:-1}
.elementor-kit-9 .bhero-copy{text-align:center}
.elementor-kit-9 .bhero-copy .lede{margin-inline:auto}
.elementor-kit-9 .bhero-btns{justify-content:center}
.elementor-kit-9 .nextbook .btn:where(:not(.elementor-widget)){margin-left:0;width:100%}
.elementor-kit-9 .nextbook .btn :where(.elementor-button){margin-left:0;width:100%}
}
.elementor-kit-9 .bcover.is3d .bcover-inner{background:none;border-radius:0;overflow:visible;
  box-shadow:none;transform:rotate(0deg);
  filter:drop-shadow(0 38px 60px rgba(10,2,26,.42)) drop-shadow(0 8px 18px rgba(10,2,26,.26));}
.elementor-kit-9 .bcover.is3d:hover .bcover-inner{transform:scale(1.04)}
.elementor-kit-9 .bcover.is3d .bcover-badge{top:4px;left:-6px}
.elementor-kit-9 .passport{background:linear-gradient(170deg,#0E5F77 0%,#12868C 52%,#19B0B6 100%);
  color:#fff;position:relative;overflow:hidden;}
.elementor-kit-9 .passport-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2.2rem,5vw,4.5rem);align-items:center;position:relative;z-index:2;}
.elementor-kit-9 .passport .eyebrow{color:var(--gold-light)}
.elementor-kit-9 .passport h2{color:#fff}
.elementor-kit-9 .passport-tagline{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(1rem,1.9vw,1.35rem);color:var(--gold-light);
  margin:0 0 1rem;line-height:1.4;}
.elementor-kit-9 .passport p.lede{color:rgba(255,255,255,.94)}
.elementor-kit-9 .missions{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.75rem}
.elementor-kit-9 .missions li{display:flex;align-items:flex-start;gap:.8rem;
  font-size:1.02rem;line-height:1.5;}
.elementor-kit-9 .missions li::before{content:"";flex:0 0 auto;width:22px;height:22px;margin-top:.22em;border-radius:50%;
  background:var(--gold);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.92);}
.elementor-kit-9 .passport-note{margin:1.8rem 0 0;font-size:.98rem;color:rgba(255,255,255,.82);
  border-left:4px solid rgba(255,255,255,.4);padding-left:1rem;}
.elementor-kit-9 .passport-btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.elementor-kit-9 .passport-waves{margin:1.6rem 0 0;font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;
  font-size:clamp(1.1rem,2.1vw,1.5rem);color:var(--gold-light);line-height:1.3;}
.elementor-kit-9 .passport-fan{display:block}
.elementor-kit-9 .passport-fan img{display:block;width:100%;height:auto;max-width:620px;margin-inline:auto;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.2);}
.elementor-kit-9 .passport-fan:hover img{transform:scale(1.04)}
@media(max-width:900px){
.elementor-kit-9 .passport-grid{grid-template-columns:1fr;gap:2.6rem}
.elementor-kit-9 .passport-fan{order:-1;min-height:260px}
.elementor-kit-9 .passport-fan img{width:min(74%,320px)}
.elementor-kit-9 .passport-fan img:nth-child(1){transform:rotate(-7deg) translate(-11%,-3%)}
.elementor-kit-9 .passport-fan img:nth-child(2){transform:rotate(4deg) translate(8%,4%)}
}
@media (prefers-reduced-motion:reduce){
.elementor-kit-9 .passport-fan img{transition:none}
}
.elementor-kit-9 .hero-banner{padding-top:80px;                 
  padding-bottom:clamp(2rem,5vw,3.6rem);
  text-align:center;
  background:#FDFBF4;}
.elementor-kit-9 .banner{display:block}
.elementor-kit-9 .banner img{display:block;width:100%;height:auto;
  border-radius:0;box-shadow:none;}
.elementor-kit-9 .hero-banner-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;
  margin:clamp(1.6rem,3.4vw,2.4rem) 0 1.4rem;}
.elementor-kit-9 .hero-banner .hero-credit{color:var(--purple);opacity:.72;text-shadow:none;margin:0;}
.elementor-kit-9 .hero-banner .hero-credit b{color:var(--teal)}
.elementor-kit-9 .poster{background:linear-gradient(180deg,var(--cream),var(--cream-deep))}
.elementor-kit-9 .poster-frame{max-width:1100px;margin-inline:auto;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);}
.elementor-kit-9 .poster-frame img{width:100%;height:auto}
.elementor-kit-9 .episode.soon-ep{cursor:default}
.elementor-kit-9 .episode.soon-ep:hover{transform:none}
.elementor-kit-9 .ep-soon{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-light);margin:.35rem 0 0;opacity:.85;}
.elementor-kit-9 .pagehead{padding:calc(80px + clamp(2.6rem,5vw,4.4rem)) 0 clamp(2.4rem,4.4vw,3.6rem);
  background:linear-gradient(170deg,var(--cream) 0%,var(--cream-deep) 100%);
  text-align:center;position:relative;overflow:hidden;}
.elementor-kit-9 .pagehead .eyebrow{color:var(--teal)}
.elementor-kit-9 .pagehead h1{font-size:clamp(2.3rem,5.4vw,4.2rem);font-weight:800;color:var(--purple);
  margin:0 auto .7rem;max-width:18ch;}
.elementor-kit-9 .pagehead .lede{margin-inline:auto;color:rgba(46,26,70,.78)}
.elementor-kit-9 .pagehead.night-tone{background:linear-gradient(170deg,#1A0E3D 0%,#2B1A63 55%,#3C2480 100%);}
.elementor-kit-9 .pagehead.night-tone .eyebrow{color:var(--gold-light)}
.elementor-kit-9 .pagehead.night-tone h1{color:#fff}
.elementor-kit-9 .pagehead.night-tone .lede{color:rgba(255,255,255,.88)}
.elementor-kit-9 .watch-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:clamp(1.8rem,3.4vw,2.6rem)}
.elementor-kit-9 .contact-form{flex-direction:column;align-items:stretch;
  max-width:620px;margin-inline:auto;gap:.9rem;}
.elementor-kit-9 .contact-form input{flex:0 0 auto;width:100%;height:56px}
.elementor-kit-9 .contact-form textarea{font:inherit;width:100%;padding:1.05em 1.3em;border-radius:var(--r-md);
  border:2px solid rgba(74,27,120,.16);background:#fff;color:var(--ink);
  resize:vertical;min-height:140px;}
.elementor-kit-9 .contact-form textarea:focus-visible{outline:3px dashed var(--gold);outline-offset:3px}
.elementor-kit-9 .contact-form .btn:where(:not(.elementor-widget)){align-self:center}
.elementor-kit-9 .contact-form .btn :where(.elementor-button){align-self:center}
.elementor-kit-9 .nav-group{position:relative;display:flex;align-items:center}
.elementor-kit-9 .nav-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
  display:flex;flex-direction:column;gap:.1rem;min-width:230px;
  padding:.7rem;border-radius:var(--r-md);
  background:var(--cream);box-shadow:var(--shadow-md);
  border:2px solid rgba(74,27,120,.1);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s;}
.elementor-kit-9 .nav-group:hover .nav-drop,
.elementor-kit-9 .nav-group:focus-within .nav-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.elementor-kit-9 .nav-drop a{padding:.6em .9em;border-radius:12px;white-space:nowrap;
  color:var(--ink)!important;text-shadow:none!important;
  transition:background .2s ease,color .2s ease;}
.elementor-kit-9 .nav-drop a:hover{background:rgba(74,27,120,.08);color:var(--purple)!important}
.elementor-kit-9 .mobile-nav a.sub{font-size:clamp(1.2rem,5vw,1.6rem);opacity:.82;
  padding-left:1.4rem;}
@media (prefers-reduced-motion:reduce){
.elementor-kit-9 .nav-drop{transition:none}
}
.elementor-kit-9 .storycards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.4rem,2.6vw,2.2rem);align-items:stretch;}
.elementor-kit-9 .storycard{background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.15),box-shadow .45s ease;}
.elementor-kit-9 .storycard:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}
.elementor-kit-9 .sc-cover{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--cream-deep)}
.elementor-kit-9 .sc-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.elementor-kit-9 .storycard:hover .sc-cover img{transform:scale(1.05)}
.elementor-kit-9 .sc-world{position:absolute;left:1rem;bottom:1rem;z-index:2;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;
  font-weight:600;font-size:.76rem;letter-spacing:.1em;
  background:rgba(20,8,40,.62);color:#fff;
  padding:.5em 1em;border-radius:var(--r-pill);}
.elementor-kit-9 .sc-ph{width:100%;height:100%;display:grid;place-content:center;gap:.6rem;text-align:center;padding:1.4rem;
  background:repeating-linear-gradient(135deg,rgba(74,27,120,.04) 0 12px,transparent 12px 24px),
             linear-gradient(170deg,#FFF7EC,#F6E9D6);
  border-bottom:3px dashed rgba(74,27,120,.18);}
.elementor-kit-9 .sc-ph img{width:74px;height:auto;margin-inline:auto;opacity:.9}
.elementor-kit-9 .sc-ph span{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-size:.8rem;color:var(--purple);opacity:.7}
.elementor-kit-9 .sc-body{padding:clamp(1.3rem,2.2vw,1.8rem);display:flex;flex-direction:column;gap:.55rem;flex:1}
.elementor-kit-9 .sc-kicker{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0;}
.elementor-kit-9 .sc-body h3{font-size:clamp(1.2rem,2vw,1.5rem);color:var(--purple);margin:0}
.elementor-kit-9 .sc-body h3 a{transition:color .25s ease}
.elementor-kit-9 .sc-body h3 a:hover{color:var(--purple-bright)}
.elementor-kit-9 .sc-tagline{font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:500;
  font-size:.96rem;line-height:1.45;color:var(--forest);margin:0;}
.elementor-kit-9 .sc-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.elementor-kit-9 .sc-chips .chip{background:rgba(74,27,120,.07);color:var(--purple);border:0;font-size:.74rem}
.elementor-kit-9 .sc-body .link-arrow{margin-top:auto;padding-top:.9rem;color:var(--teal);align-self:flex-start}
.elementor-kit-9 .storycard.ocean .sc-world{background:rgba(10,70,95,.72)}
.elementor-kit-9 .storycard.farm  .sc-world{background:rgba(60,85,30,.72)}
.elementor-kit-9 .storycard.forest .sc-world{background:rgba(35,70,45,.72)}
@media(max-width:980px){
.elementor-kit-9 .storycards{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
.elementor-kit-9 .storycards{grid-template-columns:1fr}
}
/* ============================================================
   ELEMENTOR ADAPTER
   Makes Elementor's wrappers transparent to the mockup layout.
   Containers built from the mockup carry the class "kd" and lay
   out as the plain blocks they were; widgets marked "kd" drop
   their wrapper box on the live site, so the heading, paragraph,
   button or image inside sits exactly where the mockup put it.
   In the editor the wrappers keep their boxes so every widget can
   still be selected.
   ============================================================ */
.elementor-kit-9 .e-con.kd{
  --display:block;--flex-direction:row;--flex-wrap:nowrap;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --gap:normal;--row-gap:normal;--column-gap:normal;
  --width:auto;--position:static;min-width:auto;
}
/* every flex container prints its own --display:flex, so this one needs the extra class */
.elementor-kit-9 .elementor .e-con.kd{--display:block}
body:not(.elementor-editor-active) .elementor-widget.kd:not([class*="elementor-hidden-"]){display:contents!important}
.elementor-editor-active .reveal{opacity:1!important;transform:none!important}
/* in the editor, decoration (HTML widgets: bubbles, sparkles, episode art)
   steps aside as on the live site, and images position against their card
   rather than their wrapper; both stay selectable from the Structure panel */
.elementor-editor-active :is(.elementor-widget-html,.elementor-widget-text-editor.kd-abs).kd{display:contents!important}
.elementor-editor-active .elementor-widget-image.kd{position:static;height:100%}

/* a text widget re-saved in the editor can gain a <p> around bare links;
   keep the menus laid out the same if that happens */
.elementor-kit-9 :is(.nav,.nav-group,.nav-drop,.mobile-nav,.footer-legal) > p,
.elementor-kit-9 :is(.nav,.nav-group,.mobile-nav) > .elementor-widget > p{display:contents}

/* button widgets: let the label and any 💜 span sit directly in the
   button, so the mockup's flex gap spaces them */
.elementor-kit-9 .elementor-widget-button.kd :is(.elementor-button-content-wrapper,.elementor-button-text){display:contents}

/* ---------- forms (Elementor Pro form widget) ----------
   The form, its field wrapper and each field group step aside, so the
   widget (which carries the mockup's join-form / contact-form classes) is
   the flex row the mockup's form was and the ported rules lay it out. */
.elementor-kit-9 .kd-form :is(.elementor-form,.elementor-form-fields-wrapper,.elementor-field-group){display:contents}
.elementor-kit-9 .join-form:not(.contact-form) .elementor-field-textual{width:auto}
/* Elementor caps widgets at max-width:100% with four classes; restore the mockup's caps */
.elementor-kit-9 .elementor.elementor .e-con > .elementor-widget.join-form{max-width:680px}
.elementor-kit-9 .elementor.elementor .e-con > .elementor-widget.contact-form{max-width:620px}
.elementor-kit-9 .kd-form .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.65em;flex:0 0 auto;
  font-family:'Fredoka','Avenir Next','Segoe UI',system-ui,sans-serif;font-weight:600;
  font-size:clamp(.85rem,1.3vw,1rem);letter-spacing:.11em;text-transform:uppercase;
  padding:.85em 1.7em;min-height:54px;border-radius:var(--r-pill);border:0;
  background:var(--purple);color:#fff;box-shadow:0 12px 26px rgba(74,27,120,.35);
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),box-shadow .28s ease,background .25s ease;
  will-change:transform;
}
.elementor-kit-9 .kd-form .elementor-button:is(:hover,:focus,:focus-visible){background:var(--purple-bright);color:#fff;transform:scale(1.04);box-shadow:0 18px 34px rgba(122,62,177,.42)}
.elementor-kit-9 .kd-form .elementor-button:active{transform:translateY(-1px) scale(.99)}
.elementor-kit-9 .contact-form .elementor-button{align-self:center}
.elementor-kit-9 .kd-form .elementor-message{
  flex:1 0 100%;font-family:'Baloo 2','Trebuchet MS','Segoe UI',system-ui,sans-serif;font-weight:700;
  color:var(--forest);font-size:1.35rem;margin-top:1.2rem;text-align:center;
}
.elementor-kit-9 .kd-form .elementor-message.elementor-message-danger,
.elementor-kit-9 .kd-form .elementor-error .elementor-message{color:var(--coral);font-size:.95rem}
.elementor-kit-9 .kd-form .elementor-message::before{content:none}
@media (max-width:820px){
  .elementor-kit-9 .join-form .elementor-button{width:100%}
}
/* WordPress lazy-loads the portrait, and an unloaded image gives the
   centred grid item no width to size from; the mockup's eager image always
   filled the column, so state that width outright */
.elementor-kit-9 .portrait{width:100%}

.elementor-kit-9 .kd-form.kd-heart .elementor-button-text::after{
  content:"💜";display:inline-block;margin-left:.65em;animation:beat 2.6s ease-in-out infinite;
}

/* ============================================================
   NATIVE WIDGETS (pages built on widget settings, no "kd" class)
   Behaviour the panel has no control for, shared by every such widget.
   ============================================================ */
/* buttons: label and 💜 sit side by side with the mockup's gap, and the hover lift */
.elementor-kit-9 .elementor-widget-button:not(.kd) .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.65em;min-height:56px;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.2),box-shadow .28s ease,background .25s ease,color .25s ease;
  will-change:transform;
}
.elementor-kit-9 .elementor-widget-button:not(.kd) .elementor-button:hover{transform:scale(1.04)}
.elementor-kit-9 .elementor-widget-button:not(.kd) .elementor-button:active{transform:translateY(-1px) scale(.99)}
.elementor-kit-9 .elementor-widget-button:not(.kd) :is(.elementor-button-content-wrapper,.elementor-button-text){display:contents}
/* text: the widget's Advanced margins are the spacing, so the paragraph inside adds none at its ends */
.elementor-kit-9 .elementor-widget-text-editor:not(.kd) > :first-child{margin-top:0}
.elementor-kit-9 .elementor-widget-text-editor:not(.kd) > :last-child{margin-bottom:0}
/* images: no stray line-height gap under an inline image */
.elementor-kit-9 .elementor-widget-image:not(.kd){line-height:0}/* End custom CSS */