
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@500;600;700;800&family=Oswald:wght@400;500;600&family=Public+Sans:wght@400;500;600;700&display=swap');

:root{
  --wr-black:#000000;
  --wr-caviar:#2A2A2D;
  --wr-green:#3D442F;
  --wr-bone:#D3D2CD;
  --wr-white:#FFFFFF;
  --wr-rule:#8F8C82;
  --ws-display:'League Spartan',Arial,sans-serif;
  --ws-label:'Oswald',Arial,sans-serif;
  --ws-body:'Public Sans',Arial,sans-serif;
  --ws-caviar:#2A2A2D;
  --ws-olive:#3D442F;
  --ws-iron:#3D442F;
}

/* one clean system */
*{box-sizing:border-box}
html,body{margin:0;background:var(--wr-black);font-family:var(--ws-body);color:#181818}
body{font-size:17px;line-height:1.62}
h1,h2,h3,h4,h5,h6{font-family:var(--ws-display)!important;letter-spacing:-.035em}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
main{background:var(--wr-bone)}
main p{max-width:72ch}
.ws-container,.wa-container,.wrap{width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;margin-inline:auto!important}

/* kill legacy ornament */
.ws-topo,.topo,.wa-pattern,.section--topo,.page-hero.topo{background-image:none!important}
.ws-topo:before,.ws-topo:after,.topo:before,.topo:after,.wa-pattern:before,.section--topo:before,.page-hero.topo:before,
.wr-guide:before,.wfa-matters:before,.wrdy-reasons:before,.wr2-why:before,.wop-pursuits:before{display:none!important}
.wc-engraving,.wa-icon,.wa-life-symbol,.ws-line-icon,.ws-course-icon,.ws-why-icon,.ws-way-symbol-wrap,.ws-way-symbol,.ws-pause-leaf{display:none!important}

/* header */
.ws-site-header,.header{
  background:var(--wr-black)!important;
  color:var(--wr-white)!important;
  border-bottom:1px solid #343434!important;
  box-shadow:none!important;
}
.ws-brand strong,.brand strong,.brand-text strong{font-family:var(--ws-display)!important;letter-spacing:.03em!important}
.ws-brand small,.brand small,.brand-text small{font-family:var(--ws-label)!important;color:#aaa!important;letter-spacing:.14em!important}
.ws-main-nav a,.nav a{
  color:#ddd!important;
  font:500 13px/1 var(--ws-label)!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
.ws-main-nav a[aria-current="page"],.nav a[aria-current="page"]{color:#fff!important}
.ws-train-submenu{background:var(--wr-caviar)!important;border:1px solid #464646!important}
.ws-menu-toggle span{background:#fff!important}

/* labels */
.ws-kicker,.ws-eyebrow,.wa-kicker,.fn-eyebrow,.pr-eyebrow,.wi-eyebrow,.ld-eyebrow,.fd-eyebrow,.ip-eyebrow,.sc-eyebrow,.prr-eyebrow,.eyebrow,.kicker,.crumb{
  font-family:var(--ws-label)!important;
  font-size:13px!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:inherit!important;
  opacity:.76;
  border:0!important;
  padding:0!important;
  margin:0 0 14px!important;
}

/* section rhythm */
main>section{border-radius:0!important;box-shadow:none!important}
main>section+section{border-top:1px solid rgba(0,0,0,.16)}
.ws-section,.wa-section,.fn-hero,.fn-story,.fn-explore,.fn-latest,.fn-purpose,.fn-continue,
.pr-hero,.pr-start,.pr-course-start,.pr-registered,.pr-details,.pr-question,.pr-final,
.wi-hero,.wi-more,.wi-team,.wi-commitment,.wi-experience,.wi-expect,.wi-fire,.wi-ready,
.ld-hero,.ld-glance,.ld-more,.ld-tel,.ld-readiness,.ld-day,.ld-learn,.ld-principles,.ld-development,.ld-standard,.ld-flex,.ld-fit,.ld-outcome,.ld-beyond,.ld-guide,.ld-final,
.fd-hero,.fd-journey,.fd-why,.fd-beliefs,.fd-learning,.fd-philosophy,.fd-building,.fd-background,.fd-beyond,.fd-looking,.fd-final,
.ip-hero,.ip-dark,.ip-light,.ip-beliefs,.ip-olive,.ip-background,.ip-explore,.ip-final,
.sc-hero,.sc-upcoming,.sc-courses,.sc-calendar,.sc-events,.sc-private,.sc-start,.sc-final,
.prr-hero,.prr-light,.prr-dark,.prr-olive,.prr-final,
.section,.page-hero{
  padding-block:clamp(56px,5vw,78px)!important;
}

/* light + dark */
.ws-light,.wa-section,.fn-explore,.fn-latest,.pr-start,.pr-registered,.pr-details,.wi-team,.wi-commitment,.wi-expect,.wi-fire,
.ld-glance,.ld-more,.ld-readiness,.ld-learn,.ld-principles,.ld-development,.ld-flex,.ld-fit,.ld-beyond,.ld-guide,
.fd-journey,.fd-beliefs,.fd-philosophy,.fd-building,.fd-background,.fd-looking,.ip-light,.ip-beliefs,.ip-background,.ip-explore,
.sc-upcoming,.sc-courses,.sc-calendar,.sc-private,.sc-start,.prr-light,.section:not(.section--dark):not(.section--caviar){
  background:var(--wr-bone)!important;color:#181818!important;
}
.ws-way,.ws-upcoming,.ws-pass,.ws-final,.ws-field-days-editorial,.ws-stories,.section--dark,.section--caviar,
.wa-purpose,.wa-philosophy,.wa-life,.wa-ending,.fn-story,.fn-continue,.pr-course-start,.pr-final,.wi-more,.wi-ready,
.ld-tel,.ld-standard,.ld-final,.fd-why,.fd-beyond,.fd-final,.ip-dark,.ip-final,.sc-events,.prr-dark,.prr-final{
  background:var(--wr-caviar)!important;color:#fff!important;background-image:none!important;
}
.ws-olive,.fn-purpose,.pr-question,.wi-experience,.ld-day,.ld-outcome,.fd-learning,.ip-olive,.sc-final,.prr-olive{
  background:var(--wr-green)!important;color:#fff!important;background-image:none!important;
}
.ws-way h1,.ws-way h2,.ws-way h3,.ws-upcoming h2,.ws-pass h2,.ws-final h2,
.wa-purpose h2,.wa-philosophy h2,.wa-life h2,.wa-ending h2,.fn-story h2,.fn-continue h2,.pr-course-start h2,.pr-final h2,.wi-more h2,.wi-ready h2,
.ld-tel h2,.ld-standard h2,.ld-final h2,.fd-why h2,.fd-beyond h2,.fd-final h2,.ip-dark h2,.ip-final h2,.sc-events h2,.prr-dark h2,.prr-final h2,
.ws-olive h2,.fn-purpose h2,.pr-question h2,.wi-experience h2,.ld-day h2,.ld-outcome h2,.fd-learning h2,.ip-olive h2,.sc-final h2,.prr-olive h2{color:#fff!important}

/* heroes */
.ws-hero,.wa-hero,.fn-hero,.pr-hero,.wi-hero,.ld-hero,.fd-hero,.ip-hero,.sc-hero,.prr-hero,.page-hero{
  background:var(--wr-black)!important;color:#fff!important;border:0!important;
}
.ws-hero h1,.wa-hero h1,.fn-hero h1,.pr-hero h1,.wi-hero h1,.ld-hero h1,.fd-hero h1,.ip-hero h1,.sc-hero h1,.prr-hero h1,.page-hero h1{color:#fff!important}
.ws-hero p,.wa-hero p,.fn-hero p,.pr-hero p,.wi-hero p,.ld-hero p,.fd-hero p,.ip-hero p,.sc-hero p,.prr-hero p,.page-hero p{color:#d8d8d5!important}

/* photo placeholders */
.ws-photo,.wa-photo,.fn-photo,.pr-photo,.wi-photo,.ld-photo,.fd-photo,.ip-photo,.sc-photo,.prr-photo,.photo,.note-photo,.course-card-photo{
  position:relative!important;
  background:var(--wr-caviar)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  overflow:hidden!important;
}
.ws-photo:after,.wa-photo:after,.fn-photo:after,.pr-photo:after,.wi-photo:after,.ld-photo:after,.fd-photo:after,.ip-photo:after,.sc-photo:after,.prr-photo:after{display:none!important}

/* buttons */
.ws-button,.btn,.fn-button,.pr-button,.wi-button,.ld-button,.fd-button,.ip-button,.sc-button{
  border-radius:0!important;box-shadow:none!important;font-family:var(--ws-label)!important;text-transform:uppercase!important;letter-spacing:.05em!important;
}
.ws-button--primary,.btn--iron,.fn-button--primary,.pr-button--primary,.wi-button--primary,.ld-button--primary,.fd-button--primary,.ip-button--primary,.sc-button--primary{
  background:var(--wr-green)!important;border:1px solid var(--wr-green)!important;color:#fff!important;
}
.ws-button--ghost,.btn--outline,.fn-button--outline,.wi-button--outline,.ld-button--outline,.fd-button--outline,.ip-button--outline,.sc-button--outline{
  background:transparent!important;border:1px solid currentColor!important;color:inherit!important;
}

/* cards/panels */
.ws-course-card,.ws-note-card,.ws-why-card,.fn-category,.fn-article-card,.pr-resource-card,.pr-panel,.wi-person,
.ld-process article,.ld-principles-grid article,.ld-development-grid article,.ld-flex-grid article,.ld-fit-grid article,.sc-event-card,.sc-course-grid article,.page-side,.course-card,.faq{
  border-radius:0!important;box-shadow:none!important;border:1px solid var(--wr-rule)!important;background:transparent!important;
}
.ws-course-card:before,.ws-note-card:before,.ws-why-card:before,.fn-category:before,.fn-article-card:before,.pr-resource-card:before,.wi-person:before,
.ld-process article:before,.ld-principles-grid article:before,.ld-development-grid article:before,.ld-flex-grid article:before,.ld-fit-grid article:before,.sc-event-card:before,.sc-course-grid article:before{display:none!important}

/* instructor profiles - premium desktop */
.ip-page .ip-hero{padding:0!important}
.ip-page .ip-hero .ws-container{width:min(1240px,100%)!important;max-width:none!important;padding:0!important}
.ip-page .ip-hero-grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:0!important;min-height:620px!important}
.ip-page .ip-hero-grid>div:first-child{padding:72px max(42px,calc((100vw - 1180px)/2)) 66px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.ip-page .ip-hero-photo{min-height:620px!important;max-height:none!important;height:auto!important;aspect-ratio:auto!important;position:relative!important;inset:auto!important}
.ip-page .ip-hero h1{font-size:clamp(58px,6vw,82px)!important;line-height:.92!important;max-width:10ch!important}
.ip-page .ip-two-column{display:grid!important;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr)!important;gap:48px!important;align-items:start!important}
.ip-page .ip-two-column>div:first-child{padding:0!important;border:0!important}
.ip-page .ip-two-column>div:last-child{padding:0!important}
.ip-page .ip-two-column h2{font-size:clamp(32px,3vw,44px)!important;line-height:1.02!important;margin:0!important;max-width:12ch!important}
.ip-page .ip-belief-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border:1px solid var(--wr-rule)!important}
.ip-page .ip-belief-grid p{margin:0!important;padding:20px!important;border-right:1px solid var(--wr-rule)!important;border-bottom:1px solid var(--wr-rule)!important;font:500 16px/1.5 var(--ws-body)!important}
.ip-page .ip-belief-grid p:before{content:""!important}
.ip-page .ip-background-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;border:1px solid var(--wr-rule)!important}
.ip-page .ip-background-grid span{padding:18px 20px!important;border-right:1px solid var(--wr-rule)!important;border-bottom:1px solid var(--wr-rule)!important;font:500 15px/1.45 var(--ws-body)!important}
.ip-page .ip-final-inner{display:block!important;max-width:900px!important}
.ip-page .ip-final-inner>*{grid-column:auto!important}

/* critical mobile reset */
@media(max-width:900px){
  body{font-size:16px}
  .ws-container,.wa-container,.wrap{width:calc(100% - 36px)!important;padding:0!important}

  /* every two-column system stacks cleanly */
  .ip-page .ip-hero-grid,.ip-page .ip-two-column,
  .fd-page .fd-hero-grid,.fd-page .fd-two-column,
  .wi-page .wi-hero-grid,.wi-page .wi-two-column,
  .ld-page .ld-hero-grid,.ld-page .ld-two-column,
  .fn-page .fn-hero-grid,.fn-page .fn-story-grid,.fn-page .fn-purpose-grid,
  .pr-page .pr-hero-grid,.pr-page .pr-two-column,
  .sc-page .sc-hero-grid,.sc-page .sc-two-column,
  .prr-page .prr-hero-grid,.prr-page .prr-two-column,
  .wa-hero-grid,.wa-purpose-grid,.wa-philosophy-grid,.wa-different-grid,.wa-teaching-grid,.wa-who-grid,.wa-ending-grid,
  .ws-split,.wt-masthead-grid,.wt-intro-grid,.wt-division-main,.wt-conclusion-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:28px!important;
  }

  /* eliminate all overlap/absolute composition on mobile */
  .ip-page .ip-hero-grid>div:first-child,
  .fd-page .fd-hero-grid>div:first-child,
  .wi-page .wi-hero-grid>div:first-child,
  .ld-page .ld-hero-grid>div:first-child,
  .fn-page .fn-hero-copy,.pr-page .pr-copy,.sc-page .sc-hero-grid>div:first-child,.prr-page .prr-hero-grid>div:first-child{
    padding:48px 0 20px!important;
    position:relative!important;
    inset:auto!important;
    width:auto!important;
  }

  .ip-page .ip-hero-photo,.fd-page .fd-hero-photo,.wi-page .wi-hero-photo,.ld-page .ld-hero-photo,.fn-page .fn-hero-photo,.pr-page .pr-hero-photo,.sc-page .sc-photo,.prr-page .prr-photo{
    position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:300px!important;max-height:none!important;aspect-ratio:16/10!important;
  }

  .ip-page .ip-hero{min-height:0!important}
  .ip-page .ip-hero-grid{min-height:0!important}
  .ip-page .ip-hero h1{font-size:48px!important;line-height:.95!important;max-width:none!important}
  .ip-page .ip-two-column h2{font-size:36px!important;max-width:none!important}
  .ip-page .ip-two-column>div:first-child,
  .ip-page .ip-two-column>div:last-child{
    padding:0!important;border:0!important;background:transparent!important;
  }
  .ip-page .ip-light,.ip-page .ip-dark,.ip-page .ip-olive{padding:46px 0!important}
  .ip-page .ip-belief-grid,.ip-page .ip-background-grid{grid-template-columns:1fr!important}
  .ip-page .ip-belief-grid p,.ip-page .ip-background-grid span{font-size:16px!important;padding:18px!important}
  .ip-page .ip-section-heading h2{font-size:38px!important;line-height:1.02!important;max-width:none!important}
  .ip-page .ip-final h2{font-size:40px!important;line-height:1!important;max-width:none!important}

  /* stop any old pseudo panels from covering mobile copy */
  main section:before,main section:after{display:none!important}
}

@media(max-width:560px){
  .ws-container,.wa-container,.wrap{width:calc(100% - 30px)!important}
  main h1{font-size:44px!important}
  main h2{font-size:34px!important;max-width:none!important}
  main p{font-size:16px!important;line-height:1.58!important}
  .ip-page .ip-hero h1{font-size:44px!important}
  .ip-page .ip-role,.ip-page .ip-subtitle{max-width:100%!important;width:auto!important}
}

/* footer */
.ws-footer,.footer{background:#000!important;color:#ddd!important;border-top:1px solid #333!important}
.ws-footer h3,.footer h3{color:#fff!important;font-family:var(--ws-label)!important}
.ws-footer a,.footer a{color:#d7d7d7!important}
