:root{
  --navy:#14385B; --navy-d:#0d2740; --gold:#8A6D1F; --gold-l:#b8912f;
  --ink:#1e242b; --muted:#5f6b76; --line:#e4e2d8; --bg:#faf9f5; --card:#ffffff;
  --red:#9B2D30; --teal:#1F6F5C; --maxw:1080px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:600;line-height:1.2}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

header.site{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:34px;height:34px;border-radius:7px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:17px}
.brand b{font-family:var(--serif);color:var(--navy);font-size:16px;font-weight:600;letter-spacing:.2px}
.brand span{display:block;font-size:11px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-top:1px}
nav.top a{color:var(--ink);font-size:14px;margin-left:22px}
nav.top a.btn{color:#fff}
nav.top a.btn:hover{color:#fff;text-decoration:none}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid var(--navy);cursor:pointer}
.btn:hover{background:var(--navy-d);text-decoration:none}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.gold{background:var(--gold);border-color:var(--gold)}
.btn.gold:hover{background:var(--gold-l)}

.hero{background:var(--navy);color:#fff;padding:84px 0 76px}
.hero .wrap{max-width:820px}
.hero .kick{color:#d8b968;letter-spacing:4px;text-transform:uppercase;font-size:13px;font-weight:600;margin:0 0 18px}
.hero h1{color:#fff;font-size:52px;margin:0 0 18px}
.hero p.lead{font-size:20px;color:#dfe6ee;margin:0 0 30px;max-width:680px}
.hero .tag{font-family:var(--serif);font-style:italic;color:#d8b968;font-size:19px;margin:0 0 34px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.5)}

section.block{padding:64px 0;border-bottom:1px solid var(--line)}
section.block h2{font-size:30px;margin:0 0 8px}
.eyebrow{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:700;margin:0 0 6px}
.lead2{font-size:18px;color:var(--muted);max-width:760px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
.card h3{font-size:18px;margin:0 0 8px}
.card .ic{width:38px;height:38px;border-radius:8px;background:#eef2f6;color:var(--navy);display:grid;place-items:center;font-size:19px;margin-bottom:14px}
.card p{margin:0;color:var(--muted);font-size:15px}
.principles{list-style:none;padding:0;margin:24px 0 0}
.principles li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.principles li:first-child{border-top:none}
.principles b{font-family:var(--serif);color:var(--navy);font-size:16px}
.principles .n{color:var(--gold);font-family:var(--serif);font-weight:700;font-size:18px;min-width:26px}

.join{background:#f2efe6}
.join .box{background:var(--navy);color:#fff;border-radius:14px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.join .box h2{color:#fff;font-size:26px;margin:0 0 6px}
.join .box p{color:#dfe6ee;margin:0;max-width:520px}

footer.site{background:var(--navy-d);color:#c7d2dd;padding:40px 0;font-size:14px}
footer.site .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer.site a{color:#e6d29a}
footer .fine{font-size:12px;color:#8ea3b6;margin-top:8px;max-width:640px}

.authwrap{max-width:420px;margin:60px auto;padding:0 24px}
.authcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:34px}
.authcard h1{font-size:26px;margin:0 0 6px}
.authcard p.sub{color:var(--muted);margin:0 0 22px;font-size:15px}
label.f{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px;font-weight:600}
input.f{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;background:#fff}
input.f:focus{outline:none;border-color:var(--navy)}
.authcard .btn{width:100%;margin-top:20px;text-align:center}
.adminlink{margin-top:10px;color:var(--gold);font-weight:600}
.pendrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.pendrow:first-child{border-top:none}
.pendinfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.pendinfo b{font-family:var(--serif);color:var(--navy);font-size:16px}
.pendinfo span{font-size:13px;color:var(--muted)}
.pendinfo .penddate{font-size:12px;color:#9aa3ac}
.btn.approve{background:var(--teal);border-color:var(--teal);flex:none}
.btn.approve:hover{background:#18594a}
.btn.approve:disabled{opacity:.6;cursor:default}
.pendrow.done{opacity:.55}
.okmark{color:var(--teal);font-weight:600;font-size:13px;margin-top:2px}
.pendnote{color:var(--red);font-size:13px;margin-top:4px}
@media(max-width:560px){.pendrow{flex-direction:column;align-items:flex-start;gap:10px}}
.switch{margin-top:18px;font-size:14px;color:var(--muted);text-align:center}
.msg{margin-top:14px;padding:10px 12px;border-radius:8px;font-size:14px;display:none}
.msg.err{background:#fbeaea;color:#8f2a2a;display:block}
.msg.ok{background:#e7f2ec;color:#1c5c46;display:block}
.msg.info{background:#eef2f6;color:#2a4d6e;display:block}

.portal{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 66px)}
.side{background:var(--card);border-right:1px solid var(--line);padding:26px 18px}
.side h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:22px 0 8px}
.side h4:first-child{margin-top:0}
.side a{display:block;padding:8px 10px;border-radius:7px;color:var(--ink);font-size:14px;cursor:pointer}
.side a:hover{background:#f2efe6;text-decoration:none}
.side a.active{background:var(--navy);color:#fff}
.content{padding:40px 46px;max-width:820px}
.report .rk{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:700;margin:0 0 4px}
.report h1{font-size:34px;margin:0 0 8px}
.report .rsub{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:19px;margin:0 0 26px}
.lbl{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin:26px 0 6px}
.lbl.red{color:var(--red)} .lbl.teal{color:var(--teal)} .lbl.navy{color:var(--navy)} .lbl.gold{color:var(--gold)}
.report p.body{font-size:16px;margin:0 0 6px}
.claim{font-family:var(--serif);font-size:22px;color:#222;font-weight:600;margin:2px 0 14px}
.quote{border-left:3px solid var(--line);padding:2px 0 2px 16px;margin:8px 0;color:var(--muted);font-style:italic}
.quote .src{display:block;font-style:normal;font-size:13px;color:#9aa3ac;margin-top:4px}
.box{background:#eef2f6;border:1px solid #d6e0ea;border-radius:10px;padding:16px 18px;margin-top:10px;font-family:var(--serif);font-style:italic;color:var(--navy);font-size:17px}
.box.gold{background:#f3efe2;border-color:#e5dcc2;color:#6b540f}
.cardlink{display:block;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:18px 20px;margin-bottom:12px;cursor:pointer}
.cardlink:hover{border-color:var(--navy);text-decoration:none}
.cardlink b{font-family:var(--serif);color:var(--navy);font-size:17px}
.cardlink p{margin:4px 0 0;color:var(--muted);font-size:14px}
.pill{display:inline-block;background:#eef2f6;color:var(--navy);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:20px;margin-bottom:8px}
.topbar{display:flex;justify-content:space-between;align-items:center;height:66px;border-bottom:1px solid var(--line);background:var(--card);padding:0 24px;position:sticky;top:0;z-index:20}
.demo{background:var(--gold);color:#241d06;text-align:center;font-size:13px;font-weight:600;padding:7px}
@media(max-width:820px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.hero h1{font-size:38px}.portal{grid-template-columns:1fr}.side{border-right:none;border-bottom:1px solid var(--line)}.content{padding:26px 22px}}
.rmeta{color:#9aa3ac;font-size:13px;margin:-14px 0 22px}
.bh{font-family:var(--serif);color:var(--navy);font-size:18px;font-weight:600;margin:24px 0 6px;line-height:1.3}
.btext p.body{font-size:16px;margin:0 0 12px}
.toc{margin-top:8px}
.tocrow{display:flex;gap:12px;align-items:flex-start;padding:9px 6px;border-top:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:15px}
.tocrow:first-child{border-top:none}
.tocrow:hover{background:#f2efe6;text-decoration:none}
.tocn{color:var(--gold);font-family:var(--serif);font-weight:700;min-width:22px}
.docnav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:16px;border-top:1px solid var(--line);gap:12px}
.docback{cursor:pointer}
.qbox{width:300px;max-width:38vw;height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}
.qbox:focus{outline:none;border-color:var(--navy)}
.searchbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);cursor:pointer;flex:0 0 auto}
.searchbtn:hover{background:#f4f1e7;border-color:var(--navy)}
.findor{text-align:center;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#9aa3ac;margin:14px 0 10px}
#findwrap .cardlink{margin:0}
#findwrap input{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit;margin-top:4px}
.sr .pill{margin-bottom:6px}
mark{background:#f6e2a0;color:#3a2f06;padding:0 1px;border-radius:2px}
@media(max-width:820px){.qbox{width:150px;max-width:44vw}}
.newsdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9B2D30;margin-right:8px;vertical-align:middle}
.newsitem{border-top:1px solid var(--line);padding:18px 0}
.newsitem:first-of-type{border-top:none}
.newsdate{color:var(--gold);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700}

/* ---------- Data table (special reports) ---------- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0 8px;border:1px solid var(--line);border-radius:10px}
.dtbl{border-collapse:collapse;width:100%;min-width:660px;font-size:13.5px}
.dtbl th{background:var(--navy);color:#fff;text-align:left;font-weight:600;font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;padding:9px 11px;white-space:nowrap}
.dtbl td{padding:8px 11px;border-top:1px solid var(--line);vertical-align:top;color:var(--ink)}
.dtbl td.u{font-family:var(--serif);font-weight:700;color:var(--navy);white-space:nowrap}
.dtbl tr.grp td{background:#f2efe6;border-top:2px solid #ddd8c6;padding:8px 11px}
.dtbl tr.grp .gl{font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.6px;font-size:11px}
.dtbl tr.grp .gn{color:var(--muted);font-style:italic;font-family:var(--serif);margin-left:8px;font-size:13px}
.dtbl tbody tr:not(.grp) td:first-child{border-left:3px solid transparent}
.dtbl tr.st-abate td:first-child{border-left-color:var(--red)}
.dtbl tr.st-clean td:first-child{border-left-color:var(--gold-l)}
.dtbl tr.st-inspect td:first-child{border-left-color:#6B4E9B}
.dtbl tr.st-cavity td:first-child{border-left-color:var(--teal)}
.dtbl tr.st-monitor td:first-child{border-left-color:#b7bcc2}
.dtbl tr.st-abate td:last-child{color:var(--red);font-weight:600}
.legend{margin:14px 0 8px;display:grid;gap:7px}
.legrow{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink)}
.swatch{width:14px;height:14px;border-radius:3px;flex:none;margin-top:1px}
.swatch.abate{background:var(--red)}
.swatch.clean{background:var(--gold-l)}
.swatch.inspect{background:#6B4E9B}
.swatch.cavity{background:var(--teal)}
.swatch.monitor{background:#b7bcc2}
.rlist{margin:8px 0 14px;padding-left:22px}
.rlist li{font-size:16px;margin:0 0 7px}
.btext .lead{color:var(--navy)}
.rnote{font-size:13.5px;color:var(--muted);font-style:italic;background:#f7f5ee;border-left:3px solid var(--gold-l);padding:9px 14px;border-radius:0 8px 8px 0;margin:8px 0 4px}
.rsrc{font-size:12.5px;color:#9aa3ac;margin:28px 0 0;padding-top:14px;border-top:1px solid var(--line);line-height:1.55}
.rfig{margin:20px 0}
.rfig img{width:100%;height:auto;display:block;border-radius:8px;border:1px solid var(--line)}
.rfig figcaption{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:8px;line-height:1.5}
.vcard{display:block;max-width:560px;margin:20px auto;text-align:center;text-decoration:none}
.vcard img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--line)}
.vcard .vcap{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.vcard:hover .vcap{color:var(--gold)}

/* ---------- Mobile / responsive ---------- */
@media(max-width:820px){
  .content{padding:24px 20px;max-width:100%}
  .report h1{font-size:28px}
  .topbar{height:auto;min-height:58px;flex-wrap:wrap;gap:8px;padding:10px 16px}
  .topbar .brand{flex:1 1 auto}
  .qbox{order:5;flex:1 1 100%;width:100%;max-width:100%}
  .docnav{flex-wrap:wrap}
}
@media(max-width:640px){
  .wrap{padding:0 16px}
  header.site .wrap{height:56px}
  .brand .mark{width:30px;height:30px;font-size:15px}
  .brand b{font-size:14px}
  nav.top a:not(.btn){display:none}
  nav.top a.btn{margin-left:0;padding:9px 14px;font-size:13px}
  .hero{padding:52px 0 44px}
  .hero .kick{font-size:11px;letter-spacing:2px}
  .hero h1{font-size:30px}
  .hero p.lead{font-size:16px}
  .hero .tag{font-size:16px}
  .hero .cta{gap:10px}
  .hero .cta .btn{flex:1 1 auto;text-align:center}
  section.block{padding:42px 0}
  section.block h2{font-size:23px}
  .lead2,.card p{font-size:15px}
  .join .box{padding:24px 20px;flex-direction:column;align-items:flex-start}
  .legal{padding:26px 18px 44px}
  .legal h1{font-size:25px}
  .tbemail{display:none}
  .tbright a{margin-right:12px}
  .content{padding:20px 16px}
  .report h1{font-size:24px}
  .rsub,.report .rsub{font-size:16px}
  .claim{font-size:19px}
  .side{padding:14px 12px}
  .side a{padding:9px 10px}
}
@media(max-width:400px){
  .hero h1{font-size:26px}
  .brand span{display:none}
  .report h1{font-size:22px}
}

/* ---------- Mobile menu dropdown ---------- */
.menutoggle{display:none}
@media(max-width:820px){
  .menutoggle{display:inline-flex;align-items:center;gap:6px;background:#14385B;color:#fff;border:1px solid #14385B;border-radius:8px;font-size:14px;font-weight:600;padding:8px 13px;cursor:pointer;order:-1}
  .portal{position:relative;display:block}
  .side{position:absolute;top:0;left:0;right:0;z-index:30;display:none;border-right:none;border-bottom:1px solid var(--line);box-shadow:0 12px 26px rgba(0,0,0,.14);max-height:80vh;overflow:auto;border-radius:0 0 12px 12px}
  .side.open{display:block}
}

/* Continuous category scrolling */
.stackitem{scroll-margin-top:84px}
.stackitem + .stackitem{border-top:1px solid var(--line);margin-top:38px;padding-top:30px}

/* Article prev/next footer */
.itemnav{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
.itemnav .nav-sp{flex:1}
.nav-a{display:flex;flex-direction:column;gap:3px;max-width:47%;cursor:pointer}
.nav-a:hover{text-decoration:none}
.nav-a:hover .na-t{text-decoration:underline}
.nav-a.next{text-align:right;margin-left:auto;align-items:flex-end}
.na-dir{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;color:var(--gold)}
.na-t{font-family:var(--serif);font-size:15px;color:var(--navy);line-height:1.3}
@media(max-width:560px){.na-t{font-size:13px}}

/* Collapsible sidebar sections */
.sec{margin-top:6px}
.sechead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:7px;color:var(--gold);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;cursor:pointer}
.sechead:hover{background:#f2efe6;text-decoration:none}
.sechead .chev{font-size:10px;color:var(--gold)}
.secitems{display:none;padding-left:2px}
.sec.open .secitems{display:block}
.doclink{margin-top:10px}

/* Story-footer tip prompt (reports + breaking news items) */
.tipline{margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:#5f6b76;line-height:1.6}
.tipline a{color:var(--gold);font-weight:700;text-decoration:none}
.tipline a:hover{text-decoration:underline}

/* Refer a Member modal */
.refwrap{position:fixed;inset:0;background:rgba(13,39,64,.55);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.refcard{background:#fff;border-radius:14px;max-width:480px;width:100%;padding:26px 28px;box-shadow:0 18px 50px rgba(0,0,0,.25);max-height:92vh;overflow-y:auto}
.refcard h3{font-family:var(--serif);color:var(--navy);font-size:22px;margin:0 0 8px}
.refcard .refsub{font-size:14px;color:#5f6b76;line-height:1.55;margin:0 0 14px}
.refcard label{display:block;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);font-weight:700;margin:10px 0 4px}
.refcard input,.refcard textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit;margin-top:4px}
.refcard textarea{resize:vertical}
.refbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.refhint{font-size:12px;color:#5f6b76;margin:12px 0 0}
.referr{font-size:13px;color:#a03c3c;margin:8px 0 0;font-weight:600}
@media (max-width:560px){.refcard{padding:20px 18px}.refbtns .btn{flex:1 1 auto;text-align:center}}

/* Member profile card at the foot of the sidebar main menu */
.userprof{margin-top:16px;padding:12px 10px 4px;border-top:1px solid var(--line)}
.userprof p{margin:0 0 3px}
.up-lbl{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.up-name{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--navy)}
.up-row{font-size:12.5px;color:#5f6b76}
.up-mail{word-break:break-all}

/* The Connected Record — members-only content map (assets/map.js) */
.maplayout{display:flex;gap:16px;align-items:stretch;margin-top:18px}
.mapcanvaswrap{flex:1 1 auto;position:relative;height:560px;background:#fdfcf8;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mapcanvas{display:block;cursor:grab}
.mappanel{flex:0 0 270px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;height:560px;overflow-y:auto}
.mappanel h3{font-family:var(--serif);color:var(--navy);font-size:18px;line-height:1.3;margin:4px 0 10px}
.mappanel .mp-type{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin:0}
.mappanel .mp-sec{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin:14px 0 6px}
.mappanel ul{list-style:none;margin:0;padding:0}
.mappanel li{font-size:13.5px;line-height:1.45;padding:5px 8px;border-radius:6px;cursor:pointer}
.mappanel li:hover{background:#f4f1e7}
.mappanel .mp-hint{font-size:14px;color:#5f6b76;line-height:1.6}
.mappanel .mp-open a{font-size:14px;color:var(--gold);font-weight:700;cursor:pointer}
.maplegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;align-items:center}
.lg-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.lg-dot{display:inline-block;width:11px;height:11px;border-radius:50%}
.mapbar{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.mapbar button{font-size:13px;padding:7px 14px;border:1px solid #c9c4b2;background:#fff;border-radius:8px;cursor:pointer;color:var(--navy)}
.mapbar button:hover{background:#f4f1e7}
.mapstatus{font-size:12px;color:#5f6b76;margin-left:auto}
@media (max-width:900px){.maplayout{flex-direction:column}.mapcanvaswrap{height:400px}.mappanel{flex:none;height:auto;max-height:300px}}

/* Prevent sticky hover border on touch devices (cards looked "selected") */
.cardlink{-webkit-tap-highlight-color:transparent}
@media (hover:none){
  .cardlink:hover{border-color:var(--line)}
  .side a:hover{background:transparent}
  .sechead:hover{background:transparent}
}

/* Breaking News collapsible feed */
.newshead{cursor:pointer;padding:4px 0}
.newshead:hover .newstitle{text-decoration:underline}
.newssub{font-family:var(--serif);font-style:italic;color:#5f6b76;font-size:16px;margin-top:3px;line-height:1.4}
.newstoggle{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-size:13px;font-weight:600;margin-top:9px}
.newstoggle .chev{color:var(--gold);font-size:11px}
.newsbody{display:none;margin-top:8px}
.newsitem.open .newsbody{display:block}
@media (hover:none){.newshead:hover .newstitle{text-decoration:none}}

/* ---------- Content protection (deterrent) ---------- */
/* Disable text selection site-wide, but keep form fields usable. */
html,body{-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select{-webkit-user-select:text;-ms-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none}
/* Block printing: hide the page and show a notice instead. */
@media print{
  body{visibility:hidden !important}
  body::before{visibility:visible;content:"Printing is not permitted on this site.";position:fixed;top:40px;left:0;right:0;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#14385B}
}

/* Subscribe banner (home page). Hidden by default; revealed by an inline head
   script only when the visitor hasn't dismissed it, so returning dismissers see
   no flash. Announcement strip at the very top, in normal flow (scrolls with page). */
.svc-banner{display:none}
.svc-banner-on .svc-banner{display:flex;align-items:center;justify-content:center;gap:14px;position:sticky;top:0;z-index:30;height:40px;box-sizing:border-box;background:var(--navy);color:#fff;font-family:var(--sans);font-size:14.5px;line-height:1.4;padding:0 46px;text-align:center}
/* When the banner is shown, drop the sticky header beneath it (40px = banner
   height) so both pin cleanly, stacked, while scrolling. Scoped to .svc-banner-on,
   which is only ever set on the home page. */
.svc-banner-on header.site{top:40px}
.svc-banner a{color:#e6d29a;font-weight:700;text-decoration:none;white-space:nowrap}
.svc-banner a:hover{text-decoration:underline}
.svc-banner-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:rgba(255,255,255,.65);font-size:22px;line-height:1;cursor:pointer;padding:2px 8px}
.svc-banner-x:hover{color:#fff}
@media(max-width:520px){.svc-banner-on .svc-banner{font-size:13px;padding:0 40px 0 14px;justify-content:flex-start;text-align:left}}
@media print{.svc-banner{display:none!important}}

/* Members-area footer (copyright) */
.memberfoot{border-top:1px solid var(--line);background:var(--card);color:var(--muted);font-size:12px;line-height:1.55;padding:16px 24px;text-align:center}
.memberfoot a{color:var(--muted);text-decoration:underline}
.memberfoot a:hover{color:var(--navy)}

/* In-content link to a Special Report (from {{report:id|text}} tokens) */
.btext a.rlink,.newsbody a.rlink{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--gold-l);text-underline-offset:2px;cursor:pointer}
.btext a.rlink:hover,.newsbody a.rlink:hover{color:var(--gold);text-decoration-color:var(--gold)}
