
/* === BCSO / Old Town design system 2026 === */
:root { --font-display: 'Barlow Condensed',sans-serif; --font-body:'Plus Jakarta Sans',sans-serif;
  --radius-sm:7px; --radius:12px; --radius-lg:18px; --header-h:110px; }
html[data-theme='dark'] {
  --bg:#0b100e; --bg-soft:#131a16; --surface:#172019; --surface-2:#1b261f;
  --surface-3:#263329; --fg:#ebe5d5; --fg-strong:#fffcf3; --muted-fg:#a8ada0;
  --border:rgba(204,177,113,.16); --border-strong:rgba(204,177,113,.33);
  --primary:#caa568; --primary-soft:rgba(202,165,104,.13); --primary-fg:#172015;
  --success:#7fc8a0; --success-soft:rgba(127,200,160,.12); --warning:#e0b567;
  --warning-soft:rgba(224,181,103,.13); --emergency:#df8d7c;
  --emergency-soft:rgba(223,141,124,.13); --grid-line:rgba(190,162,105,.07);
  --footer-fg:#acae9f; --input-bg:#101814;
  --card-bg:linear-gradient(160deg,rgba(30,42,33,.92),rgba(13,21,16,.94)); --on-accent:#182018;
}
html[data-theme='light'] {
  --bg:#f8f3e8; --bg-soft:#ece4d3; --surface:#fffaf0; --surface-2:#f6f0e3;
  --surface-3:#ebe3d1; --fg:#29372b; --fg-strong:#18251b; --muted-fg:#6c7468;
  --border:rgba(69,83,58,.15); --border-strong:rgba(69,83,58,.35);
  --primary:#82602e; --primary-soft:rgba(130,96,46,.12); --primary-fg:#fff9eb;
  --success:#387b55; --success-soft:rgba(56,123,85,.12); --warning:#a9742a;
  --warning-soft:rgba(169,116,42,.11); --grid-line:rgba(116,90,48,.06);
  --card-bg:#fffaf0; --input-bg:#fffdf8; --on-accent:#fff9ec;
}
body { background:var(--bg);background-image:radial-gradient(ellipse at 10% 5%,rgba(155,128,65,.075),transparent 38%); }
.oldtown-topbar { background:#c4a06a;color:#21271e; height:30px; font:700 10px/30px 'IBM Plex Mono',monospace; letter-spacing:1.65px; }
.topbar-inner {display:flex;align-items:center;justify-content:space-between;gap:10px; height:30px}
.site-header { background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);}
.header-inner { min-height:78px; }
.brand-mark {background:#e8d4a7;border:1px solid #806035;box-shadow:0 0 0 5px rgba(198,166,105,.08);border-radius:50%;}
.brand-mark img {object-fit:contain;}
.brand-text strong {font:800 21px/1 'Barlow Condensed',sans-serif;letter-spacing:1px;text-transform:uppercase;}
.brand-text small {font-size:9px;letter-spacing:2px;color:var(--primary);}
.header-nav a {font-size:12px;font-weight:700;letter-spacing:.2px;}
.header-portal {border-color:var(--border-strong);border-radius:7px;}
.emergency-badge {background:rgba(97,122,80,.12);color:#a8bf8d;border-color:rgba(139,176,109,.25);}
.btn {font-weight:800;letter-spacing:.3px;border-radius:8px; transition:transform .2s ease,box-shadow .2s ease,background .2s ease;}
.btn:hover {transform:translateY(-2px);}
.btn-primary {background:linear-gradient(135deg,#e2c48c,#b58c4f);color:#202419;border-color:#d3ae76;box-shadow:0 6px 24px rgba(194,155,84,.16);}
.btn-primary:hover {background:linear-gradient(135deg,#f4d59b,#cca467);box-shadow:0 12px 34px rgba(194,155,84,.21);}
.btn-ghost,.btn-outline {border-color:var(--border-strong);}
.hero {background:radial-gradient(circle at 18% 18%,rgba(194,148,72,.075),transparent 40%),linear-gradient(165deg,#101a14 0%,#0c110e 84%);min-height:740px;}
.hero-inner {gap:54px;padding-top:94px;padding-bottom:82px;}
.hero-identity {display:block;width:max-content;max-width:100%;border-left:3px solid #c8a56e;background:rgba(190,151,80,.12);padding:8px 13px;margin-bottom:21px;color:#e7c995;letter-spacing:3px;font:700 11px 'IBM Plex Mono',monospace;}
.hero h1.display,.hero .display {font-family:'Barlow Condensed',sans-serif;font-size:clamp(4.2rem,6.2vw,7.8rem);line-height:.90;letter-spacing:-.02em;text-transform:uppercase;font-weight:900;}
.hero h1 .grad {background:linear-gradient(125deg,#f6d69b,#ad8651);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .lead {max-width:610px;color:#b7bcae;line-height:1.9;font-size:15px;}
.hero-coordinate {font-size:10px;letter-spacing:1.5px;color:#b5a489;}
.hero-image {border-radius:18px 18px 5px 18px;overflow:hidden;border:1px solid #c1a16f66; box-shadow:0 32px 85px #030b087a,0 0 0 8px rgba(205,170,102,.045);}
.hero-image:before {content:'OLD TOWN • SHERIFF’S OFFICE';position:absolute;left:20px;top:20px;z-index:2;border:1px solid #d7b88280;background:rgba(11,22,16,.64);padding:7px 12px;color:#f9e5bc;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:1px;}
.hero-image img {filter:saturate(.8) sepia(.09);}
.hero-badge {background:#19271f;border:1px solid #ab8756;padding:16px 20px;border-radius:8px;}
.hero-stats {border-top:1px solid rgba(204,177,113,.25);}
.hero-stats dt {font-family:'Barlow Condensed',sans-serif;font-size:34px;}
.hero-stats dd {font-family:'IBM Plex Mono',monospace;letter-spacing:1px;font-size:10px;}
.ticker {background:#c8a673;color:#1c291e;border-top:1px solid #e9cc8b;border-bottom:1px solid #a6844e;}
.ticker-track {color:#20271e;}
.section {position:relative;}
.section:before {content:attr(data-unit);position:absolute;right:4%;top:32px;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:2.3px;color:var(--primary);opacity:.55;}
.section-head .eyebrow,.eyebrow {letter-spacing:2.3px;font:700 11px 'IBM Plex Mono',monospace;color:var(--primary);}
.section-head .display,.section h2.display {font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.8rem,4.4vw,5.2rem);line-height:1.02;letter-spacing:.005em;font-weight:800;text-transform:uppercase;}
.card,.unit-card,.feature-card,.team-card,.pillar,.side-card {border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.075);}
.card {background:var(--card-bg);}
.unit-card {background:linear-gradient(150deg,var(--surface),var(--bg-soft));}
.unit-card:hover,.team-card:hover {border-color:var(--primary);transform:translateY(-3px);}
.unit-index {color:var(--primary);font-size:11px;}
.unit-card h3,.feature-card h3,.pillar h3,.card h3 {font-family:'Barlow Condensed',sans-serif;letter-spacing:.3px;font-weight:800;font-size:1.5rem;}
.feature-metrics strong {color:var(--primary);}
.section-dark {background:linear-gradient(135deg,#15221a,#101914);}
.form .input,.input,select,textarea {border-radius:8px;border-color:var(--border-strong);background:var(--input-bg);}
.form .input:focus,.input:focus {border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);}
.label {font-family:'IBM Plex Mono',monospace;letter-spacing:.7px;font-size:10px;}
footer.site-footer {border-top:3px solid #ba965a;background:#0b120e;}
.footer-mark {font-family:'Barlow Condensed',sans-serif;letter-spacing:.1em;opacity:.10;}
.view-pad {background:var(--bg);min-height:calc(100vh - 110px);}
.admin-shell .dash-head,.admin-head {border-bottom:1px solid var(--border-strong);padding-bottom:20px;}
.admin-shell .dash-head h1 {font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.4px;}
.admin-shell .tab.active {background:var(--primary-soft);color:var(--primary);border-color:var(--border-strong);}
.admin-gate {background:radial-gradient(circle at 50% 4%,#253a29,#0d1510 62%);}
.admin-gate-card {border-color:var(--border-strong);background:var(--surface);box-shadow:0 35px 120px #0008;}
.admin-gate-mark {color:var(--primary);background:var(--primary-soft);}
.admin-gate-card h1 {font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,4vw,3.5rem);text-transform:uppercase;}
.settings-info {border:1px solid var(--border-strong);border-left:4px solid var(--primary);border-radius:8px;padding:16px 20px;background:var(--primary-soft);margin-bottom:18px;}
.settings-info strong {color:var(--primary);font-weight:800;}
.settings-info p {font-size:12px;margin-top:7px;color:var(--muted-fg);}
.duty-notice-card {border-color:var(--border-strong);}
@media(max-width:1080px){.oldtown-topbar span:last-child {display:none}.hero-inner{gap:32px}.hero h1.display,.hero .display{font-size:clamp(4rem,7.8vw,6.5rem)}}
@media(max-width:700px){.oldtown-topbar{height:27px}.topbar-inner{justify-content:center;height:27px}.oldtown-topbar span:nth-child(2){display:none}.header-inner{min-height:70px}.hero-inner{padding-top:68px;padding-bottom:40px}.hero h1.display,.hero .display{font-size:clamp(3.65rem,14vw,5.6rem)}.hero-identity{font-size:8px;letter-spacing:1.2px}.hero-image:before{font-size:8px}.section:before{display:none}}
@media(prefers-reduced-motion:reduce){.btn,.unit-card,.team-card{transition:none!important}.btn:hover{transform:none}}
