/* A shared visual family for Jon's homepage and the Security Coverage workspace. */
:root { --bg:#090b10; --panel:#121922; --ink:#f3f6fb; --muted:#b2bfce; --dim:#97a7ba; --line:#323e4d; --cyan:#63d5e3; --violet:#ed5146; --lime:#efbd66; }
.page-glow { background:radial-gradient(ellipse at 80% 25%,#1b506235,transparent 55%),radial-gradient(ellipse at 8% 0,#9d2f241c,transparent 40%); }
.page-glow::after { opacity:.12; }
.site-header { background:#0d1219; }
.wordmark-icon,.footer-mark { clip-path:none; border-radius:10px; border-color:#ef4b40; color:#ff6359; background:#1c1517; font:700 1rem var(--sans); }
.main-nav { font-size:.95rem; }
.nav-feature { border-radius:10px; }
.hero { min-height:590px; padding-top:64px; padding-bottom:60px; }
.hero h1 em,.section-heading h2 em,.about h2 em { color:#e4edf8; }
.hero-intro,.section-heading > p { color:var(--muted); font-size:1.05rem; line-height:1.65; }
.kicker { font:600 .8rem var(--sans); color:#b2c0d2; }
.button { min-height:48px; border-radius:10px; font-size:1rem; }
.button-primary { background:#e8392e; color:white; border:1px solid #fa5b50; box-shadow:0 9px 30px #d52d201f; }
.button-primary:hover { background:#f04b40; color:white; }
.button-secondary { background:#16212d; border-color:#435266; color:#e4edf8; }
.project-card,.content-card { border-radius:16px; border-color:#3b495c; background:linear-gradient(140deg,#182332,#101720); }
.project-card { border-color:#975347; }
.project-copy { min-height:420px; }
.project-copy h3 { font-size:clamp(2.1rem,3.4vw,3.1rem); line-height:1.12; }
.project-copy p,.content-card p { color:#b7c5d6; font-size:1rem; line-height:1.65; }
.project-link { color:#83e0e9; font-size:1rem; }
.project-preview.clarity-project-preview { height:auto; margin:24px; padding:28px 18px; align-self:center; border:1px solid #445265; border-radius:14px; background:#0d141e; transform:none; }
.clarity-project-preview > p { color:#eff4fc; font-size:1.1rem; font-weight:700; margin:0 0 22px; }
.clarity-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.clarity-project-grid > div { padding:0 0 14px; border:1px solid #87534b; border-radius:10px; background:#17212d; overflow:hidden; }
.clarity-project-grid > div:nth-child(2) { border-color:#407580; }
.clarity-project-grid > div:nth-child(3) { border-color:#8d754a; }
.clarity-project-grid img { width:100%; height:auto; display:block; mix-blend-mode:screen; }
.clarity-project-grid strong { display:block; padding:0 10px; font-size:.9rem; line-height:1.4; }
.clarity-project-preview > span { display:block; margin-top:22px; color:#b3c2d5; font-size:.9rem; }
.principles strong { font-size:1.05rem; }
.principles p { font-size:1rem; color:#b3c2d5; }
.content-type,.card-series,.project-meta,.project-overline { font-size:.8rem; }
.about-copy > p { color:#b9c7d8; font-size:1rem; line-height:1.7; }
.main-nav a:focus-visible,.button:focus-visible,.project-card:focus-visible { outline:3px solid #63d5e3; outline-offset:4px; }
@media(max-width:700px) {
  .hero { min-height:0; padding:38px 0 32px; }
  .hero h1 { font-size:clamp(2.7rem,12vw,3.8rem); }
  .main-nav { background:#111b28; }
  .main-nav a { min-height:44px; }
  .project-copy { min-height:0; padding:28px; gap:26px; }
  .project-meta { flex-wrap:wrap; gap:10px; }
}
