.retreat-hero {
  position: relative;
  display: grid;
  min-height: min(56rem, calc(100svh - 5.2rem));
  align-items: start;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #071421;
}
.retreat-hero::before, .retreat-hero::after { content: ""; position: absolute; inset: 0; }
.retreat-hero::before { background: url("/assets/wealth-health-retreat-hero.jpg?v=20260823") center / cover no-repeat; }
.retreat-hero::after { background: linear-gradient(90deg, rgba(3, 15, 26, .92) 0%, rgba(3, 15, 26, .72) 44%, rgba(3, 15, 26, .18) 72%, rgba(3, 15, 26, .08) 100%); }
.retreat-hero-inner { position: relative; z-index: 2; padding-block: clamp(4rem, 7vw, 7rem) clamp(4rem, 8vw, 7rem); }
.retreat-hero .kicker, .retreat-hero h1 { color: #fff; }
.retreat-hero h1 { max-width: 64rem; font-size: clamp(3.6rem, 8vw, 7rem); }
.retreat-hero .intro { max-width: 42rem; color: rgba(255,255,255,.82); text-shadow: 0 1px 18px rgba(0,0,0,.65); }
.retreat-hero .button { background: #fff; border-color: #fff; color: #153c62; }
.retreat-hero .button-download { border-color: rgba(255,255,255,.72); background: rgba(8,27,44,.52); color: #fff; backdrop-filter: blur(8px); }
.retreat-hero .button-download:hover, .retreat-hero .button-download:focus-visible { background: #fff; color: #153c62; }
.retreat-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.retreat-hero-actions p { margin: 2.4rem 0 0; color: rgba(255,255,255,.78); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.retreat-hero .principle-row { color: rgba(255,255,255,.76); border-color: rgba(255,255,255,.22); }
.retreat-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(3rem, 6vw, 5rem); }
.retreat-card { display: flex; min-height: 22rem; padding: 2rem; flex-direction: column; border: 1px solid var(--line); background: var(--surface); }
.retreat-card > span { color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .15em; }
.retreat-card h3 { margin-top: auto; font-size: 1.45rem; text-transform: uppercase; }
.retreat-card p { color: var(--muted); line-height: 1.75; }
.retreat-days { display: grid; margin: clamp(3rem, 6vw, 5rem) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.retreat-days li { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 2rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.retreat-days li > span { color: var(--accent); font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.retreat-days h3 { font-size: 1.45rem; }
.retreat-days p { max-width: 52rem; margin: .65rem 0 0; color: var(--muted); line-height: 1.7; }
.host-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .9fr); gap: clamp(2rem, 7vw, 7rem); }
.host-copy { display: grid; gap: 1.2rem; }
.host-copy p, .extend-copy p { margin: 0; color: var(--muted); line-height: 1.8; }
.privacy-note { padding: 1.3rem; border-left: 3px solid var(--accent); background: var(--surface); }
.price-section { background: var(--ink); color: var(--bg); }
.price-section .kicker { color: color-mix(in srgb, var(--accent) 60%, #fff); }
.price-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; margin-top: 1.4rem; }
.price-header h2 { color: var(--bg); font-size: clamp(4rem, 10vw, 8rem); }
.price-header p { max-width: 42rem; margin: 1.2rem 0 0; color: color-mix(in srgb, var(--bg) 72%, transparent); font-size: 1rem; line-height: 1.7; }
.price-seal { display: grid; width: 8rem; height: 8rem; place-items: center; border: 1px solid color-mix(in srgb, var(--bg) 36%, transparent); border-radius: 50%; color: var(--bg); font-size: .72rem; font-weight: 900; letter-spacing: .13em; line-height: 1.45; text-align: center; text-transform: uppercase; }
.price-grid { margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid color-mix(in srgb, var(--bg) 26%, transparent); }
.price-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; padding: 1.2rem 0; border-bottom: 1px solid color-mix(in srgb, var(--bg) 20%, transparent); color: color-mix(in srgb, var(--bg) 78%, transparent); }
.price-line strong { color: var(--bg); white-space: nowrap; }
.price-total { padding-top: 1.65rem; color: var(--bg); font-size: 1.15rem; font-weight: 900; }
.price-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 2.5rem; }
.price-notes p { margin: 0; color: color-mix(in srgb, var(--bg) 68%, transparent); font-size: .82rem; line-height: 1.7; }
.location-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(3rem, 6vw, 5rem); }
.location-grid article { display: flex; min-height: 25rem; padding: 1.5rem; flex-direction: column; border: 1px solid var(--line); background: var(--bg); }
.location-grid article > span { color: var(--accent); font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.location-grid h3 { margin-top: 2.5rem; font-size: 1.25rem; text-transform: uppercase; }
.location-grid p { color: var(--muted); font-size: .86rem; line-height: 1.7; }
.location-grid a { margin-top: auto; color: var(--accent); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.location-grid a:hover, .location-grid a:focus-visible { text-decoration: underline; text-underline-offset: .3rem; }
.location-disclosure { margin: 2rem 0 0; color: var(--muted); font-size: .75rem; line-height: 1.7; }
.extend-copy { display: grid; gap: 1.2rem; }
.retreat-disclaimer { padding-block: 2rem; background: var(--bg); color: var(--muted); font-size: .7rem; line-height: 1.7; }
@media (max-width: 1100px) { .location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .retreat-hero { min-height: auto; }
  .retreat-hero::before { background-position: 62% center; }
  .retreat-hero::after { background: linear-gradient(90deg, rgba(3,15,26,.94), rgba(3,15,26,.7)); }
  .retreat-hero h1 { font-size: clamp(3rem, 15vw, 4.3rem); }
  .retreat-pillars, .host-grid, .price-header, .price-notes, .location-grid { grid-template-columns: 1fr; }
  .retreat-card, .location-grid article { min-height: auto; }
  .retreat-card h3 { margin-top: 3rem; }
  .retreat-days li { grid-template-columns: 1fr; gap: .7rem; }
  .price-seal { display: none; }
  .price-line { gap: 1rem; font-size: .82rem; }
}
