@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/InterVariable.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/InterVariable-Italic.woff2") format("woff2");
}

:root {
  --navy: #06192b;
  --navy-2: #0c2940;
  --navy-3: #153a52;
  --green: #619441;
  --lime: #c8f135;
  --teal: #18b7a0;
  --cream: #f4f7fa;
  --paper: #fff;
  --ink: #15202b;
  --muted: #687684;
  --line: #dfe6ec;
  --danger: #b93c4a;
  --shadow: 0 16px 40px rgba(14, 35, 56, .10);
  --shadow-deep: 0 24px 60px rgba(6, 25, 43, .18);
  --radius: 20px;
  --radius-sm: 12px;
  --app-bg: #f4f7fa;
  --button-radius: 12px;
}

html,
body {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .32) rgba(255, 255, 255, .08);
}

html::-webkit-scrollbar,
body ::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

html::-webkit-scrollbar-track,
body ::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .07);
}

html::-webkit-scrollbar-thumb,
body ::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, .28);
  background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover,
body ::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:active,
body ::-webkit-scrollbar-thumb:active {
  border: 3px solid transparent;
  border-radius: 999px;
  background-color: var(--lime);
  background-image: linear-gradient(180deg, var(--lime), var(--teal));
  background-clip: padding-box;
}

html::-webkit-scrollbar-corner,
body ::-webkit-scrollbar-corner {
  background: transparent;
}

html { background: var(--app-bg); overflow-x: clip; }

body {
  overflow-x: clip;
  background: var(--app-bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -.01em;
}

.app-shell { background: var(--app-bg); }

h1, h2, h3 {
  letter-spacing: -.02em;
}

.app-shell .page-head h1,
.app-shell .dashboard-welcome h1 {
  font-size: clamp(1.15rem, 3.6vw, 1.9rem);
}

.app-shell .page-head h2,
.app-shell .clean-heading h2,
.app-shell .panel-head h2 {
  font-size: 1.55rem;
}

.public-shell .hero h1,
.public-shell .page-hero h1 {
  font-size: clamp(1.15rem, 5vw, 1.9rem);
}

.public-shell .hero-intro h1 {
  font-size: clamp(1.15rem, 6vw, 2rem);
}

.public-shell .public-section h2,
.public-shell .section-heading h2,
.public-shell .problem-wrap h2,
.public-shell .showcase-head h2,
.public-shell .benefit-wrap h2,
.public-shell .club-cta h2 {
  font-size: clamp(2rem, 3.6vw, 2.75rem);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 3px;
}

.brand-title-image {
  width: 174px;
  height: auto;
  object-fit: contain;
}

.button {
  min-height: 46px;
  padding: .72rem 1.1rem;
  border-radius: var(--button-radius);
  box-shadow: 0 8px 20px rgba(6, 25, 43, .08);
  letter-spacing: -.01em;
  font-weight: 800;
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(6, 25, 43, .14);
}

.button-lime {
  border-color: var(--lime);
  background: var(--lime);
  color: var(--navy);
  box-shadow: 0 10px 24px rgba(200, 241, 53, .16);
}

.button-ghost { border-color: currentColor; }
.button-small { min-height: 40px; padding: .55rem .9rem; border-radius: 10px; }
.button-small { min-height: 40px; padding: .55rem .95rem; }
.text-button { border-radius: 9px; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: .7rem;
  color: var(--teal);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .17em;
}

.eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  flex: 0 0 auto;
  background: currentColor;
}

/* Public site */

body.public-shell {
  position: relative;
  background: #f7fafc;
  color: var(--ink);
}

body.public-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 6%, rgba(200, 241, 53, .18), transparent 28rem),
    radial-gradient(circle at 8% 72%, rgba(24, 183, 160, .08), transparent 30rem),
    linear-gradient(180deg, #f7fafc 0%, #eef3f7 100%);
}

body.public-shell::after {
  content: none;
}

.public-shell .site-header {
  height: 88px;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .94);
  color: var(--navy);
  backdrop-filter: blur(12px);
  justify-content: flex-start;
  gap: 1rem;
}
.public-shell .public-nav { margin-left: auto; }

.public-shell .brand { color: var(--navy); }
.public-shell .brand-logo { width: 48px; height: 48px; filter: none; }
.public-shell .public-nav { color: var(--navy); }
.public-shell .public-nav a:not(.button):hover { color: var(--teal); }
.public-shell .public-nav .button { background: var(--navy); border-color: var(--navy); color: #fff; }
.public-shell .nav-toggle { border-color: var(--navy); color: var(--navy); }

.skip-link {
  position: absolute;
  left: .75rem;
  top: .75rem;
  z-index: 200;
  padding: .55rem .9rem;
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: none;
}
.field-error {
  margin: 0;
  color: #8c2430;
  font-size: .78rem;
  font-weight: 750;
}
.field :is(input, select, textarea)[aria-invalid="true"] {
  border-color: #c24a56;
  box-shadow: 0 0 0 3px rgba(194, 74, 86, .12);
}
.header-auth {
  display: flex;
  align-items: center;
  gap: .85rem;
  flex-shrink: 0;
}
.header-auth a:not(.button) {
  font-size: .91rem;
  font-weight: 700;
}
.public-shell .header-auth .button {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.public-shell .header-auth .header-sign-out,
.public-shell .header-auth .header-sign-out button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--navy);
  font: inherit;
  font-size: .91rem;
  font-weight: 700;
  cursor: pointer;
}
.public-shell .header-auth .header-sign-out button:hover { color: var(--teal); }
.auth-stack { display: grid; gap: .9rem; margin-top: 1.2rem; }
.auth-verify-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1.2rem;
  align-items: center;
  margin-top: 1.1rem;
}

.public-shell main { background: transparent; }

.public-shell #home,
.public-shell #intro,
.public-shell #approach,
.public-shell #features,
.public-shell #clubs,
.public-shell #resources,
.public-shell #education-board,
.public-shell #membership { scroll-margin-top: 88px; }

.public-shell .hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(28px, 5vw, 48px);
  align-items: center;
  padding: clamp(48px, 7vw, 78px) clamp(1.2rem, 6vw, 6rem) clamp(40px, 6vw, 60px);
  max-width: 1380px;
  margin-inline: auto;
  overflow: visible;
}

.public-shell .hero::before {
  width: 660px;
  height: 660px;
  /* Break out of the max-width hero so the glow ends at the viewport edge. */
  right: calc(50% - 50vw);
  top: -240px;
  opacity: .28;
  pointer-events: none;
  z-index: 0;
}

/* Keep the landing-page glow anchored to the browser window, so it fills the
   complete first viewport instead of ending with the hero element itself. */
.public-shell .hero-landing::before {
  position: fixed;
  inset: 0;
  width: auto;
  height: auto;
  background: radial-gradient(ellipse 72% 92% at 88% 34%, rgba(200, 241, 53, .3) 0%, rgba(220, 244, 151, .16) 42%, rgba(220, 244, 151, 0) 76%);
  filter: blur(24px);
  opacity: 1;
}

.public-shell .hero-copy,
.public-shell .hero-board,
.public-shell .cms-hero-image,
.public-shell .hero-value-panel {
  position: relative;
  z-index: 1;
}

.public-shell .hero-copy { max-width: 720px; }
.public-shell .hero-brand-image { display: block; width: clamp(210px, 19vw, 330px); height: auto; margin: 0 0 clamp(.65rem, 1.4svh, 1rem); object-fit: contain; }
.public-shell .hero-title-art { width: min(100%, 280px); filter: none; }
.public-shell .hero .eyebrow { color: var(--teal); }
.public-shell .hero-landing .eyebrow { color: #619441; }
.public-shell .hero h1 {
  max-width: 760px;
  margin: .7rem 0 0;
  color: var(--navy);
  font-size: clamp(1.15rem, 5vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -.03em;
}

.public-shell .hero h1 span { display: block; color: var(--teal); }
.public-shell .hero-landing h1 span { color: #619441; }
.public-shell .hero-copy > p { max-width: 650px; margin-top: 1.2rem; color: var(--muted); line-height: 1.65; font-size: 1.1rem; }
.public-shell .hero-lead p { max-width: 720px; margin: 1rem 0 0; color: #526574; line-height: 1.6; font-size: 1.1875rem; }
.public-shell .hero-lead p:first-child { font-weight: 750; color: #304653; }
.public-shell .hero-lead strong { color: var(--teal); }
.public-shell .hero-landing .hero-lead strong { color: #619441; }
.public-shell .hero-landing .play-card small { color: #619441; }
.public-shell .hero-landing .player-dot.teal {
  background: #619441;
  box-shadow: 0 0 0 2px #619441;
}
.public-shell .hero-actions { margin-top: 1.6rem; }
.public-shell .hero .button-ghost { border-color: var(--line); color: var(--navy); background: #fff; }
.public-shell .hero .button-ghost:hover { background: #f4f7fa; }
.public-shell .hero-intro {
  padding: clamp(40px, 6vw, 64px) clamp(1.2rem, 6vw, 6rem) clamp(36px, 5vw, 52px);
  background: #fff;
}
.public-shell .hero-intro::before { display: none; }
.public-shell .hero-intro .hero-copy { max-width: 760px; }
.public-shell .hero-intro h1 {
  font-size: clamp(1.15rem, 6vw, 2rem);
  line-height: 1.02;
  letter-spacing: -.06em;
  font-weight: 850;
}
.public-shell .hero-intro h1 span { display: inline; }
.public-shell .club-hero-badge {
  display: inline-flex;
  margin-top: .75rem;
  padding: .5rem .8rem;
  border: 1px solid #b8dfc2;
  border-radius: 999px;
  background: #e8f7ed;
  color: #176b55;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.public-shell .hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.15rem;
}
.public-shell .hero-proof span {
  display: inline-flex;
  align-items: center;
  padding: .5rem .7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: #304653;
  font-size: .75rem;
  font-weight: 800;
}

.public-shell .hero-board,
.public-shell .hero-pitch-stage {
  width: min(100%, 480px);
  margin: auto;
  transform: none;
}

.public-shell .hero-board::before {
  content: "";
  position: absolute;
  inset: -14%;
  z-index: -1;
  border: 1px solid rgba(200, 241, 53, .1);
  border-radius: 50%;
  box-shadow: 0 0 80px rgba(24, 183, 160, .12), inset 0 0 60px rgba(200, 241, 53, .04);
}

.public-shell .hero-board .pitch {
  aspect-ratio: 4 / 5;
  border-color: rgba(255, 255, 255, .45);
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .018) 0 12.5%, rgba(255, 255, 255, .05) 12.5% 25%);
}

.public-shell .play-card {
  min-width: 180px;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(9, 33, 51, .92);
  color: #fff;
  box-shadow: 0 20px 42px rgba(0, 0, 0, .3);
  backdrop-filter: blur(14px);
}

.public-shell .play-card small { color: var(--teal); font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.public-shell .play-card strong { color: #fff; }
.public-shell .play-card-one { top: 7%; left: -9%; }
.public-shell .play-card-two { top: 43%; right: -10%; }
.public-shell .play-card-three { bottom: 7%; left: -6%; }

@media (min-width: 1101px) {
  .public-shell .hero-landing {
    height: calc(100svh - 92px);
    min-height: 0;
    /* Keep the two-column message centered within the visible first-screen area. */
    align-items: center;
    gap: clamp(36px, 5vw, 78px);
    padding-block: clamp(24px, 3.5svh, 38px);
  }

  .public-shell .hero-brand-image { width: clamp(220px, 17vw, 310px); }

  .public-shell .hero-title-art {
    width: clamp(220px, 16vw, 300px);
    max-height: 14svh;
    margin-bottom: clamp(.65rem, 1.4svh, 1rem);
  }

  .public-shell .hero-landing h1 {
    font-size: clamp(1.15rem, min(5vw, 8svh), 3.5rem);
    line-height: .98;
  }

  .public-shell .hero-landing .hero-lead p {
    margin-top: clamp(1rem, 2svh, 1.4rem);
    font-size: clamp(.95rem, min(1.25vw, 2svh), 1.16rem);
    line-height: 1.55;
  }

  .public-shell .hero-landing .hero-copy > p {
    margin-top: clamp(1rem, 2svh, 1.4rem);
    font-size: clamp(.95rem, min(1.25vw, 2svh), 1.16rem);
    line-height: 1.55;
  }

  .public-shell .hero-landing .hero-actions {
    margin-top: clamp(1rem, 2.2svh, 1.5rem);
  }

  .public-shell .hero-board {
    width: min(100%, 470px, calc(76svh - 144px));
    margin: 0 auto;
  }

  .public-shell .hero-intro {
    height: auto;
    align-items: center;
  }
}

.public-shell .section {
  position: relative;
  background: var(--cream);
  color: var(--ink);
}

.public-shell .section-white { background: #fff; }
.public-shell .section-navy {
  background:
    radial-gradient(circle at 90% 0, rgba(200, 241, 53, .1), transparent 28rem),
    linear-gradient(130deg, #041321, var(--navy-2));
  color: #dce6ea;
}

.public-shell .section-heading p,
.public-shell .feature-card p,
.public-shell .resource-card p,
.public-shell .legal > p,
.public-shell .legal li,
.public-shell .cms-image-text p { color: var(--muted); }

.public-shell .section-heading { margin-bottom: 3rem; }
.public-shell .section-heading h2,
.public-shell .cms-image-text h2 { font-size: clamp(2rem, 3.6vw, 2.75rem); }

.public-shell .feature-card,
.public-shell .resource-card,
.public-shell .price-card,
.public-shell .panel {
  border: 1px solid rgba(6, 25, 43, .09);
  border-radius: 24px;
  box-shadow: 0 12px 38px rgba(6, 25, 43, .07);
}

.public-shell .feature-card { min-height: 260px; padding: 1.8rem; }
.public-shell .feature-card .number { border-radius: 12px; box-shadow: 0 9px 22px rgba(200, 241, 53, .22); }
.public-shell .feature-card:hover,
.public-shell .resource-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.public-shell .resource-card-media { background: #e7eeec; }
.public-shell .tag { background: #e5f0eb; color: #264e4b; }

.public-shell .quote-band { gap: clamp(2rem, 7vw, 6rem); }
.public-shell .quote-band blockquote { font-size: clamp(1.8rem, 3.5vw, 3.4rem); }
.public-shell .section-navy .eyebrow { color: var(--lime); }

.public-shell .cms-image-text { gap: clamp(2rem, 6vw, 6rem); }
.public-shell .cms-content-image img,
.public-shell .cms-hero-image img { border-radius: 30px; box-shadow: var(--shadow); }

.public-shell .legal { padding-block: 1.5rem; }
.public-shell .legal h1 { font-size: clamp(1.8rem, 6vw, 4.2rem); }
.public-shell .legal h2 { margin-top: 2.4rem; }

.public-shell .contact-note {
  background: linear-gradient(145deg, var(--navy), var(--navy-2));
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: var(--shadow-deep);
}
.public-shell .contact-note h1 { color: #fff; }

.public-shell .site-footer {
  display: block;
  padding: 1.75rem clamp(1.2rem, 6vw, 6rem);
  border-top: 1px solid rgba(255, 255, 255, .12);
  background: #091a29;
  color: #aebdca;
}

.public-shell .site-footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  max-width: 1280px;
  margin: auto;
}

.public-shell .site-footer-brand p {
  max-width: 420px;
  margin: .55rem 0 .35rem;
  color: #aebdca;
  line-height: 1.5;
}

.public-shell .site-footer-brand small { color: #8fa2b0; }
.public-shell .footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem 1rem;
}
.public-shell .site-footer a { color: #c5d2dc; font-weight: 750; }
.public-shell .site-footer a:hover { color: var(--lime); }

.flash {
  border: 1px solid rgba(6, 25, 43, .1);
  box-shadow: 0 12px 30px rgba(6, 25, 43, .1);
}

/* Authentication */

.public-shell .auth-page {
  min-height: calc(100svh - 92px);
  padding: clamp(3rem, 7vw, 6rem) 1.2rem;
  background:
    radial-gradient(circle at 15% 15%, rgba(24, 183, 160, .13), transparent 26rem),
    radial-gradient(circle at 88% 10%, rgba(200, 241, 53, .14), transparent 28rem);
}

.public-shell .auth-card {
  width: min(100%, 550px);
  padding: clamp(1.6rem, 5vw, 3.1rem);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 30px;
  background: rgba(255, 255, 255, .97);
  box-shadow: var(--shadow-deep);
}

.public-shell .auth-card h1 { font-size: clamp(1.5rem, 6vw, 3rem); }
.public-shell .auth-card .eyebrow { color: var(--teal); }
.public-shell .auth-link a,
.public-shell .auth-foot a { color: #0d7468; }

.public-shell .auth-dialog {
  position: fixed;
  inset: 0;
  z-index: 1000;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: clamp(1rem, 4vw, 2.5rem);
  border: 0;
  border-radius: 0;
  overflow: auto;
  background: rgba(3, 17, 28, .8);
  box-shadow: none;
  backdrop-filter: blur(7px);
}

.public-shell .auth-dialog[open] { display: grid; place-items: center; }
.public-shell .auth-dialog-panel { position: relative; width: min(94vw, 610px); max-height: min(90svh, 820px); border-radius: 28px; overflow: auto; box-shadow: 0 35px 100px rgba(0, 0, 0, .46); }
.public-shell .auth-dialog-register .auth-dialog-panel { width: min(94vw, 720px); }
.public-shell .register-plan-summary { margin: 0; padding: .85rem 1rem; border: 1px solid #d6dfdf; background: #f6faf8; color: var(--navy); font-weight: 800; }
.public-shell .register-plan-summary[hidden] { display: none !important; }
.public-shell .auth-dialog .auth-card { width: 100%; border: 0; border-radius: 28px; box-shadow: none; }
.public-shell .auth-dialog .auth-card h2 { margin-bottom: .7rem; font-size: clamp(2.25rem, 5vw, 3.5rem); }
.public-shell .auth-dialog .auth-card > p { color: var(--muted); }
.public-shell .auth-dialog .auth-card form { display: grid; gap: 1rem; }
.public-shell .auth-dialog-close { position: absolute; top: 1rem; right: 1rem; z-index: 2; }
.public-shell:has(.auth-dialog[open]) { overflow: hidden; }

/* Form controls */

.field input,
.field select,
.field textarea,
.filter-bar input,
.filter-bar select {
  min-height: 47px;
  border-color: #c7d3d6;
  border-radius: 12px;
  background: #fff;
  transition: border-color .18s, box-shadow .18s, background .18s;
}

.field textarea { min-height: 120px; }
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: #9db2b8; }
.field input:focus,
.field select:focus,
.field textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 4px rgba(24, 183, 160, .13); }

/* Coach and admin application */

body.app-shell {
  background: var(--cream);
  color: var(--ink);
}

.app-shell .sidebar {
  display: flex;
  flex-direction: column;
  width: 282px;
  padding: 1.45rem 1.05rem;
  border-right: 1px solid rgba(255, 255, 255, .1);
  background:
    radial-gradient(circle at 50% 0, rgba(200, 241, 53, .1), transparent 23rem),
    linear-gradient(155deg, #03111e, var(--navy) 55%, var(--navy-2));
  box-shadow: 14px 0 40px rgba(6, 25, 43, .08);
}

.app-shell .sidebar-club-brand {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-height: 76px;
  margin-bottom: 1rem;
  padding: .7rem;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 17px;
  background: rgba(255, 255, 255, .06);
}
.app-shell .sidebar-club-brand img,
.app-shell .sidebar-club-brand > span {
  display: grid;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 13px;
  background: #fff;
  object-fit: contain;
  padding: 5px;
  color: var(--navy);
  font-size: 1.35rem;
  font-weight: 900;
}
.app-shell .sidebar-club-brand strong { color: #fff; line-height: 1.2; }
.app-shell .club-chip {
  margin-bottom: 1.35rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 17px;
  background: rgba(255, 255, 255, .07);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
.app-shell .club-chip .eyebrow { color: var(--lime); }
.app-shell .side-nav { gap: .25rem; }
.app-shell .side-nav a {
  display: flex;
  align-items: center;
  gap: .72rem;
  position: relative;
  padding: .72rem .82rem;
  border: 1px solid transparent;
  border-radius: 11px;
  transition: background .18s, color .18s, border-color .18s, transform .18s;
}
.app-shell .side-nav-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  color: #c8d6de;
}
.app-shell .side-nav-icon svg {
  display: block;
  width: 15px;
  height: 15px;
}
.app-shell .side-nav a > span:last-child {
  flex: 1;
  min-width: 0;
  line-height: 1.25;
}
.app-shell .side-nav a:hover {
  border-color: rgba(255, 255, 255, .09);
  background: rgba(255, 255, 255, .08);
  transform: translateX(3px);
}
.app-shell .side-nav a.is-active {
  border-color: rgba(200, 241, 53, .24);
  background: rgba(200, 241, 53, .11);
  color: #fff;
  box-shadow: inset 3px 0 var(--lime);
}
.app-shell .side-nav a.is-active .side-nav-icon {
  border-color: rgba(200, 241, 53, .32);
  background: rgba(200, 241, 53, .14);
  color: var(--lime);
}
.app-shell .side-nav a:hover .side-nav-icon {
  border-color: rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .11);
  color: #fff;
}
.app-shell .nav-label { color: #6f8997; }
.app-shell .sidebar-footer { margin-top: auto; padding: 1.25rem .65rem .25rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.app-shell .sidebar-footer small { display: block; margin-bottom: .25rem; color: #78909c; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.app-shell .sidebar-footer a { display: flex; align-items: center; gap: .5rem; width: fit-content; }
.app-shell .sidebar-footer img:first-child { width: 29px; height: 29px; }
.app-shell .sidebar-footer img:last-child { width: 92px; height: auto; filter: brightness(0) invert(1); opacity: .82; }

.app-shell .app-main { margin-left: 282px; }
.app-shell .app-header {
  height: 80px;
  border-bottom: 1px solid rgba(6, 25, 43, .08);
  background: rgba(255, 255, 255, .79);
  box-shadow: 0 10px 30px rgba(6, 25, 43, .04);
  backdrop-filter: blur(22px);
}
.app-shell .app-header .eyebrow { color: var(--teal); }
.app-shell .app-header-account { display: flex; align-items: center; gap: .85rem; }
.app-shell .header-club-name { display: flex; min-width: 0; flex-direction: column; align-items: flex-end; padding-right: .85rem; border-right: 1px solid #d9e1e3; line-height: 1.15; }
.app-shell .header-club-name small { color: #74838a; font-size: .58rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.app-shell .header-club-name strong { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.app-shell .user-menu { position: relative; }
.app-shell .user-avatar {
  width: 43px;
  height: 43px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  background: linear-gradient(145deg, var(--navy), var(--navy-3));
  box-shadow: 0 9px 24px rgba(6, 25, 43, .2);
}
.app-shell .user-context-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 230px;
  overflow: hidden;
  border: 1px solid rgba(6, 25, 43, .1);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 52px rgba(6, 25, 43, .2);
}
.app-shell .user-context-menu > div { display: flex; flex-direction: column; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.app-shell .user-context-menu > div small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; }
.app-shell .user-context-menu a,
.app-shell .user-context-menu button { display: block; width: 100%; padding: .72rem 1rem; border: 0; background: #fff; color: var(--ink); text-align: left; font-weight: 750; }
.app-shell .user-context-menu a:hover,
.app-shell .user-context-menu button:hover { background: #eef4f1; }
.app-shell .user-context-menu form { margin: 0; border-top: 1px solid var(--line); }
.app-shell .user-context-menu { width: min(280px, calc(100vw - 2rem)); }
.app-shell .workspace-switcher { padding: .35rem 0 .5rem; border-bottom: 1px solid var(--line); }
.app-shell .workspace-switcher small { padding: .2rem 1rem 0; color: var(--muted); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.app-shell .workspace-switcher form { border-top: 0; }
.app-shell .workspace-current { display: block; padding: .55rem 1rem; color: var(--teal); font-weight: 800; }
.app-shell .pending-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.app-shell .account-profile-panel { max-width: 760px; }
.app-shell .profile-form-actions { display: flex; flex-wrap: wrap; gap: .75rem; }

.app-shell .workspace {
  max-width: 1580px;
  padding: 2.5rem clamp(1.2rem, 4vw, 3.7rem) 5rem;
}
.app-shell .page-head { margin-bottom: 2.4rem; }
.app-shell .page-head h1 { font-size: clamp(1.35rem, 4.2vw, 3.5rem); letter-spacing: -.055em; }
.app-shell .page-head p { font-size: 1rem; line-height: 1.7; }
.app-shell .page-head > .button { white-space: nowrap; }

.app-shell .panel,
.app-shell .stat-card,
.app-shell .course-card,
.app-shell .activity-editor,
.app-shell .session-activity,
.app-shell .resource-card,
.app-shell .wizard-step,
.app-shell .price-card {
  border: 1px solid rgba(6, 25, 43, .09);
  border-radius: 21px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 34px rgba(6, 25, 43, .065);
}

.app-shell .panel { padding: 1.55rem; }
.app-shell .panel-head { padding-bottom: .9rem; border-bottom: 1px solid #e5ebec; }
.app-shell .cms-backup-panel { margin-bottom: 2rem; }
.app-shell .cms-backup-panel .panel-head { align-items: flex-end; }
.app-shell .cms-backup-panel .panel-head p { margin: .4rem 0 0; color: #677780; font-size: .92rem; }
.app-shell .stat-card { position: relative; overflow: hidden; padding: 1.5rem; }
.app-shell .stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--lime), var(--teal));
}
.app-shell .stat-card strong { margin-top: .35rem; font-size: 2.45rem; }

.app-shell .quick-card {
  min-height: 200px;
  padding: 1.6rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 23px;
  background: linear-gradient(145deg, var(--navy), var(--navy-2));
  box-shadow: 0 20px 48px rgba(6, 25, 43, .17);
  transition: transform .2s, box-shadow .2s;
}
.app-shell .quick-card:hover { transform: translateY(-6px); box-shadow: 0 28px 58px rgba(6, 25, 43, .24); }
.app-shell .quick-card:nth-child(2) { background: linear-gradient(145deg, #0e9d8c, var(--teal)); }
.app-shell .quick-card:nth-child(3) { border-color: rgba(6, 25, 43, .09); background: #fff; box-shadow: var(--shadow); }

.app-shell .filter-bar {
  padding: .9rem;
  border: 1px solid rgba(6, 25, 43, .09);
  border-radius: 17px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 30px rgba(6, 25, 43, .055);
}

.app-shell .tag { background: #e6f1ed; color: #29514f; }
.app-shell .tag-dark { background: var(--navy); color: #fff; }
.app-shell .module-index { border-radius: 11px; box-shadow: 0 8px 18px rgba(6, 25, 43, .18); }
.app-shell .progress-fill,
.app-shell .progress-bar span { background: linear-gradient(90deg, var(--lime), var(--teal)); }
.app-shell .choice label { border-radius: 15px; }
.app-shell .choice input:checked + label { border-color: var(--teal); background: #e5f8f3; box-shadow: 0 8px 24px rgba(24, 183, 160, .12); }
.app-shell .empty-state { border-radius: 22px; background: rgba(255, 255, 255, .72); }
.app-shell .resource-viewer { border-radius: 24px; background: #e7edeb; }

.app-shell .data-table { border-collapse: separate; border-spacing: 0; overflow: hidden; }
.app-shell .data-table th { background: #eaf0ef; color: #314c58; }
.app-shell .data-table th:first-child { border-radius: 10px 0 0 10px; }
.app-shell .data-table th:last-child { border-radius: 0 10px 10px 0; }
.app-shell .data-table td { border-bottom-color: #e5ebec; }
.app-shell .data-table tbody tr:hover { background: #f6faf8; }

.app-shell .admin-tabs { gap: .5rem; }
.app-shell .admin-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-color: rgba(6, 25, 43, .1);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 5px 14px rgba(6, 25, 43, .04);
}
.app-shell .admin-tabs a:hover { border-color: var(--teal); color: #0d7569; }

.app-shell .security-banner { background: #fff4c7; }
.app-shell .flash { margin-inline: clamp(1.2rem, 4vw, 3.7rem); }

/* CMS and tactics tools */

body.app-shell .cms-builder-toolbar,
body.app-shell .cms-sticky-actions {
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(6, 25, 43, .12);
}
body.app-shell .cms-builder-toolbar { top: 92px; border-color: rgba(6, 25, 43, .1); background: rgba(255, 255, 255, .94); backdrop-filter: blur(18px); }
body.app-shell .cms-block-head { background: #e9f1ef; }
body.app-shell .cms-card-fields,
body.app-shell .cms-navigation-item { border-radius: 14px; background: #f8faf8; }
body.app-shell .cms-media-card img { border-radius: 16px; }
body.app-shell .cms-sticky-actions { background: linear-gradient(130deg, var(--navy), var(--navy-2)); }

body.app-shell .tactics-editor-head,
body.app-shell .tactics-editor-footer { background: transparent; }
body.app-shell .tactics-layout { background: #e8eeec; }
body.app-shell .tactics-palette,
body.app-shell .object-inspector { background: #f9fbfa; }
body.app-shell .editor-icon-button { border-radius: 999px; }
body.app-shell .tool-button { border-radius: 11px; }
body.app-shell .tool-button.is-active { border-color: #78cfc1; background: #ddf6ef; box-shadow: inset 3px 0 var(--teal); }
body.app-shell .tactics-stage-shell { border-color: var(--navy); border-radius: 20px; background: var(--navy); box-shadow: 0 22px 52px rgba(6, 25, 43, .24); }

@media (max-width: 1100px) {
  .public-shell .hero { grid-template-columns: 1fr; }
  .public-shell .hero-copy { max-width: 850px; }
  .public-shell .hero-board { width: min(100%, 520px); }
}

@media (max-width: 820px) {
  .public-shell .site-header { height: 74px; }
  .public-shell .brand-logo { width: 42px; height: 42px; }
  .public-shell .brand-title-image { width: 138px; }
  .public-shell .public-nav {
    top: 76px;
    border: 1px solid rgba(6, 25, 43, .1);
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    color: var(--navy);
  }
  .public-shell .public-nav .button { width: fit-content; }
  .public-shell .hero { min-height: auto; padding-top: 4rem; }
  .public-shell #home,
  .public-shell #approach,
  .public-shell #features,
  .public-shell #clubs,
  .public-shell #resources,
  .public-shell #education-board,
  .public-shell #membership { scroll-margin-top: 74px; }
  .app-shell .app-main { margin-left: 0; }
  .app-shell .app-header { height: 72px; }
  .app-shell .sidebar { width: min(84vw, 300px); }
  .app-shell .workspace { padding-top: 1.8rem; }
  body.app-shell .cms-builder-toolbar { top: 78px; }
}

@media (max-width: 600px) {
  body.public-shell::after { background-size: 42px 42px; }
  .public-shell .site-header { padding-inline: 14px; }
  .public-shell .brand { gap: 9px; }
  .public-shell .brand-title-image { width: 112px; }
  .public-shell .nav-toggle { padding: .43rem .7rem; font-size: .75rem; }
  .public-shell .hero {
    gap: 2.2rem;
    padding: 3.25rem 14px 4.5rem;
  }
  .public-shell .hero-brand-image { width: min(76%, 300px); margin-bottom: .75rem; }
  .public-shell .hero-title-art { width: min(78%, 270px); }
  .public-shell .hero h1 { font-size: clamp(1.15rem, 12vw, 1.55rem); line-height: 1.04; }
  .public-shell .hero-copy > p { margin-top: 1.2rem; font-size: .98rem; line-height: 1.58; }
  .public-shell .hero-actions { gap: .7rem; margin-top: 1.4rem; }
  .public-shell .hero-actions .button { min-height: 46px; width: auto; padding: .67rem .95rem; font-size: .78rem; }
  .public-shell .hero-board { width: min(68%, 260px); padding: .75rem; border-radius: 26px; }
  .public-shell .hero-board .pitch { border-radius: 17px; }
  .public-shell .play-card { min-width: 118px; padding: .65rem .7rem; border-radius: 13px; }
  .public-shell .play-card small { font-size: .48rem; }
  .public-shell .play-card strong { font-size: .72rem; }
  .public-shell .play-card-one { top: 5%; left: -22%; }
  .public-shell .play-card-two { top: 40%; right: -24%; }
  .public-shell .play-card-three { bottom: 4%; left: -18%; }
  .public-shell .section { padding: 4.5rem 14px; }
  .public-shell .section-heading { margin-bottom: 2rem; }
  .public-shell .section-heading h2,
  .public-shell .cms-image-text h2 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .public-shell .feature-card { min-height: 0; padding: 1.4rem; }
  .public-shell .quote-band blockquote { font-size: 1.8rem; }
  .public-shell .site-footer { padding-inline: 14px; }
  .public-shell .site-footer .brand-title-image { width: 125px; }
  .public-shell .auth-page { min-height: calc(100svh - 74px); padding-inline: 14px; }
  .public-shell .auth-card { border-radius: 24px; }
  .app-shell .workspace { padding-inline: 14px; padding-bottom: 4rem; }
  .app-shell .page-head h1 { font-size: clamp(1.35rem, 11vw, 2.2rem); }
  .app-shell .panel { padding: 1.15rem; border-radius: 18px; }
  .app-shell .stats-grid { gap: .7rem; }
  .app-shell .stat-card { padding: 1.1rem; }
  .app-shell .stat-card strong { font-size: 2rem; }
  .app-shell .quick-card { min-height: 165px; }
  .app-shell .data-table { min-width: 680px; }
  body.app-shell .cms-builder-toolbar { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Launch marketing sections */
.public-shell .resource-advert{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.25fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:#eef3ef;overflow:hidden}.resource-advert-copy{max-width:610px}.resource-advert-copy p{color:#5c6c72;font-size:1.08rem}.resource-fan{position:relative;min-height:570px;isolation:isolate}.resource-sheet{position:absolute;top:50%;left:50%;width:min(45%,320px);margin:0;border:7px solid #fff;border-radius:7px;overflow:hidden;background:#fff;box-shadow:0 24px 55px rgba(6,25,43,.23);transform-origin:50% 90%}.resource-sheet img{width:100%;aspect-ratio:.78;object-fit:cover;object-position:top}.resource-sheet-1{transform:translate(-122%,-45%) rotate(-14deg);z-index:1}.resource-sheet-2{transform:translate(-82%,-50%) rotate(-7deg);z-index:2}.resource-sheet-3{transform:translate(-50%,-53%) rotate(0);z-index:4}.resource-sheet-4{transform:translate(-18%,-50%) rotate(7deg);z-index:3}.resource-sheet-5{transform:translate(22%,-45%) rotate(14deg);z-index:2}.resource-lock{position:absolute;z-index:8;left:50%;bottom:2%;width:min(82%,620px);transform:translateX(-50%);padding:1.05rem 1.2rem;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(6,25,43,.93);color:#fff;text-align:center;backdrop-filter:blur(14px)}.resource-lock span{display:block;color:var(--lime);font-size:.65rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.resource-lock strong{font-size:1.05rem}.coach-photo-story{position:relative;min-height:620px;display:flex;justify-content:flex-end;align-items:center;overflow:hidden;background:var(--navy)}.coach-photo-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.coach-photo-shade{position:absolute;inset:0;background:linear-gradient(to left,rgba(6,25,43,1) 0%,rgba(6,25,43,.98) 38%,rgba(6,25,43,.76) 55%,rgba(6,25,43,0) 82%)}.coach-photo-copy{position:relative;z-index:1;width:min(52%,720px);padding:clamp(3rem,7vw,7rem);color:#d7e2e7}.coach-photo-copy .eyebrow{color:var(--lime)}.coach-photo-copy h2{color:#fff;font-size:clamp(2.5rem,5vw,5rem)}.coach-photo-copy p{font-size:1.1rem}.board-section{background:#fff}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.board-card{min-width:0;border-top:1px solid #cdd8d7;padding-top:1rem}.board-photo{position:relative;aspect-ratio:4/4.35;overflow:hidden;background:#e4e7e8}.board-photo>img{width:100%;height:100%;object-fit:cover}.focus-chip{position:absolute;left:.8rem;bottom:.8rem;padding:.4rem .65rem;border-radius:999px;background:var(--lime);color:var(--navy);font-size:.67rem;font-weight:850}.board-card-copy{padding:1.1rem 0}.board-card-copy h3{margin-bottom:.35rem}.board-card-copy small{display:block;min-height:2.5em;color:#66757d;font-weight:700}.board-card-copy p{color:#5d6c73;font-size:.9rem}.profile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#e9ebed,#cfd3d7)}.profile-placeholder:before{content:"";width:28%;aspect-ratio:1;border-radius:50%;background:#9ca3aa;transform:translateY(-30%)}.profile-placeholder span{position:absolute;width:62%;height:34%;bottom:0;border-radius:50% 50% 0 0;background:#9ca3aa}.profile-dialog{width:min(900px,calc(100% - 2rem));max-height:88vh;padding:0;border:0;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.profile-dialog::backdrop{background:rgba(3,17,28,.75);backdrop-filter:blur(5px)}.profile-dialog-head{display:flex;justify-content:space-between;gap:2rem;padding:1.8rem 2rem;border-bottom:1px solid var(--line)}.profile-dialog-head h2{font-size:2.4rem;margin:.2rem 0}.profile-dialog-head p{margin:0;color:#65747e}.dialog-close{align-self:start;border:1px solid #ccd6d9;border-radius:999px;padding:.55rem .8rem;background:#fff;font-weight:800}.profile-dialog-body{display:grid;grid-template-columns:240px 1fr;gap:2rem;padding:2rem}.profile-dialog-photo{aspect-ratio:4/5;overflow:hidden;background:#e4e7e8}.profile-dialog-photo>img{width:100%;height:100%;object-fit:cover}.profile-long{font-size:1.04rem;line-height:1.75}.price-grid-three{grid-template-columns:repeat(3,minmax(0,360px));align-items:stretch;column-gap:1.2rem;row-gap:1.5rem}.price-card{box-shadow:none}.price-grid-three .price-card{display:flex;flex-direction:column;height:100%;min-width:0;padding:1.75rem 1.6rem 1.6rem;border-width:3px}.price-grid-three .price-card.featured{--price-featured-extend:2rem;position:relative;z-index:1;background:transparent;border-color:transparent;box-shadow:none}.price-grid-three .price-card.featured:before{content:"";position:absolute;inset:calc(var(--price-featured-extend) * -1) 0;z-index:0;border:3px solid var(--price-card-line,var(--lime));border-radius:inherit;background:var(--price-card-fill,linear-gradient(155deg,#fff,#f3f6e9));box-shadow:var(--price-card-glow,0 30px 72px rgba(0,0,0,.3));pointer-events:none}.price-grid-three .price-card.featured>*{position:relative;z-index:1}.price-grid-three .price-card>.eyebrow,.price-grid-three .price-card>.plan-ribbon{display:inline-flex;align-items:center;align-self:start;min-height:1.7rem;margin:0 0 .85rem}.price-grid-three .price-card>h3{margin:0 0 .65rem;min-height:2.5em}.price-grid-three .price-card>.price{margin:0 0 .75rem;line-height:1}.price-grid-three .price-card>.plan-description{margin:0 0 1rem;min-height:3.1em;color:#5c6c72;line-height:1.45}.price-grid-three .price-card>.check-list{flex:1 1 auto;margin:0 0 1.35rem}.price-grid-three .price-card>.check-list li:first-child{padding-top:0}.price-grid-three .price-card-cta{display:flex;justify-content:center;margin-top:auto;width:100%}.price-grid-three .price-card-cta>.button,.price-grid-three .price-card-cta>form{width:100%;max-width:100%}.price-grid-three .price-card-cta>form{display:flex;justify-content:center;margin:0}.price-grid-three .price-card-cta .button{width:100%;text-align:center}@supports (grid-template-rows:subgrid){.price-grid-three{grid-template-rows:auto}.price-grid-three .price-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:.7rem;height:auto;align-content:stretch}.price-grid-three .price-card>.eyebrow,.price-grid-three .price-card>.plan-ribbon{align-self:center;min-height:0;margin:0}.price-grid-three .price-card>h3,.price-grid-three .price-card>.price,.price-grid-three .price-card>.plan-description{min-height:0;margin:0}.price-grid-three .price-card>.check-list{flex:none;margin:0;align-self:stretch}.price-grid-three .price-card-cta{margin-top:0;align-self:end}}.price-card.featured{--price-card-fill:linear-gradient(160deg,#0b2438,#06192b);--price-card-line:rgba(200,241,53,.65);--price-card-glow:none;transform:none;background:var(--price-card-fill);border:3px solid var(--price-card-line);color:#dbe5e8}.price-card.featured h3,.price-card.featured .price{color:#fff}.price-card.featured .eyebrow{color:var(--lime)}.price-card.featured .check-list li:before{color:var(--lime)}.plan-ribbon{display:inline-flex;margin:0;padding:.36rem .65rem;border-radius:999px;background:var(--lime);color:var(--navy);font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
/* Homepage: demo layout, current palette */
.public-shell .cms-page-home>.board-section{background:#eef5f8}
.public-shell .section-heading-center{justify-content:center;text-align:center}
.public-shell .section-heading-center>div{max-width:830px;margin-inline:auto}
.public-shell .section-heading-center p{margin-inline:auto}
.public-shell .match-practice-panel{position:relative;z-index:1;padding:clamp(1.35rem,3vw,1.7rem);border-radius:28px;background:linear-gradient(145deg,#102d43,#0b2234);color:#fff;box-shadow:0 24px 58px rgba(14,35,56,.2)}
.public-shell .hero-value-panel{width:min(100%,520px);justify-self:end}
.public-shell .match-practice-panel .eyebrow{color:var(--lime);margin-bottom:.15rem}
.public-shell .match-practice-panel h3{margin:.35rem 0 1.1rem;color:#fff;font-size:clamp(1.4rem,2.2vw,1.7rem);line-height:1.15;letter-spacing:-.03em}
.public-shell .match-practice-steps{display:grid;gap:.65rem}
.public-shell .match-practice-step{display:grid;grid-template-columns:42px 1fr;gap:.75rem;align-items:center;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.08)}
.public-shell .match-practice-step>span{display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:13px;background:var(--lime);color:var(--navy);font-size:1.1rem;font-weight:950;box-shadow:none}
.public-shell .match-practice-step div{display:flex;min-width:0;flex-direction:column}
.public-shell .match-practice-step strong{color:#fff;font-size:.9rem}
.public-shell .match-practice-step small{color:#c9d7e0;line-height:1.35}
.public-shell .match-practice-result{margin:1rem 0 0;padding:.9rem 1rem;border-radius:14px;background:#fff;color:#173b35;font-weight:750;line-height:1.45}
.public-shell .match-practice-result strong{color:#176b55}

.public-shell .problem-band{padding:clamp(4.5rem,8vw,5.5rem) clamp(1.2rem,6vw,6rem);background:var(--navy);color:#fff}
.public-shell .problem-wrap{max-width:1260px;margin:auto}
.public-shell .problem-wrap .eyebrow{color:var(--lime)}
.public-shell .problem-wrap h2{max-width:920px;margin:.4rem 0 0;color:#fff;letter-spacing:-.04em}
.public-shell .problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin-top:1.9rem}
.public-shell .problem-card{padding:1.35rem;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.07)}
.public-shell .problem-card .number{width:38px;height:38px;margin-bottom:.85rem;border-radius:11px;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-weight:900}
.public-shell .problem-card h3{margin:0 0 .4rem;color:#fff;font-size:1.25rem}
.public-shell .problem-card p{margin:0;color:#cbd8e1;font-size:.9rem;line-height:1.55}
.public-shell .problem-arrow{max-width:850px;margin:1.75rem auto 0;padding:1.1rem 1.35rem;border-radius:18px;background:var(--lime);color:var(--navy);font-size:1.15rem;font-weight:900;text-align:center}

.public-shell .club-features{padding-block:clamp(4.5rem,8vw,5.5rem)}
.public-shell .platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:.5rem}
.public-shell .platform-card{padding:1.5rem;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(14,35,56,.06);transition:transform .2s ease,box-shadow .2s ease}
.public-shell .platform-card .number{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-weight:900}
.public-shell .platform-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.public-shell .platform-card h3{margin:.9rem 0 .45rem;font-size:1.3rem}
.public-shell .platform-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}
.public-shell .feature-benefit{display:block;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line);color:var(--teal);font-size:.75rem;font-weight:850}

.public-shell .benefit-section{padding:clamp(4.5rem,8vw,5.5rem) clamp(1.2rem,6vw,6rem);background:#eef5f8}
.public-shell .benefit-wrap{max-width:1260px;margin:auto}
.public-shell .outcome-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:2rem}
.public-shell .outcome-item{padding:1.15rem 1rem;border-radius:18px;background:var(--navy);color:#e4f2ec;text-align:center}
.public-shell .outcome-item strong{display:block;margin-bottom:.35rem;color:var(--lime);font-size:1.05rem;letter-spacing:-.02em;text-transform:uppercase}
.public-shell .outcome-item span{font-size:.82rem;line-height:1.45}

.public-shell .game-showcase{padding:clamp(4.5rem,8vw,5.5rem) clamp(1.2rem,6vw,6rem);max-width:1380px;margin:auto}
.public-shell .showcase-head{max-width:760px;margin:0 auto 2.1rem;text-align:center}
.public-shell .showcase-head p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6}
.public-shell .tactics-showcase{max-width:60%;margin-inline:auto;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(14,35,56,.07)}
.public-shell .tactics-showcase-art{background:#0b2a18}
.public-shell .tactics-showcase-art img{width:100%;height:auto;object-fit:cover}
.public-shell .tactics-showcase-copy{padding:1.4rem 1.5rem 1.6rem}
.public-shell .number-badge{display:inline-grid;place-items:center;min-width:3.4rem;height:1.9rem;padding:0 .65rem;border-radius:9px;background:var(--lime);color:var(--navy);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.public-shell .tactics-showcase-copy h3{margin:.55rem 0 .4rem;font-size:1.4rem}
.public-shell .tactics-showcase-copy p{max-width:720px;margin:0 0 1.1rem;color:var(--muted);line-height:1.55}
.public-shell .feature-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.6rem}
.public-shell .feature-pill{padding:.6rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:.8rem;font-weight:800}

.public-shell .board-note{margin:1.4rem 0 0;padding:1.05rem 1.25rem;border-left:5px solid var(--lime);border-radius:12px;background:#fff;color:var(--muted);line-height:1.55}

.public-shell .cms-page-home>.membership-section,
.public-shell .home-pricing{background:#fff;color:var(--ink);border-block:0;padding-bottom:0}
.public-shell .cms-page-home>.membership-section .section-heading h2,
.public-shell .home-pricing .section-heading h2{color:var(--navy)}
.public-shell .cms-page-home>.membership-section .section-heading p,
.public-shell .home-pricing .section-heading p{color:var(--muted)}
.public-shell .cms-page-home>.membership-section .section-heading .eyebrow,
.public-shell .home-pricing .section-heading .eyebrow{color:var(--teal)}
.public-shell .cms-page-home>.membership-section .price-card,
.public-shell .home-pricing .price-card{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 9px 24px rgba(14,35,56,.05)}
.public-shell .cms-page-home>.membership-section .price-card.featured,
.public-shell .home-pricing .price-card.featured{--price-card-fill:#fff;--price-card-line:var(--lime);--price-card-glow:var(--shadow);color:var(--ink)}
.public-shell .cms-page-home>.membership-section .price-card.featured h3,
.public-shell .cms-page-home>.membership-section .price-card.featured .price,
.public-shell .home-pricing .price-card.featured h3,
.public-shell .home-pricing .price-card.featured .price{color:var(--navy)}
.public-shell .cms-page-home>.membership-section .plan-description{color:#5a6b72}
.public-shell .pricing-note{max-width:760px;margin:1.1rem auto 0;color:var(--muted);font-size:.82rem;line-height:1.5;text-align:center}

.public-shell .club-cta{padding:3.1rem clamp(1.2rem,6vw,6rem) clamp(3.2rem,6vw,4.5rem);background:#fff}
.public-shell .club-cta-inner{max-width:1120px;margin:auto;padding:clamp(2.4rem,5vw,3.2rem) clamp(1.4rem,5vw,3rem);border-radius:28px;background:linear-gradient(130deg,var(--navy),#0c2940);color:#fff;text-align:center}
.public-shell .club-cta .eyebrow{justify-content:center;color:var(--lime)}
.public-shell .club-cta h2{max-width:920px;margin:.4rem auto .7rem;color:#fff;letter-spacing:-.04em}
.public-shell .club-cta-inner p{max-width:760px;margin:0 auto 1.4rem;color:#d4e1ea;font-size:1.05rem;line-height:1.6}
.public-shell .club-cta-actions{justify-content:center}
.public-shell .club-cta .button-ghost{border-color:rgba(255,255,255,.4);background:transparent;color:#fff}
.public-shell .club-cta .button-ghost:hover{background:rgba(255,255,255,.08)}
.public-shell .club-cta .pricing-note{margin-top:1.4rem;color:var(--muted)}
.resource-tactics-bg{position:absolute;inset:0;z-index:-1;width:100%;height:100%;color:#6f8b98;opacity:.19;pointer-events:none}
.public-shell .resource-advert-copy,.public-shell .resource-fan{position:relative;z-index:1}
.public-shell .resource-fan{transform:translateX(1.5rem)}
.public-shell .resource-advert-copy{max-width:640px}
.public-shell .resource-advert-copy .eyebrow{color:#65d8c7}
.public-shell .resource-advert-copy h2{max-width:650px;color:#fff;font-size:clamp(3rem,4.6vw,5.2rem);line-height:1.01;letter-spacing:-.055em}
.public-shell .resource-advert-copy p{max-width:620px;color:#c4d0d5;line-height:1.7}
.public-shell .resource-advert-copy .button-lime{background:var(--lime);border-color:var(--lime);color:var(--navy);box-shadow:0 16px 36px rgba(168,217,38,.18)}
.public-shell .resource-sheet{border-color:rgba(255,255,255,.96);box-shadow:0 28px 62px rgba(0,0,0,.38)}
.public-shell .resource-lock{border-color:rgba(255,255,255,.16);background:rgba(6,25,43,.94);box-shadow:0 20px 45px rgba(0,0,0,.3)}

.public-shell .board-card{display:flex;flex-direction:column}
.public-shell .board-card-copy{display:flex;flex:1;flex-direction:column;align-items:stretch}
.public-shell .board-card-copy .text-button{width:100%;margin-top:auto;padding:.72rem 1rem;border:1px solid #173a50;border-radius:11px;background:#173a50;color:#fff;text-align:center;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.public-shell .board-card-copy .text-button:hover{transform:translateY(-2px);background:#0d2b40;box-shadow:0 12px 24px rgba(6,25,43,.16)}

.admin-list-clean{border-top:1px solid var(--line)}.admin-list-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.admin-list-row small{display:block;color:var(--muted)}.admin-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#d8dcde;display:grid;place-items:center;font-weight:900}.admin-avatar img{width:100%;height:100%;object-fit:cover}.list-arrow{font-weight:800;color:#0a756a}.text-danger{color:#a42735}
@media(max-width:1100px){.public-shell .problem-grid,.public-shell .platform-grid{grid-template-columns:1fr 1fr}.public-shell .outcome-strip{grid-template-columns:1fr 1fr}.public-shell .match-practice-panel,.public-shell .hero-value-panel{width:min(100%,700px);justify-self:stretch}.public-shell .cms-page-home>.resource-advert{grid-template-columns:1fr}.public-shell .resource-fan{min-height:520px;transform:none}.board-grid{grid-template-columns:repeat(2,1fr)}.price-grid-three{grid-template-columns:1fr 1fr}.price-grid-three .price-card:last-child{grid-column:1/-1}.coach-photo-copy{width:65%}.public-shell .site-footer-inner{align-items:flex-start;flex-direction:column}.public-shell .footer-links{justify-content:flex-start}}
@media(max-width:850px){.public-shell .hero h1{font-size:clamp(1.15rem,9vw,1.5rem)}.public-shell .hero-lead p{font-size:1.05rem}.public-shell .problem-grid,.public-shell .platform-grid,.public-shell .audience-grid{grid-template-columns:1fr}.public-shell .problem-wrap h2,.public-shell .benefit-wrap h2,.public-shell .club-cta h2{font-size:2.1rem}}
@media(max-width:700px){.resource-fan{min-height:390px}.resource-sheet{width:45%;border-width:4px}.resource-lock{bottom:0}.coach-photo-story{min-height:660px;align-items:flex-end}.coach-photo-story>img{object-position:42% center}.coach-photo-shade{background:linear-gradient(to top,rgba(6,25,43,1) 0%,rgba(6,25,43,.9) 48%,rgba(6,25,43,.08) 85%)}.coach-photo-copy{width:100%;padding:2rem 1rem 3rem}.board-grid,.price-grid-three,.public-shell .outcome-strip{grid-template-columns:1fr}.price-grid-three .price-card:last-child{grid-column:auto}.price-grid-three .price-card.featured{--price-featured-extend:0px}.price-card.featured{transform:none}.profile-dialog-body{grid-template-columns:1fr}.profile-dialog-photo{width:160px}.profile-dialog-head{padding:1.3rem}.profile-dialog-body{padding:1.3rem}.admin-list-row{grid-template-columns:45px 1fr auto}.admin-list-row .tag{display:none}.list-arrow{font-size:.75rem}.public-shell .problem-band,.public-shell .benefit-section,.public-shell .game-showcase,.public-shell .club-cta{padding-inline:14px}.public-shell .club-cta-inner{padding:1.6rem 1.1rem}}

/* Launch workspace */
.dashboard-welcome{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:3rem;align-items:center;margin:-2.5rem clamp(-3.7rem,-4vw,-1.2rem) 0;padding:clamp(3rem,6vw,5.5rem) clamp(1.2rem,4vw,3.7rem);overflow:hidden;background:linear-gradient(120deg,#06192b,#0a2b42);color:#dbe5e8}.dashboard-welcome:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--lime),var(--teal))}.dashboard-welcome h1{max-width:760px;margin:.35rem 0 .7rem;color:#fff;font-size:clamp(1.7rem,5vw,4.2rem);letter-spacing:-.055em}.dashboard-welcome p{max-width:680px}.dashboard-welcome .eyebrow{color:var(--lime)}.dashboard-welcome .button-ghost{border-color:rgba(255,255,255,.35);color:#fff}.dashboard-pitch{position:relative;aspect-ratio:1.25;border:2px solid rgba(255,255,255,.28);border-radius:5px;background:linear-gradient(145deg,#168d70,#0d6d5b);box-shadow:0 24px 60px rgba(0,0,0,.3);transform:rotate(2deg)}.dashboard-pitch:before,.dashboard-pitch:after{content:"";position:absolute}.dashboard-pitch:before{inset:0 50% 0 auto;border-left:2px solid rgba(255,255,255,.34)}.dashboard-pitch:after{left:35%;top:31%;width:30%;aspect-ratio:1;border:2px solid rgba(255,255,255,.34);border-radius:50%}.dash-player,.dash-ball{position:absolute;z-index:2;width:18px;aspect-ratio:1;border:3px solid #fff;border-radius:50%;background:var(--lime);box-shadow:0 5px 12px rgba(0,0,0,.25)}.dash-player.alt{background:#ff735d}.dash-player:after{content:"";position:absolute;top:100%;left:50%;width:3px;height:18px;background:#fff;transform:translateX(-50%)}.dash-ball{width:11px;left:48%;top:43%;border-width:2px;background:#fff}.p1{left:16%;top:21%}.p2{left:27%;top:65%}.p3{right:18%;top:20%}.p4{right:29%;top:67%}
.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 2.5rem;border:1px solid #d9e2e2;border-top:0;background:#fff}.metric-strip>div,.metric-strip>a{display:flex;min-width:0;flex-direction:column;padding:1.3rem 1.5rem;border-right:1px solid #e1e7e7;color:var(--ink)}.metric-strip>:last-child{border-right:0}.metric-strip strong{font-size:2rem;color:var(--navy)}.metric-strip span{color:#677780;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.action-rail{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:2.8rem;border-block:1px solid #ccd8d8}.action-rail a{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:1.35rem 1rem;color:var(--ink);border-right:1px solid #ccd8d8}.action-rail a:last-child{border-right:0}.action-rail a:hover strong{color:#0d7f71}.action-index{grid-row:1/3;color:#0b8b7b;font-size:.68rem;font-weight:900;letter-spacing:.1em}.action-rail small{color:#738087}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.clean-section{padding:1.55rem 0;border-top:3px solid var(--navy);background:transparent}.clean-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}.clean-heading h2{margin:.15rem 0 0;font-size:1.65rem}.clean-heading>a{font-weight:800;color:#0c7e71}.schedule-row,.session-row,.rank-row{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #d8e1e1;color:var(--ink)}.schedule-row time{display:grid;width:48px;text-align:center}.schedule-row time strong{font-size:1.35rem}.schedule-row time span{color:#718087;font-size:.7rem;font-weight:900;text-transform:uppercase}.schedule-row>div,.session-row>div{display:flex;min-width:0;flex:1;flex-direction:column}.schedule-row small,.session-row small{color:#6d7c83}.event-kind{font-size:.7rem;font-weight:850;text-transform:uppercase;color:#0c796d}.session-row{justify-content:space-between}.compact-empty,.muted-copy{padding:1rem 0;color:#6b7980}.compact-empty p{margin:.25rem 0}.recommended-section{margin-top:2.7rem}.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.recommend-grid>a{color:var(--ink)}.recommend-image{aspect-ratio:1.45;overflow:hidden;margin-bottom:1rem;background:#dfe7e5}.recommend-image img{width:100%;height:100%;object-fit:cover}.recommend-grid h3{margin:.25rem 0}.recommend-grid p{color:#66747b}.resource-fallback{width:100%;height:100%;min-height:150px;display:grid;place-items:center;background:linear-gradient(145deg,#dfe5e3,#eef2ef);color:#527068}.resource-fallback span{padding:.45rem .7rem;border:1px solid #8da49e;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.creation-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0 0 2.25rem;padding:.35rem;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(135deg,#06192b,#0b2c43);box-shadow:0 18px 42px rgba(6,25,43,.16)}.creation-paths>a,.creation-paths>.creation-path-disabled{display:flex;min-height:148px;flex-direction:column;justify-content:center;padding:1.35rem 1.5rem;border:1px solid transparent;border-radius:17px;color:#fff;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.creation-paths>a:hover{border-color:rgba(200,241,53,.4);background:rgba(255,255,255,.08);transform:translateY(-2px)}.creation-paths>a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.creation-paths a.is-active{border-color:var(--lime);background:linear-gradient(145deg,rgba(200,241,53,.2),rgba(255,255,255,.08));box-shadow:inset 0 0 0 1px rgba(200,241,53,.22),0 10px 25px rgba(0,0,0,.14)}.creation-paths span{color:var(--lime);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.creation-paths strong{margin-top:.35rem;color:#fff;font-size:1.2rem}.creation-paths small{margin-top:.35rem;color:#b8c9d0;line-height:1.45}.creation-path-disabled{cursor:not-allowed;background:rgba(255,255,255,.045);opacity:.68}.creation-path-disabled span{color:#8eb0b2}.creation-path-disabled em{display:inline-block;margin-left:.35rem;padding:.18rem .5rem;border-radius:999px;background:rgba(255,255,255,.14);color:#d4e0e1;font-size:.58rem;font-style:normal;letter-spacing:.04em;vertical-align:middle}.wizard-shell{scroll-margin-top:1.25rem}.wizard-intro{margin-bottom:1.4rem}.wizard-intro h2{font-size:2rem;margin:.2rem 0}
.calendar-toolbar-clean{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 0;border-block:1px solid #cad6d6}.calendar-period,.calendar-view-switch{display:flex;align-items:center;gap:.75rem}.calendar-period>button,.calendar-view-switch>button{border:1px solid #c9d4d5;background:#fff;padding:.55rem .8rem;font-weight:800}.calendar-period h2{margin:0}.calendar-view-switch .is-active{border-color:var(--navy);background:var(--navy);color:#fff}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:2rem;margin-top:1.5rem}.calendar-main{min-width:0;background:#fff;border:1px solid #d8e1e1}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding:.7rem;border-right:1px solid #e1e7e7;color:#6b7a80;font-size:.68rem;font-weight:900;text-transform:uppercase}.calendar-day{min-height:128px;padding:.55rem;border-top:1px solid #e1e7e7;border-right:1px solid #e1e7e7}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#f4f6f5}.calendar-day.today>span{display:grid;width:26px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--lime);font-weight:900}.calendar-event-chip{display:block;width:100%;margin:.35rem 0 0;padding:.4rem .45rem;border:0;border-left:3px solid var(--teal);background:#e8f4f0;color:var(--navy);text-align:left}.calendar-event-chip strong,.calendar-event-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.calendar-event-chip small{color:#61747a}.calendar-event-chip.type-game{border-color:#f4745e;background:#fff0ec}.calendar-event-chip.type-tournament{border-color:#856ad7;background:#f0ecff}.calendar-event-chip.type-meeting{border-color:#d59f18;background:#fff7dc}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));overflow:auto}.week-day{min-height:440px;border-right:1px solid #e0e7e7}.week-day header{display:flex;justify-content:space-between;padding:.8rem;border-bottom:1px solid #e0e7e7}.week-day>div{padding:.45rem}.week-day.today header{background:#eff8d8}.calendar-agenda{border-top:3px solid var(--navy);padding-top:1rem}.calendar-agenda h2{margin:.2rem 0 1rem}.agenda-row{display:grid;width:100%;grid-template-columns:46px 1fr;gap:.8rem;padding:.8rem 0;border:0;border-top:1px solid #d6dfdf;background:none;text-align:left}.agenda-row time{display:flex;flex-direction:column;text-align:center}.agenda-row time strong{font-size:1.2rem}.agenda-row time span,.agenda-row small{color:#6e7b81;font-size:.68rem}.agenda-row>span{display:flex;min-width:0;flex-direction:column}.calendar-dialog{width:min(760px,calc(100% - 2rem));max-height:90vh;border:0;border-radius:16px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.35)}.calendar-dialog::backdrop{background:rgba(3,17,28,.74)}.calendar-event-form{padding:1.5rem}.calendar-dialog-actions{display:flex;justify-content:space-between;align-items:center}.coach-assignment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.coach-assignment-grid label{display:flex;gap:.65rem;padding:.7rem;border:1px solid #d7e0df}.coach-assignment-grid span{display:flex;flex-direction:column}.coach-assignment-grid small{color:#6d7c82}.more-events,.no-events{color:#7a878c}
.leader-label{display:inline-flex;padding:.35rem .55rem;background:var(--navy);color:var(--lime);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.leader-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:2.5rem;border-block:1px solid #cad6d6}.leader-metrics>div{display:flex;flex-direction:column;padding:1.2rem;border-right:1px solid #cad6d6}.leader-metrics>div:last-child{border-right:0}.leader-metrics span{color:#63737a;font-size:.7rem;font-weight:900;text-transform:uppercase}.leader-metrics strong{font-size:2.25rem;color:var(--navy)}.leader-metrics small{color:#748187}.leader-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:2.5rem}.leader-side{display:flex;flex-direction:column;gap:2rem}.member-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:1.3rem;align-items:center;padding:1rem 0;border-top:1px solid #d6dfdf}.member-identity{display:flex;gap:.8rem;align-items:center}.member-identity>span{display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:.75rem;font-weight:900}.member-identity div{display:flex;min-width:0;flex-direction:column}.member-identity small{color:#6c7a80;overflow:hidden;text-overflow:ellipsis}.member-usage{display:flex;gap:1.2rem}.member-usage>span{display:flex;flex-direction:column;font-weight:800;text-align:right}.member-usage small{color:#77848a;font-size:.63rem;font-weight:700;text-transform:uppercase}.member-row details{position:relative}.member-row summary{cursor:pointer;font-weight:850;color:#08776b}.member-manage-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:end;min-width:520px;margin:1rem 0}.member-manage-form label{display:flex;flex-direction:column;font-size:.7rem;font-weight:800}.member-manage-form input,.member-manage-form select{min-height:40px;border:1px solid #c7d3d6}.pending-row,.activity-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid #d9e2e1}.pending-row div{display:flex;min-width:0;flex-direction:column}.pending-row small{color:#6d7a80}.status-dot-label{color:#956d00;font-size:.7rem;font-weight:900}.brand-settings img{width:48px;height:48px;object-fit:contain}.leader-bottom{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem}.rank-row>span{color:#0a8174;font-size:.68rem;font-weight:900}.rank-row strong{flex:1}.activity-row{justify-content:flex-start}.activity-row>span{width:8px;height:8px;margin-top:.45rem;border-radius:50%;background:var(--lime)}.activity-row>div{flex:1}.activity-row p{margin:.1rem 0;color:#6e7c82}.activity-row time{color:#738087;font-size:.72rem}.invite-submit{align-self:end}.settings-panel{max-width:760px}.manager-links{border-top:1px solid #cbd7d7}.manager-links>a{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #cbd7d7;color:var(--ink)}.manager-links>a>span{color:#0b8174;font-size:.72rem;font-weight:900}.manager-links strong{display:block;font-size:1.15rem}.manager-links small{color:#6c797f}.admin-metrics{border-top:1px solid #d9e2e2}
@media(max-width:1100px){.dashboard-welcome{grid-template-columns:1fr 280px}.calendar-layout,.leader-layout{grid-template-columns:1fr}.calendar-agenda{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.calendar-agenda>.eyebrow,.calendar-agenda>h2{grid-column:1/-1}.member-row{grid-template-columns:minmax(220px,1fr) auto}.member-row details{grid-column:1/-1}.leader-bottom{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-welcome{grid-template-columns:1fr;margin-top:-1.8rem}.dashboard-pitch{display:none}.dashboard-pitch-stage{max-width:100%}.metric-strip,.leader-metrics{grid-template-columns:repeat(2,1fr)}.metric-strip>:nth-child(2),.leader-metrics>:nth-child(2){border-right:0}.action-rail,.dashboard-columns,.recommend-grid,.creation-paths{grid-template-columns:1fr}.action-rail a,.creation-paths a{border-right:0;border-bottom:1px solid #ccd8d8}.calendar-toolbar-clean{align-items:stretch;flex-direction:column}.calendar-layout{gap:1rem}.calendar-main{overflow:auto}.calendar-month{min-width:0}.calendar-agenda{grid-template-columns:1fr}.coach-assignment-grid{grid-template-columns:1fr}.member-row{grid-template-columns:1fr}.member-usage{justify-content:space-between}.member-manage-form{grid-template-columns:1fr;min-width:0}.leader-bottom{gap:1rem}.calendar-dialog-actions{align-items:flex-start;flex-direction:column;gap:1rem}}
.coach-assignment-grid label{align-items:center}.coach-assignment-grid input{width:18px;height:18px;min-height:0;flex:0 0 18px}.coach-assignment-grid span{min-width:0}
.content-resource-list{border-top:1px solid #cad6d6}.content-resource-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}.content-resource-bulk{display:flex;align-items:center;gap:.75rem}.content-resource-grouping{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.content-resource-group{margin-bottom:1.5rem}.content-resource-group-title{display:flex;align-items:center;gap:.65rem;margin:0 0 .35rem;padding:.35rem 0;font-size:1rem;color:var(--navy)}.content-upload-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #d6dfdf;padding-bottom:.75rem}.content-upload-tab{padding:.45rem .85rem;border:1px solid #c7d3d6;border-radius:999px;background:#fff;font-weight:800;color:var(--navy);cursor:pointer}.content-upload-tab.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.content-resource-select{display:flex;align-items:center}.content-resource-select input{width:18px;height:18px;margin:0}.content-resource-row{border-bottom:1px solid #cad6d6;background:rgba(255,255,255,.45)}.content-resource-row summary{display:grid;grid-template-columns:auto 120px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem;cursor:pointer;list-style:none}.content-resource-row summary::-webkit-details-marker{display:none}.content-resource-row summary>span:nth-child(3){display:flex;min-width:0;flex-direction:column}.content-resource-row summary small{color:#6e7d83}.resource-list-status{color:#0b7f72;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.resource-list-open{font-weight:850;color:var(--navy)}.content-resource-row[open]{background:#fff}.content-resource-row[open] .resource-list-open{color:#0b7f72}.content-resource-editor{padding:1.5rem;border-top:1px solid #e0e6e6}.content-resource-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.resource-pdf-viewer{width:100%;min-height:min(72vh,820px);border:0;border-radius:12px;background:#fff}@media(max-width:600px){.content-resource-row summary{grid-template-columns:auto 1fr auto}.resource-list-status{grid-column:2/-1}.content-resource-editor{padding:1rem}}
.club-leader-list .list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid #dbe3e3}.club-leader-list .list-row>span:first-child{display:flex;min-width:0;flex-direction:column}.club-leader-list .list-row small{color:#6d7a80}.club-admin-invite{margin-top:1.2rem;align-items:end}
.usage-table-wrap{overflow-x:auto}.usage-table-wrap .data-table{width:100%}.usage-table-wrap .usage-totals th,.usage-table-wrap .usage-totals td{font-weight:800}

/* Focused visual refinements */
.public-shell .coach-photo-copy .eyebrow{font-size:.61rem}
.public-shell .coach-photo-copy h2{font-size:clamp(2.15rem,3.8vw,3.9rem)}
.public-shell .coach-photo-panel-wrap{width:min(92%,540px);padding:clamp(2rem,5vw,4.5rem)}
.public-shell .coach-photo-panel-wrap .match-practice-panel{width:100%;box-shadow:0 28px 70px rgba(0,0,0,.35)}
@media(max-width:700px){.public-shell .tactics-showcase{max-width:100%}.public-shell .coach-photo-panel-wrap{width:100%;padding:1.25rem 1rem 2.5rem}}
.app-shell img.dashboard-pitch{display:block;width:100%;height:auto;aspect-ratio:auto;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#06192b;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:rotate(1deg)}
.app-shell .brand-settings .club-logo-preview{width:112px;height:112px;margin:0 0 1.25rem;padding:.55rem;border:1px solid #d6dfdf;border-radius:16px;background:#fff;object-fit:contain}
@media(max-width:600px){.app-shell .header-club-name small{display:none}.app-shell .header-club-name strong{max-width:115px;font-size:.72rem}}

.app-shell .leader-coaches .member-list .member-row:first-child{position:relative;margin:.6rem 0 1rem;padding:2.2rem 1rem 1.2rem;border:0;border-radius:18px;background:linear-gradient(135deg,var(--navy),#123b52);color:#fff;box-shadow:0 18px 38px rgba(6,25,43,.18)}
.app-shell .leader-coaches .member-list .member-row:first-child::before{content:"You";position:absolute;top:.7rem;left:4.75rem;padding:.22rem .52rem;border-radius:999px;background:var(--lime);color:var(--navy);font-size:.58rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.app-shell .leader-coaches .member-list .member-row:first-child .member-identity>span{background:var(--lime);color:var(--navy)}
.app-shell .leader-coaches .member-list .member-row:first-child .member-identity small,
.app-shell .leader-coaches .member-list .member-row:first-child .member-usage small{color:#c5d4db}
.app-shell .leader-coaches .member-list .member-row:first-child summary{color:var(--lime)}
.app-shell .wizard-step .choice label{cursor:pointer}
.app-shell .game-details-panel .check-card{min-width:132px;justify-content:flex-start;gap:.65rem;white-space:nowrap;cursor:pointer}
.app-shell .game-details-panel .check-card input{flex:0 0 20px;width:20px;height:20px;min-height:0;margin:0;padding:0}
/* Keep profile placeholders and failed-image fallbacks inside their exact photo bounds. */
.profile-image-frame{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#e4e7e8}.profile-image-frame>img{display:block;width:100%;height:100%;object-fit:cover}.profile-dialog-photo .profile-image-frame{height:100%;overflow:hidden}.profile-dialog-photo .profile-placeholder,.board-photo .profile-placeholder{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
@media(max-width:760px){.creation-paths a,.creation-paths>.creation-path-disabled{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.creation-paths>:last-child{border-bottom:0}}

/* Dashboard activity notification */
.new-resources-panel[hidden],.new-resources-shortcut[hidden],[data-recommended-section][hidden]{display:none}
.new-resources-shortcut{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.9rem;margin:-.8rem 0 1.75rem;padding:.75rem 1rem;border:1px solid #bfd7c0;border-radius:11px;background:linear-gradient(100deg,#eef7e7,#f8fbf5);color:var(--navy);box-shadow:0 8px 24px rgba(7,26,43,.06);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.new-resources-shortcut:hover{border-color:#96b961;box-shadow:0 12px 28px rgba(7,26,43,.1);transform:translateY(-1px)}.new-resources-shortcut:focus-visible{outline:3px solid #8fb639;outline-offset:2px}.new-resources-shortcut>span:nth-child(2){min-width:0}.new-resources-shortcut strong,.new-resources-shortcut small{display:block}.new-resources-shortcut strong{font-size:.94rem}.new-resources-shortcut small{margin-top:.05rem;color:#5d6e6c;font-size:.76rem}.new-resources-shortcut-mark{position:relative;display:grid;width:29px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--navy)}.new-resources-shortcut-mark::before,.new-resources-shortcut-mark i{content:"";width:7px;aspect-ratio:1;border-radius:50%;background:var(--lime)}.new-resources-shortcut-mark i{position:absolute;animation:new-resource-pulse 2.2s ease-out infinite}.new-resources-shortcut-count{padding:.35rem .65rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.67rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.new-resources-shortcut-arrow{color:#0c7e71;font-size:1.15rem;font-weight:900}
.new-resources-panel{position:relative;isolation:isolate;margin-top:2.7rem;padding:clamp(1.35rem,3vw,2.2rem);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:radial-gradient(circle at 92% 8%,rgba(24,183,160,.22),transparent 28%),linear-gradient(130deg,#06192b 0%,#0a263a 58%,#0b3043 100%);color:#fff;box-shadow:0 24px 60px rgba(7,26,43,.2);scroll-margin-top:96px;animation:new-resource-reveal .4s ease both}.new-resources-panel::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.055) 50%,transparent 50.15%),linear-gradient(0deg,transparent 49.7%,rgba(255,255,255,.045) 50%,transparent 50.3%);pointer-events:none}.new-resources-panel:focus{outline:none}.new-resources-panel:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.new-resources-orbit{position:absolute;z-index:-1;right:-110px;top:-150px;width:340px;aspect-ratio:1;border:1px solid rgba(200,241,53,.15);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.018),0 0 0 84px rgba(255,255,255,.012)}.new-resources-head{position:relative;display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.4rem}.new-resources-head h2{margin:.22rem 0 .42rem;color:#fff;font-size:clamp(1.8rem,3vw,2.65rem)}.new-resources-head p{max-width:620px;margin:0;color:#bacbd2;font-size:.88rem}.new-resources-head>a{flex:0 0 auto;color:var(--lime);font-size:.78rem;font-weight:850}.new-resources-head>a:hover{text-decoration:underline}.new-resources-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#c8f135;font-size:.63rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.new-resources-kicker i{width:7px;aspect-ratio:1;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(200,241,53,.12)}.new-resources-groups{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.new-resources-groups.is-single{grid-template-columns:minmax(0,1fr)}.new-resources-group{min-width:0;padding:1rem;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}.new-resources-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.new-resources-group-head h3{margin:0;color:#fff;font-size:.95rem;letter-spacing:-.01em}.new-resources-group-head>span{color:#9fb4bd;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.new-resources-list{display:grid;gap:.55rem}.new-resource-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:.85rem;height:92px;padding:.65rem;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.075);color:#fff;transition:background .18s ease,border-color .18s ease,transform .18s ease}.new-resource-card:hover{border-color:rgba(200,241,53,.35);background:rgba(255,255,255,.12);transform:translateX(2px)}.new-resource-card:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.new-resource-media{display:block;width:70px;height:70px;overflow:hidden;border-radius:9px;background:#102f42}.new-resource-media img{width:100%;height:100%;object-fit:cover}.new-resource-fallback{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,#12394b,#0f8273);color:var(--lime);font-size:.68rem;font-weight:950;letter-spacing:.12em}.new-resource-copy{display:flex;min-width:0;flex-direction:column}.new-resource-copy>strong{margin:.22rem 0 .12rem;overflow:hidden;color:#fff;font-size:.91rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.new-resource-copy>small{overflow:hidden;color:#aebfc7;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.new-resource-badges{display:flex;align-items:center;gap:.4rem}.new-resource-badges b,.new-resource-badges i{font-size:.55rem;font-style:normal;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.new-resource-badges b{padding:.18rem .34rem;border-radius:999px;background:var(--lime);color:var(--navy)}.new-resource-badges i{color:#81d7ca}.new-resource-arrow{color:var(--lime);font-size:1.1rem;font-weight:900}.new-resources-announcement{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes new-resource-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes new-resource-pulse{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(3.1)}}
@media(max-width:900px){.new-resources-groups{grid-template-columns:1fr}.new-resources-head{align-items:start;flex-direction:column;gap:.8rem}.new-resources-head>a{align-self:flex-start}}
@media(max-width:600px){.new-resources-shortcut{grid-template-columns:auto minmax(0,1fr) auto;padding:.75rem}.new-resources-shortcut-count{grid-column:2;justify-self:start}.new-resources-shortcut-arrow{grid-column:3;grid-row:1}.new-resources-panel{padding:1rem;border-radius:18px}.new-resources-group{padding:.75rem}.new-resource-card{grid-template-columns:60px minmax(0,1fr) auto;height:82px;gap:.65rem}.new-resource-media{width:60px;height:60px}.new-resource-copy>small{font-size:.59rem}}
@media(prefers-reduced-motion:reduce){.new-resources-panel{animation:none}.new-resources-shortcut,.new-resource-card{transition:none}.new-resources-shortcut-mark i{animation:none;display:none}}

/* —— Client feedback: pitch illustration, billing, calmer dashboard —— */
/* Positions stay in the stylesheet: the CSP sends style-src 'self', so style attributes never apply. */
.pitch-illustration{position:relative;width:100%;min-height:230px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.pitch-illustration-field{position:absolute;inset:0;border:4px solid rgba(255,255,255,.55);border-radius:22px;background:linear-gradient(90deg,#50aa5e 0 50%,#49a157 50%);overflow:hidden}
.pitch-marking{position:absolute;pointer-events:none}
.pitch-halfway{left:50%;top:0;bottom:0;border-left:2px solid rgba(255,255,255,.7)}
.pitch-circle{width:22%;aspect-ratio:1;border:2px solid rgba(255,255,255,.7);border-radius:50%;left:39%;top:50%;transform:translateY(-50%)}
.pitch-box{top:22%;width:13%;height:56%;border:2px solid rgba(255,255,255,.65)}
.pitch-box-left{left:0;border-left:0}.pitch-box-right{right:0;border-right:0}
.pitch-player{position:absolute;width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid #1c6fd1;box-shadow:0 3px 8px rgba(0,0,0,.22);transform:translate(-50%,-50%)}
.pitch-player-yellow{border-color:#ffd23f}
.pitch-at-1{left:20%;top:27%}
.pitch-at-2{left:32%;top:70%}
.pitch-at-3{left:65%;top:31%}
.pitch-at-4{left:77%;top:69%}
.pitch-ball{position:absolute;left:47%;top:47%;width:15px;height:15px;border:2px solid var(--navy);border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 55%,#dfe7ec 100%);box-shadow:0 3px 7px rgba(0,0,0,.28);transform:translate(-50%,-50%)}
.pitch-run{position:absolute;left:24%;top:36%;width:21%;border-top:2px dashed rgba(255,255,255,.72);transform:rotate(22deg);transform-origin:left center}
.pitch-cone{position:absolute;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:16px solid #ffae45;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.pitch-cone-1{left:11%;bottom:12%}
.pitch-cone-2{right:11%;top:12%}
.dashboard-pitch-stage{min-height:240px;align-self:center;background:#fff}
.dashboard-pitch-stage .pitch-illustration-field{inset:6% auto;left:50%;width:auto;aspect-ratio:3/2;border:2px solid rgba(248,251,251,.95);border-radius:0;background-color:#187413;background-image:url("/assets/tactics-creator/assets/textures/seamless-grass-texture%20NEW.jpg");background-position:0 -4.7619%;background-repeat:repeat;background-size:14.2857% 19.0476%;box-shadow:0 2px 10px rgba(6,25,43,.16);transform:translateX(-50%)}
.dashboard-pitch-stage .pitch-halfway{border-left-width:1px;border-left-color:#f8fbfb}
.dashboard-pitch-stage .pitch-circle,.dashboard-pitch-stage .pitch-box{border-width:1px;border-color:#f8fbfb}
.hero-pitch-stage{min-height:320px}
.billing-notice{margin:0 0 1.25rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(14,35,56,.04)}
.billing-notice strong{display:block;color:var(--navy);font-size:1.05rem}
.billing-notice p{margin:.35rem 0 0;color:var(--muted)}
.billing-notice-success{border-color:#b7dfc8;background:#f1faf5}
.billing-notice-warning{border-color:#f0d9a0;background:#fff9eb}
.app-shell .dashboard-welcome.dashboard-welcome-after-notice{margin-top:0}
.app-shell .dashboard-welcome{border-radius:0 0 28px 28px;background:radial-gradient(circle at 85% 20%,rgba(184,232,76,.32),transparent 22%),linear-gradient(125deg,var(--navy),#174e78)}
.app-shell .dashboard-welcome h1{font-size:clamp(1.15rem,3.8vw,1.7rem);letter-spacing:-.03em}
.app-shell .dashboard-welcome .pitch-illustration{transform:none}
@media(max-width:900px){
  .public-shell .hero{grid-template-columns:1fr;padding-top:2.5rem}
  .public-shell .hero-pitch-stage,.public-shell .hero-board{width:min(100%,420px)}
  .public-shell .hero h1{font-size:clamp(1.15rem,8vw,1.5rem)}
  .public-shell .site-footer{grid-template-columns:1fr}
}
@media(max-width:680px){
  .dashboard-pitch-stage,.hero-pitch-stage{min-height:190px}
  .pitch-player{width:20px;height:20px;border-width:4px}
  .pitch-ball{width:12px;height:12px}
  .hero-proof{flex-wrap:wrap}
  .library-view-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .schedule-row,.session-row{flex-wrap:wrap;gap:.65rem}
  .clean-heading{flex-wrap:wrap;align-items:flex-start}
  .manager-links>a{grid-template-columns:minmax(0,1fr)}
  .simulation-notice{flex-wrap:wrap}
  .metric-strip>div,.metric-strip>a{border-bottom:1px solid #e1e7e7}
  .metric-strip>:nth-child(2n){border-right:0}
  .resource-fan{min-height:360px;transform:none}
  .resource-sheet{position:relative;top:auto;left:auto;width:min(70%,260px);margin:0 auto .8rem;transform:none!important}
  .play-card{left:auto!important;right:auto!important;position:relative;margin:.4rem 0}
}

/* Coach Through Play identity and compact mobile working surfaces. */
.brand-wordmark{display:inline-flex!important;flex-direction:column!important;line-height:.95!important;font-size:1rem!important;font-weight:800!important;letter-spacing:-.045em!important;white-space:nowrap}.brand-wordmark b{color:var(--teal);font-weight:900}.brand-light .brand-wordmark b{color:var(--lime)}.hero-brand{display:block;margin-bottom:.75rem;color:var(--navy);font-size:clamp(1.25rem,2.2vw,2rem);font-weight:850;letter-spacing:-.055em}.hero-brand b{color:#619441}.public-shell .hero{overflow:hidden}
@media(max-width:600px){
  html,body{overflow-x:clip}.public-shell .site-header{height:64px}.public-shell .brand-logo{width:38px;height:38px}.public-shell .brand-wordmark{font-size:.83rem!important}.public-shell .header-auth{gap:.45rem}.public-shell .header-auth>a:not(.button),.public-shell .header-sign-out{display:none}
  .public-shell .hero{min-height:0;gap:1.5rem;padding:2.25rem 1rem 2.5rem}.public-shell .hero::before{width:360px;height:360px;right:-180px;top:-150px}.public-shell .hero-board{width:100%;max-width:360px;margin-inline:auto;padding:.8rem;border-radius:20px;transform:none}.public-shell .hero-board::before{inset:auto -20px -30px}.public-shell .hero h1,.app-shell .page-head h1{font-size:clamp(1.7rem,8vw,2.15rem);line-height:1.06}.public-shell .hero-lead p,.public-shell .hero-copy>p{font-size:1rem;line-height:1.55}.hero-brand{font-size:1.25rem;margin-bottom:.5rem}.public-shell .hero-actions{gap:.6rem;margin-top:1.25rem}.public-shell .hero-actions .button{min-height:44px;padding:.65rem .85rem;font-size:.85rem}.public-shell .section{padding:2.6rem 1rem}.public-shell .section-heading{gap:.6rem;margin-bottom:1.35rem}.public-shell .section-heading h2,.public-shell .cms-image-text h2,.public-shell .coach-photo-copy h2{font-size:clamp(1.5rem,7vw,2rem)!important;line-height:1.1}.public-shell .quote-band blockquote{font-size:1.45rem}.public-shell .feature-card,.public-shell .price-grid-three .price-card{padding:1.1rem}.public-shell .coach-photo-story{min-height:520px}.public-shell .coach-photo-copy{padding:1.4rem 1rem 2rem}.public-shell .resource-fan{min-height:300px}.public-shell .resource-lock{padding:.75rem .9rem}.public-shell .profile-dialog-head h2{font-size:1.7rem}
  .app-shell .workspace{padding:1rem .85rem 2rem}.app-shell .app-header{height:62px;padding-inline:.85rem}.app-shell .dashboard-welcome{margin:-1rem -.85rem 1.2rem;padding:1.5rem .85rem;border-radius:0 0 18px 18px}.app-shell .dashboard-welcome h1{font-size:1.65rem}.app-shell .dashboard-welcome p{font-size:.95rem}.app-shell .metric-strip>div,.app-shell .metric-strip>a,.app-shell .leader-metrics>div{padding:.85rem}.app-shell .metric-strip strong,.app-shell .leader-metrics strong{font-size:1.55rem}.app-shell .action-rail a{min-height:72px;padding:1rem}.app-shell .creation-paths{margin-bottom:1.2rem;padding:.25rem;border-radius:16px}.app-shell .creation-paths>a,.app-shell .creation-paths>.creation-path-disabled{min-height:96px;padding:1rem}.app-shell .panel{padding:1rem;margin-bottom:.85rem}.app-shell .page-head{gap:.55rem;margin-bottom:1.15rem}.app-shell .page-head p{font-size:.95rem;line-height:1.5}.app-shell .calendar-day{min-height:94px;padding:.35rem}.app-shell .calendar-weekdays span{padding:.45rem .25rem;font-size:.68rem}.app-shell .calendar-event-chip{padding:.3rem}.app-shell .calendar-event-chip strong,.app-shell .calendar-event-chip small{font-size:.7rem}.app-shell .resource-detail h1{font-size:2rem}.app-shell .resource-viewer{max-height:56vh;padding:.65rem}.app-shell .content-resource-row summary{min-height:44px;padding:.8rem}.app-shell .member-row summary,.app-shell .manager-links>a,.app-shell .library-view-tabs a,.app-shell .content-upload-tab{min-height:44px;display:flex;align-items:center}.app-shell .field label,.app-shell .field>span{font-size:.8rem}.app-shell .field input,.app-shell .field select,.app-shell .filter-bar input,.app-shell .filter-bar select{min-height:44px}.app-shell .button,.app-shell .text-button{min-height:44px}.app-shell .tag,.app-shell .eyebrow{font-size:.75rem}.app-shell .new-resources-panel{margin-top:1.2rem}.app-shell .new-resource-card{height:76px}.app-shell .new-resource-copy>small{font-size:.7rem}
}

/* The CMS fallback photo has no class. Keep the image contained at every breakpoint. */
.public-shell .coach-photo-story{position:relative;overflow:hidden}.public-shell .coach-photo-story>img{position:absolute;inset:0;display:block;width:100%;max-width:100%;height:100%;object-fit:cover}
