.cp-card{container-type:inline-size;background:#000;color:#fff;border:1px solid #343434;padding:10px;display:flex;flex-direction:column;font-family:Arial,sans-serif;position:relative;isolation:isolate;min-width:0}
.cp-card:before{content:"";position:absolute;right:0;top:0;width:48%;height:14%;background:#f00000;clip-path:polygon(0 0,100% 0,100% 100%);z-index:-1}
.cp-heading{display:grid;grid-template-columns:37% 1fr;gap:6px;align-items:center;margin-bottom:14px}
.cp-photo{display:block;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:2px solid #cbd5e1}
.cp-title{text-align:center;min-width:0}.cp-role{font-size:7.5cqw;line-height:1.03;font-weight:900;letter-spacing:-.04em}.cp-role b{color:red;display:block;font-size:1.2em}.cp-role-long{font-size:4.1cqw;line-height:1.2}.cp-role-long b{display:inline;font-size:inherit}
.cp-title h3{background:#f00000;clip-path:polygon(6% 0,100% 0,100% 100%,6% 100%,0 50%);padding:8px 4px 8px 13px;margin:10px -10px 0 0;font-size:5cqw;font-style:italic;line-height:1.1;letter-spacing:-.025em}
.cp-languages{display:flex;justify-content:center;align-items:center;gap:8px;margin:10px 0 0;line-height:1}
.cp-language-flag{font-size:6cqw;display:inline-block;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.cp-card[data-coach="Boon"] .cp-bio{display:none}
.cp-card[data-coach="Boon"] .cp-offers{grid-column:1/-1}
.cp-details{display:grid;grid-template-columns:44% 1fr;gap:7px;flex:1}.cp-bio,.cp-offers{border:1px solid #bbb;padding:7px;min-width:0}.cp-bio:has(.cp-photo){border:0;padding:0;display:flex;align-items:center}
.cp-card h4{font-size:3.5cqw;letter-spacing:-.02em;margin:0 0 7px;line-height:1.15}.cp-bio ul{padding-left:12px;margin:0;font-size:2.65cqw;line-height:1.4;color:#ddd}.cp-bio li+li{margin-top:3px}.cp-offers{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.cp-offers p{font-size:3cqw;line-height:1.45;margin:5px 0;color:#ddd}.cp-offers strong{color:#fff}
.cp-single{background:#f00000;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%);padding:10px 18px 10px 7px;margin:14px 12% 10px -10px;font-size:3.6cqw;font-weight:900;white-space:nowrap}
.cp-contacts{display:grid;grid-template-columns:1fr 1fr;gap:5px;align-items:center}.cp-contacts>strong{grid-column:1/-1;font-size:3cqw}.cp-contacts a{display:flex;align-items:center;gap:5px;border:1px solid #343434;border-radius:3px;padding:7px 3px;color:#fff;text-decoration:none;font-size:2.65cqw;min-height:35px;overflow-wrap:anywhere;transition:background .15s,border-color .15s}.cp-contacts a:hover,.cp-contacts a:focus-visible{background:#12351c;border-color:#4ade80;outline:2px solid #4ade80;outline-offset:1px}.cp-icon{background:#06c755;color:white;border-radius:5px;display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;font-size:8px;font-weight:900}
.cp-expand{position:absolute;inset:0;background:transparent;border:0;margin:0;padding:0;cursor:pointer;z-index:1}
.cp-card-clickable{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.cp-card-clickable .cp-expand::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}
.cp-card-clickable .cp-contacts a{position:relative;z-index:2}
.cp-card-clickable:has(.cp-expand:focus-visible){outline:2px solid #ef4444;outline-offset:4px;border-color:#ef4444}
@media(hover:hover) and (pointer:fine){.cp-card-clickable:hover{transform:translateY(-3px) scale(1.015);border-color:#ef4444;box-shadow:0 12px 28px #0008;z-index:2}.cp-card-clickable:hover .cp-expand{color:#fff}}
@media(prefers-reduced-motion:reduce){.cp-card-clickable{transition:none}.cp-card-clickable:hover{transform:none}}
.cp-dialog{width:min(760px,94vw);max-height:94dvh;overflow:auto;padding:0;border:1px solid #555;background:#000;color:white}.cp-dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.cp-close{position:sticky;top:0;z-index:4;display:block;margin-left:auto;background:#fff;color:#000;border:0;padding:12px 20px;cursor:pointer}.cp-dialog .cp-card{border:0;padding:18px}.cp-dialog .cp-contacts a{min-height:44px}.cp-dialog .cp-icon{width:32px;height:32px;font-size:11px}
@media(max-width:800px){#coaches .coach-grid{grid-template-columns:1fr}.cp-card{max-width:560px;width:100%;margin-inline:auto;box-sizing:border-box}}
