@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root { --forest:#123d35; --green:#246b5f; --lime:#d7ef6f; --paper:#f5f5ef; --white:#fff; --ink:#17221f; --muted:#63706b; --line:#d9ddd5; --coral:#d66f55; --gold:#d8a62f; }
* { box-sizing: border-box; }
body.sports-page { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; }
a { color:inherit; }
.sports-topbar { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px clamp(18px,5vw,72px); color:var(--white); background:var(--forest); }
.home-topbar { padding-inline:clamp(20px,4vw,48px); }
.home-topbar-inner { width:min(1180px,100%); display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 auto; }
.sports-brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:700; }
.sports-brand-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); color:var(--lime); font:700 14px "Fraunces",serif; }
.sports-actions { display:flex; align-items:center; gap:9px; }
.sports-button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 15px; border:1px solid transparent; border-radius:6px; color:var(--white); background:var(--green); font:700 14px "DM Sans",sans-serif; text-decoration:none; cursor:pointer; }
.sports-button:hover { filter:brightness(.94); }
.sports-button-light { color:var(--forest); background:var(--lime); }
.sports-button-install { border-color:rgba(255,255,255,.5); background:rgba(18,61,53,.72); }
.sports-button-quiet { border-color:var(--line); color:var(--ink); background:var(--white); }
.sports-button-danger { color:#8d2f22; border-color:#efc5bb; background:#fff6f3; }
.sports-icon { width:17px; height:17px; }
.home-hero { min-height:clamp(540px,72vh,680px); display:flex; align-items:flex-end; position:relative; padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px) clamp(48px,7vh,72px); color:var(--white); background:linear-gradient(90deg,rgba(10,35,30,.92) 0%,rgba(10,35,30,.7) 48%,rgba(10,35,30,.12) 100%),url('https://images.unsplash.com/photo-1622279457486-62dcc4a431d6?auto=format&fit=crop&w=2200&q=88') center 42%/cover; }
.hero-copy { width:min(1180px,100%); margin-inline:auto; }
.hero-copy>* { max-width:720px; }
.eyebrow { margin:0 0 12px; color:var(--lime); font-size:12px; font-weight:700; text-transform:uppercase; }
.home-hero h1 { margin:0; font:700 clamp(58px,9vw,128px)/.88 "Fraunces",serif; letter-spacing:0; }
.home-hero p { max-width:650px; margin:24px 0; font-size:clamp(18px,2vw,24px); line-height:1.45; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.page-transition { position:fixed; inset:0; z-index:1000; display:grid; place-content:center; justify-items:center; gap:10px; color:var(--forest); background:rgba(245,245,239,.9); backdrop-filter:blur(5px); font-size:12px; font-weight:700; text-transform:uppercase; opacity:0; pointer-events:none; }
.page-transition[hidden] { display:none; }
.page-transition.is-active { opacity:1; pointer-events:auto; }
.page-transition-spinner { width:34px; height:34px; border:3px solid rgba(36,107,95,.2); border-top-color:var(--green); border-radius:50%; animation:page-transition-spin .7s linear infinite; }
@keyframes page-transition-spin { to { transform:rotate(360deg); } }
.install-dialog { width:min(92vw,460px); padding:22px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--white); box-shadow:0 24px 70px rgba(10,35,30,.28); }
.install-dialog::backdrop { background:rgba(10,35,30,.65); }
.install-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.install-dialog h2 { margin:0; font:600 22px "Fraunces",serif; }
.install-dialog p { margin:14px 0 0; color:var(--muted); line-height:1.55; }
.install-dialog-header button { min-height:38px; padding:7px 10px; border:1px solid var(--line); border-radius:5px; color:var(--ink); background:var(--white); font:700 13px "DM Sans",sans-serif; cursor:pointer; }
.team-code-band { padding:clamp(42px,6vw,76px) clamp(20px,4vw,48px); color:var(--white); background:#1d5aa8; }
.team-code-inner { width:min(1180px,100%); display:grid; grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr); gap:clamp(30px,6vw,80px); align-items:center; margin:0 auto; }
.team-code-copy h2 { margin:4px 0 10px; font:600 clamp(34px,4vw,56px)/1.05 "Fraunces",serif; }
.team-code-copy p:last-child { max-width:580px; margin:0; color:#dbe9f8; font-size:17px; }
.team-code-form { padding:22px; border-top:4px solid var(--lime); background:rgba(8,39,76,.48); }
.team-code-form label { display:block; margin-bottom:7px; color:#dbe9f8; font-size:11px; font-weight:700; text-transform:uppercase; }
.team-code-form>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.team-code-form input { min-width:0; min-height:46px; padding:10px 13px; border:1px solid rgba(255,255,255,.4); border-radius:3px; color:var(--forest); background:var(--white); font:600 14px "DM Sans",sans-serif; }
.team-code-form small,.team-code-error { display:block; margin:9px 0 0; color:#dbe9f8; }
.team-code-error { color:#fff1c2; font-weight:700; }
.home-band { padding:clamp(64px,7vw,108px) clamp(20px,4vw,48px); }
.home-band-inner { width:min(1180px,100%); margin:0 auto; }
.home-band-intro { display:grid; grid-template-columns:minmax(180px,280px) minmax(0,900px); gap:clamp(32px,6vw,96px); align-items:start; margin-bottom:clamp(38px,5vw,64px); }
.home-band-intro .eyebrow { margin-top:12px; color:var(--green); }
.home-band h2 { max-width:900px; margin:0; font:600 clamp(38px,4.2vw,64px)/1.03 "Fraunces",serif; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); }
.feature { min-height:220px; display:flex; flex-direction:column; gap:24px; padding:clamp(26px,3vw,38px); background:var(--white); }
.feature-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.feature b { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); color:var(--green); }
.feature-top>span { color:#8a958f; font-size:11px; font-weight:700; }
.feature-copy { margin-top:auto; }
.feature h3 { margin:0 0 10px; font:600 23px "Fraunces",serif; }
.feature p { max-width:360px; margin:0; color:var(--muted); line-height:1.6; }
.home-strip { padding-inline:clamp(20px,4vw,48px); color:var(--white); background:var(--forest); }
.home-strip-inner { width:min(1180px,100%); display:grid; grid-template-columns:1fr 1fr; align-items:center; margin:0 auto; }
.home-strip img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.strip-copy { padding:clamp(40px,7vw,90px); }
.strip-copy h2 { margin:0 0 20px; font:600 clamp(36px,5vw,64px)/1.04 "Fraunces",serif; }
.strip-copy p { color:#d8e1dc; font-size:18px; line-height:1.65; }
.sports-shell { width:min(1280px,calc(100% - 32px)); margin:30px auto 80px; }
.workspace-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }
.workspace-heading h1 { margin:3px 0; font:700 clamp(36px,5vw,58px) "Fraunces",serif; }
.workspace-heading p { margin:0; color:var(--muted); }
.registration-share { display:flex; align-items:center; gap:14px; max-width:390px; overflow-wrap:anywhere; }
.registration-share #registrationQr { flex:0 0 122px; min-height:122px; display:grid; place-items:center; padding:5px; border:1px solid var(--line); background:#fff; }
.coach-team-shell { width:min(1500px,calc(100% - 32px)); }
.coach-team-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.coach-team-heading .eyebrow { margin-bottom:7px; }
.coach-team-heading h1 { margin:0; font:700 46px "Fraunces",serif; }
.coach-team-heading p:last-child { margin:5px 0 0; color:var(--muted); }
.coach-add-event { flex:0 0 auto; }
.coach-team-layout { display:grid; grid-template-columns:340px minmax(0,1fr); gap:20px; align-items:start; }
.team-info-sidebar { position:sticky; top:20px; max-height:calc(100vh - 40px); overflow:auto; scrollbar-width:thin; }
.team-info-details { border:1px solid var(--line); background:var(--white); }
.team-info-details>summary { display:none; }
.sidebar-section { padding:20px; border-bottom:1px solid var(--line); }
.sidebar-section h2 { margin:0 0 15px; font:600 21px "Fraunces",serif; }
.team-facts dl { display:grid; gap:13px; margin:0; }
.team-facts dl>div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; align-items:start; }
.team-facts dt { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.team-facts dd { margin:0; font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.sidebar-section-heading { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.sidebar-section-heading .eyebrow { margin-bottom:5px; color:var(--green); }
.sidebar-section-heading h2 { margin:0; }
.sidebar-section-heading #registrationQr { flex:0 0 92px; min-height:92px; display:grid; place-items:center; padding:4px; border:1px solid var(--line); background:#fff; overflow:hidden; }
.sidebar-section-heading #registrationQr img,.sidebar-section-heading #registrationQr canvas { width:82px!important; height:82px!important; }
.team-access-code { display:grid; gap:5px; margin-bottom:14px; }
.team-access-code small { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.team-access-code code { max-width:100%; padding:7px 9px; border:1px solid var(--line); color:var(--forest); background:#f4f7f3; font-size:12px; overflow-wrap:anywhere; }
.team-invite-actions { display:flex; flex-wrap:wrap; gap:8px; }
.team-registration-access .team-invite-form { display:flex; flex-direction:column; padding:18px 0 0; margin-top:18px; border-top:1px solid var(--line); background:transparent; }
.team-invite-form textarea { min-height:92px; }
.team-invite-form .sports-button { align-self:flex-start; }
.invite-status { min-height:18px; margin:8px 0; color:var(--muted); font-size:12px; }
.registered-players h2 { display:flex; justify-content:space-between; align-items:center; }
.registered-players h2 span { min-width:28px; padding:4px 7px; color:var(--forest); background:var(--lime); font:700 12px "DM Sans",sans-serif; text-align:center; }
.registered-players p { margin:0; color:var(--muted); font-size:13px; }
.registered-players ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.registered-players li { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; }
.player-color { width:10px; height:10px; flex:0 0 10px; border-radius:50%; }
.sidebar-editor>summary { display:flex; align-items:center; gap:8px; padding:16px 20px; color:var(--green); font-size:13px; font-weight:700; cursor:pointer; list-style:none; }
.sidebar-editor>summary::-webkit-details-marker { display:none; }
.sidebar-editor[open]>summary { border-bottom:1px solid var(--line); }
.sidebar-editor .sports-form { padding:18px; }
.team-events-workspace { min-width:0; border:1px solid var(--line); background:var(--white); }
.team-events-heading { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; border-bottom:1px solid var(--line); }
.team-events-heading .eyebrow { margin-bottom:4px; color:var(--green); }
.team-events-heading h2 { margin:0; font:600 28px "Fraunces",serif; }
.team-events-heading>span { color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; }
.team-events-table-wrap,.availability-table-wrap { width:100%; overflow-x:auto; }
.team-events-table { width:100%; min-width:790px; border-collapse:collapse; }
.team-events-table th,.team-events-table td { padding:14px 13px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.team-events-table th { color:var(--muted); background:#fafbf8; font-size:10px; text-transform:uppercase; }
.team-events-table td>strong,.team-events-table td>small,.team-events-table time strong,.team-events-table time span { display:block; }
.team-events-table td>small,.team-events-table time span { margin-top:3px; color:var(--muted); font-size:11px; }
.team-events-table td:nth-child(3) { max-width:240px; }
.event-type { display:inline-block; margin-bottom:6px; padding:3px 6px; font-size:9px; font-weight:700; text-transform:uppercase; }
.event-type-match { color:#194f91; background:#e4eefb; }
.event-type-practice { color:#76550d; background:#f8eccb; }
.event-table-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.event-table-actions form { margin:0; }
.icon-button { width:40px; height:40px; flex:0 0 40px; display:inline-grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:5px; color:var(--ink); background:var(--white); cursor:pointer; }
.event-lineup-row>td { padding:0; background:#f7f9f6; }
.event-lineup-row details>summary { display:flex; align-items:center; justify-content:space-between; padding:11px 16px; color:var(--green); font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.event-lineup-row details>summary::-webkit-details-marker { display:none; }
.event-lineup-row details[open]>summary { border-bottom:1px solid var(--line); }
.event-lineup-row details[open] summary .sports-icon,.team-info-details[open]>summary .sports-icon { transform:rotate(180deg); }
.event-lineup-content>p { margin:0; padding:18px; color:var(--muted); }
.empty-events { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:36px; text-align:center; }
.empty-events>.sports-icon { width:34px; height:34px; color:var(--green); }
.empty-events h3 { margin:14px 0 5px; font:600 24px "Fraunces",serif; }
.empty-events p { margin:0 0 18px; color:var(--muted); }
.event-offcanvas { width:min(480px,100vw); max-width:none; height:100dvh; max-height:none; margin:0 0 0 auto; padding:0; border:0; color:var(--ink); background:var(--white); box-shadow:-24px 0 60px rgba(18,61,53,.22); }
.event-offcanvas[open] { display:flex; flex-direction:column; animation:event-offcanvas-in .22s ease-out; }
.event-offcanvas::backdrop { background:rgba(18,34,31,.55); }
.event-offcanvas .offcanvas-header { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 22px; border-bottom:1px solid var(--line); }
.offcanvas-header .eyebrow { margin-bottom:5px; color:var(--green); }
.offcanvas-header h2 { margin:0; font:600 28px "Fraunces",serif; }
.event-offcanvas .sports-form { overflow-y:auto; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes event-offcanvas-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
.coach-launch { margin-bottom:24px; border:1px solid #b9c9bf; background:#fff; }
.coach-launch.is-complete { border-color:#9bbda9; }
.launch-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 26px 18px; }
.launch-heading .eyebrow { margin-bottom:6px; color:var(--green); }
.launch-heading h2 { margin:0; font:600 30px "Fraunces",serif; }
.launch-heading p { margin:5px 0 0; color:var(--muted); }
.launch-progress { min-width:90px; text-align:right; }
.launch-progress strong,.launch-progress span { display:block; }
.launch-progress strong { color:var(--forest); font:700 32px "Fraunces",serif; }
.launch-progress span { color:var(--muted); font-size:12px; text-transform:uppercase; }
.launch-bar { height:5px; background:#e4e9e3; }
.launch-bar span { height:100%; display:block; background:var(--green); transition:width .25s ease; }
.launch-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; border-top:1px solid var(--line); }
.launch-steps { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; padding:12px 20px 18px; list-style:none; }
.launch-step { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; padding:15px 12px; border-bottom:1px solid var(--line); }
.launch-step:nth-last-child(-n+2) { border-bottom:0; }
.launch-step-number { width:28px; height:28px; display:grid; place-items:center; border:1px solid #bcc6bf; border-radius:50%; color:var(--muted); font-size:12px; font-weight:700; }
.launch-step.is-complete .launch-step-number { border-color:var(--green); color:#fff; background:var(--green); }
.launch-step strong { display:block; font-size:14px; }
.launch-step p { margin:3px 0 5px; color:var(--muted); font-size:12px; line-height:1.45; }
.launch-step a,.launch-step button { padding:0; border:0; color:var(--green); background:transparent; font:700 12px "DM Sans",sans-serif; text-decoration:underline; cursor:pointer; }
.launch-step-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; }
.team-setup-form { border-left:1px solid var(--line); background:#fafbf8; scroll-margin-top:16px; }
#eventSetup,#teamSchedule { scroll-margin-top:16px; }
.notice { margin:12px 0; padding:13px 16px; border-left:4px solid var(--green); background:#e9f3ee; }
.notice-error { border-color:var(--coral); background:#fff0ec; }
.admin-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.sports-panel { border:1px solid var(--line); background:var(--white); }
.panel-title { padding:18px 20px; border-bottom:1px solid var(--line); }
.panel-title h2 { margin:0; font:600 22px "Fraunces",serif; }
.panel-title p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.sports-form { display:grid; gap:14px; padding:20px; }
.sports-field { display:grid; gap:6px; }
.sports-field label,.sports-field>span { font-size:12px; font-weight:700; color:#48544f; }
.sports-field input,.sports-field select,.sports-field textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid #cbd1ca; border-radius:5px; color:var(--ink); background:var(--white); font:inherit; }
.sports-field textarea { min-height:80px; resize:vertical; }
.sports-field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.record-list { margin-top:18px; border-top:1px solid var(--line); }
.record { display:flex; justify-content:space-between; gap:12px; padding:14px 20px; border-bottom:1px solid var(--line); }
.record:last-child { border-bottom:0; }
.record strong,.record span { display:block; }
.record small { color:var(--muted); }
.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.team-link { min-height:210px; display:flex; flex-direction:column; justify-content:space-between; padding:24px; border-top:6px solid var(--team-color,var(--green)); color:inherit; background:var(--white); text-decoration:none; }
.team-link h2 { margin:8px 0; font:600 28px "Fraunces",serif; }
.team-link p { color:var(--muted); }
.team-meta { display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid var(--line); font-size:13px; }
.coach-layout { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:22px; align-items:start; }
.event-stack { display:grid; gap:16px; }
.match { border:1px solid var(--line); background:var(--white); }
.match-head { display:grid; grid-template-columns:100px 1fr auto; gap:18px; align-items:center; padding:20px; border-bottom:1px solid var(--line); }
.match-date { color:var(--green); font-weight:700; text-transform:uppercase; }
.match-date strong { display:block; color:var(--ink); font:700 36px "Fraunces",serif; }
.match-head h2 { margin:0 0 4px; font:600 24px "Fraunces",serif; }
.match-head p { margin:0; color:var(--muted); }
.match-actions { display:flex; flex-wrap:wrap; gap:8px; }
.availability-board { width:100%; border-collapse:collapse; }
.availability-board th,.availability-board td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.availability-board th { color:var(--muted); background:#fafbf8; font-size:11px; text-transform:uppercase; }
.availability-board input[type=text],.availability-board select { width:100%; min-height:36px; border:1px solid var(--line); border-radius:4px; padding:6px 8px; }
.status { display:inline-block; padding:4px 8px; border-radius:999px; background:#edf0eb; font-size:12px; font-weight:700; text-transform:capitalize; }
.status-available { color:#176044; background:#dff2e8; }
.status-unavailable { color:#8d2f22; background:#fae5df; }
.status-unsure { color:#76550d; background:#f8eccb; }
.roster-submit { display:flex; justify-content:flex-end; padding:14px; }
.registration-hero { padding:44px clamp(20px,6vw,80px); color:var(--white); background:var(--forest); }
.registration-hero h1 { margin:5px 0; font:700 clamp(42px,7vw,78px)/1 "Fraunces",serif; }
.registration-hero p { color:#d9e2de; }
.registration-layout { width:min(1080px,calc(100% - 32px)); display:grid; grid-template-columns:280px minmax(0,1fr); gap:30px; margin:34px auto 80px; }
.registration-summary { align-self:start; padding:24px; border-top:5px solid var(--lime); background:var(--white); }
.registration-summary h2 { font:600 25px "Fraunces",serif; }
.registration-summary dl { margin:20px 0 0; }
.registration-summary dt { margin-top:14px; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.registration-summary dd { margin:3px 0; }
.registration-form { border:1px solid var(--line); background:var(--white); }
.form-section { padding:22px; border-bottom:1px solid var(--line); }
.form-section h2 { margin:0 0 16px; font:600 22px "Fraunces",serif; }
.form-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-fields .wide { grid-column:1/-1; }
.consent { display:flex; gap:10px; align-items:start; color:var(--muted); line-height:1.5; }
.family-match { display:grid; grid-template-columns:130px minmax(0,1fr) 320px; gap:18px; padding:20px; border-bottom:1px solid var(--line); background:var(--white); }
.family-match:last-child { border-bottom:0; }
.family-match h2 { margin:0 0 5px; font:600 23px "Fraunces",serif; }
.family-match p { margin:4px 0; color:var(--muted); }
.response-form { display:grid; gap:8px; }
.response-options { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.response-options label { cursor:pointer; }
.response-options input { position:absolute; opacity:0; }
.response-options span { display:block; padding:8px 4px; border:1px solid var(--line); text-align:center; font-size:12px; }
.response-options input:checked+span { border-color:var(--green); color:var(--white); background:var(--green); }
.sports-nav-link { padding:8px 4px; color:#dce7e2; font-size:13px; font-weight:700; text-decoration:none; }
.sports-nav-link:hover { color:var(--lime); }
.coach-guide-inner { width:min(1280px,calc(100% - 40px)); margin:0 auto; }
.coach-guide-hero { min-height:720px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr); align-items:end; gap:clamp(36px,6vw,100px); padding:clamp(72px,10vw,140px) clamp(20px,7vw,110px) clamp(56px,7vw,90px); color:var(--white); background:linear-gradient(90deg,rgba(9,34,29,.95) 0%,rgba(9,34,29,.78) 48%,rgba(9,34,29,.24) 100%),url('https://images.unsplash.com/photo-1622163642998-1ea32b0bbc67?auto=format&fit=crop&w=2200&q=88') center 44%/cover; }
.coach-guide-hero-copy { max-width:820px; }
.coach-guide-hero h1 { max-width:800px; margin:0; font:700 clamp(54px,7vw,104px)/.92 "Fraunces",serif; }
.coach-guide-hero-copy>p:not(.eyebrow) { max-width:670px; margin:26px 0; font-size:clamp(18px,2vw,23px); line-height:1.5; }
.coach-outline-button { border-color:rgba(255,255,255,.52); background:rgba(18,61,53,.55); }
.coach-guide-score { align-self:end; padding:26px; border-top:4px solid var(--lime); background:rgba(11,38,33,.9); backdrop-filter:blur(8px); }
.coach-guide-score span,.coach-guide-score small { display:block; }
.coach-guide-score span { color:var(--lime); font-size:11px; font-weight:700; text-transform:uppercase; }
.coach-guide-score strong { display:block; margin:10px 0 18px; font:600 25px/1.2 "Fraunces",serif; }
.coach-guide-score small { color:#d7e0dc; line-height:1.55; }
.coach-value-band { padding:clamp(70px,8vw,110px) 0; }
.coach-guide-heading { display:grid; grid-template-columns:260px minmax(0,820px); gap:clamp(30px,6vw,100px); margin-bottom:50px; }
.coach-guide-heading .eyebrow,.coach-process .eyebrow,.coach-checklist .eyebrow { color:var(--green); }
.coach-guide-heading h2,.coach-process-intro h2,.coach-checklist-heading h2 { margin:0; font:600 clamp(38px,4.5vw,64px)/1.04 "Fraunces",serif; }
.coach-value-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.coach-value-list article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:18px; padding:34px clamp(20px,3vw,38px); border-right:1px solid var(--line); background:var(--white); }
.coach-value-list article:last-child { border-right:0; }
.coach-value-list .sports-icon { width:28px; height:28px; color:var(--green); }
.coach-value-list h3 { margin:0 0 9px; font:600 22px "Fraunces",serif; }
.coach-value-list p { margin:0; color:var(--muted); line-height:1.6; }
.coach-process { padding:clamp(70px,8vw,110px) 0; color:var(--white); background:var(--forest); scroll-margin-top:20px; }
.coach-process-intro { display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:60px; align-items:end; margin-bottom:50px; }
.coach-process-intro>p { margin:0; color:#cbd9d3; font-size:17px; line-height:1.6; }
.coach-process-list { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.22); list-style:none; }
.coach-process-list li { display:grid; grid-template-columns:90px minmax(0,1fr); gap:28px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.22); }
.coach-process-list li>span { color:var(--lime); font:600 28px "Fraunces",serif; }
.coach-process-list h3 { margin:2px 0 7px; font:600 clamp(22px,2.3vw,30px) "Fraunces",serif; }
.coach-process-list li p { max-width:760px; margin:0; color:#cbd9d3; line-height:1.55; }
.coach-process-list .coach-process-owner { color:var(--lime); font-size:10px; font-weight:700; text-transform:uppercase; }
.student-experience { display:grid; grid-template-columns:1.1fr .9fr; min-height:650px; background:#e9b842; }
.student-photo { min-width:0; overflow:hidden; }
.student-photo img { width:100%; max-width:100%; height:100%; min-height:650px; display:block; object-fit:cover; object-position:center 36%; }
.student-copy { min-width:0; align-self:center; padding:clamp(46px,7vw,100px); }
.student-copy .eyebrow { color:var(--forest); }
.student-copy h2 { margin:0 0 22px; font:600 clamp(40px,5vw,68px)/1.02 "Fraunces",serif; }
.student-copy>p { max-width:650px; font-size:18px; line-height:1.65; }
.student-copy ul { display:grid; gap:13px; margin:28px 0 0; padding:0; list-style:none; }
.student-copy li { display:flex; gap:10px; align-items:center; font-weight:700; }
.student-copy li .sports-icon { flex:0 0 auto; }
.coach-checklist { padding:clamp(70px,8vw,110px) 0; background:var(--white); scroll-margin-top:20px; }
.coach-checklist-heading { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:60px; align-items:end; margin-bottom:46px; }
.coach-checklist-heading>p { margin:0; color:var(--muted); line-height:1.65; }
.coach-checklist-grid { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; border-top:1px solid var(--line); border-left:1px solid var(--line); list-style:none; }
.coach-checklist-grid li { min-height:160px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.coach-checklist-grid li:last-child { grid-column:3/5; color:var(--white); background:var(--green); }
.coach-checklist-grid span { color:var(--green); font:600 24px "Fraunces",serif; }
.coach-checklist-grid li:last-child span { color:var(--lime); }
.coach-checklist-grid strong { max-width:220px; font-size:16px; }
.coach-guide-cta { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; padding:clamp(60px,8vw,110px) clamp(20px,7vw,110px); color:var(--white); background:#1c2925; }
.coach-guide-cta h2 { max-width:800px; margin:0; font:600 clamp(40px,5vw,70px)/1.02 "Fraunces",serif; }
.coach-guide-cta>div:last-child p { color:#ced8d3; line-height:1.6; }
.coach-guide-footer { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px clamp(20px,7vw,110px); color:#d8e2dd; background:#111b18; font-size:13px; }
.coach-guide-footer p { color:#9eada7; }
@media (max-width:900px) { .feature-grid,.admin-columns,.coach-value-list { grid-template-columns:1fr; } .home-band-intro,.home-strip-inner,.team-code-inner,.coach-layout,.registration-layout,.launch-grid,.coach-guide-hero,.coach-guide-heading,.coach-process-intro,.coach-checklist-heading,.coach-guide-cta { grid-template-columns:1fr; } .student-experience { grid-template-columns:minmax(0,1fr); } .home-band-intro { gap:10px; } .home-band-intro .eyebrow { margin-top:0; } .feature { min-height:220px; } .home-strip img { min-height:340px; } .family-match { grid-template-columns:1fr; } .team-setup-form { border-top:1px solid var(--line); border-left:0; } .coach-guide-hero { min-height:780px; } .coach-guide-score { max-width:540px; } .coach-guide-heading,.coach-process-intro,.coach-checklist-heading { gap:20px; } .coach-value-list article { border-right:0; border-bottom:1px solid var(--line); } .student-photo img { min-height:440px; max-height:560px; } .coach-checklist-grid { grid-template-columns:repeat(2,1fr); } .coach-checklist-grid li:last-child { grid-column:auto; } }
@media (max-width:640px) { .sports-topbar { align-items:flex-start; } .sports-brand span:last-child { display:none; } .sports-nav-link { display:none; } .home-hero { min-height:600px; padding-block:40px; background-position:62% center; } .home-hero h1 { font-size:48px; } .workspace-heading { align-items:flex-start; flex-direction:column; } .sports-field-row,.form-fields { grid-template-columns:1fr; } .form-fields .wide { grid-column:auto; } .match-head { grid-template-columns:1fr; } .availability-board { display:block; overflow-x:auto; } .coach-guide-hero { min-height:740px; padding-top:60px; background-position:58% center; } .coach-guide-hero h1 { font-size:48px; } .coach-guide-score { padding:20px; } .coach-process-list li { grid-template-columns:48px minmax(0,1fr); gap:14px; } .coach-checklist-grid { grid-template-columns:1fr; } .coach-guide-footer { align-items:flex-start; flex-direction:column; } }
@media (max-width:360px) { .home-hero h1 { font-size:42px; } }
@media (max-width:900px) {
	.coach-guide-hero h1 { font-size:48px; }
	.coach-guide-hero-copy>p:not(.eyebrow) { font-size:16px; }
	.coach-guide-score strong { font-size:22px; }
	.coach-guide-heading h2,.coach-process-intro h2,.coach-checklist-heading h2 { font-size:34px; }
	.coach-value-list h3,.coach-process-list h3 { font-size:20px; }
	.coach-process-intro>p { font-size:15px; }
	.student-copy h2 { font-size:36px; }
	.student-copy>p { font-size:16px; }
	.coach-guide-cta h2 { font-size:36px; }
	.coach-checklist-grid strong { font-size:15px; }
}
@media (max-width:640px) {
	.coach-team-shell { width:min(100% - 20px,1500px); margin-top:20px; }
	.coach-team-heading { align-items:flex-start; flex-direction:column; gap:16px; }
	.coach-team-heading h1 { font-size:36px; }
	.coach-add-event { width:100%; }
	.coach-team-layout { grid-template-columns:1fr; gap:14px; }
	.team-info-sidebar { position:static; max-height:none; overflow:visible; }
	.team-info-details>summary { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
	.team-info-details>summary::-webkit-details-marker { display:none; }
	.team-info-details[open]>summary { border-bottom:1px solid var(--line); }
	.team-facts h2 { display:none; }
	.team-events-heading { min-height:72px; padding:15px 17px; }
	.team-events-heading h2 { font-size:25px; }
	.team-events-table { min-width:740px; }
	.event-offcanvas { width:100vw; }
	.team-code-band { gap:22px; padding:34px 18px; }
	.team-code-copy h2 { font-size:31px; }
	.team-code-copy p:last-child { font-size:15px; }
	.team-code-form { padding:16px; }
	.team-code-form>div { grid-template-columns:1fr; }
	.coach-guide-hero h1 { font-size:40px; }
	.coach-guide-hero-copy>p:not(.eyebrow) { font-size:15px; }
	.coach-guide-heading h2,.coach-process-intro h2,.coach-checklist-heading h2 { font-size:30px; }
	.coach-value-list h3,.coach-process-list h3 { font-size:19px; }
	.student-copy h2,.coach-guide-cta h2 { font-size:32px; }
}
@media (min-width:641px) {
	.team-info-details:not([open])>.team-info-content { display:block; }
}