
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:light dark;--paper:#f5f7f3;--surface:#fff;--surface-soft:#e8eee9;--ink:#17302b;--muted:#50635e;--line:#cbd6d0;--green:#1f624f;--green-deep:#123f35;--coral:#d06b55;--coral-soft:#f3ddd6;--white:#fff;--shadow:0 18px 55px rgba(27,57,49,.13)}
@media(prefers-color-scheme:dark){:root{--paper:#101a17;--surface:#17241f;--surface-soft:#1d3029;--ink:#eef6f1;--muted:#b7c7c0;--line:#354a42;--green:#65b398;--green-deep:#d7eee5;--coral:#ee927c;--coral-soft:#492d28;--white:#101a17;--shadow:0 18px 55px rgba(0,0,0,.35)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6;overflow-x:hidden}img{display:block;width:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(1160px,calc(100% - 40px));margin:0 auto}.serif{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400}
.topbar{display:flex;justify-content:flex-end;align-items:center;min-height:118px;gap:28px;font-size:.92rem;font-weight:600}.topbar a{text-decoration:none}.topbar a:not(.nav-cta):not(.brand-logo):hover{color:var(--green)}.brand-logo{width:220px;margin-right:auto;flex:0 0 auto}.brand-logo img{width:100%;height:auto}.nav-cta{background:var(--green-deep);color:var(--white);padding:10px 17px;border-radius:999px}
.hero{padding:24px 0 92px}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(38px,6vw,84px)}.eyebrow{color:var(--green);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 20px}h1{margin:0;max-width:680px;font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.045em}.hero-copy>p:not(.eyebrow){max-width:570px;margin:28px 0 32px;color:var(--muted);font-size:clamp(1.04rem,1.5vw,1.22rem)}.button-row{display:flex;flex-wrap:wrap;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:3px;text-decoration:none;font-weight:700;transition:background .2s ease,color .2s ease}.button.primary{background:var(--green);color:var(--white)}.button.primary:hover{background:var(--coral)}.button.secondary{border:1px solid var(--line);background:var(--surface)}.button.secondary:hover{border-color:var(--green);color:var(--green)}.hero-visual{position:relative;padding:0 0 38px 38px}.hero-visual::before{content:"";position:absolute;left:0;bottom:0;width:56%;height:62%;background:var(--coral-soft)}.hero-visual img{position:relative;z-index:1;aspect-ratio:4/4.8;object-fit:cover;object-position:53% center;box-shadow:var(--shadow)}.credential-note{position:absolute;z-index:2;right:-18px;bottom:0;width:min(360px,82%);padding:20px 22px;background:var(--green-deep);color:var(--white);line-height:1.35;box-shadow:0 10px 30px rgba(17,49,41,.25)}.credential-note span{display:block;font-size:.72rem;opacity:.76;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.credential-note strong{display:block;font-size:1.03rem;margin-bottom:8px}.credential-note small{display:block;font-size:.8rem;line-height:1.45;opacity:.9}
.intro{background:var(--green-deep);color:var(--white);padding:84px 0}.intro-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(40px,8vw,110px);align-items:start}.intro h2,.section-heading h2,.invite h2{margin:0;font-size:clamp(2.2rem,4.4vw,4rem);line-height:1.05;letter-spacing:-.03em}.intro .lead{margin:4px 0 22px;font-size:1.25rem;line-height:1.55}.intro .detail{color:color-mix(in srgb,var(--white) 75%,transparent);margin:0}
.philosophy{padding:92px 0 98px}.philosophy-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,96px);align-items:start;border-top:1px solid var(--line);padding-top:54px}.philosophy h2{margin:0;font-size:clamp(2.15rem,4.2vw,3.8rem);line-height:1.08;letter-spacing:-.03em}.philosophy p{margin:2px 0 0;color:var(--muted);font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.75}
.training-format{padding:0 0 104px}.format-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:5px solid var(--coral);box-shadow:var(--shadow)}.format-item{padding:30px 28px 32px;border-right:1px solid var(--line)}.format-item:last-child{border-right:0}.format-item span{display:block;color:var(--coral);font-family:"Libre Caslon Display",Georgia,serif;font-size:2.35rem;line-height:1;margin-bottom:10px}.format-item strong{display:block;line-height:1.3;margin-bottom:5px}.format-item p{color:var(--muted);font-size:.9rem;margin:0;line-height:1.45}

.next-class { background: var(--green-deep); color: var(--white); padding: 94px 0; }

    .next-class-heading { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(36px, 7vw, 96px); align-items: end; margin-bottom: 42px; }

    .next-class h2 { margin: 0; font-size: clamp(2.2rem, 4.4vw, 4rem); line-height: 1.05; letter-spacing: -.03em; }

    .next-class-heading p { margin: 0 0 4px; color: color-mix(in srgb, var(--white) 76%, transparent); font-size: 1.04rem; }

    .small-group-callout {

      display: grid;

      grid-template-columns: .72fr 1.28fr;

      gap: clamp(28px, 5vw, 70px);

      align-items: center;

      margin-bottom: 22px;

      padding: 24px 30px;

      background: var(--coral-soft);

      color: var(--ink);

    }

    .small-group-callout strong {

      color: var(--coral);

      font-family: "Libre Caslon Display", Georgia, serif;

      font-size: clamp(1.7rem, 3vw, 2.5rem);

      font-weight: 400;

      line-height: 1.1;

    }

    .small-group-callout p { margin: 0; color: var(--muted); font-size: 1.02rem; }

    .class-details { display: grid; grid-template-columns: .72fr 1.28fr; gap: 1px; background: color-mix(in srgb, var(--white) 22%, transparent); }

    .tuition, .date-list { background: var(--surface); color: var(--ink); }

    .tuition { padding: clamp(30px, 5vw, 54px); display: flex; flex-direction: column; justify-content: center; }

    .tuition-label { color: var(--muted); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

    .tuition strong { display: block; color: var(--coral); font-family: "Libre Caslon Display", Georgia, serif; font-size: clamp(3.3rem, 7vw, 5.6rem); font-weight: 400; line-height: 1; margin: 12px 0 15px; }

    .tuition p { color: var(--muted); margin: 0; max-width: 320px; }

    .class-date { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 28px 32px; border-bottom: 1px solid var(--line); }

    .class-date:last-child { border-bottom: 0; }

    .class-date span { display: block; color: var(--coral); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 3px; }

    .class-date time, .class-language-value { display: block; font-size: clamp(1.12rem, 2vw, 1.35rem); font-weight: 700; line-height: 1.35; }

    .class-date strong { font-size: 1.05rem; white-space: nowrap; }

    .course-commitment { margin-top: 28px; padding-top: 25px; border-top: 1px solid color-mix(in srgb, var(--white) 28%, transparent); display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(36px, 7vw, 96px); }

    .course-commitment strong { font-size: 1.05rem; }

    .course-commitment p { margin: 0; color: color-mix(in srgb, var(--white) 80%, transparent); }



    .bring { padding: 96px 0 0; }

    .bring-grid {

      display: grid;

      grid-template-columns: .72fr 1.28fr;

      gap: clamp(36px, 7vw, 96px);

      align-items: start;

      padding-bottom: 76px;

      border-bottom: 1px solid var(--line);

    }

    .bring h2 { margin: 0; font-size: clamp(2.2rem, 4.4vw, 4rem); line-height: 1.05; letter-spacing: -.03em; }

    .bring-intro { margin: 2px 0 28px; color: var(--muted); font-size: 1.08rem; }

    .bring-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }

    .bring-list li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 19px 0; border-bottom: 1px solid var(--line); }

    .bring-list span { color: var(--coral); font-family: "Libre Caslon Display", Georgia, serif; font-size: 1.5rem; line-height: 1.2; }

    .bring-list strong { display: block; margin-bottom: 2px; font-size: 1.05rem; }

    .bring-list p { margin: 0; color: var(--muted); font-size: .94rem; }



    .programs { padding: 104px 0 118px; }

    .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 48px; }

    .section-heading h2 { max-width: 700px; }

    .section-heading p { max-width: 360px; color: var(--muted); margin: 0 0 4px; }

    .course-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

    .course { background: var(--surface); }

    .course img { aspect-ratio: 3 / 1.7; object-fit: cover; }

    .course:nth-child(1) img { object-position: 50% 72%; }

    .course:nth-child(2) img { object-position: 50% 68%; }

    .course-body { padding: 32px 34px 38px; }

    .course-number { color: var(--coral); font-weight: 700; font-size: .84rem; letter-spacing: .1em; }

    .course h3 { margin: 8px 0 13px; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.15; }

    .course p { margin: 0; color: var(--muted); }

    .course ul { list-style: none; padding: 0; margin: 24px 0 0; border-top: 1px solid var(--line); }

    .course li { position: relative; padding: 12px 0 12px 24px; border-bottom: 1px solid var(--line); font-weight: 600; }

    .course li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green); position: absolute; left: 0; top: 20px; }

    .curriculum {

      display: grid;

      grid-template-columns: .7fr 1.3fr;

      gap: clamp(28px, 6vw, 76px);

      margin-top: 28px;

      padding: clamp(34px, 5vw, 58px);

      background: var(--green-deep);

      color: var(--white);

    }

    .curriculum h3 { margin: 8px 0 0; font-size: clamp(1.85rem, 3.4vw, 3.1rem); line-height: 1.12; }

    .curriculum-copy p { margin: 0; font-size: 1.02rem; line-height: 1.75; }

    .curriculum-copy p + p { margin-top: 20px; }



    .approach { padding: 0 0 112px; }

    .approach-shell { display: grid; grid-template-columns: .95fr 1.05fr; background: var(--surface-soft); }

    .approach-copy { padding: clamp(40px, 6vw, 76px); }

    .approach-copy h2 { font-size: clamp(2rem, 4vw, 3.65rem); line-height: 1.08; margin: 0 0 20px; letter-spacing: -.03em; }

    .approach-copy > p { color: var(--muted); margin: 0 0 30px; }

    .principles { display: grid; gap: 20px; }

    .principle { display: grid; grid-template-columns: 34px 1fr; gap: 14px; }

    .principle svg { width: 26px; color: var(--green); margin-top: 2px; }

    .principle strong { display: block; margin-bottom: 2px; }

    .principle span { color: var(--muted); font-size: .94rem; }

    .approach img { height: 100%; min-height: 560px; object-fit: cover; object-position: center; }



    .training-action { background: var(--green-deep); color: var(--white); padding: 94px 0 104px; margin-bottom: 112px; }

    .training-action-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px 70px; align-items: end; margin-bottom: 40px; }

    .training-action-heading h2 { font-size: clamp(2.2rem, 4.4vw, 4rem); line-height: 1.05; letter-spacing: -.03em; margin: 0; }

    .training-action-heading p { color: color-mix(in srgb, var(--white) 80%, transparent); margin: 0 0 4px; max-width: 650px; font-size: 1.06rem; }

    .video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; gap: 30px; }

    .training-video { margin: 0; background: var(--surface); color: var(--ink); }

    .video-shell { position: relative; background: #0a0a0a; }

    .training-video video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: #0a0a0a; }

    .video-play {

      position: absolute;

      inset: 0;

      display: flex;

      align-items: center;

      justify-content: center;

      gap: 10px;

      width: 100%;

      border: 0;

      background: linear-gradient(to top, rgba(0, 0, 0, .38), rgba(0, 0, 0, .04) 50%);

      color: #fff;

      font: inherit;

      font-weight: 700;

      cursor: pointer;

    }

    .video-play span {

      display: inline-flex;

      align-items: center;

      gap: 9px;

      min-height: 48px;

      padding: 11px 17px;

      border-radius: 3px;

      background: rgba(18, 63, 53, .92);

      box-shadow: 0 8px 24px rgba(0, 0, 0, .28);

    }

    .video-play svg { width: 18px; height: 18px; fill: currentColor; }

    .video-shell.is-playing .video-play { display: none; }

    .video-status { margin: 10px 0 0; color: var(--coral); font-size: .84rem; font-weight: 700; }

    .video-status:empty { display: none; }

    .training-video figcaption { padding: 20px 22px 23px; line-height: 1.5; }

    .training-video figcaption strong { display: block; margin-bottom: 4px; font-size: 1.04rem; }

    .training-video figcaption span { color: var(--muted); font-size: .92rem; }

    .video-fallback { display: inline-block; margin-top: 10px; color: var(--green); font-size: .88rem; font-weight: 700; text-underline-offset: 3px; }



    .community { padding: 0 0 112px; }

    .community-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px 70px; align-items: end; margin-bottom: 34px; }

    .community-heading h2 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; margin: 0; }

    .community-heading p { color: var(--muted); margin: 0; max-width: 620px; }

    .photo-story { display: grid; grid-template-columns: 1fr 1.18fr 1fr; gap: 18px; align-items: stretch; }

    .photo-story figure { margin: 0; background: var(--surface); }

    .photo-story img { height: 390px; object-fit: cover; }

    .photo-story figure:nth-child(2) img { object-position: 50% 55%; }

    .photo-story figcaption { padding: 14px 16px 17px; color: var(--muted); font-size: .9rem; line-height: 1.4; }



    .fit { padding: 0 0 110px; }

    .fit-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px 70px; align-items: start; border-top: 1px solid var(--line); padding-top: 56px; }

    .fit h2 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.08; margin: 0; }

    .fit-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }

    .fit-item { border-bottom: 1px solid var(--line); padding: 0 0 24px; }

    .fit-item strong { display: block; font-size: 1.1rem; margin-bottom: 6px; }

    .fit-item p { color: var(--muted); margin: 0; }



    .invite { background: var(--coral-soft); padding: 92px 0; }

    .invite-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: center; }

    .invite p { margin: 20px 0 0; color: var(--muted); max-width: 680px; font-size: 1.08rem; }

    .invite .capacity-note { max-width: 610px; padding-top: 18px; border-top: 1px solid var(--line); }

    .invite .capacity-note strong { color: var(--ink); }

    .contact-box { background: var(--surface); padding: 30px; border-top: 5px solid var(--coral); }

    .contact-box strong { display: block; font-size: 1.15rem; margin-bottom: 6px; }

    .contact-box p { margin: 0 0 18px; font-size: .94rem; overflow-wrap: anywhere; }

    .contact-box a { display: inline; text-decoration: none; color: var(--green); font-weight: 700; border-bottom: 1px solid currentColor; }

    .institute-logo { width: min(250px, 100%); height: auto; margin: 0 0 22px; }



    footer { padding: 34px 0; color: var(--muted); font-size: .88rem; }

    .footer-row { display: flex; justify-content: space-between; gap: 24px; }

    footer p { margin: 0; }



    @media (max-width: 850px) {

      .topbar { min-height: 94px; gap: 14px; }

      .topbar > a:not(.nav-cta):not(.brand-logo) { display: none; }

      .brand-logo { width: 178px; }

      .hero { padding-top: 8px; }

      .hero-grid, .intro-grid, .philosophy-grid, .next-class-heading, .small-group-callout, .class-details, .course-commitment, .bring-grid, .curriculum, .approach-shell, .fit-grid, .invite-grid { grid-template-columns: 1fr; }

      .hero-visual { margin-top: 8px; padding-left: 24px; }

      .hero-visual img { aspect-ratio: 4 / 3.65; }

      .credential-note { right: -4px; }

      .format-grid { grid-template-columns: 1fr 1fr; }

      .format-item:nth-child(2) { border-right: 0; }

      .format-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }

      .section-heading { align-items: start; flex-direction: column; }

      .fit-copy { grid-template-columns: 1fr 1fr; }

      .approach img { min-height: 420px; grid-row: 1; }

      .training-action-heading { grid-template-columns: 1fr; gap: 16px; }

      .community-heading { grid-template-columns: 1fr; gap: 16px; }

      .photo-story { grid-template-columns: 1fr 1fr; }

      .photo-story figure:last-child { grid-column: 1 / -1; }

      .photo-story figure:last-child img { height: 430px; }

      .footer-row { flex-direction: column; }

    }
  @media (max-width: 620px) {
      .wrap { width: min(100% - 28px, 1160px); }
      .topbar { min-height: 88px; gap: 10px; }
      .brand-logo { width: 146px; }
      .nav-cta { padding: 9px 12px; font-size: .82rem; }
      .hero { padding-bottom: 68px; }
      h1 { font-size: clamp(3rem, 15vw, 4.3rem); }
      .button-row, .button { width: 100%; }
      .hero-visual { padding: 0 0 28px 14px; }
      .hero-visual img { aspect-ratio: 1 / 1.05; }
      .credential-note { position: relative; width: calc(100% - 24px); margin: -28px 0 0 auto; right: auto; }
      .intro, .invite { padding: 68px 0; }
      .philosophy { padding: 68px 0 72px; }
      .philosophy-grid { gap: 22px; padding-top: 38px; }
      .training-format { padding-bottom: 76px; }
      .format-grid { grid-template-columns: 1fr; }
      .next-class { padding: 68px 0; }
      .next-class-heading { gap: 16px; margin-bottom: 30px; }
      .small-group-callout { gap: 8px; padding: 22px 24px; }
      .tuition { padding: 30px 24px; }
      .class-date { grid-template-columns: 1fr; gap: 7px; padding: 24px; }
      .course-commitment { gap: 10px; }
      .format-item { border-right: 0; border-bottom: 1px solid var(--line); }
      .format-item:last-child { border-bottom: 0; }
      .bring { padding-top: 68px; }
      .bring-grid { gap: 22px; padding-bottom: 56px; }
      .programs { padding: 76px 0 84px; }
      .course-grid { grid-template-columns: 1fr; }
      .course-body { padding: 27px 24px 32px; }
      .approach { padding-bottom: 78px; }
      .approach-copy { padding: 34px 24px 40px; }
      .approach img { min-height: 340px; }
      .training-action { padding: 68px 0 76px; margin-bottom: 78px; }
      .video-grid { grid-template-columns: 1fr; gap: 24px; }
      .training-video { width: min(100%, 420px); margin-inline: auto; }
      .community { padding-bottom: 78px; }
      .photo-story { grid-template-columns: 1fr; gap: 16px; }
      .photo-story figure:last-child { grid-column: auto; }
      .photo-story img, .photo-story figure:last-child img { height: 390px; }
      .fit { padding-bottom: 78px; }
      .fit-copy { grid-template-columns: 1fr; }
      .invite-grid { gap: 38px; }
      .footer-row { gap: 10px; }
    }

    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  

/* v7 Elementor layout bridge. It targets only Wellness templates. */
:root { --wfci-site-width:1160px;--wfci-body-font:"DM Sans";--wfci-heading-font:"Libre Caslon Display"; }
.wfci-native-elementor {font-family:var(--wfci-body-font),sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;}
.wfci-native-elementor .e-con {box-sizing:border-box;min-width:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;}
.wfci-native-elementor .e-con-inner {min-width:0;}
.wfci-native-elementor .e-con.wrap, .wfci-studio-header .e-con.wrap,.wfci-studio-footer .e-con.wrap {width:min(var(--wfci-site-width),calc(100% - 40px));max-width:none;margin-inline:auto;}
.wfci-native-elementor .elementor-element.elementor-widget {min-width:0;margin:0;}
.wfci-native-elementor .elementor-widget-container {min-width:0;}
.wfci-native-elementor .elementor-widget-text-editor p {margin-top:0;margin-bottom:0;}
.wfci-native-elementor .elementor-widget-text-editor p:not(:last-child) {margin-bottom:.65em;}
.wfci-native-elementor .elementor-heading-title {margin:0;line-height:1.08;}
.wfci-native-elementor .elementor-widget-heading :is(h1,h2,h3,h4,h5,h6) {font-family:var(--wfci-heading-font),Georgia,serif;font-weight:400;}
.wfci-native-elementor .elementor-widget-image img {width:100%;max-width:100%;height:auto;display:block;}
.wfci-native-elementor .elementor-widget-image a {display:block;}
.wfci-native-elementor .e-con.hero {padding:24px 0 92px;}
.wfci-native-elementor .e-con.intro {padding:84px 0;}
.wfci-native-elementor .e-con.philosophy {padding:92px 0 98px;}
.wfci-native-elementor .e-con.training-format {padding:0 0 104px;}
.wfci-native-elementor .e-con.next-class {padding:94px 0;}
.wfci-native-elementor .e-con.bring {padding:96px 0 0;}
.wfci-native-elementor .e-con.programs {padding:104px 0 118px;}
.wfci-native-elementor .e-con.approach {padding:0 0 112px;}
.wfci-native-elementor .e-con.training-action {padding:94px 0 104px;margin-bottom:112px;}
.wfci-native-elementor .e-con.community {padding:0 0 112px;}
.wfci-native-elementor .e-con.fit {padding:0 0 110px;}
.wfci-native-elementor .e-con.invite {padding:92px 0;}
/* Elementor flex controls use --display; the original design's rows are real grids. */
.wfci-native-elementor .e-con:is(.hero-grid,.intro-grid,.philosophy-grid,.format-grid,.next-class-heading,.small-group-callout,.class-details,.bring-grid,.course-grid,.curriculum,.approach-shell,.fit-grid,.invite-grid,.training-action-heading,.video-grid,.community-heading,.photo-story,.fit-copy,.course-commitment) {--display:grid;display:grid!important;min-width:0;}
.wfci-native-elementor .e-con:is(.topbar,.footer-row,.section-heading,.button-row) {--display:flex;display:flex!important;flex-direction:row;}
.wfci-native-elementor .e-con.hero-grid {grid-template-columns:.92fr 1.08fr;gap:clamp(38px,6vw,84px);align-items:center;}
.wfci-native-elementor .e-con.format-grid {grid-template-columns:repeat(4,minmax(0,1fr));border-top:5px solid var(--coral);}
.wfci-native-elementor .e-con:is(.hero-copy,.hero-visual,.credential-note) {min-width:0;}
.wfci-native-elementor .e-con.hero-copy {display:flex;flex-direction:column;align-items:stretch;justify-content:center;}
.wfci-native-elementor .hero-copy > .elementor-widget-text-editor.eyebrow {margin-bottom:20px;}
.wfci-native-elementor .eyebrow p {margin:0;color:var(--green);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.55;}
.wfci-native-elementor .hero-copy .elementor-widget-heading h1 {font-family:var(--wfci-heading-font),Georgia,serif;font-weight:400;font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.045em;max-width:680px;}
.wfci-native-elementor .hero-copy > .elementor-widget-text-editor:not(.eyebrow) {margin:28px 0 32px;max-width:570px;}
.wfci-native-elementor .hero-copy > .elementor-widget-text-editor:not(.eyebrow) p {font-size:clamp(1.04rem,1.5vw,1.22rem);line-height:1.6;}
.wfci-native-elementor .e-con.button-row {gap:13px;flex-wrap:wrap;}
.wfci-native-elementor .button-row .elementor-widget-button {width:auto;max-width:100%;}
.wfci-native-elementor .button-row .elementor-button {display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:3px;font-weight:700;line-height:1.35;}
.wfci-native-elementor .button-row .button.primary .elementor-button {background:var(--green);color:var(--white);}
.wfci-native-elementor .button-row .button.secondary .elementor-button {background:var(--surface);color:var(--ink);border:1px solid var(--line);}
.wfci-native-elementor .hero-visual {position:relative;padding:0 0 38px 38px;}
.wfci-native-elementor .e-con.hero-visual::before {content:"";position:absolute;left:0;bottom:0;width:56%;height:62%;background:var(--coral-soft);}
.wfci-native-elementor .hero-visual > .elementor-widget-image {position:relative;z-index:1;width:100%;}
.wfci-native-elementor .hero-visual > .elementor-widget-image img {aspect-ratio:4/4.8;object-fit:cover;object-position:53% center;box-shadow:var(--shadow);}
.wfci-native-elementor .e-con.credential-note {position:absolute;right:-18px;bottom:0;z-index:2;display:flex;flex-direction:column;gap:5px;width:min(360px,82%);padding:20px 22px;background:var(--green-deep);color:var(--white);box-shadow:0 10px 30px rgba(17,49,41,.25);}
.wfci-native-elementor .credential-note :is(p,.elementor-heading-title) {color:var(--white);}
.wfci-native-elementor .credential-note .elementor-heading-title {font-family:var(--wfci-body-font),sans-serif;font-size:1.03rem;line-height:1.35;font-weight:700;}
.wfci-native-elementor .e-con.intro-grid {grid-template-columns:1fr 1.35fr;gap:clamp(40px,8vw,110px);}
.wfci-native-elementor .intro .elementor-heading-title,.wfci-native-elementor .next-class .elementor-heading-title,.wfci-native-elementor .training-action .elementor-heading-title {color:var(--white);}
.wfci-native-elementor .intro .elementor-widget-text-editor p,.wfci-native-elementor .next-class .elementor-widget-text-editor p,.wfci-native-elementor .training-action .elementor-widget-text-editor p{color:var(--white);}
.wfci-native-elementor .e-con.philosophy-grid {grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,96px);padding-top:54px;border-top:1px solid var(--line);}
.wfci-native-elementor .e-con.format-item {padding:30px 28px 32px;background:var(--surface);border-right:1px solid var(--line);}
.wfci-native-elementor .e-con.format-item:last-child {border-right:0;}
.wfci-native-elementor .format-item .elementor-widget-heading .elementor-heading-title{font:600 1rem/1.3 var(--wfci-body-font),sans-serif;}
.wfci-native-elementor .format-item .elementor-widget-text-editor:first-child p {font-family:var(--wfci-heading-font),Georgia,serif;font-size:2.35rem;color:var(--coral);line-height:1;}
.wfci-native-elementor .e-con.next-class-heading {grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,96px);margin-bottom:42px;}
.wfci-native-elementor .e-con.small-group-callout {grid-template-columns:.72fr 1.28fr;gap:clamp(28px,5vw,70px);padding:24px 30px;margin-bottom:22px;}
.wfci-native-elementor .e-con.class-details {grid-template-columns:.72fr 1.28fr;gap:1px;}
.wfci-native-elementor .e-con.tuition {padding:clamp(30px,5vw,54px);display:flex;flex-direction:column;justify-content:center;}
.wfci-native-elementor .e-con.class-date {padding:28px 32px;display:grid;grid-template-columns:1fr auto;gap:24px;border-bottom:1px solid var(--line);}
.wfci-native-elementor .e-con.course-commitment{grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,96px);}
.wfci-native-elementor .e-con.bring-grid {grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,96px);padding-bottom:76px;}
.wfci-native-elementor .e-con.course-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.wfci-native-elementor .e-con.course-body {padding:32px 34px 38px;}
.wfci-native-elementor .e-con.curriculum {grid-template-columns:.7fr 1.3fr;gap:clamp(28px,6vw,76px);padding:clamp(34px,5vw,58px);}
.wfci-native-elementor .curriculum .elementor-heading-title,.wfci-native-elementor .curriculum .elementor-widget-text-editor p{color:var(--white);}
.wfci-native-elementor .e-con.approach-shell {grid-template-columns:.95fr 1.05fr;}
.wfci-native-elementor .e-con.approach-copy {padding:clamp(40px,6vw,76px);}
.wfci-native-elementor .e-con.principles {display:grid;gap:20px;}
.wfci-native-elementor .e-con.principle {display:grid;grid-template-columns:34px 1fr;gap:14px;}
.wfci-native-elementor .principle .elementor-widget-icon svg {width:26px;height:26px;max-width:26px;max-height:26px;}
.wfci-native-elementor .e-con.training-action-heading {grid-template-columns:.8fr 1.2fr;gap:30px 70px;margin-bottom:40px;}
.wfci-native-elementor .e-con.video-grid {grid-template-columns:repeat(2,minmax(0,420px));gap:30px;justify-content:center;}
.wfci-native-elementor .e-con.training-video {background:var(--surface);color:var(--ink);min-width:0;}
.wfci-native-elementor .training-video .elementor-widget-video,.wfci-native-elementor .training-video .elementor-wrapper {width:100%;}
.wfci-native-elementor .training-video video {aspect-ratio:9/16;object-fit:cover;display:block;width:100%;}
.wfci-native-elementor .training-video .elementor-widget-text-editor {padding:12px 22px;}
.wfci-native-elementor .e-con.community-heading {grid-template-columns:.8fr 1.2fr;gap:30px 70px;margin-bottom:34px;}
.wfci-native-elementor .e-con.photo-story {grid-template-columns:1fr 1.18fr 1fr;gap:18px;}
.wfci-native-elementor .photo-story .elementor-widget-image img {height:390px;object-fit:cover;}
.wfci-native-elementor .e-con.fit-grid {grid-template-columns:.8fr 1.2fr;gap:30px 70px;padding-top:56px;}
.wfci-native-elementor .e-con.fit-copy{grid-template-columns:1fr 1fr;gap:28px;}
.wfci-native-elementor .e-con.invite-grid {grid-template-columns:1.15fr .85fr;gap:60px;}
.wfci-native-elementor .e-con.contact-box{padding:30px;}
.wfci-native-elementor .e-con.footer-row {justify-content:space-between;gap:24px;}
.wfci-native-elementor .e-con.course .elementor-widget-image img {aspect-ratio:3/1.7;object-fit:cover;}
.wfci-native-elementor .e-con.approach-shell > .elementor-widget-image img {height:100%;min-height:560px;object-fit:cover;}
/* Separate global header. Explicit logo width prevents Elementor default full-width image. */
.wfci-studio-header {position:relative;z-index:50;background:var(--paper);font-family:var(--wfci-body-font),sans-serif;}
.wfci-studio-header .e-con {--gap:0px;min-width:0;}
.wfci-studio-header .e-con.wrap {width:min(var(--wfci-site-width),calc(100% - 40px));max-width:none;margin-inline:auto;}
.wfci-studio-header .e-con.topbar {display:flex!important;--display:flex;flex-direction:row!important;align-items:center!important;justify-content:flex-end;gap:28px!important;min-height:118px;width:100%;}
.wfci-studio-header .elementor-widget-image.wfci-header-logo {display:block!important;width:220px!important;min-width:220px;max-width:220px;flex:0 0 220px;margin-right:auto;}
.wfci-studio-header .wfci-header-logo .elementor-widget-container,.wfci-studio-header .wfci-header-logo img {display:block;width:220px!important;max-width:220px!important;height:auto!important;object-fit:contain!important;}
.wfci-studio-header .wfci-nav {display:flex;align-items:center;position:relative;}
.wfci-studio-header .wfci-nav-list{display:flex;flex-wrap:nowrap;gap:26px;align-items:center;list-style:none;margin:0;padding:0;}
.wfci-studio-header .wfci-nav-list li {padding:0;margin:0;}
.wfci-studio-header .wfci-nav-list a {font:600 .92rem/1.4 var(--wfci-body-font),sans-serif;color:var(--ink);white-space:nowrap;text-decoration:none;}
.wfci-studio-header .wfci-nav-list a:hover{color:var(--green);}
.wfci-studio-header .elementor-widget-button.nav-cta {width:auto!important;max-width:none;flex:0 0 auto;}
.wfci-studio-header .nav-cta .elementor-button {background:var(--green-deep);color:var(--white);font:700 .88rem/1.25 var(--wfci-body-font),sans-serif;padding:10px 17px;min-height:40px;border-radius:999px;white-space:nowrap;}
.wfci-studio-header .wfci-menu-toggle{display:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;cursor:pointer;padding:9px;line-height:1;}
.wfci-studio-header .wfci-menu-toggle svg {display:block;width:20px;height:20px;max-width:20px;max-height:20px;}
.wfci-studio-footer {font-family:var(--wfci-body-font),sans-serif;}
.wfci-studio-footer .e-con.footer-row {display:flex;flex-direction:row;justify-content:space-between;gap:24px;padding:34px 0;color:var(--muted);font-size:.88rem;}
@media(max-width:1100px) { .wfci-studio-header .e-con.topbar {gap:15px!important;} .wfci-studio-header .wfci-nav-list{gap:14px;} .wfci-studio-header .elementor-widget-image.wfci-header-logo{width:178px!important;min-width:178px;max-width:178px;flex-basis:178px;} .wfci-studio-header .wfci-header-logo img{width:178px!important;max-width:178px!important;} }
@media(max-width:850px) {
 .wfci-native-elementor .e-con:is(.hero-grid,.intro-grid,.philosophy-grid,.next-class-heading,.small-group-callout,.class-details,.course-commitment,.bring-grid,.curriculum,.approach-shell,.fit-grid,.invite-grid,.training-action-heading,.community-heading){grid-template-columns:1fr;}
 .wfci-native-elementor .e-con.format-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .wfci-native-elementor .e-con.hero {padding:8px 0 68px;}
 .wfci-native-elementor .hero-visual > .elementor-widget-image img{aspect-ratio:4/3.65;}
 .wfci-native-elementor .e-con.approach-shell > .elementor-widget-image img{min-height:420px;}
 .wfci-studio-header .e-con.topbar {min-height:94px;}
 .wfci-studio-header .wfci-menu-toggle{display:block;}
 .wfci-studio-header .wfci-nav-list {display:none;position:absolute;right:0;top:calc(100% + 12px);background:var(--surface);min-width:220px;max-width:min(88vw,310px);flex-direction:column;gap:0;padding:10px;border:1px solid var(--line);box-shadow:var(--shadow);z-index:100;}
 .wfci-studio-header .wfci-nav.is-open .wfci-nav-list {display:flex;}
 .wfci-studio-header .wfci-nav-list a{display:block;padding:9px 12px;}
}
@media(max-width:620px){
 .wfci-native-elementor .e-con.wrap{width:calc(100% - 28px);}
 .wfci-native-elementor .e-con:is(.format-grid,.course-grid,.video-grid,.photo-story,.fit-copy){grid-template-columns:1fr;}
 .wfci-native-elementor .e-con.hero-grid{gap:36px;}
 .wfci-native-elementor .hero-visual{padding:0 0 28px 14px;}
 .wfci-native-elementor .e-con.credential-note {position:relative;right:auto;bottom:auto;margin:-28px 0 0 auto;width:calc(100% - 24px);}
 .wfci-native-elementor .hero-copy .elementor-widget-heading h1 {font-size:clamp(3rem,15vw,4.3rem);}
 .wfci-native-elementor .button-row{width:100%;}
 .wfci-native-elementor .button-row .elementor-widget-button,.wfci-native-elementor .button-row .elementor-button{width:100%;}
 .wfci-native-elementor .e-con.format-grid{grid-template-columns:1fr;}
 .wfci-native-elementor .e-con.course-body {padding:27px 24px 32px;}
 .wfci-native-elementor .e-con.approach-copy{padding:34px 24px 40px;}
 .wfci-studio-header .elementor-widget-image.wfci-header-logo{width:146px!important;min-width:146px;max-width:146px;flex-basis:146px;}
 .wfci-studio-header .wfci-header-logo img{width:146px!important;max-width:146px!important;}
 .wfci-studio-header .e-con.topbar{min-height:88px;gap:10px!important;}
 .wfci-studio-footer .e-con.footer-row{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Text-color corrections for inset light cards and coral labels inside dark sections. */
.wfci-native-elementor :is(.intro,.next-class,.training-action) .eyebrow p {color:var(--coral);}
.wfci-native-elementor .next-class :is(.tuition,.class-date,.date-list) .elementor-widget-text-editor p,
.wfci-native-elementor .training-action .training-video .elementor-widget-text-editor p {color:var(--muted);}
.wfci-native-elementor .next-class .tuition .elementor-widget-text-editor strong {color:var(--coral);}
.wfci-native-elementor .next-class .small-group-callout .elementor-widget-text-editor p {color:var(--muted);}
.wfci-native-elementor .e-con.course-grid>.e-con.course {background:var(--surface);}
.wfci-native-elementor .e-con.approach-shell {background:var(--surface-soft);}
.wfci-native-elementor .e-con.curriculum {background:var(--green-deep);}
.wfci-native-elementor .e-con.training-action {background:var(--green-deep);}
.wfci-native-elementor .e-con.next-class {background:var(--green-deep);}
.wfci-native-elementor .e-con.intro {background:var(--green-deep);}
.wfci-native-elementor .e-con.invite {background:var(--coral-soft);}
.wfci-native-elementor .e-con.contact-box {background:var(--surface);border-top:5px solid var(--coral);}
.wfci-native-elementor .e-con.small-group-callout {background:var(--coral-soft);}
.wfci-native-elementor .e-con.tuition,.wfci-native-elementor .e-con.date-list {background:var(--surface);color:var(--ink);}
.wfci-native-elementor .e-con.bring-list{list-style:none;border-top:1px solid var(--line);}
.wfci-native-elementor .bring-list li {list-style:none;}
.wfci-native-elementor .e-con.video-shell{min-width:0;width:100%;}
.wfci-native-elementor .elementor-widget-video video{max-width:100%;height:auto;}
.wfci-native-elementor .e-con.institute-logo {max-width:250px;}
