/* ============================================================
   SHARKLAB 2026 — Application form page
   Reuses tokens/buttons/hero-glow from sharklab.css (loaded first).
   Dark page, light card — mirrors the main page's dark hero treatment.
   ============================================================ */

body.sh-root{background:var(--ink)}

/* ---- Continuous page background (spans hero + card wrapper, no seam) ---- */
.sh-apply-bgwrap{position:relative;overflow:hidden;background:var(--ink)}
.sh-apply-bgwrap__glow{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(ellipse 900px 560px at 75% 0px,rgba(120,20,10,.45),transparent 70%),
  radial-gradient(ellipse 800px 680px at 4% 280px,rgba(66,0,0,.5),transparent 68%)}
.sh-apply-bgwrap__grain{position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
.sh-apply-bgwrap__orb{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(200,85,61,.28),transparent 62%);top:-140px;right:-80px;animation:shFloat 12s ease-in-out infinite;pointer-events:none}
@media(prefers-reduced-motion:reduce){.sh-apply-bgwrap__orb{animation:none}}

/* ---- Apply hero (compact version of the main hero) ---- */
.sh-apply-hero{position:relative;padding:64px 56px 48px;color:var(--cream);text-align:center}
.sh-apply-hero__inner{position:relative;max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.sh-apply-back{align-self:flex-start;margin-bottom:28px;font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--muted);transition:color .2s}
.sh-apply-back:hover{color:var(--cream)}
.sh-apply-hero__h1{margin:0 0 14px;font-weight:900;font-size:clamp(48px,8vw,96px);letter-spacing:-3px;line-height:.95;color:var(--cream)}
.sh-apply-hero__lede{margin:0;font-size:15.5px;line-height:1.7;font-weight:300;color:#DCC8BE;max-width:440px}
.sh-apply-hero .sh-hero__stats{width:100%;text-align:left}

/* ---- Card shell ---- */
.sh-apply-main{position:relative;padding:0 56px 96px;display:flex;justify-content:center}
.sh-apply-card{position:relative;width:100%;max-width:780px;background:var(--cream-2);margin-top:-8px;padding:48px 56px 56px;clip-path:polygon(0 0,calc(100% - 44px) 0,100% 44px,100% 100%,0 100%);box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}

/* ---- Progress ---- */
.sh-apply-progress{display:flex;justify-content:space-between;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.sh-apply-progress__item{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1px;color:#B09090}
.sh-apply-progress__item span{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(66,0,0,.25);display:grid;place-items:center;font-size:10px;transition:background .25s,border-color .25s,color .25s}
.sh-apply-progress__item.is-active{color:var(--ox-deep)}
.sh-apply-progress__item.is-active span,.sh-apply-progress__item.is-done span{background:var(--rust);border-color:var(--rust);color:var(--ink)}
.sh-apply-progress__bar{height:2px;background:rgba(66,0,0,.12);margin-bottom:40px;overflow:hidden}
.sh-apply-progress__bar span{display:block;height:100%;width:25%;background:var(--rust);transition:width .35s ease}

/* ---- Steps ---- */
.sh-apply-step{display:none;animation:shUp .4s ease-out both}
.sh-apply-step.is-active{display:block}
.sh-apply-step h2{margin:0 0 8px;font-weight:900;font-size:28px;letter-spacing:-1px;color:var(--ox-deep)}
.sh-apply-step__lede{margin:0 0 32px;font-size:14.5px;line-height:1.6;font-weight:300;color:var(--muted-3)}

/* ---- Path cards (step 1) ---- */
.sh-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sh-path-card{position:relative;display:block;padding:28px 26px;border:1.5px solid rgba(66,0,0,.18);background:#fff;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.sh-path-card input{position:absolute;opacity:0;pointer-events:none}
.sh-path-card__n{display:block;font-weight:900;font-size:12px;letter-spacing:2px;color:var(--rust);margin-bottom:14px}
.sh-path-card h3{margin:0 0 8px;font-weight:800;font-size:19px;letter-spacing:-.3px;color:var(--ox-deep)}
.sh-path-card p{margin:0;font-size:13.5px;line-height:1.55;font-weight:300;color:var(--muted-3)}
.sh-path-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(66,0,0,.35)}
.sh-path-card:has(input:checked){border-color:var(--rust);box-shadow:0 0 0 2px var(--rust) inset}
.sh-path-card input:focus-visible ~ *{outline:2px solid var(--rust);outline-offset:3px}

/* ---- Fields ---- */
.sh-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-bottom:20px}
.sh-field{display:flex;flex-direction:column;gap:7px}
.sh-field--full{grid-column:1/-1;margin-bottom:20px}
.sh-field label,.sh-field__legend{font-size:11.5px;font-weight:700;letter-spacing:1px;color:var(--ox-deep)}
.sh-field__optional{font-weight:400;color:#B09090;text-transform:none;letter-spacing:0}
.sh-field input[type=text],.sh-field input[type=email],.sh-field input[type=tel],.sh-field input[type=url],.sh-field input[type=number],.sh-field select,.sh-field textarea{
  font:inherit;font-size:14.5px;padding:13px 14px;border:1.5px solid rgba(66,0,0,.18);background:#fff;color:var(--ox-deep);resize:vertical;transition:border-color .2s;
}
.sh-field input:focus,.sh-field select:focus,.sh-field textarea:focus{outline:none;border-color:var(--rust)}
.sh-field__hint{font-size:11.5px;font-weight:400;color:#B09090}

/* ---- Solo/team toggle ---- */
.sh-toggle-group{display:flex;gap:10px}
.sh-toggle{position:relative;flex:1;text-align:center;padding:12px;border:1.5px solid rgba(66,0,0,.18);background:#fff;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.5px;color:var(--muted-3);transition:border-color .2s,background .2s,color .2s}
.sh-toggle input{position:absolute;opacity:0;pointer-events:none}
.sh-toggle:has(input:checked){border-color:var(--rust);background:var(--rust);color:var(--ink)}

/* ---- Team repeater ---- */
.sh-team{margin-top:20px}
.sh-team__rows{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.sh-team__row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;opacity:0;transform:translateY(-6px);animation:shTeamRowIn 200ms ease-out forwards}
@keyframes shTeamRowIn{to{opacity:1;transform:translateY(0)}}
.sh-team__row input{font:inherit;font-size:13.5px;padding:11px 12px;border:1.5px solid rgba(66,0,0,.18);background:#fff;color:var(--ox-deep)}
.sh-team__row input:focus{outline:none;border-color:var(--rust)}
.sh-team__remove{flex:none;width:36px;height:36px;border:1px solid rgba(66,0,0,.25);background:transparent;color:var(--ox-deep);cursor:pointer;font-size:16px;line-height:1}
.sh-team__remove:hover{background:rgba(66,0,0,.06)}
.sh-team__add{font-size:12.5px;font-weight:700;letter-spacing:1px;color:var(--rust);background:none;border:0;cursor:pointer;padding:4px 0}

/* ---- Consent ---- */
.sh-consent{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.sh-checkbox{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;color:var(--muted-3);cursor:pointer}
.sh-checkbox input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--rust)}
.sh-checkbox a{color:var(--ox-deep);text-decoration:underline}

/* ---- Nav buttons ---- */
.sh-apply-nav{display:flex;align-items:center;gap:16px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(66,0,0,.12)}
.sh-apply-nav .sh-btn{flex:none}
#applyNext,#applySubmit{margin-left:auto}
.sh-apply-error{font-size:12.5px;font-weight:600;color:var(--rust);flex:1;text-align:right;opacity:0;transition:opacity 150ms ease-out}
.sh-apply-error.is-visible{opacity:1}

/* ---- Success / fail states ---- */
.sh-apply-success,.sh-apply-fail{text-align:center;padding:32px 0}
.sh-apply-success{opacity:0;transform:translateY(16px) scale(.97);transition:opacity 550ms cubic-bezier(.19,1,.22,1),transform 550ms cubic-bezier(.19,1,.22,1)}
.sh-apply-success.is-visible{opacity:1;transform:translateY(0) scale(1)}
.sh-apply-success__mark{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--rust);color:var(--ink);font-size:26px;font-weight:900;margin-bottom:20px}
.sh-apply-success h2,.sh-apply-fail h2{margin:0 0 12px;font-weight:900;font-size:28px;color:var(--ox-deep)}
.sh-apply-success p,.sh-apply-fail p{margin:0 0 28px;font-size:14.5px;line-height:1.7;color:var(--muted-3);max-width:440px;margin-left:auto;margin-right:auto}

/* ---- Conditional path fields (toggled via JS) ---- */
.sh-apply-onlyidea,.sh-apply-onlybusiness{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows 220ms cubic-bezier(.19,1,.22,1)}
.sh-apply-onlyidea.is-visible,.sh-apply-onlybusiness.is-visible{grid-template-rows:1fr}
.sh-apply-onlyidea > *,.sh-apply-onlybusiness > *{min-height:0;overflow:hidden}
.sh-apply-onlyidea .sh-cond-inner{display:flex;flex-direction:column;gap:7px}

#industryOtherWrap{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows 220ms cubic-bezier(.19,1,.22,1)}
#industryOtherWrap.is-visible{grid-template-rows:1fr}
#industryOtherWrap > *{min-height:0;overflow:hidden}
#industryOtherWrap .sh-cond-inner{display:flex;flex-direction:column;gap:7px}

@media(prefers-reduced-motion:reduce){
  .sh-apply-step{animation:none}
  .sh-apply-success{transition:opacity 200ms ease}
  .sh-apply-success:not(.is-visible){transform:none}
  .sh-team__row{animation:none;opacity:1;transform:none}
}

@media(max-width:640px){
  .sh-apply-hero{padding:48px 20px 40px}
  .sh-apply-main{padding:0 20px 64px}
  .sh-apply-card{padding:32px 24px 40px;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
  .sh-apply-progress{gap:6px}
  .sh-apply-progress__item span{width:20px;height:20px}
  .sh-apply-progress__item{font-size:0}
  .sh-apply-progress__item span{font-size:10px}
  .sh-path-grid{grid-template-columns:1fr}
  .sh-field-grid{grid-template-columns:1fr}
  .sh-team__row{grid-template-columns:1fr 1fr;grid-template-areas:"name role" "remove remove"}
  .sh-apply-nav{flex-wrap:wrap}
  .sh-apply-error{order:3;text-align:left;width:100%}
}

/* ============================================================
   WAITING STATE — Countdown + Email Waitlist
   ============================================================ */

.sh-apply-main--waiting{
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-top:24px;
  padding-bottom:96px;
  gap:64px;
}

/* ---- Countdown clock ---- */
.sh-countdown{width:100%;max-width:800px}

.sh-countdown__open-date{
  margin:0 0 16px;
  font-size:clamp(32px,6vw,64px);
  font-weight:900;
  letter-spacing:-2px;
  line-height:1;
  color:var(--cream);
}

.sh-countdown__label{
  margin:0 0 28px;
  font-size:11px;
  font-weight:700;
  letter-spacing:3px;
  color:var(--muted-2);
  text-transform:uppercase;
}

.sh-countdown__label--open{
  font-size:20px;
  letter-spacing:2px;
  color:var(--rust-soft);
  margin:0;
}

.sh-countdown__clock{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:0;
}

.sh-countdown__unit{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:clamp(70px,15vw,160px);
}

.sh-countdown__unit span{
  font-size:clamp(52px,12vw,128px);
  font-weight:900;
  line-height:1;
  letter-spacing:-4px;
  color:var(--cream);
  font-variant-numeric:tabular-nums;
}

.sh-countdown__unit small{
  font-size:10px;
  font-weight:700;
  letter-spacing:2.5px;
  color:var(--muted-2);
  margin-top:10px;
  text-transform:uppercase;
}

.sh-countdown__sep{
  font-size:clamp(36px,8vw,96px);
  font-weight:900;
  color:var(--rust);
  line-height:1;
  padding:0 2px;
  padding-top:4px;
}

/* ---- Email waitlist ---- */
.sh-waitlist{max-width:560px;width:100%}

.sh-waitlist__h{
  margin:0 0 10px;
  font-size:clamp(20px,3.5vw,30px);
  font-weight:900;
  letter-spacing:-.8px;
  line-height:1.2;
  color:var(--cream);
}

.sh-waitlist__sub{
  margin:0 0 28px;
  font-size:14px;
  font-weight:300;
  color:var(--muted);
}

.sh-waitlist__row{
  display:flex;
  gap:8px;
}

.sh-waitlist__input{
  flex:1;
  padding:13px 18px;
  font-size:14px;
  font-family:inherit;
  background:rgba(243,235,226,.07);
  border:1px solid rgba(243,235,226,.22);
  color:var(--cream);
  outline:none;
  transition:border-color .2s;
  min-width:0;
}

.sh-waitlist__input::placeholder{color:var(--muted-2)}
.sh-waitlist__input:focus{border-color:var(--rust)}

.sh-waitlist__btn{white-space:nowrap;flex-shrink:0}

.sh-waitlist__ok{
  margin:16px 0 0;
  font-size:14px;
  font-weight:500;
  color:var(--rust-soft);
  letter-spacing:.5px;
}

.sh-waitlist__err{
  margin:12px 0 0;
  font-size:13px;
  color:#e07;
}

.sh-waitlist__err a{color:inherit;text-decoration:underline}

@media(max-width:520px){
  .sh-waitlist__row{flex-direction:column}
  .sh-countdown__unit span{letter-spacing:-2px}
}
