.signup-page{overflow-x:clip}
.signup-hero{position:relative;padding-block:clamp(30px,6vh,70px) clamp(80px,11vh,130px)}
.signup-hero>:not(.signup-net){position:relative;z-index:3;max-width:min(760px,56%)}
.signup-hero h1{font-size:clamp(60px,7.4vw,118px);line-height:.9;letter-spacing:-.025em;text-transform:uppercase}
.signup-standfirst{font-size:20px;line-height:1.6;margin-top:32px;max-width:560px!important}
.signup-button{margin-top:34px;background:var(--coral);border-color:var(--coral);color:var(--paper);font-size:15px;padding-inline:36px}
.signup-button:hover{background:var(--ink);border-color:var(--ink)}

.signup-net{position:absolute;right:-4%;top:14%;width:clamp(380px,50vw,760px);aspect-ratio:1536/1024}
.signup-net>img{position:absolute;inset:0;width:100%;height:100%}
.net-front{z-index:2;clip-path:polygon(0 52%,10% 59%,20% 63%,30% 65.5%,40% 66%,50% 64.5%,60% 61%,66% 57%,71% 52%,100% 52%,100% 100%,0 100%)}
.net-catch{position:absolute;inset:0;z-index:1}
.drop{position:absolute;top:40%;width:13%;filter:drop-shadow(4px 8px 6px #17161430);opacity:0;animation:signup-drop 8s cubic-bezier(.5,0,.6,1) infinite}
.drop-1{left:13%}.drop-2{left:26%;animation-delay:2s}.drop-3{left:39%;animation-delay:4s}.drop-4{left:51%;animation-delay:6s}
@keyframes signup-drop{
0%{translate:0 -280%;rotate:-24deg;opacity:0}
6%{opacity:1}
20%{translate:0 0;rotate:5deg;animation-timing-function:ease-out}
28%{translate:0 26%;rotate:-3deg}
36%,74%{translate:0 20%;rotate:0deg;opacity:1}
88%,100%{translate:0 55%;opacity:0}
}
.signup-roundel{right:14%;top:-8%;width:170px;height:170px;font-size:16px;transform:rotate(9deg);animation:signup-wobble 5s ease-in-out infinite}
.signup-roundel strong{display:block;font:800 64px/.9 var(--heading)}
@keyframes signup-wobble{0%,100%{rotate:-3deg}50%{rotate:3deg}}

.signup-section{padding-block:clamp(60px,9vh,100px);border-top:1px solid var(--ink)}
.signup-section h2{font-size:clamp(44px,5vw,72px)}
.signup-section p,.signup-sessions p{font-size:17px;line-height:1.75;max-width:620px}
.signup-section p+p,.signup-sessions p+p{margin-top:16px}
.signup-big{font:800 clamp(28px,2.6vw,38px)/1.08 var(--heading)!important;letter-spacing:-.01em}
.signup-intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.signup-lead{font:800 clamp(30px,3vw,44px)/1.05 var(--heading)!important;letter-spacing:-.01em}

.signup-steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.signup-steps li{border-top:3px solid var(--ink);padding-top:22px}
.signup-steps span{display:block;font:800 64px/1 var(--heading);color:var(--coral);margin-bottom:14px}
.signup-steps p{font-size:18px;font-weight:500}
.signup-thats-it{font:800 clamp(40px,4vw,60px)/1 var(--heading)!important;color:var(--coral);margin-top:48px;text-align:center;max-width:none!important}
.signup-after{margin-top:20px!important}

.signup-ticks{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px 48px}
.signup-ticks li{position:relative;padding:0 0 18px 44px;border-bottom:1px solid #20242324;font-size:18px;font-weight:500}
.signup-ticks li:before{content:'✓';position:absolute;left:0;top:-2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--coral);color:var(--paper);font-size:14px;font-weight:700}
.signup-ticks+.signup-after{margin-top:36px!important}

.signup-sessions{position:relative;background:var(--blue);padding-block:clamp(70px,10vh,120px)}
.signup-sessions:before,.signup-sessions:after,.signup-price:before{content:'';position:absolute;left:0;width:100%;height:16px;top:-1px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 40%,98% 60%,94% 30%,89% 80%,82% 45%,74% 70%,69% 35%,63% 55%,56% 20%,47% 70%,40% 40%,33% 65%,25% 20%,16% 75%,9% 30%,4% 80%,0 40%)}
.signup-sessions:after{top:auto;bottom:-1px;transform:rotate(180deg)}
.signup-sessions-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:6vw;align-items:center}
.signup-sessions img{width:100%;max-width:420px;filter:grayscale(1)}
.signup-sessions h2{font-size:clamp(44px,5vw,72px);margin-bottom:26px}

.signup-pair{display:grid;grid-template-columns:1fr 1fr;gap:6vw;border-top:0}
.signup-pair h2{margin-bottom:22px}
.signup-wink{font:800 30px/1 var(--heading)!important;color:var(--coral);rotate:-3deg;width:fit-content;margin-top:24px!important}

.signup-price{position:relative;background:var(--ink);color:var(--paper);text-align:center;padding-block:clamp(100px,14vh,160px)}
.signup-price h2{font-size:clamp(40px,4.4vw,64px);text-transform:uppercase;max-width:none}
.signup-price h2 span{display:block;font-size:clamp(150px,20vw,280px);line-height:.85;color:var(--coral)}
.signup-price p{font-size:19px;line-height:1.6;max-width:600px;margin:24px auto 0}
.signup-price .signup-button:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}

@media(max-width:900px){
.signup-hero{display:flex;flex-direction:column;align-items:flex-start}
.signup-hero>:not(.signup-net){max-width:none}
.signup-net{order:5}
.signup-net{position:relative;right:auto;top:auto;width:min(560px,110%);margin:80px 0 10px -6%}
.signup-roundel{width:120px;height:120px;font-size:12px;padding:14px;top:-14%}
.signup-roundel strong{font-size:44px}
.signup-intro,.signup-pair,.signup-sessions-grid{grid-template-columns:1fr;gap:36px}
.signup-steps{grid-template-columns:1fr}
.signup-sessions img{max-width:260px}
}
@media(max-width:700px){
.signup-hero h1{font-size:13vw}
.signup-standfirst{font-size:17px}
.signup-section p,.signup-sessions p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
.drop{animation:none;opacity:1;translate:0 20%}
.signup-roundel{animation:none}
}
