/* Massena Data Center Watch — shared styles
   navy/rust/green palette, Libre Franklin + Newsreader. */

:root{
  --paper:#f7f4ee; --ink:#1a1f24; --ink-soft:#46505a; --line:#d8d2c4;
  --navy:#16314f; --navy-2:#21456b; --rust:#a23b1e; --green:#2f5d3a; --gold:#c08a2d;
  --warnbg:#fbe7d6; --warnln:#dca85f;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:#f6f3ec;color:#1a1f24;font-family:"Newsreader",Georgia,serif;font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
.sans{font-family:"Libre Franklin",system-ui,sans-serif}

/* skip link (accessibility) */
.skip{position:absolute;left:-9999px;top:0;background:#16314f;color:#fff;padding:10px 16px;font-family:"Libre Franklin",sans-serif;font-weight:700;z-index:50}
.skip:focus{left:8px;top:8px}

/* top bar / nav */
header.top{background:#16314f;color:#fff;padding:0}
.topwrap{max-width:1020px;margin:0 auto;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.wordmark{font-family:"Libre Franklin",sans-serif;font-weight:900;font-size:21px;letter-spacing:-.01em;color:#fff;text-decoration:none}
.wordmark span{color:#eaa64e}
nav.main{font-family:"Libre Franklin",sans-serif;font-size:14.5px;font-weight:600;display:flex;gap:18px;flex-wrap:wrap}
nav.main a{color:#cdd8e6;text-decoration:none}
nav.main a:hover{color:#fff}
nav.main a.active{color:#fff;border-bottom:2px solid #eaa64e;padding-bottom:2px}

/* urgent strip */
.urgent{background:#a23b1e;color:#fff;font-family:"Libre Franklin",sans-serif;font-weight:600;font-size:15px;text-align:center;padding:11px 18px}
.urgent a{color:#ffe1b0}

/* hero */
.hero{background:linear-gradient(180deg,#1d3b5c,#16314f);color:#fff;padding:54px 22px 60px}
.herowrap{max-width:1020px;margin:0 auto}
.kick{font-family:"Libre Franklin",sans-serif;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#eaa64e}
h1.hl{font-family:"Libre Franklin",sans-serif;font-weight:900;font-size:clamp(33px,5.5vw,58px);line-height:1.04;letter-spacing:-.02em;margin:14px 0 16px;max-width:18ch}
.stake{font-size:22px;color:#dbe4ef;max-width:46ch;line-height:1.5}
.ctarow{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.btn{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:16px;text-decoration:none;padding:14px 22px;border-radius:7px;display:inline-block;cursor:pointer;border:none}
.btn-primary{background:#d8501f;color:#fff}
.btn-ghost{background:transparent;color:#fff;border:2px solid #50698a}
.updated{margin-top:22px;font-family:"Libre Franklin",sans-serif;font-size:13px;color:#9fb1c6}
.updated b{color:#eaa64e}

/* smaller page header for interior pages */
.pagehead{background:linear-gradient(180deg,#1d3b5c,#16314f);color:#fff;padding:40px 22px 36px}
.pagehead .herowrap{max-width:1020px;margin:0 auto}
.pagehead h1{font-family:"Libre Franklin",sans-serif;font-weight:900;font-size:clamp(28px,4.4vw,44px);line-height:1.08;letter-spacing:-.02em;margin:12px 0 12px;max-width:24ch}
.pagehead .stake{font-size:20px;max-width:60ch}

/* sections */
.wrap{max-width:1020px;margin:0 auto;padding:0 22px}
section{padding:46px 0}
.sectlabel{font-family:"Libre Franklin",sans-serif;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a23b1e;margin-bottom:8px}
h2{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:30px;letter-spacing:-.01em;margin-bottom:6px}
.lede{font-size:20px;color:#46505a;max-width:60ch;margin-bottom:22px}

/* reading prose for content pages */
.prose{max-width:68ch}
.prose p{margin-bottom:18px}
.prose h3{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.01em;margin:34px 0 10px;color:#16314f}
.prose h4{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:18px;margin:24px 0 6px}
.prose ul,.prose ol{margin:0 0 18px 0;padding-left:22px}
.prose li{margin-bottom:9px}
.prose a{color:#a23b1e}
.prose strong{color:#1a1f24}
.bignum{font-family:"Libre Franklin",sans-serif;font-weight:900;color:#16314f}

/* callout / honest-line box */
.callout{background:#fbf8f1;border-left:4px solid #c08a2d;border-radius:0 8px 8px 0;padding:16px 20px;margin:8px 0 22px;font-size:17px;color:#46505a}
.callout b{color:#1a1f24}
.ask{background:#eef4ef;border-left:4px solid #2f5d3a;border-radius:0 8px 8px 0;padding:14px 18px;margin:4px 0 22px;font-size:16.5px;color:#2f5d3a}
.ask b{color:#244a2e}

/* verbatim quote */
blockquote.verbatim{background:#fff;border:1px solid #e2dccd;border-left:4px solid #16314f;border-radius:0 8px 8px 0;padding:16px 20px;margin:0 0 18px;font-style:italic;color:#2b3640}
.attrib{font-family:"Libre Franklin",sans-serif;font-size:13.5px;font-weight:600;color:#46505a;margin:-8px 0 22px;text-transform:none}
.attrib .says{color:#a23b1e}
.attrib .rec{color:#2f5d3a}

/* harm cards */
.harms{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:760px){.harms{grid-template-columns:1fr}}
.harm{background:#fff;border:1px solid #e2dccd;border-radius:10px;padding:22px 22px 20px;box-shadow:0 12px 26px -20px rgba(30,40,60,.4)}
.harm .ic{font-size:30px}
.harm h3{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:19px;margin:8px 0 6px}
.harm p{font-size:16.5px;color:#46505a;line-height:1.5}
.harm .src{font-family:"Libre Franklin",sans-serif;font-size:12.5px;color:#2f5d3a;font-weight:600;margin-top:9px;display:inline-block;text-decoration:none}
.harm .src:hover{text-decoration:underline}

/* updates */
.upd{background:#fbf8f1;border-left:4px solid #16314f;border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:14px}
.upd .d{font-family:"Libre Franklin",sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#a23b1e}
.upd h4{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:18px;margin:3px 0 3px}
.upd p{font-size:16px;color:#46505a}
.upd p a{color:#a23b1e}

/* take action band */
.band{background:#2f5d3a;color:#fff;border-radius:12px;padding:32px 30px;margin-top:8px}
.band h2{color:#fff} .band .lede{color:#cfe0d4}
.actiongrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
@media(max-width:680px){.actiongrid{grid-template-columns:1fr}}
.act{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:15px 17px}
.act b{font-family:"Libre Franklin",sans-serif;font-size:16px}
.act span{display:block;font-size:15px;color:#d3e3d8;margin-top:3px}
.band a.btn{margin-top:20px}

/* numbered action steps (take-action page) */
.step{background:#fff;border:1px solid #e2dccd;border-radius:10px;padding:20px 22px;margin-bottom:16px;box-shadow:0 12px 26px -22px rgba(30,40,60,.4)}
.step .n{font-family:"Libre Franklin",sans-serif;font-weight:900;font-size:14px;color:#fff;background:#a23b1e;border-radius:100px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.step h3{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:20px;color:#16314f;margin-bottom:6px}
.step p{font-size:17px;color:#46505a;margin-bottom:10px}

/* copy-friendly letter / message block */
.letter{border:1px solid #d8d2c4;border-radius:10px;overflow:hidden;margin:10px 0 26px;background:#fff}
.letterbar{background:#16314f;color:#fff;font-family:"Libre Franklin",sans-serif;font-size:13.5px;font-weight:600;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.copybtn{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:13px;background:#eaa64e;color:#16314f;border:none;border-radius:6px;padding:7px 14px;cursor:pointer}
.copybtn:hover{background:#f2b964}
.copybtn.done{background:#2f5d3a;color:#fff}
.letter pre{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:14.5px;line-height:1.6;color:#1a1f24;background:#fffdf8;padding:20px;margin:0;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto}

/* contact cards */
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.contacts{grid-template-columns:1fr}}
.contact{background:#fff;border:1px solid #e2dccd;border-radius:10px;padding:18px 20px;box-shadow:0 12px 26px -22px rgba(30,40,60,.4)}
.contact.full{grid-column:1 / -1}
.contact h3{font-family:"Libre Franklin",sans-serif;font-weight:800;font-size:18px;color:#16314f;margin-bottom:4px}
.contact .role{font-family:"Libre Franklin",sans-serif;font-size:13.5px;color:#46505a;margin-bottom:10px}
.contact ul{list-style:none;margin:0;padding:0}
.contact li{font-size:16px;color:#1a1f24;margin-bottom:7px;line-height:1.45}
.contact li .who{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:14.5px}
.contact a{color:#a23b1e;text-decoration:none}
.contact a:hover{text-decoration:underline}
.contact .muted{color:#46505a;font-size:14.5px}

/* resources tables */
.tablewrap{overflow-x:auto;margin:0 0 26px;border:1px solid #e2dccd;border-radius:10px}
table.rtable{border-collapse:collapse;width:100%;background:#fff;font-size:16px}
table.rtable th{font-family:"Libre Franklin",sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#16314f;color:#fff;padding:11px 14px;vertical-align:top}
table.rtable td{padding:12px 14px;border-top:1px solid #ece7da;color:#2b3640;vertical-align:top;line-height:1.45}
table.rtable tr:nth-child(even) td{background:#fbf8f1}
table.rtable td .src{font-family:"Libre Franklin",sans-serif;font-size:12.5px;font-weight:600;color:#2f5d3a}

/* inline source citation */
.cite{font-family:"Libre Franklin",sans-serif;font-size:13px;font-weight:600;color:#2f5d3a;display:block;margin:-10px 0 20px}
.cite a{color:#2f5d3a}

/* footer */
footer{background:#11263c;color:#9fb1c6;font-family:"Libre Franklin",sans-serif;font-size:14px;padding:30px 22px;text-align:center;line-height:1.7}
footer b{color:#cdd8e6}
footer a{color:#9fb1c6}

/* misc */
.tag{display:inline-block;font-family:"Libre Franklin",sans-serif;font-size:11.5px;font-weight:700;background:#eaa64e;color:#16314f;padding:2px 9px;border-radius:100px;margin-left:6px;vertical-align:middle}
.tag.green{background:#2f5d3a;color:#fff}
.center{text-align:center}
hr.rule{border:none;border-top:1px solid #e2dccd;margin:34px 0}
