/* ==========================================================================
   GIVER® mockup — unified design system (Family A)
   Cormorant Garamond + Montserrat · cream / terracotta / deep earth
   Ported mockups scope their own CSS under #mk; everything here is prefixed
   .g- (chrome), .hm- (home) or .ss- (Sacred Source) so the two never collide.
   ========================================================================== */:root {
  /* One palette, twelve values. Every colour on the site — including the ones
     the ported mockups ship — resolves to an entry here.
     Contrast is verified: see the pairing rules further down. */
  --g-cream: #f2ede8;
  --g-beige: #e8ddd4;
  --g-sand: #d4b99a; /* tour accent — backgrounds only, never small text */
  --g-white: #ffffff;

  /* terracotta clears WCAG AA (4.5) on cream 5.43, beige 4.73, white 6.32 */
  --g-terracotta: #974a26;
  --g-terra-dark: #7e3e20;
  --g-terra-deep: #5c2d17; /* darkest step of the ramp — panel backgrounds */
  --g-terra-light: #c47a52; /* accent on DARK backgrounds only */
  --g-terra-pale: #e8c9b8; /* tints and borders only, never text */

  /* Dark chocolate — the Tours destination colour. Deliberately browner and
     less red than terra-deep so the two read as different families. The mid
     and pale steps give the tour modes a ramp of their own, distinct from the
     four destination colours used on the homepage. */
  --g-choc: #402a1a;
  --g-choc-deep: #2c1c11;
  --g-choc-mid: #7a5539;
  --g-choc-pale: #e3d3c4;

  --g-deep: #1e1208;
  --g-brown: #3d2b1f;
  --g-muted: #6b5f57;
  --g-warm-gray: #c4b5a8;

  --g-hairline: rgba(61, 43, 31, 0.18);
  --g-hairline-soft: rgba(61, 43, 31, 0.1);

  --g-serif: 'Cormorant Garamond', Georgia, serif;
  --g-sans: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;

  --g-max: 1200px;
  --g-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --g-header-h: 68px;
}body.giver-page * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}html {
  scroll-behavior: smooth;
}body.giver-page {
  background: var(--g-cream);
  color: var(--g-brown);
  font-family: var(--g-sans);
  font-weight: 400;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ------------------------------------------------------------------ header */body.giver-page .g-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(242, 237, 232, 0.86);
  backdrop-filter: saturate(150%) blur(14px);
  border-bottom: 1px solid transparent;
  font-family: var(--g-sans);
  transition: background 0.3s var(--g-ease), border-color 0.3s var(--g-ease),
    box-shadow 0.3s var(--g-ease);
}body.giver-page .g-header.is-scrolled {
  background: rgba(242, 237, 232, 0.97);
  border-bottom-color: var(--g-hairline-soft);
  box-shadow: 0 10px 30px -24px rgba(30, 18, 8, 0.55);
}body.giver-page .g-header-inner {
  max-width: var(--g-max);
  margin: 0 auto;
  padding: 0 26px;
  height: var(--g-header-h);
  display: flex;
  align-items: center;
  gap: 20px;
  transition: height 0.3s var(--g-ease);
}body.giver-page .g-header.is-scrolled .g-header-inner {
  height: 60px;
}

/* --------------------------------------------------------------- logo */body.giver-page .g-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}body.giver-page .g-logo img {
  display: block;
  width: auto;
  height: 34px;
  transition: height 0.3s var(--g-ease);
}body.giver-page .g-header.is-scrolled .g-logo img {
  height: 28px;
}

/* ------------------------------------------------------- primary nav */body.giver-page .g-nav {
  margin-left: auto;
}body.giver-page .g-nav > ul {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
}body.giver-page .g-nav li {
  position: relative;
}body.giver-page .g-nav > ul > li > a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 13px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--g-brown);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.22s var(--g-ease);
}

/* animated underline instead of a hard border, so nothing shifts on hover */body.giver-page .g-nav > ul > li > a::after {
  content: '';
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 4px;
  height: 1px;
  background: var(--g-terracotta);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.28s var(--g-ease);
}body.giver-page .g-nav > ul > li > a:hover,
body.giver-page .g-nav > ul > li > a.is-active {
  color: var(--g-terracotta);
}body.giver-page .g-nav > ul > li > a:hover::after,
body.giver-page .g-nav > ul > li > a.is-active::after,
body.giver-page .g-nav li.has-menu:hover > a::after,
body.giver-page .g-nav li.has-menu:focus-within > a::after {
  transform: scaleX(1);
}body.giver-page .g-nav > ul > li > a svg {
  width: 9px;
  height: 6px;
  opacity: 0.6;
  transition: transform 0.24s var(--g-ease);
}body.giver-page .g-nav li.has-menu:hover > a svg,
body.giver-page .g-nav li.has-menu:focus-within > a svg {
  transform: rotate(180deg);
}

/* ---------------------------------------------------------- submenu */body.giver-page .g-submenu {
  position: absolute;
  top: 100%;
  left: 4px;
  z-index: 950;
  min-width: 232px;
  list-style: none;
  background: var(--g-white);
  border: 1px solid var(--g-hairline);
  box-shadow: 0 22px 50px -26px rgba(30, 18, 8, 0.55);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s var(--g-ease), transform 0.2s var(--g-ease), visibility 0.2s;
}body.giver-page .g-nav li.has-menu:hover > .g-submenu,
body.giver-page .g-nav li.has-menu:focus-within > .g-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}body.giver-page .g-submenu a {
  display: block;
  padding: 11px 14px;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--g-brown);
  text-decoration: none;
  transition: background 0.18s var(--g-ease), color 0.18s var(--g-ease);
}body.giver-page .g-submenu a:hover,
body.giver-page .g-submenu a.is-active {
  background: var(--g-beige);
  color: var(--g-terracotta);
}

/* ------------------------------------------- right cluster: lang, CTA */body.giver-page .g-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  margin-left: 12px;
}body.giver-page .g-lang {
  position: relative;
}body.giver-page .g-lang-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  background: none;
  border: 1px solid var(--g-hairline);
  color: var(--g-brown);
  font-family: var(--g-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.2s var(--g-ease), color 0.2s var(--g-ease);
}body.giver-page .g-lang-toggle:hover,
body.giver-page .g-lang-toggle[aria-expanded='true'] {
  border-color: var(--g-terracotta);
  color: var(--g-terracotta);
}body.giver-page .g-globe {
  width: 14px;
  height: 14px;
  opacity: 0.75;
}body.giver-page .g-lang-toggle > svg:last-child {
  width: 9px;
  height: 6px;
  opacity: 0.6;
  transition: transform 0.22s var(--g-ease);
}body.giver-page .g-lang-toggle[aria-expanded='true'] > svg:last-child {
  transform: rotate(180deg);
}body.giver-page .g-lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1000;
  min-width: 136px;
  list-style: none;
  background: var(--g-white);
  border: 1px solid var(--g-hairline);
  box-shadow: 0 18px 40px -22px rgba(30, 18, 8, 0.5);
  padding: 5px;
  animation: g-pop 0.16s var(--g-ease);
}@keyframes g-pop {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
}body.giver-page .g-lang-menu a {
  display: block;
  padding: 9px 12px;
  font-size: 12px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--g-brown);
  text-decoration: none;
  transition: background 0.18s var(--g-ease), color 0.18s var(--g-ease);
}body.giver-page .g-lang-menu a:hover {
  background: var(--g-beige);
  color: var(--g-terracotta);
}body.giver-page .g-lang-menu a.is-active {
  background: var(--g-terracotta);
  color: var(--g-white);
}body.giver-page .g-header-cta {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 20px;
  background: var(--g-terracotta);
  color: var(--g-white);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.24s var(--g-ease);
}body.giver-page .g-header-cta:hover {
  background: var(--g-terra-dark);
}

/* ------------------------------------------------------------ burger */body.giver-page .g-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: 0;
  cursor: pointer;
}body.giver-page .g-burger span {
  display: block;
  height: 1.5px;
  width: 21px;
  margin: 0 auto;
  background: var(--g-deep);
  transition: transform 0.26s var(--g-ease), opacity 0.18s var(--g-ease);
}body.giver-page .g-burger.is-open span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}body.giver-page .g-burger.is-open span:nth-child(2) {
  opacity: 0;
}body.giver-page .g-burger.is-open span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ------------------------------------------------------ mobile drawer */body.giver-page .g-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 880;
  background: rgba(30, 18, 8, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.28s var(--g-ease), visibility 0.28s;
}body.giver-page .g-drawer-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}body.giver-page .g-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 890;
  width: min(400px, 86vw);
  background: var(--g-cream);
  border-left: 1px solid var(--g-hairline);
  padding: calc(var(--g-header-h) + 26px) 30px 40px;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(100%);
  /* visibility keeps the closed panel out of the tab order without display:none,
     which would kill the slide transition */
  visibility: hidden;
  transition: transform 0.34s var(--g-ease), visibility 0.34s;
}body.giver-page .g-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
}

/* the drawer sits below the bar on purpose, so the burger stays tappable to close */@media (min-width: 1201px) {body.giver-page .g-drawer,
body.giver-page .g-drawer-backdrop {
    display: none;
  }
}body.giver-page .g-drawer-group + .g-drawer-group {
  margin-top: 2px;
}body.giver-page .g-drawer a {
  display: block;
  padding: 15px 0;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--g-deep);
  text-decoration: none;
  border-bottom: 1px solid var(--g-hairline-soft);
}body.giver-page .g-drawer a.is-active {
  color: var(--g-terracotta);
}body.giver-page .g-drawer-sub {
  padding-left: 16px !important;
  font-size: 14px !important;
  text-transform: none !important;
  color: var(--g-muted) !important;
}body.giver-page .g-drawer-sub.is-active {
  color: var(--g-terracotta) !important;
}body.giver-page .g-drawer-cta {
  margin-top: 30px;
  text-align: center;
  border-bottom: 0 !important;
  color: var(--g-white) !important;
}

/* --------------------------------------------------------- responsive */@media (max-width: 1200px) {body.giver-page .g-nav {
    display: none;
  }body.giver-page .g-burger {
    display: flex;
  }body.giver-page .g-header-right {
    margin-left: auto;
  }
}@media (max-width: 640px) {body.giver-page .g-header-cta {
    display: none;
  }body.giver-page .g-header-inner {
    padding: 0 18px;
  }
}

/* keyboard users get a visible ring; pointer users do not */body.giver-page .g-header a:focus-visible,
body.giver-page .g-header button:focus-visible,
body.giver-page .g-drawer a:focus-visible {
  outline: 2px solid var(--g-terracotta);
  outline-offset: 3px;
}@media (prefers-reduced-motion: reduce) {body.giver-page .g-header,
body.giver-page .g-header-inner,
body.giver-page .g-logo img,
body.giver-page .g-nav > ul > li > a::after,
body.giver-page .g-submenu,
body.giver-page .g-drawer,
body.giver-page .g-drawer-backdrop,
body.giver-page .g-burger span,
body.giver-page .g-lang-toggle svg {
    transition-duration: 0.01ms;
  }body.giver-page .g-lang-menu {
    animation: none;
  }
}

/* -------------------------------------------------------- fallback notice */body.giver-page .g-fallback {
  background: var(--g-terra-pale);
  color: var(--g-terra-dark);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 10px 20px;
}

/* ==========================================================================
   Footer

   Three tonal bands, no dividing lines. Vertical padding lives on the BAND,
   never on the element that also carries .g-wrap: .g-wrap is declared later in
   this file and its `padding: 0 26px` shorthand would silently reset it.
   ========================================================================== */body.giver-page .g-footer {
  background: var(--g-deep);
  color: var(--g-cream);
  font-family: var(--g-sans);
}

/* One brown throughout: newsletter, body and colophon all sit on the footer
   background, separated by spacing alone. */

/* ------------------------------------------------------------ newsletter */

/* no padding under the band: the rule inside .g-news-inner is the boundary,
   and 68px here sat between it and the logo on top of the main band padding */body.giver-page .g-news {
  padding: 64px 0 0;
}

/* A light rule closes the newsletter band off from the columns below it. The
   gap above the rule is wide enough that it reads as the end of the band
   rather than as an underline belonging to the form.

   Scoped through .g-news so it outranks `.g-wrap { padding: 0 26px }` — this
   element carries both classes, and the shorthand there resets the vertical
   padding whichever way the source order falls. */body.giver-page .g-news .g-news-inner {
  padding-bottom: 72px;
  border-bottom: 1px solid rgba(242, 237, 232, 0.14);
}body.giver-page .g-news-inner {
  display: grid;
  grid-template-columns: 1fr minmax(320px, 0.8fr);
  gap: 48px;
  align-items: end;
}

/* the label leads, the serif line carries the offer */body.giver-page .g-news-eyebrow {
  font-family: var(--g-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--g-warm-gray);
  margin-bottom: 12px;
}body.giver-page .g-news-title {
  font-family: var(--g-serif);
  font-size: clamp(21px, 2.1vw, 26px);
  font-weight: 600;
  line-height: 1.15;
  color: var(--g-cream);
}

/* A boxed field with the button fixed to it: on a dark band an underline
   reads as a stray rule, and the send action was a bare word the eye slid
   over. The two share one edge so they read as a single control. */body.giver-page .g-news-form {
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(242, 237, 232, 0.18);
  background: rgba(242, 237, 232, 0.06);
  transition: border-color 0.26s var(--g-ease);
}body.giver-page .g-news-form:focus-within {
  border-color: var(--g-sand);
}body.giver-page .g-news-form input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  padding: 14px 16px;
  color: var(--g-cream);
  font-family: var(--g-sans);
  font-size: 14px;
}body.giver-page .g-news-form input::placeholder {
  color: var(--g-warm-gray);
  opacity: 0.8;
}body.giver-page .g-news-form input:focus {
  outline: none;
}body.giver-page .g-news-form button {
  flex-shrink: 0;
  background: var(--g-terracotta);
  border: 0;
  padding: 14px 24px;
  color: var(--g-cream);
  font-family: var(--g-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.22s var(--g-ease);
}body.giver-page .g-news-form button:hover {
  background: var(--g-terra-light);
}

/* ============================================================================
   Everything below was recovered from the compiled stylesheet after an editing
   script truncated this file. The rules are intact and verified against the
   rendering; the explanatory comments that accompanied them were not in the
   build output and are gone. Treat the density below as accidental, not as the
   house style — the sections above show how these blocks were documented.
   ========================================================================== */body.giver-page .g-news-done {
  color:var(--g-sand);
  border-bottom:1px solid #f2ede84d;
  padding:11px 0;
  font-size:14px;
}

/* the rule above already separates the bands, so the old 64px on top only
   pushed the logo and the columns away from it */body.giver-page .g-footer-main {
  padding: 34px 0 56px;
}body.giver-page .g-footer-main-inner {
  grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);
  gap:48px;
  display:grid;
}body.giver-page .g-logo--footer img {
  width:auto;
  height:28px;
  display:block;
}body.giver-page .g-footer-tag {
  max-width:40ch;
  color:var(--g-warm-gray);
  margin-top:16px;
  font-size:14px;
  line-height:1.5;
}body.giver-page .g-social {
  gap:10px;
  margin-top:24px;
  list-style:none;
  display:flex;
}body.giver-page .g-social a {
  width:34px;
  height:34px;
  color:var(--g-warm-gray);
  transition:background .24s var(--g-ease), border-color .24s var(--g-ease), color .24s var(--g-ease);
  border:1px solid #f2ede842;
  place-items:center;
  text-decoration:none;
  display:grid;
}body.giver-page .g-social svg {
  width:16px;
  height:16px;
  display:block;
}body.giver-page .g-social a:hover {
  background:var(--g-terra-light);
  border-color:var(--g-terra-light);
  color:var(--g-deep);
}body.giver-page .g-footer-cols {
  grid-template-columns:repeat(3,1fr);
  gap:34px;
  display:grid;
}body.giver-page .g-footer-cols h3 {
  font-family:var(--g-sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--g-terra-light);
  margin-bottom:12px;
  font-size:11px;
  font-weight:600;
}body.giver-page .g-footer-cols ul {
  flex-direction:column;
  gap:5px;
  list-style:none;
  display:flex;
}body.giver-page .g-footer-cols a {
  color:var(--g-warm-gray);
  transition:color .22s var(--g-ease), transform .22s var(--g-ease);
  font-size:14px;
  line-height:1.35;
  text-decoration:none;
  display:inline-block;
}body.giver-page .g-footer-cols a:hover {
  color:var(--g-cream);
  transform:translate(3px);
}body.giver-page .g-footer-base {
  padding:20px 0 24px;
}body.giver-page .g-footer-base-inner {
  letter-spacing:.06em;
  color:var(--g-warm-gray);
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
  font-size:11px;
  display:flex;
}body.giver-page .g-footer-note {
  color:var(--g-terra-light);
}@media (max-width:1000px) {body.giver-page .g-news-inner,
body.giver-page .g-footer-main-inner {
    grid-template-columns:1fr;
    gap:40px;
  }body.giver-page .g-footer-cols {
    grid-template-columns:repeat(2,1fr);
    gap:34px 24px;
  }

}@media (max-width:640px) {body.giver-page .g-news {
    text-align:center;
    padding: 52px 0 0;
  }body.giver-page .g-news-inner {
    gap:26px;
  }body.giver-page .g-news-body {
    margin-top:8px;
  }

  /* The field and the button stack, but they stay one control: a hairline
     between them instead of the 22px gap the old outline design left, which
     showed a bare strip of the band between the two halves. */body.giver-page .g-news-form {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }body.giver-page .g-news-form input {
    text-align: center;
    border-bottom: 1px solid rgba(242, 237, 232, 0.18);
    padding: 15px 16px;
  }body.giver-page .g-news-form button {
    width: 100%;
    margin-top: 0;
    padding: 16px 18px;
  }body.giver-page .g-news-done {
    text-align:center;
    border-bottom:0;
  }body.giver-page .g-footer-main {
    padding: 30px 0 48px;
  }body.giver-page .g-footer-main-inner {
    text-align:center;
    justify-items:center;
    gap:44px;
  }body.giver-page .g-footer-tag {
    max-width:32ch;
    margin-inline:auto;
  }body.giver-page .g-social {
    justify-content:center;
    margin-top:26px;
  }body.giver-page .g-social a {
    width:42px;
    height:42px;
  }body.giver-page .g-footer-cols {
    text-align:left;
    grid-template-columns:repeat(2,1fr);
    gap:32px 20px;
    width:100%;
  }body.giver-page .g-footer-cols a {
    padding:11px 0;
  }body.giver-page .g-footer-cols ul {
    gap:0;
  }body.giver-page .g-footer-cols h3 {
    font-size:12px;
  }body.giver-page .g-footer-base {
    padding:22px 0 26px;
  }body.giver-page .g-footer-base-inner {
    text-align:center;
    flex-direction:column;
    align-items:center;
    gap:8px;
    font-size:12px;
  }body.giver-page .g-footer-cols>div:last-child {
    grid-column:1/-1;
  }

}@media (prefers-reduced-motion:reduce) {body.giver-page .g-social a,
body.giver-page .g-footer-cols a,
body.giver-page .g-news-form,
body.giver-page .g-news-form button,
body.giver-page .g-news-form button svg {
    transition-duration:.01ms;
  }body.giver-page .g-footer-cols a:hover {
    transform:none;
  }

}body.giver-page .g-wrap {
  max-width:var(--g-max);
  margin:0 auto;
  padding:0 26px;
}body.giver-page .g-eyebrow {
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin-bottom:22px;
  font-size:12px;
  font-weight:600;
}body.giver-page .g-display {
  font-family:var(--g-serif);
  letter-spacing:.2px;
  color:var(--g-deep);
  font-weight:600;
  line-height:1.08;
}body.giver-page .g-lead {
  color:var(--g-muted);
  max-width:62ch;
  font-size:18px;
  line-height:1.73;
}body.giver-page .g-btn {
  font-family:var(--g-sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  border:1px solid var(--g-terracotta);
  background:var(--g-terracotta);
  color:var(--g-white);
  transition:background .28s var(--g-ease), color .28s var(--g-ease), border-color .28s var(--g-ease);
  cursor:pointer;
  padding:16px 34px;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  display:inline-block;
}body.giver-page .g-btn:hover {
  background:var(--g-terra-dark);
  border-color:var(--g-terra-dark);
}body.giver-page .g-btn--ghost {
  color:var(--g-terracotta);
  background:0 0;
}body.giver-page .g-btn--ghost:hover {
  background:var(--g-terracotta);
  color:var(--g-white);
}body.giver-page .g-actions {
  flex-wrap:wrap;
  gap:14px;
  margin-top:38px;
  display:flex;
}body.giver-page .g-section {
  padding:110px 0;
}body.giver-page .g-section--tight {
  padding:76px 0;
}body.giver-page .g-on-beige {
  background:var(--g-beige);
}body.giver-page .g-on-sand {
  background:var(--g-sand);
}body.giver-page .g-on-deep {
  background:var(--g-deep);
  color:var(--g-cream);
}body.giver-page .g-on-deep .g-display {
  color:var(--g-cream);
}body.giver-page .g-on-deep .g-lead {
  color:var(--g-warm-gray);
}body.giver-page .g-rule {
  background:var(--g-hairline);
  border:0;
  height:1px;
}body.giver-page .g-on-sand .g-eyebrow,
body.giver-page .g-on-sand .hm-kicker,
body.giver-page .g-on-sand .hm-num,
body.giver-page .g-on-sand .g-on-sand .hm-body,
body.giver-page .g-on-sand .g-lead,
body.giver-page .g-on-sand .ss-list p {
  color:var(--g-brown);
}body.giver-page .g-on-sand .g-rule,
body.giver-page .g-on-sand .ss-list li {
  background-color:#0000;
  border-color:#1e120838;
}body.giver-page .g-on-sand .g-btn--ghost {
  border-color:var(--g-deep);
  color:var(--g-deep);
}body.giver-page .g-on-sand .g-btn--ghost:hover {
  background:var(--g-deep);
  color:var(--g-cream);
}body.giver-page .g-on-deep .g-eyebrow,
body.giver-page .g-on-deep .hm-kicker,
body.giver-page .g-on-deep .hm-num,
body.giver-page .g-on-deep .g-on-deep .hm-body,
body.giver-page .g-on-deep .ss-list p {
  color:var(--g-warm-gray);
}body.giver-page .g-on-deep .ss-list h3,
body.giver-page .g-on-deep .hm-story blockquote {
  color:var(--g-cream);
}body.giver-page .g-on-deep .g-btn--ghost {
  border-color:var(--g-terra-light);
  color:var(--g-terra-light);
}body.giver-page .g-on-deep .g-btn--ghost:hover {
  background:var(--g-terra-light);
  color:var(--g-deep);
}body.giver-page .g-on-deep .g-rule {
  background:#f2ede833;
}@media (max-width:760px) {body.giver-page .g-section {
    padding:72px 0;
  }

}body.giver-page .hm-hero {
  color:var(--g-cream);
  background-position:50%;
  background-size:cover;
  padding:150px 0 70px;
  position:relative;
}body.giver-page .hm-hero-veil {
  background:linear-gradient(#1e1208cc 0%,#1e1208ad 45%,#1e1208e6 100%);
  position:absolute;
  inset:0;
}body.giver-page .hm-hero-inner {
  position:relative;
}body.giver-page .hm-hero-title,
body.giver-page .hm-h2 span,
body.giver-page .hm-hero-title span {
  display:block;
}body.giver-page .hm-hero-title {
  color:var(--g-cream);
  font-size:clamp(44px,7.4vw,104px);
}body.giver-page .hm-hero-lead {
  color:#f2ede8d1;
  max-width:62ch;
  margin-top:30px;
  font-size:18px;
  line-height:1.73;
}body.giver-page .hm-hero-rule {
  background:#f2ede83d;
  border:0;
  height:1px;
  margin-top:74px;
}body.giver-page .hm-stats {
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  padding-top:34px;
  display:grid;
}body.giver-page .hm-stats dt {
  font-family:var(--g-serif);
  color:var(--g-cream);
  font-size:clamp(30px,3.6vw,46px);
  line-height:1;
}body.giver-page .hm-stats dd {
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#f2ede8b3;
  margin-top:10px;
  font-size:12px;
}body.giver-page .hm-h2 {
  margin-bottom:28px;
  font-size:clamp(30px,4.2vw,58px);
}body.giver-page .hm-h3 {
  margin-bottom:34px;
  font-size:clamp(24px,2.6vw,34px);
}body.giver-page .hm-center {
  text-align:center;
}body.giver-page .hm-center-actions {
  justify-content:center;
}body.giver-page .hm-split {
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:66px;
  display:grid;
}body.giver-page .hm-body {
  color:var(--g-muted);
  break-inside:avoid;
  margin-bottom:20px;
  font-size:16px;
  line-height:1.78;
}body.giver-page .hm-body--light {
  color:var(--g-warm-gray);
}body.giver-page .hm-quote {
  font-family:var(--g-serif);
  color:var(--g-terracotta);
  border-left:2px solid var(--g-terracotta);
  margin-top:34px;
  padding-left:22px;
  font-size:26px;
  line-height:1.4;
}body.giver-page .hm-split .g-rule {
  margin:24px 0 28px;
}body.giver-page .hm-four {
  gap:30px;
  list-style:none;
  display:grid;
}body.giver-page .hm-four li {
  border-top:1px solid var(--g-hairline);
  grid-template-columns:62px 1fr;
  gap:18px;
  padding-top:22px;
  display:grid;
}body.giver-page .hm-four h4 {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:10px;
  font-size:21px;
  font-weight:600;
}body.giver-page .hm-four p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.73;
}body.giver-page .hm-num {
  font-family:var(--g-serif);
  color:var(--g-terracotta);
  font-size:33px;
  line-height:1;
}body.giver-page .hm-beyond {
  text-align:center;
  background:var(--g-beige);
}body.giver-page .hm-beyond .g-lead {
  margin:0 auto;
}body.giver-page .hm-band {
  background-position:50%;
  background-size:cover;
  align-items:flex-end;
  min-height:62vh;
  padding:40px 0;
  display:flex;
}body.giver-page .hm-band-caption {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-cream);
  text-shadow:0 1px 12px #1e1208b3;
  font-size:12px;
}body.giver-page .hm-kicker {
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin-top:8px;
  font-size:12px;
}body.giver-page .hm-link {
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  border-bottom:1px solid var(--g-terra-pale);
  white-space:nowrap;
  margin-top:6px;
  padding-bottom:3px;
  font-size:12px;
  text-decoration:none;
  display:inline-block;
}body.giver-page .hm-link:hover {
  border-bottom-color:var(--g-terracotta);
}

/* 110px opened a gap wider than the sections either side of it */body.giver-page .hm-voices-head {
  margin-top: 56px;
  margin-bottom: 6px;
}body.giver-page .hm-video {
  background:var(--g-deep);
  padding-top:56.25%;
  position:relative;
  overflow:hidden;
}body.giver-page .hm-video iframe {
  border:0;
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
}body.giver-page .hm-stories {
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:54px;
  display:grid;
}body.giver-page .hm-story {
  background:var(--g-cream);
  border:1px solid var(--g-hairline);
  transition:border-color .3s var(--g-ease), box-shadow .3s var(--g-ease), transform .3s var(--g-ease);
  flex-direction:column;
  padding:30px 28px 26px;
  display:flex;
  position:relative;
}body.giver-page .hm-story:hover {
  border-color:var(--g-terra-pale);
  transform:translateY(-3px);
  box-shadow:0 24px 44px -32px #1e120880;
}body.giver-page .hm-story-mark {
  font-family:var(--g-serif);
  height:34px;
  color:var(--g-terra-pale);
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
  font-size:64px;
  line-height:.62;
  display:block;
}body.giver-page .hm-story-tag {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-terra-dark);
  border:1px solid var(--g-terra-pale);
  align-self:flex-start;
  margin-bottom:22px;
  padding:5px 11px;
  font-size:12px;
  font-weight:600;
  position:relative;
}body.giver-page .hm-story blockquote {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:26px;
  font-size:21px;
  line-height:1.5;
  position:relative;
}body.giver-page .hm-story figcaption {
  border-top:1px solid var(--g-hairline-soft);
  flex-direction:column;
  gap:3px;
  margin-top:auto;
  padding-top:18px;
  display:flex;
}body.giver-page .hm-story figcaption strong {
  font-family:var(--g-serif);
  color:var(--g-deep);
  font-size:21px;
  font-weight:600;
  line-height:1.2;
}body.giver-page .hm-story figcaption em {
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g-muted);
  font-size:11px;
  font-style:normal;
}@media (max-width:980px) {body.giver-page .hm-stories {
    grid-template-columns:1fr;
  }

}@media (max-width:720px) {body.giver-page .hm-stories {
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding-inline:26px;
    gap:14px;
    margin-inline:-26px;
    padding-bottom:6px;
    display:flex;
    overflow-x:auto;
  }body.giver-page .hm-stories::-webkit-scrollbar {
    display:none;
  }body.giver-page .hm-story {
    scroll-snap-align:center;
    flex:0 0 78%;
  }body.giver-page .hm-story:last-child {
    margin-right:26px;
  }

}@media (prefers-reduced-motion:reduce) {body.giver-page .hm-story {
    transition-duration:.01ms;
  }body.giver-page .hm-story:hover {
    transform:none;
  }

}body.giver-page .hm-bridge {
  background:var(--g-beige);
  text-align:center;
  padding:46px 0 52px;
}body.giver-page .hm-bridge .g-actions {
  justify-content:center;
  margin-top:0;
}body.giver-page .hm-note {
  letter-spacing:.08em;
  color:var(--g-muted);
  margin-top:22px;
  font-size:12px;
}body.giver-page .hm-layer-head {
  grid-template-columns:1.05fr 1fr;
  align-items:start;
  gap:62px;
  display:grid;
}body.giver-page .hm-layer-head .hm-h2,
body.giver-page .hm-layer-head .hm-body:last-child {
  margin-bottom:0;
}

/* The reply to the paragraph above it. It used to sit full width below both
   columns, centred at up to 40px; in the column it keeps the rules that set it
   apart but follows the measure and the left edge of the text it answers. */body.giver-page .hm-pivot {
  border-top: 1px solid var(--g-hairline);
  border-bottom: 1px solid var(--g-hairline);
  font-family: var(--g-serif);
  color: var(--g-terracotta);
  margin: 30px 0 0;
  padding: 26px 0;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 600;
  line-height: 1.3;
}body.giver-page .hm-profiles {
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  display:grid;
}body.giver-page .hm-profiles article {
  padding-left:26px;
  position:relative;
}body.giver-page .hm-profiles article:before {
  content:"";
  background:var(--g-terra-pale);
  width:3px;
  transition:background .32s var(--g-ease), top .32s var(--g-ease), bottom .32s var(--g-ease);
  position:absolute;
  top:4px;
  bottom:4px;
  left:0;
}body.giver-page .hm-profiles article:hover:before {
  background:var(--g-terracotta);
  top:0;
  bottom:0;
}body.giver-page .hm-profiles h3 {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:16px;
  font-size:26px;
  font-weight:600;
  line-height:1.2;
}body.giver-page .hm-profiles p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.73;
}@media (max-width:980px) {body.giver-page .hm-layer-head {
    grid-template-columns:1fr;
    gap:28px;
  }body.giver-page .hm-profiles {
    grid-template-columns:1fr;
    gap:32px;
  }body.giver-page .hm-pivot {
    margin:48px auto;
  }

}@media (prefers-reduced-motion:reduce) {body.giver-page .hm-profiles article:before {
    transition-duration:.01ms;
  }

}body.giver-page .hm-ways .hm-h2 {
  margin-bottom:0;
}body.giver-page .hm-paths {
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  margin-top:56px;
  display:grid;
}body.giver-page .hm-way {
  transition:transform .32s var(--g-ease), box-shadow .32s var(--g-ease);
  flex-direction:column;
  padding:36px 30px 30px;
  text-decoration:none;
  display:flex;
  position:relative;
  overflow:hidden;
}body.giver-page .hm-way:hover {
  z-index:2;
  transform:translateY(-5px);
  box-shadow:0 28px 48px -30px #1e120899;
}body.giver-page .hm-way--1 {
  background:var(--g-terra-pale);
}body.giver-page .hm-way--2 {
  background:var(--g-terracotta);
}body.giver-page .hm-way--3 {
  background:var(--g-sand);
}body.giver-page .hm-way--4 {
  background:var(--g-terra-deep);
}body.giver-page .hm-way--1 .hm-way-title,
body.giver-page .hm-way--3 .hm-way-title {
  color:var(--g-deep);
}body.giver-page .hm-way--1 .hm-way-body,
body.giver-page .hm-way--3 .hm-way-body {
  color:var(--g-brown);
}body.giver-page .hm-way--1 .hm-way-num,
body.giver-page .hm-way--3 .hm-way-num,
body.giver-page .hm-way--1 .hm-way-kicker,
body.giver-page .hm-way--3 .hm-way-kicker,
body.giver-page .hm-way--1 .hm-way-cta,
body.giver-page .hm-way--3 .hm-way-cta {
  color:var(--g-terra-deep);
}body.giver-page .hm-way--1 .hm-way-cta,
body.giver-page .hm-way--3 .hm-way-cta {
  border-top-color:#1e120838;
}body.giver-page .hm-way--2 .hm-way-title,
body.giver-page .hm-way--4 .hm-way-title {
  color:var(--g-cream);
}body.giver-page .hm-way--2 .hm-way-body,
body.giver-page .hm-way--4 .hm-way-body {
  color:var(--g-beige);
}body.giver-page .hm-way--2 .hm-way-num,
body.giver-page .hm-way--4 .hm-way-num,
body.giver-page .hm-way--2 .hm-way-kicker,
body.giver-page .hm-way--4 .hm-way-kicker,
body.giver-page .hm-way--2 .hm-way-cta,
body.giver-page .hm-way--4 .hm-way-cta {
  color:var(--g-terra-pale);
}body.giver-page .hm-way--2 .hm-way-cta,
body.giver-page .hm-way--4 .hm-way-cta {
  border-top-color:#f2ede847;
}body.giver-page .hm-way-head {
  align-items:baseline;
  gap:12px;
  margin-bottom:24px;
  display:flex;
}body.giver-page .hm-way-num {
  font-family:var(--g-serif);
  font-size:36px;
  font-weight:600;
  line-height:1;
}body.giver-page .hm-way-kicker {
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:15px;
  font-weight:600;
}body.giver-page .hm-way-title {
  font-family:var(--g-serif);
  margin-bottom:14px;
  font-size:clamp(23px,1.9vw,28px);
  font-weight:600;
  line-height:1.22;
  display:block;
}body.giver-page .hm-way-body {
  margin-bottom:28px;
  font-size:16px;
  line-height:1.73;
  display:block;
}body.giver-page .hm-way-cta {
  letter-spacing:.14em;
  text-transform:uppercase;
  border-top:1px solid #0000;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding-top:20px;
  font-size:12px;
  font-weight:600;
  display:flex;
}body.giver-page .hm-way-cta svg {
  width:16px;
  height:8px;
  transition:transform .32s var(--g-ease);
}body.giver-page .hm-way:hover .hm-way-cta svg {
  transform:translate(6px);
}@media (max-width:1120px) {body.giver-page .hm-paths {
    grid-template-columns:repeat(2,1fr);
  }

}@media (max-width:620px) {body.giver-page .hm-paths {
    grid-template-columns:1fr;
  }body.giver-page .hm-way {
    padding:30px 26px 26px;
  }body.giver-page .hm-way-num {
    font-size:30px;
  }body.giver-page .hm-way-kicker {
    font-size:13px;
  }

}@media (prefers-reduced-motion:reduce) {body.giver-page .hm-way,
body.giver-page .hm-way-cta svg {
    transition-duration:.01ms;
  }body.giver-page .hm-way:hover {
    transform:none;
  }

}body.giver-page .hm-feature {
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  display:grid;
}body.giver-page .hm-feature-media {
  background-position:50%;
  background-size:cover;
  align-items:flex-end;
  min-height:620px;
  padding:40px;
  display:flex;
}body.giver-page .hm-feature-card {
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  color:var(--g-cream);
  background:#1e1208b8;
  max-width:340px;
  padding:26px 28px;
}body.giver-page .hm-feature-card h3 {
  font-family:var(--g-serif);
  margin-bottom:16px;
  font-size:26px;
  font-weight:600;
}body.giver-page .hm-feature-card dl>div+div {
  margin-top:14px;
}body.giver-page .hm-feature-card dt {
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--g-terra-light);
  margin-bottom:4px;
  font-size:12px;
}body.giver-page .hm-feature-card dd {
  font-size:16px;
}body.giver-page .hm-feature-card blockquote {
  font-family:var(--g-serif);
  font-size:21px;
  line-height:1.5;
}body.giver-page .hm-feature-card figcaption {
  border-top:1px solid #ffffff38;
  flex-direction:column;
  gap:3px;
  margin-top:16px;
  padding-top:14px;
  display:flex;
}body.giver-page .hm-feature-card figcaption strong {
  font-family:var(--g-serif);
  font-size:21px;
  font-weight:600;
  line-height:1.2;
}body.giver-page .hm-feature-card figcaption em {
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g-terra-light);
  font-size:11px;
  font-style:normal;
}body.giver-page .hm-feature-body {
  background:var(--g-cream);
  padding:96px 60px;
}body.giver-page .hm-feature--flip .hm-feature-body {
  background:0 0;
}body.giver-page .hm-feature-body .g-rule {
  margin:30px 0 26px;
}body.giver-page .hm-facts {
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  display:grid;
}body.giver-page .hm-facts dt {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin-bottom:7px;
  font-size:12px;
}body.giver-page .hm-facts dd {
  font-family:var(--g-serif);
  color:var(--g-deep);
  font-size:18px;
  line-height:1.3;
}body.giver-page .hm-facts--light dt {
  color:var(--g-terra-light);
}body.giver-page .hm-facts--light dd {
  color:var(--g-cream);
}body.giver-page .hm-online-lines span {
  display:block;
}body.giver-page .hm-events-head {
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  display:flex;
}body.giver-page .hm-events-head .hm-h2 {
  margin-bottom:0;
}body.giver-page .hm-events {
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:46px;
  list-style:none;
  display:grid;
}body.giver-page .hm-events li {
  display:flex;
}body.giver-page .hm-events li>a {
  background:var(--g-white);
  border:1px solid var(--g-hairline-soft);
  transition:transform .3s var(--g-ease), box-shadow .3s var(--g-ease), border-color .3s var(--g-ease);
  flex-direction:column;
  flex:1;
  padding:26px 24px 22px;
  text-decoration:none;
  display:flex;
  position:relative;
  overflow:hidden;
}body.giver-page .hm-events li>a:hover {
  border-color:var(--g-terra-pale);
  transform:translateY(-4px);
  box-shadow:0 26px 46px -30px #1e12088c;
}body.giver-page .hm-ev-bar {
  background:var(--g-terracotta);
  transform-origin:0;
  height:2px;
  transition:transform .42s var(--g-ease);
  position:absolute;
  top:0;
  left:0;
  right:0;
  transform:scaleX(0);
}body.giver-page .hm-events li>a:hover .hm-ev-bar,
body.giver-page .hm-events li>a.is-next .hm-ev-bar {
  transform:scaleX(1);
}body.giver-page .hm-ev-top {
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:26px;
  display:flex;
}body.giver-page .hm-ev-kind {
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  background:var(--g-terra-deep);
  color:var(--g-white);
  padding:6px 12px;
  font-size:12px;
  font-weight:600;
}body.giver-page .hm-ev-kind.is-retreat {
  background:var(--g-terracotta);
  color:var(--g-white);
}body.giver-page .hm-ev-next {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-muted);
  text-align:right;
  font-size:12px;
  font-weight:600;
  line-height:1.3;
}body.giver-page .hm-ev-date {
  margin-bottom:18px;
  display:block;
}body.giver-page .hm-ev-date em {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-muted);
  margin-bottom:2px;
  font-size:12px;
  font-style:normal;
  font-weight:600;
  display:block;
}body.giver-page .hm-ev-date strong {
  font-family:var(--g-serif);
  color:var(--g-terracotta);
  font-size:clamp(38px,4vw,52px);
  font-weight:600;
  line-height:1;
  display:block;
}body.giver-page .hm-ev-title {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:12px;
  font-size:26px;
  font-weight:600;
  line-height:1.2;
  display:block;
}body.giver-page .hm-ev-place {
  color:var(--g-muted);
  align-items:flex-start;
  gap:7px;
  margin-bottom:26px;
  font-size:16px;
  line-height:1.55;
  display:flex;
}body.giver-page .hm-ev-place svg {
  width:12px;
  height:14px;
  color:var(--g-terra-light);
  flex-shrink:0;
  margin-top:3px;
}body.giver-page .hm-ev-cta {
  border-top:1px solid var(--g-hairline-soft);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  align-items:center;
  gap:9px;
  margin-top:auto;
  padding-top:18px;
  font-size:12px;
  font-weight:600;
  display:flex;
}body.giver-page .hm-ev-cta svg {
  width:16px;
  height:8px;
  transition:transform .3s var(--g-ease);
}body.giver-page .hm-events li>a:hover .hm-ev-cta svg {
  transform:translate(5px);
}@media (max-width:1080px) {body.giver-page .hm-events {
    grid-template-columns:repeat(2,1fr);
  }

}@media (max-width:720px) {body.giver-page .hm-events {
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding-inline:26px;
    gap:14px;
    margin-inline:-26px;
    padding-bottom:6px;
    display:flex;
    overflow-x:auto;
  }body.giver-page .hm-events::-webkit-scrollbar {
    display:none;
  }body.giver-page .hm-events li {
    scroll-snap-align:center;
    flex:0 0 78%;
  }body.giver-page .hm-events li:last-child {
    margin-right:26px;
  }

}@media (prefers-reduced-motion:reduce) {body.giver-page .hm-events li>a,
body.giver-page .hm-ev-bar,
body.giver-page .hm-ev-cta svg {
    transition-duration:.01ms;
  }body.giver-page .hm-events li>a:hover {
    transform:none;
  }

}body.giver-page .hm-final {
  background-color:var(--g-deep);
  background-position:50% 38%;
  background-size:cover;
  padding-top:132px;
  padding-bottom:132px;
  position:relative;
}body.giver-page .hm-final-veil {
  background:linear-gradient(#1e1208e0 0%,#1e1208cc 45%,#1e1208eb 100%);
  position:absolute;
  inset:0;
}body.giver-page .hm-final-inner {
  position:relative;
}body.giver-page .hm-final .g-eyebrow {
  color:var(--g-sand);
}body.giver-page .hm-hero .g-btn--ghost,
body.giver-page .hm-final .g-btn--ghost {
  border-color:var(--g-white);
  color:var(--g-white);
}body.giver-page .hm-hero .g-btn--ghost:hover,
body.giver-page .hm-final .g-btn--ghost:hover {
  background:var(--g-white);
  color:var(--g-deep);
}@media (max-width:760px) {body.giver-page .hm-final {
    background-position:50%;
    padding-top:84px;
    padding-bottom:84px;
  }

}@media (max-width:1080px) {body.giver-page .hm-feature {
    grid-template-columns:1fr;
  }body.giver-page .hm-feature--flip .hm-feature-body {
    order:2;
  }body.giver-page .hm-feature-media {
    min-height:420px;
  }body.giver-page .hm-feature-body {
    padding:62px 26px;
  }

}@media (max-width:980px) {body.giver-page .hm-split,
body.giver-page .hm-stats {
    grid-template-columns:repeat(2,1fr);
  }

}@media (max-width:760px) {body.giver-page .hm-hero {
    padding:96px 0 56px;
  }body.giver-page .hm-hero-rule {
    margin-top:48px;
  }body.giver-page .hm-facts {
    grid-template-columns:1fr;
  }body.giver-page .hm-four li {
    grid-template-columns:1fr;
    gap:8px;
  }body.giver-page .hm-split {
    grid-template-columns:1fr;
    gap:30px;
  }

}body.giver-page .ss-hero {
  color:var(--g-cream);
}body.giver-page .ss-hero .g-display {
  color:var(--g-cream);
  font-size:clamp(42px,6.6vw,92px);
}body.giver-page .ss-hero .g-display span {
  display:block;
}body.giver-page .ss-dates {
  font-family:var(--g-serif);
  color:var(--g-terra-light);
  margin:26px 0 18px;
  font-size:26px;
}body.giver-page .ss-hero-list {
  color:var(--g-warm-gray);
  margin-bottom:12px;
  font-size:16px;
  line-height:2;
  list-style:none;
}body.giver-page .ss-counts {
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  padding:40px 0;
  display:grid;
}body.giver-page .ss-counts dt {
  font-family:var(--g-serif);
  color:var(--g-terracotta);
  font-size:clamp(38px,4.6vw,62px);
  line-height:1;
}body.giver-page .ss-counts dd {
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--g-muted);
  margin-top:8px;
  font-size:12px;
}body.giver-page .ss-list {
  grid-template-columns:repeat(3,1fr);
  gap:34px;
  margin-top:52px;
  list-style:none;
  display:grid;
}body.giver-page .ss-list--2 {
  grid-template-columns:repeat(2,1fr);
}body.giver-page .ss-list li {
  border-top:1px solid var(--g-hairline);
  padding-top:20px;
}body.giver-page .ss-list h3 {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin:8px 0 10px;
  font-size:21px;
  font-weight:600;
}body.giver-page .ss-list p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.73;
}body.giver-page .ss-people {
  grid-template-columns:repeat(2,1fr);
  gap:48px;
  margin-top:52px;
  display:grid;
}body.giver-page .ss-people h3 {
  font-family:var(--g-serif);
  color:var(--g-deep);
  font-size:33px;
  font-weight:600;
}body.giver-page .ss-role {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin:6px 0 16px;
  font-size:12px;
}@media (max-width:980px) {body.giver-page .ss-counts,
body.giver-page .ss-list,
body.giver-page .ss-list--2,
body.giver-page .ss-people,
body.giver-page .ss-details {
    grid-template-columns:1fr;
    gap:30px;
  }body.giver-page .ss-details dl>div {
    grid-template-columns:1fr;
    gap:4px;
  }

}html[lang=ja] body.giver-page {
  --g-serif:"Cormorant Garamond", "Noto Serif JP", "Yu Mincho", serif;
  --g-sans:"Montserrat", "Noto Sans JP", -apple-system, sans-serif;
}html[lang=ja] body.giver-page {
  line-height:1.8;
}html[lang=ja] body.giver-page .hm-hero-title {
  font-size:clamp(32px,5.4vw,76px);
  line-height:1.3;
}html[lang=ja] body.giver-page .ss-hero .g-display {
  font-size:clamp(31px,4.8vw,68px);
  line-height:1.3;
}html[lang=ja] body.giver-page .hm-h2 {
  font-size:clamp(24px,3.2vw,44px);
  line-height:1.35;
}html[lang=ja] body.giver-page .hm-h3 {
  font-size:clamp(20px,2.2vw,29px);
  line-height:1.4;
}html[lang=ja] body.giver-page .hm-pivot {
  font-size:clamp(21px,2.6vw,32px);
  line-height:1.45;
}html[lang=ja] body.giver-page .hm-way-title {
  font-size:clamp(20px,1.9vw,26px);
  line-height:1.4;
}html[lang=ja] body.giver-page .g-news-title {
  font-size:clamp(18px,1.8vw,22px);
  line-height:1.4;
}html[lang=ja] body.giver-page .g-display {
  line-height:1.32;
}html[lang=ja] body.giver-page .hm-profiles h3,
html[lang=ja] body.giver-page .hm-four h4,
html[lang=ja] body.giver-page .hm-ev-title,
html[lang=ja] body.giver-page .ss-list h3,
html[lang=ja] body.giver-page .hm-feature-card h3 {
  font-size:19px;
  line-height:1.5;
}html[lang=ja] body.giver-page .hm-story blockquote,
html[lang=ja] body.giver-page .hm-feature-card blockquote,
html[lang=ja] body.giver-page .hm-quote {
  font-size:18px;
  line-height:1.75;
}html[lang=ja] body.giver-page .ss-people h3 {
  font-size:24px;
}html[lang=ja] body.giver-page .g-eyebrow,
html[lang=ja] body.giver-page .hm-kicker,
html[lang=ja] body.giver-page .hm-way-kicker,
html[lang=ja] body.giver-page .g-footer-cols h3,
html[lang=ja] body.giver-page .hm-ev-kind,
html[lang=ja] body.giver-page .hm-story-tag,
html[lang=ja] body.giver-page .ss-role,
html[lang=ja] body.giver-page .g-nav>ul>li>a {
  letter-spacing:.04em;
}html[lang=ja] body.giver-page .hm-way-kicker {
  font-size:13px;
}html[lang=ja] body.giver-page .hm-body,
html[lang=ja] body.giver-page .g-lead,
html[lang=ja] body.giver-page .hm-profiles p,
html[lang=ja] body.giver-page .hm-four p,
html[lang=ja] body.giver-page .ss-list p,
html[lang=ja] body.giver-page .g-footer-tag {
  line-height:1.9;
}html[lang=ja] body.giver-page .hm-body,
html[lang=ja] body.giver-page .g-lead,
html[lang=ja] body.giver-page .hm-way-body,
html[lang=ja] body.giver-page .hm-profiles p {
  line-break:strict;
  overflow-wrap:anywhere;
}body.giver-page [data-accent] {
  --accent:var(--g-terracotta);
  --accent-ink:var(--g-cream);
  --accent-body:var(--g-beige);
}body.giver-page [data-accent=training] {
  --accent:var(--g-terra-pale);
  --accent-ink:var(--g-deep);
  --accent-body:var(--g-brown);
}body.giver-page [data-accent=retreat] {
  --accent:var(--g-terracotta);
  --accent-ink:var(--g-cream);
  --accent-body:var(--g-beige);
}body.giver-page [data-accent=online] {
  --accent:var(--g-sand);
  --accent-ink:var(--g-deep);
  --accent-body:var(--g-brown);
}body.giver-page [data-accent=tours] {
  --accent:var(--g-choc);
  --accent-ink:var(--g-cream);
  --accent-body:var(--g-beige);
}body.giver-page .g-accent-bar {
  background:var(--accent);
  height:6px;
}body.giver-page .hm-feature[data-accent] .hm-feature-card {
  background:var(--accent);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  color:var(--accent-ink);
}body.giver-page .hm-feature[data-accent] .hm-feature-card h3,
body.giver-page .hm-feature[data-accent] .hm-feature-card blockquote {
  color:var(--accent-ink);
}body.giver-page .hm-feature[data-accent] .hm-feature-card dt,
body.giver-page .hm-feature[data-accent] .hm-feature-card figcaption {
  color:var(--accent-body);
}body.giver-page .hm-feature[data-accent] .hm-feature-card dd {
  color:var(--accent-ink);
}body.giver-page .g-section[data-accent] .hm-events-head {
  border-top:4px solid var(--accent);
  padding-top:26px;
}body.giver-page .g-on-accent {
  background:var(--accent);
  color:var(--accent-ink);
}body.giver-page .g-on-accent .g-display,
body.giver-page .g-on-accent .hm-h2,
body.giver-page .g-on-accent .ss-list h3 {
  color:var(--accent-ink);
}body.giver-page .g-on-accent .hm-body,
body.giver-page .g-on-accent .g-lead,
body.giver-page .g-on-accent .ss-list p,
body.giver-page .g-on-accent .g-eyebrow,
body.giver-page .g-on-accent .hm-note,
body.giver-page .g-on-accent .hm-num {
  color:var(--accent-body);
}body.giver-page .g-on-accent .g-rule,
body.giver-page .g-on-accent .ss-list li {
  opacity:1;
  background-color:#0000;
  border-color:currentColor;
}body.giver-page .g-on-accent .g-btn--ghost {
  border-color:var(--accent-ink);
  color:var(--accent-ink);
}body.giver-page .g-on-accent .g-btn--ghost:hover {
  background:var(--accent-ink);
  color:var(--accent);
}body.giver-page #mk[data-page=training] .hero {
  background:var(--accent);
}body.giver-page #mk[data-page=training] .hero .eyebrow {
  color:var(--g-terra-deep);
}body.giver-page #mk[data-page=training] .hero-meta {
  border-top-color:#1e120833;
}body.giver-page #mk[data-page=training] .hero-side {
  display:none;
}body.giver-page #mk[data-page=training] .hero-media {
  align-self:stretch;
  min-height:420px;
  position:relative;
  overflow:hidden;
}body.giver-page #mk[data-page=training] .hero-media img {
  object-fit:cover;
  object-position:center;
  object-position:center 28%;
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
}body.giver-page #mk[data-page=training] .hero-copy .eyebrow {
  margin-bottom:4px;
  display:block;
}body.giver-page #mk[data-page=training] .hero-copy h1 {
  margin:20px 0 18px;
}body.giver-page #mk[data-page=training] .hero-sub {
  margin-bottom:26px;
}body.giver-page #mk[data-page=training] .hero-cta {
  margin-top:48px;
}body.giver-page .g-accent-bar[data-page=training] {
  display:none;
}body.giver-page #mk[data-page=training] .lead {
  padding-top:clamp(64px,7vw,100px);
  padding-bottom:clamp(64px,7vw,100px);
}body.giver-page #mk[data-page=training] .lead h2 {
  margin-bottom:20px;
}body.giver-page #mk[data-page=training] .lead .big {
  max-width:38ch;
  margin-bottom:36px;
}body.giver-page #mk[data-page=training] .lead p:not(.big) {
  text-align:left;
  max-width:62ch;
  margin:0 auto 16px;
  font-size:clamp(18px,1.4vw,21px);
  line-height:1.7;
}@media (min-width:900px) {body.giver-page #mk[data-page=training] .cols {
    gap:0 64px;
  }body.giver-page #mk[data-page=training] .col,
body.giver-page #mk[data-page=training] .col:first-child,
body.giver-page #mk[data-page=training] .col:last-child {
    border-left:0;
    padding:0;
    position:relative;
  }body.giver-page #mk[data-page=training] .col+.col:before {
    content:"";
    background:var(--g-hairline-soft);
    width:1px;
    position:absolute;
    top:0;
    bottom:0;
    left:-32px;
  }

}body.giver-page #mk[data-page=training] .sec-head .index {
  display:none;
}body.giver-page #mk[data-page=training] .sec-head .kicker {
  font-family:var(--g-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}body.giver-page #mk[data-page=training] .sec-head {
  text-align:center;
  border-top:none;
  border-bottom:1px solid var(--g-hairline);
  justify-content:center;
  margin-bottom:34px;
  padding-top:0;
  padding-bottom:18px;
}body.giver-page #mk[data-page=training] .voices .sec-head {
  border-bottom-color:#3d2b1f38;
}body.giver-page #mk[data-page=training] .gal .sec-head {
  border-bottom-color:#3d2b1f29;
}body.giver-page #mk[data-page=training] .shift-cols {
  border-top:none;
  gap:clamp(16px,2vw,24px);
}body.giver-page #mk[data-page=training] .shift-col,
body.giver-page #mk[data-page=training] .shift-col+.shift-col {
  border:1px solid var(--g-hairline);
  background:var(--g-white);
  padding:clamp(28px,3vw,38px) clamp(24px,2.6vw,34px);
}body.giver-page #mk[data-page=training] .shift-col.deeper {
  background:var(--g-terra-pale);
  border-color:#5c2d1738;
}body.giver-page #mk[data-page=training] .shift-col .eyebrow,
body.giver-page #mk[data-page=training] .shift-col.deeper .eyebrow {
  font-family:var(--g-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin-bottom:16px;
  font-size:12px;
  font-weight:600;
  display:block;
}body.giver-page #mk[data-page=training] .shift-col.deeper .eyebrow {
  color:var(--g-terra-deep);
}body.giver-page #mk[data-page=training] .col .num {
  font-family:var(--g-sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  font-size:12px;
  font-weight:600;
}body.giver-page #mk[data-page=training] .pillar {
  border-top:0;
  grid-template-columns:44px 1fr;
  align-items:start;
  gap:24px;
  padding:0 0 38px;
  position:relative;
}body.giver-page #mk[data-page=training] .pillar:last-of-type {
  border-bottom:0;
  padding-bottom:0;
}body.giver-page #mk[data-page=training] .pillar:before {
  content:"";
  background:var(--g-terra-pale);
  width:1px;
  position:absolute;
  top:0;
  bottom:0;
  left:17px;
}body.giver-page #mk[data-page=training] .pillar:first-of-type:before {
  top:17px;
}body.giver-page #mk[data-page=training] .pillar:last-of-type:before {
  height:17px;
  bottom:auto;
}body.giver-page #mk[data-page=training] .pillar .pn {
  z-index:1;
  background:var(--g-terracotta);
  width:15px;
  height:15px;
  transition:background .3s var(--g-ease), transform .3s var(--g-ease);
  margin:8px 0 0 10px;
  display:block;
  position:relative;
}body.giver-page #mk[data-page=training] .pillar:hover .pn {
  background:var(--g-terra-deep);
  transform:scale(1.35);
}body.giver-page #mk[data-page=training] .pillar h3 {
  margin-top:4px;
}@media (max-width:720px) {body.giver-page #mk[data-page=training] .pillar {
    grid-template-columns:35px 1fr;
    gap:18px;
    padding-bottom:30px;
  }body.giver-page #mk[data-page=training] .pillar:before {
    left:17px;
  }

}body.giver-page #mk[data-page=training] .forrow {
  grid-template-columns:34px 1fr;
  align-items:start;
  gap:22px;
}body.giver-page #mk[data-page=training] .forrow .fn {
  background:var(--g-terracotta);
  width:15px;
  height:15px;
  transition:background .3s var(--g-ease), transform .3s var(--g-ease);
  margin-top:10px;
  display:block;
}body.giver-page #mk[data-page=training] .forrow:hover .fn {
  background:var(--g-terra-deep);
  transform:scale(1.35);
}body.giver-page #mk[data-page=training] .video-play i {
  background:var(--g-terracotta);
  width:74px;
  height:74px;
}body.giver-page #mk[data-page=training] #watch .sec-head {
  align-items:baseline;
  margin-bottom:34px;
}body.giver-page #mk[data-page=training] .voices h2 {
  margin-top:clamp(52px,6vw,78px);
}body.giver-page #mk[data-page=training] .quotes {
  gap:18px;
}body.giver-page #mk[data-page=training] .qcard {
  background:var(--g-cream);
  border:1px solid var(--g-hairline);
  transition:border-color .3s var(--g-ease), box-shadow .3s var(--g-ease), transform .3s var(--g-ease);
  flex-direction:column;
  padding:30px 28px 26px;
  display:flex;
  position:relative;
}body.giver-page #mk[data-page=training] .qcard:hover {
  border-color:var(--g-terra-pale);
  transform:translateY(-3px);
  box-shadow:0 24px 44px -32px #1e120880;
}body.giver-page #mk[data-page=training] .qcard:before {
  content:"“";
  font-family:var(--g-serif);
  height:34px;
  color:var(--g-terra-pale);
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
  font-size:64px;
  line-height:.62;
  display:block;
}body.giver-page #mk[data-page=training] .qcard .qcard-tag {
  font-family:var(--g-sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-terra-dark);
  border:1px solid var(--g-terra-pale);
  order:-1;
  align-self:flex-start;
  margin-bottom:22px;
  padding:5px 11px;
  font-size:12px;
  font-weight:600;
}body.giver-page #mk[data-page=training] .qcard p {
  font-family:var(--g-serif);
  color:var(--g-deep);
  flex:0 auto;
  margin-bottom:26px;
  font-size:21px;
  font-style:normal;
  line-height:1.5;
}body.giver-page #mk[data-page=training] .qcard footer {
  border-top:1px solid var(--g-hairline-soft);
  background:0 0;
  flex-direction:column;
  gap:3px;
  margin-top:auto;
  padding:18px 0 0;
  display:flex;
}body.giver-page #mk[data-page=training] .qcard .attr {
  font-family:var(--g-serif);
  letter-spacing:0;
  text-transform:none;
  color:var(--g-deep);
  margin-top:0;
  font-size:21px;
  font-weight:600;
  line-height:1.2;
}body.giver-page #mk[data-page=training] .qcard .place {
  font-family:var(--g-sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g-muted);
  margin-top:0;
  font-size:11px;
  font-weight:600;
}@media (max-width:720px) {body.giver-page #mk[data-page=training] .quotes {
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    gap:14px;
    margin-inline:-22px;
    padding-inline:22px;
    display:flex;
    overflow-x:auto;
  }body.giver-page #mk[data-page=training] .quotes::-webkit-scrollbar {
    display:none;
  }body.giver-page #mk[data-page=training] .qcard {
    scroll-snap-align:center;
    flex:0 0 78%;
  }

}body.giver-page #mk[data-page=training] .eyebrow,
body.giver-page #mk[data-page=training] .band .eyebrow,
body.giver-page #mk[data-page=training] .final .eyebrow,
body.giver-page #mk[data-page=training] .sec-head .kicker {
  color:var(--g-terracotta);
}body.giver-page #mk[data-page=training] .pt-slide {
  position:relative;
  overflow:hidden;
}body.giver-page #mk[data-page=training] .pt-slide figcaption {
  color:var(--g-cream);
  font-family:var(--g-sans);
  letter-spacing:.06em;
  pointer-events:none;
  background:linear-gradient(#1e120800 0%,#1e12088c 55%,#1e1208e0 100%);
  padding:64px 18px 16px;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
}body.giver-page #mk[data-page=training] .pt-nav {
  width:48px;
  height:48px;
}body.giver-page #mk[data-page=training] .final {
  background-color:var(--g-deep);
  background-image:url(/media/photo-1517457373958-b7bdd4587205.jpeg);
  background-position:50% 40%;
  background-size:cover;
  position:relative;
}body.giver-page #mk[data-page=training] .final:before {
  content:"";
  background:linear-gradient(#1e1208e0 0%,#1e1208cc 45%,#1e1208eb 100%);
  position:absolute;
  inset:0;
}body.giver-page #mk[data-page=training] .final .wrap {
  z-index:1;
  position:relative;
}body.giver-page #mk[data-page=training] .final .eyebrow {
  color:var(--g-sand);
}body.giver-page #mk[data-page=training] .final h2 {
  color:var(--g-cream);
}body.giver-page #mk[data-page=training] .final p {
  color:var(--g-beige);
}body.giver-page #mk[data-page=training] .final .btn-ghost {
  border-color:var(--g-white);
  color:var(--g-white);
}body.giver-page #mk[data-page=training] .final .btn-ghost:hover {
  background:var(--g-white);
  color:var(--g-deep);
}body.giver-page #mk .portrait-pending {
  aspect-ratio:3/4;
  background:var(--g-beige);
  border:1px solid var(--g-hairline-soft);
  width:100%;
  color:var(--g-muted);
  font-family:var(--g-sans);
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
  place-items:center;
  padding:16px;
  font-size:11px;
  font-weight:500;
  line-height:1.6;
  display:grid;
}body.giver-page #mk .portrait-pending:after {
  content:attr(data-name) " · foto in arrivo";
  display:block;
}body.giver-page .ss-hero {
  grid-template-columns:1.02fr .98fr;
  align-items:stretch;
  min-height:76vh;
  display:grid;
}body.giver-page .ss-hero-copy {
  background:var(--g-terracotta);
  align-items:center;
  padding:clamp(56px,7vw,92px) clamp(26px,4vw,64px);
  display:flex;
}body.giver-page .ss-hero-inner {
  max-width:40rem;
  margin-left:auto;
}body.giver-page .ss-hero-media {
  background-color:var(--g-terra-deep);
  background-position:50% 42%;
  background-size:cover;
  min-height:420px;
}body.giver-page .ss-hero .g-display {
  color:var(--g-cream);
}body.giver-page .ss-hero-lead {
  max-width:44ch;
  color:var(--g-beige);
  margin-top:28px;
  font-size:17px;
  line-height:1.8;
}body.giver-page .ss-diwali,
body.giver-page .ss-final {
  position:relative;
}body.giver-page .ss-diwali-veil,
body.giver-page .ss-final-veil {
  background:linear-gradient(#1e1208e0 0%,#1e1208cc 45%,#1e1208ed 100%);
  position:absolute;
  inset:0;
}body.giver-page .ss-diwali-inner,
body.giver-page .ss-final-inner {
  z-index:1;
  position:relative;
}body.giver-page .ss-hero .g-eyebrow {
  color:var(--g-cream);
}body.giver-page .ss-hero .ss-dates {
  color:var(--g-sand);
}body.giver-page .ss-hero .ss-hero-list {
  color:var(--g-beige);
}body.giver-page .ss-hero .g-btn--ghost,
body.giver-page .ss-final .g-btn--ghost {
  border-color:var(--g-white);
  color:var(--g-white);
}body.giver-page .ss-band {
  background-position:50%;
  background-size:cover;
  align-items:flex-end;
  min-height:56vh;
  padding:40px 0;
  display:flex;
}body.giver-page .ss-band-caption {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--g-cream);
  text-shadow:0 1px 12px #1e1208cc;
  font-size:12px;
  font-weight:600;
}body.giver-page .ss-exc {
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  margin-top:52px;
  list-style:none;
  display:grid;
}body.giver-page .ss-exc figure {
  aspect-ratio:3/2;
  background-color:var(--g-beige);
  background-position:50%;
  background-size:cover;
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
}body.giver-page .ss-exc figcaption {
  font-family:var(--g-serif);
  color:var(--g-cream);
  background:linear-gradient(#1e120800 0%,#1e12088c 55%,#1e1208e6 100%);
  padding:64px 20px 18px;
  font-size:24px;
  font-weight:600;
  line-height:1.2;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
}body.giver-page .ss-exc p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.73;
}body.giver-page .ss-people .portrait-pending {
  aspect-ratio:4/5;
  background:var(--g-beige);
  width:100%;
  max-width:260px;
  color:var(--g-muted);
  font-family:var(--g-sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  place-items:center;
  margin-bottom:20px;
  font-size:11px;
  font-weight:500;
  display:grid;
}body.giver-page .ss-people .portrait-pending:after {
  content:attr(data-name) " · foto in arrivo";
}@media (max-width:820px) {body.giver-page .ss-exc {
    grid-template-columns:1fr;
    gap:30px;
  }body.giver-page .ss-band {
    min-height:40vh;
  }

}body.giver-page .hm-band,
body.giver-page .ss-band {
  position:relative;
}body.giver-page .hm-band:after,
body.giver-page .ss-band:after {
  content:"";
  pointer-events:none;
  background:linear-gradient(#1e120800 0%,#1e120866 45%,#1e1208db 100%);
  height:46%;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
}body.giver-page .hm-band>.g-wrap,
body.giver-page .ss-band>.g-wrap {
  z-index:1;
  position:relative;
}body.giver-page .hm-band-caption,
body.giver-page .ss-band-caption {
  text-shadow:none;
}body.giver-page .ss-practices {
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:52px;
  list-style:none;
  display:grid;
}body.giver-page .ss-practices li {
  background:var(--g-cream);
  border:1px solid var(--g-hairline-soft);
  transition:transform .3s var(--g-ease), border-color .3s var(--g-ease), box-shadow .3s var(--g-ease);
  flex-direction:column;
  padding:26px 24px 24px;
  display:flex;
}body.giver-page .ss-practices li:hover {
  border-color:var(--g-terra-pale);
  transform:translateY(-3px);
  box-shadow:0 24px 44px -32px #1e120880;
}body.giver-page .ss-mark {
  background:var(--g-terracotta);
  width:15px;
  height:15px;
  transition:background .3s var(--g-ease), transform .3s var(--g-ease);
  margin-bottom:18px;
  display:block;
}body.giver-page .ss-practices li:hover .ss-mark {
  background:var(--g-terra-deep);
  transform:scale(1.35);
}body.giver-page .ss-practices h3 {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:12px;
  font-size:22px;
  font-weight:600;
  line-height:1.2;
}body.giver-page .ss-practices p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.7;
}body.giver-page .ss-who {
  grid-template-columns:repeat(2,1fr);
  gap:30px 44px;
  margin-top:46px;
  list-style:none;
  display:grid;
}body.giver-page .ss-who li {
  padding-left:24px;
  position:relative;
}body.giver-page .ss-who li:before {
  content:"";
  background:var(--g-terra-pale);
  width:3px;
  transition:background .3s var(--g-ease), top .3s var(--g-ease), bottom .3s var(--g-ease);
  position:absolute;
  top:6px;
  bottom:6px;
  left:0;
}body.giver-page .ss-who li:hover:before {
  background:var(--g-terracotta);
  top:0;
  bottom:0;
}body.giver-page .ss-who p {
  color:var(--g-muted);
  font-size:16px;
  line-height:1.73;
}body.giver-page .ss-counts {
  border-top:1px solid var(--g-hairline);
  border-bottom:1px solid var(--g-hairline);
  margin-top:62px;
}body.giver-page .ss-counts>div {
  padding:6px 0;
}@media (max-width:1000px) {body.giver-page .ss-practices {
    grid-template-columns:repeat(2,1fr);
  }

}@media (max-width:700px) {body.giver-page .ss-practices,
body.giver-page .ss-who {
    grid-template-columns:1fr;
  }

}@media (max-width:900px) {body.giver-page .ss-hero {
    grid-template-columns:1fr;
    min-height:0;
  }body.giver-page .ss-hero-inner {
    margin-left:0;
  }body.giver-page .ss-hero-media {
    order:-1;
    min-height:300px;
  }

}body.giver-page .ss-hero .g-btn:not(.g-btn--ghost),
body.giver-page .g-on-accent .g-btn:not(.g-btn--ghost) {
  background:var(--accent-ink);
  border-color:var(--accent-ink);
  color:var(--accent);
}body.giver-page .ss-hero .g-btn:not(.g-btn--ghost):hover,
body.giver-page .g-on-accent .g-btn:not(.g-btn--ghost):hover {
  background:var(--g-white);
  border-color:var(--g-white);
  color:var(--g-terra-deep);
}body.giver-page .g-on-deep .g-btn:not(.g-btn--ghost) {
  background:var(--g-cream);
  border-color:var(--g-cream);
  color:var(--g-terracotta);
}body.giver-page .g-on-deep .g-btn:not(.g-btn--ghost):hover {
  background:var(--g-white);
  border-color:var(--g-white);
  color:var(--g-terra-deep);
}body.giver-page .ss-details {
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);
  align-items:start;
  gap:44px;
  margin-top:46px;
  display:grid;
}body.giver-page .ss-specs {
  grid-template-columns:repeat(2,1fr);
  gap:0 40px;
  display:grid;
}body.giver-page .ss-specs>div {
  border-bottom:1px solid var(--g-hairline-soft);
  padding:14px 0;
}body.giver-page .ss-specs dt {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-terracotta);
  margin-bottom:5px;
  font-size:11px;
  font-weight:600;
}body.giver-page .ss-specs dd {
  color:var(--g-deep);
  font-size:16px;
  line-height:1.45;
}body.giver-page .ss-price-card {
  background:var(--g-beige);
  border:1px solid var(--g-hairline);
  top:calc(var(--g-header-h) + 20px);
  padding:30px 28px 28px;
  position:sticky;
}body.giver-page .ss-price {
  font-family:var(--g-serif);
  color:var(--g-terracotta);
  font-size:clamp(44px,5vw,62px);
  font-weight:600;
  line-height:1;
}body.giver-page .ss-price-note {
  color:var(--g-muted);
  margin:16px 0 24px;
  font-size:14px;
  line-height:1.65;
}body.giver-page .ss-price-card .g-btn {
  text-align:center;
  display:block;
}body.giver-page .ss-incl {
  border-top:1px solid var(--g-hairline);
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:44px;
  margin-top:56px;
  padding-top:44px;
  display:grid;
}body.giver-page .ss-incl ul {
  margin-top:6px;
  list-style:none;
}body.giver-page .ss-incl-yes li {
  padding:0 0 18px 26px;
  position:relative;
}body.giver-page .ss-incl-yes li:before {
  content:"";
  background:var(--g-terracotta);
  width:11px;
  height:11px;
  position:absolute;
  top:7px;
  left:0;
}body.giver-page .ss-incl-yes strong {
  font-family:var(--g-serif);
  color:var(--g-deep);
  margin-bottom:4px;
  font-size:19px;
  font-weight:600;
  line-height:1.25;
  display:block;
}body.giver-page .ss-incl-yes span {
  color:var(--g-muted);
  font-size:15px;
  line-height:1.65;
}body.giver-page .ss-incl-no li {
  color:var(--g-muted);
  padding:0 0 14px 26px;
  font-size:15px;
  line-height:1.6;
  position:relative;
}body.giver-page .ss-incl-no li:before {
  content:"";
  border-style:solid;
  border-width:5px 0 5px 9px;
  border-color:transparent transparent transparent var(--g-muted);
  width:0;
  height:0;
  position:absolute;
  top:8px;
  left:0;
}@media (max-width:900px) {body.giver-page .ss-details,
body.giver-page .ss-incl {
    grid-template-columns:1fr;
    gap:34px;
  }body.giver-page .ss-specs {
    grid-template-columns:1fr;
  }body.giver-page .ss-price-card {
    position:static;
  }

}body.giver-page #mk[data-page=online] .hero {
  background:var(--accent);
  color:var(--g-deep);
  grid-template-columns:1.02fr .98fr;
  align-items:stretch;
  gap:0;
  min-height:74vh;
  padding:0;
  display:grid;
  position:relative;
}body.giver-page #mk[data-page=online] .hero>.wrap {
  z-index:2;
  grid-column:1;
  align-self:center;
  max-width:none;
  margin:0;
  padding:clamp(56px,6vw,88px) clamp(26px,4vw,60px);
  position:relative;
}body.giver-page #mk[data-page=online] .hero>.wrap>* {
  max-width:34rem;
  margin-left:auto;
}body.giver-page #mk[data-page=online] .hero:before {
  display:none;
}body.giver-page #mk[data-page=online] .hero:after {
  content:"";
  background-color:var(--g-terra-deep);
  background-image:url(/media/yoga-pose.jpeg);
  background-position:50% 38%;
  background-size:cover;
  grid-column:2;
  min-height:380px;
  display:block;
  position:static;
}@media (max-width:900px) {body.giver-page #mk[data-page=online] .hero {
    grid-template-columns:1fr;
    min-height:0;
  }body.giver-page #mk[data-page=online] .hero:after {
    grid-area:1/1;
    min-height:280px;
  }body.giver-page #mk[data-page=online] .hero>.wrap>* {
    margin-left:0;
  }

  }body.giver-page #mk[data-page=online] .orb {
  display:none;
}body.giver-page #mk[data-page=online] .hero .eyebrow {
  color:var(--g-terra-deep);
}body.giver-page #mk[data-page=online] .hero h1 {
  color:var(--g-deep);
}body.giver-page #mk[data-page=online] .hero h1 em {
  color:var(--g-terracotta);
}body.giver-page #mk[data-page=online] .hero p.lede,
body.giver-page #mk[data-page=online] .hero-meta span {
  color:var(--g-brown);
}body.giver-page #mk[data-page=online] .hero-meta span:before {
  background:var(--g-terracotta);
  width:8px;
  height:8px;
}body.giver-page #mk[data-page=online] .hero .btn-primary {
  background:var(--g-deep);
  border-color:var(--g-deep);
  color:var(--g-cream);
}body.giver-page #mk[data-page=online] .hero .btn-ghost {
  border-color:var(--g-deep);
  color:var(--g-deep);
}body.giver-page #mk[data-page=online] .hero .btn-ghost:hover {
  background:var(--g-deep);
  color:var(--g-cream);
}body.giver-page .g-accent-bar[data-page=online] {
  display:none;
}body.giver-page #mk[data-page=online] .online-band {
  background-color:var(--g-beige);
  background-image:url(https://images.unsplash.com/photo-1506126613408-eca07ce68773?q=80&w=1600&auto=format&fit=crop);
  background-position:50% 45%;
  background-size:cover;
  height:clamp(240px,34vw,420px);
  display:block;
}body.giver-page #mk[data-page=online] .path-media {
  aspect-ratio:3/2;
  background-color:var(--g-beige);
  background-position:50%;
  background-size:cover;
  margin:0 0 20px;
  display:block;
}body.giver-page #mk[data-page=online] .path-media[data-img=a] {
  background-image:url(https://images.unsplash.com/photo-1545205597-3d9d02c29597?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=online] .path-media[data-img=b] {
  background-image:url(https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=online] .path-media[data-img=c] {
  background-image:url(https://images.unsplash.com/photo-1591291621164-2c6367723315?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=online] .acard-media {
  aspect-ratio:16/9;
  background-color:var(--g-beige);
  background-position:50%;
  background-size:cover;
  margin:0 0 18px;
  display:block;
}body.giver-page #mk[data-page=online] .acard-media[data-img=one] {
  background-image:url(https://images.unsplash.com/photo-1602192509154-0b900ee1f851?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=online] .acard-media[data-img=two] {
  background-image:url(https://images.unsplash.com/photo-1516585427167-9f4af9627e6c?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=online] .apply-panel {
  background:var(--accent);
  border:1px solid #1e120829;
  padding:clamp(30px,3.5vw,44px);
}body.giver-page #mk[data-page=online] .apply-panel h2 {
  color:var(--g-deep);
}body.giver-page #mk[data-page=online] .apply-panel h2 em,
body.giver-page #mk[data-page=online] .apply-panel .sub {
  color:var(--g-terra-deep);
}body.giver-page #mk[data-page=online] .apply-panel .field label {
  color:var(--g-deep);
  font-weight:600;
}body.giver-page #mk[data-page=online] .apply-panel .field .req {
  color:var(--g-terra-deep);
}body.giver-page #mk[data-page=online] .apply-panel input,
body.giver-page #mk[data-page=online] .apply-panel select,
body.giver-page #mk[data-page=online] .apply-panel textarea {
  background:var(--g-white);
  color:var(--g-deep);
  border:1px solid #1e12082e;
  padding:13px 14px;
}body.giver-page #mk[data-page=online] .apply-panel input::placeholder,
body.giver-page #mk[data-page=online] .apply-panel textarea::placeholder {
  color:var(--g-muted);
}body.giver-page #mk[data-page=online] .apply-panel input:focus,
body.giver-page #mk[data-page=online] .apply-panel select:focus,
body.giver-page #mk[data-page=online] .apply-panel textarea:focus {
  border-color:var(--g-terra-deep);
  outline-offset:1px;
  outline:2px solid #5c2d1740;
}body.giver-page #mk[data-page=online] .apply-panel .form-submit {
  border-top:1px solid #1e120829;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  margin-top:26px;
  padding-top:22px;
  display:flex;
}body.giver-page #mk[data-page=online] .apply-panel .btn-primary {
  background:var(--g-deep);
  border-color:var(--g-deep);
  color:var(--g-cream);
  padding:15px 30px;
}body.giver-page #mk[data-page=online] .apply-panel .form-note {
  color:var(--g-brown);
  font-size:13px;
}body.giver-page #mk[data-page=online] .step .badge {
  background:var(--g-terracotta);
  border-color:var(--g-terracotta);
  color:var(--g-white);
}body.giver-page #mk[data-page=online] .step:after {
  background:var(--g-terra-pale);
}body.giver-page #mk[data-page=about] .hero {
  background-color:var(--g-deep);
  background-image:url(https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?q=80&w=1800&auto=format&fit=crop);
  background-position:50% 42%;
  background-size:cover;
  padding:clamp(96px,12vw,168px) 0 clamp(80px,10vw,132px);
  position:relative;
}body.giver-page #mk[data-page=about] .hero:before {
  content:"";
  background:linear-gradient(#1e1208e0 0%,#1e1208cc 45%,#1e1208eb 100%);
  position:absolute;
  inset:0;
}body.giver-page #mk[data-page=about] .hero .wrap {
  z-index:1;
  position:relative;
}body.giver-page #mk[data-page=about] .hero .hero-grid {
  grid-template-columns:1fr;
  max-width:60rem;
}body.giver-page #mk[data-page=about] .ph-hero {
  display:none;
}body.giver-page #mk[data-page=about] .hero .eyebrow {
  color:var(--g-sand);
}body.giver-page #mk[data-page=about] .hero h1 {
  color:var(--g-cream);
}body.giver-page #mk[data-page=about] .hero h1 em {
  color:var(--g-sand);
}body.giver-page #mk[data-page=about] .hero .lead,
body.giver-page #mk[data-page=about] .hero p,
body.giver-page #mk[data-page=about] .hero .pull {
  color:var(--g-beige);
}body.giver-page #mk[data-page=about] .hero .accent-rule {
  background:var(--g-sand);
}body.giver-page #mk[data-page=about] .hero .btn-primary {
  background:var(--g-cream);
  border-color:var(--g-cream);
  color:var(--g-terracotta);
}body.giver-page #mk[data-page=about] .hero .btn-secondary {
  border-color:var(--g-white);
  color:var(--g-white);
  background:0 0;
}body.giver-page #mk[data-page=about] .hero .btn-secondary:hover {
  background:var(--g-white);
  color:var(--g-deep);
}body.giver-page #mk[data-page=about] .ph-gal {
  background-position:50%;
  background-size:cover;
  border:0;
  font-size:0;
}body.giver-page #mk[data-page=about] .ph-gal:first-of-type {
  background-image:url(https://images.unsplash.com/photo-1499209974431-9dddcece7f88?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=about] .ph-gal:nth-of-type(2) {
  background-image:url(https://images.unsplash.com/photo-1524863479829-916d8e77f114?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=about] .ph-gal:nth-of-type(3) {
  background-image:url(https://images.unsplash.com/photo-1523906834658-6e24ef2386f9?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=about] .ph-gal:nth-of-type(4) {
  background-image:url(https://images.unsplash.com/photo-1493976040374-85c8e12f0c0e?q=80&w=900&auto=format&fit=crop);
}body.giver-page #mk[data-page=about] .ph-portrait {
  background:var(--g-beige);
  border:1px solid var(--g-hairline-soft);
  color:var(--g-muted);
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
  font-size:11px;
  font-weight:500;
  line-height:1.6;
}body.giver-page #mk[data-page=about] .gallery [data-parallax] {
  transform:none!important;
}body.giver-page #mk[data-page=about] .gallery {
  align-items:start;
  gap:14px;
}body.giver-page #mk[data-page=about] .cols {
  align-items:stretch;
}body.giver-page #mk[data-page=about] .cols .col {
  flex-direction:column;
  padding-top:6px;
  padding-bottom:6px;
  display:flex;
}body.giver-page #mk[data-page=about] .col-num {
  color:var(--g-terracotta);
  margin-bottom:14px;
  font-size:36px;
}body.giver-page #mk[data-page=about] .cols .col h3 {
  margin-bottom:20px;
  font-size:26px;
}body.giver-page #mk[data-page=about] .cols .col .link-stack,
body.giver-page #mk[data-page=about] .cols .col>.tlink {
  width:100%;
  margin-top:auto;
}body.giver-page #mk[data-page=about] .cols .col .tlink {
  border-top:1px solid var(--g-terra-pale);
  width:100%;
  color:var(--g-terracotta);
  transition:color .22s var(--g-ease), border-color .22s var(--g-ease);
  border-bottom:0;
  padding:13px 0;
  font-size:12px;
  line-height:1.4;
  display:block;
}body.giver-page #mk[data-page=about] .cols .col .tlink:hover {
  color:var(--g-terra-deep);
  border-top-color:var(--g-terracotta);
}body.giver-page #mk[data-page=about] .cols .col .link-stack {
  gap:0;
}@media (max-width:760px) {body.giver-page #mk[data-page] .tlink,
body.giver-page #mk[data-page] .rlink,
body.giver-page #mk[data-page] .acard .link {
    padding-top:9px;
    padding-bottom:9px;
    font-size:13px;
  }body.giver-page #mk[data-page] .cell .tlink,
body.giver-page #mk[data-page] .mode .tlink {
    margin-top:14px;
  }body.giver-page .g-news-form button,
body.giver-page .hm-story figcaption em,
body.giver-page .ss-specs dt {
    font-size:12px;
  }

}body.giver-page .hm-kicker,
body.giver-page #mk[data-page] .eyebrow,
body.giver-page #mk[data-page] .kicker,
body.giver-page #mk[data-page] .seclabel,
body.giver-page #mk[data-page] .slabel,
body.giver-page #mk[data-page] .kick,
body.giver-page #mk[data-page] .modes-label,
body.giver-page #mk[data-page] .stat-label,
body.giver-page #mk[data-page] .founder-role,
body.giver-page #mk[data-page] .hero-side,
body.giver-page #mk[data-page] .col .num {
  font-weight:600;
}body.giver-page #mk[data-page=training-details] .tstm {
  background:var(--g-cream);
  border:1px solid var(--g-hairline);
  box-shadow:none;
  transition:border-color .3s var(--g-ease), box-shadow .3s var(--g-ease), transform .3s var(--g-ease);
  flex-direction:column;
  padding:30px 28px 26px;
  display:flex;
}body.giver-page #mk[data-page=training-details] .tstm:hover {
  border-color:var(--g-terra-pale);
  transform:translateY(-3px);
  box-shadow:0 24px 44px -32px #1e120880;
}body.giver-page #mk[data-page=training-details] .tstm:before {
  content:"“";
  font-family:var(--g-serif);
  height:34px;
  color:var(--g-terra-pale);
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
  font-size:64px;
  line-height:.62;
  display:block;
}body.giver-page #mk[data-page=training-details] .tstm blockquote {
  font-family:var(--g-serif);
  color:var(--g-deep);
  flex:0 auto;
  margin-bottom:26px;
  font-size:21px;
  font-style:normal;
  line-height:1.5;
}body.giver-page #mk[data-page=training-details] .tstm .who {
  border-top:1px solid var(--g-hairline-soft);
  font-family:var(--g-serif);
  letter-spacing:0;
  text-transform:none;
  color:var(--g-deep);
  flex-direction:column;
  gap:3px;
  margin-top:auto;
  padding-top:18px;
  font-size:21px;
  font-weight:600;
  line-height:1.2;
  display:flex;
}body.giver-page #mk[data-page=training-details] .tstm .who span {
  font-family:var(--g-sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g-muted);
  margin-top:0;
  font-size:11px;
  font-weight:600;
}body.giver-page #mk[data-page=training] .c-meta {
  border-top:1px solid var(--g-hairline-soft);
  flex-wrap:wrap;
  flex:1;
  align-content:flex-start;
  gap:8px;
  margin:22px 0 26px;
  padding-top:20px;
  display:flex;
}body.giver-page #mk[data-page=training] .c-meta li {
  border:1px solid var(--g-hairline);
  border-bottom:1px solid var(--g-hairline);
  background:var(--g-cream);
  justify-content:flex-start;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  display:inline-flex;
}body.giver-page #mk[data-page=training] .c-meta .k {
  clip-path:inset(50%);
  white-space:nowrap;
  width:1px;
  height:1px;
  position:absolute;
  overflow:hidden;
}body.giver-page #mk[data-page=training] .c-meta .v {
  font-family:var(--g-sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--g-brown);
  text-align:left;
  font-size:11px;
  font-weight:600;
}body.giver-page #mk[data-page=training] .c-meta li:before {
  content:"";
  background-color:var(--g-terracotta);
  flex:0 0 14px;
  width:14px;
  height:14px;
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}body.giver-page #mk[data-page=training] .c-meta li:first-child:before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.6V12l3.4 2.2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6.6V12l3.4 2.2'/%3E%3C/svg%3E");
}body.giver-page #mk[data-page=training] .c-meta li:nth-child(2):before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.8 12 4l9 6.8'/%3E%3Cpath d='M5.4 9.6V20h13.2V9.6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.8 12 4l9 6.8'/%3E%3Cpath d='M5.4 9.6V20h13.2V9.6'/%3E%3C/svg%3E");
}body.giver-page #mk[data-page=training] .c-meta li:nth-child(3):before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7.5' r='3.2'/%3E%3Cpath d='M3.2 20c0-3.2 2.6-5.4 5.8-5.4s5.8 2.2 5.8 5.4'/%3E%3Cpath d='M16.4 5.2a3.2 3.2 0 0 1 0 6M17.6 14.9c2 .6 3.2 2.4 3.2 5.1'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7.5' r='3.2'/%3E%3Cpath d='M3.2 20c0-3.2 2.6-5.4 5.8-5.4s5.8 2.2 5.8 5.4'/%3E%3Cpath d='M16.4 5.2a3.2 3.2 0 0 1 0 6M17.6 14.9c2 .6 3.2 2.4 3.2 5.1'/%3E%3C/svg%3E");
}body.giver-page #mk[data-page=training] .tcard-media .tag {
  letter-spacing:.18em;
  align-items:center;
  gap:10px;
  display:inline-flex;
}body.giver-page #mk[data-page=training] .tcard-media .tag i {
  color:var(--g-terra-pale);
  border-left:1px solid #f2ede859;
  padding-left:10px;
  font-style:normal;
}body.giver-page #mk[data-page=training] .sec-head,
body.giver-page #mk[data-page=training] .lead,
body.giver-page #mk[data-page=training] .lead .wrap,
body.giver-page #mk[data-page=training] .final,
body.giver-page #mk[data-page=training] .final .wrap,
body.giver-page #mk[data-page=training] .center,
body.giver-page #mk[data-page=training] p.center,
body.giver-page #mk[data-page=training] .pillars-close,
body.giver-page #mk[data-page=training] .head {
  text-align:left;
}body.giver-page #mk[data-page=training] .sec-head,
body.giver-page #mk[data-page=training] .lead .cta,
body.giver-page #mk[data-page=training] .final .cta,
body.giver-page #mk[data-page=training] .center,
body.giver-page #mk[data-page=training] p.center {
  justify-content:flex-start;
}body.giver-page #mk[data-page=training] h1 em,
body.giver-page #mk[data-page=training] h2 em,
body.giver-page #mk[data-page=training] h3 em,
body.giver-page #mk[data-page=training] .big em,
body.giver-page #mk[data-page=training] .pillars-close em {
  color:inherit;
}body.giver-page #mk[data-page=training] .voices h2 {
  text-align:left;
  margin-left:0;
  margin-right:0;
}body.giver-page #mk[data-page=training] .final h2 em,
body.giver-page #mk[data-page=training] .band-state em {
  color:inherit;
}


/* The closing block kept a max-width with auto side margins, so the heading and
   its line sat in the middle of the page even once the text was set left. */body.giver-page #mk[data-page='training'] .final h2,
body.giver-page #mk[data-page='training'] .final p,
body.giver-page #mk[data-page='training'] .final .cta {
  margin-left: 0;
  margin-right: 0;
}

/* ================================================== Tours — dark chocolate */

/* The mockup's own palette is declared as custom properties, so the whole page
   repaints by redefining them here rather than by chasing every rule. Terra
   values become chocolate; the light structure stays, because turning the sand
   bands dark as well makes the page very heavy. */body.giver-page #mk[data-page='tours'] {
  --terracotta: var(--g-choc);
  --terra-dark: var(--g-choc-deep);
  --terra-light: var(--g-choc-mid);
  --terra-pale: var(--g-choc-pale);
}

/* --------- "How to receive this work in person during the tour"

   A ramp of its own: the four ways in on the homepage carry the destination
   colours, and reusing those here would say these cards are those pages.
   Instead the four steps walk the chocolate ramp, pale to dark, which ties
   the block to the page without borrowing another section's meaning. */body.giver-page #mk[data-page='tours'] .modes-row .mode {
  padding: clamp(26px, 3vw, 34px);
  border: 1px solid rgba(64, 42, 26, 0.16);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(1) {
  background: var(--g-cream);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(2) {
  background: var(--g-choc-pale);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(3) {
  background: var(--g-choc-mid);
  border-color: rgba(44, 28, 17, 0.3);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(4) {
  background: var(--g-choc);
  border-color: rgba(44, 28, 17, 0.4);
}

/* on the two dark steps the ink flips; measured, not guessed */body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(3) h3,
body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(4) h3 {
  color: var(--g-cream);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(3) p,
body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(4) p {
  color: var(--g-beige);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(3) .dur,
body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(4) .dur {
  color: var(--g-beige);
}body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(3) .tlink,
body.giver-page #mk[data-page='tours'] .modes-row .mode:nth-child(4) .tlink {
  color: var(--g-cream);
  border-color: var(--g-cream);
}

/* ===================================================== Tours — index page */body.giver-page .tr-head .g-lead {
  max-width: 46ch;
}body.giver-page .tr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}body.giver-page .tr-card {
  display: flex;
  flex-direction: column;
  background: var(--g-white);
  border: 1px solid var(--g-hairline);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.3s var(--g-ease), box-shadow 0.3s var(--g-ease),
    transform 0.3s var(--g-ease);
}body.giver-page a.tr-card:hover {
  transform: translateY(-3px);
  border-color: var(--g-choc-mid);
  box-shadow: 0 24px 44px -32px rgba(30, 18, 8, 0.5);
}

/* an announced tour gets no photograph of a place that is not decided yet */body.giver-page .tr-media {
  position: relative;
  aspect-ratio: 3 / 2;
  background-size: cover;
  background-position: center;
}body.giver-page .tr-media[data-status='soon'] {
  background: var(--g-choc-pale);
}body.giver-page .tr-status {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: var(--g-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 6px 12px;
  background: var(--g-choc);
  color: var(--g-cream);
}body.giver-page .tr-status[data-status='soon'] {
  background: var(--g-white);
  color: var(--g-choc-deep);
  border: 1px solid rgba(64, 42, 26, 0.24);
}body.giver-page .tr-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 28px 26px 26px;
}body.giver-page .tr-place {
  font-family: var(--g-serif);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--g-deep);
}body.giver-page .tr-dates {
  margin-top: 8px;
  font-family: var(--g-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--g-choc);
}body.giver-page .tr-summary {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.55;
  color: var(--g-brown);
}body.giver-page .tr-formats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 20px 0 24px;
  list-style: none;
}body.giver-page .tr-formats li {
  font-family: var(--g-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--g-choc-deep);
  border: 1px solid rgba(64, 42, 26, 0.2);
  background: var(--g-cream);
  padding: 5px 10px;
}body.giver-page .tr-cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  font-family: var(--g-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--g-choc);
}body.giver-page .tr-cta svg {
  width: 16px;
  height: 8px;
  transition: transform 0.28s var(--g-ease);
}body.giver-page a.tr-card:hover .tr-cta svg {
  transform: translateX(5px);
}

/* the card is not a link, so its call to action must not read as one */body.giver-page .tr-card--soon .tr-cta {
  color: var(--g-muted);
}@media (max-width: 980px) {body.giver-page .tr-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}@media (max-width: 640px) {body.giver-page .tr-grid {
    grid-template-columns: 1fr;
  }
}

/* the two reductions under the apply button on the retreat price card */body.giver-page .ss-discounts {
  list-style: none;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--g-hairline-soft);
  display: flex;
  flex-direction: column;
  gap: 7px;
}body.giver-page .ss-discounts li {
  font-family: var(--g-sans);
  font-size: 12px;
  line-height: 1.45;
  color: var(--g-terra-deep);
}

/* --------------------------------------- Sacred Source: the people holding it

   Real portraits at last. Kept deliberately small: at the width of the text
   column they dominated the section, and what carries it is the bios. The
   article becomes a two-up so the face sits beside the words, not above a
   wall of them. */body.giver-page .ss-people article {
  display: grid;
  grid-template-columns: 148px 1fr;
  column-gap: 22px;
  align-items: start;
}body.giver-page .ss-portrait {
  grid-row: 1 / span 3;
  width: 148px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border: 1px solid var(--g-hairline);
}

/* the placeholder keeps the same footprint so the grid does not jump */body.giver-page .ss-people .portrait-pending {
  grid-row: 1 / span 3;
  width: 148px;
  aspect-ratio: 4 / 5;
}@media (max-width: 760px) {body.giver-page .ss-people article {
    grid-template-columns: 108px 1fr;
    column-gap: 16px;
  }body.giver-page .ss-portrait,
body.giver-page .ss-people .portrait-pending {
    width: 108px;
  }
}

/* ------------------------------------------- Sacred Source: vertical video */

/* The film runs beside the invitation it belongs to, not in a band of its own. */body.giver-page .ss-moved {
  display: grid;
  grid-template-columns: minmax(0, 280px) 1fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}body.giver-page .ss-video {
  width: 100%;
  aspect-ratio: 9 / 16;
  display: block;
  background: var(--g-deep);
  border: 1px solid rgba(242, 237, 232, 0.24);
}@media (max-width: 760px) {body.giver-page .ss-moved {
    grid-template-columns: 1fr;
    gap: 26px;
  }body.giver-page .ss-video {
    max-width: 280px;
    margin: 0 auto;
  }
}

/* ---------------------------------------- Tours — "Who holds the field"

   Same treatment as the retreat: a small portrait beside the words rather
   than a large one above them. Andrea's photograph arrived; Miyoko's has
   not, so her slot keeps the same footprint and the grid does not jump. */body.giver-page #mk[data-page='tours'] .people > div {
  display: grid;
  grid-template-columns: 148px 1fr;
  column-gap: 22px;
  align-items: start;
}body.giver-page #mk[data-page='tours'] .people > div > .ph,
body.giver-page #mk[data-page='tours'] .people > div > img,
body.giver-page #mk[data-page='tours'] .people .portrait-pending {
  grid-row: 1 / span 3;
  width: 148px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  margin: 0;
  border: 1px solid var(--g-hairline);
}@media (max-width: 760px) {body.giver-page #mk[data-page='tours'] .people > div {
    grid-template-columns: 108px 1fr;
    column-gap: 16px;
  }body.giver-page #mk[data-page='tours'] .people > div > .ph,
body.giver-page #mk[data-page='tours'] .people > div > img,
body.giver-page #mk[data-page='tours'] .people .portrait-pending {
    width: 108px;
  }
}

/* ------------------------------------ Sacred Source — the short application */body.giver-page .ss-apply-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 26px;
  max-width: 440px;
}body.giver-page .ss-apply-form input,
body.giver-page .ss-apply-form textarea {
  width: 100%;
  font-family: var(--g-sans);
  font-size: 14px;
  padding: 13px 14px;
  color: var(--g-deep);
  background: var(--g-white);
  border: 1px solid rgba(30, 18, 8, 0.2);
  resize: vertical;
}body.giver-page .ss-apply-form input::placeholder,
body.giver-page .ss-apply-form textarea::placeholder {
  color: var(--g-muted);
}body.giver-page .ss-apply-form input:focus,
body.giver-page .ss-apply-form textarea:focus {
  outline: none;
  border-color: var(--g-deep);
}body.giver-page .ss-apply-form button {
  align-self: flex-start;
  margin-top: 6px;
  font-family: var(--g-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 14px 26px;
  border: 0;
  background: var(--g-deep);
  color: var(--g-cream);
  cursor: pointer;
  transition: background 0.22s var(--g-ease);
}body.giver-page .ss-apply-form button:hover {
  background: var(--g-brown);
}body.giver-page .ss-apply-small,
body.giver-page .ss-apply-done {
  font-family: var(--g-sans);
  font-size: 12px;
  line-height: 1.5;
  color: var(--g-terra-deep);
}body.giver-page .ss-apply-done {
  margin-top: 26px;
}

/* ------------------------------------------------ Tours — index hero

   The same two-up as Training and Retreat: the destination colour on one
   side carrying the title, the photograph on the other. */body.giver-page .tr-hero {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  align-items: stretch;
}body.giver-page .tr-hero-copy {
  background: var(--g-choc);
  display: flex;
  align-items: center;
  padding: clamp(72px, 8vw, 118px) 0;
}body.giver-page .tr-hero-inner {
  max-width: 560px;
  margin-left: auto;
  padding: 0 clamp(28px, 4vw, 64px) 0 26px;
}body.giver-page .tr-hero-copy .g-eyebrow {
  color: var(--g-choc-pale);
}body.giver-page .tr-hero-copy .g-display {
  color: var(--g-cream);
}body.giver-page .tr-hero-lead {
  margin-top: 24px;
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.6;
  color: var(--g-beige);
  max-width: 44ch;
}body.giver-page .tr-hero-media {
  background-size: cover;
  background-position: center;
  min-height: 62vh;
}@media (max-width: 900px) {body.giver-page .tr-hero {
    grid-template-columns: 1fr;
  }body.giver-page .tr-hero-inner {
    margin-left: 0;
    padding: 0 22px;
    max-width: none;
  }body.giver-page .tr-hero-media {
    min-height: 46vh;
  }
}

/* ========================================================= giver-fullbleed

   The theme narrows .elementor-widget-wrap to 1121px inside a 1280px column,
   which stops the ported full-bleed sections reaching the viewport edge. These
   wrappers exist only to hold the port, so they are forced to full width — the
   design does its own measure with .g-wrap. */
body.giver-page .elementor-widget-wrap,
body.giver-page .elementor-widget-wrap > .elementor-element,
body.giver-page .elementor-widget-html,
body.giver-page .elementor-widget-html > .elementor-widget-container,
body.giver-page .elementor-section,
body.giver-page .elementor-container,
body.giver-page .elementor-column {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The theme re-adds vertical rhythm to prose with class-level selectors, which
   outrank the port's universal reset. Inside a ported page the port owns the
   spacing: anything it has not set explicitly starts from zero. */
body.giver-page p,
body.giver-page h1,
body.giver-page h2,
body.giver-page h3,
body.giver-page h4,
body.giver-page h5,
body.giver-page h6,
body.giver-page ul,
body.giver-page ol,
body.giver-page li,
body.giver-page dl,
body.giver-page dd,
body.giver-page dt,
body.giver-page figure,
body.giver-page blockquote {
  margin: 0;
  padding: 0;
}
