.sfg-coaching { --sfg-green: #123e32; --sfg-cream: #f8f6ef; --sfg-border: #d5dfd7; max-width: 1050px; margin: 1rem auto 3rem; }
.sfg-coaching-intro { border-radius: 16px; background: var(--sfg-green); color: #fff; padding: clamp(1.25rem, 4vw, 2.5rem); }
.sfg-coaching-intro :is(a, h1) { color: #fff; }
.sfg-coaching-intro span { font-size: .75rem; letter-spacing: .15em; font-weight: 700; }
.sfg-coaching-headline { margin: .4rem 0; font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.2; }
.sfg-coaching-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), 1fr)); gap: 1rem; }
.sfg-coaching-card { min-width: 0; padding: 1.25rem; margin: 0 0 1rem; border: 1px solid var(--sfg-border); border-radius: 12px; background: var(--sfg-cream); color: #17382e; }
.sfg-coaching-card h2 { margin: 0 0 .5rem; font-size: 1.3rem; }
.sfg-coaching-card label { display: block; font-weight: 600; margin: .8rem 0; }
.sfg-coaching-card :is(input, textarea, select) { box-sizing: border-box; width: 100%; display: block; margin-top: .3rem; padding: .55rem; border: 1px solid #758d81; border-radius: 6px; background: #fff; color: #17382e; }
.sfg-coaching-card button { margin: .3rem .4rem .3rem 0; padding: .6rem .9rem; border: 0; border-radius: 6px; background: var(--sfg-green); color: #fff; cursor: pointer; }
.sfg-coaching-card button:disabled { opacity: .6; cursor: wait; }
.sfg-coaching-card iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; margin-top: .5rem; }
.sfg-coaching-angles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: .75rem; }
.sfg-coaching-player { min-width: 0; }
.sfg-coaching-player iframe { display: block; }
.sfg-coaching-drills { margin-top: 1rem; padding: 1rem; border: 1px solid var(--sfg-border); border-radius: 8px; background: #fff; }
.sfg-coaching-drills h3 { margin: 0 0 .5rem; color: inherit; }
.sfg-coaching-drills legend { padding: 0 .35rem; font-weight: 700; }
.sfg-coaching-drills p { margin: 0; }
.sfg-coaching-drills a { display: inline-block; margin-top: .75rem; }
.sfg-coaching-practice { white-space: pre-wrap; }
.sfg-coaching [role="status"] { min-height: 1.2em; margin: .65rem 0; font-weight: 600; }
