/* Inner pages (listings, team, profiles, company, join, news, closings).
   These pages still carry inline styles from the old site; this layer brings them onto
   the site.css system: pill buttons, rounded media, mono figures, Apple-weight headings. */

main { display: block; }

/* Shared content classes (ported from the old per-page style block) */
.tgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.tcard { background: var(--white); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.tcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.tcard .ph { aspect-ratio: 4 / 5; background: var(--lilac) center/cover no-repeat; }
.tcard .bd { padding: 20px 20px 22px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.tcard h3 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 21px; letter-spacing: -.02em; color: var(--navy); }
.tcard .role { font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.tcard .ln { font-size: 14px; color: var(--muted); }
.tcard a { color: var(--navy); text-decoration: none; font-weight: 600; font-size: 15px; }
.tcard a:hover { color: var(--red); }
.lead { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: 48px; align-items: start; padding: 48px 0; border-top: 1px solid var(--line); }
.lead .ph { aspect-ratio: 4 / 5; border-radius: var(--radius); background: var(--lilac) center/cover no-repeat; }
.lead h3 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 3vw, 38px); letter-spacing: -.03em; color: var(--navy); }
.lead p, .lead li { font-size: 17px; line-height: 1.65; color: var(--ink); }
.lead ul { margin: 8px 0 16px; padding-left: 20px; columns: 2; column-gap: 32px; }
@media (max-width: 760px) { .lead { grid-template-columns: 1fr; } .lead ul { columns: 1; } }
.prose p { font-size: 18px; line-height: 1.7; color: var(--ink); margin: 0 0 18px; max-width: 68ch; }
.cols3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.box { background: var(--surface); border-radius: var(--radius); padding: 28px; }
.box h3 { margin: 0 0 10px; font-family: var(--font-display); font-weight: 700; font-size: 22px; letter-spacing: -.02em; color: var(--navy); }
.box p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.news { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; padding: 24px 0; border-top: 1px solid var(--line); text-decoration: none; }
.news img { width: 200px; height: 132px; object-fit: cover; border-radius: var(--radius-sm); display: block; }
.news .dt { font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--red); }
.news h3 { margin: 4px 0; font-family: var(--font-display); font-weight: 700; font-size: 22px; letter-spacing: -.02em; color: var(--navy); }
.news p { margin: 0; color: var(--muted); font-size: 15px; }
.news:hover h3 { color: var(--red); }
@media (max-width: 600px) { .news { grid-template-columns: 1fr; } .news img { width: 100%; height: 190px; } }
@media (max-width: 560px) { .lf2 { grid-template-columns: 1fr !important; } }
@media (max-width: 860px) { .lpgrid { grid-template-columns: 1fr !important; } }

/* Inline-style overrides: bring the old markup onto the new system */
main [style*="max-width: 1280px"], main [style*="max-width:1280px"] { max-width: var(--container) !important; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; }
main h1[style] { font-weight: 700 !important; letter-spacing: -.035em !important; line-height: 1.02 !important; }
main h2[style*="font-weight: 300"], main h2[style*="font-weight:300"] { font-weight: 500 !important; letter-spacing: -.03em !important; }
main p[style*="letter-spacing: 0.18em"], main p[style*="letter-spacing:.18em"] {
  font-family: var(--font-mono) !important; font-weight: 500 !important; letter-spacing: .08em !important;
}

/* Buttons: every old boxy button becomes a pill */
main a[style*="min-height"][style*="border-radius"], main button[type="submit"][style] {
  border-radius: var(--pill) !important; font-weight: 600 !important; padding-left: 26px !important; padding-right: 26px !important;
  transition: background-color var(--t-fast) ease, color var(--t-fast) ease, box-shadow var(--t) var(--ease), transform var(--t) var(--ease);
}
main a[style*="background: #D7141D"]:hover, main a[style*="background:#D7141D"]:hover, main button[type="submit"][style*="#D7141D"]:hover {
  background: var(--red-hover) !important; color: var(--white) !important; box-shadow: 0 10px 24px -8px rgba(215, 20, 29, .6);
}
main a[style*="background: #1B1464"][style*="min-height"]:hover, main a[style*="background:#1B1464"][style*="min-height"]:hover { background: var(--navy-deep) !important; color: var(--white) !important; }
main a[style*="border: 1.5px solid #1B1464"]:hover { background: var(--navy) !important; color: var(--white) !important; }
main a[style*="min-height"]:active, main button[type="submit"]:active { transform: scale(.97); }

/* Form fields */
main input[style], main textarea[style], main select[style] {
  border-radius: var(--radius-sm) !important; min-height: 52px !important; border-color: var(--line-strong) !important;
  font-size: 16px !important; transition: border-color var(--t-fast) ease, box-shadow var(--t-fast) ease;
}
main textarea[style] { min-height: 128px !important; }
main input[style]:focus, main textarea[style]:focus, main select[style]:focus { outline: none; border-color: var(--navy) !important; box-shadow: 0 0 0 4px rgba(27, 20, 100, .14); }
main input.hp, main input[name="company_site"] { min-height: 0 !important; }

/* Media and cards */
main img[style*="border-radius:6px"], main img[style*="border-radius: 6px"], main div[style*="border-radius: 6px"], main div[style*="border-radius:6px"],
main article[style*="border-radius"], main a[style*="border-radius: 6px"], main a[style*="border-radius:6px"] { border-radius: var(--radius) !important; }
main img[style*="border-radius:4px"], main img[style*="border-radius: 4px"] { border-radius: var(--radius-sm) !important; }
main [style*="border: 1px solid #E6E5EE"][style*="border-radius"] { border-color: transparent !important; }
main button[aria-label^="Show photo"] img { transition: opacity var(--t-fast) ease; }
main button[aria-label^="Show photo"]:hover img { opacity: .8; }
main dd[style] { font-variant-numeric: tabular-nums; }
main dt[style*="text-transform:uppercase"], main dt[style*="text-transform: uppercase"] { font-family: var(--font-mono) !important; font-weight: 500 !important; letter-spacing: .06em !important; }
main [style*="border-radius:50%"], main [style*="border-radius: 50%"] { border-radius: 50% !important; }
