/* Earn2Own Summit site v1.3: the Dallas hero, the waiting list and the Milton Keynes story.
   Sits on top of /assets/site.css and /assets/e2o27/site27.css and uses their tokens
   (var(--orange), var(--black), var(--paper), var(--r), var(--e)). */

/* ---------- the Dallas hero: downtown Dallas at golden hour, full bleed ---------- */
.dhero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;
  background:var(--black);color:#fff;overflow:hidden;isolation:isolate}
.dhero picture,.dhero .ph{position:absolute;inset:0;z-index:-2}
.dhero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;
  transform:scale(1.06);animation:settle 9s var(--e) forwards}
@keyframes settle{to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.dhero .ph img{animation:none;transform:none}}
/* dark at the top for the menu, clear in the middle for the skyline, dark at the bottom for the words */
.dhero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,10,10,.62) 0%,rgba(10,10,10,.08) 26%,rgba(10,10,10,0) 44%,rgba(10,10,10,.55) 70%,rgba(10,10,10,.92) 100%)}
.dhero .wrap{padding-top:140px;padding-bottom:clamp(36px,6vh,72px)}
.dhero .dh-next{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;background:rgba(10,10,10,.42);border:1px solid rgba(255,255,255,.22);
  padding:8px 16px 8px 12px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dhero .dh-next i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 2.2s infinite}
.dhero h1{font-size:clamp(3.4rem,10.5vw,9.4rem);line-height:.92;letter-spacing:-.05em;font-weight:700;margin:22px 0 0;
  text-shadow:0 2px 30px rgba(0,0,0,.25)}
.dhero h1 .o{color:var(--orange-light)}
.dhero .dh-ed{font-size:clamp(1.25rem,2.6vw,2rem);font-weight:500;letter-spacing:-.02em;margin-top:14px;color:rgba(255,255,255,.88)}
.dhero .go{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,4vh,40px)}
.dhero .btn-outline{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(10,10,10,.25)}
.dhero .route{margin:clamp(34px,6vh,60px) 0 0;max-width:620px;grid-template-columns:auto 1fr auto}
@media(max-width:700px){
  .dhero .ph img{object-position:50% 30%}
  .dhero .wrap{padding-top:120px}
  .dhero .go .btn{width:100%}
  .dhero .route{grid-template-columns:auto 1fr}
}

/* ---------- the waiting list ---------- */
.wl{background:var(--paper);color:var(--black);padding:clamp(72px,9vw,128px) 0}
.wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.wl h2{font-size:clamp(2.1rem,4.4vw,3.6rem);letter-spacing:-.04em;line-height:1.02;margin-bottom:18px}
.wl .lede{max-width:40ch}
.wl-points{list-style:none;margin-top:26px;display:grid;gap:12px}
.wl-points li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;color:var(--ink-70)}
.wl-points b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--orange);color:#fff;
  display:grid;place-items:center;font-size:.72rem}
.wl-card{background:#fff;border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:0 30px 70px rgba(10,10,10,.10),0 2px 6px rgba(10,10,10,.04)}
.wl-card h3{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:4px}
.wl-card .sub{font-size:.92rem;color:var(--ink-45);margin-bottom:18px}
@media(max-width:900px){.wl-grid{grid-template-columns:1fr}}

/* ---------- Milton Keynes: what went down ---------- */
.mk{background:var(--black);color:#fff;padding:clamp(80px,10vw,140px) 0 clamp(56px,7vw,96px);overflow:hidden}
.mk-top{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end}
.mk h2{font-size:clamp(2.3rem,5.4vw,4.6rem);letter-spacing:-.045em;line-height:1}
.mk h2 .o{color:var(--orange-light)}
.mk .lede{color:var(--white-70)}
.mk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,6vw,72px);
  border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.mk-stats div{padding:clamp(18px,2.6vw,30px) clamp(10px,2vw,26px) clamp(18px,2.6vw,30px) 0}
.mk-stats div+div{padding-left:clamp(14px,2vw,26px);border-left:1px solid var(--line-d)}
.mk-stats b{display:block;font-size:clamp(1.9rem,4.2vw,3.4rem);font-weight:700;letter-spacing:-.04em;line-height:1}
.mk-stats span{display:block;font-size:.86rem;color:var(--white-70);margin-top:8px;max-width:22ch}
@media(max-width:800px){
  .mk-top{grid-template-columns:1fr}
  .mk-stats{grid-template-columns:1fr 1fr}
  .mk-stats div:nth-child(3){padding-left:0;border-left:0}
  .mk-stats div:nth-child(n+3){border-top:1px solid var(--line-d)}
}

/* the replay sits between the numbers and the reel */
.mk .replay{margin-top:clamp(40px,6vw,72px)}

/* the reel: the night in moments, swiped sideways, in the order it happened */
.reel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:clamp(56px,8vw,100px)}
.reel-head h3{font-size:clamp(1.5rem,2.8vw,2.2rem);letter-spacing:-.03em}
.reel-head p{color:var(--white-70);font-size:.95rem;margin-top:8px}
.reel-nav{display:flex;gap:10px;flex:none}
.reel-nav button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.reel-nav button:hover{background:#fff;color:var(--black);border-color:#fff}
.reel-nav button:disabled{opacity:.3;cursor:default;background:transparent;color:#fff}
.reel-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.reel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:28px;padding-bottom:6px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  padding-left:max(var(--pad),calc((100vw - var(--maxw)) / 2 + var(--pad)));scroll-padding-left:max(var(--pad),calc((100vw - var(--maxw)) / 2 + var(--pad)))}
.reel::-webkit-scrollbar{display:none}
.reel::after{content:"";flex:0 0 var(--pad)}
.mo{flex:0 0 clamp(250px,26vw,320px);scroll-snap-align:start;color:#fff}
.mo figure{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--black-mid)}
.mo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.mo:hover img{transform:scale(1.04)}
.mo .n{position:absolute;left:12px;top:12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(10,10,10,.6);padding:6px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.mo .n.live{background:var(--orange)}
.mo h4{font-size:1.08rem;letter-spacing:-.02em;line-height:1.25;margin-top:14px}
.mo p{font-size:.88rem;color:var(--white-70);line-height:1.5;margin-top:6px}
.mo a.at{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:.88rem;font-weight:600;color:var(--orange-light)}
.mo a.at i{width:22px;height:22px;border-radius:50%;background:var(--orange);display:grid;place-items:center}
.mo a.at i::before{content:"";border-left:7px solid #fff;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;margin-left:2px}
.mo a.at:hover{color:#fff}
@media(max-width:700px){.reel-nav{display:none}.mo{flex-basis:78vw}}

/* faces from the room, and the gallery */
.mkf{background:var(--paper);color:var(--black);padding:clamp(72px,9vw,128px) 0}
.mkf-grid{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(110px,13vw,170px);gap:10px;margin-top:clamp(32px,4vw,48px)}
.mkf-grid a{border-radius:12px;overflow:hidden;background:var(--paper-2)}
.mkf-grid img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.mkf-grid a:hover img{transform:scale(1.05)}
.mkf-grid .w2{grid-column:span 2;grid-row:span 2}
.mkf-grid .h2{grid-row:span 2}
.mkf-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:28px}
.mkf-row p{color:var(--ink-70);font-size:1.02rem;max-width:46ch}
@media(max-width:800px){.mkf-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:28vw}.mkf-grid .w2{grid-column:span 2}.mkf-grid .h2{grid-row:auto}.mkf-grid .hide-m{display:none}}

/* the closing band: back to Dallas */
.toDallas{position:relative;color:#fff;padding:clamp(80px,11vw,150px) 0;overflow:hidden;isolation:isolate;background:var(--black)}
.toDallas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:-2}
.toDallas::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.9),rgba(10,10,10,.55) 60%,rgba(10,10,10,.3))}
.toDallas h2{font-size:clamp(2.2rem,5.6vw,4.8rem);letter-spacing:-.045em;line-height:1;max-width:14ch}
.toDallas h2 .o{color:var(--orange-light)}
.toDallas p{color:rgba(255,255,255,.8);font-size:clamp(1.05rem,1.6vw,1.25rem);margin-top:18px}
.toDallas .btn{margin-top:30px}

/* the Dallas page: a shorter version of the home hero */
.dhero.short{min-height:78vh;min-height:78svh}
