/* ICCSD Forecasting — shared site styles */
:root{
  --ink:#1a2230; --muted:#5b6675; --line:#e3e7ee; --bg:#f6f8fb; --card:#fff;
  --green:#1f9d68; --green-bg:#e7f6ee; --yellow:#caa12a; --yellow-bg:#fbf4dc;
  --orange:#d9822b; --orange-bg:#fbeede; --red:#c64236; --red-bg:#fae9e7;
  --gray:#8a93a3; --gray-bg:#eef1f5; --blue:#2c5fb3; --blue-bg:#e9f0fb;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.wrap{max-width:880px;margin:0 auto;padding:0 20px 64px;}

/* top nav */
.topnav{background:#15203a;color:#fff;position:sticky;top:0;z-index:10;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:11px 20px;}
.topnav .brand{font-weight:800;color:#fff;text-decoration:none;font-size:16px;margin-right:auto;letter-spacing:-.2px}
.topnav .links{display:flex;flex-wrap:wrap;gap:4px 16px}
.topnav a{color:#c7d6ef;text-decoration:none;font-size:14px}
.topnav a:hover{color:#fff}

/* hero header */
header.hero{background:linear-gradient(135deg,#1d2b4a,#2c5fb3);color:#fff;padding:40px 0 34px;}
header.hero .wrap{padding-bottom:0}
h1{margin:0 0 6px;font-size:27px;line-height:1.25;letter-spacing:-.2px}
header.hero p{margin:4px 0 0;color:#cfe0f7;font-size:15px}
.kicker{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;color:#9db8e4;margin:0 0 10px;font-weight:600}

h2{font-size:20px;margin:38px 0 10px;letter-spacing:-.2px}
h3{font-size:15px;margin:20px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
h4{font-size:15px;margin:16px 0 4px}
a{color:var(--blue)}
p{margin:10px 0}

.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:16px 0;
  box-shadow:0 1px 2px rgba(20,30,50,.04)}
.disclaimer{background:#fff8e9;border:1px solid #f0d896;border-radius:12px;padding:16px 20px;margin:22px 0;font-size:14.5px}
.disclaimer b{color:#9a6a00}
.q{background:var(--blue-bg);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:14px 20px;margin:16px 0}

table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
td.w{white-space:nowrap;font-variant-numeric:tabular-nums}
code{background:#eef1f5;border-radius:5px;padding:1px 5px;font-size:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
blockquote{margin:14px 0;background:var(--blue-bg);border-left:4px solid var(--blue);
  border-radius:0 10px 10px 0;padding:10px 18px;color:#23344f}
blockquote p{margin:6px 0}
hr{border:0;border-top:1px solid var(--line);margin:26px 0}

.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.p-green{background:var(--green-bg);color:var(--green)}
.p-yellow{background:var(--yellow-bg);color:#9a7a10}
.p-orange{background:var(--orange-bg);color:var(--orange)}
.p-red{background:var(--red-bg);color:var(--red)}
.p-gray{background:var(--gray-bg);color:var(--gray)}
.p-blue{background:var(--blue-bg);color:var(--blue)}

/* probability bars (bond rating page) */
.bar{display:flex;align-items:center;gap:12px;margin:8px 0}
.bar .lbl{flex:0 0 188px;font-size:14px}
.bar .lbl small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.bar .track{flex:1;background:#eef1f5;border-radius:6px;height:26px;position:relative;overflow:hidden}
.bar .fill{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;
  padding-right:8px;color:#fff;font-size:13px;font-weight:700;min-width:34px}
.f-green{background:var(--green)} .f-blue{background:var(--blue)}
.f-yellow{background:var(--yellow)} .f-orange{background:var(--orange)} .f-gray{background:var(--gray)}
.callout{background:var(--green-bg);border:1px solid #bfe6cf;border-radius:12px;padding:18px 22px;margin:18px 0}
.callout .big{font-size:30px;font-weight:800;color:#15784f;letter-spacing:-.5px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.two .card{margin:0}
.up{border-top:3px solid var(--green)} .down{border-top:3px solid var(--red)}
ul,ol{margin:8px 0;padding-left:20px} li{margin:5px 0}
.scale{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.scale span{padding:5px 10px;border-radius:7px;font-size:13px;font-weight:700}

/* landing-page finding cards */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.finding{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  box-shadow:0 1px 2px rgba(20,30,50,.04);display:flex;flex-direction:column}
.finding .num{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:2px 0 2px}
.finding .lab{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.finding p{font-size:14px;color:#384356;margin:6px 0 10px}
.finding a{font-size:13.5px;font-weight:600;text-decoration:none;margin-top:auto}
.n-red{color:var(--red)} .n-orange{color:var(--orange)} .n-blue{color:var(--blue)} .n-green{color:var(--green)}

.content :first-child{margin-top:6px}

/* ribbon: two featured tiles at the top of the forecast page */
.ribbon-band{background:var(--blue-bg);border:1px solid #d3e0f5;border-radius:14px;padding:13px;margin:20px 0 26px}
.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ribbon .tile{display:block;text-decoration:none;color:inherit;background:var(--card);
  border:1px solid var(--line);border-radius:11px;padding:16px 18px;transition:border-color .12s,box-shadow .12s}
.ribbon .tile:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(30,60,120,.10)}
.ribbon .tile.accent{border-left:4px solid var(--blue)}
.ribbon .eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700}
.ribbon .h{font-size:17px;font-weight:800;margin:4px 0 3px;letter-spacing:-.2px}
.ribbon .sub{font-size:13.5px;color:#384356;margin:0}
.ribbon .go{font-size:13px;color:var(--blue);font-weight:700;margin-top:9px;display:inline-block}

footer{color:var(--muted);font-size:13px;border-top:1px solid var(--line);margin-top:36px;padding-top:18px}
.src{font-size:13px;color:var(--muted)}
@media(max-width:620px){.two,.grid{grid-template-columns:1fr}.bar .lbl{flex-basis:130px}}
