/* Victory Custom Styles */
:root{--brand-blue:#202870;--brand-blue-dark:#070b24;--brand-red:#c81018;--navy:#070b24;--graphite:#111633;--gold:#c81018;--off-white:#f7f8fc;--steel:#8b95c7;--red:#c81018;--ink:#101429;--muted:#667080;--line:rgba(200,16,24,0.22);--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy)}body{margin:0;background:var(--off-white);color:var(--ink);text-rendering:geometricPrecision}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}::selection{background:rgba(200,16,24,0.28)}
.container-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.dark-panel{background:radial-gradient(circle at 18% 20%,rgba(139,149,199,0.2),transparent 34%),radial-gradient(circle at 84% 2%,rgba(200,16,24,0.15),transparent 30%),var(--navy);color:var(--off-white)}
.text-balance{text-wrap:balance}.gold-line{position:relative}.gold-line::before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;width:48px;height:2px;background:var(--brand-red)}
.on-dark-55{color:rgba(255,255,255,0.55)}.on-dark-65{color:rgba(255,255,255,0.65)}.on-dark-70{color:rgba(255,255,255,0.7)}.on-dark-75{color:rgba(255,255,255,0.75)}.on-dark-80{color:rgba(255,255,255,0.8)}
.victory-outline-cta{color:#fff;border-color:rgba(255,255,255,0.42);background:rgba(32,40,112,0.25)}.victory-outline-cta:hover{color:#fff;border-color:#c81018;background:#c81018}
.route-line{stroke-dasharray:8 16;animation:route-flow 10s linear infinite}.route-line.slow{animation-duration:15s}
@keyframes route-flow{to{stroke-dashoffset:-240}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}
/* Fallback: if JS fails, show content after 1s */
@keyframes reveal-fallback{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.reveal:not(.visible){animation:reveal-fallback .8s ease .6s both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}


/* ===== Global Responsive Fixes ===== */
/* Prevent text overflow everywhere */
*{overflow-wrap:break-word;word-break:break-word}

/* Form labels must be block-level for proper width */
form label{display:block;width:100%}

/* Ensure all form controls fill their container */
form input,form select,form textarea{width:100%;max-width:100%}

/* Search overlay */
.search-overlay{position:fixed;inset:0;z-index:100;background:rgba(7,11,36,0.85);backdrop-filter:blur(6px);display:none;place-items:start;padding-top:80px}
.search-overlay.active{display:grid}
.search-overlay-inner{width:min(600px,calc(100% - 40px));margin-inline:auto}
.search-overlay input{width:100%;height:56px;border-radius:12px;border:2px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);padding:0 20px 0 48px;font-size:16px;color:#fff;outline:none;transition:border-color .2s}
.search-overlay input:focus{border-color:var(--brand-red)}
.search-overlay input::placeholder{color:rgba(255,255,255,0.45)}
.search-overlay .search-close{position:absolute;top:90px;right:calc(50% - 310px);background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;padding:8px}
@media(max-width:640px){.search-overlay .search-close{right:20px}}
.search-overlay .search-icon-abs{position:absolute;top:97px;left:calc(50% - 290px);pointer-events:none;color:rgba(255,255,255,0.4)}
@media(max-width:640px){.search-overlay .search-icon-abs{left:34px}}

/* Mobile menu: ensure smooth open/close */
#mobile-menu{transition:max-height .3s ease}

/* Aside text handling */
aside p,aside a{overflow-wrap:break-word;hyphens:auto}

/* Ensure images never overflow */
img{max-width:100%;height:auto}

/* Footer responsive */
@media(max-width:640px){
  footer .grid{grid-template-columns:1fr !important;gap:24px !important}
  footer [class*="lg:grid-cols"]{grid-template-columns:1fr !important}
  footer [class*="lg:border"]{border:none !important;padding:0 !important}
}

/* Container padding on very small screens */
@media(max-width:400px){
  .container-shell{width:calc(100% - 24px) !important}
}

/* Ensure select elements have proper appearance */
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23667080' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
