
/* WOODSRUNNER SCHOOL — SITEWIDE FINAL QA 2026
   One alignment system for desktop + mobile.
   Keeps page-specific art direction while correcting geometry,
   overflow, typography, icons, boxes, and responsive stacking. */

:root{
  --qa-black:#000000;
  --qa-caviar:#2A2A2D;
  --qa-bone:#D3D2CD;
  --qa-rust:#743F2F;
  --qa-ink:#181818;
  --qa-rule:rgba(24,24,24,.28);
  --qa-dark-rule:rgba(255,255,255,.24);
  --qa-display:'League Spartan',Arial,sans-serif;
  --qa-label:'Oswald',Arial,sans-serif;
  --qa-body:'Public Sans',Arial,sans-serif;
}

/* FOUNDATION */
*,*::before,*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{margin:0}
main,header,footer,section,article,aside,nav,div{min-width:0}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
a,button,input,textarea,select{font:inherit}
h1,h2,h3,h4,h5,h6,p,li,a,strong,span{
  overflow-wrap:break-word;
  word-break:normal;
}
h1,h2,h3,h4,h5,h6{
  text-wrap:balance;
  hyphens:none;
}
p,li{ text-wrap:pretty }

/* GLOBAL WIDTH / ALIGNMENT */
.ws-container,.wa-container,.wrap,
.fn-container,.pr-container,.wi-container,.ld-container,.fd-container,
.ip-container,.sc-container,.prr-container{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* TYPOGRAPHY */
body{font-family:var(--qa-body)}
main h1,main h2,main h3,main h4{
  font-family:var(--qa-display)!important;
  margin-top:0!important;
}
main h1{
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
main h2{
  line-height:1!important;
  letter-spacing:-.035em!important;
}
main h3{
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
main p{
  line-height:1.6!important;
}
.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,.sig-label{
  font-family:var(--qa-label)!important;
  line-height:1.25!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

/* HEADER — SAME GEOMETRY EVERYWHERE */
.ws-site-header,.header{
  background:var(--qa-black)!important;
  color:#fff!important;
  border-bottom:1px solid #333!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ws-site-header .ws-header-inner,
.header .header-inner{
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.ws-site-header .ws-brand,
.header .brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  flex:0 1 auto!important;
}
.ws-site-header .ws-brand img,
.header .brand img{
  width:28px!important;
  height:42px!important;
  max-width:28px!important;
  max-height:42px!important;
  min-width:28px!important;
  min-height:42px!important;
  object-fit:contain!important;
  flex:0 0 28px!important;
}
.ws-site-header .ws-brand span,
.header .brand span{min-width:0!important}
.ws-site-header .ws-brand strong,
.header .brand strong{
  display:block!important;
  font-family:var(--qa-display)!important;
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
}
.ws-site-header .ws-brand small,
.header .brand small{
  display:block!important;
  margin-top:3px!important;
  font-family:var(--qa-label)!important;
  font-size:8.5px!important;
  line-height:1.15!important;
  letter-spacing:.12em!important;
  white-space:normal!important;
}
.ws-main-nav,.nav{
  min-width:0!important;
  align-items:center!important;
}
.ws-main-nav a,.nav a{
  line-height:1.15!important;
}

/* ICON / MARK ALIGNMENT */
svg,.ws-line-icon,.ws-course-icon,.ws-why-icon,.wa-icon,.wa-life-symbol,
.wc-engraving,.ws-way-symbol,.icon{
  flex:0 0 auto;
  vertical-align:middle;
}
.ws-line-icon,.ws-course-icon,.ws-why-icon,.wa-icon,.wa-life-symbol,
.wc-engraving,.ws-way-symbol{
  width:32px!important;
  height:32px!important;
  max-width:32px!important;
  max-height:32px!important;
  margin:0!important;
}
.ws-way-symbol-wrap,
.icon-wrap,.icon-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0 0 14px!important;
}
img[src*="woodsrunner-mark-two-tone"]{
  object-fit:contain;
}

/* BOXES / CARDS */
.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,.sig-course,.sig-why-grid article,.sig-prepare-grid a{
  min-width:0!important;
  overflow:hidden!important;
}
.ws-course-card>*,.ws-note-card>*,.ws-why-card>*,
.fn-category>*,.fn-article-card>*,.pr-resource-card>*,
.wi-person>*,.sc-event-card>*,.sc-course-grid article>*,
.sig-course>*,.sig-why-grid article>*,.sig-prepare-grid a>*{
  min-width:0!important;
}

/* GRID SAFETY */
[class*="-grid"],[class*="__grid"],[class*=" grid"]{
  min-width:0;
}
.ws-split>*,.ip-two-column>*,.fd-two-column>*,.wi-two-column>*,
.ld-two-column>*,.prr-two-column>*,.wa-purpose-grid>*,
.wa-different-grid>*,.wa-teaching-grid>*,.wt-division-main>*{
  min-width:0!important;
}

/* BUTTONS / TEXT LINKS */
.ws-button,.btn,.fn-button,.pr-button,.wi-button,.ld-button,.fd-button,
.ip-button,.sc-button,.sig-btn{
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.2!important;
}
.ws-actions,.ip-actions,.sig-actions{
  align-items:stretch!important;
}
.ws-text-link,.link-arrow,.fn-text-link,.pr-text-link,.prr-link,
.sc-course-grid a{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.35!important;
}

/* IMAGE FRAMES */
.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,
.sig-image{
  min-width:0!important;
  overflow:hidden!important;
}
.ws-photo img,.wa-photo img,.fn-photo img,.pr-photo img,.wi-photo img,
.ld-photo img,.fd-photo img,.ip-photo img,.sc-photo img,.prr-photo img,
.photo img,.note-photo img,.course-card-photo img,.sig-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* TABLES / FORMS */
table{width:100%;max-width:100%;border-collapse:collapse}
input,textarea,select{
  width:100%;
  max-width:100%;
}

/* FOOTER */
.ws-footer,.footer{overflow:hidden}
.ws-footer-top>*,.footer>*{min-width:0}
.ws-footer a,.ws-footer p,.ws-footer span,.ws-footer strong{
  overflow-wrap:anywhere;
}

/* DESKTOP/TABLET BALANCE */
@media(max-width:1100px){
  .ws-container,.wa-container,.wrap,
  .fn-container,.pr-container,.wi-container,.ld-container,.fd-container,
  .ip-container,.sc-container,.prr-container{
    width:min(100% - 40px,1040px)!important;
  }
  main h1{font-size:clamp(48px,6.4vw,72px)!important}
  main h2{font-size:clamp(36px,4.8vw,52px)!important}
  .ws-main-nav,.nav{gap:10px 12px!important}
}

/* MOBILE: ONE CONSISTENT STACKING SYSTEM */
@media(max-width:900px){
  .ws-container,.wa-container,.wrap,
  .fn-container,.pr-container,.wi-container,.ld-container,.fd-container,
  .ip-container,.sc-container,.prr-container{
    width:calc(100% - 32px)!important;
  }

  .ws-site-header .ws-header-inner,
  .header .header-inner{
    min-height:58px!important;
    gap:12px!important;
  }
  .ws-site-header .ws-brand,
  .header .brand{
    max-width:calc(100% - 58px)!important;
  }
  .ws-site-header .ws-brand img,
  .header .brand img{
    width:24px!important;
    height:36px!important;
    max-width:24px!important;
    max-height:36px!important;
    min-width:24px!important;
    min-height:36px!important;
    flex-basis:24px!important;
  }
  .ws-site-header .ws-brand strong,
  .header .brand strong{font-size:14px!important}
  .ws-site-header .ws-brand small,
  .header .brand small{font-size:7.5px!important}
  .ws-main-nav,.nav{
    width:100%!important;
    max-width:none!important;
  }
  .ws-main-nav a,.nav a{
    white-space:normal!important;
  }

  /* all common two-column layouts collapse */
  .ws-split,
  .ip-hero-grid,.ip-two-column,
  .fd-hero-grid,.fd-two-column,
  .wi-hero-grid,.wi-two-column,
  .ld-hero-grid,.ld-two-column,
  .fn-hero-grid,.fn-story-grid,.fn-purpose-grid,
  .pr-hero-grid,.pr-two-column,
  .sc-hero-grid,.sc-two-column,
  .prr-hero-grid,.prr-two-column,
  .wa-hero-grid,.wa-purpose-grid,.wa-philosophy-grid,
  .wa-different-grid,.wa-teaching-grid,.wa-who-grid,.wa-ending-grid,
  .wt-masthead-grid,.wt-intro-grid,.wt-division-main,.wt-conclusion-grid,
  .sig-editorial,.sig-division,.sig-start-grid,.sig-upcoming-grid,
  .sig-teachers-grid,.sig-pass-grid,.sig-story-grid,.sig-final-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  /* reset old absolute editorial experiments */
  .ip-hero-grid>div:first-child,
  .fd-hero-grid>div:first-child,
  .wi-hero-grid>div:first-child,
  .ld-hero-grid>div:first-child,
  .fn-hero-copy,.pr-copy,.sc-hero-grid>div:first-child,
  .prr-hero-grid>div:first-child{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    max-width:none!important;
  }

  main h1{
    font-size:clamp(42px,9.8vw,58px)!important;
    line-height:.95!important;
  }
  main h2{
    font-size:clamp(34px,8vw,44px)!important;
    line-height:1!important;
  }
  main h3{
    font-size:clamp(25px,6vw,32px)!important;
  }

  [class*="belief-grid"],[class*="background-grid"],
  [class*="why-grid"],[class*="prepare-grid"],
  [class*="course-grid"],[class*="category-grid"]{
    grid-template-columns:1fr 1fr!important;
  }
}

/* SMALL PHONES */
@media(max-width:600px){
  .ws-container,.wa-container,.wrap,
  .fn-container,.pr-container,.wi-container,.ld-container,.fd-container,
  .ip-container,.sc-container,.prr-container{
    width:calc(100% - 26px)!important;
  }

  main h1{font-size:clamp(38px,11vw,48px)!important}
  main h2{font-size:clamp(31px,9vw,40px)!important}
  main h3{font-size:clamp(23px,7vw,29px)!important}
  main p{font-size:16px!important;line-height:1.55!important}

  .ws-actions,.ip-actions,.sig-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .ws-button,.btn,.fn-button,.pr-button,.wi-button,.ld-button,.fd-button,
  .ip-button,.sc-button,.sig-btn{
    width:100%!important;
  }

  [class*="belief-grid"],[class*="background-grid"],
  [class*="why-grid"],[class*="prepare-grid"],
  [class*="course-grid"],[class*="category-grid"],
  .sig-teacher-images,.sig-courses,.sig-why-grid,.sig-prepare-grid{
    grid-template-columns:1fr!important;
  }

  .ws-line-icon,.ws-course-icon,.ws-why-icon,.wa-icon,.wa-life-symbol,
  .wc-engraving,.ws-way-symbol{
    width:28px!important;
    height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
  }
  .ws-way-symbol-wrap,.icon-wrap,.icon-box{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }

  .ws-footer-top{
    grid-template-columns:1fr!important;
  }
}


/* SITEWIDE — REMOVE DECORATIVE TOPO / CONTOUR ART */
.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,
.wa-pattern::after,
.section--topo::before,
.section--topo::after,
.page-hero.topo::before,
.page-hero.topo::after,
.wt-masthead::before,
.wd-hero--pursuits::before,
.wr-guide::before,
.wfa-matters::before,
.wrdy-reasons::before,
.wr2-why::before,
.wop-pursuits::before{
  content:none!important;
  display:none!important;
  background-image:none!important;
}
