/* FedResumeFix — Capitol Navy & Gold */
:root{
  --navy:#0E1F3A; --navy2:#16305a; --navy3:#0a1830;
  --gold:#C9A227; --gold-d:#9c7d18; --gold-soft:#f3e9c8;
  --cream:#FAF7F0; --paper:#FFFDF7; --ink:#1d2735; --mut:#5d6878;
  --line:#e3dcc8; --line2:#d5cdb4;
  --ok:#1e7a46; --warn:#a86e0a; --bad:#b3362b;
  --shadow:0 10px 30px rgba(14,31,58,.10), 0 2px 6px rgba(14,31,58,.06);
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2}
h1{font-size:2.35rem;margin:.2em 0 .45em}
h2{font-size:1.65rem;margin:1.4em 0 .5em}
h3{font-size:1.18rem;margin:1.1em 0 .35em}
p{margin:.55em 0}
a{color:var(--navy2);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold-d)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.small{font-size:.88rem;color:var(--mut)}
.lede{font-size:1.16rem;color:#33405a}
ul,ol{padding-left:1.25em}
li{margin:.3em 0}
strong{color:var(--navy)}

/* header */
.site-head{background:var(--navy);border-bottom:3px solid var(--gold)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand .mark{width:38px;height:38px;border-radius:9px;background:var(--navy3);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.brand .name{font-family:Georgia,serif;font-size:1.32rem;color:#fff;letter-spacing:.2px}
.brand .name b{color:var(--gold);font-weight:700}
.nav{display:flex;gap:6px;flex-wrap:wrap}
.nav a{color:#e9e4d2;text-decoration:none;font-size:.95rem;padding:8px 13px;border-radius:8px;border:1px solid transparent}
.nav a:hover{background:rgba(201,162,39,.14);color:#fff;border-color:rgba(201,162,39,.45)}

/* hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 78%,#1d3a68 100%);color:#f2ecd9;padding:52px 0 46px;border-bottom:3px solid var(--gold)}
.hero h1{color:#fff;font-size:2.6rem;max-width:16em}
.hero h1 .gold{color:var(--gold)}
.hero p{max-width:44em;color:#dcd5bd;font-size:1.13rem}
.hero .kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--gold);font-weight:700;margin:0 0 6px}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero .fineprint{font-size:.85rem;color:#a9b2c4;margin-top:14px}

/* buttons */
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;
  padding:13px 24px;border-radius:10px;border:1.5px solid var(--navy);
  box-shadow:0 4px 0 #081426, 0 10px 18px rgba(14,31,58,.18);transition:transform .08s ease, box-shadow .08s ease}
.btn:hover{background:var(--navy2);color:#fff}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #081426}
.btn-gold{background:var(--gold);border-color:var(--gold-d);color:var(--navy);box-shadow:0 4px 0 var(--gold-d),0 10px 18px rgba(156,125,24,.25)}
.btn-gold:hover{background:#d8b236;color:var(--navy)}
.btn-gold:active{box-shadow:0 1px 0 var(--gold-d)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy);box-shadow:none}
.btn-ghost:hover{background:rgba(14,31,58,.06);color:var(--navy)}
.btn-sm{padding:9px 16px;font-size:.92rem}
.hero .btn-ghost{color:#fff;border-color:#8fa0bd}
.hero .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}

/* layout blocks */
.band{padding:44px 0}
.band-alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.g2,.g3{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.num-badge{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--gold);
  font-family:Georgia,serif;font-weight:700;align-items:center;justify-content:center;font-size:1rem;margin-bottom:8px}
.rule{width:64px;height:3px;background:var(--gold);border-radius:2px;margin:10px 0 18px}

/* lock panels */
.lock{position:relative;background:linear-gradient(180deg,#fffdf4,#faf3da);border:1.5px dashed var(--gold-d);
  border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.lock .lock-tag{display:inline-block;background:var(--navy);color:var(--gold);font-weight:700;font-size:.86rem;
  padding:5px 12px;border-radius:999px;letter-spacing:.02em}
.lock h3{margin:.55em 0 .3em}
.lock .teaser{color:#5d5641}
.lock ul{margin:.4em 0 .9em}

/* comparison table */
.twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.96rem}
th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:var(--navy);color:#fff;font-family:Georgia,serif;font-weight:600}
tr:last-child td{border-bottom:none}
td.us{background:#fbf5dd;font-weight:600}

/* faq */
details{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0;box-shadow:0 2px 6px rgba(14,31,58,.05)}
details summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:1.02rem}
details p{margin:.5em 0 .2em}

/* fact boxes in articles */
.factbox{background:#f4efe0;border:1px solid var(--line2);border-left:5px solid var(--gold);border-radius:8px;padding:16px 20px;margin:20px 0}
.factbox h3,.factbox h4{margin-top:0;font-size:1.02rem;text-transform:uppercase;letter-spacing:.06em}
.factbox ul{margin:.3em 0}
blockquote{border-left:4px solid var(--gold);margin:18px 0;padding:6px 18px;background:#fbf7ea;color:#3a3f2c;font-style:italic}
.article-meta{color:var(--mut);font-size:.9rem}
.cta-box{background:var(--navy);color:#e9e4d2;border-radius:var(--radius);padding:26px;margin:30px 0;border-bottom:4px solid var(--gold)}
.cta-box h2,.cta-box h3{color:#fff;margin-top:0}
.cta-box p{color:#d8d2ba}

/* guide cards */
.guide-card{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.guide-card:hover{border-color:var(--gold)}
.guide-card h3{margin:.1em 0 .3em}
.guide-card p{color:var(--mut);font-size:.95rem;margin:0}
.guide-card .tag{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}

/* checker */
.tool-shell{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
label.flabel{display:block;font-weight:700;color:var(--navy);margin:16px 0 6px}
textarea{width:100%;min-height:190px;border:1.5px solid var(--line2);border-radius:10px;padding:13px;font:inherit;font-size:.95rem;background:#fffef9;color:var(--ink);resize:vertical}
textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.privacy-note{background:#eef3ea;border:1px solid #c9d6bf;border-radius:10px;padding:12px 16px;font-size:.93rem;color:#33502a}
input[type=file]{font:inherit;font-size:.92rem}
.verdict{border-radius:var(--radius);padding:22px;margin:22px 0;border:1.5px solid}
.v-high{background:#fdf0ee;border-color:#d8a49c}
.v-close{background:#fdf6e0;border-color:#dcc26a}
.v-ok{background:#edf6ef;border-color:#9dc6ab}
.verdict .vlabel{font-family:Georgia,serif;font-size:1.5rem;font-weight:700}
.v-high .vlabel{color:var(--bad)} .v-close .vlabel{color:var(--warn)} .v-ok .vlabel{color:var(--ok)}
.counts{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.count-chip{background:#fff;border:1px solid var(--line2);border-radius:10px;padding:10px 16px;min-width:120px}
.count-chip .n{font-family:Georgia,serif;font-size:1.35rem;font-weight:700;color:var(--navy);display:block}
.count-chip .l{font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.meter{height:14px;background:#ece5cf;border-radius:99px;overflow:hidden;margin:8px 0 4px;border:1px solid var(--line2)}
.meter > div{height:100%;background:var(--navy)}
.meter.over > div{background:var(--bad)}
.issue{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:8px;padding:12px 16px;margin:9px 0}
.issue.sev-high{border-left-color:var(--bad)}
.issue.sev-med{border-left-color:var(--warn)}
.regime{background:#eef1f7;border:1px solid #c3cede;border-radius:10px;padding:14px 18px;margin:16px 0}
.checklist{list-style:none;padding:0}
.checklist li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line)}
.checklist input{width:20px;height:20px;margin-top:3px;accent-color:var(--navy);flex:none}
.kv{font-size:.95rem}
.kv b{color:var(--navy)}

/* kit */
.kitmod{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:22px 0;box-shadow:var(--shadow)}
.kitmod > h2{margin-top:0}
.modnum{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d)}
.template-skel{background:#fff;border:1.5px solid var(--navy);padding:18px;font-size:.86rem;line-height:1.5;white-space:pre-wrap;font-family:Georgia,serif;color:#222}
.copy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
@media print{
  .site-head,.site-foot,.no-print{display:none!important}
  body{background:#fff;font-size:12pt}
  .kitmod,.card{box-shadow:none;border-color:#bbb;break-inside:avoid}
}

/* footer */
.site-foot{background:var(--navy3);color:#c9d2e2;margin-top:56px;padding:34px 0 30px;border-top:3px solid var(--gold)}
.site-foot a{color:#e9e4d2}
.site-foot .cols{display:flex;gap:34px;flex-wrap:wrap;justify-content:space-between}
.site-foot h4{color:#fff;font-family:Georgia,serif;margin:0 0 8px;font-size:1rem}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:5px 0;font-size:.94rem}
.site-foot .fine{font-size:.84rem;color:#93a1b8;margin-top:22px;border-top:1px solid #24344f;padding-top:14px}
