/* school.rimfire.com - on top of datagov.css + dash.css (copies of the Majors page's look; keep in step).
   Accent: Rimfire's burnt orange next to the Majors blue-green hero. */
:root { --dash-a: #2a78d6; --dash-b: #1baf7a; --rf: #d9480f; --rf-2: #ff6a2b; }
.accent { color: var(--rf); }
.brand-link { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.dhero .lede { font-size: 1.08rem; }
.dhero .ctas { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.btn.rf, button.rf { background: var(--rf); border-color: transparent; color: #fff; font-weight: 650; }
.btn.rf:hover, button.rf:hover { filter: brightness(1.07); }
.hero-points { display: flex; gap: 8px 18px; flex-wrap: wrap; margin: 14px 0 0; padding: 0; list-style: none; color: var(--hero-ink-2); font-size: .92rem; }
.hero-points li::before { content: '✓ '; color: var(--dash-b); font-weight: 800; }

.cards3 { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.feature { border-radius: 18px; padding: 18px; background: var(--surface); border: 1px solid var(--ring); box-shadow: var(--shadow); }
.feature .ic { font-size: 1.6rem; }
.feature h3 { font-family: var(--display); font-size: 1.1rem; margin: 6px 0 4px; }
.feature p { margin: 0; color: var(--ink-2); font-size: .93rem; }

.districts { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.district { position: relative; border-radius: 20px; padding: 20px; background: var(--surface); border: 1px solid var(--ring); box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 8px; }
.district h3 { font-family: var(--display); font-size: 1.35rem; margin: 0; }
.district .place { color: var(--muted); font-size: .85rem; margin-top: -4px; }
.district p { margin: 0; color: var(--ink-2); }
.district .go { margin-top: auto; padding-top: 10px; display: flex; gap: 8px; flex-wrap: wrap; }
.district .status { position: absolute; top: 16px; right: 16px; }
.district.featured { border: 2px solid var(--rf-2); box-shadow: 0 0 0 4px rgba(255,106,43,.15), var(--shadow); }
.badge.early { background: var(--accent-wash); color: var(--accent-ink); }
.badge.demo { background: rgba(27,175,122,.14); color: var(--good-ink); }

.formcard { border-radius: 18px; padding: 18px; background: var(--surface-2); border: 1px solid var(--ring); }
.formcard .row { align-items: end; }
.formcard input[type="email"], .formcard input[type="text"] { width: 100%; font: inherit; color: var(--ink); background: var(--page); border: 1px solid var(--axis); border-radius: 8px; padding: 8px 10px; min-height: 40px; }
.form-msg:empty { display: none; }
.form-msg { margin-top: 12px; }
.formcard .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.college { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.college a.feature { text-decoration: none; color: inherit; display: block; transition: transform .15s; }
.college a.feature:hover { transform: translateY(-2px); }
.college a.feature.big { padding: 22px; border: 2px solid var(--accent-wash); }
.college a.feature.big h3 { font-size: 1.3rem; }
.college a.feature.big .btn { margin-top: 14px; pointer-events: none; }

.section-title { font-family: var(--display); font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 34px 0 6px; }
.section-sub { color: var(--ink-2); margin: 0 0 16px; max-width: 70ch; }

footer#foot { border-top: 1px solid var(--ring); margin-top: 40px; background: var(--surface); }
.foot-in { display: grid; gap: 8px; padding-top: 18px; padding-bottom: 24px; font-size: .9rem; }
.foot-in .links { display: flex; gap: 16px; flex-wrap: wrap; }
.legal h2 { font-family: var(--display); font-size: 1.2rem; margin: 26px 0 6px; }
.legal p, .legal li { color: var(--ink-2); max-width: 75ch; }
