:root{--blue:#4fc3f7;--blue-dark:#075985;--green:#22c55e;--ink:#102b46;--muted:#64748b}
*{box-sizing:border-box}body{margin:0;background:#f1fbff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.hero{min-height:330px;color:white;background:linear-gradient(90deg,rgba(3,48,75,.82),rgba(3,48,75,.22)),url('https://images.unsplash.com/photo-1433086966358-54859d0ed716?auto=format&fit=crop&w=1900&q=85') center/cover no-repeat;display:flex;align-items:center}
.hero-inner{width:min(1120px,92%);margin:auto;padding:44px 0}.brand{font-weight:800;font-size:clamp(18px,3vw,27px);letter-spacing:.6px}.brand b{color:#a8efb5}.tag{display:inline-block;margin-top:20px;padding:8px 14px;border-radius:30px;background:#168b45;font-weight:bold;font-size:13px}
.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.08;margin:18px 0 8px}.hero h1 em{font-style:normal;color:#a8efb5}.hero p{margin:0;font-size:17px}
.wrap{width:min(1050px,94%);margin:-32px auto 48px;position:relative}.card{background:#fff;border-radius:23px;padding:clamp(17px,4vw,40px);box-shadow:0 15px 45px rgba(13,74,105,.14)}
.heading{text-align:center;margin-bottom:25px}.icon{font-size:34px;color:#1688c5}.heading h2{font-size:clamp(25px,4vw,34px);margin:0;color:#103d66}.heading p{color:var(--muted);margin:4px}
.section{border:1px solid #e1edf4;border-radius:16px;padding:19px;margin:18px 0;box-shadow:0 4px 12px rgba(16,55,80,.035)}.section h3{margin:-19px -19px 18px;padding:10px 16px;border-radius:15px 15px 9px 9px;background:#def4ff;color:#075985;font-size:19px}.section.green h3{background:#e0f8e6;color:#166534}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px}label{display:block;font-size:14px;font-weight:700}
input:not([type=radio]):not([type=checkbox]),select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #bdccd9;border-radius:9px;min-height:45px;font:inherit;font-weight:400;background:#fff;color:#172b3d}input:focus,select:focus{outline:3px solid rgba(79,195,247,.22);border-color:#269fd4}input[readonly]{background:#f0f5f8}
fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:700;margin-bottom:12px}.choices{display:grid;gap:10px}.distance{grid-template-columns:repeat(2,minmax(0,1fr))}.shirts{grid-template-columns:repeat(9,minmax(0,1fr))}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0}.choices span{min-height:70px;border:1px solid #c7d7e4;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px;text-align:center;background:white}.choices b{font-size:17px;color:#075db4}.choices small{font-weight:400;color:#64748b}.choices input:checked+span{border:2px solid #159bd2;background:#e9f8ff;box-shadow:0 0 0 3px rgba(79,195,247,.12)}
.shirts span{min-height:73px}.shirts b{font-size:14px}.consent{background:#fbfdfe;box-shadow:none}.check{display:flex;align-items:flex-start;gap:9px;font-weight:400;margin:10px 0}.check input{margin-top:4px;accent-color:#159d43}.submit{display:block;width:min(420px,100%);margin:24px auto 8px;padding:15px;border:0;border-radius:11px;background:linear-gradient(90deg,#159d43,#22b34d);color:#fff;font-size:19px;font-weight:800;cursor:pointer}.note{text-align:center;color:var(--muted);font-size:12px}.alert{padding:14px;border-radius:10px;background:#e6f6ff;color:#075985;margin:15px 0}.alert.error{background:#fee2e2;color:#991b1b}
footer{text-align:center;padding:22px;color:#537084;font-size:13px}.success{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#e0f7ff,#e8f9ec)}.success-card{width:min(620px,100%);background:white;padding:34px;border-radius:22px;text-align:center;box-shadow:0 15px 45px rgba(10,60,90,.12)}.tick{margin:auto;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#15803d;font-size:36px}.eyebrow{font-size:12px;letter-spacing:1.4px;color:#168443;font-weight:800}.regid{background:#effaff;border:1px dashed #48aeda;border-radius:14px;padding:20px;margin:23px 0}.regid small,.summary small{display:block;color:#64748b;font-size:11px}.regid strong{display:block;font-size:30px;color:#0874ad}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary>div{background:#f7fafc;border-radius:10px;padding:12px}.summary b{display:block;margin-top:5px}.success-card a{display:inline-block;margin-top:16px;color:#0874ad;font-weight:700}
@media(max-width:700px){.hero{min-height:290px}.hero-inner{padding:32px 0}.wrap{margin-top:-18px}.card{padding:15px;border-radius:17px}.grid{grid-template-columns:1fr;gap:12px}.section{padding:14px}.section h3{margin:-14px -14px 15px}.shirts{grid-template-columns:repeat(3,minmax(0,1fr))}.distance{gap:7px}.distance b{font-size:15px}.summary{grid-template-columns:1fr}.regid strong{font-size:25px}}

/* WhatsApp channel invitation before public registration */
.whatsapp-channel-prompt {
    max-width: 680px;
    margin: 0 auto 24px;
    padding: clamp(22px, 4vw, 34px);
    text-align: center;
    border: 1px solid #d7eee0;
    border-radius: 18px;
    background: linear-gradient(145deg, #f1fff5, #f4fbff);
}
.whatsapp-channel-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #dcfce7;
    color: #168b45;
    font-size: 30px;
    font-weight: 700;
}
.whatsapp-channel-icon svg {
    display: block;
    width: 31px;
    height: 31px;
}
.whatsapp-channel-eyebrow {
    margin: 0 0 6px;
    color: #168b45;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
}
.whatsapp-channel-prompt h3 {
    margin: 0 0 9px;
    color: #123e5a;
    font-size: clamp(20px, 3vw, 26px);
}
.whatsapp-channel-copy {
    max-width: 540px;
    margin: 0 auto 19px;
    color: #526b7b;
    font-size: 14px;
}
.whatsapp-channel-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: min(100%, 390px);
    min-height: 50px;
    padding: 13px 18px;
    border-radius: 10px;
    background: #168b45;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 5px 14px rgba(22, 139, 69, .16);
    transition: background .2s ease, transform .2s ease;
}
.whatsapp-channel-button:hover { background: #11783b; transform: translateY(-1px); }
.whatsapp-button-icon {
    display: block;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
}
.whatsapp-channel-note { margin: 10px 0 16px; color: #718394; font-size: 12px; }
.continue-registration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 17px;
    border: 1px solid #b9d9e8;
    border-radius: 9px;
    background: #fff;
    color: #075985;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.continue-registration:hover { background: #eaf8ff; }
html.js body.registration-gated #registrationForm { display: none; }
html.js body.registration-gated .whatsapp-channel-prompt { margin-bottom: 0; }
.channel-prompt-complete { padding: 17px 20px; }
.channel-prompt-complete .whatsapp-channel-icon,
.channel-prompt-complete .whatsapp-channel-eyebrow,
.channel-prompt-complete .whatsapp-channel-copy,
.channel-prompt-complete .whatsapp-channel-note,
.channel-prompt-complete .continue-registration { display: none; }
.channel-prompt-complete h3 { margin: 0; font-size: 15px; }
@media (max-width: 560px) {
    .whatsapp-channel-prompt { padding: 20px 15px; border-radius: 14px; }
    .whatsapp-channel-button { width: 100%; font-size: 14px; }
}
