@font-face { font-family: "Inter"; src: url("../fonts/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2"); font-display: swap; font-style: normal; font-weight: 400; }
@font-face { font-family: "Inter"; src: url("../fonts/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2"); font-display: swap; font-style: normal; font-weight: 700; }
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,-apple-system,sans-serif;color:rgb(0,17,34);background:#fff;line-height:1.5;padding:64px 24px 96px;max-width:700px;margin:0 auto}
a{color:#026db4}
.site-nav{display:flex;gap:24px;margin-bottom:48px}
.site-nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:#64696d;text-decoration:none}
.site-nav a:hover{color:#026db4}
.site-nav a.active{color:rgb(0,17,34)}
.back{font-size:14px;color:#64696d;text-decoration:none;display:inline-block;margin-bottom:24px}
.back:hover{color:#026db4}
h1{font-size:40px;font-weight:700;letter-spacing:-1px;line-height:1.15;margin-bottom:12px}
.hero-photo{display:block;width:100%;border-radius:12px;margin:24px 0}
p.intro{font-size:18px;color:#64696d;margin-bottom:12px}
p.follow{font-size:15px;margin-bottom:48px}
p.follow a{color:#026db4}
.class-card{display:block;text-decoration:none;color:inherit;border-top:1px solid rgb(0,17,34);padding:32px 0;transition:opacity 0.2s ease}
.class-card:hover{opacity:0.6}
.class-name{font-size:24px;font-weight:700;letter-spacing:-0.5px;margin-bottom:6px}
.class-meta{font-size:16px;color:#64696d}
.class-arrow{font-size:16px;color:#026db4;margin-top:10px;display:inline-block}
.class-photo{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:8px;margin-bottom:14px}
.section-label{font-size:13px;font-weight:700;color:#64696d;text-transform:uppercase;letter-spacing:0.03em;margin:40px 0 4px}
.empty-state{padding:20px 0 4px;font-size:16px;color:#42484d}
.past-badge{display:inline-block;font-size:11px;font-weight:700;color:#64696d;text-transform:uppercase;letter-spacing:0.03em;border:1px solid #b7c3cc;border-radius:999px;padding:2px 10px;margin-bottom:10px}
.class-card.past{opacity:0.65}
.class-card.past:hover{opacity:0.45}
.update{background:#eef6fc;border:1px solid #026db4;border-radius:12px;padding:20px 24px;margin-bottom:32px}
.update-photo{display:block;width:100%;border-radius:8px;margin-bottom:16px}
.update-label{font-size:12px;font-weight:700;color:#026db4;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:8px}
.update p{font-size:16px}
.update a{font-weight:600}
.detail-row{border-top:1px solid rgb(0,17,34);padding:20px 0;display:flex;gap:24px}
.detail-label{font-size:14px;font-weight:700;color:#64696d;width:130px;flex-shrink:0;text-transform:uppercase;letter-spacing:0.03em}
.detail-value{font-size:18px}
.detail-value a{font-weight:600}
.transit-item{display:flex;gap:14px;margin-bottom:14px}
.transit-item:last-child{margin-bottom:0}
.transit-mode{font-weight:700;width:64px;flex-shrink:0}
.donate{margin-top:48px;padding:24px;background:rgb(0,17,34);color:#fff;border-radius:12px}
.donate h2{font-size:20px;font-weight:700;margin-bottom:12px}
.donate p{font-size:15px;color:#d9dce0;margin-bottom:16px}
.donate a.button{display:inline-block;background:#fff;color:rgb(0,17,34);font-weight:700;font-size:15px;text-decoration:none;padding:12px 24px;border-radius:999px}
.donate a.button:hover{opacity:0.85}
.signup{margin-top:40px;padding:24px;background:#eef6fc;border:1px solid #026db4;border-radius:12px}
.signup h2{font-size:18px;font-weight:700;margin-bottom:6px}
.signup p{font-size:15px;color:#42484d;margin-bottom:16px}
.signup-form{display:flex;gap:10px}
.signup-form input[type="email"]{flex:1;font-family:inherit;font-size:15px;padding:11px 14px;border:1px solid #b7c3cc;border-radius:8px;background:#fff;color:rgb(0,17,34)}
.signup-form input[type="email"]:focus{outline:2px solid #026db4;outline-offset:1px}
.signup-form button{font-family:inherit;font-weight:700;font-size:15px;color:#fff;background:rgb(0,17,34);border:none;padding:11px 20px;border-radius:8px;cursor:pointer}
.signup-form button:hover{opacity:0.85}
.signup-note{font-size:13px;color:#64696d;margin-top:10px}
.signup-success{display:none;font-size:15px;font-weight:600;color:rgb(0,17,34)}
footer{margin-top:64px;font-size:14px;color:#64696d}
footer a{color:#026db4}
.playlist-card{margin-top:32px}
.playlist-name{font-size:20px;font-weight:700;letter-spacing:-0.3px;margin-bottom:14px}
.playlist-embed{border-radius:12px}
.playlist-links{display:flex;gap:20px;margin-top:12px;font-size:14px;font-weight:600}
@media (max-width:600px){h1{font-size:32px}body{padding:48px 20px 64px}.detail-row{flex-direction:column;gap:4px}.detail-label{width:auto}.signup-form{flex-direction:column}.site-nav{gap:16px;flex-wrap:wrap}}
