/* Shared Footsteps theme: warm paper, olive, and clay.
   Load after styles.css and page styles, before homepage composition. */
:root {
  --cream: #faf8f2;
  --white: #fffdf8;
  --beige: #eeece2;
  --ink: #333d30;
  --ink-soft: #686b60;
  --accent: #596746;
  --accent-strong: #47563c;
  --green-deep: #4c613f;
  --clay: #9b6048;
  --line: #dcded2;
  --blue: #e9eddf;
  --green: #e9eddf;
  --purple: #e9eddf;
  --yellow: #f3ede4;
  --pink: #f3ede4;
  --apricot: #e7ddcd;
  --apricot-hover: #ded3bf;
  --blue-deep: #596746;
  --purple-deep: #dce2cd;
  --cream-2: #fffdf8;
  --sand: #eeece2;
  --sage: #e9eddf;
  --sage-deep: #4c613f;
  --forest: #333d30;
  --terracotta: #e7ddcd;
  --terracotta-2: #ded3bf;
  --honey: #f3ede4;
  --shadow-sm: none;
  --shadow-md: 0 12px 28px #333d3012;
  --radius: 6px;
  --radius-lg: 8px;
  --maxw: 1280px;
  --font-body: "DM Sans", "Segoe UI", system-ui, sans-serif;
}
.site-theme { font-size: 16px; }

.site-theme ::selection { background: #dce2cd; color: var(--ink); }
.site-theme .container { padding-inline: 40px; }
.site-theme .reveal { opacity: 1; transform: none; }
.site-theme .btn {
  justify-content: center;
  min-height: 50px;
  padding: 13px 23px;
  gap: 28px;
  border: 1px solid transparent;
  border-radius: 5px;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.site-theme .btn:hover { transform: none; box-shadow: none; }
.site-theme .btn-primary { background: var(--accent); color: var(--cream); }
.site-theme .btn-primary:hover { background: #414f32; }
.site-theme .btn-ghost { color: var(--ink); border-color: #9fa48f; background: transparent; }
.site-theme .btn-ghost:hover { background: #e0e4d6; border-color: var(--accent); }
.site-theme .btn-cream { color: var(--ink); background: var(--cream); }
.site-theme .btn-cream:hover { background: #e6e9dc; }
.site-theme .btn > span { font-size: 19px; line-height: 1; }
.site-theme a:focus-visible, .site-theme button:focus-visible, .site-theme summary:focus-visible,
.site-theme [tabindex="0"]:focus-visible { outline: 2px solid var(--clay); outline-offset: 5px; }
.site-theme .announce { background: #e6eadc; color: #46523d; font-size: 11px; padding-block: 10px; }
.site-theme .announce a { font-weight: 600; }
.site-theme .announce-close { width: 36px; height: 36px; }
.site-theme .site-header { background: rgba(250, 248, 242, 0.96); border-bottom-color: var(--line); }
.site-theme .nav { padding-block: 21px; gap: 16px; }
.site-theme .brand { gap: 11px; }
.site-theme .brand-logo { width: 45px; height: 45px; mix-blend-mode: multiply; }
.site-theme .brand-name { font-size: 26px; letter-spacing: -0.025em; }
.site-theme .brand-name span { margin-top: 7px; font-size: 8px; letter-spacing: 0.29em; color: var(--accent); font-weight: 500; }
.site-theme .nav-links { gap: 8px; }
.site-theme .nav-links > a, .site-theme .nav-parent { font-size: 14px; font-weight: 500; padding: 10px 12px; border-radius: 4px; }
.site-theme .nav-parent::after { width: 5px; height: 5px; border-width: 1px; margin-left: 3px; }
.site-theme .nav-links > .nav-cta { color: var(--cream); background: var(--accent); padding: 13px 21px; margin-left: 13px; min-height: 44px; }
.site-theme .nav-links > .nav-cta:hover { background: #414f32; }
.site-theme .nav-dropdown { border-color: var(--line); border-radius: 5px; box-shadow: 0 12px 28px #333d3012; }
.site-theme .nav-dropdown a { font-size: 14px; font-weight: 400; border-radius: 3px; }
.site-theme .site-footer { background: transparent; color: var(--ink-soft); padding-block: 0 25px; }
.site-theme .footer-grid { border-top: 1px solid var(--line); padding-top: 48px; gap: 36px; grid-template-columns: 1.4fr 0.75fr 0.75fr 1.1fr; }
.site-theme .site-footer .brand-logo { padding: 0; border-radius: 0; background: none; height: 45px; }
.site-theme .site-footer .brand-name { color: var(--ink); }
.site-theme .site-footer .brand-name span { color: var(--accent); }
.site-theme .footer-about p { font-size: 13px; max-width: 30ch; line-height: 1.8; margin-top: 20px; }
.site-theme .footer-col h4 { font-size: 13px; color: var(--ink); font-weight: 500; margin-bottom: 15px; }
.site-theme .footer-col a { color: var(--ink-soft); font-size: 13px; padding-block: 5px; }
.site-theme .footer-col a:hover { color: var(--clay); }
.site-theme .socials { flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.site-theme .socials a { width: 30px; height: 30px; background: #eceee4; color: var(--accent); }
.site-theme .socials a:hover { background: #dce2cd; }
.site-theme .socials svg { width: 14px; height: 14px; }
.site-theme .footer-bottom { border-color: var(--line); font-size: 12px; padding-top: 20px; }
.site-theme .footer-bottom .lic { color: var(--ink-soft); }
@media (max-width: 1100px) {
.site-theme .container { padding-inline: 30px; }
.site-theme .nav-links { gap: 0; }
.site-theme .nav-links > a, .site-theme .nav-parent { padding-inline: 9px; }
.site-theme .nav-links > .nav-cta { padding-inline: 15px; margin-left: 5px; }
}
@media (max-width: 899px) {
.site-theme .nav { padding-block: 17px; }
.site-theme .nav-links { inset: 100% 0 auto; max-height: calc(100dvh - 150px); overflow-y: auto; padding: 16px 30px 25px; border-bottom: 1px solid var(--line); }
.site-theme .nav-links > a, .site-theme .nav-parent { padding: 14px 12px; font-size: 16px; }
.site-theme .nav-links > .nav-cta { margin: 12px 0 0; padding: 14px 20px; }
.site-theme .nav-dropdown { box-shadow: none; border-radius: 0; }
.site-theme .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
}
@media (max-width: 640px) {
.site-theme .container { padding-inline: 22px; }
.site-theme .announce { font-size: 10px; padding: 10px 42px 10px 20px; }
.site-theme .announce-close { right: 4px; }
.site-theme .nav { padding-block: 14px; }
.site-theme .brand-logo { width: 39px; height: 39px; }
.site-theme .brand-name { font-size: 24px; }
.site-theme .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; margin-bottom: 30px; padding-top: 35px; }
.site-theme .footer-about, .site-theme .footer-col:last-child { grid-column: 1 / -1; }
.site-theme .footer-col h4 { font-size: 13px; }
.site-theme .footer-col a { font-size: 13px; }
.site-theme .footer-bottom { gap: 10px; }
}
@media (max-width: 760px) {
.site-theme .mobile-cta { background: rgba(250, 248, 242, 0.97); border-color: var(--line); box-shadow: 0 -3px 16px #333d3008; }
.site-theme .mobile-cta .btn { font-size: 12px; min-height: 45px; padding: 10px; }
html.js .site-theme .mobile-cta { visibility: hidden; }
html.js .site-theme .mobile-cta.show { visibility: visible; }
}

/* The same reading rhythm across information, booking, and form pages. */
.site-theme:not(.home) h1,
.site-theme:not(.home) h2,
.site-theme:not(.home) h3 { font-weight: 400; letter-spacing: -0.025em; }
.site-theme:not(.home) strong { font-weight: 600; }
.site-theme:not(.home) .eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--accent);
  font: 500 11px/1.5 var(--font-body);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.site-theme:not(.home) .page-hero { padding: 64px 0 44px; }
.site-theme .page-hero::before { content: none; }
.site-theme .page-hero h1 {
  max-width: 23ch;
  margin: 0 auto 22px;
  font-size: clamp(38px, 4.6vw, 62px);
  line-height: 1.13;
  letter-spacing: -0.022em;
  text-wrap: balance;
}
.site-theme .page-hero p { max-width: 58ch; font-size: 16px; line-height: 1.85; }
.site-theme:not(.home) .section { padding-block: 72px; }
.site-theme:not(.home) .section-head { max-width: 740px; margin-bottom: 36px; }
.site-theme:not(.home) .section-head h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.2; }
.site-theme:not(.home) .section-head p { font-size: 16px; line-height: 1.8; }
.site-theme:not(.home) main :where(p, li) { line-height: 1.8; }
.site-theme:not(.home) main { overflow-wrap: break-word; }
.site-theme:not(.home) main [id] { scroll-margin-top: 110px; }
.site-theme .btn:active { transform: none; }
.site-theme:not(.home) .btn { font-size: 14px; }
.site-theme .btn:disabled { opacity: 0.6; cursor: wait; }
.site-theme :is(input, select, textarea) { accent-color: var(--accent); }
.site-theme :is(input, select, textarea):focus-visible { outline: 2px solid var(--clay); outline-offset: 3px; }

/* Real photos, with simple frames that echo the opening photographs. */
.site-theme:not(.home) .split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.site-theme .split .media {
  width: 100%;
  max-width: 520px;
  aspect-ratio: 5 / 4;
  border-radius: 90px 90px 6px 6px;
  outline: 0;
  box-shadow: none;
}
.site-theme .split .media-img { border-radius: 0; }
.site-theme .split:has(.person-role) .media { max-width: 340px; aspect-ratio: 4 / 5; border-radius: 140px 140px 6px 6px; }
.site-theme .split:has(.person-role) .media-img { object-position: center 30%; }
.site-theme .split h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; }
.site-theme .person-role { font-size: 13px; font-weight: 500; letter-spacing: 0.06em; }
.site-theme .value-list li { font-weight: 400; }
.site-theme .value-list .check { width: 15px; height: 19px; top: 5px; }
.site-theme .feature-grid { gap: 28px; }
.site-theme .feature-card { text-align: left; }
.site-theme .feature-card .media { width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: 6px; outline: 0; margin-bottom: 22px; }
.site-theme .feature-card .media-img { border-radius: 0; }
.site-theme .feature-card h3 { font-size: 26px; }
.site-theme .feature-card p { font-size: 15px; }
.site-theme .feature-card:hover { transform: none; }
.site-theme .feature-card:hover .media { box-shadow: none; }
.site-theme .feature-card:hover .media-img { transform: none; }

/* Cream surfaces, fine borders, and quiet emphasis. */
.site-theme :is(.info-card, .form, .track, .step, .practice, .program-experience-card, .program-basic, .job) {
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: none;
  background: var(--white);
}
.site-theme :is(.info-card, .form) { padding: clamp(22px, 3vw, 36px); }
.site-theme :is(.info-card, .track, .program-experience-card, .program-basic, .step) h3 { font-size: 25px; line-height: 1.25; }
.site-theme .contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
.site-theme .info-row { align-items: flex-start; font-size: 15px; font-weight: 400; gap: 10px; }
.site-theme .info-row a { min-width: 0; overflow-wrap: anywhere; }
.site-theme .info-row svg { margin-top: 4px; }
.site-theme .info-card .lic { font-size: 13px; line-height: 1.7; }
.site-theme .tracks { max-width: 980px; }
.site-theme .track { padding: 32px; }
.site-theme .track-head { gap: 12px; flex-wrap: wrap; }
.site-theme .track-steps { padding-block: 10px; }
.site-theme .track-steps li { font-weight: 400; }
.site-theme .track-steps li::before { background: var(--beige); color: var(--accent-strong); font-weight: 500; }
.site-theme .track-badge { font-size: 12px; font-weight: 500; letter-spacing: 0; }
.site-theme .track-badge.open { background: var(--green); color: var(--green-deep); }
.site-theme .track-badge.wait { background: #f3ede4; color: #825c42; }
.site-theme .playa-enrollment-card { background: #f3ede4; border-color: #e7ded1; }
.site-theme .rate-rows { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 18px; gap: 10px; }
.site-theme .rate-rows li { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 3px 16px; font-size: 15px; }
.site-theme .rate-rows .rate-days { font-weight: 400; }
.site-theme .rate-rows .rate-price { font-weight: 500; white-space: nowrap; }
.site-theme:not(.home) .tuition-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; line-height: 1.3; }
.site-theme .tuition-price > span { line-height: 1.6; }
.site-theme .founding-invitation { padding: clamp(26px, 4vw, 48px); text-align: center; background: var(--green); border: 1px solid #d5ddc8; border-radius: 6px; }
.site-theme .fee-box { background: var(--green); font-weight: 500; flex-wrap: wrap; }
.site-theme .status-full { background: #f3ede4; color: #825c42; border-radius: 3px; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.site-theme .waitlist-closed { border: 1px solid var(--line); font-size: 14px; }

/* Forms retain their existing fields and interactions. */
.site-theme .form .row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.site-theme .field { min-width: 0; margin-bottom: 20px; }
.site-theme .field label, .site-theme .group-label { font-size: 14px; font-weight: 500; margin-bottom: 7px; }
.site-theme .field :is(input, textarea, select) { min-width: 0; border: 1px solid #b3baa7; border-radius: 4px; background: var(--cream); min-height: 48px; }
.site-theme .field :is(input, textarea, select):focus { border-color: var(--accent); box-shadow: none; }
.site-theme .form-section + .form-section { border-color: var(--line); padding-top: 28px; }
.site-theme .form-section legend { font-size: 26px; font-weight: 400; line-height: 1.3; }
.site-theme .form-section .legend-note { font-size: 14px; }
.site-theme .form-note, .site-theme .save-status { font-size: 13px; line-height: 1.7; }
.site-theme .optional-tag { background: var(--beige); color: var(--ink-soft); font-weight: 500; font-size: 11px; letter-spacing: 0; text-transform: none; }
.site-theme .checkbox-grid .check-pill { border-radius: 4px; border-width: 1px; font-weight: 400; }
.site-theme .checkbox-grid .check-pill span { font-weight: 400; }
.site-theme .checkbox-grid .check-pill:has(input:checked) { background: var(--green); }
.site-theme .checkbox-grid .check-pill input { min-height: 0; }
.site-theme .consent input { width: 17px; height: 17px; }
.site-theme .field input[type="file"]::file-selector-button { background: var(--green); border-radius: 3px; font-weight: 500; padding: 10px 14px; }
.site-theme .form-success-mark { color: var(--accent-strong); font-weight: 500; }

/* Program detail pages. */
.site-theme .program-detail-hero .program-detail-icon { width: 60px; height: 60px; padding: 13px; box-shadow: none; background: var(--green); }
.site-theme .program-lead-photo { border-radius: 90px 90px 6px 6px; box-shadow: none; }
.site-theme .program-lead-copy h2 { font-size: clamp(30px, 3vw, 42px); }
.site-theme .program-points li { font-weight: 400; }
.site-theme .program-experience-card { padding: 28px; }
.site-theme .program-experience-card .emoji { width: 46px; height: 46px; box-shadow: none; background: var(--green); }
.site-theme .program-experience-card .emoji img { width: 28px; height: 28px; }
.site-theme .program-basic { padding: 28px; border-top: 2px solid #b5bfa7; }
.site-theme .program-basic:nth-child(2) { border-top-color: #9b6048; }
.site-theme .program-basic:nth-child(3) { border-top-color: #596746; }
.site-theme .program-story-compact { background: #f3ede4; border: 1px solid #e7ded1; padding: 28px; }
.site-theme .program-story-compact .story-mark { font-size: 32px; color: var(--clay); }
.site-theme .program-story-compact h3 { font-size: 25px; }
.site-theme .program-day-summary { background: var(--white); border: 1px solid var(--line); }
.site-theme .program-inline-link { font-weight: 500; }

/* The eight existing values and daily rhythm keep their friendly illustrations. */
.site-theme .icon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1120px; gap: 36px; }
.site-theme .icon-feature .emoji { width: 62px; height: 62px; box-shadow: none; }
.site-theme .icon-feature .emoji img { width: 38px; height: 38px; }
.site-theme .icon-grid.colorful .icon-feature .emoji { background: var(--green); animation: none; }
.site-theme .icon-grid.colorful .icon-feature:nth-child(even) .emoji { background: #f3ede4; }
.site-theme .icon-feature h3 { font-size: 22px; line-height: 1.35; }
.site-theme .icon-feature p { font-size: 14px; line-height: 1.75; }
.site-theme .day-timeline { gap: 24px; padding-top: 20px; }
.site-theme .day-timeline li { border: 1px solid var(--line); padding: 28px 20px; }
.site-theme .day-timeline li::before { font-weight: 500; }
.site-theme .day-timeline .emoji { background: var(--green); width: 48px; height: 48px; }
.site-theme .day-timeline h3 { font-size: 21px; }
.site-theme .day-timeline p { font-size: 14px; }

.site-theme .page-hero .page-resource-link { margin-top: 20px; max-width: none; font-size: 14px; }
.site-theme .page-resource-link a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 4px; }

/* FAQ and reading pages. */
.site-theme .faq-list { max-width: 900px; gap: 0; border-top: 1px solid var(--line); }
.site-theme .faq-item { border-radius: 0; background: transparent; box-shadow: none; border-bottom: 1px solid var(--line); }
.site-theme .faq-q { font-size: 17px; font-weight: 500; line-height: 1.5; padding: 24px 8px; }
.site-theme .faq-a p { padding: 0 48px 24px 8px; font-size: 15px; line-height: 1.85; }
.site-theme .job { padding: 28px; }
.site-theme .job:hover { border-color: #8a9779; transform: none; box-shadow: none; background: #f3f4ec; }
.site-theme .job-tag { background: var(--beige); font-weight: 500; letter-spacing: 0; font-size: 12px; border-radius: 3px; }
.site-theme .job h3 { font-size: 25px; line-height: 1.3; }
.site-theme .job-group-title { font-size: 29px; }
.site-theme .job-desc { font-size: 15px; }
.site-theme .tip-card { --tip-accent: var(--accent); --tip-tint: var(--white); --tip-chip: var(--green); background: var(--white); border: 1px solid var(--line); }
.site-theme .tip-card--choosing { --tip-accent: #825c42; --tip-chip: #f3ede4; }
.site-theme .tip-card--starting { --tip-accent: var(--accent); --tip-chip: var(--green); }
.site-theme .tip-card .eyebrow { font-weight: 500; letter-spacing: 0.08em; font-size: 11px; border-radius: 3px; }
.site-theme .author-card { display: flex; align-items: center; gap: 24px; margin: 0 0 38px; font-size: 16px; line-height: 1.7; }
.site-theme .author-photo { width: 96px; height: 112px; object-fit: cover; border-radius: 45px 45px 5px 5px; flex: none; }

/* Gallery proportions adapt without forcing a wider page. */
.site-theme .photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.site-theme .photo-grid figure { border-radius: 6px; }
.site-theme .photo-strip figure, .site-theme .photo-row figure { border-radius: 6px; }

/* A shared olive closing invitation, followed by the cream footer. */
.site-theme:not(.home) :is(.cta-band, .program-next) { padding: 52px 40px; background: #3e4c36; color: var(--cream); border-radius: 7px; box-shadow: none; }
.site-theme :is(.cta-band, .section-forest)::after { content: none; }
.site-theme:not(.home) :is(.cta-band, .program-next) h2 { color: var(--cream); font-size: clamp(32px, 3.4vw, 46px); line-height: 1.2; }
.site-theme:not(.home) :is(.cta-band, .program-next) > p { color: #e0e4d7; font-size: 15px; line-height: 1.8; }
.site-theme:not(.home) :is(.cta-band, .program-next) .eyebrow { color: #ccd3bc; }
.site-theme:not(.home) .cta-band p a { color: var(--cream); }
.site-theme .program-next { width: calc(100% - 80px); }
.site-theme:not(.home) :is(.cta-band, .program-next) .btn-primary { background: var(--cream); color: var(--ink); }
.site-theme:not(.home) :is(.cta-band, .program-next) .btn-primary:hover { background: #e6e9dc; }
.site-theme:not(.home) :is(.cta-band, .program-next) .btn-ghost { color: var(--cream); border-color: #a5af98; }
.site-theme:not(.home) :is(.cta-band, .program-next) .btn-ghost:hover { background: #526044; }
.site-theme:not(.home) :is(.cta-band, .program-next) .program-inline-link { color: var(--cream); }
.site-theme:not(.home) .site-footer { padding-top: 24px; }

/* Practical tour details, using the owner-confirmed Cal.com wording. */
.site-theme .tour-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; max-width: 980px; margin: 36px auto 30px; padding: 32px 0; border-block: 1px solid #d2d6c7; }
.site-theme .tour-details h3 { margin-bottom: 10px; font-size: 25px; }
.site-theme .tour-details p { font-size: 15px; color: var(--ink-soft); }
.site-theme .tour-details a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 4px; }
.site-theme .tour-heading { margin-top: 42px; font-size: 32px; }

@media (max-width: 1100px) {
  .site-theme .program-next { width: calc(100% - 60px); }
}
@media (max-width: 1000px) {
  .site-theme .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-theme .icon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .site-theme:not(.home) .split, .site-theme .contact-grid { grid-template-columns: 1fr; }
  .site-theme:not(.home) .split { gap: 34px; }
  .site-theme .contact-grid { max-width: 820px; }
}
@media (max-width: 640px) {
  .site-theme:not(.home) .page-hero { padding: 38px 0 30px; }
  .site-theme .page-hero h1 { font-size: 38px; line-height: 1.16; }
  .site-theme .page-hero p { font-size: 15px; line-height: 1.8; }
  .site-theme:not(.home) .section { padding-block: 46px; }
  .site-theme:not(.home) .section-head { margin-bottom: 28px; }
  .site-theme:not(.home) .section-head h2 { font-size: 31px; }
  .site-theme:not(.home) .section-head p { font-size: 15px; }
  .site-theme:not(.home) .eyebrow { margin-bottom: 14px; }
  .site-theme .split .media { border-radius: 60px 60px 6px 6px; }
  .site-theme .split:has(.person-role) .media { max-width: 240px; border-radius: 110px 110px 6px 6px; }
  .site-theme .icon-grid { gap: 28px 20px; }
  .site-theme .icon-feature h3 { font-size: 20px; }
  .site-theme .icon-feature p { font-size: 13px; }
  .site-theme .photo-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; grid-auto-rows: 270px; }
  .site-theme .photo-grid figure.wide { grid-column: span 1; }
  .site-theme .form .row { grid-template-columns: 1fr; gap: 0; }
  .site-theme .author-card { flex-direction: column; align-items: flex-start; gap: 20px; }
  .site-theme .author-photo { width: 80px; height: 96px; }
  .site-theme .program-next { width: calc(100% - 44px); }
  .site-theme .checkbox-grid { grid-template-columns: minmax(0, 1fr); }
  .site-theme .form-section legend { font-size: 24px; }
  .site-theme .form-section .optional-tag { margin-left: 0; }
  .site-theme .track { padding: 24px; }
  .site-theme:not(.home) :is(.cta-band, .program-next) { padding: 34px 24px; }
  .site-theme .tour-details { grid-template-columns: 1fr; gap: 24px; padding-block: 28px; margin-top: 24px; }
  .site-theme .tour-heading { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-theme *, .site-theme *::before, .site-theme *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
