/* Homeward Initiative — institutional stylesheet (USWDS-inspired) */
:root{
  --navy:#112e51; --navy2:#205493; --ink:#1b1b1b; --muted:#4a5568;
  --red:#981b1e; --red2:#b31942; --gold:#fdb81e; --bg:#ffffff; --wash:#f4f6f9;
  --line:#d6dbe1; --ok:#166534; --warn:#7c2d12;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Source Sans Pro","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:16.5px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.25;color:var(--navy)}
a{color:var(--navy2)}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
img{max-width:100%}

/* utility strip */
.utility{background:var(--red);color:#fff;font-size:13.5px}
.utility .wrap{padding:7px 20px;display:flex;flex-wrap:wrap;gap:4px 26px;justify-content:center;text-align:center}
.utility b{color:#ffe1a8}

/* masthead */
.masthead{border-bottom:3px solid var(--navy)}
.masthead .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:18px 20px}
.wordmark{font-family:Georgia,serif;font-size:27px;font-weight:700;letter-spacing:1.5px;color:var(--navy);text-transform:uppercase;text-decoration:none}
.wordmark small{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-size:10.5px;letter-spacing:3.2px;color:var(--muted);font-weight:400;margin-top:2px}
.wordmark .rule{height:3px;background:var(--gold);width:72px;margin-top:6px}
.masthead .contact-line{font-size:14px;color:var(--muted);text-align:right}
.masthead .contact-line a{font-weight:700}

/* nav */
nav.main{background:var(--navy)}
nav.main .wrap{display:flex;flex-wrap:wrap;padding:0 20px}
nav.main a{color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:12px 16px;border-left:1px solid rgba(255,255,255,.14)}
nav.main a:last-child{border-right:1px solid rgba(255,255,255,.14)}
nav.main a:hover{background:var(--navy2)}
nav.main a.active{background:var(--red)}

/* breadcrumb */
.crumb{font-size:13.5px;color:var(--muted);padding:14px 0 0}
.crumb a{color:var(--navy2)}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.hero .wrap{position:relative;padding:64px 20px 52px}
.hero .kicker{letter-spacing:3px;font-size:12px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:14px}
.hero h1{color:#fff;font-size:38px;max-width:640px;margin-bottom:14px}
.hero p{max-width:640px;font-size:17.5px;color:#e6edf5;margin-bottom:24px}
.btn{display:inline-block;padding:12px 22px;font-weight:700;text-decoration:none;font-size:15px;border:2px solid transparent;cursor:pointer}
.btn-red{background:var(--red2);color:#fff}
.btn-red:hover{background:var(--red)}
.btn-outline{border-color:#fff;color:#fff;background:transparent}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy2)}
.btn-light{background:#fff;color:var(--navy);border-color:var(--line)}

/* stat bar */
.stats{background:var(--wash);border-bottom:1px solid var(--line)}
.stats .wrap{display:flex;flex-wrap:wrap;gap:0;padding-top:8px;padding-bottom:8px}
.stat{flex:1;min-width:250px;padding:18px 20px;border-left:1px solid var(--line)}
.stat:first-child{border-left:none}
.stat b{display:block;font-size:32px;color:var(--red);font-family:Georgia,serif;line-height:1.1}
.stat span{font-size:14px;color:var(--ink);display:block;margin-top:4px}
.stat i{font-style:normal;font-size:12px;color:var(--muted)}

/* sections */
section{padding:36px 0}
section.alt{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}
.sec-head h2{font-size:25px}
.sec-head a{font-size:14px;font-weight:700}
.secsub{color:var(--muted);max-width:800px;margin-bottom:20px;font-size:15.5px}

/* case index table (official listing style) */
table.listing{width:100%;border-collapse:collapse;background:#fff}
table.listing th{background:var(--navy);color:#fff;text-align:left;font-size:13px;letter-spacing:.6px;text-transform:uppercase;padding:10px 12px}
table.listing td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}
table.listing tr:hover td{background:#fbfcfe}
table.listing img.thumb{width:74px;height:96px;object-fit:cover;object-position:top;border:1px solid var(--line)}
table.listing .nm{font-weight:700;font-size:16px;color:var(--navy);text-decoration:none}
table.listing .nm:hover{text-decoration:underline}
.ph-thumb{width:74px;height:96px;background:#e8edf3;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#8494a9;font-size:11px;text-align:center}

/* featured row on home */
.featured{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border:1px solid var(--line);background:#fff}
.fcase{padding:16px;border-right:1px solid var(--line)}
.fcase:last-child{border-right:none}
.fcase img{width:100%;height:250px;object-fit:cover;object-position:top;display:block;margin-bottom:10px}
.fcase .ph{height:250px;background:#e8edf3;display:flex;align-items:center;justify-content:center;color:#8494a9;font-size:12px;margin-bottom:10px;text-align:center}
.fcase h3{font-size:17px;margin-bottom:4px}
.fcase h3 a{color:var(--navy);text-decoration:none}
.fcase h3 a:hover{text-decoration:underline}
.fcase p{font-size:13.5px;color:var(--muted)}
.fcase .view{font-size:13.5px;font-weight:700}

/* case detail */
.casegrid{display:grid;grid-template-columns:320px 1fr;gap:28px}
@media(max-width:760px){.casegrid{grid-template-columns:1fr}}
.casegrid .photo img{width:100%;border:1px solid var(--line)}
.casegrid .photo .ph{height:380px;background:#e8edf3;display:flex;align-items:center;justify-content:center;color:#8494a9;text-align:center;padding:0 14px}
table.facts{width:100%;border-collapse:collapse;margin:14px 0}
table.facts th,table.facts td{border:1px solid var(--line);padding:9px 12px;font-size:15px;text-align:left;vertical-align:top}
table.facts th{background:var(--wash);width:180px;color:var(--navy)}
.tipbox{background:#fdf6e3;border:1px solid #ecd9ac;padding:16px 20px;margin:20px 0}
.tipbox b{color:var(--warn)}
.rewardbox{background:#fdf1f2;border:1px solid #f0ccd1;padding:16px 20px;margin:20px 0}
.sharebar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.sharebar a,.sharebar button{font-size:13.5px;font-weight:700;padding:8px 14px;border:1px solid var(--navy);color:var(--navy);background:#fff;text-decoration:none;cursor:pointer}
.sharebar a:hover,.sharebar button:hover{background:var(--navy);color:#fff}

/* two-col content with side image */
.split{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}
@media(max-width:760px){.split{grid-template-columns:1fr}}
.split img.side{width:100%;border:1px solid var(--line)}

/* numbered steps */
ol.steps{margin-left:22px}
ol.steps li{margin:9px 0}
.checklist{background:#fff;border:1px solid var(--line);padding:18px 22px}
.checklist li{margin:6px 0 6px 18px;font-size:15.5px}

/* scam entries: ruled articles, not cards */
.scam-entry{border-bottom:1px solid var(--line);padding:20px 0}
.scam-entry h3{font-size:19px;margin-bottom:6px}
.scam-entry .cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:760px){.scam-entry .cols{grid-template-columns:1fr}}
.scam-entry h4{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-family:"Helvetica Neue",Arial,sans-serif}
.signs b{color:var(--red)}
.mythrow{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin-bottom:-1px;background:#fff}
@media(max-width:760px){.mythrow{grid-template-columns:1fr}}
.mythrow div{padding:16px 20px}
.mythrow .m{background:#fdf1f2;border-right:1px solid var(--line)}
.mythrow .lab{font-size:11.5px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--red)}
.mythrow .r .lab{color:var(--navy2)}
.mythrow p{font-size:15px;margin-top:4px}

/* forms */
form.office{background:#fff;border:1px solid var(--line);padding:24px;max-width:760px}
form.office label{display:block;font-weight:700;font-size:14.5px;margin:14px 0 4px}
form.office label:first-child{margin-top:0}
form.office input[type=text],form.office input[type=email],form.office input[type=tel],form.office select,form.office textarea{width:100%;padding:10px;border:1px solid #8a97a8;font-size:15.5px;font-family:inherit;background:#fff}
form.office textarea{min-height:110px}
form.office .hint{font-size:13px;color:var(--muted);font-weight:400}
form.office button{margin-top:18px}
.notice{padding:14px 18px;margin:16px 0;font-size:15px}
.notice.ok{background:#ecfdf3;border:1px solid #a6e4bd;color:var(--ok)}
.notice.err{background:#fdf1f2;border:1px solid #f0ccd1;color:var(--warn)}

/* resource directory */
table.dir{width:100%;border-collapse:collapse;background:#fff}
table.dir th{background:var(--wash);text-align:left;padding:10px 12px;border:1px solid var(--line);color:var(--navy);font-size:14px;letter-spacing:.5px;text-transform:uppercase}
table.dir td{padding:11px 12px;border:1px solid var(--line);font-size:15px;vertical-align:top}

/* footer */
footer{background:var(--navy);color:#b9c9da;margin-top:10px}
footer .wrap{padding:30px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
footer h4{color:#fff;font-size:14px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:10px;font-family:"Helvetica Neue",Arial,sans-serif}
footer a{color:#b9c9da;text-decoration:none;font-size:14.5px;display:block;margin:5px 0}
footer a:hover{color:#fff;text-decoration:underline}
footer p{font-size:14px}
.legal{background:#0b1e33;color:#7e93a9;font-size:12.5px}
.legal .wrap{padding:16px 20px}
.legal p{margin:5px 0;max-width:920px}

/* admin */
table.admin{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
table.admin th,table.admin td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.admin th{background:var(--wash)}
.pill{display:inline-block;font-size:11.5px;font-weight:700;padding:1px 8px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.5px}
.pill.pending{background:#fdf6e3}.pill.approved{background:#ecfdf3}.pill.rejected{background:#fdf1f2}

/* poster print */
@media print{
  .utility,nav.main,.masthead .contact-line,.sharebar,.noprint,footer,.legal{display:none!important}
  body{font-size:14px}
  .hero{display:none}
}
.poster{border:3px solid var(--navy);padding:26px;background:#fff}
.poster h1{text-align:center;font-size:34px;letter-spacing:2px;color:var(--red);text-transform:uppercase}
.poster .sub{text-align:center;font-size:15px;color:var(--muted);margin-bottom:16px}
