/* SDJ Events: Legal Update 2026. Every rule is scoped to .ev-page so nothing here touches the rest of the site. */
.ev-page{--navy:#16223f; --navy-deep:#0c1428; --navy-lift:#1f2e52;
  --gold:#c8a35a; --gold-soft:#e6d2a2; --burgundy:#7a2233; --ivory:#f5f0e6;
  --bg:#f5f0e6; --surface:#fffdf8; --text:#16223f; --muted:#5b6479;
  --line:rgba(22,34,63,.16); --accent:#8a6820; --field:#ffffff; --error:#9b1c2e;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --label:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  box-sizing:border-box;
  }
.ev-page *,.ev-page *::before,.ev-page *::after{box-sizing:inherit}
.ev-page{margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased}
.ev-page img{max-width:100%; display:block}
.ev-page a{color:inherit}
.ev-page button{font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; cursor:pointer}
.ev-page :focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}
.ev-page .ev-wrap{width:min(1120px, 100% - 40px); margin-inline:auto}
.ev-page h1,.ev-page h2,.ev-page h3{font-family:var(--display); font-weight:500; line-height:1.04; margin:0; letter-spacing:-.005em; font-variant-numeric:lining-nums; text-wrap:balance}
.ev-page h2{font-size:clamp(2.3rem, 5vw, 4rem)}
.ev-page h3{font-size:1.75rem}
.ev-page p{margin:0}
.ev-page .ev-lede{font-family:var(--sans); font-size:1.06rem; line-height:1.65; color:var(--muted); max-width:34em}
.ev-page .ev-hero{color:var(--ivory); background:var(--navy-deep)}
.ev-page .ev-hstage{position:relative; overflow:hidden; height:clamp(540px, 56.25vw, 860px); background:var(--navy-deep)}
.ev-page .ev-htrack{display:flex; width:200%; height:100%; transition:transform 1.1s cubic-bezier(.65,0,.25,1)}
.ev-page .ev-hstage[data-slide="1"] .ev-htrack{transform:translateX(-50%)}
.ev-page .ev-slide{position:relative; width:50%; height:100%; flex:none; overflow:hidden}
.ev-page .ev-slide > img.ev-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.ev-page .ev-s-chair::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,20,40,.6) 0%, rgba(12,20,40,.12) 34%, rgba(12,20,40,0) 58%, rgba(12,20,40,.82) 86%, #0c1428 100%)}
.ev-page .ev-s-chair > *:not(.ev-bg){position:absolute; z-index:1}
.ev-page .ev-crumbs{top:18px; left:max(20px, calc((100% - 1120px)/2)); font-size:.85rem; color:rgba(245,240,230,.72)}
.ev-page .ev-badge{top:6.5%; left:50%; height:22%; width:auto; max-width:none; transform:translateX(-50%); filter:drop-shadow(0 6px 22px rgba(6,11,24,.6))}
.ev-page .ev-title{left:20px; right:20px; bottom:5.5%; text-align:center}
.ev-page .ev-title h1{font-size:clamp(2.3rem, 5.4vw, 4.6rem); line-height:1}
.ev-page .ev-when{margin-top:14px; font-family:var(--label); font-weight:500; font-size:clamp(.72rem, 1.25vw, .95rem); letter-spacing:.26em; text-transform:uppercase; color:var(--gold-soft)}
.ev-page .ev-when span{display:inline-block}
.ev-page .ev-when span + span::before{content:""; display:inline-block; width:28px; height:1px; background:var(--gold); vertical-align:middle; margin:0 14px 0 10px}
.ev-page .ev-s-merch{background:linear-gradient(180deg, #f3ede6, #dcd1c6)}
.ev-page .ev-s-merch > img.ev-bg{object-position:50% 0}
.ev-page .ev-ctrl{position:absolute; z-index:3; right:max(20px, calc((100% - 1120px)/2)); bottom:18px; display:flex; align-items:center; gap:10px; padding:6px 10px; border-radius:999px; background:rgba(12,20,40,.72)}
.ev-page .ev-ctrl button{background:none; border:0; padding:0; display:grid; place-items:center; min-width:24px; min-height:24px}
.ev-page .ev-ctrl .ev-dot::before{content:""; width:9px; height:9px; border-radius:50%; border:1px solid var(--gold-soft)}
.ev-page .ev-ctrl .ev-dot[aria-current="true"]::before{background:var(--gold-soft)}
.ev-page .ev-ctrl .ev-pp{font-family:var(--label); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ivory); padding:0 4px}
@media (max-width:760px){
.ev-page .ev-hstage{height:600px}
.ev-page .ev-s-merch > img.ev-bg{object-fit:contain; object-position:50% 50%}
.ev-page .ev-title{bottom:58px}
.ev-page .ev-badge{top:9.5%; height:21%}
.ev-page .ev-when span{display:block}
.ev-page .ev-when span + span{margin-top:6px}
.ev-page .ev-when span + span::before{display:none}
.ev-page .ev-ctrl{right:auto; left:50%; transform:translateX(-50%); bottom:12px}
}
.ev-page .ev-below{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px 40px; padding-block:30px 36px}
.ev-page .ev-count{display:flex; gap:clamp(18px, 4vw, 44px)}
.ev-page .ev-count div{min-width:2.4ch}
.ev-page .ev-count b{display:block; font-family:var(--display); font-weight:500; font-size:clamp(2.4rem, 5vw, 3.6rem); line-height:1; font-variant-numeric:lining-nums}
.ev-page .ev-count span{font-family:var(--label); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,240,230,.72)}
.ev-page .ev-actions{display:flex; flex-wrap:wrap; gap:12px}
.ev-page .ev-btn{font-family:var(--label); font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:2px; border:1px solid var(--gold); background:var(--gold); color:#0c1428; font-weight:600; text-decoration:none}
.ev-page .ev-rv{opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.6,.2,1)}
.ev-page .ev-rv.ev-in{opacity:1; transform:none}
.ev-page .ev-btn:hover{background:var(--gold-soft); border-color:var(--gold-soft)}
.ev-page .ev-btn.ev-ghost{background:transparent; color:var(--ivory)}
.ev-page .ev-btn.ev-ghost:hover{background:rgba(245,240,230,.1)}
.ev-page .ev-btn.ev-ink{background:var(--navy); border-color:var(--navy); color:var(--ivory)}
.ev-page .ev-btn.ev-ink:hover{background:var(--navy-lift); border-color:var(--navy-lift)}
.ev-page .ev-jump{background:#0c1428; color:var(--ivory); border-bottom:1px solid rgba(200,163,90,.28)}
.ev-page .ev-jump{border-top:1px solid rgba(200,163,90,.28)}
.ev-page .ev-jump .ev-wrap{display:flex; gap:28px; overflow-x:auto; padding-block:14px; font-family:var(--label); font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap}
.ev-page .ev-jump a{text-decoration:none; color:rgba(245,240,230,.78)}
.ev-page .ev-jump a:hover{color:var(--gold-soft)}
.ev-page .ev-band{padding-block:clamp(64px, 9vw, 112px)}
.ev-page .ev-band + .ev-band{border-top:1px solid var(--line)}
.ev-page .ev-split{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(28px, 6vw, 80px); align-items:start}
@media (max-width:860px){
.ev-page .ev-split{grid-template-columns:1fr}
}
.ev-page .ev-intro h2{margin-bottom:18px}
.ev-page .ev-times{list-style:none; margin:0; padding:0}
.ev-page .ev-times li{display:grid; grid-template-columns:5.2rem 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--line)}
.ev-page .ev-times li:first-child{border-top:1px solid var(--line)}
.ev-page .ev-times time{font-family:var(--display); font-weight:600; font-variant-numeric:lining-nums; font-size:1.7rem; color:var(--accent); line-height:1.2}
.ev-page .ev-times strong{font-weight:600; display:block}
.ev-page .ev-times small{color:var(--muted); font-size:.93rem}
.ev-page .ev-photo{margin:28px 0 0; border-radius:2px; overflow:hidden}
.ev-page .ev-photo img{width:100%; aspect-ratio:16/10; object-fit:cover; object-position:30% 50%}
.ev-page .ev-note{font-size:.88rem; color:var(--muted); margin-top:14px}
.ev-page .ev-card{background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--gold); padding:clamp(22px, 4vw, 40px); border-radius:2px}
.ev-page .ev-field{margin-bottom:22px}
.ev-page .ev-field label,.ev-page fieldset legend{display:block; font-weight:600; font-size:.95rem; margin-bottom:8px; padding:0}
.ev-page .ev-field input{width:100%; min-height:48px; padding:10px 14px; font:inherit; color:var(--text); background:var(--field); border:1px solid var(--line); border-radius:2px}
.ev-page .ev-field input:focus{outline:2px solid var(--gold); outline-offset:1px}
.ev-page fieldset{border:0; padding:0; margin:0 0 22px; min-width:0}
.ev-page .ev-choices{display:flex; flex-wrap:wrap; gap:10px}
.ev-page .ev-choices label{position:relative; display:inline-flex; align-items:center; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:2px; background:var(--field); font-weight:500; font-size:.97rem; cursor:pointer}
.ev-page .ev-choices input{position:absolute; opacity:0; inset:0; margin:0; cursor:pointer}
.ev-page .ev-choices label:has(input:checked){background:var(--navy); border-color:var(--navy); color:var(--ivory); box-shadow:inset 0 -3px 0 var(--gold)}
.ev-page .ev-choices label:has(input:focus-visible){outline:2px solid var(--gold); outline-offset:2px}
.ev-page .ev-consent{border:1px solid var(--line); padding:18px; background:var(--bg); border-radius:2px}
.ev-page .ev-consent p{font-size:.93rem; line-height:1.6; margin-bottom:12px}
.ev-page .ev-consent .ev-choices{margin-top:4px}
.ev-page .ev-err{color:var(--error); font-size:.88rem; margin-top:6px; min-height:0}
.ev-page .ev-err:empty{display:none}
.ev-page .ev-done h3{margin-bottom:10px}
.ev-page .ev-done dl{display:grid; grid-template-columns:auto 1fr; gap:8px 20px; margin:22px 0; font-size:.97rem}
.ev-page .ev-done dt{color:var(--muted)}
.ev-page .ev-done dd{margin:0; font-weight:500}
.ev-page .ev-linkbtn{background:none; border:0; padding:0; text-decoration:underline; text-underline-offset:3px; color:var(--accent); font-weight:600}
.ev-page .ev-quiz{background:var(--navy-deep); color:var(--ivory); position:relative}
.ev-page .ev-band.ev-quiz{border-top:0}
.ev-page .ev-quiz .ev-lede{color:rgba(245,240,230,.74)}
.ev-page .ev-quiz-head{display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(24px,5vw,64px); align-items:end; margin-bottom:44px}
@media (max-width:860px){
.ev-page .ev-quiz-head{grid-template-columns:1fr}
}
.ev-page .ev-stage{display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:clamp(20px,4vw,48px); align-items:stretch}
.ev-page .ev-announce{position:relative; margin:0; min-height:340px; border:1px solid rgba(200,163,90,.4); border-radius:2px; overflow:hidden; background:var(--navy)}
.ev-page .ev-announce img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.ev-page .ev-announce::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,20,40,.15) 0%, rgba(12,20,40,.35) 45%, rgba(12,20,40,.92) 100%)}
.ev-page .ev-announce figcaption{position:absolute; z-index:1; left:0; right:0; bottom:0; padding:clamp(20px,4vw,40px); text-align:center; color:var(--ivory)}
.ev-page .ev-announce strong{display:block; font-family:var(--display); font-weight:500; line-height:1.06; font-size:clamp(1.9rem, 3.8vw, 3.1rem); text-wrap:balance; margin-bottom:14px}
.ev-page .ev-announce span{display:inline-block; font-family:var(--label); font-weight:500; font-size:.8rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft)}
.ev-page .ev-announce span + span::before{content:""; display:inline-block; width:24px; height:1px; background:var(--gold); vertical-align:middle; margin:0 12px 0 10px}
.ev-page .ev-phone .ev-btn{margin-top:14px; width:100%}
.ev-page #pDone h3{margin-bottom:6px}
@media (max-width:860px){
.ev-page .ev-stage{grid-template-columns:1fr}
}
.ev-page .ev-phone{background:var(--ivory); color:var(--navy); border-radius:26px; padding:26px 20px 22px; border:6px solid #060b18}
.ev-page .ev-phone .ev-n{font-size:.85rem; color:#5b6479; margin-bottom:8px}
.ev-page .ev-phone h3{font-size:1.7rem; line-height:1.12; margin-bottom:18px}
.ev-page .ev-opt-btn{display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; width:100%; text-align:left; min-height:52px; padding:8px 12px; margin-bottom:10px; background:#fff; border:1px solid rgba(22,34,63,.22); border-radius:4px; color:var(--navy); font-weight:500}
.ev-page .ev-opt-btn i{font-style:normal; font-family:var(--display); font-weight:600; font-size:1.35rem; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:var(--ivory)}
.ev-page .ev-opt-btn:hover:not(:disabled){border-color:var(--navy)}
.ev-page .ev-opt-btn:disabled{cursor:default; opacity:.55}
.ev-page .ev-opt-btn.ev-mine{opacity:1; border-color:var(--navy); box-shadow:inset 0 0 0 1px var(--navy)}
.ev-page .ev-phone .ev-msg{font-size:.93rem; margin-top:14px; min-height:2.9em; color:#16223f}
.ev-page .ev-after{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,64px); align-items:center}
@media (max-width:860px){
.ev-page .ev-after{grid-template-columns:1fr}
}
.ev-page .ev-after img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:2px}
.ev-page .ev-partner{margin-top:56px; padding:26px clamp(20px,4vw,36px); background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--burgundy); display:flex; flex-wrap:wrap; gap:18px 32px; align-items:center; justify-content:space-between; border-radius:2px}
.ev-page .ev-partner p{max-width:40em}
.ev-page .ev-partner strong{font-family:var(--display); font-weight:600; font-size:1.6rem; display:block; margin-bottom:4px}
.ev-page .ev-index-head{background:var(--navy-deep); color:var(--ivory); padding-block:clamp(56px,8vw,96px) clamp(40px,6vw,64px)}
.ev-page .ev-index-head h1{font-size:clamp(3.2rem, 9vw, 6rem)}
.ev-page .ev-index-head .ev-lede{color:rgba(245,240,230,.74); margin-top:16px}
.ev-page .ev-feature{display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); background:var(--surface); border:1px solid var(--line); border-radius:2px; overflow:hidden; text-align:left; width:100%; padding:0}
.ev-page .ev-feature img{width:100%; height:100%; min-height:260px; object-fit:cover}
.ev-page .ev-feature div{padding:clamp(22px,4vw,44px); display:flex; flex-direction:column; gap:12px; justify-content:center}
.ev-page .ev-feature h2{font-size:clamp(2rem,4.5vw,3.2rem)}
.ev-page .ev-feature .ev-tag{color:var(--accent); font-weight:600; font-size:.93rem}
.ev-page .ev-feature .ev-go{margin-top:10px; align-self:flex-start}
@media (max-width:760px){
.ev-page .ev-feature{grid-template-columns:1fr}
}
.ev-page [hidden]{display:none !important}
@media (prefers-reduced-motion: reduce){
.ev-page .ev-htrack{transition:none}
.ev-page .ev-rv{opacity:1; transform:none; transition:none}
}

/* ---------- Fitting the page into the live site ---------- */
.ev-page{--ev-hd:150px; display:block; overflow-x:clip}
@media (max-width:980px){ .ev-page{--ev-hd:124px} }
.ev-page a{text-decoration:none}
.ev-page section[id]{scroll-margin-top:84px}
.ev-page .ev-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

/* hero: the site header sits over the top strip, the picture starts below it */
.ev-page .ev-hstage{height:calc(clamp(540px, 56.25vw, 860px) + var(--ev-hd))}
.ev-page .ev-slide{background:#0c1428}
.ev-page .ev-canvas{position:absolute; left:0; right:0; bottom:0; top:var(--ev-hd); overflow:hidden}
.ev-page .ev-canvas > img.ev-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.ev-page .ev-s-chair::after{content:none}
.ev-page .ev-s-chair .ev-canvas::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, #0c1428 0%, rgba(12,20,40,.5) 9%, rgba(12,20,40,.12) 34%, rgba(12,20,40,0) 58%, rgba(12,20,40,.82) 86%, #0c1428 100%)}
.ev-page .ev-s-chair .ev-canvas > *:not(.ev-bg){position:absolute; z-index:1}
.ev-page .ev-s-merch .ev-canvas{background:linear-gradient(180deg, #f3ede6, #dcd1c6)}
.ev-page .ev-s-merch .ev-canvas > img.ev-bg{object-position:50% 0}
.ev-page .ev-crumbs{top:18px; left:max(20px, calc((100% - 1120px)/2)); font-size:.85rem; color:rgba(245,240,230,.72)}
.ev-page .ev-crumbs a{text-decoration:underline; text-underline-offset:3px; color:inherit}
@media (max-width:760px){
  .ev-page .ev-hstage{height:calc(600px + var(--ev-hd))}
  .ev-page .ev-s-merch .ev-canvas > img.ev-bg{object-fit:contain; object-position:50% 50%}
}
.ev-page .ev-index-head{padding-top:calc(var(--ev-hd) + clamp(40px, 6vw, 72px))}
.ev-page .ev-feature{color:inherit; cursor:pointer}
.ev-page .ev-feature:hover .ev-go{background:var(--navy-lift); border-color:var(--navy-lift)}
.ev-page .ev-btn{font-weight:600; cursor:pointer}
.ev-page .ev-btn:disabled{opacity:.55; cursor:default}

/* prize questions: waiting, asking, finished */
.ev-page .ev-stage{align-items:stretch}
.ev-page .ev-phone{min-height:100%}
.ev-page .ev-phone h3{margin-bottom:12px}
.ev-page #pWait .ev-msg{min-height:0; margin-top:0}
.ev-page .ev-phone .ev-btn{margin-top:18px; width:100%}
.ev-page .ev-opt-btn{cursor:pointer}
.ev-page .ev-opt-btn:disabled{cursor:default}

/* the site's slim menu bar and plain fallback header, in the event's navy on these pages */
.sticky-bar:has(~ .ev-page), .sticky-bar:has(~ * .ev-page){background:rgba(12,20,40,.94)}
.ev-bare .ev-page{--ev-hd:0px}
.ev-barehead{margin:0; padding:14px 20px; background:#0c1428; font:500 15px/1.4 "DM Sans",system-ui,sans-serif}
.ev-barehead a{color:#f5f0e6; text-decoration:none}
@media (max-width:760px){
  .ev-page .ev-announce span{display:block}
  .ev-page .ev-announce span + span{margin-top:6px}
  .ev-page .ev-announce span + span::before{display:none}
}

/* short screens: keep the title in view under the chair */
@media (min-width:761px){ .ev-page .ev-hstage{height:max(min(calc(clamp(540px, 56.25vw, 860px) + var(--ev-hd)), 100vh), calc(520px + var(--ev-hd)))} }
