.finder-hero, .study-hero {
  overflow: hidden;
  background: #123a31;
  color: #fffaf0;
}

.finder-hero {
  background: radial-gradient(ellipse at 83% 125%, #346758 0, #183f35 53%, #0f2d26 100%);
}

.finder-hero-grid, .study-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.33fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(22px, 6vw, 86px);
  padding-block: clamp(32px, 5.2vw, 67px) clamp(34px, 5vw, 62px);
}

.finder-hero-grid { padding-block: clamp(28px, 3.7vw, 48px) clamp(29px, 3.8vw, 49px); }

.finder-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #f3d69e;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.finder-eyebrow::before {
  width: 20px;
  height: 1px;
  background: currentColor;
  content: '';
}

.finder-hero h1, .study-hero h1 {
  margin-block: 8px 12px;
  font-size: clamp(2.2rem, 5.65vw, 4.72rem);
  line-height: 1.12;
  letter-spacing: -.04em;
}

.finder-hero h1 { font-size: clamp(2.2rem, 5.2vw, 4.25rem); }

.finder-hero-grid > div > p:last-child, .study-hero .study-hero-lead {
  max-width: 38em;
  color: #e0eade;
  font-size: clamp(.9rem, 1.34vw, 1.02rem);
}

.finder-totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
  margin: 0;
  padding: clamp(14px, 2.6vw, 29px);
  border: 1px solid #e4dfc650;
  border-radius: 15px;
  background: #0c3029a3;
}

.finder-totals > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid #f0f0d94d;
}

.finder-totals .finder-total {
  grid-column: 1 / -1;
  padding: 0 0 8px;
  border: 0;
}

.finder-totals dt { color: #e0eadd; font-size: .82rem; }
.finder-totals dd { margin: 0; color: #fff9e8; font-size: clamp(1rem, 2.4vw, 1.6rem); font-weight: 700; line-height: 1.18; white-space: nowrap; }
.finder-totals dd strong { font-family: Georgia, serif; font-size: clamp(2.7rem, 6vw, 5.2rem); line-height: .94; letter-spacing: -.07em; }
.finder-totals dd span { margin-left: 4px; color: #e0eadd; font: 400 .7rem var(--sans); }
.finder-totals .map-symbol-public { background: #a6dac2; }
.finder-totals .map-symbol-private { background: #f5bc92; }

.finder-body { margin-block: clamp(18px, 3.3vw, 38px) 0; }

.corridor-section {
  overflow: hidden;
  border: 1px solid #d4ded4;
  border-radius: 16px;
  background: #fffefa;
  box-shadow: 0 15px 45px #172f2710;
}

.corridor-map-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5px 16px;
  padding: 15px clamp(13px, 2.3vw, 27px) 10px;
}

.corridor-map-heading h2 { font-size: clamp(1.35rem, 2.6vw, 1.92rem); }
.corridor-map-heading .text-link { font-size: .8rem; }
.corridor-filters { padding: 0 clamp(13px, 2.3vw, 27px) 14px; }

.finder-search-row {
  display: grid;
  grid-template-columns: minmax(155px, 1fr) minmax(140px, .76fr) minmax(96px, .38fr) minmax(105px, .38fr);
  gap: 8px;
}

.finder-route-note { margin-top: 4px; color: #536a5b; font-size: .76rem; }

.finder-input {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: #43594c;
  font-size: .77rem;
  font-weight: 700;
}

.finder-input input, .finder-input select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 7px 10px;
  border: 1px solid #bacbbd;
  border-radius: 7px;
  background: #f9faf4;
  color: #17372b;
  font: 400 1rem/1.4 var(--sans);
}

.finder-input input::placeholder { color: #66796c; }

.finder-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  margin: 10px 0 0;
  padding: 0;
  border: 0;
}

.finder-chips legend { margin-bottom: 3px; padding: 0; color: #43594c; font-size: .77rem; font-weight: 700; }
.finder-chips button, .finder-reset, .show-on-map {
  min-height: 36px;
  padding: 4px 9px;
  border: 1px solid #c6d5c9;
  border-radius: 6px;
  background: #fffefa;
  color: #224c3a;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
}

.finder-chips button small { margin-left: 5px; color: inherit; font-size: .67rem; font-weight: 400; opacity: .88; }
.finder-chips button:hover, .finder-reset:hover, .show-on-map:hover { background: #e6eee2; border-color: #6d927a; }
.finder-chips button[aria-pressed='true'] { border-color: #214f3d; background: #214f3d; color: #fffefa; }

.map-symbol { display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 50%; background: var(--route-color); }
.line-sobu { --route-color: #a47728; }
.line-matsudo { --route-color: #ac4e71; }
.line-tobu { --route-color: #2a7291; }
.line-toyo { --route-color: #527a57; }
.line-keisei-main { --route-color: #7080ae; }
.line-uchibo, .line-sotobo, .line-keiyo, .line-narita-line { --route-color: #788e86; }
.map-symbol-public { --route-color: #196552; }
.map-symbol-private { --route-color: #a34b2f; border-radius: 1px; transform: rotate(45deg) scale(.83); }
.map-symbol-station { border: 1px solid #527264; background: #fffefa; }

.corridor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, auto);
  border-block: 1px solid #cbdcd3;
}

.corridor-figure {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  margin: 0;
  border-right: 1px solid #cbdcd3;
  background: #d9e8e9;
}

.corridor-figure figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-bottom: 1px solid #cbdcd3;
  background: #eaf1ea;
}

.map-skip { margin-left: auto; color: #34584a; font-size: .75rem; text-underline-offset: 3px; }

.finder-map-pane {
  height: clamp(400px, 45vw, 535px);
  background-image: linear-gradient(#ffffff34 1px, transparent 1px), linear-gradient(90deg, #ffffff34 1px, transparent 1px);
  background-size: 35px 35px;
}

.corridor-map { display: block; width: 100%; height: 100%; overflow: hidden; }
.corridor-land { fill: #e4ebe2; stroke: #bbcfc3; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.corridor-land.chiba-land { fill: #f2eedc; }
.corridor-land[data-land-region='chiba'] { fill: #e9edcd; }
.corridor-land[data-land-region='katsunan'] { fill: #e6edda; }
.corridor-land[data-land-region='tokatsu'] { fill: #e1ecde; }
.corridor-land[data-land-region='inba'] { fill: #eae9d4; }
.corridor-land[data-land-region='northeast'] { fill: #eee8d9; }
.corridor-land[data-land-region='south'] { fill: #eeecd9; }
.corridor-land.region-muted { fill: #dce8e2; stroke: #c5d6cc; }
.map-water-label { fill: #4d6760; font-size: 15px; font-weight: 700; text-anchor: middle; }
.map-water-label { fill: #5e807d; font-size: 14px; letter-spacing: .19em; pointer-events: none; }
.corridor-map.is-zoomed .map-water-label { display: none; }
.corridor-rail { fill: none; stroke: var(--route-color, #859a92); stroke-width: 1.55px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; opacity: .65; }
.corridor-rail.is-active { stroke: var(--route-color, #215b47); stroke-width: 3px; opacity: 1; }
.corridor-rail.is-muted { opacity: .18; }
.corridor-station.pin-hidden { display: none; }
.station-size, .pin-size { transform: scale(var(--marker-scale, 1)); }
.corridor-station circle { fill: #fff; stroke: #4c665b; stroke-width: 1px; }
.corridor-station text { fill: #233b31; font-size: 13px; font-weight: 700; paint-order: stroke; stroke: #f6f4e7; stroke-width: 3px; stroke-linejoin: round; }

.map-region-label rect { fill: #fffcf1; stroke: #9bb5a4; stroke-width: 1px; }
.map-region-label text { fill: #244b3b; font-size: 13px; font-weight: 700; }
.map-region-label:hover rect, .map-region-label:focus rect { fill: #e4efdd; stroke: #386b52; stroke-width: 2px; }
.corridor-pin { --pin-color: #196552; cursor: pointer; }
.corridor-pin.pin-private { --pin-color: #a34b2f; }
.corridor-pin.pin-hidden, .map-region-label.pin-hidden { display: none; }
.pin-area { fill: transparent; }
.pin-symbol { fill: var(--pin-color); stroke: #fffcf0; stroke-width: 1.35px; vector-effect: non-scaling-stroke; }
.corridor-pin:hover .pin-area, .corridor-pin:focus .pin-area, .corridor-pin[aria-current='true'] .pin-area { fill: #f9df95; stroke: #285846; stroke-width: 1px; vector-effect: non-scaling-stroke; }
.corridor-pin[aria-current='true'] .pin-symbol { stroke: #1d3029; }

.finder-map-caption {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px 14px;
  padding: 5px 13px;
  border-top: 1px solid #cbdcd3;
  background: #edf3ec;
  color: #315447;
  font-size: .75rem;
}

#finder-map-label { color: #315447; font-size: .81rem; font-weight: 700; }
.corridor-list { display: grid; grid-template-rows: auto minmax(0, 1fr); min-width: 0; max-height: calc(clamp(400px, 45vw, 535px) + 75px); }
.corridor-list-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 13px; border-bottom: 1px solid #dce5da; background: #f7f7ec; }
.corridor-list-head h3 { font-size: .89rem; }
.corridor-count { color: #3b634f; font-size: .82rem; font-weight: 700; }
.finder-reset { margin-left: auto; min-height: 30px; padding-block: 2px; font-size: .74rem; }
.corridor-cards { display: grid; align-content: start; overflow: auto; scrollbar-gutter: stable; gap: 7px; padding: 9px 11px; }
.corridor-cards:focus-visible { outline-offset: -4px; }

.corridor-card {
  --type-line: #6f9f88;
  min-width: 0;
  padding: 9px 10px 9px 12px;
  border: 1px solid #dde7db;
  border-left: 3px solid var(--type-line);
  border-radius: 7px;
  background: #fff;
}

.corridor-card[data-type='private'] { --type-line: #bf8c71; }
.corridor-card:target, .corridor-card.is-selected { border-color: #5b896d; background: #edf5e9; }
.corridor-card:focus-visible { outline-offset: 1px; }
.corridor-card-head { display: flex; justify-content: space-between; gap: 5px 8px; align-items: center; }
.corridor-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; color: #536b5e; font-size: .71rem; }
.corridor-card h3 { margin-top: 2px; color: #1c352c; font-size: 1.05rem; line-height: 1.35; }
.map-type { display: inline-flex; padding: 0 5px; border-radius: 4px; background: #e4f1e8; color: #245940; font-weight: 700; }
.map-type-private { background: #f5e9df; color: #83462f; }
.show-on-map { min-height: 32px; flex: 0 0 auto; font-size: .73rem; }
.corridor-card-feature, .corridor-card-access { margin-top: 4px; font-size: .79rem; line-height: 1.59; }
.corridor-card-access { color: #4e695c; font-weight: 700; }
.corridor-route-access { margin-top: 5px; padding: 5px 8px; border-left: 2px solid #c0d5c6; background: #f2f6ef; }
.corridor-route-name { color: #315e4a; font-size: .73rem; font-weight: 700; }
.corridor-route-access .corridor-card-access { margin-top: 2px; }
.corridor-card-access small { display: inline-block; padding-inline: 4px; border-radius: 3px; background: #fffefa; color: #506559; font-size: .67rem; font-weight: 400; }
.corridor-course-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 5px 0 0; padding: 0; list-style: none; }
.corridor-course-tags li { padding: 1px 5px; border-radius: 3px; background: #f3f2e8; color: #5c5440; font-size: .7rem; }
.corridor-card-links { display: flex; flex-wrap: wrap; gap: 1px 10px; margin-top: 3px; color: #285941; font-size: .74rem; }
.corridor-card-links a { text-underline-offset: 3px; }
.corridor-card-links .text-link { font-size: inherit; }
.finder-sources { padding: 9px clamp(13px, 2.3vw, 27px) 11px; color: #4e6558; font-size: .77rem; }
.finder-sources summary { width: fit-content; color: #285a45; font-weight: 700; cursor: pointer; }
.finder-sources p { margin-top: 4px; }
.finder-sources a { text-underline-offset: 3px; }

.finder-featured { margin-block: clamp(25px, 5vw, 64px) 19px; }
.finder-featured h2 { margin-bottom: 10px; font-size: clamp(1.45rem, 2.7vw, 2.15rem); }
.finder-featured-grid, .corridor-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.finder-featured-grid > article { display: grid; grid-template-columns: minmax(98px, .83fr) minmax(0, 1.17fr); overflow: hidden; border: 1px solid #d4e0d6; border-radius: 12px; background: #fffefa; }
.finder-featured-grid img { width: 100%; height: 100%; min-height: 142px; object-fit: cover; }
.finder-featured-grid article > div { padding: 9px 12px; }
.finder-featured-grid h3 { margin-bottom: 3px; font-size: 1.15rem; }
.finder-featured-grid p, .finder-featured-grid .text-link { color: #435d4e; font-size: .8rem; }
.finder-photo-source { display: block; margin-top: 4px; color: #4d6355; font-size: .65rem; line-height: 1.45; }
.corridor-next { padding-block: 3px 47px; }
.corridor-next > article { padding: 14px clamp(13px, 2.5vw, 24px); border: 1px solid #d4e0d6; border-radius: 11px; background: #eef3e8; }
.corridor-next h2 { margin-bottom: 6px; font-size: clamp(1.11rem, 2.1vw, 1.52rem); }
.corridor-next p:not(.source-note) { margin-bottom: 4px; font-size: .84rem; }

.study-hero-grid { grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr); gap: clamp(16px, 4.3vw, 58px); }
.study-hero h1 { font-size: clamp(2.16rem, 5vw, 4.38rem); }
.study-hero figure { overflow: hidden; border: 1px solid #e7dfb853; border-radius: 14px; }
.study-hero img { display: block; width: 100%; height: auto; max-height: 310px; aspect-ratio: 1.6; object-fit: cover; object-position: center 55%; }
.study-hero-links { display: flex; flex-wrap: wrap; gap: 9px 12px; margin-top: 16px; }
.study-hero-links .button { min-height: 42px; padding: 5px 12px; font-size: .81rem; }
.study-hero-secondary { border-color: #ccdace99; color: #f0f5e7; }
.study-hero-secondary:hover { background: #245043; }
.study-hero :focus-visible { outline-color: #f3d38a; }
.study-body { padding-bottom: clamp(29px, 5vw, 67px); }
.study-directory { padding-block: clamp(22px, 3vw, 40px) 18px; }
.study-directory-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 3px 12px; margin-bottom: 10px; }
.study-directory h2 { font-size: clamp(1.48rem, 2.9vw, 2.15rem); }
.study-directory-heading .text-link { font-size: .78rem; }

.subject-japanese { --subject-ink: #8f4544; --subject-mist: #f8eeea; --subject-border: #e5c8c4; }
.subject-math { --subject-ink: #2f617c; --subject-mist: #eaf1f7; --subject-border: #c4d8e3; }
.subject-english { --subject-ink: #674e85; --subject-mist: #f1edf7; --subject-border: #d7c9e3; }
.subject-science { --subject-ink: #296753; --subject-mist: #eaf3ea; --subject-border: #bfd9c9; }
.subject-social { --subject-ink: #825c24; --subject-mist: #f6f0df; --subject-border: #e0d2af; }

.subject-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.subject-nav a { display: flex; justify-content: space-between; align-items: start; gap: 4px; min-width: 0; min-height: 77px; padding: 8px 10px; border: 1px solid var(--subject-border); border-radius: 7px; background: var(--subject-mist); color: var(--subject-ink); text-decoration: none; }
.subject-nav a:hover { border-color: var(--subject-ink); background: #fff; }
.subject-nav strong { display: block; font-family: var(--serif); font-size: clamp(1.07rem, 2.0vw, 1.53rem); line-height: 1.4; }
.subject-nav small { display: block; font-size: .71rem; }

.guide-exam-note { margin-bottom: 23px; padding: 10px clamp(12px, 2vw, 24px); border: 1px solid #dbe4d6; border-radius: 9px; background: #f0f4eb; }
.guide-exam-note summary { padding-block: 3px; color: #244c3a; font-size: .88rem; font-weight: 700; cursor: pointer; }
.guide-exam-note p:not(.source-note) { margin-block: 4px; font-size: .83rem; }

.subject-guides { display: grid; gap: clamp(18px, 3.4vw, 37px); }
.subject-guide { overflow: clip; border: 1px solid var(--subject-border); border-radius: 13px; background: #fffefa; box-shadow: 0 8px 28px #273c270a; }
.subject-guide:target { border-color: var(--subject-ink); }
.subject-guide-head { display: grid; grid-template-columns: minmax(105px, .35fr) minmax(0, 1fr); align-items: start; gap: 9px 22px; padding: clamp(13px, 2.7vw, 31px); border-bottom: 1px solid var(--subject-border); background: var(--subject-mist); }
.subject-guide-head h2 { color: var(--subject-ink); font-size: clamp(1.95rem, 3.5vw, 2.85rem); line-height: 1.18; }
.subject-guide-head .subject-theme { margin-top: 4px; color: var(--subject-ink); font-size: .78rem; font-weight: 700; }
.subject-guide-head p { color: #34473e; font-size: .87rem; }
.subject-guide-head .subject-trend { margin-top: 5px; color: #455c4e; font-size: .78rem; }
.subject-trend strong { color: var(--subject-ink); }

.subject-guide-grid { display: grid; grid-template-columns: minmax(0, .89fr) minmax(0, 1.11fr); gap: 12px clamp(16px, 3.2vw, 38px); padding: clamp(13px, 2.5vw, 26px); }
.subject-guide-grid h3 { font-size: clamp(1rem, 1.7vw, 1.2rem); }
.subject-progress dl { margin: 6px 0 0; }
.subject-progress dl > div { display: grid; grid-template-columns: 2.6em minmax(0, 1fr); gap: 8px; align-items: baseline; padding-block: 8px; border-bottom: 1px solid #e6e7df; }
.subject-progress dt { width: fit-content; padding-inline: 5px; border-radius: 4px; background: var(--subject-mist); color: var(--subject-ink); font-size: .82rem; font-weight: 700; }
.subject-progress dd { margin: 0; font-size: .86rem; }
.subject-progress > .text-link { display: inline-flex; margin-top: 9px; color: var(--subject-ink); font-size: .82rem; }

.subject-practice { padding: clamp(11px, 2vw, 21px); border: 1px solid var(--subject-border); border-radius: 9px; background: #faf8ef; }
.subject-practice p { font-size: .86rem; }
.subject-practice .exercise-context { margin-bottom: 3px; color: var(--subject-ink); font-size: .75rem; font-weight: 700; }
.subject-practice h3 { margin-bottom: 8px; line-height: 1.45; }
.subject-practice .practice-passage { border-color: var(--subject-border); background: #fffefa; }
.subject-practice .exam-answer { margin-top: 9px; border: 1px solid var(--subject-border); background: var(--subject-mist); }
.subject-practice summary, .subject-materials > summary { padding-block: 4px; color: var(--subject-ink); font-size: .84rem; font-weight: 700; cursor: pointer; }
.subject-original { margin-top: 5px; padding: 3px 4px; }
.subject-original summary span { margin-left: 4px; color: #536b5d; font-size: .72rem; font-weight: 400; }
.subject-materials { margin: 0 clamp(13px, 2.5vw, 26px) clamp(13px, 2.5vw, 26px); border-color: var(--subject-border); background: #fffefa; }
.subject-materials[open] { background: #fafbf5; }
.subject-materials .school-book h4 { line-height: 1.55; }
.study-guide-sources { margin-top: 14px; }

.guide-past { max-width: 51rem; }
.guide-average-wrap { max-width: 100%; overflow-x: auto; margin-top: 8px; }
.guide-average { min-width: 345px; white-space: nowrap; }
.guide-average caption { padding-block: 4px; color: var(--muted); font-size: .79rem; text-align: left; }

@media (max-width: 760px) {
  .finder-hero-grid, .study-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .66fr); gap: 14px; }
  .finder-search-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finder-totals { gap: 0 9px; }
  .finder-totals > div { flex-wrap: wrap; padding-top: 5px; }
  .finder-featured-grid > article { grid-template-columns: minmax(0, 1fr); }
  .finder-featured-grid img { height: 150px; }
  .subject-nav { gap: 5px; }
  .subject-nav a { min-height: 60px; padding: 6px; }
  .subject-nav small { font-size: .63rem; }
}

@media (max-width: 620px) {
  .finder-hero-grid, .study-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .finder-hero-grid { gap: 13px; padding-block: 23px 21px; }
  .finder-hero h1 br, .study-hero h1 br { display: none; }
  .finder-totals { grid-template-columns: minmax(0, 1.32fr) repeat(2, minmax(0, .83fr)); padding: 8px 10px; }
  .finder-totals > div, .finder-totals .finder-total { grid-column: auto; display: block; padding: 0 0 0 5px; border: 0; }
  .finder-totals > div + div { border-left: 1px solid #e7e8d84a; }
  .finder-totals dt { font-size: .7rem; }
  .finder-totals dd { margin-top: 3px; }
  .finder-totals dd strong { font-size: 1.58rem; letter-spacing: -.03em; }
  .finder-totals dd span { font-size: .62rem; }
  .finder-search-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 6px; }
  .finder-search-row .finder-input:nth-child(-n+2) { grid-column: 1 / -1; }
  .finder-input input, .finder-input select { min-height: 37px; padding-block: 4px; }
  .finder-chips { gap: 4px; margin-top: 6px; }
  .finder-chips button { min-height: 33px; padding-inline: 6px; font-size: .72rem; }
  .finder-chips button small { margin-left: 3px; }
  .corridor-layout, .subject-guide-grid { grid-template-columns: minmax(0, 1fr); }
  .corridor-figure { border-right: 0; }
  .finder-map-pane { height: clamp(320px, 95vw, 440px); }
  .corridor-list { max-height: 430px; border-top: 1px solid #cbdcd3; }
  .finder-featured-grid, .corridor-next { grid-template-columns: minmax(0, 1fr); }
  .finder-featured-grid > article { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .finder-featured-grid img { height: 100%; }
  .study-hero-grid { gap: 14px; padding-block: 22px 20px; }
  .study-hero img { aspect-ratio: 2.5; object-position: center 58%; }
  .study-hero h1 { margin-block: 5px 9px; }
  .study-hero-links { margin-top: 10px; }
  .subject-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .subject-guide-head { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .subject-guide-head .subject-theme { margin-top: 2px; }
  .subject-guide-head .subject-trend { margin-top: 3px; }
}
