.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.record-page .site-header { background: rgba(250,247,241,.97); }
.record-page .nav { max-width: 1200px; min-height: 72px; padding: 8px 28px; gap: 30px; }
.record-page .brand { gap: 11px; letter-spacing: .04em; }
.record-page .brand img { width: 48px; height: 48px; }
.record-page .nav-links { flex-wrap: nowrap; gap: 28px; }
.record-page .nav-links a:not(.record-shop-button) { font-size: .84rem; font-weight: 700; }
.record-page .nav-links a[aria-current="page"] { color: var(--green); }
.record-page .record-shop-button { min-height: 42px; padding: 9px 20px; border-radius: 3px; box-shadow: 0 5px 16px rgba(24,63,49,.14); font-size: .75rem; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.record-page .record-shop-button:hover { transform: translateY(-1px); }
.lookup-hero { padding: 76px 24px 82px; background: radial-gradient(circle at 12% 10%, #fff 0, transparent 36%), var(--cream); }
.lookup-hero-inner { max-width: 1120px; margin: auto; display: grid; grid-template-columns: 1fr .88fr; gap: 68px; align-items: center; }
.lookup-intro h1 { margin-bottom: 12px; }
.record-tagline { margin: 0 0 18px; color: var(--green); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.25rem, 2.4vw, 1.7rem); font-weight: 700; letter-spacing: -.015em; }
.lookup-intro .lead { max-width: 630px; }
.lookup-panel { padding: 34px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.lookup-panel label { display: block; margin-bottom: 10px; color: var(--green); font-weight: 800; }
.lookup-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.lookup-control input { width: 100%; min-height: 54px; padding: 13px 16px; border: 2px solid #c9d0c9; border-radius: 12px; color: var(--ink); background: white; font: inherit; font-size: 1rem; letter-spacing: .055em; text-transform: uppercase; }
.lookup-control input:focus { outline: 3px solid rgba(200,149,82,.25); border-color: var(--green-2); }
.lookup-control button { white-space: nowrap; }
.lookup-help { margin: 12px 0 0; color: var(--muted); font-size: .86rem; }
.lookup-results-section { min-height: 150px; padding: 46px 24px 78px; }
.lookup-status { max-width: 800px; margin: 0 auto; }
.lookup-message { padding: 20px 22px; border: 1px solid var(--line); border-radius: 16px; color: var(--muted); background: var(--paper); text-align: center; }
.lookup-message.error { border-color: #d9b7aa; color: #733b2d; background: #fff8f5; }
.plant-record { overflow: hidden; max-width: 980px; margin: 0 auto; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow); }
.plant-record-header { display: grid; grid-template-columns: minmax(280px,.82fr) 1.18fr; min-height: 390px; }
.plant-record-photo { min-height: 390px; background: #e8eadf; }
.plant-record-photo img { width: 100%; height: 100%; max-height: 580px; object-fit: cover; }
.plant-record-summary { padding: 44px; align-self: center; }
.record-identity { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin: 0 0 18px; }
.record-label { margin: 0; color: var(--cork) !important; font-size: .68rem; font-weight: 900; letter-spacing: .17em; line-height: 1.2; text-transform: uppercase; }
.plant-code { display: inline-flex; margin: 0; padding: 7px 11px; border: 1px solid #cfbf9f; border-radius: 999px; color: var(--green); background: #f8f3e7; font-size: .78rem; font-weight: 900; letter-spacing: .1em; }
.plant-record-summary h2 { margin-bottom: 14px; font-size: clamp(2rem,4vw,3.25rem); }
.plant-record-summary p { color: var(--muted); }
.plant-record-body { display: grid; gap: 0; padding: 0 44px 44px; }
.record-section { padding: 34px 0; border-top: 1px solid var(--line); }
.record-section h3 { margin: 0 0 20px; }
.record-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 28px; margin: 0; }
.record-row { padding: 12px 0; border-bottom: 1px solid #ebe6da; }
.record-row dt { margin-bottom: 3px; color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.record-row dd { margin: 0; color: var(--ink); white-space: pre-wrap; }
.botanical-card { color: #435148; }
.botanical-card h3, .botanical-card h4, .botanical-card h5 { margin: 24px 0 10px; }
.botanical-card > :first-child { margin-top: 0; }
.botanical-card p { margin: 0 0 14px; white-space: pre-wrap; }
.botanical-card ul, .botanical-card ol { margin: 0 0 16px; padding-left: 24px; }
.botanical-card li + li { margin-top: 6px; }
.botanical-card hr { margin: 22px 0; border: 0; border-top: 1px solid var(--line); }
.lookup-explainer { border-top: 1px solid var(--line); }
.record-standard { display: inline-flex; margin: 0 0 16px; padding: 8px 13px; border: 1px solid #cfbf9f; border-radius: 999px; color: var(--green); background: #f8f3e7; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 850px) {
  .record-page .nav { gap: 16px; }
  .record-page .nav-links { gap: 12px 18px; }
  .lookup-hero-inner, .plant-record-header { grid-template-columns: 1fr; }
  .lookup-hero-inner { gap: 38px; }
  .plant-record-photo { min-height: 0; }
  .plant-record-photo img { aspect-ratio: 4 / 3; }
}
@media (max-width: 620px) {
  .record-page .nav { min-height: 66px; padding: 8px 18px; align-items: center; }
  .record-page .brand img { width: 44px; height: 44px; }
  .record-page .brand span { font-size: .78rem; }
  .record-page .nav-links a:not([aria-current="page"]) { display: none; }
  .record-page .nav-links a[aria-current="page"] { font-size: .76rem; white-space: nowrap; }
  .lookup-hero { padding: 50px 20px 58px; }
  .lookup-panel { padding: 22px; border-radius: 18px; }
  .lookup-control { grid-template-columns: 1fr; }
  .lookup-control button { width: 100%; }
  .lookup-results-section { padding: 34px 20px 58px; }
  .plant-record-summary { padding: 28px 24px; }
  .plant-record-body { padding: 0 24px 28px; }
  .record-grid { grid-template-columns: 1fr; }
}
