/* ============================================================
   LOIS E. WILKINS — SITE STYLES  v3
   Replace the ENTIRE contents of
   Appearance > Customize > Additional CSS with this file.

   PALETTE
   ink        #2C2620    paper      #FAF6EE
   ink-soft   #5B5346    paper-deep #F1EAD9
   forest     #3E4C39    rule       #DCD2BC
   gold       #A0782E    rule-soft  #E8DFC9
   gold-soft  #C9A968    nav        #3B322A
   ============================================================ */


/* ============================================================
   1. SITE CHROME — header, nav, footer
   ============================================================ */
.site-header-shared-branding-wrapper .site-branding .site-title {
  font-size: 4rem !important;
  line-height: 1.1 !important;
}
.site-header .site-title,
.site-header .site-title a,
.site-branding .site-title,
.site-branding .site-title a,
.site-header-shared-branding-wrapper .site-branding .site-title,
.site-header-shared-branding-wrapper .site-branding .site-title a {
  color: #FFFFFF !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.site-header .site-description,
.site-branding .site-description,
.site-header-shared-branding-wrapper .site-branding .site-description {
  font-size: 18px !important;
  letter-spacing: 0.5px;
  white-space: nowrap;
  color: #F1EAD9 !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.4);
}

/* ---- NAV ---- */
.main-navigation { background-color: #3B322A !important; }
.main-navigation a {
  color: #FFFFFF !important;
  transition: color .2s ease;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  color: #C9A968 !important;
}
.main-navigation ul ul { background-color: #2C2620 !important; }
.main-navigation ul ul a { color: #FFFFFF !important; }
.main-navigation ul ul a:hover {
  color: #C9A968 !important;
  background-color: #3B322A !important;
}

/* ---- FOOTER ---- */
.site-footer-widgets,
.site-footer-top-perspective,
.site-footer-bottom-perspective {
  background-color: #2C2620 !important;
}
.site-footer-widgets .widget-title {
  color: #C9A968;
  font-size: 12.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border: none;
}
.site-footer-widgets a {
  color: #F1EAD9;
  text-decoration: none;
  border-bottom: 1px solid rgba(220,210,188,.2);
}
.site-footer-widgets a:hover { color: #C9A968; border-color: #C9A968; }
.site-footer-widgets li { padding: 12px 0; border-bottom: none; }
.site-footer-widgets .more-link,
.site-footer-widgets .button {
  background: transparent;
  border: 1px solid #C9A968;
  color: #C9A968;
  padding: 12px 26px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-footer-widgets .more-link:hover,
.site-footer-widgets .button:hover { background: #C9A968; color: #2C2620; }


/* ============================================================
   2. READING COLUMN
   ============================================================ */
.entry-content {
  max-width: 700px;
  margin: 0 auto;
  padding: 48px 24px;
  font-size: 18px;
  line-height: 1.7;
  color: #2C2620;
}
@media (max-width: 640px) {
  .entry-content { font-size: 17px; padding: 32px 20px; }
}


/* ============================================================
   3. SHARED COMPONENTS
   ============================================================ */

/* ---- small-caps gold label (used site-wide) ---- */
.section-mark,
.practice-label,
.credentials-label,
.series-label,
.index-label,
.announce-label,
.course-eyebrow,
.callout-label,
.commentary-month {
  display: block;
  font-size: 11.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #A0782E;
  font-weight: 600;
  margin: 0 0 14px;
}
/* Writings index label is intentionally larger */
.index-label {
  font-size: 20px;
  padding-bottom: 16px;
  margin-bottom: 0;
  border-bottom: 1px solid #DCD2BC;
}

/* ---- facts strip (gold rules top and bottom) ---- */
.course-facts,
.commentary-facts,
.entry-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  font-size: 14px;
  color: #5B5346;
  padding: 14px 0;
  margin: 0 0 26px;
  border-top: 1px solid #C9A968;
  border-bottom: 1px solid #C9A968;
}
.course-facts b,
.commentary-facts b,
.entry-facts b {
  color: #A0782E;
  text-transform: uppercase;
  font-size: 11.5px;
  letter-spacing: .08em;
  margin-right: 5px;
}
@media (max-width: 640px) {
  .course-facts, .commentary-facts, .entry-facts { gap: 6px 18px; }
}

/* ---- collapsible toggles ---- */
.course-more,
.practice-more {
  margin: 24px 0;
  border-top: 1px dotted #DCD2BC;
  padding-top: 16px;
}
.course-more summary,
.practice-more summary {
  cursor: pointer;
  font-size: 14.5px;
  color: #3E4C39;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 9px;
}
.course-more summary::-webkit-details-marker,
.practice-more summary::-webkit-details-marker,
.commentary-entry summary::-webkit-details-marker { display: none; }
.course-more summary::before,
.practice-more summary::before {
  content: '+';
  font-size: 17px;
  color: #A0782E;
  width: 14px;
}
.course-more[open] summary::before,
.practice-more[open] summary::before { content: '\2013'; }
.course-more summary:focus-visible,
.practice-more summary:focus-visible,
.commentary-entry summary:focus-visible {
  outline: 2px solid #A0782E;
  outline-offset: 3px;
}
.course-more-inner,
.practice-more-inner { padding-top: 18px; }
.course-more-inner p { margin: 0 0 18px; }
.course-more-inner ul { margin: 0 0 18px; padding-left: 20px; }
.course-more-inner li { margin-bottom: 7px; }
.practice-more-inner p {
  font-size: 16.5px;
  line-height: 1.7;
  color: #5B5346;
  margin: 0 0 16px;
}
.practice-more-inner p:last-child { margin-bottom: 0; }

/* ---- cream callout block ---- */
.home-announce,
.credentials,
.policy-block,
.practice-contact,
.commentary-callout {
  background: #F1EAD9;
  border-top: 3px solid #A0782E;
}

/* ---- PayPal buttons ---- */
.entry-content form[action*="paypal"] img {
  filter: saturate(.8);
  transition: filter .2s ease;
}
.entry-content form[action*="paypal"] img:hover { filter: saturate(1); }


/* ============================================================
   4. HOMEPAGE + ABOUT  (shared .home-welcome structure)
   ============================================================ */
.home-welcome {
  max-width: 660px;
  margin: 56px auto 0;
  padding: 0 24px;
  color: #2C2620;
  line-height: 1.75;
}
.welcome-lede {
  font-size: 22px;
  line-height: 1.55;
  color: #3E4C39;
  margin: 0 0 8px;
  padding-bottom: 34px;
  border-bottom: 1px solid #DCD2BC;
}
.welcome-section { padding: 34px 0; border-bottom: 1px solid #E8DFC9; }
.welcome-section:last-of-type { border-bottom: none; }
.welcome-section p { margin: 0; font-size: 18px; }
.welcome-close {
  margin: 40px 0 0;
  padding: 30px 0 0;
  border-top: 1px solid #DCD2BC;
  font-size: 19px;
  font-style: italic;
  color: #3E4C39;
  line-height: 1.65;
}

/* ---- homepage announcement ---- */
.home-announce {
  max-width: 660px;
  margin: 72px auto 80px;
  padding: 44px 42px;
  color: #2C2620;
  line-height: 1.7;
}
.announce-title {
  font-size: 27px !important;
  line-height: 1.25;
  margin: 0 0 6px !important;
}
.announce-sub {
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #5B5346;
  margin: 0 0 24px !important;
}
.home-announce p { margin: 0 0 20px; font-size: 17.5px; }
.announce-question {
  font-size: 19px !important;
  color: #3E4C39;
  padding: 4px 0 4px 18px;
  border-left: 2px solid #C9A968;
}
.announce-refrain { color: #3E4C39; line-height: 2; padding-left: 18px; }
.announce-thisyear {
  font-size: 16px !important;
  line-height: 1.65;
  color: #5B5346;
  padding: 16px 0 0;
  margin: 24px 0 0 !important;
  border-top: 1px solid #DCD2BC;
}
.announce-thisyear b {
  display: block;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #A0782E;
  margin-bottom: 6px;
}
.announce-cta { margin: 30px 0 0 !important; }
.announce-cta a,
.callout-link {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #FAF6EE;
  background: #3E4C39;
  padding: 13px 28px;
  text-decoration: none;
  border: none;
}
.announce-cta a:hover,
.callout-link:hover { background: #A0782E; }
@media (max-width: 640px) {
  .home-welcome { margin-top: 36px; padding: 0 20px; }
  .welcome-lede { font-size: 19px; }
  .welcome-section p { font-size: 17px; }
  .home-announce { padding: 32px 24px; margin: 48px 20px 56px; }
  .announce-title { font-size: 23px !important; }
}


/* ============================================================
   5. ABOUT — credentials block
   ============================================================ */
.credentials {
  max-width: 660px;
  margin: 56px auto 80px;
  padding: 36px 40px;
}
.credentials-label { margin-bottom: 22px; }
.credentials ul {
  margin: 0;
  padding: 0;
  list-style: none;
  columns: 2;
  column-gap: 36px;
}
.credentials li {
  font-size: 16px;
  line-height: 1.5;
  color: #2C2620;
  padding: 9px 0 9px 18px;
  position: relative;
  break-inside: avoid;
}
.credentials li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 17px;
  width: 7px;
  height: 1px;
  background: #C9A968;
}
.page .wp-block-image.size-large img { max-width: 100%; height: auto; }
@media (max-width: 640px) {
  .credentials { margin: 40px 20px 56px; padding: 28px 24px; }
  .credentials ul { columns: 1; }
}


/* ============================================================
   6. BOOKS
   ============================================================ */
.book-series { max-width: 900px; margin: 0 auto 90px; padding: 0 24px; }
.series-label { margin-bottom: 12px; }
.series-title {
  font-size: 32px !important;
  line-height: 1.2;
  margin: 0 0 18px !important;
  color: #2C2620;
}
.series-intro {
  max-width: 620px;
  font-size: 18px;
  line-height: 1.7;
  color: #2C2620;
  margin: 0 0 52px;
  padding-bottom: 40px;
  border-bottom: 1px solid #DCD2BC;
}
.book-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 40px;
  align-items: start;
}
.book { text-align: center; }
.book-cover { display: block; margin-bottom: 20px; border: none; }
.book-cover img {
  width: 100%;
  max-width: 240px;
  height: auto;
  box-shadow: 0 2px 14px rgba(44,38,32,.14);
  transition: transform .25s ease, box-shadow .25s ease;
}
a.book-cover:hover img {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(44,38,32,.2);
}
.book-vol {
  display: block;
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #A0782E;
  margin-bottom: 10px;
}
.book-link,
.essay-more,
.commentary-back a {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #3E4C39;
  text-decoration: none;
  border-bottom: 1px solid #C9A968;
  padding-bottom: 2px;
}
.book-link:hover,
.essay-more:hover,
.commentary-back a:hover { color: #A0782E; border-color: #A0782E; }
@media (max-width: 780px) {
  .book-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 28px; }
  .series-title { font-size: 27px !important; }
}
@media (max-width: 480px) {
  .book-grid { grid-template-columns: 1fr; gap: 44px; }
  .book-series { margin-bottom: 60px; }
}


/* ============================================================
   7. WRITINGS INDEX
   ============================================================ */
.essay-index { max-width: 680px; margin: 0 auto 90px; padding: 0 24px; }
.essay-index * { margin-top: 0 !important; }
.essay-index h3 { padding: 0 !important; }
.essay { padding: 30px 0 !important; border-bottom: 1px solid #E8DFC9; }
.essay:last-child { border-bottom: none; padding-bottom: 0 !important; }
.essay-kind {
  display: inline-block;
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #A0782E;
  margin-bottom: 6px;
}
.essay-title {
  font-size: 23px !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}
.essay-title a { color: #2C2620; text-decoration: none; border: none; }
.essay-title a:hover { color: #3E4C39; }
.essay p {
  margin: 0 0 14px !important;
  font-size: 16.5px;
  line-height: 1.65;
  color: #5B5346;
}
/* on Writings the lede sits closer to the index */
.home-welcome + .essay-index { margin-top: 0; }
@media (max-width: 640px) {
  .essay-index { padding: 0 20px; margin-bottom: 60px; }
  .essay { padding: 24px 0 !important; }
  .essay-title { font-size: 20px !important; }
  .essay p { font-size: 16px; }
}


/* ============================================================
   8. COMMENTARY + BOOK REVIEW PAGES
   ============================================================ */
.commentary {
  max-width: 660px;
  margin: 0 auto 60px;
  padding: 0 24px;
  color: #2C2620;
}
.commentary-month { margin-bottom: 14px; }
.commentary-title {
  font-size: 34px !important;
  line-height: 1.15 !important;
  margin: 0 0 8px !important;
}
.commentary-sub {
  font-size: 17px !important;
  color: #5B5346;
  font-style: italic;
  margin: 0 0 26px !important;
}
.commentary-facts { margin: 0 0 30px !important; }
.review-citation {
  background: #F1EAD9;
  border-left: 3px solid #C9A968;
  padding: 22px 26px;
  margin: 0 0 32px !important;
}
.review-citation p {
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  color: #5B5346;
  margin: 0 0 14px !important;
}
.review-citation p:last-child { margin-bottom: 0 !important; }
.commentary-lede {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #3E4C39;
  margin: 0 0 36px !important;
}
.commentary-body p {
  font-size: 18px !important;
  line-height: 1.78 !important;
  margin: 0 0 24px !important;
}
.entry-content .commentary h2.commentary-mark {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #A0782E !important;
  font-weight: 600 !important;
  margin: 50px 0 20px !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid #E8DFC9 !important;
}
.entry-content .commentary p.commentary-close {
  display: block;
  margin: 44px 0 0 !important;
  padding-top: 30px !important;
  border-top: 1px solid #DCD2BC;
  font-size: 19px !important;
  font-style: italic !important;
  line-height: 1.65 !important;
  color: #3E4C39 !important;
}
.entry-content .commentary p.commentary-back {
  display: block;
  margin: 52px 0 0 !important;
  padding-top: 26px !important;
  border-top: 1px solid #E8DFC9;
  font-size: 12px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
@media (max-width: 640px) {
  .commentary { padding: 0 20px; margin-bottom: 48px; }
  .commentary-title { font-size: 27px !important; }
  .commentary-lede { font-size: 18px !important; }
  .commentary-body p { font-size: 17px !important; }
  .entry-content .commentary h2.commentary-mark { margin: 38px 0 16px !important; }
}


/* ============================================================
   9. CLASSES & COURSES
   ============================================================ */
.class-jumpnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  justify-content: center;
  font-size: 12.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 14px 0;
  border-top: 1px solid #DCD2BC;
  border-bottom: 1px solid #DCD2BC;
  margin: 24px 0 32px;
}
.class-jumpnav a { color: #5B5346; text-decoration: none; border: none; }
.class-jumpnav a:hover { color: #3E4C39; }
.class-note {
  background: #F1EAD9;
  border: 1px solid #DCD2BC;
  padding: 16px 20px;
  font-size: 15.5px;
}
.course-block { margin-bottom: 56px; }
.course-title {
  font-size: 27px !important;
  line-height: 1.25;
  margin: 0 0 6px !important;
}
.course-subtitle {
  font-size: 13px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #5B5346;
  margin: 0 0 18px;
}
.course-epigraph {
  text-align: center;
  font-size: 19px;
  color: #3E4C39;
  margin: 0 0 24px;
}
.course-lede { margin: 0 0 18px; }
.course-refrain { color: #3E4C39; }
.pay-line { font-size: 14px; color: #5B5346; margin: 24px 0 8px; }
.register-head {
  font-size: 22px !important;
  margin: 40px 0 12px !important;
  padding-top: 30px;
  border-top: 1px solid #DCD2BC;
}
/* legacy theme list (still used inside some toggles) */
.theme { margin-bottom: 18px; }
.theme b {
  display: block;
  font-size: 13.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #A0782E;
  margin-bottom: 4px;
}
.theme p { margin: 0; }

/* ---- this-month callout ---- */
.commentary-callout {
  margin: 32px 0;
  padding: 28px 30px;
  border-top: none;
  border-left: 3px solid #A0782E;
}
.commentary-callout h3 { font-size: 21px !important; margin: 0 0 8px !important; color: #2C2620; }
.commentary-callout p { font-size: 16px; color: #5B5346; margin: 0 0 18px !important; line-height: 1.6; }

/* ---- the twelve monthly commentaries ---- */
.commentary-year { max-width: 700px; margin: 0 auto 56px; padding: 0 24px; }
.year-title {
  font-size: 30px !important;
  line-height: 1.2 !important;
  margin: 0 0 16px !important;
  color: #2C2620;
}
.year-question {
  font-size: 17px;
  line-height: 1.7;
  color: #5B5346;
  margin: 0 0 30px !important;
  padding-bottom: 26px;
  border-bottom: 1px solid #DCD2BC;
}
.commentary-entry { border-bottom: 1px solid #E8DFC9; position: relative; }
.commentary-entry summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 20px 0;
}
.commentary-entry summary::before {
  content: '+';
  font-size: 17px;
  color: #A0782E;
  width: 14px;
  flex: none;
}
.commentary-entry[open] summary::before { content: '\2013'; }
.entry-month {
  font-size: 11.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #A0782E;
  min-width: 82px;
  flex: none;
}
.entry-title { font-size: 19px; color: #2C2620; line-height: 1.3; }
.commentary-entry summary:hover .entry-title { color: #3E4C39; }
.entry-inner { padding: 6px 0 38px 28px; }
.entry-sub {
  font-size: 16px;
  font-style: italic;
  color: #5B5346;
  margin: 0 0 22px !important;
}
.entry-pending { font-size: 15px; color: #8A8172; margin: 0 !important; }
.entry-lede {
  font-size: 18.5px;
  line-height: 1.65;
  color: #3E4C39;
  margin: 0 0 26px !important;
}
.entry-inner p { font-size: 17px; line-height: 1.75; margin: 0 0 20px !important; }
.entry-mark {
  font-size: 11.5px !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #A0782E !important;
  font-weight: 600;
  margin: 36px 0 16px !important;
  padding-top: 22px;
  border-top: 1px solid #E8DFC9;
}
.entry-close {
  margin: 32px 0 0 !important;
  padding-top: 24px;
  border-top: 1px solid #DCD2BC;
  font-size: 18px !important;
  font-style: italic;
  color: #3E4C39;
  line-height: 1.65;
}
@media (max-width: 640px) {
  .course-title { font-size: 23px !important; }
  .commentary-year { padding: 0 20px; }
  .year-title { font-size: 25px !important; }
  .commentary-entry summary { gap: 10px; flex-wrap: wrap; padding-left: 24px; }
  .commentary-entry summary::before { position: absolute; left: 0; }
  .entry-month { min-width: 0; width: 100%; margin-bottom: 2px; }
  .entry-title { font-size: 17.5px; }
  .entry-inner { padding-left: 0; }
  .entry-lede { font-size: 17px; }
  .entry-inner p { font-size: 16.5px; }
}

/* ---- Forminator registration form ---- */
.forminator-custom-form-7333 {
  background: #fff;
  border: 1px solid #DCD2BC;
  padding: 36px 32px;
  margin-top: 24px;
}
.forminator-custom-form-7333 .forminator-button-submit {
  background: #2C2620;
  color: #FAF6EE;
  border: none;
  padding: 14px 36px;
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.forminator-custom-form-7333 .forminator-button-submit:hover { background: #3E4C39; }


/* ============================================================
   10. CLINICAL PRACTICE / FEES / CONTACT
   ============================================================ */
.practice-block {
  max-width: 680px;
  margin: 0 auto;
  padding: 38px 24px;
  border-bottom: 1px solid #E8DFC9;
}
.practice-block * { margin-top: 0 !important; }
.practice-label { margin-bottom: 16px !important; }
.practice-title {
  font-size: 21px !important;
  line-height: 1.35 !important;
  margin: 0 0 22px !important;
  color: #2C2620;
  font-weight: 500;
}
.practice-text {
  font-size: 17.5px;
  line-height: 1.7;
  color: #2C2620;
  margin: 0 !important;
}
.practice-list { margin: 0 !important; padding: 0 !important; list-style: none; }
.practice-list.two-col { columns: 2; column-gap: 40px; }
.practice-list li {
  position: relative;
  padding: 8px 0 8px 20px;
  font-size: 16.5px;
  line-height: 1.55;
  color: #2C2620;
  break-inside: avoid;
}
.practice-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 17px;
  width: 8px;
  height: 1px;
  background: #C9A968;
}
.practice-list strong { font-weight: 600; }

/* ---- contact / hours block ---- */
.practice-contact {
  max-width: 680px;
  margin: 48px auto 0;
  padding: 40px 42px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 32px;
}
.practice-contact * { margin-top: 0 !important; }
.contact-note { font-size: 16px; color: #5B5346; margin: 0 0 14px !important; }
.contact-address { font-size: 17px; line-height: 1.5; color: #2C2620; margin: 0 0 14px !important; }
.contact-phone {
  display: inline-block;
  font-size: 26px;
  color: #3E4C39;
  text-decoration: none;
  border: none;
  letter-spacing: .01em;
}
.contact-phone:hover { color: #A0782E; }
.hours-days,
.hours-time { font-size: 16.5px; color: #2C2620; margin: 0 0 4px !important; }
.hours-time { color: #5B5346; }
.hours-note { font-size: 14.5px; color: #5B5346; margin: 10px 0 0 !important; font-style: italic; }
.practice-fit {
  max-width: 680px;
  margin: 22px auto 80px !important;
  padding: 0 24px;
  font-size: 16px;
  color: #5B5346;
  text-align: center;
}

/* ---- insurance reasons ---- */
.reason-list {
  margin: 26px 0 0 !important;
  padding: 0 !important;
  list-style: none;
  counter-reset: reason;
}
.reason-list li {
  counter-increment: reason;
  position: relative;
  padding: 24px 0 24px 46px;
  border-bottom: 1px solid #E8DFC9;
}
.reason-list li:last-child { border-bottom: none; padding-bottom: 8px; }
.reason-list li::before {
  content: counter(reason);
  position: absolute;
  left: 0;
  top: 26px;
  font-size: 12px;
  letter-spacing: .08em;
  color: #A0782E;
  border: 1px solid #C9A968;
  width: 26px;
  height: 26px;
  line-height: 24px;
  text-align: center;
  border-radius: 50%;
}
.reason-list h3 {
  font-size: 17px !important;
  margin: 0 0 8px !important;
  color: #2C2620;
  font-weight: 600;
}
.reason-list p { font-size: 16px; line-height: 1.65; color: #5B5346; margin: 0 !important; }
.practice-note {
  margin: 26px 0 0 !important;
  padding: 18px 22px;
  background: #F1EAD9;
  border-left: 3px solid #C9A968;
  font-size: 16px;
  line-height: 1.65;
  color: #2C2620;
}

/* ---- fees ---- */
.fee-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 28px;
  padding: 20px 0;
  margin: 0 0 24px;
  border-top: 1px solid #C9A968;
  border-bottom: 1px solid #C9A968;
}
.fee-facts b {
  display: block;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #A0782E;
  margin-bottom: 6px;
  font-weight: 600;
}
.fee-facts span { font-size: 16px; color: #2C2620; line-height: 1.4; }

/* ---- cancellation ---- */
.policy-block { max-width: 680px; margin: 40px auto 80px; padding: 34px 38px; }
.policy-block * { margin-top: 0 !important; }
.policy-block p {
  font-size: 16.5px;
  line-height: 1.7;
  color: #2C2620;
  margin: 0 0 16px !important;
}
.policy-block p:last-child { margin-bottom: 0 !important; }

/* ---- contact page ---- */
.contact-form-block { max-width: 680px; margin: 44px auto 0; padding: 0 24px; }
.contact-intro { font-size: 17px; line-height: 1.7; color: #5B5346; margin: 0 !important; }
.entry-content .contact-form,
.entry-content .wp-block-jetpack-contact-form {
  max-width: 680px;
  margin: 24px auto 80px;
  padding: 0 24px;
}
.entry-content .contact-form label,
.entry-content .grunion-field-label {
  display: block;
  font-size: 12px !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5B5346 !important;
  font-weight: 500 !important;
  margin-bottom: 8px;
}
.entry-content .contact-form input[type="text"],
.entry-content .contact-form input[type="email"],
.entry-content .contact-form input[type="url"],
.entry-content .contact-form textarea {
  width: 100%;
  font-size: 16px !important;
  color: #2C2620;
  background: #FAF6EE !important;
  border: 1px solid #DCD2BC !important;
  border-radius: 2px;
  padding: 12px 14px !important;
  margin-bottom: 22px;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease;
}
.entry-content .contact-form input:focus,
.entry-content .contact-form textarea:focus {
  border-color: #3E4C39 !important;
  background: #fff !important;
  outline: none;
}
.entry-content .contact-form textarea { min-height: 130px; resize: vertical; }
.entry-content .contact-form input[type="submit"],
.entry-content .contact-form button[type="submit"] {
  font-size: 12.5px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #2C2620 !important;
  color: #FAF6EE !important;
  border: none !important;
  border-radius: 2px;
  padding: 15px 40px !important;
  cursor: pointer;
  width: auto;
  transition: background .25s ease;
}
.entry-content .contact-form input[type="submit"]:hover,
.entry-content .contact-form button[type="submit"]:hover { background: #3E4C39 !important; }
@media (max-width: 640px) {
  .practice-block { padding: 30px 20px; }
  .practice-list.two-col { columns: 1; }
  .practice-contact {
    grid-template-columns: 1fr;
    gap: 28px;
    margin: 36px 20px 0;
    padding: 30px 26px;
  }
  .contact-phone { font-size: 23px; }
  .practice-fit { margin-bottom: 56px !important; }
  .fee-facts { grid-template-columns: 1fr; gap: 16px; }
  .reason-list li { padding: 20px 0 20px 40px; }
  .policy-block { margin: 32px 20px 56px; padding: 26px 24px; }
  .contact-form-block { margin-top: 32px; padding: 0 20px; }
  .entry-content .contact-form,
  .entry-content .wp-block-jetpack-contact-form { padding: 0 20px; margin-bottom: 56px; }
}


/* ============================================================
   11. SLIDESHOW — FRAMED PLATE
   Jetpack Slideshow block. Fixed square frame, paper matting,
   contained images, caption set below on the mat.
   ============================================================ */
.wp-block-jetpack-slideshow {
  --aspect-ratio: 1 !important;      /* overrides the inline 750/1016 */
  max-width: 660px;
  margin: 48px auto 64px;
  padding: 24px;
  background: #FAF6EE;
  border: 1px solid #DCD2BC;
  box-shadow: 0 18px 44px -32px rgba(44,38,32,.55);
}
.wp-block-jetpack-slideshow_container { background: #FAF6EE; }

/* Figure becomes a column: image on top, caption genuinely below it */
.wp-block-jetpack-slideshow_slide figure {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: #FAF6EE;
}
.wp-block-jetpack-slideshow_image {
  flex: 1 1 auto;
  min-height: 0;
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 0 !important;
  background: #FAF6EE;
}

/* Caption: static, on the matting, matching the site's small-caps labels */
.wp-block-jetpack-slideshow_caption,
.wp-block-jetpack-slideshow_slide figcaption {
  position: static !important;
  flex: 0 0 auto;
  width: auto !important;
  max-width: none !important;
  margin: 16px 6% 0 !important;
  padding: 12px 0 0 !important;
  background: none !important;
  background-image: none !important;
  border-top: 1px solid #C9A968;
  color: #5B5346 !important;
  text-shadow: none !important;
  text-align: center !important;
  font-style: normal;
  font-size: 11.5px;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 600;
}

/* Fraction counter (1 / 9) — the block is set to fraction, not dots */
.wp-block-jetpack-slideshow_pagination,
.wp-block-jetpack-slideshow .swiper-pagination-fraction {
  position: static !important;
  width: 100% !important;
  margin-top: 14px !important;
  text-align: center !important;
  color: #A0782E !important;
  font-size: 11px;
  letter-spacing: .2em;
  font-style: normal;
}

/* If the block is ever switched to dots, these take over */
.wp-block-jetpack-slideshow_pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: transparent;
  border: 1px solid #C9A968;
  opacity: 1;
  margin: 0 6px !important;
  transition: background .3s ease;
}
.wp-block-jetpack-slideshow_pagination .swiper-pagination-bullet-active { background: #A0782E; }

/* Arrows: quiet until the frame is hovered */
.wp-block-jetpack-slideshow_button-prev,
.wp-block-jetpack-slideshow_button-next {
  color: #2C2620 !important;
  background: rgba(250,246,238,.88) !important;
  border: 1px solid #DCD2BC;
  border-radius: 50%;
  width: 38px !important;
  height: 38px !important;
  margin-top: -19px !important;
  opacity: .35;
  transition: opacity .3s ease;
}
.wp-block-jetpack-slideshow:hover .wp-block-jetpack-slideshow_button-prev,
.wp-block-jetpack-slideshow:hover .wp-block-jetpack-slideshow_button-next { opacity: 1; }

@media (max-width: 640px) {
  .wp-block-jetpack-slideshow { padding: 14px; margin: 32px 20px 44px; }
  .wp-block-jetpack-slideshow_caption,
  .wp-block-jetpack-slideshow_slide figcaption {
    font-size: 10.5px;
    letter-spacing: .14em;
    margin: 12px 3% 0 !important;
  }
}


/* ============================================================
   12. ENTRY POINTS — three doors on the homepage
   ============================================================ */
.lw-paths {
  max-width: 900px;
  margin: 56px auto 72px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.lw-path {
  display: block;
  padding: 30px 26px 32px;
  background: #F1EAD9;
  border-top: 3px solid #A0782E;
  text-decoration: none !important;
  color: #2C2620 !important;
  transition: background .25s ease;
}
.lw-path:hover { background: #EAE0CB; }
.lw-path__eyebrow {
  display: block;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #A0782E;
  font-weight: 600;
  margin-bottom: 12px;
}
.lw-path__title {
  display: block;
  font-size: 21px;
  line-height: 1.25;
  margin-bottom: 10px;
  color: #2C2620;
}
.lw-path__note {
  display: block;
  font-size: 15.5px;
  line-height: 1.6;
  color: #5B5346;
}
@media (max-width: 780px) {
  .lw-paths { grid-template-columns: 1fr; margin: 40px auto 56px; padding: 0 20px; }
  .lw-path { padding: 24px 22px; }
}


/* ============================================================
   13. SCROLL REVEAL — no JavaScript
   Scoped to real containers. Chrome/Edge/Safari animate;
   Firefox shows everything normally.
   ============================================================ */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .welcome-section,
    .home-announce,
    .credentials,
    .book,
    .essay,
    .practice-block,
    .policy-block,
    .lw-path,
    .commentary-body p {
      animation: lwReveal linear both;
      animation-timeline: view();
      animation-range: entry 4% cover 20%;
    }
  }
}
@keyframes lwReveal {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}


/* ============================================================
   14. HOUSEKEEPING
   ============================================================ */
/* Hide the unpopulated theme social row (Twitter / Google+ / GitHub) */
.social-navigation,
.jetpack-social-navigation { display: none; }


/* ============================================================
   15. PAGE TITLE — center to match the plate
   ============================================================ */
.entry-header,
.page .entry-header,
.entry-header .entry-title,
.page .entry-title {
  text-align: center !important;
}
.entry-header {
  max-width: 660px;
  margin: 0 auto;
  padding: 8px 24px 0;
}
.entry-header .entry-title,
.page .entry-title {
  font-size: 40px !important;
  line-height: 1.15 !important;
  letter-spacing: .01em;
  color: #2C2620;
  margin: 0 auto 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}
/* Center the hairline under the title */
.entry-header .entry-title::after,
.page .entry-title::after {
  content: '';
  display: block;
  width: 54px;
  height: 1px;
  background: #C9A968;
  margin: 22px auto 0 !important;
}
@media (max-width: 640px) {
  .entry-header { padding: 4px 20px 0; }
  .entry-header .entry-title,
  .page .entry-title { font-size: 29px !important; }
  .entry-header .entry-title::after,
  .page .entry-title::after { margin-top: 16px !important; }
}

/* Kill the theme's left-aligned title divider */
.entry-header::after,
.entry-header::before,
.entry-header hr,
.entry-header .entry-title::before,
.page-title-divider,
.entry-header > .divider {
  display: none !important;
  content: none !important;
}

/* Slideshow pagination — catch it whatever it's called */
.wp-block-jetpack-slideshow .swiper-pagination,
.wp-block-jetpack-slideshow_pagination,
.wp-block-jetpack-slideshow .swiper-pagination-fraction,
.wp-block-jetpack-slideshow [class*="pagination"] {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: #A0782E !important;
  font-size: 11px;
  letter-spacing: .2em;
}

/* Footer: single widget column spans and centers */
.site-footer-widgets .widget-area,
.site-footer-widgets .widget {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.site-footer-widgets .row > [class*="col-"] {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
.site-footer-widgets #footer-sidebar-first {
  max-width: 700px;
  margin: 0 auto;
}

.home-welcome .lw-paths {
  max-width: 100%;
  padding: 0;
  margin: 36px 0 8px;
}


/* ============================================================
   16. CTA COMPONENTS — gathering reservation
   ============================================================ */
.lw-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 30px;
  padding: 16px 0;
  margin: 26px 0 24px;
  border-top: 1px solid #C9A968;
  border-bottom: 1px solid #C9A968;
  font-size: 16px;
  line-height: 1.45;
  color: #2C2620;
}
.lw-facts span { flex: 0 0 auto; }
.lw-facts strong {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #A0782E;
  margin-bottom: 3px;
}

.lw-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 28px 0 14px;
}
.lw-btn {
  display: inline-block;
  flex: 0 0 auto;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 13px 28px;
  border: 1px solid #3E4C39;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.lw-btn--primary { background: #3E4C39; color: #FAF6EE !important; }
.lw-btn--primary:hover { background: #A0782E; border-color: #A0782E; }
.lw-btn--ghost {
  background: transparent;
  color: #3E4C39 !important;
  border-color: #DCD2BC;
}
.lw-btn--ghost:hover { border-color: #3E4C39; background: rgba(62,76,57,.06); }
.lw-btn:focus-visible { outline: 2px solid #A0782E; outline-offset: 3px; }

.lw-cta-note {
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.6;
  color: #5B5346;
  margin: 0 !important;
}

/* Reserve section — Classes page */
.lw-reserve {
  max-width: 660px;
  margin: 40px auto;
  padding: 36px 38px 30px;
  background: #F1EAD9;
  border-top: 3px solid #A0782E;
}
.lw-reserve * { margin-top: 0 !important; }
.lw-reserve__title {
  font-size: 23px !important;
  line-height: 1.25;
  margin: 0 0 4px !important;
  color: #2C2620;
}
.lw-steps { margin: 0 !important; padding-left: 20px; }
.lw-steps li {
  margin-bottom: 14px;
  font-size: 16.5px;
  line-height: 1.65;
  color: #2C2620;
}

@media (max-width: 640px) {
  .lw-facts { gap: 12px 20px; }
  .lw-cta-row { flex-direction: column; align-items: stretch; }
  .lw-btn { text-align: center; }
  .lw-reserve { margin: 32px 20px; padding: 28px 24px; }
}
/* ============================================================
  17. FOOTER CREDIT
  ============================================================ */
.site-footer-bottom-perspective::after {
 content: none !important;
}
.site-info {
 font-size: 0 !important;
 line-height: 1 !important;
 text-align: center;
}
.site-info a { display: none !important; }
.site-info::after {
 content: "© 2026 Lois E. Wilkins";
 display: block;
 font-size: 12px;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: #8A8172;
 padding: 22px 0;
}
<div class="lw-reserve" id="reserve"><span class="announce-label">Reserve Your Place</span>
<h3 class="lw-reserve__title">Joining the gathering</h3>
<div class="lw-facts"><span><strong>Begins</strong> Sunday, August 23, 2026</span><span><strong>Meets</strong> Fourth Sunday monthly, 4:00 p.m.</span><span><strong>Tuition</strong> $40 per gathering</span><span><strong>Format</strong> In person or Zoom</span></div>
<ol class="lw-steps"><li><strong>Call or text.</strong> Reach me at <a href="tel:9135302802">913-530-2802</a> and tell me which month you would like to begin. There is no application and no prior study required.</li><li><strong>Receive the details.</strong> I will send the Zoom link or the in-person address, along with the month's Study Guide and readings, several days before we meet.</li><li><strong>Complete tuition.</strong> $40 per gathering, using the PayPal button below or by arrangement. You are welcome to come month by month.</li></ol>
<div class="lw-cta-row"><a class="lw-btn lw-btn--primary" href="tel:9135302802">Call 913-530-2802</a><a class="lw-btn lw-btn--ghost" href="https://loiswilkins.com/contact/">Send a note instead</a></div>
<p class="lw-cta-note">If a gathering is full, or if you would prefer to begin in a later month, ask to be added to the list. I will write to you personally when a place opens.</p>
</div>