:root{--bg2:#e6eef8;--card:#fff;--muted:#777;--accent1:#6dd5ed;--accent2:#2193b0}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(135deg,#e2ebf0,#cfd9df);color:#222;overflow-x:hidden;display:flex;flex-direction:column}main{flex:1}footer{margin-top:auto}h1{text-align:center;font-size:2rem;margin:20px 0 0}.trainers{flex:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;padding:0 15px 60px;.trainer-card{background:var(--card);border-radius:12px;padding:18px;box-shadow:0 6px 18px rgb(0 0 0 / .08);text-align:center;transition:transform 0.25s ease,box-shadow 0.25s ease;position:relative;overflow:hidden;cursor:pointer;&:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 28px rgb(0 0 0 / .12)}&.coming-soon{filter:grayscale(.25) contrast(.9);&::after{content:"COMING SOON";position:absolute;top:10px;right:10px;background:rgb(0 0 0 / .6);color:#fff;font-size:.75rem;padding:4px 8px;border-radius:999px}}.trainer-photo{width:100px;height:100px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,#dfe9f3,#f7fbfe);display:flex;align-items:center;justify-content:center;font-weight:600;color:#555}.trainer-name{font-weight:700;margin:6px 0 2px;font-size:1.1rem}.trainer-title{font-size:.95rem;color:var(--muted)}}}.modal{display:none;position:fixed;inset:0;background:rgb(0 0 0 / .6);z-index:9999;justify-content:center;align-items:center;overflow:auto;padding:40px 16px;&.open{display:flex}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:900px;padding:20px;max-height:90%;position:relative;overflow:auto;position:relative;box-sizing:border-box;.close{position:absolute;top:12px;right:16px;font-size:1.5rem;background:#fff0;border:none;cursor:pointer}}}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;.badge{background:linear-gradient(135deg,var(--accent1),var(--accent2));color:#fff;padding:5px 10px;border-radius:999px;font-size:.85rem}}.gallery{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;img{width:100px;height:100px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform 0.25s ease;&:hover{transform:scale(1.05)}}}.no-photos{font-size:.95rem;color:--muted;margin-top:8px}@media (max-width:768px){.trainer-photo,.gallery img{width:80px;height:80px}}@media (max-width:600px){.modal-content{padding:16px}}
