/* The lime cut follows the underline on the club wordmark. */
.team-kicker {
  display: flex;
  align-items: center;
  gap: .65em;
  font: 800 11px/1.4 Manrope, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.team-kicker::before {
  content: "";
  width: 29px;
  height: 8px;
  flex: none;
  background: var(--blue);
  clip-path: polygon(0 66%,100% 0,77% 63%,15% 100%);
}
.club-opening {
  background: var(--cream);
  color: var(--ink);
  border-bottom: 5px solid var(--lime);
}
.club-opening .team-kicker { color: var(--ink); }
.club-opening .team-kicker::before { background: var(--blue); }
.team-masthead {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(24px,5vw,76px);
  padding-block: clamp(36px,5vw,75px);
}
.team-intro { min-width: 0; }
.team-intro h1 {
  margin: .22em 0 .24em;
  font: 700 clamp(52px,7.1vw,112px)/.92 Display, Impact, sans-serif;
  letter-spacing: -.023em;
  text-transform: uppercase;
}
.team-intro em { display: inline-block; color: var(--ink); font-style: normal; transform: skewX(-7deg); transform-origin: bottom left; }
.team-intro > p { font-size: clamp(16px,1.45vw,21px); line-height: 1.45; max-width: 36ch; }
.team-links { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 20px; margin-top: 20px; }
.team-links .btn { background: var(--blue); color: var(--paper); border-color: transparent; border-radius: 3px; }
.team-links > a:last-child, .camp-jumps a {
  display: inline-flex; align-items: center; min-height: 44px; gap: 6px;
  text-decoration: underline; text-underline-offset: 5px; font-weight: 800; font-size: 14px; color: var(--blue);
}
.team-links .ico { width: 17px; height: 17px; }
.team-location { display: flex; align-items: center; gap: 5px; margin-top: 14px; color: var(--muted); font-size: 13px; font-weight: 750; }
.team-location .ico { width: 15px; height: 15px; }
.team-call { margin: 0; min-width: 0; }
.team-call .hero-kit-frame { aspect-ratio: 1.5; }
.team-call figcaption {
  display: grid; grid-template-columns: auto 1fr; gap: 0 12px; align-items: center;
  width: fit-content; margin: 9px auto 0; transform: rotate(-2deg);
}
.team-call figcaption strong {
  grid-column: 1; grid-row: 1 / 3; padding: 3px 9px;
  background: var(--lime); color: var(--ink); font: 700 clamp(22px,2.5vw,36px)/1 Display, sans-serif;
}
.team-call figcaption span { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--cream); }
.team-call figcaption p { font-weight: 750; font-size: 13px; }
.team-stations .section-title { font-size: clamp(37px,4.6vw,70px); line-height: .97; margin: 9px 0 22px; }
.team-stations .station-grid { grid-template-columns: 1.18fr 1fr; align-items: start; }
.team-stations .station-card { display: grid; border-radius: 0; background: var(--ink); overflow: hidden; }
.team-stations .station-field { background: var(--blue); }
.station-card .station-card-copy { padding: 13px 16px 14px; border-top: 3px solid var(--station-mark); }
.station-card .plate-number { background: transparent; color: var(--station-mark); width: auto; height: auto; clip-path: none; padding: 0 8px 0 0; border-right: 1px solid var(--blue); }
.station-card .station-card-title { margin: 4px 0; }
.station-card .station-card-title h3 { font-size: clamp(36px,4.6vw,62px); }
.station-card .station-photo { aspect-ratio: 1024 / 508; display: block; height: auto; width: 100%; }
.hit-film { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; background: var(--ink); }
.film-cell { margin: 0; min-width: 0; }
.film-cell img { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.film-cell figcaption {
  display: flex; align-items: baseline; gap: 6px; padding: 8px 9px;
  line-height: 1.15; color: var(--cream);
}
.film-id { color: var(--lime); font: 700 15px/1 Display, sans-serif; }
.film-cell figcaption strong { font-size: 14px; }
.film-cell p { padding: 0 9px 12px; color: var(--cream); font-size: 14px; line-height: 1.45; }
.station-sheet > .hit-film { width: min(94%, 860px); margin-inline: auto; }
.station-sheet { border-radius: 0; }
.station-sheet .sheet-head { background: var(--ink); }
.station-sheet.station-field .sheet-head { background: var(--blue); }
.rep-cue { background: var(--soft); margin-top: 10px; }
.variation-copy { padding: 13px 14px 15px; border-left: 3px solid var(--blue); }
.variation-visual > img { width: 100%; height: auto; display: block; }
.swing-board { background: var(--ink); color: var(--cream); display: flex; align-items: center; justify-content: center; gap: 6px; padding: 3px 12px; }
.swing-board svg { width: 50%; max-height: 86px; }
.swing-board span { font: 700 clamp(18px,2.6vw,27px)/1 Display,sans-serif; text-transform: uppercase; }
.camp-page .camp-lead, .merch-page .merch-intro {
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(16px,4vw,60px);
}
.camp-lead h1, .merch-page .merch-intro h1 { color: var(--ink); font-size: clamp(44px,6vw,90px); line-height: .96; }
.camp-lead figure, .merch-intro figure { margin: 0; min-width: 0; }
.camp-jumps { display: flex; gap: 20px; margin-top: 6px; }
.camp-cue-photo img, .merch-intro figure img { display: block; width: 100%; height: auto; }
.camp-cue-photo figcaption, .merch-intro figcaption {
  background: var(--ink); color: var(--cream); padding: 8px 11px;
  font-size: 13px; line-height: 1.4;
}
.camp-cue-photo b, .merch-intro figcaption span { color: var(--paper); margin-right: 5px; }
.camp-cue-photo small { display: block; color: color-mix(in srgb, var(--ink) 20%, var(--paper)); font-size: 10px; }
.merch-intro .text-link { margin-top: 7px; min-height: 44px; }
.merch-intro figure { width: min(100%, 470px); justify-self: end; }
.gear-availability { margin-block: 7px 12px; color: var(--muted); font-size: 14px; }
.recap-strip .recap-paper { border-radius: 0; border-top: 4px solid var(--ink); border-left: 1px solid var(--line); }
.recap-paper > .eyebrow { color: var(--blue); }
@media (max-width: 700px) {
  .team-masthead { grid-template-columns: 1fr; gap: 15px; padding-block: 22px 23px; }
  .team-intro h1 { font-size: clamp(48px,12.8vw,74px); }
  .team-intro > p { font-size: 16px; max-width: 40ch; }
  .team-links { margin-top: 12px; gap: 5px 14px; }
  .team-links .btn { min-height: 44px; padding: 9px 15px; }
  .team-location { margin-top: 9px; }
  .team-kicker { font-size: 10px; letter-spacing: .07em; }
  .team-call .hero-kit-frame { max-width: 470px; margin-inline: auto; }
  .team-call figcaption { margin-top: 5px; }
  .team-stations .station-grid, .camp-page .camp-lead, .merch-page .merch-intro { grid-template-columns: 1fr; }
  .team-stations .station-grid { gap: 20px; }
  .team-stations .station-card-copy { padding: 10px 12px; }
  .home-workouts.team-stations { padding-block: 29px; }
  .station-card p { font-size: 14px; }
  .station-sheet > .hit-film { width: calc(100% - 18px); }
  .film-cell figcaption { padding: 8px 7px; }
  .film-cell p { font-size: 13px; padding: 0 7px 9px; }
  .camp-page .camp-lead, .merch-page .merch-intro { padding-block: 24px 17px; }
  .camp-lead h1, .merch-page .merch-intro h1 { max-width: none; margin: 8px 0; }
  .merch-intro figure { justify-self: start; }
}
@media(max-width:355px) {
  .team-links { gap: 5px 10px; }
  .team-links > a { font-size: 13px; }
  .team-kicker::before { width: 18px; }
}

/* Warm paper, cobalt ink and the lime stroke from the PILAS mark. */
.club-opening { background: var(--cream); color: var(--ink); border-bottom: 0; }
.club-opening .team-kicker, .club-opening .team-location { color: var(--ink); }
.club-opening .team-kicker::before { background: var(--blue); }
.team-masthead { padding-block: clamp(24px,4vw,58px); }
.team-intro h1 { font-size: clamp(58px,7.3vw,112px); }
.team-intro h1 em { position: relative; isolation: isolate; color: var(--ink); }
.team-intro h1 em::after { position: absolute; content: ""; z-index: -1; background: var(--blue); left: 21%; right: -2%; bottom: -.05em; height: .12em; border-radius: 90% 20% 40% 10%; transform: rotate(-2deg); }
.team-links .btn { background: var(--blue); color: var(--paper); }
.team-links .btn:hover { background: var(--ink); color: var(--paper); }
.partner-cover { min-width: 0; margin: 0; position: relative; padding: 0 5px 9px 0; }
.partner-image { position: relative; isolation: isolate; }
.partner-image::before { content: ""; position: absolute; inset: 8px -5px -7px 7px; border-radius: 45% 21% 14% 9% / 12% 23% 15% 8%; background: var(--ink); transform: rotate(.7deg); z-index:-1; }
.partner-image img { display:block; width:100%; height:auto; border-radius: 11% 24% 12% 7% / 11% 16% 17% 8%; }
.partner-cover figcaption { position:absolute; bottom:2%; left:4%; padding:5px 11px; background:var(--cream); color:var(--ink); box-shadow:2px 2px 0 var(--blue); transform:rotate(-2deg); font-weight:750; font-size:13px; }
.partner-cover figcaption b { font:700 17px/1 Display,sans-serif; color:var(--blue); margin-right:5px; text-transform:uppercase; }
.team-stations { border-top:1px solid var(--line); }
.club-directory { background:var(--ink); color:var(--paper); padding-block:clamp(22px,3vw,40px); }
.club-directory .team-kicker::before { background:var(--paper); }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:16px; }
.directory-grid a { color:var(--paper); position:relative; border-top:1px solid var(--blue); padding:14px 28px 8px 0; }
.directory-grid a > span { font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--paper); }
.directory-grid h3, .motion-teaser h2 { margin:3px 0; font:700 clamp(26px,3.5vw,47px)/1.03 Display,sans-serif; text-transform:uppercase; }
.directory-grid p { font-size:14px; line-height:1.4; }
.directory-grid .ico { position:absolute; top:17px; right:0; width:19px; }
.directory-grid a:hover h3 { text-decoration:underline; text-underline-offset:3px; }
.motion-teaser { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(20px,5vw,60px); padding-block:clamp(28px,4vw,60px); }
.motion-teaser .scan-brand { display:block; width:120px; height:auto; margin-bottom:12px; }
.motion-teaser p { max-width:44ch; margin:9px 0; }
.motion-preview { display:block; position:relative; background:var(--ink); }
.motion-preview img { width:100%; height:auto; display:block; }
.motion-preview span { display:block; color:var(--paper); padding:6px 12px; font-size:12px; }
.rep-picture { position:relative; }
.rep-picture img { width:100%; display:block; height:auto; }
.turn-cue, .point-cue { position:absolute; pointer-events:none; fill:none; stroke:var(--lime); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 1px 1px var(--ink)); }
.turn-cue { width:23%; height:23%; paint-order: stroke fill; }
.turn-cue-0 { left:69%; top:49%; }
.turn-cue-1 { left:28%; top:40%; }
.point-cue { right:12%; top:16%; width:10%; stroke:var(--blue); filter:drop-shadow(0 1px 1px var(--paper)); }
.club-pinboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:clamp(13px,2.6vw,38px); padding:clamp(17px,3vw,38px); background:var(--line); border-left:6px solid var(--blue); }
.practice-roll .roll-heading h2 { margin:5px 0; }
.club-pinboard figure { position:relative; margin:0; padding:8px 8px 12px; background:var(--cream); box-shadow:0 2px 5px color-mix(in srgb, var(--ink) 20%, transparent); transform:rotate(-1deg); }
.club-pinboard figure:nth-child(2) { transform:rotate(1.3deg); }
.club-pinboard figure::before { content:""; position:absolute; width:28px; height:8px; top:0; left:45%; background:var(--blue); transform:rotate(-8deg); }
.club-pinboard img { display:block; width:100%; height:auto; }
.club-pinboard figcaption { padding:8px 2px 0; line-height:1.35; }
.club-pinboard b { display:block; color:var(--blue); font:700 20px/1.1 Display,sans-serif; text-transform:uppercase; }
.club-pinboard span { display:block; font-size:14px; margin-top:3px; }
.tee-in-use { margin:0 0 16px; background:var(--ink); color:var(--paper); display:flex; align-items:center; }
.tee-in-use img { display:block; width:min(55%,540px); height:auto; }
.tee-in-use figcaption { padding:14px; font-size:14px; }
.tee-in-use strong { display:block; color:var(--paper); font:700 clamp(20px,3vw,38px)/1.1 Display,sans-serif; text-transform:uppercase; }
@media(max-width:700px) {
  .team-masthead { padding-block:21px 26px; gap:19px; }
  .team-intro h1 { font-size:clamp(45px,12.7vw,75px); }
  .directory-grid { grid-template-columns:1fr; gap:0; }
  .directory-grid a { padding:10px 30px 10px 0; }
  .directory-grid a h3 { font-size:25px; }
  .motion-teaser { grid-template-columns:1fr; gap:12px; }
  .club-pinboard { grid-template-columns:1fr; }
  .club-pinboard figure { width:min(100%,440px); margin-inline:auto; }
}

.frisco-signup { max-width:1050px; }
.frisco-signup > header { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:12px; }
.frisco-signup > header a:last-child { font-size:14px; font-weight:800; padding:12px 0; text-decoration:underline; text-underline-offset:4px; }
.frisco-signup .interest-grid { align-items:start; gap:clamp(18px,4vw,58px); }
.frisco-signup .interest-grid > section:first-child { background:transparent; padding:20px 0 0; border:0; }
.frisco-signup .interest-grid > section:last-child { border:1px solid var(--line); border-top:5px solid var(--blue); border-radius:5px; background:var(--cream); }
.frisco-signup .interest-grid h1 { margin:10px 0 14px; font:700 clamp(44px,6vw,88px)/.94 Display,sans-serif; text-transform:uppercase; }
.frisco-signup .signup-facts { border-left:4px solid var(--blue); padding-left:12px; }
.frisco-signup .pilot-form button { background:var(--blue); color:var(--paper); border-color:var(--blue); border-radius:4px; min-height:44px; }
.frisco-signup .pilot-form input[type=email] { font-size:16px; min-height:44px; }
.frisco-signup a:focus-visible, .club-opening a:focus-visible, .club-directory a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.question-list { padding:0 0 clamp(24px,4vw,52px); }
.family-question { border-top:1px solid var(--line); }
.family-question:last-child { border-bottom:1px solid var(--line); }
.family-question summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:50px; padding:11px 2px; font-weight:800; cursor:pointer; }
.family-question summary::-webkit-details-marker { display:none; }
.family-question summary::after { content:"+"; font-size:23px; color:var(--blue); }
.family-question[open] summary::after { content:"−"; }
.family-question > div { padding:0 24px 16px 2px; max-width:72ch; }
.family-question p + p { margin-top:7px; }
.family-question a { text-decoration:underline; text-underline-offset:3px; color:var(--blue); }
