:root{--navy:#041b34;--blue:#052a46;--yellow:#ffe23b;--muted:#556579;--width:1240px;color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:#fff}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #4898dc;outline-offset:6px}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.top-scene{overflow:hidden;position:relative}.blue-aura{position:absolute;z-index:-1;top:-340px;right:-220px;width:1020px;height:1220px;background:radial-gradient(ellipse at 63% 40%,#04233b 0%,#073754 26%,#245d86 43%,#89acc7 53%,#dce8f2 61%,#fff0 72%);pointer-events:none}.header{height:122px;display:flex;align-items:center;gap:64px;position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand svg{width:58px;height:65px;overflow:visible;stroke:var(--yellow);stroke-width:2;fill:none}.brand circle{fill:var(--yellow);stroke:none}.brand>span{font-size:23px;line-height:.91;font-weight:900;letter-spacing:-.9px}.brand small{display:block;font-size:12px;line-height:1.2;letter-spacing:2px}.brand sup{font-size:9px;vertical-align:top;letter-spacing:0;padding-left:2px}.header nav{margin-left:auto;display:flex;gap:42px;font-size:15px}.header nav a{padding:10px 0}.header nav a{color:#fff;text-shadow:0 1px 8px #041b3499}.header-signin{display:none}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{display:flex;align-items:center;gap:24px;background:var(--navy);color:white;border:1px solid #d1e0ed;border-radius:10px;padding:16px 22px;font-size:15px;font-weight:600;transition:transform .25s,background .25s}.header-cta span{font-size:24px}.header-cta:hover{background:#124268;transform:translateY(-2px)}.hero{position:relative;min-height:740px;padding-top:45px;display:grid;grid-template-columns:1fr 1fr}.hero-copy{position:relative;z-index:3;align-self:start;padding-bottom:60px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3.2px;display:flex;align-items:center;gap:19px;margin:0 0 33px}.eyebrow>span{width:42px;height:2px;background:var(--yellow);flex-shrink:0}h1{font-size:clamp(60px,6.5vw,94px);line-height:1.015;letter-spacing:-5.9px;font-weight:900;margin:0 0 28px}mark{display:inline-block;background:var(--yellow);color:var(--navy);border-radius:8px;padding:0 11px 6px;margin:5px 0 0 -7px;line-height:1.01}p{line-height:1.5}.hero-desc{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:0 0 31px}.hero-actions{display:flex;align-items:center;gap:22px}.hero-actions>p{font-size:14px;white-space:nowrap}.hero-actions>p>span{padding-inline:5px}.split-button{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff;border:0;border-radius:9px;padding:5px 5px 5px 24px;font-size:18px;white-space:nowrap;font-weight:600;transition:transform .25s,box-shadow .25s}.split-button>span{display:grid;place-items:center;background:var(--yellow);color:var(--navy);width:58px;height:58px;border-radius:6px;font-size:34px;font-weight:400;transition:background .25s}.split-button:hover{transform:translateY(-3px);box-shadow:0 12px 24px #041b3424}.split-button:hover>span{background:#fff07b}.portrait{position:absolute;right:-64px;bottom:0;width:670px;height:765px;scroll-margin-top:30px}.portrait img{position:absolute;bottom:0;right:-55px;height:730px;width:auto;max-width:none;object-fit:contain;mask-image:linear-gradient(to bottom,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent 100%)}.orbit{position:absolute;width:700px;height:730px;left:-20px;top:-10px;fill:none;stroke:var(--yellow);stroke-width:2}.orbit circle{fill:var(--yellow);stroke:none;filter:drop-shadow(0 0 18px #ffe23b44)}.host-caption{position:absolute;bottom:62px;right:45px;color:white;text-align:right;text-shadow:0 2px 15px #041b34;z-index:2}.host-caption strong{display:block;font-size:20px;letter-spacing:-.4px}.host-caption>span{display:block;font-size:14px;margin-top:7px}.event-meta{display:grid;grid-template-columns:1fr .92fr 1.1fr;border-top:1px solid #cbd5df;padding:24px 0 9px;position:relative;z-index:3}.event-meta p{margin:0;text-align:center;font-size:14px;padding:0 10px}.event-meta p+p{border-left:1px solid #cbd5df}.meta-dot{display:none}.disclaimer{font-size:12px;color:var(--muted);text-align:center;margin:13px 24px 0}.experience{padding-top:82px;padding-bottom:75px;scroll-margin-top:30px}.experience>.eyebrow{margin-bottom:24px}h2{font-size:clamp(34px,4.9vw,65px);line-height:1.05;letter-spacing:-3.1px;margin:0;font-weight:900}.steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin-top:26px}.step{position:relative;padding:0 0 0 47px;z-index:1}.step-number{display:block;font-size:112px;line-height:1;font-weight:800;letter-spacing:-6px;color:#e5eef8}.node{display:block;width:34px;height:34px;background:var(--yellow);border-radius:50%;margin-top:-8px;position:relative}.step h3{font-size:31px;letter-spacing:-1px;margin:10px 0 5px;line-height:1.1}.step p{font-size:18px;margin:0;letter-spacing:-.3px;line-height:1.35}.connecting-line{position:absolute;left:65px;top:43px;height:115px;width:calc(100% + 120px);stroke:var(--yellow);stroke-width:2;fill:none}.registration{position:relative;color:#fff;background:radial-gradient(ellipse at 85% 90%,#1d5a83 0%,#052b47 45%,#031c32 75%);padding:84px 0 66px;margin-top:42px}.section-wave{position:absolute;top:-68px;left:0;width:100%;height:70px;fill:#031e35}.registration-inner{display:grid;grid-template-columns:1fr 265px;gap:50px;position:relative;z-index:1}.registration h2{font-size:clamp(34px,4.65vw,62px);letter-spacing:-2.7px}.challenge-name{font-size:28px;letter-spacing:-.6px;margin:10px 0 30px}.registration-actions{display:flex;align-items:center;gap:28px}.yellow-button{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--yellow);color:var(--navy);font-size:20px;line-height:1.2;font-weight:700;padding:21px 26px;border-radius:7px;border:1px solid #ffe852;box-shadow:0 3px 0 #dbba1e;transition:transform .25s,box-shadow .25s}.yellow-button>span{font-size:29px;font-weight:400}.yellow-button:hover{transform:translateY(-3px);box-shadow:0 6px 0 #dbba1e}.registration-actions>p{font-size:13px;line-height:1.5;padding-left:28px;border-left:1px solid #b3a33c;margin:0}.registration-actions strong,.registration-actions>p>span{display:block}.registration-actions>p>span{font-size:12px;opacity:.8;margin-top:3px}.price{border-left:1px solid #d2b72c;display:flex;flex-direction:column;justify-content:center;padding-left:50px;margin-block:12px}.price>span{font-size:12px;letter-spacing:3px;color:var(--yellow);font-weight:700}.price>strong{font-size:112px;letter-spacing:-5px;line-height:1.12;margin-top:8px}.footer-orbit{position:absolute;right:-60px;top:-20px;height:400px;width:450px;fill:none;stroke:var(--yellow);stroke-width:2;opacity:.9}.footer-orbit circle{fill:var(--yellow);filter:drop-shadow(0 0 18px #ffe23b55)}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}.brand-small{gap:9px}.brand-small svg{width:38px;height:40px}.brand-small>span{font-size:14px;letter-spacing:-.5px}.brand-small small{font-size:8px}.brand-small sup{font-size:6px}.footer>p{color:var(--muted);font-size:11px}.back-top{font-size:12px;color:var(--muted)}.skip{position:fixed;top:-70px;left:20px;background:var(--yellow);padding:16px;z-index:30}.skip:focus{top:10px}dialog{border:0;border-radius:18px;padding:48px;color:var(--navy);max-width:560px;width:calc(100% - 36px);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#031b34a6;backdrop-filter:blur(8px)}dialog .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:24px}dialog h2{font-size:46px;letter-spacing:-2px}dialog>p{font-size:16px}dialog dl{margin:28px 0}dialog dl>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e1e7ed;font-size:14px;line-height:1.5}dialog dt{color:var(--muted)}dialog dd{margin:0;text-align:right;font-weight:600}.dialog-close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:30px;color:var(--muted);padding:4px 8px}.registration-notice{background:#f1f5f9;border-radius:8px;padding:18px;line-height:1.6}.dialog-disclaimer{font-size:11px!important;color:var(--muted);margin-bottom:0}.checkout{font-size:16px;justify-content:center}[hidden]{display:none!important}
@media(min-width:1440px){.blue-aura{right:calc((100vw - 1440px)/2 - 200px)}.hero{min-height:770px}.portrait{height:790px}.portrait img{height:760px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header{gap:32px;height:110px}.header nav{gap:26px}.hero{min-height:670px;padding-top:35px}h1{font-size:76px;letter-spacing:-4.7px}.portrait{right:-110px;width:590px;height:685px}.portrait img{height:640px;right:-40px}.orbit{width:590px;height:650px;left:0;top:0}.hero-desc{font-size:20px}.hero-actions{gap:13px}.hero-actions>p{font-size:12px}.split-button{font-size:16px;padding-left:18px;gap:17px}.split-button>span{height:52px;width:52px}.blue-aura{right:-350px}.host-caption{right:70px;bottom:62px}.host-caption strong{font-size:18px}.host-caption>span{font-size:12px}.hero-copy{padding-bottom:48px}.event-meta p{font-size:12px}.experience{padding-top:65px}.registration-inner{grid-template-columns:1fr 205px;gap:28px}.price{padding-left:30px}.price>strong{font-size:94px}.challenge-name{font-size:23px}.registration-actions{gap:20px}.registration-actions>p{padding-left:20px;font-size:11px}.yellow-button{font-size:17px;gap:25px;padding:17px 22px}.registration{padding-top:65px}.footer>p{max-width:280px;text-align:center}}
@media(max-width:800px){.header nav{display:none}.header-signin{display:inline-block;margin-left:auto;color:var(--navy);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:8px 4px}.header-cta{margin-left:12px}.header{height:95px}.brand>span{font-size:18px}.brand svg{width:48px;height:50px}.brand{gap:9px}.brand small{font-size:9px}.header-cta{padding:11px 15px;font-size:13px;gap:15px}.hero{padding-top:25px;min-height:600px}.hero-copy{padding-bottom:45px}.eyebrow{font-size:9px;letter-spacing:2px;gap:12px;margin-bottom:26px}.eyebrow>span{width:28px}h1{font-size:61px;letter-spacing:-3.8px}.hero-desc{font-size:17px;max-width:300px}.hero-actions{align-items:flex-start;flex-direction:column;gap:0}.hero-actions>p{margin:13px 0 0}.portrait{right:-180px;bottom:0;width:550px;height:610px}.portrait img{height:560px;right:0}.orbit{width:550px;height:600px}.host-caption{right:155px;bottom:50px;max-width:210px}.host-caption strong{font-size:16px}.host-caption>span{font-size:10px}.blue-aura{right:-430px;top:-370px}.event-meta p{font-size:11px}.experience{padding-top:55px;padding-bottom:65px}h2{font-size:40px;letter-spacing:-2px}.step{padding-left:22px}.step-number{font-size:88px}.step h3{font-size:27px}.step p{font-size:15px}.node{width:28px;height:28px}.connecting-line{left:36px;top:33px;height:90px}.registration-inner{grid-template-columns:1fr 145px;gap:20px}.registration h2{font-size:38px;letter-spacing:-1.8px}.challenge-name{font-size:20px}.price{padding-left:24px}.price>span{font-size:10px;letter-spacing:2px}.price>strong{font-size:74px}.registration-actions{flex-wrap:wrap;gap:20px}.registration-actions>p{padding-left:0;border:0}.footer{gap:15px}.back-top{display:none}}
@media(max-width:560px){.wrap{width:calc(100% - 40px)}.header{height:88px;gap:10px}.brand>span{font-size:15px}.brand svg{width:39px;height:43px}.brand small{font-size:8px}.brand sup{font-size:6px}.brand{gap:7px}.header-cta{border-color:#d9e2ea;font-size:11px;padding:11px 12px;gap:10px;border-radius:7px}.header-cta>span{font-size:18px}.blue-aura{top:340px;right:-200px;width:780px;height:800px;background:radial-gradient(ellipse,#04233b 10%,#20577f 38%,#a9c2d9 55%,#fff0 71%)}.hero{display:flex;flex-direction:column;padding-top:28px;min-height:0}.hero-copy{padding-bottom:0}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:26px}h1{font-size:clamp(54px,13.8vw,77px);letter-spacing:-3.8px;line-height:1.02;margin-bottom:25px}mark{padding-bottom:5px}.hero-desc{font-size:18px;max-width:360px;margin-bottom:25px}.desktop-break{display:none}.hero-actions{flex-direction:row;align-items:center;gap:15px}.hero-actions>p{font-size:11px;line-height:1.6;margin:0;white-space:normal;max-width:65px}.hero-actions>p>span{padding-inline:1px}.split-button{font-size:15px;padding-left:17px;gap:20px}.split-button>span{height:48px;width:48px;font-size:29px}.portrait{position:relative;right:auto;width:calc(100% + 40px);height:450px;align-self:center;margin-top:17px}.portrait img{height:450px;right:50%;transform:translateX(50%);bottom:0}.orbit{width:460px;height:470px;top:-5px;left:50%;transform:translateX(-50%)}.host-caption{right:25px;bottom:56px;max-width:250px}.host-caption strong{font-size:17px}.host-caption>span{font-size:11px}.event-meta{padding:16px 0;grid-template-columns:1fr;gap:12px}.event-meta p{text-align:left;padding:0;display:flex;align-items:center;gap:12px;font-size:13px}.event-meta p+p{border:0}.meta-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--yellow);flex-shrink:0}.disclaimer{font-size:10px;margin-top:7px}.experience{padding-top:59px;padding-bottom:75px}.experience>.eyebrow{margin-bottom:22px}.experience h2{font-size:40px;line-height:1.08;letter-spacing:-2px;max-width:320px}.steps{display:flex;flex-direction:column;margin-top:34px;gap:32px}.connecting-line{display:none}.step{padding:0 0 0 100px;min-height:90px;display:flex;flex-direction:column;justify-content:center}.step-number{position:absolute;left:0;top:0;font-size:76px;letter-spacing:-4px}.node{position:absolute;left:26px;top:58px;width:19px;height:19px;margin:0}.step:not(:last-child):after{content:'';position:absolute;left:35px;top:78px;height:51px;width:1px;background:var(--yellow)}.step h3{font-size:29px;margin:0 0 7px}.step p{font-size:16px;line-height:1.4}.registration{margin-top:0;padding:36px 0 50px}.section-wave{top:-42px;height:44px}.registration-inner{display:flex;flex-direction:column;gap:24px}.registration h2{font-size:43px;line-height:1.04;max-width:300px;letter-spacing:-2.2px}.challenge-name{font-size:19px;max-width:300px;line-height:1.4;margin:16px 0 26px}.registration-actions{gap:24px}.yellow-button{font-size:18px;padding:17px 22px;gap:36px}.registration-actions>p{font-size:12px}.price{padding-left:0;border-left:0;border-top:1px solid #ffffff30;padding-top:23px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:0}.price>span{font-size:11px;letter-spacing:2.5px}.price>strong{font-size:78px;margin:0;line-height:1}.footer-orbit{right:-280px;top:-25px;opacity:.45}.footer{flex-direction:column;align-items:flex-start;padding-block:26px;gap:15px}.footer>p{text-align:left;max-width:none;font-size:10px;margin:0}.brand-small>span{font-size:14px}.brand-small svg{width:36px;height:39px}dialog{padding:38px 25px 25px}dialog h2{font-size:40px}dialog .eyebrow{font-size:8px;letter-spacing:1.3px;gap:10px}dialog dl>div{font-size:12px}dialog>p{font-size:14px}.dialog-disclaimer{font-size:10px!important}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .8s both}.portrait img{animation:portrait-in 1s .1s both}.orbit{animation:enter 1.4s .2s both}.node{transition:transform .25s}.step:hover .node{transform:scale(1.2)}@keyframes enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes portrait-in{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}}
/* One continuous silhouette, soft light, and precise tactile movement. */
.header-cta,.split-button,.yellow-button{
  position:relative;isolation:isolate;border-radius:999px;overflow:hidden;
  font-weight:600;letter-spacing:-.35px;
  transition:background .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease;
}
.header-cta::before,.split-button::before,.yellow-button::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,#fff0 15%,#ffffff12 48%,#fff0 80%);
  opacity:0;transform:translateX(-35%);transition:opacity .4s ease,transform .6s ease;
}
.header-cta{
  min-height:49px;padding:12px 23px;gap:19px;
  background:linear-gradient(155deg,#143c58d9,#041b34ed);
  border:1px solid #ffffff38;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 #ffffff12,0 3px 10px #031b3410;
}
.split-button{
  min-height:62px;padding:17px 26px 17px 28px;gap:23px;
  background:linear-gradient(155deg,#173e59,#041b34 80%);
  border:1px solid #0b2a43;box-shadow:inset 0 1px 0 #ffffff20,0 5px 14px #04233b14;
}
.split-button>span{
  width:23px;height:23px;display:inline-grid;place-items:center;
  background:transparent;color:var(--yellow);border-radius:0;font-size:26px;line-height:1;
}
.yellow-button{
  min-height:62px;padding:18px 28px;gap:31px;
  background:linear-gradient(160deg,#ffeb65,#ffe23b 65%,#ffdd31);
  border:1px solid #ffe968;
  box-shadow:inset 0 1px 0 #ffffff70,0 5px 18px #00000012;
}
.header-cta>span,.split-button>span,.yellow-button>span{
  flex-shrink:0;transition:transform .3s cubic-bezier(.2,.8,.2,1);font-weight:400;
}
.yellow-button>span{font-size:25px}
.header-cta:active,.split-button:active,.yellow-button:active{transform:scale(.975);box-shadow:inset 0 1px 3px #00000012}
.header-cta:focus-visible,.split-button:focus-visible,.yellow-button:focus-visible{outline:3px solid #4898dc;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
  .header-cta:hover{background:linear-gradient(155deg,#224e6d,#0a2d48);border-color:#ffffff70;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff20,0 8px 22px #031b341c}
  .split-button:hover{background:linear-gradient(155deg,#214e6c,#092941);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff28,0 9px 23px #04233b20}
  .split-button:hover>span{background:transparent}
  .yellow-button:hover{background:linear-gradient(160deg,#fff18a,#ffe84c 70%,#ffe23b);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff90,0 9px 24px #0000001a}
  .header-cta:hover::before,.split-button:hover::before,.yellow-button:hover::before{opacity:1;transform:translateX(20%)}
  .header-cta:hover>span,.split-button:hover>span,.yellow-button:hover>span{transform:translate(2px,-2px)}
}
@media(max-width:1150px){.split-button{min-height:58px;padding:16px 23px;gap:20px}.yellow-button{min-height:58px;padding:17px 25px}}
@media(max-width:800px){.header-cta{min-height:45px;padding:11px 18px;gap:14px}.split-button{min-height:56px;padding:16px 22px;gap:19px}}
@media(max-width:560px){.header-cta{min-height:44px;padding:11px 15px;gap:10px}.split-button{min-height:55px;padding:16px 21px;gap:18px;font-size:15px}.split-button>span{width:20px;height:20px;font-size:24px}.yellow-button{min-height:58px;padding:17px 25px;gap:28px}}
.header-cta:active,.split-button:active,.yellow-button:active{transform:scale(.975);box-shadow:inset 0 1px 3px #00000012}
/* Open, editorial event details with a quiet shared rhythm. */
.event-meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  padding:30px 0 29px;margin-block:0;
  border-top:1px solid #dde6ed;border-bottom:1px solid #edf1f5;
  background:linear-gradient(90deg,#fff0,#f5f8fb55 50%,#fff0);
}
.event-detail{display:flex;align-items:center;gap:20px;min-width:0;padding:5px 32px}
.event-detail:first-child{padding-left:25px}
.event-detail+.event-detail{border-left:1px solid #e2e9ef}
.detail-icon{width:53px;height:57px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(145deg,#fff9d8,#fffdf2 85%);border-radius:18px;color:#193950;transform:rotate(-4deg)}
.detail-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(4deg)}
.detail-icon .icon-accent{fill:#ffe23b;stroke:#c7a923;stroke-width:.7}
.detail-copy{min-width:0;margin:0}
.detail-copy dt{font-size:9px;font-weight:700;letter-spacing:2.2px;color:#6a7b8b;margin-bottom:8px;line-height:1.1}
.detail-copy dd{margin:0;line-height:1.3}
.detail-copy strong{display:block;font-size:21px;letter-spacing:-.65px;line-height:1.2;font-weight:600;white-space:nowrap}
.detail-copy dd>span{display:block;font-size:12px;letter-spacing:0;color:#637387;margin-top:5px}
.event-meta+.disclaimer{margin-top:18px}
@media(max-width:1150px){.event-detail{padding-inline:24px;gap:15px}.event-detail:first-child{padding-left:10px}.detail-icon{width:46px;height:50px;border-radius:15px}.detail-icon svg{width:27px;height:27px}.detail-copy strong{font-size:18px}.detail-copy dd>span{font-size:11px}}
@media(max-width:800px){.event-meta{padding-block:24px}.event-detail{padding-inline:17px;gap:12px;align-items:flex-start}.event-detail:first-child{padding-left:0}.detail-icon{width:34px;height:40px;border-radius:12px}.detail-icon svg{width:24px;height:24px}.detail-copy dt{font-size:8px;letter-spacing:1.5px;margin-bottom:7px}.detail-copy strong{font-size:16px;letter-spacing:-.5px}.detail-copy dd>span{font-size:10px;line-height:1.4}}
@media(max-width:620px){
  .event-meta{grid-template-columns:1fr;padding:8px 0 9px;background:linear-gradient(110deg,#fff,#f7f9fc55);gap:0}
  .event-detail,.event-detail:first-child{padding:19px 5px;gap:18px;align-items:center}
  .event-detail+.event-detail{border-left:0;border-top:1px solid #edf1f5}
  .detail-icon{width:46px;height:49px;border-radius:16px}.detail-icon svg{width:28px;height:28px}
  .detail-copy{flex:1}.detail-copy dt{font-size:8px;letter-spacing:2px;margin-bottom:6px}
  .detail-copy dd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .detail-copy strong{font-size:19px;letter-spacing:-.55px}
  .detail-copy dd>span{font-size:10px;line-height:1.4;text-align:right;margin:0}
  .event-meta+.disclaimer{margin-top:14px;font-size:10px}
}
@media(max-width:350px){.event-detail{gap:13px}.detail-copy dd{display:block}.detail-copy dd>span{text-align:left;margin-top:4px}}
/* Text-led invitations, without a separate symbol or icon compartment. */
.header-cta,.split-button,.yellow-button{justify-content:center;text-align:center;letter-spacing:-.25px}
.header-cta{padding-inline:25px}
.split-button{min-width:237px;padding:19px 31px;min-height:60px}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.hero-actions>.hero-note{display:flex;align-items:center;gap:15px;max-width:none;margin:0;padding-left:3px;font-size:14px;line-height:1.4;white-space:normal;color:#46596e;letter-spacing:.05px}
.hero-note .hero-note-cost{padding:0;display:inline-flex;align-items:baseline;gap:6px}
.hero-note strong{font-size:17px;font-weight:600;letter-spacing:-.45px;color:var(--navy)}
.hero-note .note-divider{width:1px;height:14px;background:#c4ced9;padding:0;display:block}
.hero-note .hero-note-format{padding:0;color:#354e65;font-weight:500}

/* A calm wash of light follows the cursor across the three details. */
.event-meta{border:0;gap:12px;background:transparent;padding-block:20px 14px}
.event-detail,.event-detail:first-child{position:relative;isolation:isolate;padding:24px 25px;gap:19px;border-radius:21px;overflow:hidden;border:1px solid #e8edf266;background:linear-gradient(145deg,#f8fafc77,#fff0);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.event-detail+.event-detail{border-left:1px solid #e8edf266}
.event-detail::before,.step::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse 190px 130px at var(--pointer-x,50%) var(--pointer-y,50%),#ffed8460,#e8f1f84d 60%,transparent);transition:opacity .35s ease}
.detail-icon{width:44px;height:47px;background:transparent;border-radius:0;transform:none;transition:transform .35s ease}
.detail-icon svg{width:31px;height:31px;transform:none;stroke-width:1.35}
.detail-copy dt{font-size:9px;letter-spacing:2px;color:#667c8d}
.detail-copy strong{font-size:21px;letter-spacing:-.7px}
.detail-copy dd>span{font-size:12px;color:#52677c;line-height:1.45}
.step{border-radius:22px;isolation:isolate;transition:transform .35s ease}
.step::before{inset:-8px 10px -20px 12px;background:radial-gradient(ellipse 230px 190px at var(--pointer-x,50%) var(--pointer-y,50%),#fff5b077,#eaf2f955 65%,transparent)}
.step-number{transition:color .35s ease}
.node{box-shadow:0 0 0 0 #ffe23b00;transition:transform .35s ease,box-shadow .35s ease}

/* Price and reservation become one balanced invitation. */
.registration{padding-top:72px;padding-bottom:55px}
.registration-inner{display:block;text-align:center}
.registration-copy{max-width:900px;margin-inline:auto}
.registration h2{max-width:none;font-size:clamp(39px,4.7vw,64px);letter-spacing:-2.6px}
.challenge-name{max-width:none;font-size:23px;font-weight:400;color:#e3edf5;letter-spacing:-.35px;margin:15px 0 34px}
.booking-control{display:inline-flex;align-items:center;gap:29px;padding:7px 7px 7px 28px;border:1px solid #ffffff29;border-radius:999px;background:linear-gradient(130deg,#ffffff0e,#ffffff03);box-shadow:inset 0 1px 0 #ffffff05;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.booking-price{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0;line-height:1.05;padding-right:0}
.booking-price>span{font-size:10px;letter-spacing:.4px;color:#c9d9e7;font-weight:400}
.booking-price>strong{font-size:32px;font-weight:500;letter-spacing:-1.7px;color:#fff}
.booking-control>.yellow-button{min-height:61px;min-width:210px;padding:19px 28px;font-size:17px;font-weight:600;box-shadow:inset 0 1px 0 #ffffff70,0 2px 8px #00000010;white-space:nowrap}
.booking-time{font-size:13px;line-height:1.6;letter-spacing:.15px;color:#d1dfeb;margin:22px 0 0}
.booking-time>span:not(.booking-date){padding-inline:8px;color:#ffe23b}
.booking-date{display:block;font-size:11px;color:#b9cddd;margin-top:3px}
.footer-orbit{opacity:.3;right:-120px}
@media(hover:hover) and (pointer:fine){
  .event-detail:hover{transform:translateY(-4px);border-color:#dee5e9;box-shadow:0 12px 26px -18px #0e365b44}
  .event-detail:hover::before,.step:hover::before{opacity:1}
  .event-detail:hover .detail-icon{transform:translateY(-2px)}
  .step:hover{transform:translateY(-4px)}.step:hover .step-number{color:#d4e4f2}
  .step:hover .node{transform:scale(1.12);box-shadow:0 0 0 7px #ffe23b21}
}
@media(max-width:1150px){.event-detail,.event-detail:first-child{padding:21px 17px;gap:13px}.detail-copy strong{font-size:19px}.detail-copy dd>span{font-size:11px}.detail-icon{width:35px}.detail-icon svg{width:28px;height:28px}}
@media(max-width:800px){.hero-actions>.hero-note{font-size:13px;gap:12px}.hero-note strong{font-size:16px}.event-meta{gap:7px}.event-detail,.event-detail:first-child{padding:21px 12px;gap:10px}.detail-icon{width:28px}.detail-icon svg{width:26px;height:26px}.detail-copy strong{font-size:16px}.detail-copy dt{font-size:8px;letter-spacing:1.5px}.detail-copy dd>span{font-size:10px}.registration{padding-top:55px}.challenge-name{font-size:21px}}
@media(max-width:620px){
  .event-meta{gap:8px;padding-block:12px 9px}
  .event-detail,.event-detail:first-child{padding:20px;gap:19px;border-radius:18px}
  .event-detail+.event-detail{border:1px solid #e8edf266}
  .detail-icon{width:36px;height:40px}.detail-icon svg{width:29px;height:29px}
  .detail-copy dd{display:block}.detail-copy strong{font-size:20px}
  .detail-copy dd>span{font-size:12px;text-align:left;margin-top:4px}
  .detail-copy dt{font-size:8px;margin-bottom:6px}
}
@media(max-width:560px){
  .hero-actions{gap:16px;align-items:flex-start;flex-direction:column}
  .split-button{min-width:228px;min-height:56px;padding:17px 28px;font-size:16px}
  .hero-actions>.hero-note{font-size:13px;line-height:1.5;max-width:none;margin:0;gap:13px;padding-left:3px}
  .hero-note strong{font-size:16px}.hero-note .hero-note-cost{padding:0;gap:5px}
  .registration{padding-top:33px;padding-bottom:44px}
  .registration h2{font-size:43px;line-height:1.07;letter-spacing:-2.2px;max-width:330px;margin-inline:auto}
  .challenge-name{font-size:18px;line-height:1.45;margin:17px auto 28px;max-width:290px}
  .booking-control{max-width:370px;width:100%;padding:6px 6px 6px 23px;gap:20px;justify-content:space-between}
  .booking-control>.yellow-button{min-width:0;min-height:60px;padding:18px 24px;font-size:16px}
  .booking-price>strong{font-size:30px}.booking-price>span{font-size:9px}
  .booking-time{font-size:12px;margin-top:20px}.booking-date{font-size:10px;margin-top:5px}
  .footer-orbit{right:-300px;opacity:.2}
}
@media(max-width:350px){.booking-control{gap:14px;padding-left:19px}.booking-control>.yellow-button{font-size:14px;padding-inline:18px}.booking-price>strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.event-detail:hover,.step:hover,.event-detail:hover .detail-icon,.step:hover .node{transform:none}}


/* Every date in the dialog, and the 1:1 for people who can't make one (Joe 2026-11-08). */
.during-card{margin:48px auto 0;max-width:820px;padding:24px 28px;border-radius:18px;background:#f4f7fb;border:1px solid #e3e9f1;text-align:left}
.during-label{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#04233b}
.during-copy{margin:0;font-size:18px;line-height:1.5;color:#0b1b2b}
.sessions-label{margin:18px 0 8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#04233b}
.sessions{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.session{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:12px 14px;border:1px solid #e3e9f1;border-radius:12px}
.session-when strong{display:block;font-size:15px;color:#0b1b2b}
.session-when span{font-size:13px;color:#5b6b7b}
.session-go{grid-row:span 2;align-self:center;padding:9px 16px;border-radius:999px;background:#04233b;color:#fff;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.session-go:not([href]){background:#c9d2dc;cursor:default}
.session-price{font-size:13px;color:#5b6b7b}
.session-soon{grid-row:span 2;font-size:13px;color:#5b6b7b;white-space:nowrap}
.one-on-one{margin-top:16px;padding:16px 18px;border-radius:14px;background:#fff8d6;border:1px solid #f4e08a}
.one-on-one-title{margin:0 0 4px;font-weight:700;color:#0b1b2b}
.one-on-one-copy{margin:0 0 10px;font-size:14px;color:#33414f}
.one-on-one-soon{margin:0;font-size:13px;color:#5b6b7b}
.one-on-one .yellow-button{display:inline-block}
@media (max-width:520px){.during-card{margin-top:32px;padding:20px}.during-copy{font-size:16px}}

.during-types-label{margin-top:18px}
.event-types{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.event-types li{padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #d6e0ea;font-size:14px;font-weight:600;color:#04233b}
.during-note{margin:10px 0 0;font-size:13px;color:#5b6b7b}

/* The approved rewrite (Joe 2026-11-09): why an event, the night in four steps, what you get, who it's for. */
.lead{font-size:21px;line-height:1.45;letter-spacing:-.3px;max-width:760px;margin:22px 0 18px}
.why-list{list-style:none;padding:0;margin:0 0 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.why-list li{border-top:3px solid var(--yellow);padding-top:14px;font-size:17px;line-height:1.45}
.why-list strong{display:block;font-size:19px;margin-bottom:4px}
.night-eyebrow{margin-bottom:24px}
.steps-4{grid-template-columns:repeat(4,1fr)}
.steps-4 .step h3{font-size:25px}
.steps-4 .step p{font-size:16px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.info-card{border:1px solid #d9e3ec;border-radius:16px;padding:28px 30px;background:#fbfdff}
.tick-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}
.tick-list li{position:relative;padding-left:28px;font-size:16px;line-height:1.45}
.tick-list li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--yellow)}
.not-for-label{margin-top:22px}
/* Meet Joe: one full-width card under the two info cards; the header's "Meet Joe" link lands here (scroll-margin keeps the label clear of the top edge). */
.meet-joe{margin-top:24px;scroll-margin-top:24px;text-align:left}
.meet-joe p:not(.during-label){margin:12px 0 0;font-size:16px;line-height:1.65;color:#04233b}
/* Same button as the registration section: app.js opens the date picker for every .reserve, which links to each night's checkout. */
.meet-joe-reserve{margin-top:20px}
.not-for{font-size:15px;color:var(--muted);margin:6px 0 0}
.video-section{padding-top:70px}
.sales-video{display:block;width:100%;max-width:900px;margin-top:24px;border-radius:16px;background:#041b34;aspect-ratio:16/9}
@media(max-width:800px){.lead{font-size:17px}.why-list{grid-template-columns:1fr;margin-bottom:48px}.steps-4{grid-template-columns:1fr 1fr;row-gap:30px}.steps-4 .connecting-line{display:none}.info-grid{grid-template-columns:1fr}.info-card{padding:22px}}
@media(max-width:480px){.steps-4{grid-template-columns:1fr}}
/* Joe 2026-11-12 (phone screenshot, "can't see text under button"): on a phone
   the note under the hero button sits on the dark part of the backdrop, so it
   is light there. */
@media(max-width:560px){.hero-actions>.hero-note{color:#e8eef5}.hero-note strong{color:#fff}.hero-note .hero-note-format{color:#dbe5ef}.hero-note .note-divider{background:#ffffff66}}
/* The voting version has no price beside the button ("center button"). */
.booking-control.voting{padding:7px;justify-content:center}
/* "Invited by Jane D., Certified Ambassador" (#2614). */
.invited-by{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px;padding:8px 14px;border:1px solid #cbd5df;border-radius:999px;background:#fff;font-size:14px;line-height:1.3}.invited-by span{background:var(--yellow);color:var(--navy);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}@media(max-width:560px){.invited-by{font-size:13px;margin-bottom:18px}}
