/* Ventoriva R4 — internal pages only.
   Theme: the width of a touchline, the scale of a shirt number.
   Parent owns fonts, floating header, home and global page transition.
   Palette: petrol #143a43 / lime #c6fa58 / mint #bce9d8 / paper #fbfcf8.
   No markup, content, imagery or statistics changed by this stylesheet. */

body:not(.page-home) {
  --inner-gutter: clamp(20px, 4.6vw, 100px);
  --inner-gap: clamp(20px, 2.4vw, 48px);
  --inner-line: #143a4324;
  --measure: 68ch;
  --soft: #eaf2ec;
  background: var(--paper, #fbfcf8);
  color: var(--petrol, #143a43);
}
:where(body:not(.page-home)) main { overflow: clip; }
:where(body:not(.page-home)) main .wrap {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--inner-gutter);
}
:where(body:not(.page-home)) .section { padding-block: clamp(48px, 6vw, 108px); }
:where(body:not(.page-home)) :is(h1,h2,h3) {
  font-family: var(--display, 'VentoDisplay', sans-serif);
  font-weight: 700;
  letter-spacing: -.025em;
  text-wrap: balance;
}
:where(body:not(.page-home)) :is(p,li,dt,dd,button,input,select) {
  font-family: var(--body, 'VentoSans', sans-serif);
}
:where(body:not(.page-home)) a:focus-visible,
:where(body:not(.page-home)) :is(button,input,select,summary):focus-visible {
  outline: 3px solid #197c75;
  outline-offset: 5px;
}
:where(body:not(.page-home)) :is(.profile-hero,.page-title) a:focus-visible {
  outline-color: var(--lime);
}
:where(body:not(.page-home)) .small-label { letter-spacing: 0; text-transform: none; }
:where(body:not(.page-home)) .section-head { margin-bottom: clamp(28px, 3vw, 54px); }
:where(body:not(.page-home)) :is(.section-head h2,.section-title) {
  font-size: clamp(42px, 5.3vw, 88px);
  line-height: .98;
  max-width: 22ch;
}
:where(body:not(.page-home)) .section-head p { font-size: 16px; line-height: 1.7; max-width: 52ch; }
:where(body:not(.page-home)) :is(.section-link,.profile-link,.read-story,.text-link) {
  font-size: 14px;
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
:where(body:not(.page-home)) :is(.page-title,.archive-heading) {
  width: 100%;
  max-width: none;
  margin: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(44px, 5.8vw, 96px) var(--inner-gutter) clamp(46px, 5.5vw, 90px);
  background: var(--petrol);
  color: var(--paper);
  border: 0;
}
:where(body:not(.page-home)) :is(.page-title,.archive-heading)::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: 22%;
  background: var(--lime);
  clip-path: polygon(82% 0,100% 0,100% 100%,0 100%);
}
:where(body:not(.page-home)) :is(.page-title h1,.archive-heading h1) {
  font-size: clamp(72px, 11.5vw, 194px);
  line-height: .89;
  letter-spacing: -.035em;
  max-width: 17ch;
  margin: 0;
  padding-right: 7%;
}
:where(body:not(.page-home)) .page-title .small-label,
:where(body:not(.page-home)) .archive-heading > p:first-child {
  font-size: 14px;
  color: var(--mint);
  margin: 0 0 24px;
}
:where(body:not(.page-home)) .page-title p:not(.small-label),
:where(body:not(.page-home)) .archive-heading > p:last-child {
  color: #d5e9e1;
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.65;
  max-width: 58ch;
  margin: 26px 0 0;
}
:where(body:not(.page-home)) .page-title + .section { padding-top: 44px; }

/* Filters are working controls, separated from the photographic grid. */
:where(body:not(.page-home)) :is(.team-tools,.archive-controls) {
  gap: 22px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--inner-line);
  margin-bottom: 32px;
}
:where(body:not(.page-home)) .filters { gap: 8px; }
:where(body:not(.page-home)) .filters button {
  min-height: 46px;
  padding: 11px 22px;
  background: transparent;
  border: 1px solid #a8bcb3;
  color: var(--petrol);
  border-radius: 2px 15px 2px 15px;
  font-size: 14px;
  font-weight: 600;
}
:where(body:not(.page-home)) .filters button[aria-pressed="true"] {
  background: var(--petrol);
  border-color: var(--petrol);
  color: var(--lime);
}
:where(body:not(.page-home)) :is(#squad-count,.archive-count) { color: #4d696b; font-size: 14px; }
:where(body:not(.page-home)) .news-search { gap: 9px; min-width: min(100%,260px); font-size: 13px; }
:where(body:not(.page-home)) .news-search input {
  min-height: 48px;
  border: 1px solid #a8bcb3;
  border-radius: 2px;
  padding: 12px 16px;
  font-size: 16px;
}
:where(body:not(.page-home)) .archive-section { padding-top: 35px; border: 0; }
:where(body:not(.page-home)) .archive-controls { align-items: end; }
:where(body:not(.page-home)) .archive-count { margin-block: 24px 38px; }

/* The shirt number belongs to the photo, names remain separate and readable. */
:where(body:not(.page-home)) .squad-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 48px var(--inner-gap);
}
:where(body:not(.page-home)) .player-card {
  min-width: 0;
  border-bottom: 3px solid var(--petrol);
  padding-bottom: 24px;
}
:where(body:not(.page-home)) .portrait-link {
  position: relative;
  isolation: isolate;
  display: block;
  border-radius: 3px 28px 3px 3px;
  overflow: hidden;
  background: #d6e3dc;
}
:where(body:not(.page-home)) .portrait-link::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 55% 0 0;
  background: linear-gradient(transparent, #143a43a8);
  pointer-events: none;
}
:where(body:not(.page-home)) .portrait-link img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 24%;
}
:where(body:not(.page-home)) .player-number {
  z-index: 1;
  left: 15px;
  bottom: 8px;
  font: 700 clamp(76px,8.8vw,148px)/.86 var(--display);
  letter-spacing: -.04em;
  color: var(--paper);
  text-shadow: 0 2px 12px #143a4359;
}
:where(body:not(.page-home)) .photo-corner {
  z-index: 1;
  right: 13px;
  bottom: 15px;
  width: 38px;
  height: 38px;
  color: var(--petrol);
  background: var(--lime);
  border-radius: 50%;
}
:where(body:not(.page-home)) .player-card h2 {
  font-size: clamp(28px, 2.6vw, 44px);
  line-height: 1.02;
  letter-spacing: -.015em;
  margin: 22px 0 10px;
  overflow-wrap: normal;
  hyphens: auto;
}
:where(body:not(.page-home)) .player-role { font-size: 14px; line-height: 1.5; color: var(--petrol); }
:where(body:not(.page-home)) .player-facts { font-size: 12px; color: #577174; margin-top: 7px; }
:where(body:not(.page-home)) .player-trait { font-size: 14px; line-height: 1.7; margin-top: 16px; color: #4d696b; }
:where(body:not(.page-home)) .profile-link { margin-top: 20px; display: inline-block; }
:where(body:not(.page-home)) .squad-note {
  background: var(--mint);
  color: var(--petrol);
  border-radius: 2px;
  padding: clamp(25px, 3.5vw, 56px);
  font-size: 17px;
  margin-top: 60px;
}

/* Archive: one lead story establishes the editorial hierarchy. */
:where(body:not(.page-home)) .editorial-grid { gap: 48px var(--inner-gap); }
:where(body:not(.page-home)) .archive-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
:where(body:not(.page-home)) .archive-grid > .news-item:first-child { grid-column: span 2; }
:where(body:not(.page-home)) .editorial-image { border-radius: 3px; overflow: hidden; background: #dce7df; }
:where(body:not(.page-home)) .editorial-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
:where(body:not(.page-home)) .archive-grid > .news-item:first-child .editorial-image img { aspect-ratio: 16 / 9; }
:where(body:not(.page-home)) .archive-grid > .news-item:first-child h3 { font-size: clamp(36px,4.2vw,68px); max-width: 25ch; }
:where(body:not(.page-home)) .editorial-card-copy { padding-top: 22px; }
:where(body:not(.page-home)) .editorial-card h3 {
  font-size: clamp(29px,2.8vw,46px);
  line-height: 1.04;
  letter-spacing: -.018em;
  max-width: 28ch;
  margin-bottom: 16px;
}
:where(body:not(.page-home)) .editorial-card-copy > p { font-size: 15px; line-height: 1.75; max-width: 58ch; }
:where(body:not(.page-home)) .story-meta { font-size: 12px; color: #526e6c; gap: 10px 18px; }
:where(body:not(.page-home)) .story-meta > span { color: var(--petrol); font-weight: 700; }
:where(body:not(.page-home)) .score-art { border-radius: 3px; padding: 30px; background: var(--petrol); color: var(--mint); }
:where(body:not(.page-home)) .score-art strong { font-size: clamp(66px,8vw,132px); color: var(--lime); letter-spacing: -.025em; }
:where(body:not(.page-home)) .read-story { margin-top: 22px; }

/* Staff: generous photographs and a strong quiet name line. */
:where(body:not(.page-home)) .staff-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--inner-gap); }
:where(body:not(.page-home)) .staff-person { display: block; min-width: 0; border-bottom: 3px solid var(--petrol); padding-bottom: 26px; }
:where(body:not(.page-home)) .staff-person img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px 28px 3px 3px; }
:where(body:not(.page-home)) .staff-person h3 { font-size: clamp(32px,3.8vw,58px); line-height: 1; letter-spacing: -.015em; margin: 20px 0 16px; }
:where(body:not(.page-home)) .staff-person p { font-size: 15px; line-height: 1.7; max-width: 44ch; }
:where(body:not(.page-home)) .staff-person .small-label { font-size: 13px; margin-top: 20px; }
:where(body:not(.page-home)) .staff-method { background: var(--mint); border-top: 0; }
:where(body:not(.page-home)) .method-columns { gap: clamp(26px,5vw,90px); }
:where(body:not(.page-home)) .method-columns h3 { font-size: clamp(28px,3vw,44px); line-height: 1.05; }
:where(body:not(.page-home)) .method-columns p { font-size: 17px; line-height: 1.8; color: #345c5b; }

/* Profiles: a full-width match-shirt composition, with real facts as typography. */
:where(body:not(.page-home)) .breadcrumbs { font-size: 13px; gap: 12px; padding-block: 24px; color: #4f6c6c; }
:where(body:not(.page-home)) .profile-hero {
  position: relative;
  isolation: isolate;
  background: var(--petrol);
  background-image: linear-gradient(115deg,#143a43 35%,#214d54 100%);
  color: var(--paper);
}
:where(body:not(.page-home)) .profile-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: 17%;
  background: #bce9d80c;
  transform: skewX(-17deg);
  transform-origin: bottom;
  pointer-events: none;
}
:where(body:not(.page-home)) .profile-hero-inner {
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
  gap: clamp(35px,5vw,110px);
  align-items: center;
  padding-block: clamp(28px,3.5vw,58px);
}
:where(body:not(.page-home)) .profile-portrait { max-width: 640px; border-radius: 3px 38px 3px 3px; overflow: hidden; }
:where(body:not(.page-home)) .profile-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 24%; }
:where(body:not(.page-home)) .profile-intro { min-width: 0; padding-block: 25px; }
:where(body:not(.page-home)) .profile-intro > .small-label { color: var(--mint); font-size: 16px; margin-bottom: 24px; }
:where(body:not(.page-home)) .profile-intro h1 {
  font-size: clamp(62px,7.5vw,130px);
  line-height: .93;
  letter-spacing: -.025em;
  max-width: 15ch;
  overflow-wrap: normal;
}
:where(body:not(.page-home)) .profile-standfirst { font-size: clamp(16px,1.4vw,21px); line-height: 1.7; color: #d5e7df; max-width: 50ch; margin-top: 28px; }
:where(body:not(.page-home)) .profile-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; padding-top: 30px; margin-top: 32px; border-color: #bce9d847; }
:where(body:not(.page-home)) .profile-facts dt { font-size: 13px; color: var(--mint); margin-bottom: 8px; }
:where(body:not(.page-home)) .profile-facts dd { font-size: 18px; line-height: 1.4; font-weight: 600; }
:where(body:not(.page-home)) .profile-intro:has(.profile-facts > div:nth-child(4)) .profile-facts > div:first-child { grid-row: span 3; align-self: center; }
:where(body:not(.page-home)) .profile-intro:has(.profile-facts > div:nth-child(4)) .profile-facts > div:first-child dd {
  font: 700 clamp(90px,10vw,170px)/.88 var(--display);
  color: var(--lime);
  letter-spacing: -.035em;
}
:where(body:not(.page-home)) :is(.profile-body,.article-layout) {
  grid-template-columns: minmax(0,72ch) minmax(220px,310px);
  justify-content: space-between;
  gap: clamp(35px,7vw,130px);
  padding-top: clamp(45px,5vw,84px);
  padding-bottom: 70px;
}
:where(body:not(.page-home)) .reading-body { max-width: 68ch; }
:where(body:not(.page-home)) .reading-body section { margin-bottom: 50px; scroll-margin-top: 150px; }
:where(body:not(.page-home)) .reading-body h2 { font-size: clamp(34px,3.5vw,54px); line-height: 1.04; max-width: 30ch; margin-bottom: 25px; }
:where(body:not(.page-home)) .reading-body p { font-size: 18px; line-height: 1.85; color: #36575a; margin-block: 22px; max-width: 68ch; }
:where(body:not(.page-home)) .curiosity-list li { font-size: 17px; line-height: 1.8; padding-block: 20px; }
:where(body:not(.page-home)) .curiosity-list li::before { background: #497867; top: 31px; }
:where(body:not(.page-home)) :is(.profile-aside,.article-aside) { position: sticky; top: 140px; border-top: 5px solid var(--lime); padding-top: 24px; }
:where(body:not(.page-home)) :is(.profile-aside h2,.article-aside h2) { font-size: 31px; line-height: 1.05; }
:where(body:not(.page-home)) .profile-aside nav a { font-size: 14px; padding-block: 15px; }
:where(body:not(.page-home)) .aside-club { padding: 28px; background: var(--mint); border-radius: 3px; margin-top: 32px; }
:where(body:not(.page-home)) .aside-club p { color: #365b59; font-size: 14px; }
:where(body:not(.page-home)) .profile-next { padding-block: 30px 50px; gap: 30px; font-size: 15px; border-color: var(--inner-line); }
:where(body:not(.page-home)) .related-stories { border-top: 0; background: #eaf2ec; }

/* Articles keep a measured reading column inside a wide editorial canvas. */
:where(body:not(.page-home)) .article-header { padding-top: 28px; padding-bottom: 45px; }
:where(body:not(.page-home)) .article-header h1 { font-size: clamp(58px,7.2vw,118px); line-height: .98; letter-spacing: -.022em; max-width: 24ch; }
:where(body:not(.page-home)) .article-header .story-meta { margin-bottom: 25px; font-size: 13px; }
:where(body:not(.page-home)) .article-standfirst { font-size: clamp(19px,1.7vw,25px); line-height: 1.65; color: #45646a; max-width: 65ch; margin-block: 30px 24px; }
:where(body:not(.page-home)) .reading-time { font-size: 13px; color: #587174; }
:where(body:not(.page-home)) .article-hero { margin: 0; }
:where(body:not(.page-home)) .article-hero a { background: #e5eee7; border-radius: 3px; overflow: hidden; }
:where(body:not(.page-home)) .article-hero img { width: 100%; max-height: 800px; object-fit: contain; }
:where(body:not(.page-home)) .article-hero-person a { background: linear-gradient(115deg,#d8e6dc,#edf3ec); }
:where(body:not(.page-home)) .article-hero-person img { width: auto; max-width: 100%; max-height: 680px; aspect-ratio: 4 / 5; object-fit: contain; margin-inline: auto; }
:where(body:not(.page-home)) .article-hero figcaption { font-size: 13px; margin-top: 16px; max-width: 70ch; }
:where(body:not(.page-home)) .related-person { padding-block: 18px; gap: 17px; }
:where(body:not(.page-home)) .related-person img { width: 70px; height: 88px; object-fit: cover; border-radius: 2px; }
:where(body:not(.page-home)) .related-person b { font-size: 16px; line-height: 1.3; }
:where(body:not(.page-home)) .related-person small { font-size: 12px; line-height: 1.5; }
:where(body:not(.page-home)) .back-news { padding-bottom: 55px; font-size: 15px; }

/* Club and season use the same scale without dressing the data as decoration. */
:where(body:not(.page-home)) .team-full { background: var(--petrol); color: var(--paper); }
:where(body:not(.page-home)) .team-full img { width: 100%; height: auto; }
:where(body:not(.page-home)) .team-full figcaption { color: #d4e6df; padding: 18px var(--inner-gutter); font-size: 13px; }
:where(body:not(.page-home)) .club-intro { gap: 8vw; }
:where(body:not(.page-home)) .club-intro h2 { font-size: clamp(48px,6.5vw,108px); line-height: .96; letter-spacing: -.025em; }
:where(body:not(.page-home)) :is(.club-intro p,.club-reading p) { font-size: 18px; line-height: 1.8; max-width: 62ch; }
:where(body:not(.page-home)) .club-info { font-size: 14px; gap: 28px; padding-top: 24px; margin-top: 30px; }
:where(body:not(.page-home)) .club-reading { background: var(--mint); border: 0; gap: 8vw; }
:where(body:not(.page-home)) .club-reading h2 { font-size: clamp(44px,5vw,78px); line-height: 1; }
:where(body:not(.page-home)) .club-reading h3 { font-size: 36px; }
:where(body:not(.page-home)) .club-reading a { font-size: 16px; padding-block: 20px; border-color: #143a4330; }
:where(body:not(.page-home)) .league-switch { gap: 12px 32px; padding-bottom: 22px; margin-bottom: 45px; }
:where(body:not(.page-home)) .league-switch a { font-size: 16px; padding-block: 10px; }
:where(body:not(.page-home)) .season-grid { gap: clamp(40px,5vw,100px); }
:where(body:not(.page-home)) .subhead { font-size: clamp(38px,4vw,64px); line-height: 1; margin-bottom: 20px; }
:where(body:not(.page-home)) .subtext { font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
:where(body:not(.page-home)) .fixture-list,
:where(body:not(.page-home)) .table-scroll { border-top: 4px solid var(--petrol); }
:where(body:not(.page-home)) .fixture { padding-block: 22px; gap: 15px; font-size: 14px; border-color: var(--inner-line); }
:where(body:not(.page-home)) .fixture .fixture-score { font-size: 30px; line-height: 1; }
:where(body:not(.page-home)) .fixture-future .fixture-score { font: 14px var(--body); }
:where(body:not(.page-home)) .fixture-next { background: var(--mint); }
:where(body:not(.page-home)) table { font-size: 14px; }
:where(body:not(.page-home)) :is(td,th) { padding: 15px 10px; border-color: var(--inner-line); }
:where(body:not(.page-home)) thead { color: #3f6262; }
:where(body:not(.page-home)) .our-row { background: var(--lime); color: var(--petrol); }
:where(body:not(.page-home)) .our-row .points { font: 700 30px/1 var(--display); }
:where(body:not(.page-home)) .table-legend { font-size: 13px; }
:where(body:not(.page-home)) .lineup-section { background: var(--petrol); color: var(--paper); padding-block: clamp(55px,6vw,100px); }
:where(body:not(.page-home)) .lineup-layout { gap: clamp(40px,6vw,110px); }
:where(body:not(.page-home)) .lineup-copy h2 { font-size: clamp(46px,5.4vw,90px); line-height: .98; letter-spacing: -.025em; }
:where(body:not(.page-home)) .lineup-copy p { font-size: 17px; line-height: 1.75; color: #d9e7e1; }
:where(body:not(.page-home)) .pitch { box-shadow: none; background: #276357; border-color: #bce9d88a; border-radius: 3px; min-height: 520px; }
:where(body:not(.page-home)) .pitch-player { font-size: 13px; max-width: 120px; }
:where(body:not(.page-home)) .pitch-player b { width: 42px; height: 42px; font-size: 26px; background: var(--paper); color: var(--petrol); }
:where(body:not(.page-home)) .starting-eleven li { font-size: 14px; border-color: #bce9d840; }
:where(body:not(.page-home)) .starting-eleven b { color: var(--lime); }
:where(body:not(.page-home)) .round-grid { gap: 0 40px; }
:where(body:not(.page-home)) .round-grid li { font-size: 15px; padding-block: 22px; border-color: var(--inner-line); }
:where(body:not(.page-home)) .round-grid .ours { background: var(--mint); }
:where(body:not(.page-home)) .report-card { padding-top: 22px; border-top-width: 4px; }
:where(body:not(.page-home)) .report-card h3 { font-size: 31px; line-height: 1.06; }
:where(body:not(.page-home)) :is(.report-card p,.report-card li) { font-size: 14px; line-height: 1.7; }

/* Motion answers an action. No perpetual animation or image filtering. */
@media (hover:hover) and (pointer:fine) {
  :where(body:not(.page-home)) :is(.portrait-link img,.editorial-image img) { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
  :where(body:not(.page-home)) .portrait-link .photo-corner { transition: transform .3s ease,background-color .3s ease; }
  :where(body:not(.page-home)) .portrait-link:hover img { transform: scale(1.035); }
  :where(body:not(.page-home)) .portrait-link:hover .photo-corner { transform: rotate(45deg); background: var(--paper); }
  :where(body:not(.page-home)) .editorial-image:hover img { transform: scale(1.025); }
  :where(body:not(.page-home)) .filters button { transition: background-color .2s,color .2s,border-color .2s; }
  :where(body:not(.page-home)) .filters button:hover { background: var(--mint); color: var(--petrol); border-color: var(--petrol); }
  :where(body:not(.page-home)) .filters button[aria-pressed="true"]:hover { background: var(--petrol); color: var(--lime); }
  :where(body:not(.page-home)) :is(.player-card,.staff-person) { transition: border-color .25s ease; }
  :where(body:not(.page-home)) :is(.player-card,.staff-person):hover { border-bottom-color: #78a83b; }
}

/* No reduced-motion user receives the optional opening wipe. */
@media (prefers-reduced-motion:no-preference) {
  :where(body:not(.page-home)) :is(.page-title,.archive-heading)::after { animation: vento-inner-slice .65s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes vento-inner-slice { from { transform: translateX(35%); } to { transform: translateX(0); } }
}
@media (max-width:1180px) {
  :where(body:not(.page-home)) .squad-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  :where(body:not(.page-home)) .profile-intro h1 { font-size: clamp(58px,7vw,92px); }
  :where(body:not(.page-home)) .profile-facts dd { font-size: 16px; }
  :where(body:not(.page-home)) :is(.profile-body,.article-layout) { grid-template-columns: minmax(0,1fr) 240px; gap: 6vw; }
  :where(body:not(.page-home)) .season-grid { grid-template-columns: 1fr; }
  :where(body:not(.page-home)) .fixture { grid-template-columns: 30px 125px minmax(0,1fr) 85px; }
}
@media (max-width:850px) {
  body:not(.page-home) { --inner-gutter: 24px; --inner-gap: 22px; }
  :where(body:not(.page-home)) .squad-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :where(body:not(.page-home)) .staff-grid { grid-template-columns: 1fr; gap: 32px; }
  :where(body:not(.page-home)) .staff-person { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1fr); gap: 26px; }
  :where(body:not(.page-home)) .staff-person h3 { font-size: 37px; }
  :where(body:not(.page-home)) .staff-person p { font-size: 14px; }
  :where(body:not(.page-home)) .archive-controls { display: block; }
  :where(body:not(.page-home)) .news-search { max-width: 400px; margin-top: 25px; }
  :where(body:not(.page-home)) .archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :where(body:not(.page-home)) .archive-grid > .news-item:first-child { grid-column: span 2; }
  :where(body:not(.page-home)) .profile-hero-inner { grid-template-columns: .85fr 1.15fr; gap: 28px; }
  :where(body:not(.page-home)) .profile-intro h1 { font-size: clamp(48px,7.5vw,72px); }
  :where(body:not(.page-home)) .profile-standfirst { font-size: 16px; }
  :where(body:not(.page-home)) .profile-facts { gap: 20px; }
  :where(body:not(.page-home)) .profile-facts dd { font-size: 15px; }
  :where(body:not(.page-home)) :is(.profile-body,.article-layout) { grid-template-columns: 1fr; }
  :where(body:not(.page-home)) :is(.profile-aside,.article-aside) { position: static; max-width: none; }
  :where(body:not(.page-home)) .aside-club { max-width: 430px; }
  :where(body:not(.page-home)) .reading-body { max-width: 68ch; }
  :where(body:not(.page-home)) .lineup-layout { grid-template-columns: 1fr; gap: 45px; }
  :where(body:not(.page-home)) .lineup-copy { order: -1; }
  :where(body:not(.page-home)) .pitch { margin: 0; min-height: 480px; }
}
@media (max-width:600px) {
  body:not(.page-home) { --inner-gutter: 18px; --inner-gap: 13px; }
  :where(body:not(.page-home)) .section { padding-block: 50px; }
  :where(body:not(.page-home)) :is(.page-title,.archive-heading) { padding-block: 45px 48px; }
  :where(body:not(.page-home)) :is(.page-title h1,.archive-heading h1) { font-size: clamp(63px,17vw,96px); max-width: 14ch; padding-right: 0; }
  :where(body:not(.page-home)) :is(.page-title,.archive-heading)::after { width: 13%; opacity: .45; }
  :where(body:not(.page-home)) .page-title p:not(.small-label),
  :where(body:not(.page-home)) .archive-heading > p:last-child { font-size: 15px; max-width: 33ch; margin-top: 24px; padding-right: 12px; }
  :where(body:not(.page-home)) .page-title .small-label,
  :where(body:not(.page-home)) .archive-heading > p:first-child { font-size: 12px; margin-bottom: 22px; }
  :where(body:not(.page-home)) :is(.section-head h2,.section-title) { font-size: 44px; }
  :where(body:not(.page-home)) .section-head { display: block; margin-bottom: 27px; }
  :where(body:not(.page-home)) .section-head p { font-size: 15px; margin-top: 18px; }
  :where(body:not(.page-home)) .section-link { margin-top: 22px; }
  :where(body:not(.page-home)) .filters button { padding: 10px 14px; font-size: 13px; min-height: 44px; }
  :where(body:not(.page-home)) .squad-grid { gap: 32px 13px; }
  :where(body:not(.page-home)) .portrait-link { border-radius: 2px 18px 2px 2px; }
  :where(body:not(.page-home)) .player-number { font-size: clamp(63px,19vw,100px); left: 10px; bottom: 7px; }
  :where(body:not(.page-home)) .photo-corner { width: 28px; height: 28px; right: 8px; bottom: 10px; font-size: 18px; }
  :where(body:not(.page-home)) .player-card { padding-bottom: 20px; border-width: 2px; }
  :where(body:not(.page-home)) .player-card h2 { font-size: 29px; line-height: 1.04; margin-top: 17px; }
  :where(body:not(.page-home)) .player-role { font-size: 12px; min-height: 36px; }
  :where(body:not(.page-home)) .player-facts { font-size: 11px; line-height: 1.6; }
  :where(body:not(.page-home)) .player-trait { font-size: 13px; line-height: 1.65; }
  :where(body:not(.page-home)) .player-card .profile-link { font-size: 12px; margin-top: 17px; }
  :where(body:not(.page-home)) .squad-note { padding: 25px; font-size: 15px; margin-top: 40px; }
  :where(body:not(.page-home)) .archive-grid,
  :where(body:not(.page-home)) .editorial-grid { grid-template-columns: 1fr; gap: 36px; }
  :where(body:not(.page-home)) .archive-grid > .news-item:first-child { grid-column: auto; }
  :where(body:not(.page-home)) .archive-grid > .news-item:first-child h3,
  :where(body:not(.page-home)) .editorial-card h3 { font-size: 37px; }
  :where(body:not(.page-home)) .archive-grid > .news-item:first-child .editorial-image img { aspect-ratio: 3 / 2; }
  :where(body:not(.page-home)) .editorial-card-copy > p { font-size: 15px; }
  :where(body:not(.page-home)) .staff-grid { grid-template-columns: 1fr; gap: 42px; }
  :where(body:not(.page-home)) .staff-person { display: block; padding-bottom: 26px; }
  :where(body:not(.page-home)) .staff-person img { aspect-ratio: 4 / 5; }
  :where(body:not(.page-home)) .staff-person h3 { font-size: 45px; margin-top: 23px; }
  :where(body:not(.page-home)) .staff-person p { font-size: 16px; }
  :where(body:not(.page-home)) .method-columns { grid-template-columns: 1fr; gap: 35px; }
  :where(body:not(.page-home)) .method-columns h3 { font-size: 36px; }
  :where(body:not(.page-home)) .method-columns p { font-size: 16px; }
  :where(body:not(.page-home)) .breadcrumbs { padding-block: 20px; font-size: 12px; }
  :where(body:not(.page-home)) .profile-hero-inner { grid-template-columns: 1fr; gap: 0; padding-top: 22px; padding-bottom: 30px; }
  :where(body:not(.page-home)) .profile-portrait { max-width: 100%; border-radius: 3px 28px 3px 3px; }
  :where(body:not(.page-home)) .profile-intro { padding-top: 32px; padding-bottom: 10px; }
  :where(body:not(.page-home)) .profile-intro > .small-label { font-size: 15px; margin-bottom: 22px; }
  :where(body:not(.page-home)) .profile-intro h1 { font-size: clamp(64px,17vw,98px); max-width: 17ch; }
  :where(body:not(.page-home)) .profile-standfirst { font-size: 17px; line-height: 1.7; margin-top: 25px; }
  :where(body:not(.page-home)) .profile-facts { grid-template-columns: 1fr 1.1fr; gap: 22px; padding-top: 26px; margin-top: 28px; }
  :where(body:not(.page-home)) .profile-facts dd { font-size: 16px; }
  :where(body:not(.page-home)) .profile-intro:has(.profile-facts > div:nth-child(4)) .profile-facts > div:first-child dd { font-size: 120px; }
  :where(body:not(.page-home)) :is(.profile-body,.article-layout) { gap: 42px; padding-block: 46px; }
  :where(body:not(.page-home)) .reading-body h2 { font-size: 38px; }
  :where(body:not(.page-home)) .reading-body p { font-size: 17px; line-height: 1.85; }
  :where(body:not(.page-home)) .curiosity-list li { font-size: 16px; }
  :where(body:not(.page-home)) .profile-next { font-size: 13px; gap: 20px; padding-block: 27px 40px; }
  :where(body:not(.page-home)) .article-header { padding-block: 20px 35px; }
  :where(body:not(.page-home)) .article-header h1 { font-size: clamp(49px,13.2vw,75px); line-height: 1; max-width: 23ch; }
  :where(body:not(.page-home)) .article-standfirst { font-size: 19px; line-height: 1.65; margin-top: 25px; }
  :where(body:not(.page-home)) .article-hero img { max-height: none; }
  :where(body:not(.page-home)) .article-hero-person img { width: 100%; max-height: none; }
  :where(body:not(.page-home)) .article-hero figcaption { font-size: 12px; }
  :where(body:not(.page-home)) .club-intro { grid-template-columns: 1fr; gap: 20px; }
  :where(body:not(.page-home)) .club-intro h2 { font-size: 60px; }
  :where(body:not(.page-home)) :is(.club-intro p,.club-reading p) { font-size: 17px; }
  :where(body:not(.page-home)) .club-info { font-size: 13px; gap: 18px; }
  :where(body:not(.page-home)) .club-reading { grid-template-columns: 1fr; gap: 35px; }
  :where(body:not(.page-home)) .club-reading h2 { font-size: 48px; }
  :where(body:not(.page-home)) .club-reading h3 { font-size: 34px; }
  :where(body:not(.page-home)) .league-switch { gap: 8px 22px; margin-bottom: 32px; }
  :where(body:not(.page-home)) .league-switch a { font-size: 14px; }
  :where(body:not(.page-home)) .subhead { font-size: 44px; }
  :where(body:not(.page-home)) .subtext { font-size: 14px; }
  :where(body:not(.page-home)) .fixture { grid-template-columns: 18px 74px minmax(0,1fr) 58px; gap: 8px; font-size: 12px; padding: 18px 5px; }
  :where(body:not(.page-home)) .fixture .fixture-score { font-size: 24px; }
  :where(body:not(.page-home)) .fixture-future .fixture-score { font: 11px var(--body); }
  :where(body:not(.page-home)) table { font-size: 12px; }
  :where(body:not(.page-home)) :is(td,th) { padding: 13px 7px; }
  :where(body:not(.page-home)) .our-row .points { font-size: 24px; }
  :where(body:not(.page-home)) .lineup-copy h2 { font-size: 55px; }
  :where(body:not(.page-home)) .lineup-copy p { font-size: 16px; }
  :where(body:not(.page-home)) .pitch { min-height: 445px; padding: 24px 8px; }
  :where(body:not(.page-home)) .pitch-player { font-size: 11px; }
  :where(body:not(.page-home)) .pitch-player b { width: 34px; height: 34px; font-size: 22px; }
  :where(body:not(.page-home)) .starting-eleven li { font-size: 13px; }
  :where(body:not(.page-home)) .round-grid { grid-template-columns: 1fr; }
  :where(body:not(.page-home)) .round-grid li { font-size: 13px; padding-block: 18px; }
  :where(body:not(.page-home)) .reports-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  :where(body:not(.page-home)) main *,
  :where(body:not(.page-home)) main *::before,
  :where(body:not(.page-home)) main *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

