/* Oceanview's public shell: ink, paper, real community photographs. */
.ov-landing { --ov-ink:#101f29; --ov-paper:#f2f0e8; --ov-text:#f2f0e8; --ov-muted:#c1cbd0; --ov-line:#40505a; --ov-sea:#99d2c7; --ov-gold:#eac58f; --ov-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif; --display:var(--ov-display); --body:'IBM Plex Sans',Arial,sans-serif; --mono:'IBM Plex Mono',monospace; background:var(--ov-ink); color:var(--ov-text); font-family:var(--body); line-height:1.6; }
.ov-landing *, .ov-landing *::before, .ov-landing *::after { box-sizing:border-box; }
.ov-landing h1,.ov-landing h2,.ov-landing h3,.ov-landing h4 { color:inherit; margin:0; }
.ov-landing p { margin:0 0 20px; max-width:none; }
.ov-landing a { color:inherit; text-decoration:none; }
.ov-landing a:hover { text-decoration:underline; text-underline-offset:5px; }
.ov-landing button,.ov-landing summary { font:inherit; }
.ov-landing [hidden] { display:none!important; }
.ov-landing :focus-visible { outline:3px solid #e3aa59; outline-offset:5px; }
.ov-landing img { display:block; width:100%; height:auto; }
.ov-landing figure { margin:0; }
.ov-landing summary { cursor:pointer; }
.ov-main { padding:0; }
.ov-page { width:100%; max-width:none; margin:0; padding:0; }
.ov-shell { width:calc(100% - 96px); max-width:1344px; margin-inline:auto; }
.ov-arrow { width:22px; height:22px; flex-shrink:0; }
.ov-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:52px; padding:14px 22px; background:var(--ov-sea); color:var(--ov-ink)!important; border:1px solid var(--ov-sea); font-size:15px; font-weight:600; text-decoration:none!important; }
.ov-button:hover { background:#b7e4da; border-color:#b7e4da; }
.ov-button-small { padding:10px 14px; min-height:44px; font-size:13px; gap:15px; }
.ov-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:15px; font-weight:500; }
.ov-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; }
.ov-label { font:500 11px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--ov-sea); margin-bottom:24px!important; }
.ov-hero { display:grid; grid-template-columns:45% 55%; min-height:670px; }
.ov-hero-copy { padding:68px 38px 46px max(48px,calc((100vw - 1344px)/2)); align-self:center; }
.ov-hero h1 { font:700 clamp(80px,7.7vw,122px)/.84 var(--ov-display); letter-spacing:-.025em; margin-bottom:30px; }
.ov-hero h1 span { color:var(--ov-sea); }
.ov-hero-lead { font-size:23px; font-weight:500; line-height:1.35; }
.ov-hero-description { font-size:16px; max-width:440px!important; color:var(--ov-muted); margin-bottom:30px!important; }
.ov-hero-note { font-size:12px; color:var(--ov-muted); max-width:400px!important; margin:25px 0 0!important; }
.ov-hero-picture { position:relative; min-width:0; }
.ov-hero-picture .ov-photo { height:100%; }
.ov-hero-picture img { height:calc(100% - 62px); min-height:540px; object-fit:cover; }
.ov-photo figcaption { display:flex; align-items:center; justify-content:space-between; gap:15px; font:11px/1.4 var(--mono); padding:18px 22px; background:#192f3c; color:var(--ov-text); min-height:62px; }
.ov-photo figcaption span { color:var(--ov-muted); text-align:right; }
.ov-photo-stamp { position:absolute; right:25px; top:25px; background:var(--ov-paper); color:var(--ov-ink); padding:12px 16px; font:500 11px/1.6 var(--mono); transform:rotate(3deg); border:1px solid var(--ov-ink); }
.ov-pulse { background:#142631; color:#f2f0e8; border-bottom:1px solid #2b4352; }
.ov-pulse-inner { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); padding:30px 0; gap:0; }
.ov-stat { padding:0 14px; border-left:1px solid #2b4352; align-self:start; }
.ov-stat strong { display:block; font:600 35px/1.1 var(--ov-display); font-variant-numeric:tabular-nums; }
.ov-stat>span { display:block; font-size:11px; margin-top:7px; }
.ov-stat-note { display:block; font-size:10px; margin-top:5px; color:#eac58f; }
.ov-stat strong[data-state='unavailable'] { color:#9fb0b8; }
.ov-pulse-status { display:flex; align-items:flex-start; gap:10px; padding-right:12px; }
.ov-pulse-status b { font-size:13px; line-height:1.3; display:block; }
.ov-pulse-status small { display:block; font-size:10px; line-height:1.5; margin-top:7px; }
.ov-pulse-status .dot { width:7px; height:7px; margin-top:5px; background:#93d8aa; border-radius:50%; flex-shrink:0; }
.ov-pulse-status .off { background:#697378; }
.ov-section { padding:100px 0; }
.ov-paper { background:#142631; color:#f2f0e8; --ov-muted:#c9d2d6; --ov-line:#2b4352; }
.ov-paper .ov-label { color:#b5c9bf; }
.ov-section-heading { display:grid; grid-template-columns:1.35fr 1fr; gap:80px; align-items:end; margin-bottom:56px; }
.ov-section h2 { font:600 clamp(47px,4.8vw,72px)/.96 var(--ov-display); letter-spacing:-.015em; text-transform:uppercase; }
.ov-section-heading>p { margin-bottom:0; color:var(--ov-muted); font-size:17px; max-width:440px; }
.ov-editorial { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; margin-bottom:80px; align-items:center; }
.ov-editorial .ov-photo img { aspect-ratio:1.25; object-fit:cover; }
.ov-editorial-copy h3 { font:600 clamp(43px,4vw,62px)/.96 var(--ov-display); margin-bottom:26px; }
.ov-editorial-copy>p:not(.ov-label) { color:var(--ov-muted); font-size:16px; }
.ov-editorial-reverse .ov-photo { grid-column:2; grid-row:1; }
.ov-editorial-reverse .ov-editorial-copy { grid-column:1; grid-row:1; }
.ov-tool-story { display:grid; grid-template-columns:1fr 1.2fr auto; gap:48px; border-block:1px solid var(--ov-line); padding:42px 0; }
.ov-tool-story h3 { font:600 48px/.96 var(--ov-display); }
.ov-tool-story p:not(.ov-label) { color:var(--ov-muted); font-size:16px; }
.ov-tool-mark { align-self:center; font:700 82px/.8 var(--ov-display); color:#7fb3a5; letter-spacing:-.04em; transform:rotate(-5deg); }
.ov-tool-mark small { font:500 11px var(--mono); display:block; margin-top:14px; letter-spacing:0; }
.ov-depth { border-bottom:1px solid var(--ov-line); }
.ov-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.ov-detail { border-top:1px solid var(--ov-line); }
.ov-detail summary { display:grid; grid-template-columns:30px 1fr 20px; align-items:center; gap:16px; min-height:86px; list-style:none; font-size:18px; line-height:1.4; }
.ov-detail summary::-webkit-details-marker { display:none; }
.ov-detail-number { color:var(--ov-sea); font:11px var(--mono); }
.ov-detail-toggle { font-size:25px; color:var(--ov-sea); }
.ov-detail[open] .ov-detail-toggle,.ov-gallery-more[open]>summary>span { transform:rotate(45deg); }
.ov-detail-body { padding:0 35px 30px 46px; font-size:15px; color:var(--ov-muted); }
.ov-tags { display:flex; flex-wrap:wrap; gap:8px 15px; font:10px var(--mono); text-transform:uppercase; color:var(--ov-sea); }
.ov-teams { background:#172d39; }
.ov-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ov-team { --dept-color:#eac58f; display:block; text-decoration:none!important; }
.ov-theme-county { --dept-color:#c5d4a6; }
.ov-theme-municipal { --dept-color:#b7d9ec; }
.ov-theme-fire { --dept-color:#ffaab2; }
.ov-theme-government { --dept-color:#eed0a1; }
.ov-team-photo { border-bottom:3px solid var(--dept-color); overflow:hidden; }
.ov-team-photo img { aspect-ratio:1.3; object-fit:cover; transition:transform .25s; }
.ov-team:hover img { transform:scale(1.025); }
.ov-team-copy { padding:24px 0 0; }
.ov-team-code { font:600 48px/1 var(--ov-display); color:var(--dept-color); }
.ov-team-copy h3 { font:500 22px/1.1 var(--body); margin:14px 0; }
.ov-team-copy p { font:11px/1.7 var(--mono); color:var(--ov-muted); }
.ov-team-link { display:flex; gap:10px; align-items:center; padding-top:17px; border-top:1px solid var(--ov-line); font-size:13px; color:var(--dept-color); }
.ov-team:hover .ov-team-link { text-decoration:underline; }
.ov-closed { display:inline-block; background:#c1121f; color:#fff; font:12px var(--body); padding:7px 12px; }
.ov-teams-note { margin:38px 0 0!important; font-size:13px; color:var(--ov-muted); max-width:1000px!important; }
.ov-teams-note a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--ov-text); text-decoration:underline; }
.ov-join-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; gap:44px; margin:0; }
.ov-join-steps li { border-top:1px solid var(--ov-line); padding-top:22px; }
.ov-step-number { display:block; font:600 54px/1 var(--ov-display); color:#b5c9bf; margin-bottom:28px; }
.ov-join-steps h3 { font:500 23px/1.2 var(--body); margin-bottom:20px; }
.ov-join-steps p { font-size:15px; color:var(--ov-muted); }
.ov-expectations { border-top:1px solid var(--ov-line); margin-top:52px; padding-top:35px; display:grid; grid-template-columns:.8fr 1.3fr auto; gap:30px; align-items:center; }
.ov-expectations h3 { font:500 26px/1.2 var(--body); }
.ov-expectations p { color:var(--ov-muted); margin:0; font-size:15px; }
.ov-community-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.ov-community-gallery img { aspect-ratio:1.7; object-fit:cover; background:#192f3c; }
.ov-community-gallery figcaption { font-size:14px; padding-top:15px; }
.ov-community-gallery small { display:block; color:var(--ov-muted); font:10px/1.6 var(--mono); margin-top:5px; }
.ov-gallery-more { margin-top:35px; border-top:1px solid var(--ov-line); }
.ov-gallery-more>summary { display:flex; align-items:center; justify-content:space-between; list-style:none; min-height:64px; color:var(--ov-sea); }
.ov-gallery-more>summary>span { font-size:27px; }
.ov-gallery-more .ov-community-gallery { padding-top:20px; }
.ov-final { background:var(--ov-sea); color:var(--ov-ink); padding:85px 0; }
.ov-final .ov-label { color:#365b55; }
.ov-final .ov-shell { display:grid; grid-template-columns:1.1fr 1fr; gap:0 80px; align-items:end; }
.ov-final .ov-label { grid-column:1/-1; }
.ov-final h2 { font:700 clamp(76px,9vw,135px)/.85 var(--ov-display); }
.ov-final-copy p { font-size:18px; margin-bottom:30px; }
.ov-final .ov-button { color:var(--ov-paper)!important; background:var(--ov-ink); border-color:var(--ov-ink); }
.ov-final .ov-button:hover { background:#274450; }
@media(min-width:1700px) { .ov-hero-copy { padding-left:max(48px,calc((100vw - 1344px)/2)); } }
@media(max-width:1200px) {.ov-hero-copy { padding-left:48px; }.ov-hero h1 { font-size:clamp(73px,8.5vw,100px); }.ov-pulse-inner { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:26px; }.ov-pulse-status { grid-column:1; }.ov-stat:nth-child(5) { border-left:0; padding-left:0; }.ov-section-heading { gap:40px; }.ov-editorial { gap:40px; }.ov-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }.ov-team-photo img { aspect-ratio:1.8; }.ov-expectations { grid-template-columns:1fr 1.7fr; }.ov-expectations .ov-button { grid-column:2; justify-self:start; }.ov-tool-story { grid-template-columns:1fr 1.2fr; }.ov-tool-mark { display:none; }
}
@media(max-width:800px) {
 .ov-shell { width:calc(100% - 48px); }.ov-hero { grid-template-columns:1fr; }.ov-hero-copy { padding:46px 24px 36px; }.ov-hero h1 { font-size:clamp(83px,14vw,125px); }.ov-hero-picture img { min-height:0; height:auto; aspect-ratio:1.8; object-fit:cover; }.ov-hero-picture .ov-photo { height:auto; }.ov-hero-description { max-width:550px!important; }.ov-hero-note { max-width:550px!important; }.ov-section { padding:64px 0; }.ov-section-heading { grid-template-columns:1fr; gap:25px; margin-bottom:38px; }.ov-section h2 { font-size:56px; }.ov-editorial { grid-template-columns:1fr; gap:30px; margin-bottom:55px; }.ov-editorial .ov-photo { grid-row:1; grid-column:1; }.ov-editorial .ov-photo img { aspect-ratio:1.65; }.ov-editorial-copy { grid-row:2!important; grid-column:1!important; }.ov-editorial-copy h3 { font-size:52px; }.ov-tool-story { grid-template-columns:1fr; gap:25px; }.ov-detail-grid { grid-template-columns:1fr; }.ov-join-steps { grid-template-columns:1fr; gap:30px; }.ov-step-number { margin-bottom:18px; }.ov-expectations { grid-template-columns:1fr; gap:22px; }.ov-expectations .ov-button { grid-column:1; }.ov-community-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }.ov-final .ov-shell { grid-template-columns:1fr; gap:35px; }.ov-final h2 { font-size:95px; }
}
@media(max-width:600px) {
 .ov-shell { width:calc(100% - 40px); }.ov-hero-copy { padding:40px 20px 30px; }.ov-hero h1 { font-size:clamp(75px,18.4vw,105px); }.ov-hero-lead { font-size:21px; }.ov-hero-picture img { aspect-ratio:1.5; }.ov-photo-stamp { top:16px; right:16px; font-size:9px; padding:9px 12px; }.ov-photo figcaption { padding:14px 20px; flex-direction:column; align-items:flex-start; gap:4px; font-size:10px; }.ov-photo figcaption span { text-align:left; }.ov-pulse-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; padding:25px 0; }.ov-pulse-status { grid-column:1/-1; border-bottom:1px solid #2b4352; padding-bottom:18px; }.ov-stat { padding:0 16px; }.ov-stat:nth-child(2n) { border-left:0; padding-left:0; }.ov-stat:nth-child(5) { border-left:1px solid #2b4352; padding-left:16px; }.ov-stat strong { font-size:35px; }.ov-stat>span { font-size:12px; }.ov-stat-note { font-size:11px; }.ov-section h2 { font-size:clamp(41px,11vw,57px); }.ov-section-heading>p { font-size:16px; }.ov-team-grid { grid-template-columns:1fr; gap:38px; }.ov-team-photo img { aspect-ratio:1.65; }.ov-team-copy { display:grid; grid-template-columns:70px 1fr; gap:12px 20px; align-items:start; }.ov-team-code { grid-row:1/4; font-size:46px; }.ov-team-copy h3 { margin:0; font-size:22px; }.ov-team-copy p { margin:0; }.ov-team-link,.ov-closed { grid-column:2; }.ov-closed { justify-self:start; }.ov-community-gallery { grid-template-columns:1fr; gap:30px; }.ov-community-gallery img { aspect-ratio:1.7; }.ov-detail summary { font-size:17px; gap:10px; grid-template-columns:24px 1fr 20px; }.ov-detail-body { padding-left:34px; padding-right:10px; }.ov-final { padding:60px 0; }.ov-final h2 { font-size:clamp(75px,20vw,110px); }.ov-final-copy p { font-size:17px; }.ov-editorial-copy h3 { font-size:48px; }
}
@media(prefers-reduced-motion:reduce) { .ov-landing * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media(prefers-contrast:more) { .ov-landing { --ov-muted:#e0e7ea; }.ov-paper { --ov-muted:#263c45; } }
/* Keep the masthead and longest display word inside very narrow phones. */
@media(max-width:600px) { .ov-hero { grid-template-columns:minmax(0,1fr); }.ov-hero-copy { min-width:0; }.ov-hero h1 { font-size:clamp(62px,18vw,100px); } }
@media(max-width:360px) { }
.ov-discord-invite { margin:30px 0 0!important; font-size:14px; color:var(--ov-muted); }.ov-discord-invite a { margin-left:8px; color:#99d2c7; text-decoration:underline; font-size:14px; }
.ov-photo figcaption span { color:#c1cbd0; }
@media(max-width:600px) { .ov-hero .ov-actions { gap:12px 14px; }.ov-hero .ov-actions .ov-button { font-size:14px; padding-inline:18px; gap:18px; }.ov-hero .ov-actions .ov-text-link { font-size:13px; gap:10px; }.ov-hero-picture img { aspect-ratio:2; object-position:50% 70%!important; } }
/* Public activity: editorial ledger, with readable definitions and no operational detail. */
.ov-activity{background:#142631;color:#f2f0e8}
.ov-activity .ov-section-heading>p{color:#c9d2d6}
.ov-activity dl{margin:0}.ov-activity dd{margin:14px 0 0}.ov-activity dt{font-weight:600;font-size:15px}.ov-activity dt span{display:block;font-size:12px;font-weight:400;margin-top:5px;color:#c9d2d6}
.ov-activity-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-bottom:28px;border-bottom:1px solid #2b4352}
.ov-activity-cell{display:flex;flex-direction:column;gap:4px}.ov-activity-cell strong{font:600 clamp(38px,5vw,64px)/1 var(--heading-font,'Barlow Condensed',sans-serif);font-variant-numeric:tabular-nums}.ov-activity-cell small{font-size:12px;color:#c9d2d6}
.ov-activity-agencies article{padding:24px 0;border-top:1px solid #2b4352}.ov-activity-agencies h3{font:600 28px/1.1 'Barlow Condensed',sans-serif;margin:0 0 20px}.ov-activity-agencies h3 span{font:400 13px/1.5 'IBM Plex Sans',sans-serif;display:block;margin-top:6px}.ov-activity-agencies dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ov-activity-agency-note{font-size:13px;color:#c9d2d6;margin-top:16px;max-width:65ch}
.ov-activity-status{font-size:13px;color:#c9d2d6;margin-top:24px}.ov-activity-definitions{border-top:1px solid #2b4352;margin:22px 0}.ov-activity-definitions summary{display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;cursor:pointer}.ov-activity-definitions>div{max-width:78ch;font-size:14px;line-height:1.7;padding-bottom:12px}.ov-activity-definitions p{color:#c9d2d6;margin-bottom:14px}.ov-activity-definitions time{overflow-wrap:anywhere}
@media(max-width:700px){.ov-activity-totals{grid-template-columns:1fr;gap:22px}.ov-activity-totals>div{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:16px;align-items:center}.ov-activity-totals dd{margin:0}.ov-activity-cell strong{font-size:42px}.ov-activity-agencies dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.ov-activity-agencies dt{font-size:14px}}
.ov-activity .ov-label{color:#c9d2d6}
.ov-department-page .ov-activity .ov-label{color:#c9d2d6}
.ov-activity summary{color:#f2f0e8}.ov-final .ov-label{color:#2b4945}
