/* ==========================================================================
   Guardian Intel — "Apply / Work With Us" popup application form
   Injected on every page by js/apply.js. Brand: navy #0a1730 / gold #fab909
   ========================================================================== */

.gis-apply-overlay {
    position: fixed; inset: 0; z-index: 99999; display: none;
    align-items: flex-start; justify-content: center; overflow-y: auto;
    padding: 40px 16px; background: rgba(8, 17, 34, .72);
    -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.gis-apply-overlay.open { display: flex; }
body.gis-apply-lock { overflow: hidden; }

.gis-apply-modal {
    background: #fff; width: 100%; max-width: 620px; border-radius: 16px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45); position: relative; overflow: hidden;
    font-family: 'Open Sans', sans-serif; animation: gisApplyIn .3s ease;
}
@keyframes gisApplyIn { from { opacity: 0; transform: translateY(-22px) scale(.98); } to { opacity: 1; transform: none; } }

/* Gold accent bar across the very top of the modal */
.gis-apply-modal::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 4;
    background: linear-gradient(90deg, #fab909, #ffd766 55%, #fab909);
}

.gis-apply-close {
    position: absolute; top: 14px; right: 18px; z-index: 3; background: transparent;
    border: none; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; opacity: .85;
}
.gis-apply-close:hover { opacity: 1; }

.gis-apply-head {
    position: relative; overflow: hidden; color: #fff; padding: 38px 40px 32px;
    background: linear-gradient(135deg, #0a1730 0%, #16294c 100%);
}
/* soft gold glow accent, top-right */
.gis-apply-head::after {
    content: ""; position: absolute; top: -70px; right: -50px; width: 200px; height: 200px;
    border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, rgba(250,185,9,.20), rgba(250,185,9,0) 70%);
}
.gis-apply-head h2 {
    position: relative; font-family: 'Montserrat', sans-serif; font-size: 25px; font-weight: 700;
    margin: 0 0 14px; color: #fff; line-height: 1.32; letter-spacing: .2px;
}
.gis-apply-head h2 span { color: #fab909; }
/* gold divider under the heading */
.gis-apply-head h2::after {
    content: ""; display: block; width: 48px; height: 3px; border-radius: 3px;
    background: #fab909; margin-top: 16px;
}
.gis-apply-head p {
    position: relative; margin: 0; font-size: 14.5px; color: #cdd5e1; line-height: 1.75; max-width: 94%;
}

.gis-apply-form { padding: 28px 36px 32px; }
.gis-apply-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.gis-apply-form input,
.gis-apply-form select,
.gis-apply-form textarea {
    width: 100%; border: 1px solid #dde1e7; border-radius: 8px; background: #f8f9fb;
    padding: 13px 15px; font-size: 15px; font-family: inherit; color: #2a2f3a; margin-bottom: 16px;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.gis-apply-form textarea { min-height: 110px; resize: vertical; }
.gis-apply-form input:focus,
.gis-apply-form select:focus,
.gis-apply-form textarea:focus { outline: none; border-color: #fab909; background: #fff; box-shadow: 0 0 0 3px rgba(250,185,9,.18); }
.gis-apply-form input::placeholder, .gis-apply-form textarea::placeholder { color: #9aa3af; }

.gis-apply-submit {
    width: 100%; border: none; cursor: pointer; background: #fab909; color: #0a1730;
    padding: 15px; border-radius: 40px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
    font-size: 14px; font-family: 'Montserrat', sans-serif; transition: all .3s;
}
.gis-apply-submit:hover { background: #0a1730; color: #fab909; }
.gis-apply-submit:disabled { opacity: .6; cursor: default; }
.gis-apply-note { font-size: 12px; color: #9aa3af; margin: 14px 0 0; text-align: center; }

.gis-apply-success { display: none; padding: 50px 36px 46px; text-align: center; }
.gis-apply-success i { font-size: 56px; color: #1bb15f; margin-bottom: 18px; }
.gis-apply-success h3 { font-family: 'Montserrat', sans-serif; color: #0a1730; margin: 0 0 10px; font-size: 22px; }
.gis-apply-success p { color: #5b6470; margin: 0 auto; max-width: 420px; line-height: 1.7; }
.gis-apply-startlink {
    display: inline-block; margin-top: 24px; background: #fab909; color: #0a1730; text-decoration: none;
    padding: 14px 28px; border-radius: 40px; font-weight: 700; font-family: 'Montserrat', sans-serif;
    text-transform: uppercase; letter-spacing: .5px; font-size: 13px; transition: all .3s;
}
.gis-apply-startlink:hover { background: #0a1730; color: #fab909; }

@media (max-width: 560px) {
    .gis-apply-row { grid-template-columns: 1fr; gap: 0; }
    .gis-apply-head { padding: 26px 24px; }
    .gis-apply-form { padding: 24px 24px 28px; }
}

/* ==========================================================================
   Floating "Work With Us" launcher — pinned middle-right, animated.
   Opens the application popup (it carries data-apply, handled by apply.js).
   ========================================================================== */
.gis-float-apply {
    position: fixed; right: 0; top: 50%; z-index: 9998;
    display: inline-flex; align-items: center; gap: 9px;
    background: #fab909; color: #0a1730; border: none; cursor: pointer;
    font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px;
    text-transform: uppercase; letter-spacing: .5px; line-height: 1;
    padding: 14px 18px; border-radius: 12px 0 0 12px;
    box-shadow: -5px 6px 22px rgba(8, 17, 34, .28);
    transform: translateY(-50%);
    /* Auto show/hide on a 12s loop (see @keyframes below). */
    animation: gisFloatCycle 12s ease-in-out 1.2s infinite;
    transition: background .25s ease, color .25s ease, padding-right .25s ease;
}
.gis-float-apply i { font-size: 17px; }
/* Pause the cycle on hover so it stays put long enough to click. */
.gis-float-apply:hover { background: #0a1730; color: #fab909; padding-right: 26px; animation-play-state: paused; }
.gis-float-apply:focus-visible { outline: 3px solid rgba(250,185,9,.5); outline-offset: 2px; animation-play-state: paused; }

/* Slides in, stays visible ~5s, slides out and vanishes, stays hidden ~5s, repeats. */
@keyframes gisFloatCycle {
    0%   { transform: translateY(-50%) translateX(125%); opacity: 0; }
    8%   { transform: translateY(-50%) translateX(0);    opacity: 1; }
    50%  { transform: translateY(-50%) translateX(0);    opacity: 1; }
    58%  { transform: translateY(-50%) translateX(125%); opacity: 0; }
    100% { transform: translateY(-50%) translateX(125%); opacity: 0; }
}
/* Phones: collapse to a compact icon button so it never covers content. */
@media (max-width: 600px) {
    .gis-float-apply { gap: 0; padding: 15px; border-radius: 50% 0 0 50%; }
    .gis-float-apply .gis-float-text { display: none; }
    .gis-float-apply i { font-size: 20px; }
}
/* Respect users who prefer no motion. */
@media (prefers-reduced-motion: reduce) {
    .gis-float-apply { animation: none; }
}
