.esid-page {
  --green: #1D8A4A;
  --cream: #FAF6EC;
  --amber: #FFB627;
  --dark: #1F2D24;
  --green-soft: rgba(29, 138, 74, .10);
  --cream-soft: rgba(250, 246, 236, .64);
  --dark-soft: rgba(31, 45, 36, .12);
  --shadow: 0 16px 44px rgba(31, 45, 36, .12);
  color: var(--dark);
}
.esid-page *, .esid-page *::before, .esid-page *::after { box-sizing: border-box; }
.esid-page button, .esid-page input { color: inherit; font: inherit; }
.esid-page .page-shell { width: min(100% - 32px, 880px); margin-inline: auto; }
.lookup-hero { padding:54px 0 26px; }
.eyebrow,.result-kicker { margin:0 0 10px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.lookup-hero h1 { max-width:700px; margin:0; color:var(--dark); font-size:clamp(36px,6vw,56px); letter-spacing:-.055em; line-height:1.04; }
.lede { max-width:620px; margin:14px 0 28px; font-size:18px; line-height:1.5; }
.lookup-form { max-width:760px; }
.lookup-form label { display:block; margin-bottom:8px; font-size:15px; font-weight:750; }
.search-row { display:flex; gap:10px; }
.search-row input { min-width:0; min-height:58px; flex:1; border:2px solid var(--dark-soft); border-radius:14px; padding:0 17px; background:var(--cream); font-size:16px; }
.search-row input::placeholder { color:rgba(31,45,36,.68); }
.search-row input:focus-visible,.search-row button:focus-visible,.copy-button:focus-visible,.shop-button:focus-visible,.match-option:focus-visible { outline:3px solid var(--amber); outline-offset:3px; }
.search-row button,.shop-button { display:inline-flex; align-items:center; justify-content:center; min-height:58px; border:0; border-radius:14px; padding:0 20px; background:var(--green); color:var(--cream); font-size:16px; font-weight:780; text-decoration:none; cursor:pointer; }
.search-row button:hover,.shop-button:hover { background:#176F3C; }
.field-note,.privacy-note,.shop-handoff p,.source-note { font-size:13px; line-height:1.55; }
.field-note { margin:8px 2px 0; }
.privacy-note { margin:18px 0 0; padding:12px 14px; border-left:4px solid var(--amber); background:var(--cream-soft); }
.lookup-message { min-height:1.3em; margin:10px 0 0; font-size:14px; font-weight:650; }
.matches { max-height:430px; overflow:auto; margin-top:12px; border:1px solid var(--dark-soft); border-radius:14px; background:var(--cream); box-shadow:var(--shadow); }
.matches[hidden] { display:none; }
.matches-heading { margin:0; padding:14px 16px; background:var(--green-soft); font-size:15px; font-weight:800; }
.matches-subheading { margin:0; padding:0 16px 10px; background:var(--green-soft); font-size:13px; }
.match-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; width:100%; min-height:56px; border:0; border-top:1px solid var(--dark-soft); padding:11px 15px; background:var(--cream); text-align:left; cursor:pointer; }
.match-option:hover,.match-option[aria-selected="true"] { background:var(--green-soft); }
.match-address { font-size:14px; font-weight:740; }
.match-meta { display:block; margin-top:3px; font-size:12px; font-weight:450; }
.match-status { align-self:center; max-width:110px; border-radius:999px; padding:6px 8px; background:var(--cream-soft); font-size:11px; font-weight:750; text-align:center; }
.result-card,.no-match { margin:24px 0; border:1px solid var(--dark-soft); border-radius:20px; background:var(--cream-soft); box-shadow:var(--shadow); }
.result-card { padding:22px; }
.result-card[hidden],.no-match[hidden] { display:none; }
.result-heading-row { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.result-kicker { margin-bottom:4px; }
.esid-value { margin:0; overflow-wrap:anywhere; font-size:clamp(24px,5vw,34px); letter-spacing:-.035em; }
.copy-button { min-width:92px; min-height:48px; border:1px solid var(--dark-soft); border-radius:12px; padding:0 15px; background:var(--cream); font-weight:750; cursor:pointer; }
.result-address { margin:14px 0 0; font-size:17px; font-weight:650; line-height:1.45; }
.status-note { margin:12px 0 0; border-radius:10px; padding:10px 12px; background:var(--green-soft); font-size:14px; font-weight:700; line-height:1.45; }
.status-note[data-state="inactive"],.status-note[data-state="de-energized"],.status-note[data-state="temporary"] { background:rgba(255,182,39,.22); }
.result-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin:16px 0 0; }
.result-details div { min-width:0; border-top:1px solid var(--dark-soft); padding:12px 0; }
.result-details dt { margin-bottom:4px; font-size:12px; font-weight:600; }
.result-details dd { overflow-wrap:anywhere; margin:0; font-size:15px; font-weight:750; }
.more-details { margin-top:8px; border:1px solid var(--dark-soft); border-radius:12px; padding:0 13px; }
.more-details summary { min-height:48px; display:flex; align-items:center; font-weight:750; cursor:pointer; }
.extra-details { margin-top:0; }
.shop-handoff { display:flex; align-items:center; gap:16px; margin-top:18px; border-top:1px solid var(--dark-soft); padding-top:18px; }
.shop-handoff p { margin:0; }
.no-match { padding:20px 22px; }
.no-match h2 { margin:0 0 8px; font-size:21px; }
.no-match p,.no-match li { font-size:14px; line-height:1.55; }
.no-match ol { margin-bottom:0; padding-left:22px; }
.source-note { margin:22px 0 44px; }
.education { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:0 0 52px; }
.education h2 { grid-column:1/-1; margin:0 0 10px; font-size:26px; letter-spacing:-.035em; }
.education article { border-top:1px solid var(--dark-soft); padding:14px 0; }
.education h3 { margin:0 0 6px; font-size:16px; }
.education p { margin:0; font-size:14px; line-height:1.6; }
@media (max-width:620px) {
  .esid-page .page-shell { width:calc(100% - 24px); }
  .lookup-hero { padding:34px 0 20px; }
  .lede { margin:12px 0 22px; font-size:16px; }
  .search-row { flex-direction:column; }
  .search-row input,.search-row button { width:100%; min-height:56px; }
  .result-card { padding:17px; }
  .result-details { grid-template-columns:1fr; gap:0; }
  .shop-handoff { align-items:stretch; flex-direction:column; gap:8px; }
  .shop-button { width:100%; }
  .education { grid-template-columns:1fr; }
  .education h2 { grid-column:auto; }
}
