.elementor-9883 .elementor-element.elementor-element-358897f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9883 .elementor-element.elementor-element-358897f:not(.elementor-motion-effects-element-type-background), .elementor-9883 .elementor-element.elementor-element-358897f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0D2D40;}.elementor-9883 .elementor-element.elementor-element-358897f.e-con{--align-self:center;}.elementor-9883 .elementor-element.elementor-element-329f01a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:5%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-9883 .elementor-element.elementor-element-dc6587b .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:48px;font-weight:400;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9883 .elementor-element.elementor-element-9b84cb8{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9883 .elementor-element.elementor-element-b549159 .elementor-button{background-color:#24BCBD;font-family:"Montserrat", Sans-serif;font-weight:600;transition-duration:1s;border-radius:30px 30px 30px 30px;padding:15px 10px 15px 10px;}.elementor-9883 .elementor-element.elementor-element-b549159 .elementor-button:hover, .elementor-9883 .elementor-element.elementor-element-b549159 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-9883 .elementor-element.elementor-element-b549159{width:var( --container-widget-width, 35% );max-width:35%;--container-widget-width:35%;--container-widget-flex-grow:0;}.elementor-9883 .elementor-element.elementor-element-b549159 .elementor-button:hover svg, .elementor-9883 .elementor-element.elementor-element-b549159 .elementor-button:focus svg{fill:#000000;}.elementor-9883 .elementor-element.elementor-element-1b22d20{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9883 .elementor-element.elementor-element-1b22d20.e-con{--align-self:flex-end;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-9883 .elementor-element.elementor-element-54c33da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-9883 .elementor-element.elementor-element-329f01a{--width:60%;}.elementor-9883 .elementor-element.elementor-element-1b22d20{--width:40%;}}@media(max-width:767px){.elementor-9883 .elementor-element.elementor-element-358897f{--margin-top:-1%;--margin-bottom:-1%;--margin-left:-1%;--margin-right:-1%;}.elementor-9883 .elementor-element.elementor-element-b549159{--container-widget-width:60%;--container-widget-flex-grow:0;width:var( --container-widget-width, 60% );max-width:60%;}}/* Start custom CSS for html, class: .elementor-element-9ce1954 */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { font-family: var(--font-b); color: var(--navy); background: var(--white); line-height: 1.65; -webkit-font-smoothing: antialiased; }

    /* ── UTILITIES ── */
    .eyebrow {
      display: inline-flex; align-items: center; gap: .5rem;
      color: var(--teal); font-weight: 700; font-size: .76rem;
      text-transform: uppercase; letter-spacing: .12em; margin-bottom: .7rem;
    }
    .eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--teal); border-radius: 2px; display: inline-block; }
    h1,h2,h3 { font-family: var(--font-h); font-weight: 400; line-height: 1.2; }
    h1 { font-size: clamp(2.2rem, 4.5vw, 3.5rem); }
    h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
    h3 { font-size: 1.2rem; }
    em { font-style: italic; color: var(--teal); }

    .sec { padding: 88px 5vw; }
    .sec-alt { background: var(--off); }
    .wrap { max-width: 1120px; margin: auto; }

    .btn-primary {
      display: inline-flex; align-items: center; gap: .5rem;
      background: var(--gold); color: var(--navy);
      padding: .82rem 1.9rem; border-radius: 50px;
      font-weight: 700; font-size: .95rem; text-decoration: none;
      box-shadow: 0 4px 20px rgba(232,164,53,.38);
      transition: transform .22s, box-shadow .22s;
    }
    .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(232,164,53,.45); }
    .btn-outline {
      display: inline-flex; align-items: center; gap: .5rem;
      border: 2px solid var(--teal); color: var(--teal);
      padding: .78rem 1.8rem; border-radius: 50px;
      font-weight: 600; font-size: .95rem; text-decoration: none;
      transition: background .2s, color .2s;
    }
    .btn-outline:hover { background: var(--teal); color: #fff; }

    /* ══ APPROACH (Tell-Show-Do) — Sky Adventure Redesign ══ */
    .approach-adventure {
      background: linear-gradient(180deg, #eaf7fb 0%, #f0fafb 50%, var(--off) 100%);
      padding: 88px 5vw; position: relative; overflow: hidden;
    }
    /* Clouds */
    .adv-cloud {
      position: absolute; background: rgba(255,255,255,.92); border-radius: 50px;
      box-shadow: 0 4px 24px rgba(26,158,143,.08); pointer-events: none;
    }
    .adv-cloud::before, .adv-cloud::after {
      content: ''; position: absolute; background: rgba(255,255,255,.92); border-radius: 50%;
    }
    .adv-cloud.c1 { width: 130px; height: 42px; top: 10%; left: 1.5%; }
    .adv-cloud.c1::before { width: 64px; height: 58px; top: -30px; left: 20px; }
    .adv-cloud.c1::after { width: 48px; height: 44px; top: -20px; left: 60px; }
    .adv-cloud.c2 { width: 170px; height: 52px; top: 7%; right: 4%; }
    .adv-cloud.c2::before { width: 86px; height: 72px; top: -38px; left: 24px; }
    .adv-cloud.c2::after { width: 64px; height: 56px; top: -24px; left: 80px; }
    .adv-cloud.c3 { width: 108px; height: 34px; bottom: 16%; left: 0.5%; opacity:.55; }
    .adv-cloud.c3::before { width: 54px; height: 46px; top: -24px; left: 16px; }
    .adv-cloud.c3::after { width: 40px; height: 36px; top: -16px; left: 50px; }
    .adv-cloud.c4 { width: 118px; height: 38px; bottom: 12%; right: 2%; opacity:.55; }
    .adv-cloud.c4::before { width: 60px; height: 52px; top: -26px; left: 18px; }
    .adv-cloud.c4::after { width: 44px; height: 40px; top: -16px; left: 56px; }
    /* Inner wrap */
    .adv-inner { max-width: 1120px; margin: auto; position: relative; z-index: 2; }
    .adv-title-row { text-align: center; margin-bottom: 2.8rem; }
    .adv-title-row h2 {
      font-family: var(--font-h); font-size: clamp(1.7rem, 3vw, 2.5rem); color: var(--navy);
    }
    .adv-title-row h2 em { color: var(--teal); }
    /* Step cards */
    .adv-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-bottom: 2.4rem; }
    .adv-card {
      border-radius: 20px; padding: 2rem 1.6rem 1.8rem;
      text-align: center; position: relative; overflow: hidden;
      box-shadow: 0 8px 32px rgba(0,0,0,.10);
      transition: transform .28s, box-shadow .28s;
      border: 3px solid rgba(255,255,255,.7);
    }
    .adv-card:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 18px 48px rgba(0,0,0,.15); }
    .adv-card.tell  { background: linear-gradient(160deg, #4db86b 0%, #3aa058 100%); }
    .adv-card.show  { background: linear-gradient(160deg, #f5973e 0%, #e07b20 100%); }
    .adv-card.do    { background: linear-gradient(160deg, var(--teal) 0%, var(--teal-dk) 100%); }
    /* Dashed border inner frame */
    .adv-card-frame {
      border: 2.5px dashed rgba(255,255,255,.45);
      border-radius: 12px; padding: 1.4rem 1rem 1.2rem;
    }
    .adv-step-label {
      font-family: var(--font-h); font-size: 1.75rem; color: #fff;
      margin-bottom: .3rem; display: flex; align-items: center; justify-content: center; gap: .4rem;
    }
    .adv-step-emoji { font-size: 1.3rem; }
    .adv-mascot { font-size: 3.2rem; margin-bottom: .8rem; display: block; filter: drop-shadow(0 3px 8px rgba(0,0,0,.2)); }
    .adv-card-body { font-size: .9rem; color: rgba(255,255,255,.93); line-height: 1.7; margin-top: .6rem; }
    /* Smile mission banner — site palette */
    .adv-mission {
      background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dk) 100%);
      border-radius: var(--r-xl); padding: 1.8rem 2.2rem;
      display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
      box-shadow: 0 8px 32px rgba(26,158,143,.28);
      border: 2px solid rgba(255,255,255,.2);
    }
    .adv-mission-label {
      font-family: var(--font-h); font-size: 1.15rem; color: #fff;
      white-space: nowrap; display: flex; align-items: center; gap: .5rem;
    }
    .adv-mission-flow { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; flex: 1; justify-content: center; }
    .adv-mpill {
      background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.35);
      border-radius: 50px; padding: .42rem 1.1rem;
      font-size: .88rem; font-weight: 700; color: #fff;
    }
    .adv-marrow { color: var(--teal-mid); font-size: 1.1rem; font-weight: 700; }
    .adv-mission-tagline {
      font-size: .85rem; color: rgba(255,255,255,.82); text-align: center;
      padding-top: .9rem; line-height: 1.6;
    }

    /* ══ WHY PARENTS ══ */
    .why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
    .why-text h2 { margin-bottom: 1rem; }
    .why-text p { font-size: 1rem; color: var(--gray); line-height: 1.8; margin-bottom: 1.2rem; }
    .why-highlight {
      background: var(--teal-lt); border-left: 4px solid var(--teal);
      border-radius: 0 var(--r-md) var(--r-md) 0; padding: 1.2rem 1.5rem; margin-top: 1.5rem;
    }
    .why-highlight p { color: var(--teal-dk); font-weight: 600; font-size: .95rem; margin: 0; line-height: 1.6; }
    .why-visual {
      background: linear-gradient(135deg, var(--teal-lt) 0%, var(--teal-mid) 100%);
      border-radius: var(--r-xl); padding: 2.5rem;
      display: flex; flex-direction: column; gap: 1.2rem; border: 1.5px solid var(--border);
    }
    .why-fact {
      background: var(--white); border-radius: var(--r-md);
      padding: 1.2rem 1.4rem; display: flex; align-items: flex-start; gap: 1rem;
      box-shadow: var(--sh-sm); transition: transform .2s, box-shadow .2s;
    }
    .why-fact:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
    .why-fact-icon {
      width: 44px; height: 44px; background: var(--teal-lt);
      border-radius: var(--r-sm); display: flex; align-items: center;
      justify-content: center; font-size: 1.3rem; flex-shrink: 0;
    }
    .why-fact-text strong { display: block; color: var(--navy); font-size: .95rem; margin-bottom: .2rem; }
    .why-fact-text span { font-size: .85rem; color: var(--gray); line-height: 1.55; }

    /* ══ COMPREHENSIVE SERVICES ══ */
    .services-intro { max-width: 640px; margin-bottom: 3rem; }
    .services-intro p { font-size: 1rem; color: var(--gray); line-height: 1.8; margin-top: .8rem; }
    .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; }
    .service-card {
      background: var(--white); border: 1.5px solid var(--border);
      border-radius: var(--r-lg); padding: 2.2rem 1.8rem;
      position: relative; overflow: hidden;
      transition: transform .25s, box-shadow .25s, border-color .25s;
    }
    .service-card::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
      background: linear-gradient(90deg, var(--gold), #f5c76a);
      transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
    }
    .service-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); border-color: var(--gold); }
    .service-card:hover::before { transform: scaleX(1); }
    .service-num {
      font-family: var(--font-h); font-size: 3.5rem; color: var(--teal-mid);
      line-height: 1; margin-bottom: .6rem; display: block; transition: color .25s;
    }
    .service-card:hover .service-num { color: var(--teal); }
    .service-icon {
      width: 52px; height: 52px; background: var(--gold-lt);
      border-radius: var(--r-sm); display: flex; align-items: center;
      justify-content: center; font-size: 1.5rem; margin-bottom: 1.2rem;
    }
    .service-card h3 { color: var(--navy); margin-bottom: .7rem; font-size: 1.12rem; }
    .service-card p { font-size: .9rem; color: var(--gray); line-height: 1.72; }

    /* ══ DARK AFTERCARE / SUPERSTAR SECTION ══ */
    .quote-sec {
      background: linear-gradient(140deg, var(--navy) 0%, #0f3d58 50%, var(--teal-dk) 100%);
      padding: 88px 5vw; position: relative; overflow: hidden;
    }
    .quote-sec::before {
      content: '⭐'; position: absolute; top: -20px; right: 5vw;
      font-size: 18rem; opacity: .05; line-height: 1; pointer-events: none; user-select: none;
    }
    .quote-inner { max-width: 1120px; margin: auto; position: relative; z-index: 1; }
    .aftercare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
    .aftercare-text h2 { font-family: var(--font-h); color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: 1rem; }
    .aftercare-text p { font-size: 1rem; color: rgba(255,255,255,.72); line-height: 1.8; margin-bottom: 1rem; }
    .aftercare-items { display: flex; flex-direction: column; gap: .85rem; }
    .aftercare-item {
      display: flex; align-items: flex-start; gap: .9rem;
      background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
      border-radius: var(--r-md); padding: 1rem 1.2rem;
    }
    .aftercare-num {
      width: 28px; height: 28px; background: var(--teal);
      border-radius: 50%; display: flex; align-items: center;
      justify-content: center; color: #fff; font-size: .82rem; flex-shrink: 0; font-weight: 700;
    }
    .aftercare-item-text strong { display: block; color: #fff; font-size: .92rem; margin-bottom: .12rem; }
    .aftercare-item-text span { font-size: .84rem; color: rgba(255,255,255,.65); line-height: 1.5; }

    /* ══ SAFETY SECTION ══ */
    .safety-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
    .safety-text h2 { margin-bottom: 1rem; }
    .safety-text p { font-size: 1rem; color: var(--gray); line-height: 1.8; margin-bottom: 1rem; }
    .safety-list { display: flex; flex-direction: column; gap: .85rem; margin-top: 1.5rem; }
    .safety-item {
      display: flex; align-items: flex-start; gap: .9rem;
      background: var(--teal-lt); border-radius: var(--r-md); padding: 1rem 1.2rem;
    }
    .safety-check {
      width: 28px; height: 28px; background: var(--teal);
      border-radius: 50%; display: flex; align-items: center;
      justify-content: center; color: #fff; font-size: .85rem; flex-shrink: 0; font-weight: 700;
    }
    .safety-item-text strong { display: block; color: var(--navy); font-size: .95rem; margin-bottom: .15rem; }
    .safety-item-text span { font-size: .85rem; color: var(--gray); line-height: 1.5; }
    .safety-visual {
      background: linear-gradient(135deg, var(--navy) 0%, var(--navy-lt) 100%);
      border-radius: var(--r-xl); padding: 2.5rem; position: relative; overflow: hidden;
    }
    .safety-visual::before {
      content: ''; position: absolute; inset: 0;
      background: radial-gradient(circle, rgba(26,158,143,.12) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .safety-visual-inner { position: relative; z-index: 1; }
    .sv-title { font-family: var(--font-h); font-size: 1.4rem; color: #fff; margin-bottom: .4rem; }
    .sv-sub { font-size: .82rem; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 2rem; }
    .sv-row {
      display: flex; align-items: center; gap: 1rem;
      background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
      border-radius: var(--r-md); padding: 1rem 1.2rem; margin-bottom: .75rem;
    }
    .sv-row-icon { font-size: 1.4rem; }
    .sv-row-label { font-size: .88rem; color: rgba(255,255,255,.7); font-weight: 500; }
    .sv-row-val { margin-left: auto; font-size: .82rem; font-weight: 700; color: #7ee8dd; }

    /* ══ FAQ ══ */
    .faq-intro { max-width: 640px; margin: 0 auto 3rem; }
    .faq-list { max-width: none; width: 100%; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
    .faq-item {
      border: 1.5px solid var(--border); border-radius: var(--r-md);
      overflow: hidden; transition: border-color .2s, box-shadow .2s;
    }
    .faq-item:hover { border-color: var(--teal); box-shadow: var(--sh-sm); }
    .faq-q {
      width: 100%; background: none; border: none; cursor: pointer;
      padding: 1.3rem 1.6rem; display: flex; align-items: center; justify-content: space-between;
      font-family: var(--font-b); font-size: .98rem; font-weight: 600;
      color: var(--navy); text-align: left; transition: background .2s;
    }
    .faq-q:hover { background: var(--teal-lt); }
    .faq-q[aria-expanded="true"] { background: var(--teal-lt); color: var(--teal-dk); }
    .faq-icon {
      width: 28px; height: 28px; border-radius: 50%;
      background: var(--teal-lt); color: var(--teal);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem; flex-shrink: 0; font-weight: 700;
      transition: transform .3s, background .2s;
    }
    .faq-q[aria-expanded="true"] .faq-icon { transform: rotate(45deg); background: var(--teal); color: #fff; }
    .faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
    .faq-a.open { max-height: 420px; }
    .faq-a-inner { padding: 0 1.6rem 1.4rem; font-size: .93rem; color: var(--gray); line-height: 1.78; }

    /* ── ANIMATIONS ── */
    [data-fade] { opacity: 1; transform: none; }
    [data-fade].visible { opacity: 1; transform: none; }
    [data-fade-left] { opacity: 1; transform: none; }
    [data-fade-left].visible { opacity: 1; transform: none; }

    /* ── RESPONSIVE ── */
    @media (max-width: 960px) {
      .why-grid, .safety-inner, .aftercare-grid { grid-template-columns: 1fr; }
      .steps-grid, .services-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px) {
      .sec { padding: 60px 5vw; }
      .quote-sec { padding: 60px 5vw; }
      .steps-grid, .services-grid { grid-template-columns: 1fr; }
      .mission-banner { flex-direction: column; align-items: flex-start; gap: 1rem; }
    }/* End custom CSS */