/* Approved Precision layout. Existing brand assets and record components are reused. */
.precision-header { padding:18px max(56px, calc((100vw - 1375px)/2)); min-height:82px; }
.precision-header .record-brand strong { font-size:23px; letter-spacing:-.04em; }
.precision-header .record-brand small { font-size:14px; }
.precision-header nav { align-items:center; gap:10px; }
.precision-header nav a { padding:16px 22px; color:#d6deea; text-decoration:none; font-size:16px; font-weight:700; border-radius:4px; min-height:48px; }
.precision-header nav a:hover, .precision-header nav a[aria-current] { background:#243247; color:white; }
.precision-skip { position:fixed; top:-80px; left:20px; z-index:100; padding:12px 18px; background:white; color:var(--navy); }
.precision-skip:focus { top:10px; }
.precision-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.view-shell:has(.precision-profile) { max-width:1440px; padding:18px 56px 48px; }
.precision-profile { color:var(--navy); font-variant-numeric:tabular-nums; }
.precision-profile .record-profile-return { margin:0 0 18px; }
.precision-profile .record-profile-return button { font-size:14px; font-weight:550; min-height:44px; }
.precision-profile-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:44px; align-items:center; padding:0 0 12px; }
.precision-profile-heading .eyebrow { color:#c9362d; font-size:13px; font-weight:800; letter-spacing:.02em; }
.precision-profile-heading h1 { margin:12px 0 8px; font-size:clamp(44px,5.55vw,80px); font-weight:850; line-height:1.08; letter-spacing:-.06em; overflow-wrap:anywhere; }
.precision-profile-heading p { font-size:21px; line-height:1.5; margin:0; }
.precision-profile-heading .tag { margin-left:8px; font-size:13px; padding:5px 13px; vertical-align:middle; background:#ffe6a5; color:#493312; border:0; }
.precision-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; align-self:center; }
.precision-stats>div { padding:0 20px; border-left:1px solid var(--line); display:flex; flex-direction:column; min-width:0; }
.precision-stats>div:first-child { padding-left:0; border:0; }
.precision-stats>div:last-child { padding-right:0; }
.precision-stats dt { order:1; color:#526176; font-size:14px; line-height:1.35; max-width:100px; }
.precision-stats dd { order:0; margin:0 0 4px; font-size:40px; line-height:1.1; font-weight:800; letter-spacing:-.04em; }
.precision-stats span { order:2; color:#526176; font-size:12px; margin-top:5px; line-height:1.4; }
.precision-profile>.record-profile-tabs { margin:18px 0 22px; }
.precision-profile>.record-profile-tabs button { min-height:50px; font-size:15px; padding:12px 18px; }
.precision-overview { display:grid; grid-template-columns:minmax(0,1.88fr) minmax(0,1fr); align-items:start; gap:20px; }
.precision-main,.precision-aside { min-width:0; display:flex; flex-direction:column; gap:20px; }
.precision-panel { background:#fff; border:1px solid #dce3eb; border-radius:4px; padding:18px; min-width:0; }
.precision-panel h2 { margin:0; font-size:26px; font-weight:800; line-height:1.2; letter-spacing:-.045em; }
.precision-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.precision-section-head p { margin:4px 0 0; font-size:16px; color:#526176; line-height:1.4; }
.precision-link { display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; color:var(--blue); padding:0; font:inherit; font-size:14px; font-weight:550; min-height:44px; cursor:pointer; text-decoration:none; }
.precision-link svg { width:18px; height:18px; flex-shrink:0; }
.precision-link:hover { text-decoration:underline; text-underline-offset:4px; }
.precision-chart { overflow-x:auto; padding:10px 0 0; }
.precision-chart-inner { display:grid; grid-template-columns:repeat(var(--seasons), minmax(44px,1fr)); gap:22px; min-width:calc(var(--seasons) * 56px); }
.precision-year { appearance:none; padding:0; margin:0; background:transparent; border:0; color:var(--navy); min-width:0; cursor:pointer; text-align:center; }
.precision-year-column { height:150px; position:relative; display:block; margin-top:24px; }
.precision-year-value { position:absolute; left:0; width:100%; transform:translateY(-8px); font-weight:800; font-size:18px; line-height:1.1; }
.precision-year-bar { position:absolute; left:0; right:0; bottom:0; border-radius:2px 2px 0 0; background:#315898; transition:background .15s; }
.precision-year:is(:hover,:focus-visible) .precision-year-bar { background:#c84739; }
.precision-year-label { display:block; color:#526176; font-size:14px; padding:10px 0 2px; }
.precision-method { margin:14px 0 0; padding-top:10px; border-top:1px solid #edf0f4; font-size:12px; color:#526176; line-height:1.65; }
.precision-method summary { min-height:28px; cursor:pointer; }
.precision-method table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.precision-method caption { text-align:left; margin-bottom:8px; }
.precision-method th,.precision-method td { padding:8px; border-bottom:1px solid var(--line); }
.precision-select { font-size:12px; display:grid; gap:4px; color:#526176; }
.precision-select select { min-height:40px; padding:7px; background:white; color:var(--ink); border:1px solid var(--line); border-radius:4px; }
.precision-recent .precision-section-head { margin-bottom:8px; }
.precision-recent .precision-link { white-space:nowrap; }
.precision-results-table { table-layout:fixed; border-collapse:collapse; width:100%; text-align:left; font-size:13px; }
.precision-results-table th,.precision-results-table td { padding:14px 10px; vertical-align:top; border-bottom:1px solid var(--line); line-height:1.4; overflow-wrap:anywhere; }
.precision-results-table thead th { padding:10px; font-size:10px; font-weight:750; color:#526176; background:#f0f3f7; text-transform:uppercase; letter-spacing:.025em; }
.precision-results-table thead th:first-child { width:29%; }
.precision-results-table thead th:nth-child(2) { width:10%; }
.precision-results-table thead th:nth-child(3) { width:22%; }
.precision-results-table thead th:nth-child(4) { width:11%; }
.precision-results-table thead th:nth-child(5) { width:11%; }
.precision-results-table thead th:last-child { width:17%; }
.precision-results-table tbody tr:last-child>* { border-bottom:0; }
.precision-results-table tbody th { font-weight:500; }
.precision-result-open { font:inherit; font-weight:inherit; text-align:left; color:inherit; padding:0; background:transparent; border:0; line-height:inherit; cursor:pointer; min-height:44px; }
.precision-result-open:hover { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.precision-results-table .precision-score { font-size:18px; font-weight:800; }
.precision-results-table td small { display:block; margin-top:3px; color:#526176; font-size:11px; }
.precision-source-link { display:inline-flex; align-items:center; gap:5px; color:var(--blue); text-decoration:none; font-size:12px; min-height:44px; }
.precision-source-link svg { width:14px; height:14px; flex:none; transform:rotate(-45deg); }
.precision-source-link:hover { text-decoration:underline; }
.precision-medal { display:inline-block; background:#ffe391; color:#4e3610; border-radius:20px; padding:4px 10px; font-size:12px; font-weight:750; }
.precision-medal.silver { background:#e7ebef; color:#354354; }
.precision-medal.bronze { background:#f5dec9; color:#68412a; }
.precision-facts dl { margin:14px 0 0; }
.precision-facts dl>div { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr); gap:16px; padding:8px 0; font-size:14px; line-height:1.35; }
.precision-facts dt { color:#526176; }
.precision-facts dd { margin:0; overflow-wrap:anywhere; }
.precision-facts .precision-fact-divider { border-top:1px solid var(--line); margin-top:12px; padding-top:16px; }
.precision-honors .precision-section-head { margin-bottom:0; }
.precision-honors p { margin:14px 0 0; font-size:14px; line-height:1.6; }
.precision-coverage { margin:0; color:#526176; font-size:12px; line-height:1.65; }
.precision-correction { align-self:start; min-height:32px; font-size:12px; }
.precision-season-access { margin-top:22px; }
.precision-season-list { margin-top:12px; border-top:1px solid var(--line); }
.precision-season-list>a { display:flex; align-items:center; gap:24px; padding:16px 0; border-bottom:1px solid var(--line); color:var(--navy); font-size:14px; text-decoration:none; }
.precision-season-list>a span { flex:1; color:#526176; }
.precision-season-list svg { width:18px; height:18px; }
.precision-dialog { max-width:760px; width:calc(100% - 32px); max-height:calc(100dvh - 48px); padding:24px; border:1px solid var(--line); border-radius:8px; color:var(--navy); background:white; box-shadow:0 24px 80px #07111f40; }
.precision-dialog::backdrop { background:#07111f99; }
.precision-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.precision-dialog h2 { font-size:25px; line-height:1.3; margin:12px 0 20px; letter-spacing:-.03em; }
.precision-dialog .record-result summary { display:none; }
.precision-dialog .record-result-body { margin:0 0 20px; }
.precision-dialog .record-result-body>p:first-child { display:none; }
.precision-dialog>a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--blue); }
.precision-dialog>a svg { width:18px; }
.precision-close { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); background:white; border-radius:4px; color:var(--navy); cursor:pointer; }
.precision-close svg { width:20px; height:20px; }
@media(min-width:1600px) { .precision-header { padding-inline:calc((100vw - 1328px)/2); } }
@media(max-width:1100px) {
  .precision-header { gap:20px; }
  .precision-header .record-brand strong { font-size:20px; }
  .precision-header .record-brand small { font-size:12px; }
  .precision-header nav a { padding:14px 12px; font-size:14px; }
  .view-shell:has(.precision-profile) { padding-inline:24px; }
  .precision-profile-heading { gap:28px; }
  .precision-stats>div { padding:0 12px; }
  .precision-stats dd { font-size:32px; }
  .precision-stats dt { font-size:12px; }
  .precision-panel h2 { font-size:23px; }
  .precision-overview { grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); gap:16px; }
  .precision-panel { padding:16px; }
  .precision-results-table th,.precision-results-table td { padding:10px 6px; font-size:12px; }
}
@media(max-width:800px) {
  .precision-profile-heading { grid-template-columns:1fr; gap:24px; }
  .precision-profile-heading h1 { font-size:60px; }
  .precision-profile-heading p { font-size:18px; }
  .precision-stats>div { padding:0 20px; }
  .precision-stats dt { max-width:110px; font-size:13px; }
  .precision-overview { grid-template-columns:1fr; }
  .precision-aside { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .precision-aside .precision-facts { grid-row:span 3; }
  .precision-aside .precision-coverage { align-self:start; }
  .precision-panel h2 { font-size:24px; }
  .precision-results-table th,.precision-results-table td { font-size:14px; padding:14px 8px; }
}
@media(max-width:600px) {
  .precision-header { display:block; min-height:0; padding:14px 16px 0; }
  .precision-header .record-brand strong { font-size:19px; }
  .precision-header .record-brand small { font-size:11px; }
  .precision-header nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin-top:12px; }
  .precision-header nav a { text-align:center; font-size:12px; padding:13px 2px; min-height:44px; border-radius:3px 3px 0 0; }
  .view-shell:has(.precision-profile) { padding:14px 16px 32px; }
  .precision-profile .record-profile-return { margin-bottom:18px; }
  .precision-profile .record-profile-return button { font-size:12px; }
  .precision-profile-heading h1 { font-size:48px; margin:10px 0 10px; }
  .precision-profile-heading .eyebrow { font-size:11px; }
  .precision-profile-heading p { font-size:16px; }
  .precision-profile-heading .tag { font-size:11px; margin-left:5px; padding:4px 8px; }
  .precision-stats { gap:0; }
  .precision-stats>div { padding:0 10px; }
  .precision-stats dt { font-size:10px; }
  .precision-stats dd { font-size:30px; margin-bottom:5px; }
  .precision-stats span { font-size:9px; }
  .precision-profile>.record-profile-tabs { margin:12px 0 18px; }
  .precision-profile>.record-profile-tabs button { padding:12px 4px; font-size:12px; min-height:46px; }
  .precision-panel { padding:16px; }
  .precision-panel h2 { font-size:22px; line-height:1.25; }
  .precision-section-head { gap:12px; align-items:start; }
  .precision-section-head p { font-size:12px; margin-top:5px; }
  .precision-growth .precision-section-head { flex-wrap:wrap; }
  .precision-chart-inner { gap:12px; }
  .precision-year-column { height:118px; }
  .precision-year-value { font-size:16px; }
  .precision-year-label { font-size:12px; }
  .precision-method summary { min-height:32px; }
  .precision-recent .precision-section-head { align-items:center; gap:8px; }
  .precision-recent .precision-link { font-size:11px; gap:4px; }
  .precision-recent .precision-link svg { width:14px; }
  .precision-results-table,.precision-results-table tbody { display:block; }
  .precision-results-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .precision-results-table tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 14px; padding:18px 0; border-top:1px solid var(--line); }
  .precision-results-table tbody tr:last-child { padding-bottom:0; }
  .precision-results-table th,.precision-results-table td { border:0; padding:0; display:block; font-size:13px; }
  .precision-results-table tbody th { grid-column:1/-1; font-size:15px; font-weight:650; }
  .precision-results-table td:before { content:attr(data-label); display:block; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:#526176; margin-bottom:6px; font-weight:600; }
  .precision-results-table td:nth-child(3) { grid-column:span 2; }
  .precision-results-table td:last-child { align-self:start; }
  .precision-results-table .precision-score { font-size:22px; }
  .precision-source-link { font-size:11px; min-height:44px; align-items:start; }
  .precision-result-open { min-height:0; width:100%; padding:5px 0; }
  .precision-aside { display:flex; gap:16px; }
  .precision-facts dl>div { font-size:13px; gap:16px; }
  .precision-season-list>a { gap:14px; font-size:12px; }
  .precision-dialog { padding:18px; max-height:calc(100dvh - 24px); }
  .precision-dialog h2 { font-size:23px; }
  .precision-dialog .record-result-body { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .precision-year-bar { transition:none; } }
