:root {
  --ink: #3f3e3e;
  --muted: #6f6e6e;
  --paper: #ffffff;
  --paper-deep: #f1f2ed;
  --white: #ffffff;
  --sage: #aac235;
  --sage-dark: #667817;
  --berry: #667817;
  --terracotta: #aac235;
  --line: rgba(63, 62, 62, 0.16);
  --shadow: 0 22px 60px rgba(63, 62, 62, 0.13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, summary { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
address { font-style: normal; }
:focus-visible { outline: 3px solid rgba(170, 194, 53, .72); outline-offset: 4px; }

.page-wrap { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }
.eyebrow { margin: 0 0 17px; color: var(--berry); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
h1 { font-size: clamp(48px, 6.2vw, 82px); }
h2 { font-size: clamp(32px, 4vw, 50px); }
h3 { font-size: 27px; }
.lead { color: var(--muted); font-size: clamp(18px, 2vw, 21px); line-height: 1.6; }
.small-note { color: var(--muted); font-size: 13px; line-height: 1.55; }

.site-header {
  position: relative;
  z-index: 20;
  width: min(1220px, calc(100% - 40px));
  min-height: 112px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 38px;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: 190px; height: auto; }
.desktop-nav { display: flex; justify-content: flex-end; gap: 26px; font-size: 14px; font-weight: 650; }
.desktop-nav a, .text-link { transition: color .2s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible, .text-link:hover, .text-link:focus-visible { color: var(--berry); }
.mobile-menu { display: none; }

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--sage);
  border-radius: 999px;
  background: var(--sage);
  color: var(--ink);
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); border-color: var(--sage-dark); background: var(--sage-dark); color: white; }
.button-small { min-height: 42px; padding: 9px 18px; }
.button-light { border-color: white; background: white; color: var(--ink); }
.button-light:hover, .button-light:focus-visible { border-color: white; background: #f1f2ed; color: var(--ink); }
.button-row { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 750; text-decoration: underline; text-decoration-color: rgba(102,120,23,.4); text-underline-offset: 5px; }
.text-link span { font-size: 20px; }
.text-link-light { color: white; text-decoration-color: rgba(255,255,255,.45); }

.breadcrumbs { padding: 23px 0 0; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.breadcrumb-item { display: inline-flex; align-items: center; gap: 9px; }
.breadcrumbs a:hover { color: var(--berry); }

.hero { padding: 76px 0 92px; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr); gap: clamp(44px, 7vw, 96px); align-items: center; }
.hero-copy { max-width: 650px; }
.hero-copy h1 { max-width: 710px; }
.hero-copy .lead { max-width: 610px; margin: 27px 0 30px; }
.trust-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 54px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); list-style: none; }
.trust-list strong, .trust-list span { display: block; }
.trust-list strong { font-family: Georgia, serif; font-size: 17px; }
.trust-list span { color: var(--muted); font-size: 12px; }
.hero-media { position: relative; min-height: 610px; }
.hero-media::before { content: ""; position: absolute; inset: 28px -22px -28px 42px; background: var(--paper-deep); }
.hero-media img { position: relative; width: 100%; height: 610px; object-fit: cover; border-radius: 0; box-shadow: var(--shadow); }
.hero-note { position: absolute; left: -44px; bottom: 34px; width: 270px; padding: 19px 21px; display: flex; align-items: center; gap: 15px; border-radius: 10px; background: var(--white); box-shadow: 0 18px 50px rgba(45,37,29,.18); }
.hero-note > span { color: var(--berry); font-size: 30px; }
.hero-note p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.hero-note strong { color: var(--ink); font-size: 13px; }

.intro-band { padding: 75px max(20px, calc((100% - 1220px) / 2)); display: grid; grid-template-columns: 1.05fr .7fr; gap: 70px; align-items: end; background: var(--ink); color: white; }
.intro-band .eyebrow { color: var(--sage); }
.intro-band > p { max-width: 540px; margin: 0; color: rgba(255,255,255,.68); }
.section-heading { margin-bottom: 34px; display: grid; grid-template-columns: 1fr minmax(260px, .65fr); gap: 50px; align-items: end; }
.section-heading > p { margin: 0; color: var(--muted); }
.section-heading > .text-link { justify-self: end; }
.home-courses { padding-block: 96px; }

.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.home-course-grid { grid-template-columns: repeat(4, 1fr); }
.catalog-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: 0 12px 40px rgba(63,62,62,.07); transition: transform .25s ease, box-shadow .25s ease; }
.catalog-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(63,62,62,.13); }
.catalog-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.catalog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.catalog-card:hover .catalog-image img { transform: scale(1.035); }
.catalog-image > span { position: absolute; left: 15px; bottom: 15px; padding: 6px 10px; border-radius: 999px; background: rgba(255,253,249,.9); backdrop-filter: blur(6px); font-size: .875rem; font-weight: 800; }
.catalog-copy { padding: 26px; display: flex; flex-direction: column; flex: 1; }
.catalog-copy .tag { margin-bottom: 9px; }
.catalog-copy h3 { margin-bottom: 14px; font-size: 29px; }
.catalog-copy > p:not(.tag) { margin: 0 0 20px; color: var(--muted); display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.catalog-meta { margin-top: auto; padding: 17px 0; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); font-size: 12px; }
.catalog-meta span { color: var(--muted); }
.catalog-copy .text-link { margin-top: 2px; }
.home-course-grid .catalog-card:nth-child(1) { grid-column: span 2; }
.home-course-grid .catalog-card:nth-child(1) .catalog-image { aspect-ratio: 2 / 1; }

.experience-section { padding-block: 110px; background: var(--paper-deep); }
.experience-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 120px); align-items: center; }
.experience-collage { position: relative; min-height: 650px; }
.experience-main { width: 76%; height: 600px; object-fit: cover; border-radius: 0; }
.experience-small { position: absolute; right: 0; bottom: 0; width: 43%; height: 300px; object-fit: cover; border: 9px solid var(--paper-deep); border-radius: 0; }
.experience-grid > div:last-child > p:not(.eyebrow) { max-width: 610px; color: var(--muted); }
.number-list { margin: 37px 0 0; padding: 0; list-style: none; }
.number-list li { padding: 20px 0; display: grid; grid-template-columns: 50px 1fr; gap: 18px; border-top: 1px solid rgba(36,35,31,.14); }
.number-list li > span { color: var(--berry); font-size: 11px; font-weight: 850; }
.number-list strong { font-family: Georgia, serif; font-size: 20px; }
.number-list p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.people-section { padding-block: 110px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.people-section > div:first-child > p:not(.eyebrow) { color: var(--muted); }
.people-card { padding: 30px; display: grid; grid-template-columns: 210px 1fr; gap: 34px; align-items: end; border-radius: 12px; background: var(--white); }
.people-card img { width: 210px; height: 285px; object-fit: cover; border-radius: 0; }
.people-card blockquote { margin: 0; padding-bottom: 15px; font-family: Georgia, serif; font-size: clamp(24px, 3vw, 38px); line-height: 1.2; }
.location-strip { padding-block: 82px; background: var(--ink); color: white; }
.location-strip > div { display: grid; grid-template-columns: 1fr .7fr; gap: 80px; align-items: end; }
.location-strip .eyebrow { color: var(--sage); }
.location-strip p:not(.eyebrow) { color: rgba(255,255,255,.73); }

.page-hero { padding: 72px 0 85px; display: grid; grid-template-columns: 1fr .65fr; gap: 70px; align-items: end; }
.page-hero .lead { margin: 0; }
.page-hero.centered { grid-template-columns: 1fr; max-width: 900px; text-align: center; }
.page-hero.centered .lead { max-width: 720px; margin: 28px auto 0; }
.course-finder { margin-bottom: 95px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.course-finder > div { padding: 30px; }
.course-finder > div + div { border-left: 1px solid var(--line); }
.course-finder strong { font-family: Georgia, serif; font-size: 21px; }
.course-finder p { color: var(--muted); font-size: 14px; }
.catalog { padding-bottom: 110px; }

.course-hero { padding: 55px 0 72px; display: grid; grid-template-columns: 1fr minmax(360px, .68fr); gap: 72px; align-items: center; }
.course-hero-copy .lead { margin: 27px 0 30px; }
.course-hero-image { margin: 0; }
.course-hero-image img { width: 100%; height: 550px; object-fit: cover; border-radius: 0; box-shadow: var(--shadow); }
.facts-bar { margin-bottom: 105px; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.facts-bar > div { padding: 24px 26px; }
.facts-bar > div + div { border-left: 1px solid var(--line); }
.facts-bar span, .facts-bar strong { display: block; }
.facts-bar span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.facts-bar strong { margin-top: 5px; font-family: Georgia, serif; font-size: 19px; line-height: 1.3; }
.content-grid { padding-bottom: 105px; display: grid; grid-template-columns: 1.05fr .72fr; gap: 90px; }
.content-grid h2 { font-size: clamp(33px, 4.5vw, 55px); }
.content-panel { padding: 34px; border-radius: 12px; background: var(--white); }
.content-panel h3 { margin-bottom: 21px; }
.check-list { margin: 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 10px 0 10px 30px; border-bottom: 1px solid var(--line); }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--sage-dark); font-weight: 900; }
.soft-section { padding-block: 96px; background: var(--paper-deep); }
.two-column { display: grid; grid-template-columns: 1fr .75fr; gap: 95px; align-items: start; }
.detail-list { margin: 35px 0 0; }
.detail-list > div { padding: 18px 0; display: grid; grid-template-columns: 160px 1fr; gap: 25px; border-top: 1px solid var(--line); }
.detail-list dt { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.detail-list dd { margin: 0; font-weight: 650; }
.bring-card { padding: 38px; border-radius: 12px; background: var(--white); box-shadow: 0 14px 45px rgba(45,37,29,.08); }
.bring-card > span { color: var(--berry); font-size: 36px; }
.bring-card h3 { margin: 10px 0 18px; }
.bring-card ul { padding-left: 20px; color: var(--muted); }
.bring-card a { color: var(--berry); font-weight: 700; text-decoration: underline; }
.schedule-section { padding-block: 105px; }
.embed-consent { min-height: 310px; padding: clamp(30px, 6vw, 65px); display: grid; grid-template-columns: 70px 1fr; gap: 30px; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.embed-consent h3 { margin-bottom: 10px; }
.embed-consent p { max-width: 680px; color: var(--muted); }
.embed-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--paper-deep); color: var(--berry); font-size: 27px; }
.embed-shell { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.embed-hint { display: none; margin: 0; padding: 9px 15px; background: var(--paper-deep); color: var(--muted); font-size: 11px; }
.embed-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.embed-scroll iframe { display: block; width: 100%; border: 0; background: white; }
.embed-table iframe { min-width: 720px; }
.schedule-action { margin-top: 22px; padding: 22px 25px; display: flex; justify-content: flex-end; align-items: center; gap: 25px; border-radius: 10px; background: var(--paper-deep); }
.schedule-action p { margin: 0; font-family: Georgia, serif; font-size: 20px; }
.faq-section { padding-bottom: 110px; display: grid; grid-template-columns: .55fr 1fr; gap: 85px; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 21px 45px 21px 0; list-style: none; cursor: pointer; font-family: Georgia, serif; font-size: 21px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 6px; top: 17px; color: var(--berry); font-family: system-ui, sans-serif; font-size: 27px; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { margin: -5px 45px 22px 0; color: var(--muted); }
.related { padding-bottom: 105px; }
.related > h2 { margin-bottom: 32px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.catalog-card-compact .catalog-copy > p:not(.tag) { display: none; }
.catalog-card-compact .catalog-meta { margin-top: 12px; }

.story-grid { padding: 25px 0 105px; display: grid; grid-template-columns: .8fr 1.1fr; gap: 90px; align-items: center; }
.story-grid > img, .story-image img { width: 100%; min-height: 580px; object-fit: cover; border-radius: 0; }
.story-grid > div:last-child > p:not(.eyebrow) { color: var(--muted); }
.team-section { padding-block: 105px; }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.team-grid article { min-height: 390px; padding: 32px; display: grid; grid-template-columns: 210px 1fr; gap: 30px; align-items: center; border-radius: 12px; background: var(--white); }
.team-grid article img, .initial-portrait { width: 210px; height: 300px; object-fit: cover; border-radius: 0; }
.initial-portrait { display: grid; place-items: center; background: var(--sage-dark); color: white; font-family: Georgia, serif; font-size: 48px; }
.team-grid h3 { margin-bottom: 11px; font-size: 31px; }
.team-grid p { color: var(--muted); font-size: 14px; }

.form-layout { padding: 10px 0 110px; display: grid; grid-template-columns: 330px 1fr; gap: 55px; align-items: start; }
.form-layout aside { position: sticky; top: 25px; padding: 30px; border-radius: 12px; background: var(--paper-deep); }
.form-layout aside h2 { margin-bottom: 22px; font-size: 31px; }
.form-layout aside a:not(.button):not(.text-link) { color: var(--berry); overflow-wrap: anywhere; }
.contact-big { display: block; margin-bottom: 25px; font-family: Georgia, serif; font-size: 24px; }
.form-layout .embed-consent { min-height: 500px; }
.embed-form iframe { min-width: 100%; }
.directions-grid { padding: 5px 0 110px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 35px; }
.direction-cards { display: grid; gap: 15px; }
.direction-cards article { padding: 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.direction-cards article > span { color: var(--berry); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.direction-cards h2 { margin: 7px 0 10px; font-size: 29px; }
.direction-cards p { margin: 0; color: var(--muted); font-size: 14px; }
.embed-map .embed-scroll iframe { min-width: 100%; }
.review-grid { padding: 0 0 120px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.review-grid > a { padding: 35px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); transition: transform .2s ease, box-shadow .2s ease; }
.review-grid > a:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(45,37,29,.1); }
.review-grid span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--paper-deep); color: var(--berry); font-family: Georgia, serif; font-size: 25px; }
.review-grid h2 { margin-top: 28px; font-size: 34px; }
.review-grid p { color: var(--muted); }
.review-grid strong { color: var(--berry); font-size: 13px; }

.legal-page { max-width: 960px; padding: 80px 0 115px; }
.legal-page > h1 { margin-bottom: 48px; }
.legal-note { padding: 20px 22px; border-left: 4px solid var(--terracotta); background: #f1f5dc; color: var(--ink); font-size: 14px; }
.legal-sections { margin-top: 40px; }
.legal-sections > section { padding: 30px 0; display: grid; grid-template-columns: 58px 1fr; gap: 25px; border-top: 1px solid var(--line); }
.legal-sections > section > span { color: var(--berry); font-size: 11px; font-weight: 850; }
.legal-sections h2 { font-size: 30px; }
.legal-sections p { margin-bottom: 0; color: var(--muted); }

.cta-band { padding: 78px max(20px, calc((100% - 1220px) / 2)); display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; background: var(--sage); color: var(--ink); }
.cta-band .eyebrow { color: var(--ink); }
.cta-band h2 { max-width: 720px; }
.cta-band p:not(.eyebrow) { max-width: 640px; margin-bottom: 0; color: rgba(63,62,62,.82); }
.cta-band .text-link-light { color: var(--ink); text-decoration-color: rgba(63,62,62,.42); }
.site-footer { padding: 74px max(20px, calc((100% - 1220px) / 2)) 25px; background: var(--ink); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 45px; }
.footer-brand { max-width: 330px; }
.footer-brand > p { color: rgba(255,255,255,.58); font-size: 14px; }
.site-footer .brand { padding: 8px 10px; border-radius: 4px; background: white; }
.site-footer .brand img { width: 155px; }
.site-footer h2 { margin-bottom: 16px; color: var(--sage); font-family: inherit; font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.site-footer address, .site-footer > div a { display: block; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.8; }
.site-footer a:hover { color: white; }
.footer-bottom { margin-top: 58px; padding-top: 20px; display: flex; justify-content: space-between; gap: 25px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.45); font-size: 11px; }
.footer-bottom div { display: flex; gap: 18px; }

@media (max-width: 1050px) {
  .desktop-nav { gap: 17px; }
  .home-course-grid { grid-template-columns: repeat(2, 1fr); }
  .home-course-grid .catalog-card:nth-child(1) { grid-column: auto; }
  .home-course-grid .catalog-card:nth-child(1) .catalog-image { aspect-ratio: 4 / 3; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid article { grid-template-columns: 150px 1fr; }
  .team-grid article img, .initial-portrait { width: 150px; height: 230px; }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav, .desktop-book { display: none; }
  .mobile-menu { position: relative; display: block; }
  .mobile-menu summary { width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; list-style: none; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { width: 17px; height: 1.5px; background: var(--ink); }
  .mobile-menu nav { position: absolute; right: 0; top: 52px; width: min(310px, calc(100vw - 30px)); padding: 20px; display: grid; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); }
  .mobile-menu nav a:not(.button) { padding: 10px 4px; border-bottom: 1px solid var(--line); font-weight: 700; }
  .mobile-menu nav .button { margin-top: 14px; }
  .hero, .course-hero, .page-hero { grid-template-columns: 1fr; padding-top: 54px; }
  .hero-copy { max-width: none; }
  .hero-media { min-height: 500px; margin-left: 34px; }
  .hero-media img { height: 500px; }
  .intro-band, .experience-grid, .people-section, .location-strip > div, .content-grid, .two-column, .faq-section, .story-grid, .form-layout, .directions-grid { grid-template-columns: 1fr; }
  .course-hero-image { max-width: 620px; }
  .course-hero-image img { height: 500px; }
  .facts-bar { grid-template-columns: repeat(2, 1fr); }
  .facts-bar > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .facts-bar > div:nth-child(4) { border-top: 1px solid var(--line); }
  .experience-grid, .people-section, .story-grid { gap: 55px; }
  .people-card { max-width: 650px; }
  .course-finder { grid-template-columns: 1fr; }
  .course-finder > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .section-heading > .text-link { justify-self: start; }
  .form-layout aside { position: static; }
  .team-grid { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  body { font-size: 16px; }
  .page-wrap, .site-header { width: min(100% - 28px, 1220px); }
  .site-header { min-height: 88px; }
  .brand img { width: 145px; }
  .site-footer .brand img { width: 145px; }
  .hero { padding: 48px 0 68px; gap: 50px; }
  h1 { font-size: clamp(41px, 13vw, 58px); }
  .lead { font-size: 18px; }
  .trust-list { grid-template-columns: 1fr; gap: 12px; }
  .trust-list li { display: flex; justify-content: space-between; gap: 14px; }
  .hero-media { min-height: 420px; margin-left: 0; }
  .hero-media::before { inset: 20px -8px -18px 26px; }
  .hero-media img { height: 420px; }
  .hero-note { left: 12px; right: 12px; bottom: 16px; width: auto; }
  .intro-band { padding-block: 58px; gap: 24px; }
  .home-courses, .catalog, .experience-section, .people-section, .schedule-section, .team-section { padding-block: 72px; }
  .catalog-grid, .home-course-grid, .related-grid { grid-template-columns: 1fr; }
  .catalog-image { aspect-ratio: 5 / 3; }
  .experience-collage { min-height: 480px; }
  .experience-main { height: 450px; }
  .experience-small { height: 220px; }
  .people-card { grid-template-columns: 110px 1fr; gap: 20px; padding: 20px; }
  .people-card img { width: 110px; height: 165px; }
  .people-card blockquote { font-size: 22px; }
  .location-strip { padding-block: 60px; }
  .page-hero { padding: 48px 0 65px; gap: 25px; }
  .course-hero { gap: 42px; }
  .course-hero-image img { height: 410px; }
  .facts-bar { margin-bottom: 72px; }
  .facts-bar > div { padding: 20px 15px; }
  .facts-bar strong { font-size: 16px; }
  .content-grid { padding-bottom: 72px; gap: 38px; }
  .two-column { gap: 40px; }
  .detail-list > div { grid-template-columns: 1fr; gap: 4px; }
  .embed-consent { min-height: 360px; grid-template-columns: 1fr; }
  .embed-hint { display: block; }
  .schedule-action { align-items: stretch; flex-direction: column; }
  .faq-section { padding-bottom: 80px; gap: 32px; }
  .story-grid > img, .story-image img { min-height: 430px; }
  .team-grid article { grid-template-columns: 95px 1fr; padding: 20px; }
  .team-grid article img, .initial-portrait { width: 95px; height: 145px; }
  .team-grid h3 { font-size: 25px; }
  .form-layout { padding-bottom: 75px; }
  .review-grid { padding-bottom: 80px; }
  .legal-page { padding-block: 58px 85px; }
  .legal-sections > section { grid-template-columns: 34px 1fr; gap: 13px; }
  .cta-band { grid-template-columns: 1fr; gap: 30px; padding-block: 60px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

@font-face{font-family:NW Lato;src:url('../original-home/css/Lato-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:NW Lato;src:url('../original-home/css/Lato-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}

.nw-home{--nw-green:#aac235;--nw-green-pale:#d6ed9d;--nw-lilac:#d4b0e6;--nw-peach:#f6d1a3;--nw-gold:#dfd29b;--nw-ink:#3f3e3e;--nw-muted:#61605f;--nw-line:#d8d8d4;min-height:100vh;padding:0 28px;background:#333;color:var(--nw-ink);font-family:'NW Lato',Arial,sans-serif;font-size:1rem;line-height:1.65}
.nw-home h1,.nw-home h2,.nw-home h3{font-family:inherit;font-weight:700;letter-spacing:normal;line-height:1.25}
.nw-home h1{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.nw-home h2{font-size:clamp(1.4rem,2.4vw,1.75rem)}
.nw-home h3{font-size:1.25rem}
.nw-home p{margin:0 0 1rem}
.nw-home a{overflow-wrap:anywhere}
.nw-home img{height:auto;border-radius:0}
.nw-home :focus-visible{outline:3px solid #53660a;outline-offset:4px}
.nw-site{width:min(1160px,100%);margin-inline:auto;background:#fff}
.nw-inset{padding-inline:clamp(20px,4vw,44px)}
.nw-skip{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;padding:12px 18px}
.nw-skip:focus{top:12px}
.nw-masthead{min-height:144px;padding:22px 38px;display:flex;align-items:center;gap:30px}
.nw-logo{flex:0 0 auto;display:block}
.nw-logo img{width:220px;max-width:100%;height:auto}
.nw-header-contact{margin-left:auto;text-align:right;font-size:.875rem;line-height:1.55}
.nw-header-contact p{margin:0;color:var(--nw-muted)}
.nw-header-contact a{font-size:1rem}
.nw-header-contact a:hover{text-decoration:underline}
.nw-nav{display:flex;justify-content:space-between;gap:8px;padding:0 38px;border-top:1px solid var(--nw-line);border-bottom:1px solid var(--nw-line)}
.nw-nav a{padding:13px 7px 11px;border-bottom:3px solid transparent;font-size:.9375rem}
.nw-nav a:hover,.nw-nav a[aria-current=page]{border-color:var(--nw-green);color:#4c5c13}
.nw-mobile-nav{display:none}
.nw-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 17px;border:1px solid #737370;border-radius:0;background:#fff;font:700 .875rem/1.4 'NW Lato',Arial,sans-serif;color:var(--nw-ink);text-align:center;cursor:pointer;text-decoration:none;transition:background-color .15s ease}
.nw-button:hover{background:#f2f4e9;border-color:#667817}
.nw-button-primary{border-color:var(--nw-green);background:var(--nw-green);color:#34352b}
.nw-button-primary:hover{background:#c0d458;border-color:#899e20}
.nw-banner{display:block;width:100%;aspect-ratio:3078/464;object-fit:contain;background:#f3f3f1}
.nw-intro{padding-top:34px;padding-bottom:36px;border-bottom:1px solid var(--nw-line)}
.nw-kicker{font-size:1rem;font-weight:700;color:#617215;letter-spacing:.045em}
.nw-intro .nw-kicker{margin-bottom:6px}
.nw-intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:55px;margin-top:19px}
.nw-lead{font-size:1.25rem;font-weight:700;line-height:1.45}
.nw-intro-grid>div>p:not(.nw-lead){max-width:660px;color:var(--nw-muted)}
.nw-intro-grid .nw-button{margin-top:4px}
.nw-benefits{padding:0 0 0 24px;margin:0;border-left:3px solid var(--nw-green);list-style:none}
.nw-benefits li+li{margin-top:14px}
.nw-benefits strong,.nw-benefits span{display:block}
.nw-benefits span{font-size:.875rem;color:var(--nw-muted)}
.nw-courses{padding-block:35px 26px;scroll-margin-top:18px}
.nw-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px}
.nw-course-overview-button{flex:0 0 auto}
.nw-inline-link{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:#88963e}
.nw-inline-link:hover{color:#556713}
.nw-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 26px}
.nw-green{--nw-accent:var(--nw-green-pale)}
.nw-lilac{--nw-accent:var(--nw-lilac)}
.nw-peach{--nw-accent:var(--nw-peach)}
.nw-gold{--nw-accent:var(--nw-gold)}
.nw-course{border-bottom:1px solid var(--nw-line);padding-bottom:23px;min-width:0}
.nw-course>h3,.nw-special>h2{padding:10px 14px;background:var(--nw-accent);font-size:1.18rem;line-height:1.3}
.nw-course>h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.nw-course-body{display:grid;grid-template-columns:minmax(0,1fr) 35%;gap:20px;padding-top:19px;align-items:start}
.nw-course-body p{font-size:1rem;line-height:1.55}
.nw-course .course-intro-details{margin:0 0 1rem}
.nw-course .course-intro-details summary{cursor:pointer;font-size:1rem;font-weight:400;line-height:1.55;list-style:none}
.nw-course .course-intro-details summary::-webkit-details-marker{display:none}
.nw-course .course-intro-details summary::marker{content:""}
.nw-course .course-intro-details[open] summary{margin-bottom:.65rem}
.nw-course .course-intro-details p{margin:0}
.nw-course .course-intro-more,.nw-course .course-intro-less{color:#617215;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.nw-course .course-intro-less{display:none}
.nw-course .course-intro-details[open] .course-intro-more{display:none}
.nw-course .course-intro-details[open] .course-intro-less{display:inline}
.nw-course-body .nw-course-level{font-size:.9375rem;font-weight:700;color:#62635d;margin-bottom:7px}
.nw-course-photo{display:block;align-self:center}
.nw-course-photo img{width:100%;max-height:310px;object-fit:contain}
.nw-course-facts{display:flex;flex-wrap:wrap;gap:3px 16px;align-items:baseline;margin-top:16px}
.nw-course-facts span{font-size:.875rem;color:var(--nw-muted)}
.nw-more-courses{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:23px;font-size:.875rem}
.nw-more-courses>span{flex-basis:100%;font-weight:700}
.nw-more-courses>a:not(.nw-button){text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a2ad74}
.nw-more-courses>a:not(.nw-button):hover{color:#556713}
.nw-more-courses .nw-all-courses-button{margin-left:auto;text-decoration:none}
.nw-specials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding-block:8px 36px;border-bottom:1px solid var(--nw-line)}
.nw-special>div{padding-top:16px}
.nw-small-feature{display:grid;grid-template-columns:minmax(0,1fr) 75px;gap:20px}
.nw-small-feature img{width:75px;max-height:140px;object-fit:contain}
.nw-about{padding-block:35px 38px;border-bottom:1px solid var(--nw-line)}
.nw-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.nw-team-grid article{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start}
.nw-team-grid img{width:120px;height:180px;object-fit:cover;object-position:center top}
.nw-team-grid h3{margin-bottom:7px}
.nw-team-grid p{font-size:.9375rem;line-height:1.6}
.nw-team-grid .nw-person-role{margin-bottom:3px;font-size:.8125rem;color:#617215;font-weight:700}
.nw-visit{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:36px;align-items:center;padding-block:36px;background:#f3f3f0}
.nw-visit>img{width:100%;max-height:290px;object-fit:cover;object-position:center}
.nw-visit h2{margin-bottom:14px}
.nw-visit .nw-kicker{margin-bottom:8px}
.nw-actions{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center}
.nw-gift{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:24px;align-items:center;padding-block:30px}
.nw-gift img{width:55px;max-height:110px;object-fit:contain}
.nw-gift h2{font-size:1.35rem;margin-bottom:7px}
.nw-gift p{font-size:.9375rem;margin-bottom:8px}
.nw-home .site-footer{padding:35px 38px 22px;background:#333}
.nw-home .footer-grid{grid-template-columns:1.2fr 1fr 1.1fr .7fr;gap:26px}
.nw-home .site-footer h2{font-size:.8125rem;letter-spacing:.06em;color:#c4d76b}
.nw-home .site-footer address,.nw-home .site-footer>div a{font-size:.875rem;color:#e0e0dc}
.nw-home .footer-brand>p{font-size:.875rem;color:#d0d0cc}
.nw-home .site-footer .brand{padding:10px;background:#fff;border-radius:0}
.nw-home .site-footer .brand img{width:155px;aspect-ratio:214/92}
.nw-home .footer-bottom{margin-top:26px;color:#cececa;font-size:.8125rem}
.nw-home .footer-bottom a{font-size:.8125rem}
.nw-footer-button{border:0;padding:0;background:transparent;color:#e0e0dc;font:inherit;font-size:.8125rem;cursor:pointer;text-decoration:none}
.nw-footer-button:hover,.nw-footer-button:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}

.nw-consent-banner{position:fixed;z-index:1000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));width:min(920px,calc(100% - 32px));max-height:calc(100vh - 32px);margin-inline:auto;padding:23px;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;border:1px solid #777;border-top:6px solid var(--nw-green);background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.32);font-family:'NW Lato',Arial,sans-serif;color:var(--nw-ink)}
.nw-consent-copy h2{font-size:1.25rem;margin:0 0 8px}
.nw-consent-copy p{margin:0 0 7px;font-size:.9375rem;line-height:1.55;color:var(--nw-muted)}
.nw-consent-copy a{font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.nw-consent-actions{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;min-width:330px}
.nw-consent-button{min-height:46px;padding:9px 16px;border:1px solid #686865;border-radius:0;background:#fff;color:var(--nw-ink);font:700 .875rem/1.35 'NW Lato',Arial,sans-serif;cursor:pointer}
.nw-consent-button:hover,.nw-consent-button:focus-visible{background:#f1f3e7;border-color:#657617}
.nw-consent-primary{border-color:var(--nw-green);background:var(--nw-green);color:#303126}
.nw-consent-primary:hover,.nw-consent-primary:focus-visible{background:#c0d458}
.nw-consent-link{grid-column:1/-1;border:0;padding:5px;background:transparent;color:var(--nw-ink);font:700 .875rem/1.35 'NW Lato',Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nw-consent-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;overflow:auto;border:1px solid #696966;border-top:6px solid var(--nw-green);border-radius:0;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.38);font-family:'NW Lato',Arial,sans-serif;color:var(--nw-ink)}
.nw-consent-dialog::backdrop{background:rgba(24,24,22,.66)}
.nw-consent-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px 15px;border-bottom:1px solid var(--nw-line)}
.nw-consent-dialog-head p{margin:0 0 3px;color:#617215;font-size:.8125rem;font-weight:700}
.nw-consent-dialog-head h2{margin:0;font-size:1.45rem}
.nw-consent-close{width:44px;height:44px;flex:0 0 auto;border:1px solid #737370;background:#fff;color:var(--nw-ink);font:400 1.75rem/1 'NW Lato',Arial,sans-serif;cursor:pointer}
.nw-consent-intro{margin:0;padding:16px 24px;color:var(--nw-muted);font-size:.9375rem;line-height:1.55}
.nw-consent-categories{padding:0 24px}
.nw-consent-categories>section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:18px 0;border-top:1px solid var(--nw-line)}
.nw-consent-categories h3{margin:0 0 5px;font-size:1rem}
.nw-consent-categories p{margin:0;color:var(--nw-muted);font-size:.875rem;line-height:1.5}
.nw-consent-categories strong{color:#617215;font-size:.8125rem;white-space:nowrap}
.nw-consent-switch{position:relative;display:block;flex:0 0 auto;cursor:pointer}
.nw-consent-switch input{position:absolute;width:1px;height:1px;opacity:0}
.nw-consent-switch span{display:block;position:relative;width:54px;height:30px;border:1px solid #6f6f6b;background:#e7e7e3;transition:background .15s ease}
.nw-consent-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border:1px solid #777;transition:transform .15s ease}
.nw-consent-switch input:checked+span{border-color:#657617;background:var(--nw-green)}
.nw-consent-switch input:checked+span::after{transform:translateX(24px);border-color:#53620f}
.nw-consent-switch input:focus-visible+span{outline:3px solid #53660a;outline-offset:4px}
.nw-consent-switch b{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw-consent-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 24px 24px;border-top:1px solid var(--nw-line)}

@media(max-width:1000px){.nw-home{padding-inline:16px}.nw-masthead{padding-inline:26px;gap:20px}.nw-header-contact{display:none}.nw-masthead>.nw-button{margin-left:auto}.nw-nav{padding-inline:22px}.nw-intro-grid{gap:30px}.nw-course-body{grid-template-columns:minmax(0,1fr) 31%;gap:15px}.nw-team-grid article{grid-template-columns:90px minmax(0,1fr);gap:16px}.nw-team-grid img{width:90px;height:135px}.nw-gift{grid-template-columns:55px 1fr}.nw-gift>.nw-button{grid-column:2;justify-self:start}.nw-home .footer-grid{grid-template-columns:1fr 1fr}.nw-home .footer-brand{grid-column:auto}}
@media(max-width:700px){.nw-home{padding:0}.nw-masthead{min-height:115px;padding:17px 20px;gap:14px}.nw-logo img{width:175px}.nw-masthead>.nw-button{max-width:130px;padding:8px 10px;font-size:.8125rem}.nw-nav{display:none}.nw-mobile-nav{display:block;border-block:1px solid var(--nw-line);padding-inline:20px}.nw-mobile-nav summary{display:flex;justify-content:space-between;align-items:center;min-height:47px;cursor:pointer;list-style:none;font-weight:700}.nw-mobile-nav summary::-webkit-details-marker{display:none}.nw-mobile-nav summary span{font-size:1.2rem}.nw-mobile-nav nav{display:grid;padding-bottom:12px}.nw-mobile-nav nav a{padding:9px 0;border-top:1px solid #e8e8e4}.nw-intro{padding-top:25px;padding-bottom:28px}.nw-intro-grid{grid-template-columns:1fr;gap:25px}.nw-lead{font-size:1.1rem}.nw-benefits{display:grid;gap:12px}.nw-benefits li+li{margin:0}.nw-section-title{align-items:start;flex-direction:column;gap:10px;margin-bottom:20px}.nw-course-overview-button{width:100%;max-width:330px}.nw-course-grid,.nw-specials,.nw-team-grid{grid-template-columns:1fr}.nw-course-body{grid-template-columns:minmax(0,1fr) 32%}.nw-course-photo img{max-height:290px}.nw-courses{padding-block:28px 24px}.nw-more-courses .nw-all-courses-button{flex-basis:100%;justify-content:flex-start;margin:8px 0 0;max-width:220px}.nw-specials{padding-bottom:28px}.nw-about{padding-block:28px}.nw-team-grid article{grid-template-columns:105px minmax(0,1fr);gap:20px}.nw-team-grid img{width:105px;height:158px}.nw-visit{grid-template-columns:1fr;gap:23px;padding-block:28px}.nw-visit>img{max-height:280px;object-fit:contain}.nw-gift{padding-block:26px;gap:17px}.nw-home .site-footer{padding:30px 20px 20px}.nw-home .footer-grid{gap:26px 20px}.nw-home .footer-bottom{flex-direction:column;gap:12px}.nw-home .footer-bottom div{flex-wrap:wrap;gap:15px}.nw-consent-banner{bottom:max(8px,env(safe-area-inset-bottom));left:8px;right:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px);grid-template-columns:1fr;gap:16px;padding:18px}.nw-consent-actions{min-width:0;width:100%;grid-template-columns:1fr}.nw-consent-link{grid-column:auto}.nw-consent-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px)}.nw-consent-dialog-head,.nw-consent-intro,.nw-consent-categories,.nw-consent-dialog-actions{padding-inline:18px}.nw-consent-categories>section{grid-template-columns:1fr;gap:12px}.nw-consent-switch{justify-self:start}.nw-consent-dialog-actions{grid-template-columns:1fr}}
@media(max-width:380px){.nw-logo img{width:153px}.nw-masthead{padding-inline:16px;gap:10px}.nw-masthead>.nw-button{max-width:118px}.nw-inset{padding-inline:18px}.nw-course-body{grid-template-columns:minmax(0,1fr) 28%;gap:12px}.nw-team-grid article{grid-template-columns:85px minmax(0,1fr);gap:15px}.nw-team-grid img{width:85px;height:128px}.nw-home .footer-grid{grid-template-columns:1fr}.nw-gift{grid-template-columns:44px minmax(0,1fr)}.nw-gift img{width:44px}}
@media(prefers-reduced-motion:reduce){.nw-home *{transition:none;scroll-behavior:auto}}
@media print{.nw-consent-banner,.nw-consent-dialog{display:none!important}}

/* The approved homepage is the visual reference for all interior pages. */
.nw-subpage .page-wrap{width:calc(100% - clamp(40px,8vw,88px));max-width:none;margin-inline:auto;min-width:0}
.nw-subpage .eyebrow{font-size:1rem;letter-spacing:.045em;text-transform:none;font-weight:700;color:#617215;margin-bottom:9px}
.nw-subpage .lead{font-size:1.08rem;line-height:1.65;color:var(--nw-muted)}
.nw-subpage .small-note{font-size:.875rem}
.nw-subpage .button{min-height:44px;padding:10px 17px;border-radius:0;font:700 .875rem/1.4 'NW Lato',Arial,sans-serif;background:var(--nw-green);border-color:var(--nw-green);color:#34352b;box-shadow:none}
.nw-subpage .button:hover,.nw-subpage .button:focus-visible{transform:none;background:#c0d458;color:#34352b}
.nw-subpage .button-light{background:#fff;border-color:#737370}
.nw-subpage .button-row{gap:16px 22px}
.nw-subpage .text-link{font-size:.9375rem}
.nw-subpage .breadcrumbs{font-size:1rem;flex-wrap:wrap;padding-top:22px;line-height:1.5}
.nw-subpage .breadcrumb-item{display:inline;overflow-wrap:anywhere}
.nw-subpage .breadcrumb-item>span[aria-hidden]{margin-inline:9px}
.nw-subpage .page-hero{padding-block:32px 38px;gap:30px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.nw-subpage .page-hero.centered{grid-template-columns:1fr;text-align:left}
.nw-subpage .page-hero.centered .lead{margin:16px 0 0}
.nw-subpage .section-heading{gap:28px;margin-bottom:23px;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.nw-subpage .course-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:38px;padding-block:32px 35px}
.nw-subpage .course-hero h1{background:var(--nw-green-pale);padding:14px 17px;font-size:clamp(1.7rem,3vw,2.2rem)}
.nw-subpage .course-hero-copy .lead{margin:19px 0 23px}
.nw-subpage .course-hero-image img{height:360px;object-fit:contain;box-shadow:none;background:#fff}
.nw-subpage .facts-bar{margin-bottom:35px;grid-template-columns:repeat(4,minmax(0,1fr));background:#f5f6ee}
.nw-subpage .facts-bar>div{padding:18px 16px}
.nw-subpage .facts-bar strong{font:700 1.08rem/1.4 'NW Lato',Arial,sans-serif}
.nw-subpage .facts-bar span{font-size:.8125rem;letter-spacing:.045em}
.nw-subpage .content-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding-bottom:35px}
.nw-subpage .content-grid h2{font-size:1.45rem;line-height:1.45}
.nw-subpage .content-panel{padding:0;border-radius:0}
.nw-subpage .content-panel h3{background:var(--nw-lilac);padding:10px 14px;margin-bottom:9px}
.nw-subpage .check-list li{padding-block:8px}
.nw-subpage .soft-section{padding-block:34px;background:#f3f3f0}
.nw-subpage .two-column{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}
.nw-subpage .detail-list{margin-top:20px}
.nw-subpage .detail-list>div{grid-template-columns:135px minmax(0,1fr);gap:14px;padding-block:13px}
.nw-subpage .detail-list dt{font-size:.75rem;letter-spacing:.03em}
.nw-subpage .detail-list dd{font-weight:400}
.nw-subpage .bring-card{border-radius:0;padding:23px;box-shadow:none}
.nw-subpage .bring-card>span{font-size:24px}
.nw-subpage .schedule-section{padding-block:36px}
.nw-subpage .course-video{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(56px,8vw,96px)}
.nw-subpage .course-video-copy h2{margin:8px 0 18px}
.nw-subpage .course-video-copy p:last-child{font-size:1.05rem;line-height:1.75;color:var(--muted)}
.nw-subpage .course-video-player{width:min(100%,680px);aspect-ratio:1/1;justify-self:center;overflow:hidden;background:#222;border:1px solid rgba(49,49,49,.14);box-shadow:0 20px 46px rgba(45,45,45,.16)}
.nw-subpage .course-video-player video{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:contain;background:#222}
@media(max-width:760px){.nw-subpage .course-video{grid-template-columns:1fr;gap:24px;padding-block:54px}.nw-subpage .course-video-player{width:100%}}
.nw-subpage .embed-consent{min-height:240px;padding:28px;grid-template-columns:40px minmax(0,1fr);gap:20px;border-radius:0;background:#f7f7f3}
.nw-subpage .embed-mark{width:40px;height:40px;border-radius:0;background:var(--nw-green-pale)}
.nw-subpage .embed-shell{border-radius:0;min-width:0}
.nw-subpage .embed-form{border:0;background:#fff}
.nw-subpage .external-embed-form .embed-consent{border:0;background:#fff}
.nw-subpage .external-embed-form .embed-actions{border-top:0;background:#fff}
.nw-subpage .embed-scroll{max-width:100%;overscroll-behavior-x:contain}
.nw-subpage .embed-hint{display:block;font-size:.8125rem;padding:10px 14px}
.nw-subpage .embed-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding:14px;border-top:1px solid var(--nw-line);font-size:.875rem}
.nw-subpage .embed-status{padding:8px 14px;font-size:.875rem;color:var(--nw-muted)}
.nw-subpage .embed-actions a{text-decoration:underline;text-underline-offset:3px}
.nw-subpage .schedule-action{padding:17px;border-radius:0;gap:20px}
.nw-subpage .schedule-action p{font:700 1rem/1.4 'NW Lato',Arial,sans-serif}
.nw-subpage .faq-section{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px;padding-bottom:36px}
.nw-subpage .faq-list summary{font:700 1rem/1.5 'NW Lato',Arial,sans-serif;padding-block:17px}
.nw-subpage .faq-list summary::after{top:10px}
.nw-subpage .related{padding-bottom:36px}
.nw-subpage .related>h2{margin-bottom:22px}
.nw-subpage .course-finder{border-radius:0;margin-bottom:35px;grid-template-columns:repeat(3,minmax(0,1fr))}
.nw-subpage .course-finder>div{padding:21px}
.nw-subpage .course-finder strong{font:700 1.1rem/1.4 'NW Lato',Arial,sans-serif}
.nw-subpage .catalog{padding-top:0;padding-bottom:38px}
.nw-subpage .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.nw-subpage .catalog-card{border:0;border-bottom:1px solid var(--nw-line);border-radius:0;box-shadow:none;padding-bottom:20px;display:grid;grid-template-columns:minmax(0,1fr) 33%;gap:0 18px;align-content:start}
.nw-subpage .catalog-card:hover{transform:none;box-shadow:none}
.nw-subpage .catalog-image{grid-column:2;grid-row:1;aspect-ratio:auto;align-self:center}
.nw-subpage .catalog-image img{height:230px;object-fit:contain;transform:none!important}
.nw-subpage .catalog-image>span{display:none}
.nw-subpage .catalog-copy{grid-column:1;grid-row:1;padding:0;min-width:0}
.nw-subpage .catalog-copy .tag{font-size:.875rem;font-weight:700;color:var(--nw-muted);margin-bottom:10px}
.nw-subpage .catalog-copy h3{font-size:1.15rem;line-height:1.4;padding:9px 11px;background:var(--nw-green-pale);margin-bottom:12px}
.nw-subpage .catalog-card:nth-child(4n+2) h3{background:var(--nw-lilac)}
.nw-subpage .catalog-card:nth-child(4n+3) h3{background:var(--nw-peach)}
.nw-subpage .catalog-card:nth-child(4n+4) h3{background:var(--nw-gold)}
.nw-subpage .catalog-copy>p:not(.tag){display:block;overflow:visible;font-size:.9375rem;line-height:1.6;margin-bottom:15px}
.nw-subpage .course-intro-details{margin:0 0 15px}
.nw-subpage .course-intro-details summary{cursor:pointer;font-size:.9375rem;font-weight:400;line-height:1.6;list-style:none}
.nw-subpage .course-intro-details summary::-webkit-details-marker{display:none}
.nw-subpage .course-intro-details summary::marker{content:""}
.nw-subpage .course-intro-details[open] summary{margin-bottom:10px}
.nw-subpage .course-intro-details p{margin:0;font-size:.9375rem;line-height:1.6}
.nw-subpage .course-intro-more,.nw-subpage .course-intro-less{color:#617215;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.nw-subpage .course-intro-less{display:none}
.nw-subpage .course-intro-details[open] .course-intro-more{display:none}
.nw-subpage .course-intro-details[open] .course-intro-less{display:inline}
.nw-subpage .catalog-meta{font-size:.8125rem;flex-wrap:wrap;padding-block:11px}
.nw-subpage .related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nw-subpage .catalog-card-compact{display:flex;gap:14px}
.nw-subpage .catalog-card-compact .catalog-image{width:100%}
.nw-subpage .catalog-card-compact .catalog-image img{height:180px}
.nw-subpage .catalog-card-compact .catalog-copy>p{display:none}
.nw-subpage .story-grid{padding-block:0 36px;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.nw-subpage .story-grid h2{margin-bottom:16px}
.nw-subpage .story-grid>img,.nw-subpage .story-image img{min-height:0;max-height:380px;object-fit:contain;width:100%}
.nw-subpage .team-grid{gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}
.nw-subpage .team-grid article{grid-template-columns:115px minmax(0,1fr);gap:20px;min-height:0;padding:0;border-radius:0;background:transparent;align-items:start}
.nw-subpage .team-grid article img{width:115px;height:173px;object-position:top}
.nw-subpage .team-grid h3{font-size:1.25rem}
.nw-subpage .team-grid p{font-size:.9375rem}
.nw-subpage .form-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);gap:28px;padding-bottom:36px}
.nw-subpage .form-layout aside{position:static;border-radius:0;padding:22px}
.nw-subpage .form-layout aside h2{font-size:1.3rem}
.nw-subpage .form-layout .embed-consent{min-height:310px}
.nw-subpage .contact-big{font:700 1.2rem/1.5 'NW Lato',Arial,sans-serif;margin-bottom:18px}
.nw-subpage .directions-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:25px;padding-bottom:35px}
.nw-subpage .direction-cards article{border-radius:0;padding:20px}
.nw-subpage .direction-cards h2{font-size:1.25rem}
.nw-subpage .review-grid{padding-bottom:36px;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.nw-subpage .review-grid>a{border-radius:0;padding:22px;box-shadow:none}
.nw-subpage .review-grid>a:hover{transform:none;background:#f5f6ee}
.nw-subpage .review-grid h2{font-size:1.4rem;margin-top:18px}
.nw-subpage .review-grid span{border-radius:0;font-family:inherit}
.nw-subpage .legal-page{padding-block:34px 38px;max-width:940px}
.nw-subpage .legal-page>h1{margin-bottom:23px}
.nw-subpage .legal-sections{margin-top:24px}
.nw-subpage .legal-sections>section{padding-block:22px;grid-template-columns:30px minmax(0,1fr);gap:15px}
.nw-subpage .legal-sections h2{font-size:1.3rem;margin-bottom:12px}
.nw-subpage .legal-sections p{white-space:pre-line}
.nw-subpage .cta-band{padding:30px clamp(20px,4vw,44px);grid-template-columns:minmax(0,1fr) auto;gap:24px;background:var(--nw-green-pale)}
.nw-subpage .cta-band h2{margin-bottom:12px;font-size:1.5rem}
.nw-subpage .cta-band p:not(.eyebrow){font-size:.9375rem}
.nw-gallery{padding-block:33px 40px}
.nw-gallery h2{margin-bottom:22px}
.nw-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.nw-gallery figure{margin:0;min-width:0}
.nw-gallery img{width:100%;height:270px;object-fit:contain;background:#f8f8f5}
.nw-gallery-note{margin:28px 0 0;color:var(--nw-muted);font-size:.8125rem;font-style:normal;line-height:1.6}
.nw-gallery+.schedule-section{border-top:2px solid var(--nw-green);padding-top:42px}
.nw-subpage .language-link{font-size:.875rem;margin-top:15px}
.nw-subpage .language-link a{text-decoration:underline}
.nw-notice{padding:18px 21px;border-left:3px solid var(--nw-green);background:#f4f6ea;margin-bottom:25px}
.nw-subpage .english-cards{margin-bottom:34px}
.nw-subpage .english-cards article{padding:0;border:1px solid var(--nw-line);display:grid;grid-template-columns:minmax(135px,32%) minmax(0,1fr);overflow:hidden;align-items:stretch}
.nw-subpage .english-card-image{display:block;background:#f8f8f5;min-width:0}
.nw-subpage .english-card-image img{display:block;width:100%;height:100%;min-height:280px;object-fit:contain}
.nw-subpage .english-card-copy{padding:22px;min-width:0}
.nw-subpage .english-cards h2{background:var(--nw-lilac);padding:10px 14px;margin-bottom:16px;font-size:1.25rem}
.nw-search{padding-bottom:38px}
.nw-search label{display:block;font-weight:700;margin-bottom:9px}
.nw-search input{width:100%;max-width:650px;min-height:46px;font:inherit;border:1px solid #737370;padding:10px 13px;background:#fff;color:inherit;border-radius:0}
.nw-search-count{margin-top:18px!important;font-size:.875rem}
.nw-search-results{list-style:none;padding:0;margin:0}
.nw-search-results li{padding:20px 0;border-top:1px solid var(--nw-line)}
.nw-search-results h2{font-size:1.2rem;margin-bottom:8px}
.nw-search-results a{text-decoration:underline;text-underline-offset:3px}
[hidden]{display:none!important}
@media(max-width:1000px){.nw-subpage .team-grid{grid-template-columns:1fr}.nw-subpage .form-layout{grid-template-columns:1fr}.nw-subpage .form-layout aside{max-width:none}.nw-subpage .cta-band{grid-template-columns:1fr}.nw-subpage .review-grid{grid-template-columns:1fr}.nw-subpage .course-finder>div{padding:16px}}
@media(max-width:700px){.nw-subpage .page-hero,.nw-subpage .course-hero,.nw-subpage .content-grid,.nw-subpage .two-column,.nw-subpage .faq-section,.nw-subpage .story-grid,.nw-subpage .directions-grid,.nw-subpage .section-heading{grid-template-columns:1fr;gap:24px}.nw-subpage .page-hero,.nw-subpage .course-hero{padding-block:25px 28px}.nw-subpage .course-hero-image img{height:300px}.nw-subpage .facts-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.nw-subpage .facts-bar>div{padding:15px 12px}.nw-subpage .facts-bar>div:nth-child(3){border-left:0;border-top:1px solid var(--nw-line)}.nw-subpage .facts-bar>div:nth-child(4){border-top:1px solid var(--nw-line)}.nw-subpage .catalog-grid,.nw-subpage .course-finder{grid-template-columns:1fr}.nw-subpage .course-finder>div+div{border-left:0;border-top:1px solid var(--nw-line)}.nw-subpage .related-grid{grid-template-columns:1fr}.nw-subpage .catalog-card-compact{display:grid}.nw-subpage .catalog-card-compact .catalog-image{width:auto}.nw-subpage .detail-list>div{grid-template-columns:1fr;gap:4px}.nw-subpage .embed-consent{grid-template-columns:1fr;padding:22px;gap:12px}.nw-subpage .embed-mark{display:none}.nw-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.nw-gallery img{height:220px}.nw-subpage .team-grid article{grid-template-columns:100px minmax(0,1fr)}.nw-subpage .team-grid article img{width:100px;height:150px}.nw-subpage .schedule-action{align-items:start}.nw-subpage .catalog-image img{height:220px}.nw-subpage .legal-page h1{overflow-wrap:anywhere}}
@media(max-width:380px){.nw-subpage .page-wrap{width:calc(100% - 36px)}.nw-gallery-grid{grid-template-columns:1fr}.nw-subpage .catalog-card{gap:12px;grid-template-columns:minmax(0,1fr) 27%}.nw-subpage .team-grid article{grid-template-columns:85px minmax(0,1fr);gap:15px}.nw-subpage .team-grid article img{width:85px;height:128px}}
@media(max-width:520px){.nw-subpage .english-cards article{grid-template-columns:1fr}.nw-subpage .english-card-image img{height:230px;min-height:0}}
@media print{.nw-home{padding:0;background:#fff}.nw-header,.site-footer,.cta-band,.nw-skip,.embed-consent{display:none}.nw-site{width:100%}.nw-subpage .page-wrap{width:100%}a{color:#222}.nw-subpage section{break-inside:avoid}details>p{display:block}}

