/* Shared layout for the supporting pages. */
.inner-content { padding-top:150px; padding-bottom:72px; min-height:72vh; }
.page-intro { max-width:780px; margin-bottom:44px; }
.page-intro h1 { font-size:clamp(44px,6vw,72px); font-weight:400; line-height:1.05; letter-spacing:-.045em; }
.page-intro>p:last-child { max-width:710px; margin-top:24px; color:var(--muted); font-size:17px; line-height:1.8; }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.two-column,.tournament-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.resource-card,.tournament-panel { min-width:0; border:1px solid var(--line); border-radius:28px; padding:32px; background:linear-gradient(140deg,#75539324,#21113555); }
.resource-card { display:flex; flex-direction:column; align-items:flex-start; }
.page-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:30px; border-radius:15px; background:#b195d31c; color:var(--lavender); }
.page-icon svg { width:26px; height:26px; }
.resource-card h2,.tournament-information h2,.section-title h2 { font-size:clamp(25px,3vw,32px); font-weight:400; letter-spacing:-.025em; line-height:1.2; }
.resource-card>p { margin:16px 0 32px; color:var(--muted); line-height:1.7; overflow-wrap:anywhere; }
.resource-card .text-link { margin-top:auto; font-size:16px; }
.resource-card .text-link span { transition:transform .25s ease; }
.resource-card .text-link:hover span { transform:translate(2px,-2px); }
.tournament-grid { display:grid; gap:20px; }
.division-label { display:inline-block; padding:7px 14px; margin-bottom:26px; border-radius:99px; background:#bca1df24; color:var(--lavender); font-size:15px; }
.tournament-panel h2 { font-size:clamp(27px,3.4vw,40px); font-weight:400; letter-spacing:-.035em; line-height:1.2; }
.tournament-panel>p:last-child { margin-top:18px; color:var(--muted); line-height:1.7; }
.tournament-information { padding:42px 0; margin:20px 0 12px; border-bottom:1px solid var(--line); }
.tournament-information>p { margin:18px 0 24px; color:var(--muted); line-height:1.7; }
.section-title { margin:32px 0 24px; }
.site-header a[aria-current="page"] { color:white; }
.about-motion [data-enter] { opacity:0; transform:translateY(32px); transition:opacity .7s cubic-bezier(.25,.1,.25,1) var(--enter-delay,0ms),transform .85s cubic-bezier(.25,.1,.25,1) var(--enter-delay,0ms); }
.about-motion [data-enter].has-entered { opacity:1; transform:none; }
@media(max-width:900px) { .resource-grid:not(.two-column) { grid-template-columns:1fr; } .resource-card { padding:28px; } .page-icon { margin-bottom:22px; } }
@media(max-width:650px) { .inner-content { padding-top:110px; padding-bottom:40px; } .page-intro { margin-bottom:30px; } .page-intro>p:last-child { font-size:16px; margin-top:20px; } .two-column,.tournament-grid { grid-template-columns:1fr; } .resource-card,.tournament-panel { padding:25px; border-radius:24px; } .tournament-information { padding:30px 0; } }
@media(prefers-reduced-motion:reduce) { .about-motion [data-enter] { opacity:1; transform:none; transition:none; } }

/* Get Involved: introduction beside a simple, ruled list of resources. */
.involvement-layout {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(48px,8vw,112px);
  align-items:start;
  padding-bottom:100px;
}
.involvement-layout .page-intro { margin:0; max-width:460px; }
.involvement-layout .page-intro h1 { font-size:clamp(40px,5vw,62px); }
.involvement-layout .page-intro>p:last-child { margin-top:30px; font-size:17px; line-height:1.85; }
.involvement-options { min-width:0; }
.involvement-option { padding:30px 0; }
.involvement-option:first-child { padding-top:0; }
.involvement-option+.involvement-option { border-top:1px solid var(--line); }
.involvement-option h2 { margin:0; color:var(--lavender); font-size:21px; font-weight:400; line-height:1.4; }
.involvement-option p { margin:12px 0 8px; color:var(--text); font-size:16px; line-height:1.7; }
.involvement-option .text-link { padding:6px 0; font-size:16px; font-weight:400; text-underline-offset:6px; }
.involvement-option .text-link:hover { text-decoration:underline; }
@media(max-width:800px) {
  .involvement-layout { grid-template-columns:1fr; gap:42px; padding-bottom:56px; }
  .involvement-layout .page-intro { max-width:600px; }
  .involvement-layout .page-intro>p:last-child { margin-top:24px; }
  .involvement-option { padding:26px 0; }
}

/* Dates read as a short schedule, without boxed surfaces. */
.invitational-schedule { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.invitational-date-row { display:grid; grid-template-columns:minmax(160px,.6fr) minmax(0,1fr); align-items:center; gap:32px; padding:30px 0; }
.invitational-date-row+.invitational-date-row { border-top:1px solid var(--line); }
.invitational-date-row h2 { color:var(--lavender); font-size:24px; font-weight:400; line-height:1.3; }
.invitational-date-row p { margin-top:8px; color:var(--muted); font-size:15px; }
.invitational-date-row time { font-size:clamp(29px,4vw,48px); font-weight:400; line-height:1.2; letter-spacing:-.025em; }

/* Contact shares the open, ruled treatment with Get Involved. */
.contact-split { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,96px); align-items:start; }
.contact-split .page-intro { margin:0; }
.contact-split .page-intro h1 { font-size:clamp(40px,5vw,62px); }
.contact-split .page-intro>p:last-child { margin-top:30px; font-size:17px; line-height:1.85; }
.contact-details { min-width:0; }
.contact-detail { padding:30px 0; }
.contact-detail:first-child { padding-top:0; }
.contact-detail+.contact-detail { border-top:1px solid var(--line); }
.contact-detail h2 { color:var(--lavender); font-size:21px; line-height:1.4; font-weight:400; margin-bottom:16px; }
.contact-email { display:inline-block; font-size:clamp(18px,2.1vw,25px); line-height:1.6; overflow-wrap:anywhere; text-underline-offset:6px; }
.contact-email:hover { text-decoration:underline; }
.contact-detail p { color:var(--text); font-size:16px; line-height:1.7; }
.contact-detail .text-link { margin-top:10px; font-size:16px; }
@media(max-width:800px) {
  .contact-split { grid-template-columns:1fr; gap:42px; }
}
@media(max-width:500px) {
  .invitational-date-row { grid-template-columns:1fr; gap:18px; padding:26px 0; }
  .invitational-date-row time { font-size:32px; }
}
