.elementor-11538 .elementor-element.elementor-element-e2d26a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-bf366f2 */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

 :root {
      --pink:        #b5006e;
      --pink-dark:   #8c0054;
      --pink-light:  #d4007f;
      --pink-pale:   #fce4f3;
      --yellow:      #f9c800;
      --yellow-dark: #d4a900;
      --yellow-pale: #fffbe6;
      --white:       #ffffff;
      --off-white:   #fdf6fb;
      --text:        #2a2a2a;
      --text-light:  #555;
      --border:      #f0cce6;
      --font-h:      'Montserrat', sans-serif;
      --font-b:      'Open Sans', sans-serif;
    }

    /* ── Page Title Banner ── */
    .page-title-bar {
      background: var(--pink);
      padding: 28px 24px 26px;
    }
    .page-title-inner {
      max-width: 1080px;
      margin: 0 auto;
    }
    .breadcrumb {
      font-family: var(--font-h);
      font-size: .68rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: rgba(255,255,255,.65);
      margin-bottom: 8px;
    }
    .breadcrumb a { color: rgba(255,255,255,.65); text-decoration: none; }
    .breadcrumb a:hover { color: #fff; }
    .breadcrumb span { margin: 0 6px; }
    .page-title-bar h1 {
      font-family: var(--font-h);
      font-size: clamp(1.25rem, 3vw, 1.75rem);
      font-weight: 800;
      color: #fff;
      line-height: 1.25;
      margin: 0;
    }
    .page-title-bar .sub {
      font-size: .85rem;
      color: rgba(255,255,255,.78);
      font-style: italic;
      margin-top: 6px;
    }

    /* ── Layout ── */
    .page-body {
      max-width: 1080px;
      margin: 44px auto;
      padding: 0 24px;
      display: grid;
      grid-template-columns: 1fr 290px;
      gap: 36px;
      align-items: start;
    }
    @media (max-width: 800px) {
      .page-body { grid-template-columns: 1fr; }
      .sidebar { order: -1; }
    }

    /* ── Article Card ── */
    .article-card {
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 2px 24px rgba(181,0,110,.08);
      overflow: hidden;
    }
    .article-body { padding: 40px 44px; }
    @media (max-width: 580px) { .article-body { padding: 24px 18px; } }

    .article-section { margin-bottom: 38px; }

    .section-title {
      font-family: var(--font-h);
      font-size: 1.15rem;
      font-weight: 800;
      color: var(--pink);
      margin-bottom: 14px;
      padding-bottom: 10px;
      border-bottom: 3px solid var(--yellow);
      letter-spacing: -.01em;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .sec-icon {
      width: 28px;
      height: 28px;
      background: var(--pink);
      border-radius: 6px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .sec-icon svg { color: #fff; }

    p { margin-bottom: 15px; font-size: .96rem; color: #333; line-height: 1.85; }
    p:last-child { margin-bottom: 0; }

    /* highlight / pull quote */
    .highlight {
      background: var(--pink-pale);
      border-left: 4px solid var(--pink);
      border-radius: 0 8px 8px 0;
      padding: 16px 20px;
      margin: 24px 0;
      font-size: .93rem;
      color: var(--pink-dark);
      font-style: italic;
      line-height: 1.75;
    }

    /* image placeholder */
    .img-ph {
      background: linear-gradient(135deg, #fce4f3, #fdeef9);
      border: 2px dashed #e07cc0;
      border-radius: 10px;
      padding: 32px 20px;
      text-align: center;
      margin: 28px 0;
      color: var(--pink);
      font-family: var(--font-h);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .04em;
    }
    .img-ph svg { display: block; margin: 0 auto 10px; opacity: .45; }

    /* map placeholder */
    .map-ph {
      background: linear-gradient(135deg, #fff8e1, #fffde7);
      border: 2px dashed var(--yellow-dark);
      border-radius: 10px;
      padding: 32px 20px;
      text-align: center;
      margin: 24px 0;
      color: var(--pink-dark);
      font-family: var(--font-h);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .03em;
    }
    .map-ph a {
      display: inline-block;
      margin-top: 10px;
      background: var(--pink);
      color: #fff;
      padding: 8px 20px;
      border-radius: 20px;
      text-decoration: none;
      font-size: .76rem;
      font-weight: 700;
    }

    /* marathon callout */
    .marathon-box {
      background: linear-gradient(135deg, var(--pink-dark), var(--pink));
      border-radius: 12px;
      padding: 26px 26px;
      margin: 28px 0;
      color: #fff;
    }
    .marathon-box h3 {
      font-family: var(--font-h);
      font-size: .9rem;
      font-weight: 800;
      color: var(--yellow);
      text-transform: uppercase;
      letter-spacing: .08em;
      margin-bottom: 10px;
    }
    .marathon-box p { color: rgba(255,255,255,.85); font-size: .88rem; margin: 0; }
    .mstats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 18px;
    }
    @media (max-width: 480px) { .mstats { grid-template-columns: 1fr 1fr; } }
    .mstat {
      background: rgba(255,255,255,.1);
      border-radius: 8px;
      padding: 12px 8px;
      text-align: center;
    }
    .mstat strong {
      display: block;
      font-family: var(--font-h);
      font-size: 1.45rem;
      font-weight: 800;
      color: var(--yellow);
    }
    .mstat span { font-size: .66rem; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .05em; line-height: 1.3; display: block; margin-top: 2px; }

    /* ── Sidebar ── */
    .sidebar { display: flex; flex-direction: column; gap: 22px; }
    .s-card {
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 2px 16px rgba(181,0,110,.08);
      overflow: hidden;
    }
    .s-head {
      background: var(--pink);
      color: #fff;
      font-family: var(--font-h);
      font-size: .72rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .1em;
      padding: 11px 16px;
    }
    .s-body { padding: 16px; }
    .qfact {
      display: flex;
      gap: 11px;
      align-items: flex-start;
      padding: 9px 0;
      border-bottom: 1px solid var(--border);
    }
    .qfact:last-child { border-bottom: none; padding-bottom: 0; }
    .fi {
      width: 30px; height: 30px;
      border-radius: 7px;
      background: var(--pink-pale);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      color: var(--pink);
    }
    .fl { font-size: .65rem; color: #999; text-transform: uppercase; letter-spacing: .05em; font-family: var(--font-h); font-weight: 600; }
    .fv { font-size: .84rem; font-weight: 600; color: var(--text); line-height: 1.3; }

    /* sports tags */
    .tags { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 16px 16px; }
    .tag {
      background: var(--yellow-pale);
      color: var(--pink-dark);
      border: 1px solid var(--yellow);
      border-radius: 20px;
      padding: 4px 12px;
      font-size: .71rem;
      font-family: var(--font-h);
      font-weight: 700;
      letter-spacing: .03em;
    }

    /* CTA */
    .cta-card {
      background: linear-gradient(135deg, var(--pink-dark), var(--pink-light));
      border-radius: 12px;
      padding: 22px 18px;
      text-align: center;
      color: #fff;
    }
    .cta-card img { height: 54px; width: 54px; border-radius: 50%; border: 2px solid var(--yellow); margin-bottom: 10px; object-fit: cover; }
    .cta-card h4 { font-family: var(--font-h); font-size: .86rem; font-weight: 800; margin-bottom: 7px; }
    .cta-card p { font-size: .75rem; color: rgba(255,255,255,.82); margin-bottom: 14px; line-height: 1.5; }
    .btn-cta {
      display: inline-block;
      background: var(--yellow);
      color: var(--pink-dark);
      font-family: var(--font-h);
      font-weight: 800;
      font-size: .74rem;
      text-transform: uppercase;
      letter-spacing: .06em;
      padding: 9px 20px;
      border-radius: 22px;
      text-decoration: none;
    }

    /* USF watermark branding at bottom */
    .page-brand {
      text-align: center;
      padding: 28px 24px 36px;
      font-family: var(--font-h);
      font-size: .72rem;
      color: #bbb;
      letter-spacing: .04em;
    }
    .page-brand a { color: var(--pink); text-decoration: none; font-weight: 700; }

    /* ── Stadium Gallery ── */
    .stadium-gallery { margin: 28px 0; }
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-auto-rows: 200px;
      gap: 10px;
    }
    .gi-wide { grid-column: span 2; grid-row-span: 1; height: 260px; }
    .gallery-item { border-radius: 10px; overflow: hidden; }
    .gph {
      width: 100%; height: 100%;
      display: flex; align-items: center; justify-content: center;
      border-radius: 10px;
      border: 1.5px dashed rgba(249,200,0,.3);
    }
    .gph-inner { text-align: center; padding: 16px; }
    .gph-inner p { color: rgba(255,255,255,.8); font-family: var(--font-h); font-size: .75rem; font-weight: 700; margin: 8px 0 4px; letter-spacing: .03em; }
    .gph-inner span { color: rgba(255,255,255,.35); font-size: .65rem; font-style: italic; }
    .gph-caption {
      position: absolute; bottom: 0; left: 0; right: 0;
      background: linear-gradient(transparent, rgba(0,0,0,.65));
      color: #fff; font-family: var(--font-h); font-size: .72rem; font-weight: 700;
      padding: 20px 14px 10px; letter-spacing: .03em;
    }
    @media (max-width: 520px) {
      .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 160px; }
      .gi-wide { grid-column: span 1; height: 200px; }
    }/* End custom CSS */