/* RESTORE2ND Build 053 - Federal Cornerstone SEO */

.federal-cornerstone-hero{
  padding:72px 0 64px;
  background:
    radial-gradient(circle at 86% 18%,rgba(198,156,66,.19),transparent 28%),
    linear-gradient(135deg,#07192d 0%,#0d2e4c 54%,#153f64 100%);
  color:#fff;
}
.federal-cornerstone-hero h1{
  max-width:900px;
  margin:9px 0 16px;
  color:#fff;
  font-size:clamp(38px,5vw,64px);
  line-height:1.02;
}
.federal-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(310px,.72fr);
  gap:46px;
  align-items:center;
}
.federal-hero-lead{
  max-width:850px;
  color:#e5edf5;
  font-size:18px;
  line-height:1.7;
}
.federal-update-chip{
  display:inline-block;
  margin-top:10px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  background:rgba(255,255,255,.07);
  color:#d9e5ef;
  font-size:11px;
}
.federal-hero-card{
  border:1px solid rgba(238,203,123,.34);
  border-radius:16px;
  padding:24px;
  background:rgba(4,18,34,.76);
  box-shadow:0 22px 50px rgba(0,0,0,.28);
}
.federal-hero-card-kicker,.federal-section-label,.federal-side-kicker,.federal-offer-kicker{
  color:#b5882f;
  font-size:10px;
  font-weight:1000;
  letter-spacing:1.45px;
  text-transform:uppercase;
}
.federal-hero-card-kicker{color:#f0cf82;margin-bottom:12px}
.federal-date-row{
  display:grid;
  gap:3px;
  border-top:1px solid rgba(255,255,255,.12);
  padding:13px 0;
}
.federal-date-row strong{color:#fff;font-size:15px}
.federal-date-row span{color:#b9cad9;font-size:12px}
.federal-date-row.featured strong{color:#f5cf76}
.federal-hero-card p{color:#aebfce;font-size:11px;line-height:1.5}
.federal-official-link{color:#f3d58f!important;font-weight:900;text-decoration:none}

.federal-jumpbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 3px 14px rgba(7,28,48,.06);
}
.federal-jumpbar nav{
  display:flex;
  gap:0;
  overflow-x:auto;
  scrollbar-width:thin;
}
.federal-jumpbar a{
  flex:0 0 auto;
  padding:15px 17px;
  color:#24445f;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  border-bottom:3px solid transparent;
}
.federal-jumpbar a:hover{color:var(--navy);border-bottom-color:var(--gold)}

.federal-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:36px;
  align-items:start;
}
.federal-main{min-width:0}
.federal-main>h2{
  color:var(--navy);
  margin:38px 0 12px;
  font-size:31px;
  line-height:1.15;
}
.federal-main>p,.federal-main li{
  color:#35485e;
  line-height:1.74;
}
.federal-main>p:first-of-type{font-size:17px}
.federal-keypoint,.federal-warning{
  margin:21px 0;
  padding:17px 19px;
  border-radius:0 10px 10px 0;
  line-height:1.6;
}
.federal-keypoint{
  border-left:4px solid var(--gold);
  background:#fff9eb;
  color:#3e4b59;
}
.federal-keypoint.strong{
  background:#f2f7fb;
  border-left-color:#315f87;
}
.federal-warning{
  border-left:4px solid #a51e28;
  background:#fff3f4;
  color:#5f2830;
}

.federal-timeline{
  display:grid;
  gap:13px;
  margin:18px 0 8px;
}
.federal-timeline-item{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  padding:17px 18px;
}
.federal-timeline-item.current{border-left:5px solid var(--gold)}
.federal-timeline-date{
  color:#8b651d;
  font-weight:1000;
  font-size:13px;
}
.federal-timeline-item h3{margin:0 0 4px;color:var(--navy)}
.federal-timeline-item p{margin:0;color:#516276}
.federal-small-note{font-size:11px!important;color:#6c7a89!important}

.federal-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:19px 0;
}
.federal-category-grid>div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:15px;
}
.federal-category-grid strong{
  display:block;
  color:#8b651d;
  font-size:13px;
  margin-bottom:5px;
}
.federal-category-grid span{color:#35485e;font-size:13px;font-weight:700}

.federal-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.federal-check-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
  padding:18px;
  box-shadow:0 6px 18px rgba(13,39,61,.04);
}
.federal-check-card h3{margin:0 0 7px;color:var(--navy);font-size:18px}
.federal-check-card p{margin:0;color:#526477;font-size:13px;line-height:1.6}

.federal-process-steps{
  display:grid;
  gap:12px;
  margin:19px 0;
}
.federal-process-steps>div{
  display:grid;
  grid-template-columns:43px 1fr;
  gap:13px;
  align-items:start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:15px;
}
.federal-process-steps b{
  display:flex;
  align-items:center;
  justify-content:center;
  width:35px;
  height:35px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
}
.federal-process-steps span{color:#4a5d70;line-height:1.55}

.federal-outcome-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.federal-outcome{
  border:1px solid var(--line);
  border-top:4px solid #315f87;
  background:#fff;
  border-radius:11px;
  padding:18px;
}
.federal-outcome.grant{border-top-color:#3f7c50}
.federal-outcome.deny{border-top-color:#9b2730}
.federal-outcome.indeterminate{border-top-color:#b47d25}
.federal-outcome.noaction{border-top-color:#6d7080}
.federal-outcome h3{margin:0 0 6px;color:var(--navy)}
.federal-outcome p{margin:0;color:#526477;font-size:13px;line-height:1.6}

.federal-action-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:17px 0 25px;
}

.federal-offer-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin:20px 0 8px;
}
.federal-offer-card{
  display:block;
  text-decoration:none;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
  color:inherit;
  box-shadow:0 8px 22px rgba(8,34,55,.06);
}
.federal-offer-card:hover{transform:translateY(-1px);box-shadow:0 11px 26px rgba(8,34,55,.10)}
.federal-offer-card strong{display:block;margin:7px 0;color:var(--navy);font-size:18px}
.federal-offer-card p{color:#55677a;font-size:13px;line-height:1.55}
.federal-offer-card em{font-style:normal;font-weight:900;color:#9b2730}

.federal-faq details{box-shadow:0 3px 12px rgba(8,34,55,.03)}

.federal-sources{
  margin-top:45px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.federal-sources h2{margin-top:7px}
.federal-source-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.federal-source-links a{
  display:block;
  padding:11px 13px;
  background:#f5f8fa;
  border:1px solid var(--line);
  border-radius:8px;
  color:#1f5279;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.federal-source-links a:hover{text-decoration:underline}

.federal-aside{
  position:sticky;
  top:18px;
}
.federal-side-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
  margin-bottom:15px;
  box-shadow:var(--shadow);
}
.federal-side-card.primary{
  border-top:4px solid #a51e28;
}
.federal-side-card.official{
  background:#f6f8fa;
  box-shadow:none;
}
.federal-side-card h3{margin:6px 0 8px;color:var(--navy)}
.federal-side-card p{font-size:13px;color:#58697a;line-height:1.58}
.federal-side-card .btn{width:100%;text-align:center}
.federal-side-card.official a{font-weight:900;color:#1f5279;text-decoration:none}

.federal-video-band{
  background:#f4f7fa;
  border-top:1px solid var(--line);
}

@media(max-width:1000px){
  .federal-hero-grid,.federal-content-grid{grid-template-columns:1fr}
  .federal-aside{position:static}
  .federal-hero-card{max-width:720px}
}
@media(max-width:760px){
  .federal-cornerstone-hero{padding:52px 0 44px}
  .federal-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .federal-check-grid,.federal-outcome-grid,.federal-offer-grid,.federal-source-links{grid-template-columns:1fr}
  .federal-timeline-item{grid-template-columns:1fr;gap:6px}
}
@media(max-width:520px){
  .federal-category-grid{grid-template-columns:1fr}
  .federal-main>h2{font-size:27px}
}
