/* A restrained, shared visual language for the complete page. */
:root { --paper: #060911; --ink: #f3f6ff; --muted: #acb9ce; --line: #ffffff16; --blue: #99bbff; }
body { background: var(--paper); }
.preview-note { background: #101625; color: #b7c3d8; border-bottom: 1px solid #ffffff09; }
h1,h2,h3 { font-family: Inter,Arial,sans-serif; }
.gradient-text {
  background-image: linear-gradient(105deg,#dce9ff 5%,#9ec9ff 42%,#aba3fa 88%);
}
.header { padding-block: 28px; }
.header nav { background: #ffffff04; border-color: #ffffff18; border-radius: 999px; padding: 4px; backdrop-filter: blur(16px); }
.header nav a { border-radius: 999px; font-size: 16px; font-weight: 500; letter-spacing: 0; color: #aebbd0; padding-inline: 18px; }
.header nav a[aria-current="location"] { background: #a7bbff12; color: #e1eaff; text-decoration: none; box-shadow: inset 0 0 0 1px #c4d8ff20; }
.brand-dot { color: #acd8eb; }
.button {
  border-color: #d1dcff85;
  background: linear-gradient(115deg,#d0ebfa,#afc5ff 60%,#bcb3f4);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 #fff8,0 5px 24px #859efa16;
}
.hero {
  isolation: isolate;
  padding-top: clamp(44px,6vw,88px);
  padding-bottom: 52px;
  background: radial-gradient(ellipse at 18% 38%,#307b9820,transparent 48%),radial-gradient(ellipse at 86% 28%,#7556b91c,transparent 46%);
}
.hero::before { inset: 0; z-index: -1; opacity: .48; background-size: 80px 80px; mask-image: radial-gradient(ellipse at 50% 40%,#000,transparent 65%); }
.hero::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: min(1050px,120vw); height: 540px; top: 140px; left: 50%;
  border: 1px solid #b1b8ff13; border-radius: 50%;
  transform: translateX(-50%) rotate(-16deg);
  box-shadow: 0 0 90px #7ca9ff08,inset 0 0 90px #9985eb08;
}
.hero h1 { font-size: clamp(42px,5.6vw,80px); line-height: 1.08; letter-spacing: -.065em; font-weight: 600; margin-bottom: 28px; }
.hero .lead { max-width: 650px; font-size: clamp(18px,1.5vw,21px); line-height: 1.65; margin-bottom: 42px; }
.film-card { width: min(900px,100%); margin-bottom: 32px; }
.film-stage.video-shell { border-radius: 16px; box-shadow: 0 24px 90px #0004; }
.workshop-location { background: #0c15275c; backdrop-filter: blur(12px); border-color: #ffffff28; }
.workshop-overlay strong { font-family: Inter,Arial,sans-serif; font-weight: 500; }
.video-duration { border: 0; background: #10182770; backdrop-filter: blur(12px); }
.workshop-privacy { color: #a9b7cc; }
.hero-secondary { margin-left: 24px; border: 0; color: #c5d0e4; }
.hero-foot { color: #9aa9c2; }
.benefits { padding-block: 40px 92px; gap: 44px; }
.benefits article {
  position: relative; text-align: left; border: 0; border-radius: 0; padding: 28px 0 0;
  background: transparent; box-shadow: none;
}
.benefits article::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg,#adcdff80,#b09af320,transparent); }
.benefit-icon { display: inline-flex; align-items: center; color: #b7c9fa; }
.benefit-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.benefits h2 { font-size: 23px; font-weight: 500; letter-spacing: -.03em; margin-block: 22px 12px; }
.benefits p { font-size: 18px; line-height: 1.65; }
.section { padding-block: clamp(68px,8vw,112px); }
.section h2,.join-section h2 { font-size: clamp(34px,3.8vw,52px); line-height: 1.14; font-weight: 550; letter-spacing: -.055em; }
.community-section { border: 0; background: linear-gradient(115deg,#121a2a70,#060911 65%); }
.coach-story { gap: 80px; }
.coach-story .body-copy { max-width: 40ch; margin-top: 28px; }
.text-link { border-bottom: 1px solid #a9c6ff45; font-weight: 500; }
.event-note {
  position: relative; isolation: isolate; overflow: hidden; min-height: 340px;
  padding: 42px; border: 1px solid #b9cfff1c; border-radius: 24px;
  background: radial-gradient(ellipse at 100% 0%,#7265aa28,transparent 70%),linear-gradient(140deg,#1624338c,#0c132080);
  box-shadow: inset 0 1px 0 #e4edff09;
}
.event-note::before,.event-note::after { content:''; position:absolute; pointer-events:none; z-index:-1; border:1px solid #b8c9ff18; border-radius:50%; width:270px; height:270px; right:-95px; top:-105px; }
.event-note::after { width:200px; height:200px; right:-60px; top:-70px; box-shadow:0 0 75px #8cbaff12; }
.event-note h3 { font-size: clamp(30px,3vw,40px); line-height:1.2; font-weight:500; letter-spacing:-.045em; max-width:12ch; }
.event-note dl div { border-color:#d6e4ff1a; }
.event-note dt { color:#acbbd2; }
.event-note dd { color:#d1e2fa; }
.testimonial-heading { margin-bottom:44px; }
.testimonial-heading h2 { max-width:23ch; }
.testimonial-grid { row-gap:42px; }
.testimonial-card .video-shell { box-shadow:none; }
.testimonial-caption h3 { color:#e6edfa; }
.testimonials { border:0; }
.media-service-note { color:#a4b3cb; }
.faq-section { border-top:1px solid #d5e6ff12; }
.faq-list details { margin:0; padding:24px 0; border:0; border-top:1px solid #d3e1ff20; border-radius:0; background:transparent; }
.faq-list details:last-child { border-bottom:1px solid #d3e1ff20; }
.faq-list details[open] { background:transparent; border-color:#a6bfff66; }
.faq-list summary { font-family:Inter,Arial,sans-serif; font-weight:500; font-size:19px; }
.faq-list summary span { display:grid;place-items:center;width:30px;height:30px;border:1px solid #b8cdff28;border-radius:50%;font-size:20px;color:#c5d4ff; }
.faq-list p { font-size:18px; line-height:1.75; margin-bottom:4px; }
.join-section {
  position:relative; isolation:isolate; overflow:hidden;
  border:1px solid #b6bfff26; border-radius:28px; padding:88px 48px 64px;
  background:radial-gradient(ellipse at 50% -45%,#849efa3b,transparent 73%),linear-gradient(135deg,#111d2a,#141323 90%);
}
.join-section::before { content:''; position:absolute;z-index:-1;pointer-events:none;top:-300px;left:50%;width:800px;height:420px;transform:translateX(-50%);border-radius:50%;border:1px solid #c3ceff40;box-shadow:0 0 55px #b4bcff15,0 12px 65px #7c9bf218; }
.join-section h2 { max-width:20ch; }
.join-section .destination-note { color:#bbc8df; max-width:62ch; }
.risk-note { padding-block:44px; border-color:#ffffff12; }
.footer { padding-block:32px; }
.footer>span { border-color:#ffffff12; }
@media (hover:hover) and (pointer:fine) {
  .header nav a:hover { background:#a7bbff0e; }
  .button:hover:not(:disabled) { box-shadow:inset 0 1px 0 #fff8,0 8px 32px #999ffc26; }
  .faq-list summary:hover { color:#c4d6ff; }
}
@media(max-width:1100px) { .header nav { justify-self:center; width:auto; min-width:65%; } }
@media(max-width:1000px) { .coach-story { gap:36px; } .event-note { max-width:none; } }
@media(max-width:700px) {
  .header { padding-block:22px; }
  .header nav { width:100%; min-width:0; border-radius:20px; }
  .header nav a { padding-inline:10px; }
  .header .small-cta { max-width:205px; }
  .hero { padding-top:38px; }
  .hero h1 { font-size:clamp(40px,9.5vw,60px); }
  .hero .lead { margin-bottom:30px; }
  .hero::after { width:550px;height:350px;top:100px; }
  .film-stage.video-shell { border-radius:12px; }
  .hero-secondary { margin:14px 0 0; }
  .benefits { padding-block:24px 64px; gap:28px; }
  .benefits article { grid-template-columns:36px 1fr; padding-top:24px; }
  .benefits h2 { margin:0 0 8px; font-size:22px; }
  .benefit-icon { align-self:start; padding-top:3px; }
  .section h2,.join-section h2 { font-size:clamp(34px,7.6vw,44px); }
  .event-note { min-height:290px; padding:32px 28px; }
  .testimonial-heading { margin-bottom:32px; }
  .faq-list details { padding-block:22px; }
  .join-section { border-radius:24px;padding:64px 24px 40px; }
}
@media(max-width:380px) {
  .header .small-cta { max-width:174px; }
  .hero h1 { font-size:38px; }
  .section h2,.join-section h2 { font-size:32px; }
  .join-section { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) { .video-load img { transition:none; } .video-load:hover img { transform:none; } }
/* Translucent playback controls without a blur layer over the footage. */
.video-play,.workshop-play .video-play { backdrop-filter:none; -webkit-backdrop-filter:none; background:#17233966; }

/* Source-attributed account summary; source evidence remains one click away. */
#trackrecord { scroll-margin-top:28px; }
.coach-record-link { margin-left:24px; }
.trackrecord-section { display:grid;grid-template-columns:1fr 1fr;gap:32px 72px;align-items:center;border-bottom:1px solid #d5e6ff12; }
.trackrecord-intro .body-copy { max-width:40ch;margin-block:28px 32px; }
.record-panel { min-width:0;padding:32px 36px;border:1px solid #c5d8ff24;border-radius:24px;background:radial-gradient(ellipse at 100% 0%,#7967b421,transparent 65%),linear-gradient(145deg,#14203199,#0c121dcc);box-shadow:inset 0 1px 0 #ffffff0b; }
.record-source-row { display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #d0ddff1b;font-size:16px;color:#afc0d8; }
.record-source-row a { display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#d9e6ff;font-weight:500; }
.record-source-row a span { color:#9bb3d6; }
.record-heading { margin-block:26px 24px; }
.record-heading h3 { font-size:30px;letter-spacing:-.04em;font-weight:500;margin:0 0 10px; }
.record-heading p { font-size:16px;color:#afc0d8;line-height:1.7;margin:0; }
.record-heading p span { margin-inline:7px;color:#687b9a; }
.record-verification>p { font-size:16px;color:#b5c6dc;margin:0 0 12px; }
.record-verification ul { display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0 0 28px;color:#d4e0f3;font-size:16px; }
.record-verification li { display:flex;align-items:center;gap:8px; }
.record-verification li span { display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#82c5af16;color:#a4d9cb;font-size:14px; }
.record-metrics { display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin:0;padding-block:28px;border-block:1px solid #d0ddff1b; }
.record-metrics div { min-width:0; }
.record-metrics .record-gain { grid-column:1 / -1; }
.record-metrics dt { font-size:16px;color:#aebed6;margin-bottom:10px; }
.record-metrics dd { margin:0;font-size:38px;font-weight:500;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums;color:#e5edff; }
.record-metrics .record-gain dd { font-size:clamp(42px,4.5vw,62px);color:#c8d8ff; }
.record-metrics dd span { font-size:.65em;margin-left:3px; }
.record-provenance { padding-top:20px; }
.record-provenance p { margin:0;font-size:16px;line-height:1.6;color:#aabbd3; }
.record-provenance a { display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:4px;font-size:16px;color:#c6d7f4; }
.record-context { grid-column:1 / -1;max-width:78ch;margin:0;font-size:16px;line-height:1.7;color:#aabbd3; }
@media(hover:hover) { .record-source-row a:hover,.record-provenance a:hover { color:#fff;text-decoration:underline;text-underline-offset:5px; } }
@media(max-width:1000px) { .trackrecord-section { gap:32px; } .record-panel { padding:28px; } }
@media(max-width:760px) { .trackrecord-section { grid-template-columns:1fr; } }
@media(max-width:400px) { .record-panel { padding:24px; } .coach-record-link { margin-left:0; } }

/* Selected community milestones, shown with their original context. */
.member-results { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px 72px;border-top:1px solid #d5e6ff12;scroll-margin-top:28px; }
.member-results-copy .body-copy { max-width:40ch;margin-block:24px; }
.member-results-media { margin:0;min-width:0; }
.member-results-media>a { display:block;border-radius:18px;transition:opacity 180ms ease; }
.member-results-media img { display:block;width:100%;height:auto; }
.member-results-media figcaption { margin-top:18px;font-size:16px;line-height:1.6;color:#aabbd3; }
.member-results-context { grid-column:1 / -1;max-width:85ch;margin:0;color:#aabbd3;font-size:16px;line-height:1.7; }
@media(hover:hover) { .member-results-media>a:hover { opacity:.9; } }
@media(max-width:1000px) { .member-results { gap:32px; } }
@media(max-width:760px) { .member-results { grid-template-columns:1fr; } .member-results-media { max-width:540px; } }
@media(prefers-reduced-motion:reduce) { .member-results-media>a { transition:none; } }
