/* ============================================================================
   NextGen Summit — tickets and the scholarship application
   Composition only. Every colour comes from the tokens in site.css, so the page
   and the Eventbrite modal are branded from one source (--accent).
   ========================================================================= */

.nav__link.is-here{color:var(--accent-ink);cursor:default}
.on-photo .nav__link.is-here{color:var(--accent)}

/* ---------- hero: the photograph, the line, the date ---------- */
.tkh{position:relative;z-index:71;min-height:74vh;min-height:74svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#0B0B0F}
.tkh__media{position:absolute;inset:0;margin:0}
.tkh__img{width:100%;height:100%;object-fit:cover;object-position:42% 45%;filter:grayscale(1) contrast(1.04)}
.tkh__shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(6,6,9,.78) 0%,rgba(6,6,9,.42) 46%,rgba(6,6,9,.08) 78%,rgba(6,6,9,0) 100%),
  linear-gradient(180deg,rgba(6,6,9,.6) 0%,rgba(6,6,9,.1) 24%,rgba(6,6,9,.18) 50%,rgba(6,6,9,.84) 90%,rgba(6,6,9,.94) 100%)}
.tkh__inner{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:calc(var(--nav-h) + 24px) var(--gutter) clamp(30px,6vh,60px)}
.tkh__eyebrow{font:700 clamp(10px,.82vw,12px)/1.4 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.tkh__title{margin-top:clamp(14px,2.4vh,26px);font-size:clamp(52px,9.6vw,164px);line-height:.88;text-shadow:0 2px 40px rgba(6,6,9,.4)}
.tkh__foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 40px;margin-top:clamp(22px,3.6vh,40px);padding-top:clamp(16px,2.4vh,24px);border-top:1px solid rgba(255,255,255,.28)}
.tkh__when{font:700 clamp(12px,1vw,14px)/1.5 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 10px rgba(6,6,9,.7)}
/* small on purpose: supporting information, never louder than the page */
.tkh__early{font:700 11px/1.5 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-shadow:0 1px 10px rgba(6,6,9,.7)}

/* ---------- the two ways in: two columns of type, not pricing cards ---------- */
.tk{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,10vh,120px) var(--gutter) clamp(64px,11vh,130px)}
.tk__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.opt{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(30px,5vh,56px) clamp(24px,4vw,72px) clamp(34px,5.6vh,60px) 0}
.opt + .opt{padding-left:clamp(24px,4vw,72px);padding-right:0;border-left:1px solid var(--rule)}
.opt__h{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,1.6vh,18px)}
.opt__name{font:800 clamp(15px,1.3vw,19px)/1.2 var(--f-sans);letter-spacing:.16em;text-transform:uppercase}
.opt__dash{color:var(--ink-3)}
.opt__price{font-family:var(--f-display);font-weight:900;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144;font-size:clamp(84px,11vw,188px);line-height:.84;letter-spacing:-.045em;color:var(--ink)}
.opt__cur{font-size:.46em;vertical-align:.86em;margin-right:.04em;letter-spacing:0;color:var(--accent-ink)}
.opt__per{margin-left:.12em;font:800 clamp(14px,1.2vw,18px)/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.opt__copy{margin-top:clamp(16px,2.4vh,24px);max-width:44ch;font:500 clamp(16px,1.25vw,19px)/1.5 var(--f-sans);color:var(--ink-2)}
.opt__cta{margin-top:auto;padding-top:clamp(24px,3.6vh,38px)}
.tk__fine{margin-top:clamp(18px,2.8vh,28px);max-width:60ch;font:600 13px/1.6 var(--f-sans);color:var(--ink-2)}
.tk__fine[hidden],.tk__opts[hidden]{display:none}

@media (max-width:760px){
  .tk__opts{grid-template-columns:1fr}
  .opt,.opt + .opt{padding:clamp(28px,4.6vh,40px) 0}
  .opt + .opt{border-left:0;border-top:1px solid var(--rule)}
  .opt__cta{width:100%}
  .opt__cta .btn{width:100%}
}

/* Eventbrite binds to this by id. It has to stay in the layout to be clickable, so it is taken
   out of view rather than display:none, and out of the tab order. */
.eb-trigger{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;pointer-events:none}

/* ---------- financial assistance: its own quiet band, a different kind of way in ---------- */
.aid{background:var(--ink);color:#fff}
.aid__in{max-width:var(--maxw);margin:0 auto;padding:clamp(56px,10vh,120px) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(30px,6vw,120px);align-items:end}
.aid__title{font:800 clamp(28px,3.6vw,56px)/1.02 var(--f-sans);letter-spacing:.005em;text-transform:uppercase;max-width:14ch}
.aid__copy{max-width:44ch;font:500 clamp(16px,1.25vw,19px)/1.55 var(--f-sans);color:rgba(255,255,255,.84)}
.aid__cta{margin-top:clamp(22px,3.4vh,34px)}
@media (max-width:760px){
  .aid__in{grid-template-columns:1fr}
  .aid__cta .btn{width:100%}
}

/* ---------- ours, after their order goes through ---------- */
.tkdone{padding:clamp(20px,4vh,40px) 0 0;outline:none}
.tkdone[hidden]{display:none}
.tkdone__title{font-size:clamp(64px,10vw,150px);line-height:.88;padding-bottom:.04em}
.tkdone__copy{margin-top:clamp(12px,2vh,20px);font:700 clamp(18px,1.6vw,24px)/1.4 var(--f-sans)}
.tkdone__small{margin-top:10px;max-width:44ch;font:500 15px/1.6 var(--f-sans);color:var(--ink-2)}
.tkdone__cta{margin-top:clamp(26px,4vh,42px)}
@media (max-width:560px){.tkdone__cta .btn{width:100%}}

/* ---------- scholarship application ---------- */
.sch{max-width:52rem;margin:0 auto;padding:calc(var(--nav-h) + clamp(36px,7vh,80px)) var(--gutter) clamp(80px,13vh,150px)}
.sch__title{margin-top:clamp(16px,2.6vh,30px);font-size:clamp(44px,7vw,104px);line-height:.92}
.sch__lede{margin-top:clamp(18px,3vh,30px);max-width:46ch;font:500 clamp(16px,1.25vw,19px)/1.55 var(--f-sans);color:var(--ink-2)}
.sch__form{display:grid;gap:clamp(26px,4vh,36px);margin-top:clamp(34px,5.5vh,60px);padding-top:clamp(28px,4.4vh,44px);border-top:1px solid var(--rule)}
.sch__form[hidden]{display:none}
.sch__form .field input{height:56px}
.sch__pair{margin:0;padding:0;border:0;min-width:0}
.sch__pair legend,.sch__q legend{padding:0;margin-bottom:9px;font:700 11px/1.3 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.sch__pair-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:560px){.sch__pair-in{grid-template-columns:1fr}}
.sch__count{margin-top:7px;font:600 12.5px/1.4 var(--f-sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.sch__count.is-over{color:#8A1233}
.sch__q{margin:0;padding:0;border:0;min-width:0}
.sch__opts{display:grid;gap:10px}
.sch__opt{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:56px;padding:12px 16px;border:1.5px solid var(--rule-strong);border-radius:8px;background:#fff;font:600 15.5px/1.4 var(--f-sans);cursor:pointer;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.sch__opt:hover{border-color:var(--ink)}
.sch__opt input{width:20px;height:20px;margin:0;accent-color:var(--ink);cursor:pointer}
.sch__opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.sch__opt:has(input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}
.sch__opts--row{grid-template-columns:repeat(2,minmax(0,160px))}
.sch__other{margin-top:10px}
.sch__other[hidden]{display:none}
.sch__q[aria-invalid="true"] .sch__opt,.sch__pair [aria-invalid="true"]{border-color:#B0123E}
.sch__ack{margin-top:4px;padding:18px 20px;border-left:3px solid var(--accent);background:var(--paper-2);font:600 15px/1.55 var(--f-sans);color:var(--ink);max-width:62ch}
.sch__actions{margin-top:2px}
@media (max-width:560px){.sch__actions .btn{width:100%}}
.sch__done{margin-top:clamp(34px,5.5vh,60px);padding-top:clamp(28px,4.4vh,44px);border-top:3px solid var(--accent);outline:none}
.sch__done[hidden]{display:none}
.sch__done-t{font:800 clamp(28px,3.4vw,48px)/1.05 var(--f-sans);letter-spacing:.01em;text-transform:uppercase}
.sch__done-x{margin-top:14px;max-width:46ch;font:500 clamp(16px,1.25vw,19px)/1.55 var(--f-sans);color:var(--ink-2)}
.sch__done-x small{display:block;margin-top:8px;font:600 13px/1.45 var(--f-sans)}
.sch__done-cta{margin-top:clamp(24px,3.6vh,36px)}
