.legacy-page{ --legacy-purple:#614099; }
.legacy-page .site-header{ background:var(--bg); }
.legacy-hero{ position:relative; isolation:isolate; background:#f9f6fc; color:#18191c; padding:140px 0 54px; min-height:760px; overflow:hidden; }
.legacy-hero__image{ position:absolute; inset:92px 0 0; width:100%; height:calc(100% - 92px); object-fit:cover; object-position:center top; z-index:-1; }
.legacy-hero__copy{ width:58%; max-width:640px; }
.legacy-hero__logo{ width:210px; height:auto; margin-bottom:26px; }
.legacy-kicker{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#544564; margin-bottom:14px; }
.legacy-hero h1{ font:italic 600 clamp(2rem,3.1vw,3rem)/1.12 var(--sans); text-transform:uppercase; letter-spacing:-.025em; }
.legacy-hero__promises{ margin:20px 0 28px; color:var(--legacy-purple); font:italic 600 clamp(.95rem,1.35vw,1.22rem)/1.55 var(--sans); text-transform:uppercase; }
.legacy-hero__note{ max-width:49ch; margin-top:18px; font-size:.72rem; line-height:1.65; color:#544564; }
.legacy-hero .btn:hover{ background:#efe7f4; color:#18191c; }
.legacy-jump{ background:#efe9f2; color:#302b38; border-block:1px solid #dcd4e1; }
.legacy-jump .wrap{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px 36px; padding-block:20px; }
.legacy-jump a{ font-size:.78rem; padding:5px 0; border-bottom:1px solid transparent; }
.legacy-jump a:hover{ border-color:var(--legacy-purple); }
.legacy-page h2{ font-family:var(--serif); color:#fff; font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.16; margin-bottom:24px; }
.legacy-page h3{ font-family:var(--serif); font-size:1.55rem; color:#fff; line-height:1.25; margin-bottom:14px; }
.legacy-page .section p{ color:var(--text-soft); }
.legacy-benefit-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.legacy-benefit-grid article{ border-top:1px solid var(--accent); padding-top:24px; }
.legacy-number{ display:block; font-size:.75rem; letter-spacing:.15em; color:var(--accent-2); margin-bottom:24px; }
.legacy-benefit-grid p{ font-size:.91rem; }
.legacy-small{ font-size:.78rem; line-height:1.7; margin:28px 0 0; }
.legacy-tech{ display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:70px; }
.legacy-tech__media img{ width:auto; height:510px; max-width:100%; object-fit:contain; margin:auto; }
.legacy-tech-list{ margin-top:28px; }
.legacy-tech-list > div{ border-top:1px solid var(--line); padding:20px 0; }
.legacy-tech-list dt{ font-weight:500; color:var(--text); margin-bottom:7px; }
.legacy-tech-list dd{ margin:0; font-size:.9rem; color:var(--text-soft); }
.legacy-light{ background:#f2edf3; color:#27232c; }
.legacy-light h2,.legacy-light h3{ color:#27232c; }
.legacy-page .legacy-light p{ color:#56505d; }
.legacy-light .eyebrow .label{ color:var(--legacy-purple); }
.legacy-session-facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-block:20px; }
.legacy-session-facts > div{ border-left:1px solid #cfc1dc; padding-left:24px; }
.legacy-session-facts strong{ display:block; font:400 clamp(2.5rem,4vw,3.6rem)/1.2 var(--serif); color:var(--legacy-purple); }
.legacy-session-facts span{ display:block; margin-top:12px; font-size:.84rem; }
.legacy-steps{ list-style:none; counter-reset:step; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin:44px 0 0; }
.legacy-steps li{ counter-increment:step; }
.legacy-steps li::before{ content:"0" counter(step); display:block; color:var(--legacy-purple); font-size:.75rem; letter-spacing:.12em; margin-bottom:14px; }
.legacy-steps p{ font-size:.91rem; }
.legacy-zones,.legacy-faq-layout{ display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:start; }
.legacy-zones .link-arrow{ margin-top:22px; }
.legacy-zone-cards{ display:grid; gap:24px; }
.legacy-zone-cards article{ padding:30px; border:1px solid var(--line); }
.legacy-zone-cards p{ margin-bottom:0; }
.legacy-faq details{ border-bottom:1px solid var(--line); }
.legacy-faq details:first-child{ border-top:1px solid var(--line); }
.legacy-faq summary{ cursor:pointer; font-size:.98rem; padding:22px 28px 22px 0; color:var(--text); }
.legacy-faq p{ font-size:.91rem; padding-bottom:18px; margin:0; }
.legacy-faq a,.legacy-sources a{ text-decoration:underline; text-underline-offset:4px; }
.legacy-faq summary:focus-visible,.legacy-sources summary:focus-visible,.legacy-jump a:focus-visible{ outline:2px solid var(--accent-2); outline-offset:5px; }
.legacy-booking{ text-align:center; }
.legacy-booking .script{ font-size:2.6rem; color:var(--accent-2) !important; }
.legacy-booking p:not(.script){ max-width:62ch; margin:0 auto; }
.legacy-booking__buttons{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:32px; }
.legacy-sources{ font-size:.78rem; color:var(--text-soft); padding-bottom:40px; }
.legacy-sources summary{ cursor:pointer; padding-bottom:12px; }
.legacy-sources p{ max-width:110ch; }
@media(min-width:1600px){ .legacy-hero{ min-height:850px; } }
@media(max-width:1000px){
  .legacy-hero{ min-height:700px; }
  .legacy-hero__copy{ width:62%; }
  .legacy-benefit-grid{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .legacy-tech,.legacy-zones,.legacy-faq-layout{ gap:36px; }
}
@media(max-width:700px){
  .legacy-hero{ min-height:0; padding:112px 0 310px; }
  .legacy-hero__image{ top:auto; bottom:0; height:330px; object-fit:cover; object-position:right top; }
  .legacy-hero__inner{ padding-bottom:24px; }
  .legacy-hero__copy{ width:100%; max-width:510px; }
  .legacy-hero__logo{ width:170px; margin-bottom:24px; }
  .legacy-hero h1{ font-size:clamp(1.9rem,7.5vw,2.6rem); }
  .legacy-hero__promises{ font-size:.94rem; }
  .legacy-hero__note{ font-size:.72rem; }
  .legacy-jump .wrap{ gap:8px 22px; justify-content:flex-start; }
  .legacy-jump a{ font-size:.75rem; }
  .legacy-tech,.legacy-zones,.legacy-faq-layout{ grid-template-columns:1fr; gap:34px; }
  .legacy-tech__media{ order:2; }
  .legacy-tech__media img{ height:300px; }
  .legacy-session-facts{ grid-template-columns:1fr; gap:24px; }
  .legacy-session-facts strong{ font-size:2.8rem; }
  .legacy-steps{ grid-template-columns:1fr; gap:22px; }
  .legacy-booking__buttons .btn{ width:100%; }
}
@media(max-width:440px){ .legacy-benefit-grid{ grid-template-columns:1fr; gap:28px; } }
