/* SuffolkXC homepage */
.hp-hero{position:relative;margin:0 calc(50% - 50vw);padding:72px calc(50vw - 50%) 64px;background:#142d28;color:#fff;overflow:hidden}
.hp-hero::before{content:'';position:absolute;inset:0;opacity:.18;background:
  repeating-radial-gradient(ellipse 60% 45% at 78% 30%,transparent 0 22px,#e6f396 22px 23px),
  repeating-radial-gradient(ellipse 50% 40% at 20% 110%,transparent 0 26px,#8fb8a2 26px 27px);pointer-events:none}
.hp-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#142d28 25%,#142d28cc 55%,transparent);pointer-events:none}
.hp-hero-inner{position:relative;z-index:1;max-width:720px}
.hp-kicker{margin:0 0 14px;font-size:12px;font-weight:bold;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#e6f396)}
.hp-hero h1{margin:0 0 18px;font-size:clamp(40px,7vw,78px);line-height:.95;letter-spacing:-.02em;color:#fff}
.hp-lede{font-size:clamp(16px,2vw,19px);line-height:1.5;color:#d6e2dc;margin:0 0 28px;max-width:56ch}
.hp-actions{display:flex;gap:10px;flex-wrap:wrap}
.hp-btn{display:inline-block;padding:12px 18px;border-radius:8px;background:var(--accent,#e6f396);color:#142d28;font-weight:bold;font-size:14px;text-decoration:none;border:2px solid var(--accent,#e6f396)}
.hp-btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.hp-hero .hp-btn.ghost{color:#fff;border-color:#ffffff66}
.hp-btn:hover{filter:brightness(1.05)}
.hp-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 56px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:#fff}
.hp-stats div{padding:18px 16px;border-right:1px solid var(--line)}
.hp-stats div:last-child{border-right:0}
.hp-stats b{display:block;font-size:28px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.hp-stats span{font-size:12px;color:var(--muted)}
.hp-section{margin:0 0 56px}
.hp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:18px}
.hp-head h2{margin:0;font-size:28px}
.hp-head a{font-size:13px;font-weight:bold;color:var(--green);text-decoration:none}
.hp-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hp-story{display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.hp-story:hover{transform:translateY(-2px);box-shadow:0 10px 24px #142d2818}
.hp-date{font-size:11px;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hp-story h3{margin:8px 0 8px;font-size:18px;line-height:1.25}
.hp-story p{margin:0 0 14px;font-size:14px;line-height:1.5;color:#3b4d46;flex:1}
.hp-more{font-size:13px;font-weight:bold;color:var(--green)}
.hp-champ-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hp-panel{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.hp-panel h3{margin:0 0 10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hp-list{list-style:none;margin:0;padding:0}
.hp-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.hp-list li:last-child{border-bottom:0}
.hp-list li span{color:var(--muted);font-size:12px;white-space:nowrap}
.hp-rank{counter-reset:r}
.hp-rank li{counter-increment:r}
.hp-rank li b::before{content:counter(r);display:inline-block;width:22px;color:var(--muted);font-weight:normal}
.hp-courses{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:0 0 56px;padding:36px;border-radius:16px;background:#f2f4ee;border:1px solid var(--line)}
.hp-courses h2{margin:0 0 12px;font-size:32px;line-height:1.1}
.hp-courses .hp-kicker{color:var(--green)}
.hp-courses p{font-size:15px;line-height:1.55;margin:0 0 18px;color:#33463f}
.hp-course-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:0 0 18px}
.hp-course-card h3{margin:0 0 8px;font-size:16px}
.hp-course-card dl{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0}
.hp-course-card dt{font-size:11px;color:var(--muted)}.hp-course-card dd{margin:2px 0 0;font-weight:bold;font-size:17px}
.hp-courses .hp-btn.ghost{color:#142d28}
.hp-courses-img{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 30px #142d281f;background:#fff}
.hp-courses-img img{display:block;width:100%;height:auto}
.hp-meets{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.hp-meet{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.hp-meet:last-child{border-bottom:0}
.hp-meet:hover{background:#f5f6f3}
.hp-meet span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.hp-meet i{font-style:normal;color:var(--green)}
.hp-explore{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hp-explore a{position:relative;display:block;padding:22px 22px 22px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .15s}
.hp-explore a:hover{border-color:var(--green)}
.hp-explore h3{margin:0 0 6px;font-size:18px}
.hp-explore p{margin:0;font-size:14px;color:var(--muted);padding-right:24px}
.hp-explore span{position:absolute;right:20px;top:22px;color:var(--green);font-weight:bold}
@media(max-width:1000px){.hp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hp-stats div:nth-child(3){border-right:0}.hp-stats div:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .hp-champ-grid{grid-template-columns:1fr 1fr}.hp-stories{grid-template-columns:1fr}.hp-courses{grid-template-columns:1fr}.hp-explore{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hp-hero{padding-top:48px;padding-bottom:44px}.hp-stats{grid-template-columns:1fr 1fr}.hp-stats div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.hp-stats div:nth-child(2n){border-right:0!important}
  .hp-champ-grid,.hp-explore{grid-template-columns:1fr}.hp-courses{padding:22px}.hp-meet{grid-template-columns:1fr auto}.hp-meet span{grid-column:1/-1}}
/* SuffolkTF home page: same layout in the track colours */
.tf .hp-hero{background:#182d43}
.tf .hp-hero::before{background:repeating-linear-gradient(105deg,transparent 0 46px,#ffb66f 46px 48px),repeating-linear-gradient(105deg,transparent 0 140px,#8fa9c4 140px 141px);opacity:.14}
.tf .hp-hero::after{background:linear-gradient(90deg,#182d43 25%,#182d43cc 55%,transparent)}
.tf .hp-btn{color:#182d43}
.tf .hp-hero .hp-btn.ghost{color:#fff}
.tf .hp-story:hover{box-shadow:0 10px 24px #182d4318}
.tf-grid2{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
.tf-champs li,.tf-records li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"ev ev" "name name" "meta meta";gap:1px 10px;padding:9px 0}
.tf-champs li span,.tf-records li span{grid-area:ev;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.tf-champs li b,.tf-records li b{grid-area:name;font-size:15px}
.tf-champs li em,.tf-records li em{grid-area:meta;font-style:normal;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.tf-champs a,.tf-records a,.hp-rank a{color:var(--ink);text-decoration:none}
.tf-champs a:hover,.tf-records a:hover,.hp-rank a:hover{color:var(--green);text-decoration:underline}
.tf-champs em a{color:var(--muted)}
.tf-champs{max-height:520px;overflow:auto}
.tf-more{display:inline-block;margin-top:10px;font-size:13px;font-weight:bold;color:var(--green)}
@media(max-width:1000px){.tf-grid2{grid-template-columns:1fr}}
.tf-note{margin:-6px 0 16px;font-size:14px;color:var(--muted)}
.tf-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.tf-grid3{grid-template-columns:1fr}}
.hp-meets-more{margin-top:16px}
.hp-list b a{color:inherit;text-decoration:none}
.hp-list b a:hover{color:var(--green);text-decoration:underline}
