/* experiences.css — All Experiences page */

.page-experiences { background: var(--off-black); }

/* HERO */
.hero {
  position: relative; min-height: 65vh; padding-top: var(--nav-h);
  overflow: hidden; display: flex; align-items: flex-end;
  background: var(--off-black);
}
.hero-bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; z-index: 0; }
.hero__content { position: relative; z-index: 5; padding: 0 4rem 6rem; max-width: 720px; }
.hero-pills { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.75rem; }
.hero-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .4rem 1rem; border: 1px solid rgba(200,205,154,.22);
  font-size: .62rem; font-weight: 300; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(200,205,154,.6);
  transition: border-color .3s, color .3s;
}
.hero-pill:hover { border-color: rgba(200,205,154,.55); color: var(--olive-pale); }

/* INTRO BAND */
.intro-band {
  background: var(--brown); padding: 3.5rem 4rem;
  display: flex; align-items: center; justify-content: space-between; gap: 4rem;
  border-bottom: 1px solid rgba(200,205,154,.06);
}
.intro-band__quote {
  font-family: var(--serif); font-size: 1.2rem; font-weight: 400;
  font-style: italic; color: rgba(200,213,160,.65); line-height: 1.6; max-width: 580px;
}
.intro-band__stats { display: flex; gap: 0; flex-shrink: 0; border: 1px solid rgba(200,205,154,.1); }
.istat { padding: 1.25rem 2rem; text-align: center; border-right: 1px solid rgba(200,205,154,.1); }
.istat:last-child { border-right: none; }
.istat__num { font-family: var(--serif); font-size: 2rem; font-weight: 400; color: var(--olive-pale); display: block; line-height: 1; }
.istat__label { font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(200,205,154,.35); display: block; margin-top: .3rem; }

/* FEATURED HWJ BANNER */
.hwj-banner {
  background: var(--cream-dark); padding: 2.5rem 4rem;
  border-bottom: 1.5px solid rgba(98,107,58,.2);
  display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap;
}
.hwj-banner__info { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.hwj-banner__star { font-size: .6rem; letter-spacing: .25em; text-transform: uppercase; color: var(--brown-mid); }
.hwj-banner__div { width: 1px; height: 24px; background: rgba(98,107,58,.25); }
.hwj-banner__name { font-family: var(--serif); font-size: 1.1rem; color: var(--brown); }
.hwj-banner__price { font-size: .78rem; font-weight: 200; color: var(--text-mid); }

/* PROGRAM SECTION (generic) */
.prog-section { scroll-margin-top: var(--nav-h); }
.prog-section--dark  { background: var(--off-black); }
.prog-section--light { background: var(--cream-light); }
.prog-section--brown { background: var(--brown); }
.prog-section--olive { background: var(--olive-deep); }

.prog-header { padding: 4.5rem 4rem 3.5rem; }
.prog-header__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: end; }
.prog-header__num {
  font-size: .62rem; font-weight: 400; letter-spacing: .3em;
  text-transform: uppercase; display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem;
}
.prog-header__num::before { content: ''; display: block; width: 28px; height: 1px; }
.prog-section--dark  .prog-header__num { color: var(--olive-pale); }
.prog-section--dark  .prog-header__num::before { background: var(--olive-pale); }
.prog-section--light .prog-header__num { color: var(--olive-light); }
.prog-section--light .prog-header__num::before { background: var(--olive); }
.prog-section--brown .prog-header__num { color: var(--olive-pale); }
.prog-section--brown .prog-header__num::before { background: var(--olive-pale); }
.prog-section--olive .prog-header__num { color: var(--olive-pale); }
.prog-section--olive .prog-header__num::before { background: var(--olive-pale); }

.prog-title { font-family: var(--serif); font-size: clamp(2.2rem,4vw,3.2rem); font-weight: 400; line-height: 1.1; margin-bottom: 1rem; }
.prog-section--dark  .prog-title,
.prog-section--brown .prog-title,
.prog-section--olive .prog-title { color: var(--white); }
.prog-section--light .prog-title { color: var(--brown); }
.prog-title em { font-style: italic; }
.prog-section--dark  .prog-title em,
.prog-section--brown .prog-title em,
.prog-section--olive .prog-title em { color: var(--olive-pale); }
.prog-section--light .prog-title em { color: var(--olive-deep); }

.prog-price-box {
  padding: 1.5rem 2rem; border-left: 2px solid; margin-bottom: 1.25rem;
}
.prog-section--dark  .prog-price-box { background: rgba(200,205,154,.05); border-color: var(--olive-pale); }
.prog-section--light .prog-price-box { background: rgba(98,107,58,.08); border-color: var(--olive); }
.prog-section--brown .prog-price-box { background: rgba(200,205,154,.05); border-color: var(--olive-pale); }
.prog-section--olive .prog-price-box { background: rgba(200,205,154,.05); border-color: var(--olive-pale); }
.prog-price { font-family: var(--serif); font-size: 2.2rem; font-weight: 400; line-height: 1; }
.prog-section--dark  .prog-price,
.prog-section--brown .prog-price,
.prog-section--olive .prog-price { color: var(--olive-pale); }
.prog-section--light .prog-price { color: var(--olive); }
.prog-price-note { font-size: .72rem; font-weight: 200; margin-top: .25rem; }
.prog-section--dark  .prog-price-note,
.prog-section--brown .prog-price-note,
.prog-section--olive .prog-price-note { color: rgba(200,205,154,.4); }
.prog-section--light .prog-price-note { color: var(--text-light); }

.prog-capacity { display: inline-flex; align-items: center; gap: .6rem; padding: .5rem 1rem; border: 1px solid; }
.prog-section--dark  .prog-capacity { background: rgba(200,205,154,.06); border-color: rgba(200,205,154,.12); color: rgba(200,213,160,.6); }
.prog-section--light .prog-capacity { background: rgba(98,107,58,.08); border-color: rgba(98,107,58,.18); color: var(--olive); }
.prog-section--brown .prog-capacity { background: rgba(200,205,154,.06); border-color: rgba(200,205,154,.12); color: rgba(200,213,160,.6); }
.prog-section--olive .prog-capacity { background: rgba(200,205,154,.06); border-color: rgba(200,205,154,.12); color: rgba(200,213,160,.6); }
.prog-capacity strong { font-weight: 500; }

.prog-body { display: grid; grid-template-columns: 1fr 1fr; }
.prog-story, .prog-detail { padding: 3.5rem 4rem; }
.prog-section--dark  .prog-detail { background: rgba(255,255,255,.025); border-left: 1px solid rgba(200,205,154,.08); }
.prog-section--light .prog-detail { background: var(--cream); border-left: 1px solid rgba(98,107,58,.12); }
.prog-section--brown .prog-detail { background: rgba(255,255,255,.02); border-left: 1px solid rgba(200,205,154,.06); }
.prog-section--olive .prog-detail { background: rgba(255,255,255,.025); border-left: 1px solid rgba(200,205,154,.08); }

.prog-flow-title, .prog-inc-title {
  font-size: .6rem; font-weight: 400; letter-spacing: .22em;
  text-transform: uppercase; margin-bottom: .85rem;
}
.prog-section--dark  .prog-flow-title,
.prog-section--dark  .prog-inc-title,
.prog-section--brown .prog-flow-title,
.prog-section--brown .prog-inc-title,
.prog-section--olive .prog-flow-title,
.prog-section--olive .prog-inc-title { color: var(--olive-pale); }
.prog-section--light .prog-flow-title,
.prog-section--light .prog-inc-title { color: var(--olive-light); }

.prog-flow { padding-left: 1.25rem; border-left: 1px solid; margin-bottom: 2.5rem; }
.prog-section--dark  .prog-flow,
.prog-section--brown .prog-flow,
.prog-section--olive .prog-flow { border-color: rgba(200,205,154,.15); }
.prog-section--light .prog-flow { border-color: rgba(98,107,58,.2); }
.prog-flow__step { position: relative; padding: 0 0 1rem 1.25rem; }
.prog-flow__step:last-child { padding-bottom: 0; }
.prog-flow__step-dot {
  position: absolute; left: -1.6rem; top: 5px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--olive-pale); border: 2px solid;
}
.prog-section--dark  .prog-flow__step-dot { border-color: var(--off-black); }
.prog-section--light .prog-flow__step-dot { border-color: var(--cream); }
.prog-section--brown .prog-flow__step-dot { border-color: var(--brown); }
.prog-section--olive .prog-flow__step-dot { border-color: var(--olive-deep); }
.prog-flow__time { font-size: .58rem; letter-spacing: .18em; margin-bottom: .15rem; }
.prog-flow__label { font-size: .85rem; font-weight: 300; }
.prog-section--dark  .prog-flow__time,
.prog-section--brown .prog-flow__time,
.prog-section--olive .prog-flow__time { color: rgba(200,205,154,.4); }
.prog-section--dark  .prog-flow__label,
.prog-section--brown .prog-flow__label,
.prog-section--olive .prog-flow__label { color: rgba(200,213,160,.75); }
.prog-section--light .prog-flow__time { color: var(--text-light); }
.prog-section--light .prog-flow__label { color: var(--text-dark); }

.prog-inc-list { list-style: none; display: flex; flex-direction: column; gap: .55rem; margin-bottom: 2rem; }
.prog-inc-list li { display: flex; align-items: flex-start; gap: .65rem; font-size: .84rem; font-weight: 200; line-height: 1.5; }
.prog-inc-list li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; margin-top: 6px; display: block; }
.prog-inc-list--yes li::before { background: var(--olive-pale); }
.prog-inc-list--no  li::before { background: rgba(150,140,120,.4); }
.prog-section--dark  .prog-inc-list--yes li { color: rgba(200,213,160,.6); }
.prog-section--dark  .prog-inc-list--no  li { color: rgba(200,213,160,.35); }
.prog-section--light .prog-inc-list--yes li { color: var(--text-mid); }
.prog-section--light .prog-inc-list--no  li { color: var(--text-light); }
.prog-section--brown .prog-inc-list--yes li { color: rgba(200,213,160,.6); }
.prog-section--brown .prog-inc-list--no  li { color: rgba(200,213,160,.35); }
.prog-section--olive .prog-inc-list--yes li { color: rgba(200,213,160,.6); }
.prog-section--olive .prog-inc-list--no  li { color: rgba(200,213,160,.35); }

.prog-cta-row { margin-top: 2rem; padding-top: 2rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; border-top: 1px solid; }
.prog-section--dark  .prog-cta-row,
.prog-section--brown .prog-cta-row,
.prog-section--olive .prog-cta-row { border-color: rgba(200,205,154,.08); }
.prog-section--light .prog-cta-row { border-color: rgba(98,107,58,.1); }

/* CUSTOM / CORPORATE */
.custom-section { background: var(--brown); padding: var(--section-pad); display: grid; grid-template-columns: 1fr 1fr; gap: 7rem; align-items: center; position: relative; overflow: hidden; }
.custom-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 65% 70% at 0% 50%, rgba(98,107,58,.15) 0%, transparent 58%); }
.custom-section__text { position: relative; z-index: 1; }
.custom-features { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 1.25rem; }
.custom-feat { display: flex; gap: 1.1rem; align-items: flex-start; }
.custom-feat__icon { width: 34px; height: 34px; border: 1px solid rgba(200,205,154,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--olive-pale); font-size: 1rem; }
.custom-feat__title { font-size: .82rem; font-weight: 400; color: rgba(200,213,160,.85); margin-bottom: .2rem; display: block; }
.custom-feat__desc { font-size: .8rem; font-weight: 200; line-height: 1.6; color: rgba(200,213,160,.48); }

/* COMPARISON TABLE */
.compare-section { padding: var(--section-pad); background: var(--cream); }
.compare-table-wrap { overflow-x: auto; }
.compare-table { width: 100%; border-collapse: collapse; min-width: 700px; }
.compare-table th { padding: 1rem 1.5rem; font-size: .7rem; font-weight: 500; letter-spacing: .1em; text-align: left; color: var(--brown); border-bottom: 2px solid rgba(98,107,58,.18); }
.compare-table th:not(:first-child) { text-align: center; }
.compare-table th.is-featured { color: var(--olive); }
.compare-table td { padding: .9rem 1.5rem; font-size: .84rem; font-weight: 200; color: var(--text-mid); border-bottom: 1px solid rgba(98,107,58,.07); }
.compare-table td:not(:first-child) { text-align: center; }
.compare-table td.is-featured { background: rgba(98,107,58,.04); }
.compare-table td.row-label { font-weight: 400; color: var(--text-dark); }
.compare-table tfoot td { padding: 1.25rem 1.5rem; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; color: var(--olive); border-top: 2px solid rgba(98,107,58,.12); border-bottom: none; text-align: center; }
.compare-table tfoot td.is-featured { color: var(--olive-deep); }
.compare-table tfoot td:first-child { font-family: var(--sans); font-size: .78rem; font-weight: 500; color: var(--brown); text-align: left; }
.chk { color: var(--olive); font-size: 1rem; }
.crs { color: rgba(160,150,130,.45); font-size: .85rem; }
.opt { color: var(--brown-light); font-size: .75rem; font-style: italic; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .hero__content { padding: 0 2rem 5rem; }
  .intro-band { flex-direction: column; gap: 2rem; padding: 3rem 2rem; }
  .intro-band__stats { width: 100%; }
  .hwj-banner { padding: 2rem; }
  .prog-header__inner { grid-template-columns: 1fr; gap: 2rem; }
  .prog-body { grid-template-columns: 1fr; }
  .prog-story, .prog-detail { padding: 3rem 2rem; }
  .prog-detail { border-left: none; border-top: 1px solid; }
  .prog-section--dark  .prog-detail { border-top-color: rgba(200,205,154,.08); }
  .prog-section--light .prog-detail { border-top-color: rgba(98,107,58,.12); }
  .prog-section--brown .prog-detail { border-top-color: rgba(200,205,154,.06); }
  .prog-section--olive .prog-detail { border-top-color: rgba(200,205,154,.08); }
  .custom-section { grid-template-columns: 1fr; gap: 3rem; }
}
