/* TXFVA look, taken from the Facebook banner: daylight, Texas red / white / navy, brush strokes, slab + script type. */
:root{
  --red:#B8202F; --red-deep:#931A26; --red-soft:#F6DADC;
  --navy:#1F3366; --navy-ink:#18264B;
  --sky:#E6F1FB; --sky-2:#C9E0F5; --sky-3:#9CC4EA;
  --paper:#FFFDF8; --sand:#F7EEDF; --sun:#F2A23A;
  --ink:#1B2238; --ink-2:#47506A; --line:#DCE3EE;
  --slab:'Roboto Slab',Rockwell,Georgia,serif;
  --heavy:'Alfa Slab One','Roboto Slab',Georgia,serif;
  --script:'Kaushan Script',cursive;
  --body:'Source Sans 3','Segoe UI',sans-serif;
  --serif:'Source Serif 4',Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(1180px,100% - 32px);margin:0 auto}

/* brush-edged layer: put the color on ::before so the text stays crisp */
.brush{position:relative;isolation:isolate}
.brush::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--b,#fff);filter:url(#rough)}

/* header — white, never a black bar */
.hdr{background:#fff;border-bottom:4px solid var(--red);position:relative;z-index:5}
.hdr .wrap{display:flex;align-items:center;gap:22px;min-height:78px}
.hdr .logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.hdr .logo img{width:58px;height:auto}
.hdr .logo b{font:400 19px/1 var(--heavy);color:var(--navy);letter-spacing:.01em}
.hdr .logo b i{display:block;font:400 15px/1.1 var(--script);color:var(--red);margin-top:3px;font-style:normal}
.hdr nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.hdr nav a{text-decoration:none;font:600 16px/1 var(--body);color:var(--navy);padding:10px 12px;border-radius:4px}
.hdr nav a:hover,.hdr nav a.on{color:var(--red)}
.hdr nav a.on{box-shadow:inset 0 -3px 0 var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;font:800 16px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;border-radius:3px}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-deep)}
.btn-white{background:#fff;color:var(--navy);box-shadow:0 4px 0 var(--sky-3)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 4px 0 var(--navy-ink)}
.hdr .btn{min-height:44px;padding:0 20px;margin-left:8px}
.hdr nav a.btn,.hdr nav a.btn:hover{color:#fff}
.menu{display:none;margin-left:auto;width:44px;height:44px;border:2px solid var(--navy);border-radius:4px;background:#fff;color:var(--navy);font:700 22px/1 var(--body)}

/* type */
.eyebrow{font:700 14px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"★";font-size:14px}
h1,h2,h3{font-family:var(--slab);color:var(--navy);margin:0;line-height:1.08}
h2{font-weight:800;font-size:clamp(30px,4vw,46px)}
h3{font-weight:700;font-size:23px}
.script{font-family:var(--script);color:var(--red);font-weight:400}
.lead{font-size:20px;color:var(--ink-2);max-width:640px}

/* navy brush ribbon — the banner's tagline strip */
.ribbon{display:inline-block;--b:var(--navy);color:#fff;font:700 clamp(15px,1.6vw,19px)/1.2 var(--body);padding:12px 34px;letter-spacing:.01em}
.ribbon.red{--b:var(--red)}

/* flag swooshes in the corners, as on the banner */
.swoosh{position:absolute;height:64px;filter:url(#rough);pointer-events:none}
.swoosh.l{left:-40px;bottom:-14px;width:46%;background:var(--navy);transform:rotate(-3deg)}
.swoosh.r{right:-40px;bottom:-18px;width:46%;background:var(--red);transform:rotate(3deg)}
.swoosh.l::after{content:"★";position:absolute;left:90px;top:6px;color:#fff;font-size:44px;line-height:1}

/* stars */
.stars{display:flex;flex-wrap:wrap;gap:4px}
.stars span{font-size:24px;line-height:1;color:var(--sky-2)}
.stars span.on{color:var(--red)}
.stars span.held{color:var(--navy)}

/* footer — light, not black */
.ftr{background:var(--sky);border-top:6px solid var(--navy);margin-top:0;color:var(--ink)}
.ftr .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding:52px 0 30px}
.ftr img{width:110px}
.ftr h4{font:800 14px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:6px 0 14px}
.ftr a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--navy);font-weight:600;padding:0}
.ftr .feed{font:400 30px/1 var(--script);color:var(--navy);margin-top:14px}
.ftr .base{grid-column:1/-1;border-top:1px solid var(--sky-2);padding-top:10px;font-size:15px;color:var(--ink-2);display:flex;justify-content:space-between;align-items:center;gap:0 16px;flex-wrap:wrap}
.ftr .base a{display:inline-flex;min-height:44px;min-width:44px;justify-content:center;padding:0 4px}

@media (max-width:900px){
  .hdr nav{display:none}
  .menu{display:block}
  .hdr .wrap{min-height:66px}
  .hdr .logo img{width:48px}
  .ftr .wrap{grid-template-columns:1fr 1fr}
  .ftr .wrap>div:first-child{grid-column:1/-1}
}
@media (max-width:520px){ body{font-size:17px} .hdr .logo b{font-size:16px} .hdr .logo b i{font-size:13px} }
#lk-acts{display:contents}
/* the menu's links never break onto two lines; below 1060px they fold into the ☰ menu */
.hdr nav a,.hdr .logo b{white-space:nowrap}
@media (max-width:1060px){ .hdr nav{display:none} .menu{display:block} }
@media (max-width:1060px){
  .hdr nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:4px solid var(--red);padding:8px 16px 16px;box-shadow:0 14px 30px rgba(31,51,102,.15)}
  .hdr nav.open a{padding:14px 6px;font-size:18px;border-bottom:1px solid var(--line)}
  .hdr nav.open .btn{margin:12px 0 0;border:0}
}
