/* Frontline Government Relations — shared refinements */
:root{
  --navy:#0A1B36;
  --navy-700:#13294F;
  --red:#CC1818;
}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1e1e1e;}
h1,h2,h3,h4,.font-head{font-family:'Manrope',system-ui,sans-serif;letter-spacing:-0.02em;}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1;transform:none;}

/* Accent rule */
.rule-red:after{content:"";display:block;width:64px;height:3px;background:var(--red);margin-top:1.25rem;}
.rule-red-center:after{margin-left:auto;margin-right:auto;}

/* Card hover */
.card-lift{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.card-lift:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(10,27,54,.45);}

/* Nav underline */
.navlink{position:relative;}
.navlink:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--red);transition:width .3s ease;}
.navlink:hover:after,.navlink[aria-current="page"]:after{width:100%;}

/* Logo mark */
.logo-mark{letter-spacing:.18em;}

::selection{background:#CC1818;color:#fff;}
