/* Demonstration popup for nearby ski test dates; no contact collection. */
.signup-launcher{position:fixed;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;align-items:center;gap:12px;padding:14px 19px;background:var(--ink);border:1px solid #ffffff30;color:#fff;box-shadow:0 5px 24px #0003;font-size:12px;font-weight:600;transition:background .2s,transform .2s}
.signup-launcher:hover{background:#000;transform:translateY(-2px)}
.signup-launcher svg,.signup-submit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.signup-launcher[hidden],body:has(dialog[open],.mobile-nav.open) .signup-launcher{display:none}
.signup-dialog{width:min(840px,calc(100% - 40px));max-width:840px;max-height:calc(100svh - 40px);padding:0;overflow:auto;background:#fff;color:var(--ink);border:0;box-shadow:0 24px 100px #0006;overscroll-behavior:contain}
.signup-dialog::backdrop{background:#071019bd;backdrop-filter:blur(5px)}
.signup-layout{display:grid;grid-template-columns:34% 66%;min-height:570px}
.signup-visual{position:relative;overflow:hidden;background:#253e51;color:#fff;display:flex;align-items:flex-end;padding:28px}
.signup-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center}
.signup-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#091b2beb,transparent 75%)}
.signup-visual-copy{position:relative;z-index:1}
.signup-visual-copy svg{width:36px;height:36px;fill:none;stroke:var(--red);stroke-width:1.4;margin-bottom:12px}
.signup-visual-copy p{font-family:var(--display);font-size:38px;font-weight:700;line-height:1;text-transform:uppercase}
.signup-visual-copy small{display:block;margin-top:16px;font-size:9px;letter-spacing:1.7px}
.signup-copy{padding:40px 38px 30px;position:relative}
.signup-close{position:absolute;right:14px;top:14px;width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #daddd7;color:var(--ink);z-index:2}
.signup-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.signup-copy .eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 32px 17px 0;color:var(--red)}
.signup-copy h2{font-size:52px;line-height:.97;letter-spacing:-.5px}
.signup-copy h2 span{color:var(--red)}
.signup-intro{font-size:12px;line-height:1.8;margin:17px 0 22px;max-width:360px;color:#5e686b}
.signup-demo-note{font-size:11px;line-height:1.65;padding:10px 12px;margin:-5px 0 19px;background:#fff3ee;border-left:2px solid var(--red);color:#6d3a30}
.signup-demo-note strong{font-weight:600}
.signup-fields{display:grid;gap:14px}
.signup-field>span{display:block;font-size:11px;font-weight:600;margin-bottom:6px}
.signup-field input{display:block;width:100%;height:47px;border:1px solid #cdd2ce;background:#f8f9f7;border-radius:0;padding:11px 13px;color:var(--ink);font-size:16px;line-height:1.4;appearance:none}
.signup-field input:focus{outline:2px solid var(--red);outline-offset:1px;background:#fff}
.signup-field input::placeholder{color:#8b918f;font-size:13px}
.signup-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:10px;line-height:1.65;color:#5c6466}
.signup-consent input{flex:0 0 17px;width:17px;height:17px;margin:3px 0 0;accent-color:var(--red)}
.signup-submit{width:100%;font-size:12px;gap:12px;justify-content:center;min-height:50px;padding:14px 16px}
.signup-submit:disabled{opacity:.65;cursor:wait;transform:none}
.signup-error{font-size:12px;color:#b0281a;margin:12px 0 0;line-height:1.6}
.signup-error:empty{display:none}
#unsubscribe-button[hidden]{display:none}
.signup-privacy{font-size:10px;color:#697276;margin-top:15px;line-height:1.7}
.signup-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;width:fit-content}
.signup-privacy p{margin:10px 0 0}
.signup-privacy a{text-decoration:underline;text-underline-offset:2px}
.signup-later{display:block;background:none;border:0;margin:14px auto 0;padding:4px;font-size:11px;color:#697276;text-decoration:underline;text-underline-offset:3px}
.signup-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.signup-success{padding-block:30px;text-align:left}
.signup-success[hidden],.signup-form-view[hidden]{display:none}
.signup-success-mark{display:grid;place-items:center;width:60px;height:60px;background:var(--paper);margin-bottom:25px;color:var(--red)}
.signup-success-mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.8}
.signup-success p{font-size:13px;line-height:1.8;color:#5e686b;margin:22px 0 26px}
.signup-scroll-locked{overflow:hidden}
.tour-signup-note{display:block;margin-top:15px;text-align:center;font-size:10px;color:#69716b;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
  .signup-launcher{right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));font-size:11px;padding:12px 15px;gap:9px}
  .signup-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}
  .signup-layout{display:block;min-height:0}
  .signup-visual{display:none}
  .signup-copy{padding:32px 24px 23px}
  .signup-copy .eyebrow{font-size:8px;margin-bottom:15px;letter-spacing:1px}
  .signup-copy h2{font-size:45px}
  .signup-intro{margin:14px 0 19px;font-size:12px}
  .signup-close{top:12px;right:12px;width:32px;height:32px}
  .signup-consent{font-size:10px;margin-block:14px}
  .signup-success{padding-block:20px}
}
@media(max-width:370px){.signup-copy{padding-inline:18px}.signup-copy h2{font-size:40px}.signup-copy .eyebrow{font-size:7px}.signup-submit{font-size:11px}}
@media(prefers-reduced-motion:reduce){.signup-dialog[open]{animation:none}.signup-launcher{transition:none}}
