/* Dení Education Consulting — port of the Wix Studio site (dayandynamics.com), measured 2026-09-19
   at a 1280px viewport. Pixel values below are those measurements; horizontal values are expressed
   as percentages of the 1265px content width so the layout stays fluid like the Wix original. */

:root {
  --navy: #2D363D;        /* page background, header, footer, dark sections */
  --cream: #FBF3E8;       /* light sections, light text on dark */
  --tan: #EBDEC9;         /* alternate light sections */
  --terracotta: #AA7155;  /* buttons, accents */
  --rose: #CD9F89;        /* nav links, small labels on dark */
  --gold: #CDAF8C;        /* logo lettering */
  --body: #6C735D;        /* body text on light */
  --olive: #5B5942;       /* call-to-action band */
  --white: #FFFFFF;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Montserrat", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--navy);
  color: var(--body);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
p { margin: 0; }
ul { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 400;
  margin: 0;
  color: var(--navy);
}
h1 { font-size: 64px; line-height: 1.2; }
h2 { font-size: 42px; line-height: 1.3; }
h3 { font-size: 38px; line-height: 1.3; }
h4 { font-size: 34px; line-height: 1.3; }
h5 { font-size: 28px; line-height: 1.3; }
h6 { font-size: 22px; line-height: 1.4; }
em { font-style: italic; }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- widths (percent of 1265) ---------- */
.wrap   { padding-inline: 3%; }             /* 38px gutters */
.mid    { width: 90%;   margin-inline: auto; } /* 1139px */
.narrow { width: 78.4%; margin-inline: auto; } /* 992px */
.form-w { width: 70%;   margin-inline: auto; } /* 886px */

/* ---------- colour helpers ---------- */
.bg-navy  { background: var(--navy); }
.bg-cream { background: var(--cream); }
.bg-tan   { background: var(--tan); }
.bg-olive { background: var(--olive); }
.bg-white { background: var(--white); }
.c-cream { color: var(--cream); }
.c-rose { color: var(--rose); }
.c-terracotta { color: var(--terracotta); }
.c-navy { color: var(--navy); }
.center { text-align: center; }

/* ---------- buttons ---------- */
.btn {
  display: inline-block;
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  text-decoration: none;
  padding: 8px 15px;
  border: 1px solid var(--terracotta);
  background: var(--terracotta);
  color: var(--white);
  cursor: pointer;
  transition: background-color .4s ease, border-color .4s ease, color .4s ease;   /* measured on the Wix buttons */
}
.btn:hover { background: var(--body); border-color: var(--body); }
.btn-outline { background: transparent; color: var(--terracotta); }
.btn-outline:hover { color: var(--navy); }
.btn-cream { color: var(--cream); }                       /* filled terracotta, cream text */
.btn-outline-cream { background: transparent; color: var(--cream); }
.btn-rose { background: var(--rose); border-color: var(--rose); color: var(--navy); }
.btn-outline-rose { background: transparent; border-color: var(--rose); color: var(--navy); }
.btn-outline-rose:hover { color: var(--navy); }
.btn-navy-text { color: var(--navy); }
.btn-tall { padding: 19px 18px; }                          /* the 61px CTA-band buttons */
.btn-row { display: flex; flex-wrap: wrap; gap: 0 5px; }
.btn-row .btn + .btn { margin-left: 0; }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  height: 70px;
  background: var(--navy);
}
.site-header .inner {
  display: flex; align-items: center;
  height: 70px;
  padding: 0 20px 0 10px;
}
.logo { display: block; line-height: 0; }
.logo img { width: 258px; height: 50px; }
.main-nav { margin-left: auto; }
.main-nav ul { list-style: none; display: flex; gap: 28px; }
.main-nav a {
  display: inline-block;
  padding: 0 4px;
  font-size: 14px; line-height: 18px;
  color: var(--rose);
  text-decoration: none;
  white-space: nowrap;
}
.main-nav a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.main-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.menu-toggle {
  display: none;
  margin-left: auto;
  background: none; border: 0; padding: 8px; cursor: pointer;
  color: var(--rose);
}
.menu-toggle svg { width: 24px; height: 24px; display: block; }

/* mobile menu (Wix: rose overlay, navy panel from the right) */
.mobile-menu { display: none; position: fixed; inset: 0; z-index: 60; }
.mobile-menu.open { display: block; }
.mobile-menu .overlay { position: absolute; inset: 0; background: rgba(205, 159, 137, .8); }
.mobile-menu .panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: 300px; max-width: 85%;
  background: var(--navy);
  padding: 100px 40px 40px;
}
.mobile-menu .close {
  position: absolute; top: 40px; right: 40px;
  width: 20px; height: 20px; padding: 0;
  background: none; border: 0; cursor: pointer; color: var(--rose);
}
.mobile-menu .close svg { width: 20px; height: 20px; display: block; }
.mobile-menu ul { list-style: none; }
.mobile-menu li + li { margin-top: 22px; }
.mobile-menu a { font-family: var(--serif); font-size: 26px; color: var(--cream); text-decoration: none; }
.mobile-menu a[aria-current="page"] { color: var(--rose); }

/* ---------- footer ---------- */
.site-footer {
  background: var(--navy);
  color: var(--cream);
  font-size: 14px; line-height: 18px;
}
.site-footer .row { position: relative; height: 142px; }
.site-footer .mark { position: absolute; left: 25px; top: 42px; width: 58px; height: 58px; }
.site-footer .copy { position: absolute; left: 50%; top: 53px; transform: translateX(-50%); width: 391px; text-align: center; }
.site-footer .email { position: absolute; right: 26px; top: 62px; color: var(--cream); text-decoration: none; }
.site-footer .email:hover { text-decoration: underline; }
.site-footer .foot-links { text-align: center; color: var(--rose); font-size: 13px; padding: 0 16px 26px; }
.site-footer .foot-links a { color: var(--cream); text-decoration: none; }
.site-footer .foot-links a:hover { text-decoration: underline; }

/* ---------- privacy policy ---------- */
.policy { padding: 64px 0 80px; }
.policy h1 { font-size: 48px; }
.policy .updated { font-size: 14px; margin-top: 8px; }
.policy h2 { font-size: 28px; margin-top: 36px; }
.policy p, .policy li { margin-top: 12px; }
.policy ul { padding-left: 22px; list-style: disc; }
.policy a { color: var(--terracotta); }


/* ---------- centred text sections (PD problem, Solution, Her Story, Why TBR) ---------- */
.text-section { padding: 96px 0; }
.text-section h2 { text-align: center; margin-bottom: 29px; }
.text-section p { text-align: center; }
.text-section p + p { margin-top: 29px; }
.text-section.tight p { line-height: 1.2; }
.text-section.tight p + p { margin-top: 19px; }               /* "The PD problem" uses the default line height */
.text-section.lg p { font-size: 18px; }

/* ---------- three-column feature cards (Who It's For on Home, district models) ---------- */
.cards-section { padding-block: 64px 63px; }
.cards-section h2 { text-align: center; margin-bottom: 29px; }
.cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cards3 > div { padding: 31px 20px 17px; }
.cards3 h4 { margin-bottom: 17px; }

/* ---------- testimonial cards (Home) ---------- */
.testimonials-section { padding-block: 63px; }
.testimonials-section h2 { text-align: center; margin-bottom: 30px; }
.quotes3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.quotes3 > div { padding: 13px 9px 21px 12px; }
.quotes3 .q-mark { width: 43px; height: 40px; margin-bottom: 16px; }
.quotes3 .q { font-style: italic; }
.quotes3 .who { font-size: 14px; line-height: 1.6; margin-top: 16px; }
.quotes3 .who b { font-weight: 700; }

/* ---------- one-line stats reference (Home; the full block lives on Evidence) ---------- */
.stats-line { background: var(--navy); color: var(--rose); text-align: center; padding: 22px 3%; font-size: 15px; line-height: 1.6; }
.stats-line a { color: var(--cream); }

/* ---------- shared slim call-to-action strip ---------- */
.cta-strip { background: var(--olive); color: var(--cream); padding: 26px 3% 30px; }
.cta-strip .lead { text-align: center; color: var(--cream); margin-bottom: 14px; }
.cta-strip .lead-p { font-size: 18px; text-align: center; color: var(--cream); margin-bottom: 18px; }
.cta-strip .opts { display: grid; grid-template-columns: 1fr 1fr; }
.cta-strip .opt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px 3%; min-width: 0; }
.cta-strip .opt + .opt { border-left: 1px solid rgba(251, 243, 232, .25); }
.cta-strip h3 { font-size: 28px; color: var(--cream); flex: 1 1 240px; min-width: 0; }
.cta-strip .btn { white-space: nowrap; }

/* ---------- "Read the full data" strip ---------- */

/* ---------- call-to-action band (olive) ---------- */
.cta {
  background: var(--olive);
  color: var(--cream);
  padding: 10px 0 0;
}
.cta .lead { text-align: center; color: var(--cream); }
.cta .cols { display: grid; grid-template-columns: 1fr 1fr; margin-top: 11px; }
.cta .col { padding: 29px 5% 31px; }
.cta .col + .col { border-left: 1px solid rgba(251, 243, 232, .25); padding-top: 32px; }
.cta h3, .cta h5 { color: var(--cream); }
.cta .col p { margin-top: 8px; }
.cta .col .btn { margin-top: 24px; }

/* ---------- sliders (Workshop page) ---------- */
.slider { position: relative; }
.slider .slide { display: none; }
.slider .slide.active { display: block; }
.slider .arrows { position: absolute; top: 25px; right: 50px; display: flex; gap: 38px; }
.slider .arrows button {
  width: 32px; height: 32px; padding: 0;
  background: none; border: 0; cursor: pointer;
  color: inherit;
}
.slider .arrows svg { width: 32px; height: 32px; display: block; }
.slider .dots { display: none; }
.slider[data-effect] { overflow: hidden; }
.slider[data-effect] .slide { display: block; position: absolute; inset: 0; pointer-events: none; }
.slider[data-effect="fade"] .slide { opacity: 0; transition: opacity 1s ease-in-out; }
.slider[data-effect="fade"] .slide.active { opacity: 1; pointer-events: auto; }
.slider[data-effect="slide"] .slide { transform: translateX(100%); }
.slider[data-effect="slide"] .slide.from-left { transform: translateX(-100%); }
.slider[data-effect="slide"] .slide.active { transform: none; transition: transform 1s ease-in-out; pointer-events: auto; }
.slider[data-effect="slide"] .slide.leave { transform: translateX(-100%); transition: transform 1s ease-in-out; }
.slider[data-effect="slide"] .slide.leave.to-right { transform: translateX(100%); }

/* ---------- flip cards (4Cs) ---------- */
.flip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.flip { position: relative; height: 352px; background: var(--cream); cursor: pointer; transition: background-color .3s ease-in-out; }
.flip .face { position: absolute; inset: 0; padding: 14px; transition: opacity .3s ease-in-out; }
.flip .front { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.flip .front h2 { color: var(--terracotta); }
.flip .front p { color: var(--terracotta); margin-top: 7px; }
.flip .cue { position: absolute; left: 0; right: 0; bottom: 16px; text-align: center; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--terracotta); opacity: .8; }
.flip .back { opacity: 0; color: var(--cream); padding-top: 61px; }
.flip:hover, .flip.flipped { background: var(--navy); }
.flip:hover .front, .flip.flipped .front { opacity: 0; }
.flip:hover .back, .flip.flipped .back { opacity: 1; }

/* ---------- forms (Book\Events) ---------- */
.form { color: var(--rose); }
.form .trap { position: absolute; left: -9999px; } /* spam trap: people never see it */
.form .field { margin-top: 24px; }
.book-form h2 + .form .field:first-child { margin-top: 25px; }
.form label { display: block; font-size: 14px; line-height: 1.4; margin-bottom: 8px; }
.form input, .form textarea {
  width: 100%;
  font: 16px/1.4 var(--sans);
  color: var(--rose);
  background: var(--navy);
  border: 0;
  border-radius: 6px;
  padding: 8px 12px;
  height: 40px;
}
.form input::placeholder, .form textarea::placeholder { color: var(--tan); opacity: 1; }
.form textarea { display: block; height: 92px; resize: vertical; }
.form input:focus, .form textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.form .submit {
  display: block;
  width: 49%; margin: 24px 0 0 auto;
  height: 41px;
  border: 0; border-radius: 100px;
  background: var(--body);
  color: var(--navy);
  font: 16px var(--sans);
  cursor: pointer;
}
.form .submit:hover { background: var(--gold); }
.form .cf-turnstile { margin-top: 12px; } /* the spam check: only seen when it wants a tick */
.form .note { font-size: 14px; margin-top: 12px; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
  h1 { font-size: 48px; }
  h2 { font-size: 34px; }
  h3 { font-size: 30px; }
  h4 { font-size: 28px; }
  .main-nav ul { gap: 18px; }
}
@media (max-width: 767px) {
  h1 { font-size: 38px; }
  h2 { font-size: 30px; }
  h3 { font-size: 26px; }
  h4 { font-size: 24px; }
  h5 { font-size: 22px; }
  .main-nav { display: none; }
  .menu-toggle { display: block; }
  .logo img { width: 190px; height: 37px; }
  .narrow, .mid, .form-w { width: 94%; }
  .cards3, .quotes3, .flip-grid { grid-template-columns: 1fr; }
  .cta .cols { grid-template-columns: 1fr; }
  .cta .col + .col { border-left: 0; border-top: 1px solid rgba(251, 243, 232, .25); }
  .cta-strip .opts { grid-template-columns: 1fr; }
  .cta-strip .opt { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cta-strip .opt + .opt { border-left: 0; border-top: 1px solid rgba(251, 243, 232, .25); }
  .site-footer .row { height: auto; padding: 30px 16px 10px; text-align: center; }
  .site-footer .mark, .site-footer .copy, .site-footer .email { position: static; transform: none; width: auto; margin: 0 auto; }
  .site-footer .copy { margin: 16px auto; }
  .site-footer .email { display: inline-block; }
  .policy h1 { font-size: 34px; }
  .form .submit { width: 100%; }
  .form .row { grid-template-columns: 1fr; }
  .events .card { grid-template-columns: 1fr; }
}

/* =====================================================================
   Page-specific sections (vertical values as measured at 1280px)
   ===================================================================== */

/* ---- Home ---- */
.hero-home { position: relative; min-height: 474px; background: var(--cream); overflow: hidden; }
.hero-home .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% 48%; opacity: .54; }
.hero-home .grid { position: relative; display: grid; grid-template-columns: 60% 1fr; padding: 39px 3% 15px; }
.hero-home .box { background: rgba(251, 243, 232, .48); padding: 0 0 1px; }
.hero-home h1 { font-style: italic; }
.hero-home p { font-size: 18px; line-height: 1.22; margin-top: 30px; }
.hero-home .btn-row { margin-top: 30px; gap: 0; }
.hero-home .btn-outline { min-width: 167px; text-align: center; }

/* ---- The Workshop ---- */
.hero-workshop { padding: 63px 0 64px; text-align: center; }
.hero-workshop h1 { color: var(--cream); }
.hero-workshop em { color: var(--terracotta); }
.quote-band { padding: 64px 0 63px; text-align: center; }
.quote-band h2 { font-style: italic; color: var(--rose); }
.quote-band p { color: #DEE7E3; margin-top: 10px; }
.two-days { padding: 88px 0; }
.two-days .grid { display: grid; grid-template-columns: 30% 1fr; }
.two-days h3 { color: var(--terracotta); padding-right: 8%; }
.two-days .txt { text-align: center; color: var(--rose); line-height: 1.7; }
.two-days .txt p:first-child { font-size: 18px; }
.learn-slider { background: #9A9A95; height: 500px; color: #541900; }
.learn-slider .label { position: absolute; left: 3.2%; top: 30px; color: var(--body); }
.learn-slider .slide p:not(.label) { position: absolute; left: 14.2%; width: 71.5%; top: 98px; font-family: var(--serif); font-variation-settings: "opsz" 120; font-size: 61px; line-height: 1.2; color: #541900; }
.fourcs { padding: 9px 0 63px; }
.fourcs h2 { text-align: center; color: var(--cream); margin-bottom: 18px; }
.who-list { padding: 63px 0 64px; }
.who-list h2 { text-align: center; margin-bottom: 27px; }
.who-list h3 { font-style: italic; }
.who-list h3 + h3 { margin-top: 24px; }
.movement { display: grid; grid-template-columns: 30% 1fr; padding: 88px 0 89px; }
.movement h2 { font-style: italic; color: var(--cream); padding: 6px 5% 0 3%; }
.movement .txt { text-align: right; font-size: 18px; padding: 0 7% 0 3.5%; }
.movement .txt p + p { margin-top: 29px; }
.say-slider { padding: 63px 0; }
.say-slider .slider { height: 343px; color: var(--terracotta); }
.say-slider .label { position: absolute; left: 3.2%; top: 30px; font-size: 26px; line-height: 1.3; color: var(--terracotta); }
.say-slider .slide h2 { position: absolute; left: 10%; width: 80%; top: 94px; font-style: italic; color: var(--cream); }
.say-slider .slide p { position: absolute; left: 10%; width: 80%; top: 324px; text-align: center; color: var(--rose); line-height: 1.2; }
.included { padding: 63px 0 64px; }
.included .grid { display: grid; grid-template-columns: 1fr 1fr; }
.included ul { list-style: disc; padding-left: 34px; margin-top: 41px; }
.included .price { padding-left: 5px; }
.included .price p { padding-left: 33px; }
.included .price h3 + p { margin-top: 15px; }
.included .price .note { font-size: 14px; padding-left: 5px; margin-top: 15px; }
.included .muted { font-size: 14px; }
.included .note a { color: var(--terracotta); }

/* ---- Evidence & Impact ---- */
.hero-evidence { padding: 63px 0 62px; text-align: center; }
.hero-evidence h1, .hero-evidence h2 { color: var(--cream); font-size: 64px; line-height: 1.2; }
.hero-evidence h2 { margin-top: 2px; }
.hero-evidence h2 span { color: var(--terracotta); }
.hero-evidence p { color: var(--rose); margin-top: 12px; }
.quote-tan { padding: 128px 0 125px; text-align: center; }
.quote-tan h2 { font-style: italic; width: 76%; margin-inline: auto; }
.quote-tan p { color: #766246; margin-top: 10px; }
.grid9 { padding: 38px 3% 37px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 40px; }
.grid9 > div { grid-column: span 2; background: var(--cream); padding: 50px; border-radius: 10px; }
.grid9 > div:nth-last-child(-n+2) { grid-column: span 3; }
.grid9 .q { font-style: italic; }
.grid9 .who { color: var(--terracotta); margin-top: 20px; }

/* ---- About ---- */
.hero-about { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px 0; }
.hero-about h6 { font-size: 48px; line-height: 1.4; font-style: italic; color: var(--cream); width: 75%; }
.hero-about p { font-family: var(--serif); font-size: 24px; color: var(--cream); margin-top: 16px; }
.meet { display: grid; grid-template-columns: 40% 1fr; grid-template-rows: minmax(0, 1fr); height: 450px; } /* minmax(0, 1fr) keeps the row at 450px; with a plain auto row the portrait sets the row height and spills over the next section */
.meet img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.meet .txt { display: flex; flex-direction: column; justify-content: center; padding: 0 8% 0 7.9%; }
.meet h1 { font-style: italic; }
.meet p { font-size: 18px; line-height: 1.22; margin-top: 29px; }
.facilitates { display: grid; grid-template-columns: 1fr 1fr; height: 506px; }
.facilitates .slider { background: #BEC0AF; height: 100%; text-align: center; }
.facilitates .slide h6 { position: absolute; left: 9%; width: 82%; top: 152px; font-style: italic; color: var(--body); }
.facilitates .slide p { position: absolute; left: 8%; width: 84%; top: 294px; font-family: var(--serif); font-size: 22px; line-height: 1.4; color: #958D78; }
.facilitates .arrows { top: auto; bottom: 37px; right: auto; left: 50%; transform: translateX(-50%); gap: 130px; color: #958D78; }
.facilitates .arrows button { width: 30px; height: 30px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; }
.facilitates .arrows svg { width: 16px; height: 16px; }
.facilitates .txt { padding: 72px 9.5% 0; }
.facilitates h2 { font-size: 47px; color: var(--rose); }
.facilitates .txt p { font-size: 18px; color: var(--tan); margin-top: 20px; }
.clinical { display: grid; grid-template-columns: 32% 1fr; height: 356px; }
.clinical h3 { padding: 103px 5% 0 1.6%; }
.clinical p { padding: 115px 4.2% 0 3.4%; line-height: 2; }
.credentials { padding: 63px 0; }
.credentials h2 { text-align: center; margin-bottom: 30px; }
.credentials .grid { display: grid; grid-template-columns: 1fr 1fr; padding: 24px 0; }
.credentials ul { list-style: disc; padding-left: 62px; font-size: 18px; }
.credentials ul + ul { padding-left: 38px; }
.credentials .since { text-align: center; margin-top: 29px; }
.cta .lead-p { font-size: 18px; text-align: center; color: var(--cream); }

/* ---- For Organizations ---- */
.hero-districts { display: grid; grid-template-columns: 60% 1fr; height: 407px; }
.hero-districts .txt { padding: 64px 5% 0 3%; }
.hero-districts h1 { font-size: 42px; line-height: 1.3; }
.hero-districts .txt p { font-size: 18px; margin-top: 8px; }
.hero-districts .btn-row { margin-top: 9px; }
.hero-districts .quote { padding: 108px 1.6% 0 4%; }
.hero-districts .quote h6 { font-style: italic; }
.hero-districts .quote p { font-size: 14px; color: var(--terracotta); margin-top: 23px; }
.most { display: grid; grid-template-columns: 30% 1fr; height: 387px; }
.most h2 { padding: 57px 5% 0 1.5%; color: var(--tan); background: var(--navy); }
.most h2 span { color: var(--terracotta); }
.most .txt { padding: 91px 7% 0 3.5%; }
.most .txt p + p { margin-top: 25px; }
.spacer { height: 51px; }
.how { height: 507px; padding: 102px 3.2% 0; }
.how .label { font-size: 18px; }
.how .steps { display: grid; grid-template-columns: repeat(4, 23.3%); margin-top: 40px; padding-left: 2px; }
.how .step { padding-top: 30px; width: 72.5%; }
.how h4 { color: #6A8445; }
.how h6 { margin-top: 33px; }
.how .step p { font-size: 15px; color: #618741; margin-top: 9px; }
.cta .lead.upper { text-transform: uppercase; }
.cta .col .btn-row { margin-top: 15px; }
.cta .col .btn-row .btn { margin-top: 0; }
.cta .col + .col.mark-col { display: flex; justify-content: center; align-items: flex-start; padding-top: 12px; padding-bottom: 12px; }
.cta .mark-col img { width: 200px; height: 200px; }

/* ---- Book\Events ---- */
.hero-events { position: relative; height: 211px; background: var(--cream); overflow: hidden; }
.hero-events .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 0; opacity: .63; }
.hero-events .txt { position: relative; padding: 63px 3% 0; }
.hero-events h2 { font-style: italic; }
.hero-events .btn-row { margin-top: 15px; }
.upcoming { padding: 126px 0 128px; }
.upcoming .inner { padding: 15px; background: var(--cream); }
.upcoming .rule { width: 38.6%; margin: 23px auto 0; border: 0; border-top: 2px solid var(--terracotta); }
.upcoming h5 { text-transform: uppercase; color: var(--terracotta); }
.upcoming h2 { margin-top: 9px; }
.upcoming .no-dates { font-style: italic; margin-top: 10px; }
.upcoming .join { text-align: center; margin-top: 10px; }
.upcoming .join .btn { padding: 8px 26px; }
.book-form { padding: 0 0 1px; }
.book-form .inner { padding: 26px 24px 24px; background: var(--cream); border-radius: 16px; }
.book-form h2 { font-size: 22px; line-height: 1.5; color: var(--navy); }
.book-form .intro { margin-top: 8px; }
.hero-events h1 { font-size: 42px; line-height: 1.3; font-style: italic; }
.events .card { background: var(--navy); color: var(--cream); border-radius: 8px; padding: 18px 20px; margin-top: 16px; display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: center; }
.events .card h3 { font-size: 24px; color: var(--cream); }
.events .card.past { opacity: .7; }
.events .meta { color: var(--rose); font-size: 14px; }
.events .aud { display: inline-block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--terracotta); background: var(--cream); padding: 2px 8px; border-radius: 999px; margin-left: 8px; vertical-align: middle; }
.events .past-heading { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: var(--body); margin-top: 24px; }
.form h3 { font-size: 26px; color: var(--navy); margin-top: 28px; }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.form .next { font-size: 14px; margin-top: 14px; color: var(--body); }
.form .status { font-size: 15px; margin-top: 8px; color: var(--navy); min-height: 1.4em; }
.form .status a { color: var(--terracotta); }
.form .submit[disabled] { opacity: .6; cursor: wait; }

@media (max-width: 767px) {
  .hero-home { height: auto; }
  .hero-home .grid { grid-template-columns: 1fr; padding-bottom: 30px; }
  .two-days .grid, .movement, .included .grid, .credentials .grid, .meet, .facilitates, .clinical,
  .hero-districts, .most, .how .steps { grid-template-columns: 1fr; }
  .meet, .facilitates, .clinical, .hero-districts, .most, .how { height: auto; }
  .meet img { height: 320px; }
  .facilitates .slider { height: 420px; }
  .facilitates .txt { padding: 40px 6%; }
  .clinical h3, .clinical p { padding: 30px 6% 0; }
  .clinical { padding-bottom: 30px; }
  .credentials ul + ul { padding-left: 62px; margin-top: 10px; }
  .hero-districts .txt, .hero-districts .quote { padding: 40px 6% 0; }
  .hero-districts { padding-bottom: 40px; }
  .most h2, .most .txt { padding: 40px 6% 0; }
  .most { padding-bottom: 40px; }
  .how .steps { gap: 30px; }
  .how .step { width: 100%; padding-top: 0; }
  .how { padding-bottom: 40px; }
  .movement { padding: 50px 0; }
  .movement .txt { text-align: left; margin-top: 30px; }
  .learn-slider { height: auto; padding: 30px 6% 60px; }
  .learn-slider .label, .learn-slider .slide p:not(.label), .say-slider .label, .say-slider .slide h2, .say-slider .slide p,
  .facilitates .slide h6, .facilitates .slide p { position: static; width: auto; }
  .learn-slider .slide p:not(.label) { font-size: 34px; margin-top: 60px; }
  .say-slider .slider { height: auto; padding: 30px 6% 60px; }
  .say-slider .slide h2 { margin-top: 30px; }
  .say-slider .slide p { margin-top: 24px; }
  .facilitates .slider { padding: 60px 6% 80px; }
  .facilitates .slide p { margin-top: 30px; }
  .slider .arrows { top: 12px; right: 6%; gap: 20px; }
  .slider[data-effect] .slide { position: relative; transform: none; transition: none; }
  .slider[data-effect] .slide:not(.active) { display: none; }
  .facilitates .arrows { bottom: 24px; }
  .hero-evidence h1, .hero-evidence h2 { font-size: 38px; }
  .hero-about h6 { font-size: 28px; width: 92%; }
  .grid9 { grid-template-columns: 1fr; gap: 20px; }
  .grid9 > div, .grid9 > div:nth-last-child(-n+2) { grid-column: auto; padding: 30px; }
  .quote-tan h2 { width: 92%; }
  .quote-tan { padding: 60px 0; }
  .upcoming { padding: 60px 3%; }
  .book-form .inner { padding: 0 8px; }
}

/* =====================================================================
   Motion, measured from the Wix site on 2026-09-20
   (entrance animations play once when an element scrolls into view;
   "scroll-linked" ones follow the scroll position; see js/site.js)
   ===================================================================== */
@keyframes m-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes m-slide-up {
  from { clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); transform: translateY(100%); }
  to   { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); transform: translateY(0); }
}
@keyframes m-glide-left { from { transform: translateX(-100%); } to { transform: none; } }

@media (prefers-reduced-motion: no-preference) {
  html.js [data-enter]:not(.in) { opacity: 0; }
  [data-enter].in {
    animation-duration: 1.2s;
    animation-fill-mode: both;
    animation-delay: var(--d, 0ms);
    animation-timing-function: cubic-bezier(.445, .05, .55, .95);
  }
  [data-enter="fade"].in { animation-name: m-fade; }
  [data-enter="slide-up"].in { animation-name: m-slide-up, m-fade; animation-timing-function: cubic-bezier(.645, .045, .355, 1); }
  [data-enter="glide-left"].in { animation-name: m-glide-left; animation-timing-function: cubic-bezier(.645, .045, .355, 1); }

  /* Home hero: the Wix page fades its pieces in one after another on load */
  .hero-home h1 { animation: m-fade 1.8s cubic-bezier(.445, .05, .55, .95) .1s both; }
  .hero-home p { animation: m-fade 1.2s cubic-bezier(.445, .05, .55, .95) 2.1s both; }
  .hero-home .btn-row { animation: m-fade 1.2s cubic-bezier(.445, .05, .55, .95) 2.3s both; }

  [data-scroll="grow"] { transform-origin: 50% 100%; }
}

/* a section whose background colour fades in as it scrolls into view */
.bgfade { position: relative; z-index: 0; background: none; }
.bgfade::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bg); opacity: var(--p, 1); }
.facilitates { overflow: hidden; }
.hero-about .quote { width: 100%; display: flex; flex-direction: column; align-items: center; }
