:root{--bg:#f7f8f6;--paper:#fff;--ink:#1d1d1f;--muted:#5b6068;--line:#dfe4df;--accent:#b4232a;--accent-2:#0f766e;--accent-3:#b7791f;--soft:#eef4f1;--shadow:0 18px 46px #161c211f}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{min-height:70vh}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f8f6f5;position:sticky;top:0}.topbar,.city-nav,.category-nav,.site-footer,.page-shell,.article-layout,.trust-page{width:min(1180px,100% - 32px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:16px 0 12px;display:flex}.brand,.footer-brand{align-items:center;gap:10px;font-size:1.08rem;font-weight:800;display:inline-flex}.brand-mark{background:var(--ink);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:.78rem;display:grid}.trust-nav,.city-nav,.category-nav{scrollbar-width:none;align-items:center;gap:10px;display:flex;overflow-x:auto}.trust-nav a,.city-nav a,.category-nav a,.chip-link{border:1px solid var(--line);min-height:34px;color:var(--muted);white-space:nowrap;background:#ffffffb8;border-radius:8px;align-items:center;padding:7px 12px;font-size:.88rem;display:inline-flex}.city-nav{padding:0 0 10px}.category-nav{padding:0 0 14px}.city-nav a:hover,.category-nav a:hover,.trust-nav a:hover,.chip-link:hover{border-color:var(--accent);color:var(--accent)}.home-hero{color:#fff;background-position:50%;background-size:cover;align-items:end;min-height:520px;display:flex;position:relative}.home-hero:before{content:"";background:linear-gradient(90deg,#000000b8,#0003),linear-gradient(#0000 44%,#000000ad);position:absolute;inset:0}.hero-content{width:min(1180px,100% - 32px);margin:0 auto;padding:80px 0 54px;position:relative}.eyebrow,.sample-label{color:var(--accent);text-transform:uppercase;font-size:.78rem;font-weight:800}.home-hero .eyebrow{color:#ffd166}.hero-content h1,.page-hero h1,.article-header h1,.trust-page h1{max-width:860px;margin:0;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.98}.hero-content p,.page-hero p,.article-header .lead,.trust-page p{max-width:760px;color:inherit;font-size:1.06rem;line-height:1.65}.hero-actions,.chip-row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.button,.button-secondary{border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;font-weight:800;display:inline-flex}.button{background:var(--accent);color:#fff}.button-secondary{color:var(--ink);background:#fff}.page-shell{padding:42px 0 64px}.page-hero{border-bottom:1px solid var(--line);padding:34px 0 36px}.page-hero h1{color:var(--ink);font-size:clamp(2rem,5vw,3.8rem)}.page-hero p{color:var(--muted)}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin:42px 0 18px;display:flex}.section-heading h2{margin:0;font-size:clamp(1.5rem,3vw,2.4rem)}.article-grid,.city-grid,.source-grid{gap:18px;display:grid}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.city-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.article-card,.city-card,.source-item,.empty-state,.author-box,.related-box,.source-box,.metric-row{border:1px solid var(--line);background:var(--paper);border-radius:8px}.article-card{overflow:hidden;box-shadow:0 10px 24px #161c210f}.article-card-image{aspect-ratio:16/9;background:var(--soft);display:block;overflow:hidden}.article-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .18s}.article-card:hover img{transform:scale(1.025)}.article-card-body,.city-card,.source-item,.empty-state{padding:18px}.meta-row,.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.meta-row span,.meta-row time,.article-meta span,.article-meta time{background:var(--soft);border-radius:8px;padding:5px 8px}.article-card h2,.city-card h2,.source-item strong,.empty-state h2{margin:12px 0 8px;font-size:1.15rem;line-height:1.25}.article-card p,.city-card p,.empty-state p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.city-card h2{font-size:1.25rem}.city-card .districts{color:var(--accent-2);margin-top:14px;font-size:.85rem;font-weight:700}.source-band{margin-top:54px;padding:1px 0 8px}.source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.source-item{gap:8px;display:grid}.source-item span{color:var(--accent-2);text-transform:uppercase;font-size:.78rem;font-weight:800}.source-item small{color:var(--muted)}.article-layout{grid-template-columns:minmax(0,760px) 320px;gap:42px;padding:34px 0 72px;display:grid}.article-main{min-width:0}.article-header{padding-bottom:24px}.article-header h1{color:var(--ink);margin-top:14px;font-size:clamp(2rem,5vw,4rem)}.article-header .lead{color:#34383f;font-size:1.15rem}.article-hero{aspect-ratio:16/9;background:var(--soft);width:100%;box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.article-hero img{object-fit:cover;width:100%;height:100%}.article-body{margin-top:34px;font-size:1.05rem;line-height:1.75}.article-body section{border-bottom:1px solid var(--line);padding:26px 0}.article-body h2{margin:0 0 12px;font-size:1.5rem}.article-body p{color:#333840}.article-sidebar{align-self:start;gap:16px;display:grid;position:sticky;top:160px}.author-box,.related-box,.source-box,.metric-row{padding:18px}.author-box h2,.related-box h2,.source-box h2{margin:0 0 10px;font-size:1.1rem}.author-box p,.source-box p{color:var(--muted);line-height:1.55}.source-box ul,.related-box ul,.site-footer ul{margin:0;padding:0;list-style:none}.source-box li,.related-box li{border-top:1px solid var(--line);padding:10px 0}.source-box li:first-child,.related-box li:first-child{border-top:0}.source-box a,.related-box a,.site-footer a:not(.footer-brand){color:var(--accent);font-weight:700}.metric-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-row strong{font-size:1.25rem;display:block}.metric-row span{color:var(--muted);font-size:.82rem}.trust-page{padding:56px 0 76px}.trust-page article{max-width:780px}.trust-page h1{font-size:clamp(2.1rem,5vw,3.6rem)}.trust-page h2{margin-top:34px}.trust-page p,.trust-page li{color:#333840;line-height:1.7}.site-footer{border-top:1px solid var(--line);grid-template-columns:1.4fr repeat(3,1fr);gap:28px;padding:44px 0;display:grid}.site-footer h2{margin:0 0 14px;font-size:1rem}.site-footer p,.site-footer li{color:var(--muted);line-height:1.65}.site-footer li+li{margin-top:8px}.admin-page{width:min(1280px,100% - 32px)}.admin-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin-top:26px;display:grid}.admin-panel{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:18px}.admin-wide{grid-column:1/-1}.admin-panel h2{margin:0 0 14px}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-form button,.admin-actions{grid-column:1/-1}.admin-panel label{color:var(--muted);gap:7px;font-size:.88rem;font-weight:700;display:grid}.admin-panel input,.admin-panel select,.admin-panel textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:10px 12px}.admin-panel textarea{resize:vertical;min-height:120px}.admin-wide-field{grid-column:1/-1}.checkbox-label{grid-template-columns:auto 1fr;align-items:center;gap:10px!important;display:flex!important}.checkbox-label input{width:18px;min-height:18px}.admin-check{align-items:center;gap:10px!important;display:flex!important}.admin-check input{width:18px;min-height:18px}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-actions button,.admin-form button{cursor:pointer;border:0}.admin-message{color:var(--muted);margin:14px 0 0;line-height:1.55}.admin-count{background:var(--soft);min-width:42px;color:var(--accent-2);text-align:center;border-radius:8px;padding:8px 10px;font-weight:800}.compact-heading{margin:0 0 16px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:900px}.admin-table th,.admin-table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.admin-table th{color:var(--muted);text-transform:uppercase;font-size:.8rem}.admin-table td strong,.admin-table td a,.admin-record-list a strong,.admin-record-list a span{display:block}.admin-table td a{overflow-wrap:anywhere;max-width:360px;color:var(--accent);margin-top:6px;font-size:.82rem}.admin-table button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;margin:0 6px 6px 0;padding:7px 10px}.admin-errors{color:#9f1d24;background:#fff5f5;border:1px solid #f0b6b6;border-radius:8px;margin:14px 0;padding:12px}.admin-errors p{margin:0}.admin-errors p+p{margin-top:8px}.admin-record-list{gap:10px;margin-top:16px;display:grid}.admin-record-list a{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:12px}.admin-record-list a span{color:var(--muted);margin-top:5px;font-size:.85rem}.image-job-grid{gap:16px;display:grid}.image-job-card{border-top:1px solid var(--line);grid-template-columns:260px minmax(0,1fr);gap:16px;padding-top:16px;display:grid}.image-job-card img{aspect-ratio:3/2;object-fit:cover;background:var(--soft);border-radius:8px;width:100%}.image-job-card h3{margin:6px 0 8px}.image-job-card p{color:var(--muted);line-height:1.55}.image-job-card a{color:var(--accent);margin:8px 0;font-weight:700;display:inline-block}.image-job-card pre{color:#fff;white-space:pre-wrap;background:#111827;border-radius:8px;max-height:320px;padding:12px;overflow:auto}@media (max-width:920px){.article-grid,.city-grid,.source-grid,.site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.admin-form{grid-template-columns:1fr}.article-layout{display:block}.article-sidebar{margin-top:34px;position:static}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.trust-nav{width:100%}.home-hero{min-height:500px}.hero-content{padding-bottom:36px}.article-grid,.city-grid,.source-grid,.site-footer,.metric-row,.image-job-card{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.article-card-body,.city-card,.source-item,.author-box,.related-box,.source-box{padding:16px}}
