/* ============ Tactical Response Unit page (/tactical) ============
   Night-patrol palette: charcoal, olive drab, signal amber; stencil + condensed type,
   graded photography, grid and scan-line textures, HUD corner brackets, chamfered plates. */
.tac-page{
  --t-bg:#0b0d0a; --t-bg-2:#10130e; --t-panel:#13170f; --t-panel-2:#1a1f15;
  --t-line:rgba(196,206,160,.12); --t-line-2:rgba(196,206,160,.24);
  --t-text:#e3e6d8; --t-text-2:#b8bea8; --t-muted:#8a917a;
  --t-olive:#5f6d33; --t-hi:#a3b65a; --t-signal:#e0a83a; --t-red:#d0432e;
  --t-cond:'Saira Condensed','Arial Narrow',sans-serif;
  --t-stencil:'Saira Stencil One','Saira Condensed',Impact,sans-serif;
  --t-mono:'Share Tech Mono',ui-monospace,Consolas,monospace;
  --t-grid:linear-gradient(rgba(163,182,90,.045) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(163,182,90,.045) 1px,transparent 1px) 0 0/44px 44px;
  --t-chamfer:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  background:var(--t-grid),var(--t-bg);color:var(--t-text)}
/* scan lines scroll with the page: a full-screen position:fixed layer would touch the top edge and
   iOS 26 Safari would take its transparent background as the status-bar tint */
.tac-page{position:relative}
.tac-page::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:400;background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(0,0,0,.12) 2px 3px)}
.tac-page .topbar{background:rgba(8,10,7,.82);border-bottom-color:rgba(163,182,90,.22)}
@media (max-width:860px){.tac-page .topbar{background:#080a07}}
.tac-page .site-footer{background:#070806}

/* type + bits */
.tac-kicker{display:flex;align-items:center;gap:10px;font:400 .76rem var(--t-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--t-hi);margin:0 0 14px}
.tac-kicker::before{content:"";width:9px;height:9px;background:var(--t-hi);clip-path:polygon(0 0,100% 50%,0 100%);flex:none}
.tac-kicker::after{content:"//";color:var(--t-muted);letter-spacing:0}
.tac-kicker.center{justify-content:center}
.tac-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--t-red);box-shadow:0 0 10px var(--t-red);animation:tac-blink 1.6s steps(2) infinite;margin-right:8px;vertical-align:1px}
@keyframes tac-blink{50%{opacity:.2}}
.tac-title{font:400 clamp(3.2rem,9vw,7.4rem)/.92 var(--t-stencil);text-transform:uppercase;letter-spacing:.04em;margin:0 0 20px;color:#f2f3ea;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.tac-title.sm{font-size:clamp(1.9rem,4.8vw,3.6rem);line-height:1.05;text-align:center}
.tac-h2{font:700 clamp(2rem,4vw,3.1rem)/1.04 var(--t-cond);text-transform:uppercase;letter-spacing:.02em;color:#f2f3ea;margin:0 0 22px}
.tac-lead,.tac-p{color:var(--t-text-2);font-size:1.08rem;max-width:540px}
.tac-p{font-size:1rem}

/* buttons: chamfered plates */
.tbtn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:1.05em 1.7em;font:400 .82rem var(--t-mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#f2f3ea;background:rgba(11,13,10,.55);backdrop-filter:blur(4px);border:1px solid rgba(163,182,90,.55);clip-path:var(--t-chamfer);white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.tbtn .i{width:17px;height:17px}
.tbtn:hover{background:rgba(95,109,51,.4);border-color:var(--t-hi);color:#fff}
.tbtn-primary{background:var(--t-hi);border-color:var(--t-hi);color:#0b0d0a}
.tbtn-primary:hover{background:#bccf70;color:#000}
.tbtn:focus-visible{outline:2px solid var(--t-hi);outline-offset:3px}
.tac-cta{display:flex;flex-wrap:wrap;gap:12px}
.tac-cta.center{justify-content:center}

/* graded photography: cool desaturated with an olive cast, colour returns on hover */
.tac-page img{display:block;max-width:100%}
.tac-ph,.tac-feature,.tac-campus-ph{position:relative;overflow:hidden;background:#0e110c}
.tac-ph img,.tac-feature img,.tac-campus-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.1) brightness(1);transition:filter .5s,transform .8s}
.tac-ph::after,.tac-feature::after,.tac-campus-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(95,109,51,.12),rgba(11,13,10,.4));mix-blend-mode:multiply}

/* hero */
.tac-hero{position:relative;isolation:isolate;min-height:min(100vh,860px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.tac-hero-media{position:absolute;inset:0;z-index:-2}
.tac-hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;filter:grayscale(.85) contrast(1.18) brightness(.88);animation:tac-zoom 24s ease-out both}
@keyframes tac-zoom{from{transform:scale(1.08)}}
.tac-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(8,10,7,.95) 0%,rgba(8,10,7,.75) 38%,rgba(8,10,7,.15) 75%),
  linear-gradient(0deg,var(--t-bg) 0%,rgba(11,13,10,0) 40%),
  linear-gradient(180deg,rgba(95,109,51,.25),rgba(95,109,51,.05) 50%,transparent);mix-blend-mode:normal}
.tac-hero::after{content:"";position:absolute;inset:clamp(14px,2.5vw,28px);z-index:-1;pointer-events:none;opacity:.8;
  background:linear-gradient(var(--t-hi),var(--t-hi)) left top/28px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) left top/2px 28px no-repeat,
    linear-gradient(var(--t-hi),var(--t-hi)) right top/28px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) right top/2px 28px no-repeat,
    linear-gradient(var(--t-hi),var(--t-hi)) left bottom/28px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) left bottom/2px 28px no-repeat,
    linear-gradient(var(--t-hi),var(--t-hi)) right bottom/28px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) right bottom/2px 28px no-repeat}
.tac-seal{display:block;width:clamp(120px,13vw,172px);height:auto;margin:0 0 24px;border-radius:50%;box-shadow:0 0 0 2px rgba(163,182,90,.55),0 0 0 7px rgba(8,10,7,.55),0 0 34px 6px rgba(163,182,90,.22),0 18px 40px rgba(0,0,0,.7);animation:tac-seal-in .9s ease both}
@keyframes tac-seal-in{from{opacity:0;transform:translateY(12px) scale(.96)}}
.tac-hud{position:absolute;top:clamp(26px,4vw,48px);right:clamp(26px,4vw,52px);display:grid;gap:4px;text-align:right;font:400 .72rem var(--t-mono);letter-spacing:.16em;color:rgba(227,230,216,.75)}
.tac-hero-copy{padding:clamp(110px,16vh,180px) 0 clamp(36px,6vh,64px)}
.tac-creds{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--t-line-2);border-bottom:0;background:rgba(8,10,7,.78);backdrop-filter:blur(8px)}
.tac-creds li{padding:20px 20px;border-right:1px solid var(--t-line)}
.tac-creds li:last-child{border-right:0}
.tac-creds b{display:block;font:400 clamp(1.15rem,1.75vw,1.45rem)/1.15 var(--t-stencil);color:var(--t-hi);letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}
.tac-creds span{font:400 .72rem var(--t-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--t-muted)}

/* sections */
.tac-section{padding:clamp(64px,8vw,110px) 0}
.tac-alt{background:repeating-linear-gradient(-45deg,rgba(163,182,90,.025) 0 2px,transparent 2px 14px),var(--t-bg-2);border-top:1px solid var(--t-line);border-bottom:1px solid var(--t-line)}
.tac-head{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin-bottom:38px}
.tac-head .tac-h2{margin:0}
.tac-head .tac-p{margin:0 0 6px}

.tac-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tac-card{display:flex;flex-direction:column;border:1px solid var(--t-line);background:var(--t-panel);transition:border-color .25s,transform .25s}
.tac-card .tac-ph{aspect-ratio:3/2}
.tac-card:hover{border-color:rgba(163,182,90,.5);transform:translateY(-3px)}
.tac-card:hover .tac-ph img{filter:grayscale(.15) contrast(1.05) brightness(.9);transform:scale(1.04)}
.tac-num{position:absolute;left:14px;bottom:12px;z-index:1;font:400 .8rem var(--t-mono);color:#0b0d0a;background:var(--t-hi);padding:.2em .55em}
.tac-card-b{padding:20px 22px 24px;border-top:2px solid var(--t-olive)}
.tac-card h3{font:600 1.24rem var(--t-cond);text-transform:uppercase;letter-spacing:.03em;color:#f2f3ea;margin:0 0 .35em}
.tac-card p{margin:0;color:var(--t-muted);font-size:.93rem}

.tac-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,72px);align-items:center}
.tac-feature{margin:0;aspect-ratio:4/5;border:1px solid var(--t-line-2)}
.tac-feature img{filter:grayscale(.45) contrast(1.08) brightness(1.05)}
.tac-feature::after{background:linear-gradient(180deg,rgba(95,109,51,.10),rgba(11,13,10,.15) 60%,rgba(8,10,7,.6))}
.tac-feature::before{content:"";position:absolute;inset:12px;z-index:2;pointer-events:none;opacity:.85;
  background:linear-gradient(var(--t-hi),var(--t-hi)) left top/18px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) left top/2px 18px no-repeat,
    linear-gradient(var(--t-hi),var(--t-hi)) right top/18px 2px no-repeat,linear-gradient(var(--t-hi),var(--t-hi)) right top/2px 18px no-repeat}
.tac-feature figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:16px 18px;font:400 .72rem var(--t-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t-text-2);background:linear-gradient(0deg,rgba(8,10,7,.92),transparent)}
.tac-feature figcaption span{display:block;color:var(--t-hi);margin-bottom:4px}
/* gear list: compact rows with a small square photo */
.tac-gear{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tac-gear li{display:flex;align-items:center;gap:14px;padding:8px 12px 8px 8px;border:1px solid var(--t-line);background:rgba(19,23,15,.7);transition:border-color .2s,background .2s}
.tac-gear li:hover{border-color:rgba(163,182,90,.5);background:var(--t-panel-2)}
.tac-gear .tac-ph{flex:none;width:58px;height:58px;border:1px solid var(--t-line-2)}
.tac-gear .tac-ph img{filter:grayscale(.55) contrast(1.1) brightness(.95)}
.tac-gear .tac-ph::after{mix-blend-mode:normal;background:linear-gradient(180deg,rgba(95,109,51,.12),rgba(11,13,10,.25))}
.tac-gear li:hover .tac-ph img{filter:grayscale(0) contrast(1.05) brightness(1);transform:scale(1.08)}
.tac-gear-l{display:grid;gap:3px;min-width:0}
.tac-gear b{font:600 1.02rem/1.1 var(--t-cond);text-transform:uppercase;letter-spacing:.04em;color:#f2f3ea}
.tac-gear-l span{font:400 .64rem var(--t-mono);color:var(--t-hi);text-transform:uppercase;letter-spacing:.08em}

.tac-campus{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--t-line-2);background:var(--t-panel)}
.tac-campus-ph{min-height:420px}
.tac-campus-ph img{position:absolute;inset:0;filter:grayscale(.35) contrast(1.05) brightness(.88)}
.tac-campus-ph::after{background:linear-gradient(90deg,transparent 60%,rgba(19,23,15,.9))}
.tac-campus-b{padding:clamp(28px,4vw,52px)}
.tac-ticks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.tac-ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--t-text-2)}
.tac-ticks .i{width:20px;height:20px;padding:3px;color:var(--t-hi);border:1px solid rgba(163,182,90,.45);margin-top:2px;flex:none}

.tac-steps{list-style:none;counter-reset:s;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tac-steps li{counter-increment:s;position:relative;padding:22px 20px;border-top:2px solid var(--t-hi);background:var(--t-panel)}
.tac-steps li::before{content:"0" counter(s);display:block;font:400 2rem/1 var(--t-stencil);color:rgba(163,182,90,.75);margin-bottom:12px}
.tac-steps b{display:block;font:600 1.25rem var(--t-cond);text-transform:uppercase;letter-spacing:.04em;color:#f2f3ea;margin-bottom:4px}
.tac-steps span{color:var(--t-muted);font-size:.93rem}

.tac-final{position:relative;isolation:isolate;overflow:hidden;padding:clamp(90px,12vw,150px) 0 40px;text-align:center}
.tac-final-media{position:absolute;inset:0;z-index:-2}
.tac-final-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.55)}
.tac-final::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--t-bg-2),rgba(11,13,10,.55) 35%,rgba(11,13,10,.75) 75%,var(--t-bg))}
.tac-credit{margin:60px 0 0;font:400 .66rem var(--t-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t-muted)}

/* responsive */
@media (max-width:1000px){
  .tac-caps{grid-template-columns:1fr 1fr}
  .tac-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .tac-hero{min-height:0}
  .tac-hero-media{bottom:auto;height:420px}
  .tac-hero-media img{object-position:72% 80%}
  .tac-hero::before{background:linear-gradient(0deg,var(--t-bg) 0%,rgba(8,10,7,.85) 45%,rgba(8,10,7,.35) 100%),linear-gradient(180deg,rgba(95,109,51,.25),transparent 60%)}
  .tac-hero-copy{padding-top:200px}
  .tac-creds{grid-template-columns:1fr 1fr}
  .tac-creds li:nth-child(2){border-right:0}
  .tac-creds li:nth-child(-n+2){border-bottom:1px solid var(--t-line)}
  .tac-head,.tac-split,.tac-campus{grid-template-columns:1fr}
  .tac-feature{aspect-ratio:1/1}
  .tac-feature img{object-position:50% 45%}
  .tac-campus-ph{min-height:280px}
  .tac-campus-ph::after{background:linear-gradient(180deg,transparent 60%,rgba(19,23,15,.9))}
}
@media (max-width:600px){
  .tac-caps,.tac-steps{grid-template-columns:1fr}
  .tac-gear{grid-template-columns:1fr}
  .tac-cta .tbtn{width:100%}
  .tac-creds li{padding:16px 14px}
  .tac-creds b{font-size:1.4rem}
  .tac-hud{display:none}
}
@media (prefers-reduced-motion:reduce){.tac-live,.tac-hero-media img,.tac-seal{animation:none}}
