/* Additions for justinirwin4president.com (palette: navy #001965, red #D40924, gold #D1A84B, cream #F5EEE0) */
:root{--navy:#001965;--red:#D40924;--gold:#D1A84B;--cream:#F5EEE0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--navy);padding:.5rem 1rem;z-index:100;font-weight:700}
.skip-link:focus{left:1rem;top:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Nav */
.nav-desktop{display:none}
.nav-links{gap:.1rem}
.nav-links a{padding-left:.6rem;padding-right:.6rem}
.nav-active{color:var(--gold)!important}
.nav-mobile-controls{display:flex;align-items:center;gap:.75rem}
.menu-toggle{background:none;border:0;cursor:pointer;padding:.25rem;display:flex}
@media (min-width:1400px){.nav-desktop{display:block}.nav-mobile-controls{display:none}.mobile-menu{display:none!important}}
.mobile-menu{border-top:1px solid rgba(209,168,75,.2);padding:.5rem 1rem 1rem;max-width:80rem;margin:0 auto}
.mobile-menu[hidden]{display:none}
.mobile-link{display:block;color:var(--cream);padding:.65rem .5rem;font-weight:500;font-size:.95rem;border-bottom:1px solid rgba(245,238,224,.08)}
.mobile-link:hover{color:var(--gold)}
.mobile-donate{color:var(--gold);font-weight:700}
/* Donate */
.donate-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff!important;font-weight:700;font-size:.875rem;border-radius:.375rem;padding:.45rem 1rem;margin-left:.5rem;border:2px solid var(--gold);transition:background .15s;white-space:nowrap}
.donate-btn:hover{background:#b0071e}
.donate-btn-sm{margin-left:0;padding:.3rem .75rem}
.donate-btn-lg{margin-left:0;height:2.5rem;padding:0 1.5rem}
.donate-placeholder{opacity:.85;cursor:default}
.donate-band{background:linear-gradient(90deg,rgba(0,25,101,.97),rgba(0,25,101,.9));border-top:4px solid var(--gold);padding:3rem 0}
.volunteer-btn{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1.5rem;border:2px solid var(--cream);color:var(--cream);border-radius:.375rem;font-weight:700;font-size:.875rem}
.volunteer-btn:hover{background:var(--cream);color:var(--navy)}
/* Forms */
.hp-field{display:none!important}
.form-status{font-size:.9rem;min-height:1.25rem;margin-top:.5rem;color:var(--navy);font-weight:600;text-align:center}
.form-status.error{color:var(--red)}
.form-status.ok{color:#166534}
.native-check{width:1rem;height:1rem;accent-color:var(--navy);flex-shrink:0}
.help-grid{display:grid;gap:.5rem}
@media (min-width:640px){.help-grid{grid-template-columns:1fr 1fr}}
.help-option{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border:1px solid rgba(209,168,75,.35);border-radius:.375rem;background:#fff;color:var(--navy);font-size:.9rem;cursor:pointer}
.help-option input{margin-top:.15rem}
fieldset{border:0;padding:0;margin:0}
/* Great Recall downloads */
.gr-downloads{display:grid;gap:1rem}

.gr-pdf{padding-top:1.25rem;padding-bottom:1.25rem;text-decoration:none}
.gr-pdf-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--red);color:#fff;font-weight:700;font-size:.85rem;padding:.4rem .8rem;border-radius:.375rem}
.gr-pdf:hover .gr-pdf-btn{background:var(--navy)}
/* Merch */
.merch-img{display:flex;align-items:center;justify-content:center;height:9rem;border-radius:.75rem;background:linear-gradient(135deg,rgba(0,25,101,.06),rgba(209,168,75,.18));border:1px dashed rgba(209,168,75,.6)}
.coming-soon{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}
.break-all{word-break:break-all}
/* Utility gaps not present in the original compiled Tailwind */
.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-24{padding-top:6rem;padding-bottom:6rem}.text-left{text-align:left}
.w-16{width:4rem}.h-16{height:4rem}
@media (min-width:64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:justify-start{justify-content:flex-start}}
/* Home hero media: portrait + Gadsden / America Only column (mobile: stacked portrait > Gadsden > America Only) */
.hero-media{display:grid;gap:1.25rem;justify-items:center;align-items:center;width:100%}
.hero-portrait{max-width:420px;width:100%}
.hero-portrait img{width:100%;height:auto}
.hero-side{display:flex;flex-direction:column;gap:1.25rem;align-items:center;width:100%;max-width:420px}
.hero-side>div{width:100%}
.hero-side img{width:100%;height:auto;display:block}
.hero-side-small{max-width:260px}
@media (min-width:640px){.hero-media{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.hero-side-small{max-width:none;width:78%!important}}

/* Videos */
.video-grid{display:grid;gap:1.5rem}
@media (min-width:640px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.video-card{background:#fff;border:1px solid rgba(209,168,75,.35);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px rgba(0,25,101,.06);padding:0}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:rgba(0,25,101,.08)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-card h2{font-family:inherit;font-weight:700;color:var(--navy);font-size:1.05rem;padding:1rem 1.1rem 1.1rem;margin:0;line-height:1.35}
.videos-empty,.links-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:3rem 1rem 2rem}
.videos-empty-icon{width:100%;max-width:16rem;height:9rem}
.video-unsupported{padding:1.25rem 1.1rem;color:var(--navy)}
.video-unsupported a{color:var(--red);font-weight:700;text-decoration:underline;word-break:break-all}
/* Links */
.links-list{display:grid;gap:1.25rem;max-width:48rem;margin:0 auto}
@media (min-width:768px){.links-list{grid-template-columns:1fr;max-width:52rem}}
.link-card{display:block;background:#fff;border:1px solid rgba(209,168,75,.35);border-radius:.75rem;padding:1.35rem 1.5rem;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(0,25,101,.06);transition:border-color .15s,box-shadow .15s}
.link-card:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(0,25,101,.1)}
.link-card h2{font-family:serif;font-weight:700;color:var(--navy);font-size:1.35rem;margin:0 0 .35rem}
.link-card .link-url{color:var(--red);font-weight:600;font-size:.9rem;word-break:break-all}
.link-card p{color:rgba(0,25,101,.75);margin:.5rem 0 0;line-height:1.55}
