:root {
  --ink: #111621;
  --navy: #111b31;
  --blue: #1f5faa;
  --blue-soft: #e8f0fa;
  --red: #b42c33;
  --red-soft: #fae9e9;
  --paper: #f5f4f0;
  --white: #fff;
  --muted: #69707d;
  --line: #d8d8d3;
  --gold: #c7a35d;
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
button, a { font: inherit; }
a { color: inherit; }

.site-header {
  height: 76px;
  padding: 0 clamp(24px, 4vw, 64px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  color: var(--white);
  background: var(--navy);
  border-bottom: 1px solid rgba(255,255,255,.16);
  position: relative;
  z-index: 10;
}
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; letter-spacing: .02em; }
.brand-mark { width: 36px; height: 36px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 21px; }
.site-header .brand-mark { width: 40px; height: 40px; overflow: hidden; color: transparent; background: url('/reloaders-mark.png') center / 68px auto no-repeat; border: 0; border-radius: 0; font-size: 0; }
.site-header nav { display: flex; gap: 32px; }
.site-header nav a { color: rgba(255,255,255,.8); text-decoration: none; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: white; }
.edition { justify-self: end; color: rgba(255,255,255,.62); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; }

.hero {
  min-height: 650px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(440px, .85fr);
  grid-template-rows: 1fr auto;
  color: var(--white);
  background: #20344f;
  overflow: hidden;
}
.hero-photo { position: absolute; inset: 0; background-image: url('/photos/atlantic-course.webp'); background-size: cover; background-position: center 52%; transform: scale(1.015); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,18,34,.93) 0%, rgba(9,18,34,.76) 43%, rgba(9,18,34,.18) 72%, rgba(9,18,34,.38) 100%), linear-gradient(0deg, rgba(7,14,27,.58), transparent 52%); }
.hero-copy { position: relative; z-index: 1; align-self: center; padding: 86px 5vw 52px; max-width: 830px; }
.eyebrow, .section-kicker { margin: 0 0 18px; font-size: .78rem; line-height: 1; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow { color: #d5c18f; }
.hero h1 { margin: 0; font: 400 clamp(4.4rem, 7.2vw, 7.4rem)/.89 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.standfirst { max-width: 650px; margin: 32px 0 0; color: rgba(255,255,255,.82); font-size: 1.16rem; line-height: 1.7; }
.hero-score {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  margin-right: 5vw;
  width: min(520px, 88%);
  display: grid;
  grid-template-columns: 1fr 92px 1fr;
  align-items: stretch;
  background: rgba(9,15,28,.82);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.24);
}
.score-side { padding: 30px 24px 28px; text-align: center; border-top: 5px solid; }
.score-side.backs { border-color: #4687d2; }
.score-side.forwards { border-color: #d94c54; }
.team-label { display: block; font-size: .76rem; letter-spacing: .18em; text-transform: uppercase; }
.score-side strong { display: block; margin-top: 8px; font: 400 5rem/1 Georgia, serif; }
.score-divider { align-self: center; display: grid; justify-items: center; gap: 3px; color: rgba(255,255,255,.55); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.score-divider::before { content: ""; width: 1px; height: 20px; background: rgba(255,255,255,.3); margin-bottom: 5px; }
.score-divider::after { content: ""; width: 1px; height: 20px; background: rgba(255,255,255,.3); margin-top: 5px; }
.score-divider b { color: white; font-size: .86rem; }

.day-ribbon { max-width: var(--max); margin: -42px auto 0; position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3,1fr); background: white; box-shadow: 0 18px 50px rgba(20,27,41,.14); }
.day-ribbon article { padding: 24px 34px; display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; border-right: 1px solid var(--line); }
.day-ribbon article:last-child { border-right: 0; }
.day-ribbon span { color: var(--muted); font-size: .73rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.day-ribbon strong { grid-row: 1 / span 2; grid-column: 2; align-self: center; font: 400 2rem Georgia, serif; }
.day-ribbon small { font-size: .9rem; }

.section-shell { width: min(var(--max), calc(100% - 64px)); margin-inline: auto; }
.intro { padding-block: 130px 96px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; border-bottom: 1px solid var(--line); }
.section-kicker { color: var(--red); }
h2 { margin: 0; font: 400 clamp(2.8rem, 4.6vw, 4.8rem)/1.02 Georgia, serif; letter-spacing: -.04em; }
.intro-copy { max-width: 680px; font-size: 1.08rem; color: #464d58; }
.intro-copy p:first-child { margin-top: 0; }

.highlights { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); margin-top: 0; padding: 48px 0 110px; }
.highlight { padding: 18px 28px 12px; border-left: 1px solid var(--line); }
.highlight:first-child { border-left: 0; padding-left: 0; }
.highlight span { color: var(--muted); font-size: .73rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.highlight strong { display: block; margin: 12px 0 7px; font: 400 2rem Georgia, serif; }
.lead-highlight strong { font-size: 2.55rem; }
.highlight p { margin: 0; color: var(--muted); font-size: .9rem; }

.photos-section { padding: 112px 0 126px; color: white; background: #0d1729; }
.photo-heading { align-items: end; }
.photo-heading .heading-note { color: rgba(255,255,255,.62); }
.photo-story { display: grid; gap: 18px; }
.photo-feature, .photo-tile { position: relative; padding: 0; overflow: hidden; color: white; background: #18253a; border: 0; cursor: zoom-in; text-align: left; }
.photo-feature { width: 100%; aspect-ratio: 2.25 / 1; }
.photo-feature img, .photo-tile img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.photo-feature img { object-position: center 61%; }
.photo-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(6,12,22,.72), transparent 48%); pointer-events: none; }
.photo-feature:hover img, .photo-feature:focus-visible img, .photo-tile:hover img, .photo-tile:focus-visible img { transform: scale(1.025); filter: saturate(1.06); }
.photo-feature:focus-visible, .photo-tile:focus-visible { outline: 3px solid #d5c18f; outline-offset: 3px; }
.photo-feature span { position: absolute; z-index: 1; left: 34px; right: 34px; bottom: 28px; font: 750 .72rem ui-sans-serif, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #d5c18f; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.photo-tile { aspect-ratio: 4 / 3; }
.photo-tile img { object-position: center; }
.photo-wide { grid-column: 1 / -1; aspect-ratio: 3 / 1; }
.photo-wide img { object-position: center 50%; }
.photo-archive-heading { margin-top: 58px; padding-top: 34px; display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid rgba(255,255,255,.2); }
.photo-archive-heading h3 { margin: 0; font: 400 2.15rem Georgia, serif; }
.photo-archive-heading span { color: rgba(255,255,255,.56); font-size: .74rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.photo-archive { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.archive-photo { aspect-ratio: 4 / 3; min-width: 0; padding: 0; overflow: hidden; background: #18253a; border: 0; cursor: zoom-in; }
.archive-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.archive-photo:hover img, .archive-photo:focus-visible img { transform: scale(1.04); filter: saturate(1.08); }
.archive-photo:focus-visible { outline: 3px solid #d5c18f; outline-offset: 2px; }
.photo-dialog { width: min(1200px, calc(100vw - 48px)); max-width: none; padding: 0; color: white; background: #090f1b; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 90px rgba(0,0,0,.52); }
.photo-dialog::backdrop { background: rgba(4,8,15,.86); backdrop-filter: blur(5px); }
.photo-dialog img { width: 100%; max-height: 88vh; display: block; object-fit: contain; background: #050912; }
.dialog-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; color: white; background: rgba(7,12,22,.76); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.dialog-previous, .dialog-next { width: 52px; height: 52px; position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; padding: 0 0 5px; color: white; background: rgba(7,12,22,.76); border: 1px solid rgba(255,255,255,.42); border-radius: 50%; transform: translateY(-50%); cursor: pointer; font: 400 2.65rem/1 Georgia,serif; }
.dialog-previous { left: 14px; }
.dialog-next { right: 14px; }
.dialog-position { position: absolute; z-index: 2; left: 50%; bottom: 12px; padding: 6px 10px; color: white; background: rgba(7,12,22,.76); border-radius: 999px; transform: translateX(-50%); font-size: .75rem; font-weight: 750; letter-spacing: .08em; }
.dialog-previous:hover, .dialog-next:hover, .dialog-close:hover, .dialog-previous:focus-visible, .dialog-next:focus-visible, .dialog-close:focus-visible { color: var(--navy); background: white; }
.dialog-previous:focus-visible, .dialog-next:focus-visible, .dialog-close:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.matches-section { padding: 110px 0 126px; background: var(--white); }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 54px; }
.day-filter { display: inline-flex; padding: 5px; background: #f0f1f3; border-radius: 999px; }
.day-filter button { min-width: 76px; padding: 10px 15px; border: 0; border-radius: 999px; color: #5d6572; background: transparent; cursor: pointer; font-size: .84rem; font-weight: 700; }
.day-filter button.active { color: white; background: var(--navy); }
.match-list { display: grid; gap: 14px; }
.match-card { border: 1px solid #dfe1e5; background: #fff; transition: border-color .2s, box-shadow .2s; }
.match-card[open] { border-color: #aeb4be; box-shadow: 0 14px 38px rgba(20,27,41,.08); }
.match-card summary { list-style: none; display: grid; grid-template-columns: 136px 1fr 116px 1fr 44px; align-items: center; min-height: 112px; padding: 20px 28px; cursor: pointer; }
.match-card summary::-webkit-details-marker { display:none; }
.match-meta { color: var(--muted); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.match-meta b { display: block; color: var(--ink); font-size: .94rem; letter-spacing: 0; text-transform: none; }
.pairing { font: 400 1.42rem/1.3 Georgia, serif; }
.pairing.backs-names { text-align: right; }
.pairing.forwards-names { text-align: left; }
.result-lockup { text-align: center; }
.result-lockup strong { display:block; font: 400 2rem/1 Georgia,serif; }
.result-lockup small { display:block; margin-top:6px; color:var(--muted); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.expand-mark { width: 32px; height:32px; border:1px solid #ccd0d6; border-radius:50%; display:grid; place-items:center; font-size:1.1rem; transition: transform .2s; }
.match-card[open] .expand-mark { transform: rotate(45deg); }
.match-detail { border-top: 1px solid #e7e8eb; display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.6fr); }
.progress-panel { padding: 36px 38px; background: #f7f8fa; border-right:1px solid #e1e3e7; }
.progress-panel h3, .hole-panel h3 { margin: 0 0 24px; font-size: .75rem; letter-spacing:.14em; text-transform:uppercase; }
.match-chart { width:100%; height:auto; display:block; overflow:visible; }
.chart-label { font-size: 10px; fill:#7b8390; }
.chart-zero { stroke:#a8aeb7; stroke-width:1; stroke-dasharray:4 4; }
.chart-guide { stroke:#e0e3e8; stroke-width:1; }
.chart-path { fill:none; stroke:var(--navy); stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; }
.chart-dot { fill:var(--navy); }
.match-fine-summary { margin: 24px 0 0; color:var(--muted); font-size:.86rem; }
.hole-panel { padding: 36px 38px; overflow:hidden; }
.hole-strip { display:grid; grid-template-columns:repeat(9, minmax(54px,1fr)); gap:7px; }
.hole { min-height:74px; padding:9px 8px; border-top:4px solid #c8cbd0; background:#f3f4f5; }
.hole.back-win { border-color:var(--blue); background:var(--blue-soft); }
.hole.forward-win { border-color:var(--red); background:var(--red-soft); }
.hole span { display:block; color:var(--muted); font-size:.7rem; }
.hole strong { display:block; margin-top:4px; font-size:.8rem; }
.hole small { display:block; margin-top:4px; color:#69707d; font-size:.65rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.players-section { padding-block: 120px; }
.heading-note { width: 360px; margin: 0; color:var(--muted); }
.player-layout { display:grid; grid-template-columns: minmax(220px,.75fr) minmax(500px,1.6fr) minmax(220px,.75fr); gap:28px; align-items:start; }
.team-roster { padding:28px; color:white; }
.backs-roster { background:var(--blue); }
.forwards-roster { background:var(--red); }
.team-roster h3 { margin:0 0 24px; display:flex; justify-content:space-between; align-items:baseline; font:400 1.8rem Georgia,serif; }
.team-roster h3 small { font:700 .68rem ui-sans-serif,sans-serif; letter-spacing:.12em; text-transform:uppercase; opacity:.75; }
.roster-person { padding:14px 0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.25); }
.roster-person strong { font-size:.98rem; }
.roster-person span { font-size:.76rem; opacity:.8; }
.captain-tag { margin-left:5px; padding:3px 6px; border:1px solid rgba(255,255,255,.4); font-size:.58rem !important; letter-spacing:.08em; text-transform:uppercase; }
.standings-wrap { background:white; border:1px solid var(--line); padding:10px 28px 18px; }
.standings { width:100%; border-collapse:collapse; }
.standings caption { padding:14px 0 20px; text-align:left; font:400 1.7rem Georgia,serif; }
.standings th { padding:10px 12px; color:var(--muted); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; text-align:right; border-bottom:1px solid var(--line); }
.standings th:first-child { text-align:left; }
.standings td { padding:14px 12px; text-align:right; border-bottom:1px solid #eaebe8; font-variant-numeric:tabular-nums; }
.standings tr:last-child td { border-bottom:0; }
.standings td:first-child { text-align:left; font-weight:700; }
.team-pip { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:9px; }
.team-pip.backs { background:var(--blue); }
.team-pip.forwards { background:var(--red); }
.points-cell { font:700 1.18rem Georgia,serif; }

.awards-section { padding:120px 0 132px; background:white; }
.award-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.award-card { min-height:190px; padding:26px; grid-column:span 2; display:flex; flex-direction:column; justify-content:flex-end; background:var(--paper); border-top:5px solid var(--navy); }
.award-lead { min-height:270px; grid-column:span 3; }
.award-good { border-color:var(--gold); }
.award-bad { border-color:var(--red); }
.award-card span { margin-bottom:auto; color:var(--muted); font-size:.72rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.award-card strong { margin-top:28px; font:400 2.25rem/1 Georgia,serif; }
.award-lead strong { font-size:3rem; }
.award-card p { margin:10px 0 0; color:var(--muted); }

.fines-section { padding:120px 0; color:white; background:var(--navy); }
.fines-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:start; }
.fines-copy h2 { max-width:380px; }
.fines-copy > p:not(.section-kicker) { max-width:440px; color:rgba(255,255,255,.68); }
.fine-key { display:flex; gap:24px; margin-top:40px; color:rgba(255,255,255,.72); font-size:.78rem; }
.fine-key span { display:flex; align-items:center; gap:8px; }
.fine-key i { width:9px; height:9px; border-radius:50%; }
.snake-dot { background:#d8c284; }.camel-dot{background:#de765f}.alligator-dot{background:#58a78b}
.fine-chart { display:grid; gap:14px; }
.fine-row { display:grid; grid-template-columns:92px 1fr 34px; align-items:center; gap:16px; }
.fine-name { font-weight:700; font-size:.9rem; }
.fine-bar { height:28px; display:flex; overflow:hidden; background:rgba(255,255,255,.08); }
.fine-segment { height:100%; min-width:0; }
.fine-segment.snake { background:#d8c284; }.fine-segment.camel{background:#de765f}.fine-segment.alligator{background:#58a78b}
.fine-total { text-align:right; font:400 1.2rem Georgia,serif; }

.courses-section { padding-block:120px 140px; }
.course-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.course-card { min-height:360px; position:relative; overflow:hidden; padding:38px; display:flex; flex-direction:column; justify-content:space-between; color:white; background:#213b45; }
.course-card::before { content:""; position:absolute; inset:0; background:linear-gradient(150deg,rgba(11,22,34,.25),rgba(11,22,34,.88)); }
.course-card.praia { background: radial-gradient(circle at 82% 18%, rgba(77,145,164,.85), transparent 34%), linear-gradient(145deg,#406a70,#122e39 62%,#101c2a); }
.course-card.west { background: radial-gradient(circle at 76% 22%, rgba(197,151,82,.58), transparent 32%), linear-gradient(145deg,#465d58,#1d3336 58%,#101d27); }
.course-card > * { position:relative; z-index:1; }
.course-card span { font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; }
.course-card h3 { margin:8px 0 0; font:400 2.4rem Georgia,serif; }
.course-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.course-stats div { padding-top:12px; border-top:1px solid rgba(255,255,255,.42); }
.course-stats small { display:block; color:rgba(255,255,255,.67); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.course-stats strong { display:block; margin-top:4px; font-size:1.08rem; }

footer { padding:42px clamp(24px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; color:white; background:#0b1220; }
.footer-brand { display:flex; align-items:center; gap:12px; }
footer p { margin:0; color:rgba(255,255,255,.62); font-size:.82rem; }
.data-note { justify-self:end; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { display:none; }
  .edition { grid-column:2; }
  .hero { min-height:720px; grid-template-columns:1fr; grid-template-rows:1fr auto; }
  .hero-copy { align-self:end; padding-bottom:180px; }
  .hero-score { grid-column:1; grid-row:2; justify-self:start; width:min(560px,calc(100% - 64px)); margin:0 0 42px 32px; }
  .highlights { grid-template-columns:repeat(2,1fr); }
  .highlight:nth-child(3) { border-left:0; padding-left:0; margin-top:30px; }
  .highlight:nth-child(4) { margin-top:30px; }
  .match-card summary { grid-template-columns:110px 1fr 96px 1fr 38px; padding-inline:20px; }
  .photo-grid { grid-template-columns: repeat(2, 1fr); }
  .photo-wide { grid-column: 1 / -1; }
  .photo-archive { grid-template-columns: repeat(4, 1fr); }
  .award-card { grid-column:span 3; }
  .award-lead { grid-column:span 3; }
  .match-detail { grid-template-columns:1fr; }
  .progress-panel { border-right:0; border-bottom:1px solid #e1e3e7; }
  .player-layout { grid-template-columns:1fr 1fr; }
  .standings-wrap { grid-column:1 / -1; grid-row:2; }
}

@media (max-width: 720px) {
  .site-header { height:66px; padding-inline:18px; }
  .brand-mark { width:32px;height:32px; }
  .site-header .brand-mark { width:36px;height:36px;background-size:61px auto; }
  .brand span:last-child { font-size:.9rem; }
  .edition { font-size:.66rem; }
  .hero { min-height:650px; }
  .hero-photo { background-position:62% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(8,16,31,.97) 4%,rgba(8,16,31,.58) 72%,rgba(8,16,31,.25)); }
  .hero-copy { padding:70px 22px 185px; }
  .hero h1 { font-size:clamp(3.4rem,16vw,5.2rem); }
  .standfirst { margin-top:22px; font-size:1rem; line-height:1.55; }
  .hero-score { width:calc(100% - 36px); margin:0 18px 28px; grid-template-columns:1fr 70px 1fr; }
  .score-side { padding:18px 12px; }
  .score-side strong { font-size:3.6rem; }
  .day-ribbon { margin:0; grid-template-columns:1fr; box-shadow:none; }
  .day-ribbon article { padding:18px 22px; border-right:0; border-bottom:1px solid var(--line); }
  .section-shell { width:calc(100% - 36px); }
  .intro { padding-block:76px 60px; grid-template-columns:1fr; gap:28px; }
  h2 { font-size:2.75rem; }
  .highlights { grid-template-columns:1fr; padding-bottom:75px; }
  .highlight, .highlight:first-child, .highlight:nth-child(3) { padding:22px 0; margin:0; border-left:0; border-top:1px solid var(--line); }
  .matches-section, .players-section, .awards-section, .fines-section, .courses-section { padding-block:78px; }
  .photos-section { padding-block:78px; }
  .photo-feature { aspect-ratio: 4 / 3; }
  .photo-feature img { object-position: center 58%; }
  .photo-feature span { left:20px; right:20px; bottom:18px; }
  .photo-grid { grid-template-columns:1fr; gap:12px; }
  .photo-wide { grid-column:auto; aspect-ratio: 16 / 9; }
  .photo-archive-heading { margin-top:38px; padding-top:26px; }
  .photo-archive { grid-template-columns:repeat(2,1fr); gap:8px; }
  .photo-dialog { width:calc(100vw - 24px); }
  .dialog-previous, .dialog-next { width:44px;height:44px;font-size:2.2rem; }
  .dialog-previous { left:8px; }
  .dialog-next { right:8px; }
  .section-heading-row { display:block; margin-bottom:34px; }
  .day-filter { margin-top:26px; width:100%; justify-content:space-between; }
  .day-filter button { min-width:auto; flex:1; padding-inline:6px; }
  .match-card summary { grid-template-columns:1fr auto; gap:18px; padding:20px; }
  .match-meta { grid-column:1; }
  .pairing { font-size:1.12rem; }
  .pairing.backs-names { text-align:left; color:var(--blue); }
  .result-lockup { grid-column:2; grid-row:1 / span 3; }
  .pairing.forwards-names { grid-column:1; color:var(--red); }
  .expand-mark { display:none; }
  .progress-panel, .hole-panel { padding:28px 20px; }
  .hole-strip { grid-template-columns:repeat(6,minmax(44px,1fr)); }
  .heading-note { width:auto; margin-top:22px; }
  .player-layout { grid-template-columns:1fr; }
  .standings-wrap { grid-column:1; grid-row:3; padding-inline:12px; overflow-x:auto; }
  .award-grid { grid-template-columns:1fr; }
  .award-card, .award-lead { min-height:180px; grid-column:auto; }
  .award-lead strong { font-size:2.55rem; }
  .fines-layout { grid-template-columns:1fr; gap:50px; }
  .fine-row { grid-template-columns:74px 1fr 28px; gap:10px; }
  .fine-key { gap:14px; flex-wrap:wrap; }
  .course-grid { grid-template-columns:1fr; }
  .course-card { min-height:310px; padding:28px; }
  footer { grid-template-columns:1fr; text-align:left; }
  .data-note { justify-self:start; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
