.retreat-detail-page {
  --med-cyan: #1fe6dc;
  --med-blue: #4f83ff;
  --med-violet: #8f5cff;
  --med-coral: #ff795f;
  background: #030611;
  color: #f7f7fb;
}

.retreat-detail-page .site-header {
  background: rgba(3, 6, 17, 0.88);
  backdrop-filter: blur(18px);
}

.retreat-update-cta {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: .65rem .85rem;
  color: #020611;
  background: linear-gradient(105deg, var(--med-cyan), #59b9ff);
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font: 700 .62rem/1 "Space Grotesk", sans-serif;
  letter-spacing: .1em;
}

.retreat-detail-page section[id] { scroll-margin-top: 96px; }

.retreat-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.retreat-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.med-hero {
  min-height: calc(100vh - 84px);
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 5vw, 5rem) 2rem;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.65fr);
  grid-template-rows: 1fr auto;
  gap: 3rem clamp(2rem, 7vw, 8rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  isolation: isolate;
}

.med-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(to bottom, #000 0 80%, transparent 100%);
}

.med-hero::before {
  content: "";
  position: absolute;
  width: 55vw;
  height: 55vw;
  min-width: 580px;
  min-height: 580px;
  right: -15vw;
  top: -16vw;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(79,131,255,.2), rgba(143,92,255,.07) 40%, transparent 68%);
  filter: blur(4px);
}

.med-hero-copy { align-self: center; max-width: 760px; }

.med-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin: 0 0 2.7rem;
  color: rgba(238,241,255,.58);
  font: 700 .66rem/1 "Space Grotesk", sans-serif;
  letter-spacing: .17em;
}

.med-kicker span { display: inline-flex; align-items: center; gap: .7rem; }
.med-kicker span:not(:last-child)::after { content: "/"; color: var(--med-cyan); }

.med-hero h1 {
  margin: .25rem 0 1.8rem;
  font: 700 clamp(5rem, 11.5vw, 10.5rem)/.78 "Space Grotesk", sans-serif;
  letter-spacing: -.075em;
  text-transform: uppercase;
}

.med-hero h1 span { color: var(--med-cyan); }

.med-deck {
  max-width: 660px;
  margin: 0 0 2rem;
  color: rgba(238,241,255,.78);
  font-size: clamp(1.12rem, 1.6vw, 1.45rem);
  line-height: 1.55;
}

.med-format-line {
  max-width: 680px;
  margin: -1rem 0 2.2rem;
  color: var(--med-cyan);
  font: 700 .72rem/1.5 "Space Grotesk", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.med-field-card {
  align-self: center;
  min-height: 530px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(3,7,20,.58);
  box-shadow: 0 34px 100px rgba(0,0,0,.38);
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 1.25rem;
}

.field-card-top, .field-card-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(238,241,255,.54);
  font: 700 .61rem/1 "Space Grotesk", sans-serif;
  letter-spacing: .14em;
}

.field-orbit {
  width: min(100%, 360px);
  aspect-ratio: 1;
  align-self: center;
  justify-self: center;
  position: relative;
  display: grid;
  place-items: center;
  border: 1px solid rgba(31,230,220,.25);
  border-radius: 50%;
}

.field-orbit::before, .field-orbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
}
.field-orbit::before { inset: 18%; }
.field-orbit::after { inset: 36%; background: radial-gradient(circle, rgba(31,230,220,.18), rgba(79,131,255,.06) 60%, transparent); }
.field-orbit strong { z-index: 2; font: 700 2.4rem/1 "Space Grotesk", sans-serif; letter-spacing: -.08em; }

.orbit-dot { position: absolute; width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 24px currentColor; }
.dot-one { color: var(--med-cyan); background: currentColor; left: 8%; top: 30%; }
.dot-two { color: var(--med-violet); background: currentColor; right: 15%; bottom: 20%; }
.dot-three { color: var(--med-coral); background: currentColor; right: 26%; top: 9%; }

.field-card-bottom { padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.1); }
.field-card-bottom p { margin: 0; }
.field-card-bottom span { color: var(--med-cyan); margin-right: .4rem; }

.med-hero-note {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(238,241,255,.52);
  font: 700 .65rem/1.3 "Space Grotesk", sans-serif;
  letter-spacing: .14em;
}
.med-hero-note span:nth-child(2) { text-align: center; }
.med-hero-note span:last-child { text-align: right; }

.med-manifesto { background: #f2efe8; color: #090b14; }
.med-manifesto-copy { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.5fr); gap: 2rem 5rem; align-items: start; margin: 1.5rem 0 5rem; }
.med-manifesto-copy .eyebrow { grid-column: 1; }
.med-manifesto-copy h2 { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: clamp(2.5rem,5.2vw,5.8rem); line-height: .98; letter-spacing: -.055em; }
.med-why-body { grid-column: 1; display: grid; gap: 1rem; }
.med-why-body p { margin: 0; font-size: 1.05rem; line-height: 1.7; color: #4f5260; }

.med-lenses { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #c9c5bb; border-bottom: 1px solid #c9c5bb; }
.med-lenses article { min-height: 270px; padding: 1.5rem; border-right: 1px solid #c9c5bb; display: flex; flex-direction: column; }
.med-lenses article:last-child { border-right: 0; }
.med-lenses span { color: #6a6e79; font: 700 .67rem/1 "Space Grotesk", sans-serif; letter-spacing: .15em; }
.med-lenses h3 { margin: auto 0 1rem; font: 700 clamp(2.3rem,4vw,4.5rem)/.9 "Space Grotesk", sans-serif; letter-spacing: -.06em; text-transform: uppercase; }
.med-lenses article:nth-child(1) h3 { color: #087f79; }
.med-lenses article:nth-child(2) h3 { color: #3159c7; }
.med-lenses article:nth-child(3) h3 { color: #a04432; }
.med-lenses p { max-width: 28ch; margin: 0; color: #555968; line-height: 1.55; }

.med-context-grid { display: grid; grid-template-columns: 1.05fr .95fr; margin-top: 4rem; border: 1px solid #c9c5bb; }
.med-context-grid > article { padding: clamp(1.5rem,3.5vw,3rem); }
.med-context-grid > article + article { border-left: 1px solid #c9c5bb; }
.med-context-grid h3 { margin: .8rem 0 2.5rem; font: 600 clamp(2rem,3.5vw,3.8rem)/1 "Space Grotesk",sans-serif; letter-spacing: -.05em; }
.med-rhythm > div { display: grid; grid-template-columns: 95px 1fr; gap: 1.2rem; padding: 1.1rem 0; border-top: 1px solid #c9c5bb; }
.med-rhythm > div span { color: #087f79; font: 700 .64rem/1.4 "Space Grotesk",sans-serif; letter-spacing: .14em; }
.med-rhythm > div p { margin: 0; color: #555968; line-height: 1.55; }
.med-fit ul { list-style: none; padding: 0; margin: 1.5rem 0 2rem; }
.med-fit li { position: relative; padding: .9rem 0 .9rem 1.5rem; border-bottom: 1px solid #c9c5bb; color: #343844; line-height: 1.5; }
.med-fit li:first-child { border-top: 1px solid #c9c5bb; }
.med-fit li::before { content: "+"; position: absolute; left: 0; color: #087f79; font-weight: 800; }
.med-fit-promise { margin: 0; padding: 1.4rem; color: #f7f7fb; background: #090b14; font-size: 1.05rem; line-height: 1.65; }

.med-itinerary { background: #070a15; }
.day-list { list-style: none; padding: 0; margin: 4rem 0 0; border-top: 1px solid rgba(255,255,255,.16); }
.day-list li { display: grid; grid-template-columns: 90px minmax(220px,.85fr) minmax(300px,1.15fr); gap: 2rem; padding: 2.4rem 0; border-bottom: 1px solid rgba(255,255,255,.16); align-items: start; }
.day-number { color: var(--med-cyan); font: 600 1.15rem/1 "Space Grotesk", sans-serif; }
.day-title p { margin: 0 0 .6rem; color: rgba(238,241,255,.45); font: 700 .63rem/1 "Space Grotesk", sans-serif; letter-spacing: .16em; }
.day-title h3 { margin: 0; font: 600 clamp(1.7rem,3vw,3rem)/1 "Space Grotesk", sans-serif; letter-spacing: -.04em; }
.day-copy p { margin: 0 0 1rem; color: rgba(238,241,255,.72); font-size: 1.05rem; line-height: 1.65; }
.day-copy span { color: rgba(31,230,220,.7); font: 700 .66rem/1.4 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; }

.med-dna { display: grid; grid-template-columns: minmax(360px,.85fr) minmax(0,1.15fr); gap: 5rem; align-items: center; background: linear-gradient(135deg,#11172a,#080b16 58%); }
.med-dna-signal { width: min(100%,540px); aspect-ratio:1; border:1px solid rgba(31,230,220,.22); border-radius:50%; display:grid; place-items:center; position:relative; }
.med-dna-signal::before,.med-dna-signal::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.med-dna-signal::before{inset:18%}.med-dna-signal::after{inset:36%}
.med-dna-signal div { position:absolute; inset:8%; animation: med-spin 34s linear infinite; }
.med-dna-signal div:nth-child(2){inset:20%;animation-duration:28s;animation-direction:reverse}.med-dna-signal div:nth-child(3){inset:32%;animation-duration:22s}.med-dna-signal div:nth-child(4){inset:43%;animation-duration:16s;animation-direction:reverse}
.med-dna-signal div span { position:absolute; width:32px;height:32px;border:1px solid rgba(31,230,220,.35);border-radius:50%;display:grid;place-items:center;color:var(--med-cyan);font:700 .65rem/1 "Space Grotesk",sans-serif;background:#0b1120; }
.med-dna-signal div span:first-child { left:0;top:45%; }.med-dna-signal div span:last-child { right:0;top:45%; }
.med-dna-signal strong { z-index:3;font:700 clamp(2rem,5vw,4rem)/1 "Space Grotesk",sans-serif;letter-spacing:-.08em; }
@keyframes med-spin { to { transform:rotate(360deg); } }
.med-dna-copy h2 { margin: .5rem 0 1.4rem; font-size: clamp(2.6rem,5vw,5.5rem); line-height: .98; letter-spacing: -.055em; }
.med-dna-copy > p:not(.section-index,.eyebrow) { color: rgba(238,241,255,.7); font-size: 1.08rem; line-height: 1.7; }
.med-dna-copy ul { display:grid;grid-template-columns:1fr 1fr;gap:.8rem 2rem;list-style:none;padding:0;margin:2rem 0; }
.med-dna-copy li { padding-left:1.2rem;position:relative;color:rgba(238,241,255,.78); }
.med-dna-copy li::before { content:"+";position:absolute;left:0;color:var(--med-cyan); }

.med-details { background: #f2efe8; color:#090b14; }
.detail-grid { display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border:1px solid #c9c5bb; }
.detail-grid article { min-height:230px;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #c9c5bb; }
.detail-grid article:last-child{border-right:0}
.detail-grid span { color:#747784;font:700 .65rem/1 "Space Grotesk",sans-serif;letter-spacing:.15em; }
.detail-grid strong { font:600 clamp(1.8rem,3vw,3.2rem)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.05em; }
.detail-notes { display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem;color:#545866;line-height:1.65; }
.detail-notes strong{display:block;margin-bottom:.5rem;color:#090b14;text-transform:uppercase;font:700 .67rem/1 "Space Grotesk",sans-serif;letter-spacing:.14em}

.med-interest { display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:start;background:radial-gradient(circle at 10% 20%,rgba(79,131,255,.16),transparent 36%),#030611; }
.interest-copy{position:sticky;top:130px}.interest-copy h2{font-size:clamp(3.5rem,7vw,7.5rem);line-height:.88;letter-spacing:-.065em;margin:.7rem 0 1.6rem}.interest-copy>p:not(.section-index,.eyebrow){max-width:50ch;color:rgba(238,241,255,.7);line-height:1.7}
.interest-promise{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.interest-promise span{border:1px solid rgba(31,230,220,.24);padding:.65rem .75rem;color:rgba(31,230,220,.76);font:700 .6rem/1 "Space Grotesk",sans-serif;letter-spacing:.13em}
.interest-form{border:1px solid rgba(255,255,255,.16);background:rgba(9,14,29,.86);padding:clamp(1.4rem,4vw,3rem);box-shadow:0 30px 90px rgba(0,0,0,.34)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.interest-form label{display:block;margin-bottom:1.1rem;color:rgba(238,241,255,.62);font:700 .65rem/1.2 "Space Grotesk",sans-serif;letter-spacing:.13em}.interest-form label small{font-size:.58rem;color:rgba(238,241,255,.35)}
.interest-form input,.interest-form select,.interest-form textarea{width:100%;margin-top:.65rem;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#060a16;color:#fff;padding:.95rem 1rem;font:500 .95rem/1.4 "Manrope",sans-serif;letter-spacing:0;outline:none}.interest-form input:focus,.interest-form select:focus,.interest-form textarea:focus{border-color:var(--med-cyan);box-shadow:0 0 0 3px rgba(31,230,220,.08)}.interest-form select{appearance:auto}.interest-form textarea{resize:vertical;min-height:120px}
.interest-form .consent{display:flex;gap:.75rem;align-items:flex-start;margin:1.4rem 0;color:rgba(238,241,255,.62);font:500 .82rem/1.5 "Manrope",sans-serif;letter-spacing:0}.interest-form .consent input{width:18px;height:18px;margin:.08rem 0 0;accent-color:var(--med-cyan);flex:0 0 auto}.honeypot{position:absolute!important;left:-9999px!important}.form-submit{width:100%;justify-content:center;border:0}.form-submit:disabled{opacity:.7;cursor:wait}.form-status{min-height:1.5rem;margin:1rem 0 0;font-size:.88rem;line-height:1.5}.form-status.is-success{color:var(--med-cyan)}.form-status.is-error{color:#ff8b79}

@media (max-width: 980px) {
  .med-hero{grid-template-columns:1fr;min-height:auto}.med-field-card{min-height:440px;max-width:560px;width:100%}.med-manifesto-copy{grid-template-columns:1fr}.med-manifesto-copy h2,.med-manifesto-copy .eyebrow,.med-why-body{grid-column:1;grid-row:auto}.med-lenses{grid-template-columns:1fr}.med-lenses article{min-height:210px;border-right:0;border-bottom:1px solid #c9c5bb}.med-lenses article:last-child{border-bottom:0}.med-context-grid{grid-template-columns:1fr}.med-context-grid>article+article{border-left:0;border-top:1px solid #c9c5bb}.day-list li{grid-template-columns:60px 1fr}.day-copy{grid-column:2}.med-dna{grid-template-columns:1fr}.med-dna-signal{max-width:480px}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid article:nth-child(2){border-right:0}.detail-grid article:nth-child(-n+2){border-bottom:1px solid #c9c5bb}.detail-notes{grid-template-columns:1fr}.med-interest{grid-template-columns:1fr}.interest-copy{position:static}
}

@media (max-width: 1000px) {
  .retreat-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem 1rem;
    padding-top: .7rem;
    padding-bottom: 0;
  }

  .retreat-header .master-logo { min-width: 0; }
  .retreat-update-cta { display: inline-flex; }

  .retreat-header .site-nav {
    position: static;
    inset: auto;
    grid-column: 1 / -1;
    display: flex;
    width: calc(100% + 2.5rem);
    margin: 0 -1.25rem;
    padding: 0 1.25rem;
    overflow-x: auto;
    flex-direction: row;
    align-items: center;
    gap: 0;
    background: rgba(3, 6, 17, .96);
    border-top: 1px solid rgba(255,255,255,.1);
    border-bottom: 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .retreat-header .site-nav::-webkit-scrollbar { display: none; }

  .retreat-header .site-nav a {
    flex: 0 0 auto;
    padding: .8rem .9rem .75rem;
    border-bottom: 2px solid transparent;
    color: rgba(238,241,255,.62);
    font-size: .66rem;
  }

  .retreat-header .site-nav a:first-child { padding-left: 0; }
  .retreat-header .site-nav a:hover,
  .retreat-header .site-nav a:focus-visible { color: #fff; border-bottom-color: var(--med-cyan); }
  .retreat-header .site-nav .nav-cta { display: none; }
  .retreat-detail-page section[id] { scroll-margin-top: 132px; }
}

@media (max-width: 620px) {
  .retreat-update-cta{min-height:38px;padding:.6rem .7rem;font-size:.56rem;letter-spacing:.08em}.med-hero{padding-top:4rem}.med-hero h1{font-size:clamp(4.3rem,23vw,7rem)}.med-kicker{margin-bottom:1.8rem}.med-format-line{font-size:.64rem}.med-field-card{min-height:360px}.med-hero-note{grid-template-columns:1fr}.med-hero-note span:nth-child(2),.med-hero-note span:last-child{text-align:left}.med-manifesto-copy{margin-bottom:3rem}.med-context-grid{margin-top:2.5rem}.med-rhythm>div{grid-template-columns:1fr;gap:.4rem}.day-list li{grid-template-columns:42px 1fr;gap:1rem}.day-copy p{font-size:.96rem}.med-dna{gap:2.5rem}.med-dna-signal{min-width:0}.med-dna-copy ul{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid article{min-height:170px;border-right:0;border-bottom:1px solid #c9c5bb!important}.detail-grid article:last-child{border-bottom:0!important}.form-row{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce) {
  .retreat-reveal{opacity:1;transform:none;transition:none}.med-dna-signal div{animation:none}
}
