
:root{
  --blue:#0b4aa2;
  --red:#b22234;
  --white:#ffffff;
  --text:#0e1220;
  --muted:#5b6570;
  --bg:#f7f9fc;
  --max:1100px;
  --radius:14px;
  --shadow:0 10px 25px rgba(11,74,162,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Arial,sans-serif;background:var(--bg);line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 1rem}
.flex{display:flex;gap:1rem}
.between{justify-content:space-between}
.center{align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}

.site-header{position:sticky;top:0;background:linear-gradient(90deg,var(--blue),#143e7f);color:white;border-bottom:3px solid var(--red);z-index:1000}
.site-header .brand{display:flex;align-items:center;gap:.6rem;color:white;font-weight:800;letter-spacing:.3px}
.primary-nav a{color:#ffffff;margin:0 .6rem;padding:.75rem .4rem;border-bottom:3px solid transparent}
.primary-nav a.active,.primary-nav a:hover{border-color:var(--red)}
.nav-toggle{display:none;background:white;color:var(--blue);padding:.5rem .8rem;border-radius:10px;border:none}
.mobile-nav{display:none;flex-direction:column;padding:.5rem 1rem;background:var(--white)}
.mobile-nav a{padding:.5rem 0;border-bottom:1px solid #eee}
@media (max-width:900px){
  .primary-nav{display:none}
  .nav-toggle{display:block}
  .mobile-nav[hidden]{display:none}
  .mobile-nav{display:flex}
}

.hero{position:relative;background:
  linear-gradient(120deg,rgba(11,74,162,.94),rgba(178,34,52,.94)),
  url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900"><defs><linearGradient id="g" x1="0" x2="1"><stop offset="0" stop-color="%230b4aa2"/><stop offset="1" stop-color="%23b22234"/></linearGradient></defs><rect width="100%" height="100%" fill="url(%23g)"/></svg>');
  color:white;padding:4rem 0;box-shadow:var(--shadow);
  overflow:hidden;
}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin:0 0 .75rem;text-shadow:0 2px 8px rgba(0,0,0,.35),0 0 2px rgba(0,0,0,.4)}
.hero .lead{ text-shadow:0 2px 6px rgba(0,0,0,.35) }
.hero::after{
  content:"";
  position:absolute;
  right:2%;
  top:50%;
  transform:translateY(-50%);
  width:min(32vw, 420px);
  height:min(32vw, 420px);
  background-image:url('/assets/logo.png');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  opacity:.08;
  pointer-events:none;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));
}

.badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:.35rem .6rem;border-radius:999px;font-size:.9rem}

.cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.btn{display:inline-block;background:var(--red);color:white;padding:.85rem 1.1rem;border-radius:12px;border:2px solid rgba(255,255,255,.4);font-weight:800;position:relative;transition:all .3s ease-in-out;
     box-shadow:0 0 10px rgba(178,34,52,.8),0 0 20px rgba(11,74,162,.8)}
.btn:hover{box-shadow:0 0 15px rgba(255,255,255,.9),0 0 25px rgba(178,34,52,.9),0 0 35px rgba(11,74,162,.9);transform:translateY(-2px)}
.btn.alt{background:white;color:var(--blue);border-color:var(--blue);
         box-shadow:0 0 10px rgba(11,74,162,.8),0 0 20px rgba(255,255,255,.8)}
.btn.alt:hover{box-shadow:0 0 15px rgba(255,255,255,.9),0 0 25px rgba(11,74,162,.9),0 0 35px rgba(178,34,52,.9);transform:translateY(-2px)}

.card{background:white;border-radius:var(--radius);padding:1.25rem;box-shadow: 0 0 10px rgba(11,74,162,.25), 0 0 18px rgba(178,34,52,.15), var(--shadow)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:900px){.cards{grid-template-columns:1fr}}

.kv{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:900px){.kv{grid-template-columns:1fr}}

.section{padding:3rem 0}
.section h2{margin:0 0 .75rem;font-size:clamp(1.4rem,3vw,2rem)}
.list{padding-left:1.2rem}
.list li{margin:.35rem 0}

.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid #e5e9f2;padding:.6rem .8rem;text-align:left}
.table th{background:#f2f6ff}

.site-footer{margin-top:3rem;background:#0e1a2b;color:#c8d4ee;padding:2rem 0;border-top:3px solid var(--red)}
.site-footer a{color:#c8d4ee}
.legal{text-align:center;margin-top:1rem;color:#93a1c7;font-size:.9rem}

/* Neon patriotic accents for navigation */
.primary-nav a{
  text-shadow: 0 0 6px rgba(255,255,255,.35);
  box-shadow: inset 0 -3px 0 0 transparent;
  transition: box-shadow .25s ease, text-shadow .25s ease, transform .25s ease;
}
.primary-nav a:hover, .primary-nav a.active{
  text-shadow: 0 0 8px rgba(255,255,255,.6), 0 0 14px rgba(11,74,162,.6);
  box-shadow: inset 0 -3px 0 0 #b22234;
  transform: translateY(-1px);
}
.mobile-nav a{
  text-shadow: 0 0 6px rgba(255,255,255,.35);
}
.site-header .brand span{
  text-shadow: 0 0 6px rgba(255,255,255,.35);
}

/* Focus styles for keyboard navigation */
a:focus-visible, button:focus-visible, .nav-toggle:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline: 3px solid #b22234;
  box-shadow: 0 0 8px rgba(11,74,162,.7), 0 0 16px rgba(178,34,52,.6);
  outline-offset: 2px;
}

.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.breadcrumbs a{color:var(--muted)}

.notice{background:#fff7e6;border:1px solid #ffd79a;color:#8a5b00;padding:.6rem .8rem;border-radius:10px}
.lead{font-size:1.125rem;color:#243041}
small.help{color:var(--muted)}

.form input,.form select,.form textarea{width:100%;padding:.8rem;border:1px solid #ccd6e8;border-radius:12px;background:white}
.form label{font-weight:600}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:900px){.form .row{grid-template-columns:1fr}}
.form button{background:var(--blue);color:white;border:none;padding:.9rem 1.2rem;border-radius:12px;font-weight:800}


/* Tempstar unit image in header (right side) */
.site-header .tempstar-unit{
  max-height:56px;
  width:auto;
  margin-left:1rem;
  border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}
@media (max-width:1100px){
  .site-header .tempstar-unit{max-height:48px}
}
@media (max-width:900px){
  .site-header .tempstar-unit{display:none}
}


/* Sticky quote bar */
.sticky-quote{
  position:fixed;
  left:0; right:0; bottom:0;
  display:flex; justify-content:center; align-items:center;
  gap:1rem; padding:0.75rem 1rem;
  background:linear-gradient(90deg, rgba(11,74,162,.96), rgba(178,34,52,.96));
  color:#fff; z-index:2000; box-shadow:0 -6px 18px rgba(0,0,0,.25);
  transform:translateY(110%); transition:transform .35s ease;
}
.sticky-quote.show{ transform:translateY(0) }
.sticky-quote a.btn{ background:#fff; color:#0b4aa2; border-color:#fff }
.sticky-quote .close-quote{
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.6);
  border-radius:10px; padding:.35rem .6rem; cursor:pointer
}
@media (max-width:700px){
  .sticky-quote span{ display:none }
}


/* Readability & navigation enhancements */
html,body{font-size:17px;line-height:1.7;color:#0b0f1a}
a{text-decoration:underline;text-underline-offset:2px}
a.btn, .btn{ text-decoration:none } /* keep buttons clean */
.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;
  background:#fff;border:2px solid #0b4aa2;border-radius:10px;z-index:3000;
}
.primary-nav a{padding:1rem .5rem}
.nav-toggle{padding:.65rem 1rem}
.hero .lead{font-size:1.15rem}
/* Boost contrast of the alt button text */
.btn.alt{color:#0b4aa2}
/* Ensure table text is readable on small screens */
.table td, .table th{font-size:1rem}


/* Accessibility tune-ups */
/* Darker muted text for contrast */
:root{ --muted:#4a5563 }
/* Stronger red on buttons for contrast while staying on-brand */
.btn{ background:#a31c2a } /* slightly darker than #b22234 */
/* Footer & header link focus styles */
.site-footer a:focus-visible, .site-header a:focus-visible, .primary-nav a:focus-visible, .mobile-nav a:focus-visible{
  outline:3px solid #fff; outline-offset:2px; background:rgba(255,255,255,.1);
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important }
  .btn:hover, .btn.alt:hover{ transform:none !important }
  .sticky-quote{ transition:none }
}
/* Breadcrumbs as nav */
.breadcrumbs{ display:block }


/* Visually hidden (screen-reader only) utility */
.sr-only{
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* Post pager */
.post-pager a{ display:inline-block; padding:.6rem .8rem; margin:.25rem; border:1px solid #e5e9f2; border-radius:10px; text-decoration:none }
.post-pager a:hover{ text-decoration:underline }
