/* Shared resident-hub system. Existing Anton / Inter and navy / teal identity. */
[hidden] { display: none !important; }
.hub-header { position:relative; z-index:50; background:var(--cream); border-bottom:1px solid var(--line); }
.hub-top { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hub-header .brand { width:292px; flex-shrink:0; }
.hub-header .brand-office { white-space:nowrap; }
.hub-nav { display:flex; gap:26px; align-items:center; }
.hub-nav a { padding:15px 0; color:var(--navy); font-size:14px; font-weight:700; text-decoration:none; border-bottom:3px solid transparent; }
.hub-nav a:hover, .hub-nav a[aria-current="page"] { border-color:var(--teal); }
.hub-search { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; background:var(--navy); border-radius:5px; color:white; font-size:14px; font-weight:700; text-decoration:none; }
.hub-menu { display:none; min-height:44px; padding:0 14px; border:1px solid var(--navy); background:transparent; color:var(--navy); font-weight:700; border-radius:5px; }
.hub-subnav { display:flex; gap:24px; align-items:center; min-height:39px; border-top:1px solid var(--line); font-size:12px; }
.hub-subnav a { text-decoration:none; font-weight:600; }
.hub-subnav a:hover { text-decoration:underline; }
.hub-subnav .office-note { margin-left:auto; color:var(--muted); }
.hub-footer { padding:42px 0 22px; background:var(--navy-deep); color:white; }
.hub-footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:30px; }
.hub-footer strong { display:block; margin-bottom:12px; }
.hub-footer .footer-name { font-family:var(--display); text-transform:uppercase; font-size:34px; line-height:1; }
.hub-footer p { max-width:430px; color:#c4d1d7; font-size:13px; }
.hub-footer nav { display:grid; gap:9px; align-content:start; font-size:13px; }
.hub-footer a { text-underline-offset:3px; }
.hub-footer-bottom { padding-top:20px; border-top:1px solid #3c5364; display:flex; justify-content:space-between; gap:20px; color:#c4d1d7; font-size:12px; }
.hub-footer-bottom p { margin:0; max-width:none; }
.page-head { padding:46px 0 30px; background:var(--paper); border-bottom:1px solid var(--line); }
.page-head h1 { margin:0; font-family:var(--display); font-weight:400; text-transform:uppercase; color:var(--navy); font-size:clamp(42px,5.6vw,76px); line-height:1.06; }
.page-head p { max-width:760px; margin:14px 0 0; font-size:17px; color:var(--muted); }
.page-head .breadcrumb { margin:0 0 16px; font-size:12px; color:var(--teal-dark); }
.page-body { padding:34px 0 64px; min-height:45vh; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin:0 0 20px; }
.section-heading h2 { font-family:var(--display); font-weight:400; font-size:34px; line-height:1.1; text-transform:uppercase; margin:0; }
.section-heading a { font-size:13px; font-weight:700; color:var(--teal-dark); }
.hub-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:10px 18px; background:var(--teal-dark); border:1px solid transparent; border-radius:5px; color:white; text-decoration:none; font-weight:700; font-size:14px; cursor:pointer; }
.hub-button.secondary { background:transparent; border-color:var(--line); color:var(--navy); }
.button-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.hub-toolbar { display:flex; gap:16px; align-items:end; flex-wrap:wrap; margin-bottom:24px; }
.hub-field { display:grid; gap:7px; font-size:12px; font-weight:700; min-width:170px; }
.hub-field.grow { flex:1; }
.hub-field input, .hub-field select { width:100%; min-height:48px; border:1px solid #87969b; border-radius:5px; background:white; color:var(--ink); padding:10px 12px; font:inherit; font-size:15px; }
.result-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:13px; color:var(--muted); margin:16px 0; }
.source-note { font-size:12px; line-height:1.6; color:var(--muted); }
.source-note a { color:var(--teal-dark); }
.notice { padding:18px 20px; background:#e5f0ee; border-left:3px solid var(--teal); font-size:14px; margin:24px 0; }
.notice p { margin:5px 0 0; }
.empty-state { padding:48px 24px; text-align:center; border:1px solid var(--line); background:var(--paper); }
.empty-state h2 { font-size:22px; }
.empty-state p { color:var(--muted); }
.two-column { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:40px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.topic-card { padding:25px; background:var(--paper); border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; align-items:start; }
.topic-card h2 { margin:10px 0; font-size:21px; line-height:1.25; }
.topic-card .topic-label { color:var(--teal-dark); font-size:12px; font-weight:700; }
.topic-card p { margin:0 0 16px; color:var(--muted); font-size:14px; }
.topic-card details { width:100%; margin-bottom:20px; }
.topic-card summary { font-size:13px; font-weight:700; cursor:pointer; padding:5px 0; }
.topic-card details p { font-size:13px; margin-top:10px; }
.topic-card > a { margin-top:auto; font-size:13px; font-weight:700; color:var(--teal-dark); }
.result-row { display:grid; grid-template-columns:125px minmax(0,1fr); gap:24px; padding:24px 0; border-top:1px solid var(--line); }
.result-row .row-kind { color:var(--teal-dark); font-size:12px; font-weight:700; }
.result-row h2,.result-row h3 { margin:0 0 8px; font-size:20px; line-height:1.35; }
.result-row h2 a,.result-row h3 a { text-decoration:none; }
.result-row h2 a:hover,.result-row h3 a:hover { text-decoration:underline; }
.result-row p { color:var(--muted); margin:0 0 8px; font-size:14px; }
.result-row .record-heading { text-transform:lowercase; }
.result-row .record-heading::first-letter { text-transform:uppercase; }
.tag-tabs { display:flex; flex-wrap:wrap; gap:5px 20px; border-bottom:1px solid var(--line); margin:20px 0; }
.tag-tabs button { padding:12px 0; border:0; border-bottom:3px solid transparent; background:transparent; font:inherit; font-size:14px; color:var(--muted); cursor:pointer; }
.tag-tabs button[aria-pressed="true"] { color:var(--teal-dark); border-color:var(--teal); font-weight:700; }
.help-box { padding:24px; border:1px solid var(--line); background:var(--paper); margin-bottom:20px; }
.help-box h2 { margin:0 0 12px; font-size:23px; }
.help-box p { font-size:14px; color:var(--muted); }
.help-box a { color:var(--teal-dark); font-weight:700; }
.help-box a.hub-button:not(.secondary) { color:white; }
.help-box ol { padding-left:20px; }
.help-box li { margin:14px 0; font-size:14px; }
.event-row { display:grid; grid-template-columns:75px minmax(0,1fr); gap:22px; border-top:1px solid var(--line); padding:22px 0; }
.date-block { display:grid; align-content:start; color:var(--teal-dark); font-size:12px; font-weight:700; text-align:center; }
.date-block b { font-family:var(--display); color:var(--navy); font-size:42px; line-height:1.2; }
.event-row h3 { margin:0 0 7px; font-size:20px; }
.event-row p { color:var(--muted); font-size:14px; margin:5px 0; }
.event-row a { color:var(--teal-dark); font-size:13px; font-weight:700; }
.meeting-history { margin-top:44px; }
.table-wrap { overflow-x:auto; }
.hub-table { width:100%; border-collapse:collapse; font-size:14px; background:var(--paper); }
.hub-table th,.hub-table td { text-align:left; padding:16px; border-bottom:1px solid var(--line); vertical-align:top; }
.hub-table th { font-size:12px; color:var(--teal-dark); }
.hub-table a { color:var(--teal-dark); font-weight:600; }
.official-people { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:28px; }
.person img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top; background:var(--paper); }
.person h3 { margin:14px 0 4px; font-size:17px; }
.person p { margin:0; font-size:13px; color:var(--muted); }
.person a { text-decoration:none; }
.person a:hover h3 { text-decoration:underline; }
.home-welcome { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:20px 0; }
.home-welcome p { margin:0; color:var(--muted); font-size:14px; }
.home-welcome strong { color:var(--navy); font-size:18px; }
.home-quicklinks { display:flex; gap:20px; font-size:13px; font-weight:700; color:var(--teal-dark); }
.home-bottom { display:grid; grid-template-columns:1fr 1fr; gap:42px; padding-block:40px 54px; }
.home-service-links { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.home-service-links a { border-top:1px solid var(--line); padding:16px 0; text-decoration:none; font-weight:700; font-size:15px; color:var(--navy); }
.home-service-links a:hover { color:var(--teal); text-decoration:underline; }
.home-action { display:grid; grid-template-columns:70px 1fr; gap:16px; border-top:1px solid var(--line); padding:16px 0; }
.home-action strong { color:var(--teal-dark); font-size:13px; }
.home-action a { font-size:14px; font-weight:700; line-height:1.5; text-decoration:none; }
.home-action a:hover { text-decoration:underline; }
.home-action p { margin:6px 0 0; font-size:12px; color:var(--muted); }
.home-contact { background:var(--teal-dark); color:white; padding:28px 0; }
.home-contact .container { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.home-contact h2 { margin:0 0 4px; font-size:23px; }
.home-contact p { margin:0; font-size:14px; }
.home-contact .hub-button { background:white; color:var(--navy); }
.series-card { min-height:0; border-radius:6px; background:var(--paper); color:var(--ink); }
.series-card > img { position:static; height:auto; aspect-ratio:16/9; object-fit:contain; background:#021b2c; }
.series-shade { display:none; }
.series-copy { position:static; padding:16px 0; gap:7px; }
.series-copy strong { color:var(--navy); font-size:27px; }
.series-copy strong br { display:none; }
.series-copy > span { color:var(--muted); font-size:13px; }
.series-section { padding:28px 0 10px; border-bottom:1px solid var(--line); background:var(--paper); }
.featured-story,.today-panel { border-radius:6px; }
.lead-grid { grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr); align-items:start; }
.today-panel { align-self:stretch; }
.featured-content { min-height:0; padding:20px 24px; }
.featured-content h1 { font-size:clamp(28px,2.6vw,39px); }
.featured-actions .button-icon { display:none; }
.official-item { grid-template-columns:1fr; padding:18px 0; }
.official-icon { display:none; }
.today-panel h2 { font-size:34px; }
.today-panel > header { padding:20px; }
.detail-tools { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:20px 0; }
.detail-tools button { padding:8px 12px; border:1px solid var(--line); background:var(--paper); color:var(--teal-dark); border-radius:4px; font-size:12px; font-weight:700; cursor:pointer; }
.detail-tools a { color:var(--teal-dark); font-size:12px; font-weight:700; }
.item-detail h2 { font-size:clamp(23px,2.3vw,34px); line-height:1.25; }
.status-badge { max-width:200px; white-space:normal; }
.reader-shell { height:min(730px,calc(100dvh - 120px)); min-height:500px; }
.item-list,.item-detail { touch-action:pan-y; }
.meeting-status-row { display:none; }
.quick-row { flex-wrap:wrap; }
.record-evidence { white-space:pre-line; max-height:450px; overflow:auto; font-size:13px; line-height:1.7; }
@media(max-width:1100px) {
 .hub-nav { gap:16px; } .hub-header .brand { width:255px; } .hub-header .brand-office { font-size:9px; } .hub-nav a { font-size:12px; }
 .featured-content { grid-template-columns:1fr; gap:16px; }
}
@media(max-width:900px) {
 .hub-top { min-height:96px; flex-wrap:wrap; gap:12px; padding-block:10px; }
 .hub-header .brand { margin-right:auto; }
 .hub-menu { display:block; }
 .hub-search { order:0; }
 .hub-nav { display:none; width:100%; flex-wrap:wrap; gap:0; order:3; border-top:1px solid var(--line); }
 .hub-nav.is-open { display:flex; } .hub-nav a { width:50%; font-size:15px; padding:13px 0; }
 .hub-subnav { gap:18px; overflow-x:auto; white-space:nowrap; } .office-note { display:none; }
 .lead-grid { grid-template-columns:1fr; }
 .two-column { grid-template-columns:1fr; } .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-welcome { align-items:start; flex-direction:column; gap:12px; }
 .home-bottom { gap:24px; } .home-contact .container { align-items:start; flex-direction:column; }
 .hub-footer-top { grid-template-columns:1fr 1fr; } .hub-footer-top > div { grid-column:1/-1; }
 .official-people { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:860px) { .reader-shell { height:auto; min-height:0; } .item-browser { max-height:480px; } .item-detail { scroll-margin-top:16px; } }
@media(max-width:600px) {
 .container { width:calc(100% - 32px); }
 .hub-header .brand { width:195px; } .hub-header .brand-office { font-size:8px; }
 .hub-search { padding:0 12px; } .hub-menu { padding:0 10px; }
 .hub-top { gap:8px; } .hub-subnav { font-size:11px; }
 .page-head { padding:30px 0 24px; } .page-body { padding-top:24px; }
 .page-head p { font-size:15px; }
 .topic-grid,.home-bottom { grid-template-columns:1fr; }
 .topic-card { padding:22px; } .topic-card details { margin-bottom:12px; }
 .hub-toolbar { gap:12px; } .hub-field { min-width:0; flex:1 1 140px; } .hub-field.grow { flex-basis:100%; }
 .result-row { grid-template-columns:1fr; gap:8px; }
 .home-bottom { gap:34px; padding-block:30px; }
 .home-quicklinks { gap:15px; flex-wrap:wrap; }
 .official-people { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .hub-footer-bottom { flex-direction:column; }
 .featured-content { padding:20px; } .featured-content h1 { font-size:31px; }
 .section-line { gap:10px; } .section-line h2 { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .hub-header,.hub-footer,.agenda-tools,.item-browser,.detail-tools,.section-tabs,.meeting-status-row { display:none!important; } .reader-shell { display:block; height:auto; min-height:0; overflow:visible; } .item-detail { overflow:visible; } body { background:white; } }
