/*
Theme Name: TECHBROOKS Cyber (Astra Child)
Template: astra
Description: Tactical cybersecurity + AI direction — UI UX Pro Max + Industrial Brutalist (Tactical Telemetry).
Version: 0.1
*/

:root{
  --tb-bg:#0a0e13; --tb-surface:#11161e; --tb-line:#1e2732; --tb-line-2:#2b3543;
  --tb-text:#e6edf3; --tb-muted:#8b97a7; --tb-accent:#36f9b3; --tb-accent-dim:#15413a;
  --tb-mono:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;
}

/* base — force dark through Astra's containers (high specificity / !important) */
body,.site,#page,#content,.site-content,.ast-container,.ast-separate-container,
.ast-separate-container .ast-article-single,.entry-content,.ast-page-builder-template .site-content{
  background:var(--tb-bg)!important;color:var(--tb-text)!important;}
/* kill Astra's white "boxed content" so sections go full-bleed */
.ast-separate-container .ast-article-single{padding:0!important;border:0!important;box-shadow:none!important;}
.ast-separate-container{padding-top:0!important;padding-bottom:0!important;}
#content .ast-container,.ast-container{max-width:100%!important;padding-left:0!important;padding-right:0!important;}
.entry-content{margin:0!important;}
.tb-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.tb-section{padding:88px 0;border-bottom:1px solid var(--tb-line);background:var(--tb-bg);}
/* full-bleed bands — page uses Astra "Full Width / Stretched" (page-builder) so sections are naturally edge-to-edge; .tb-wrap centers content */
html,body{overflow-x:hidden;}
.tb-hero,.tb-section{width:100%;}

/* hero two-column + tactical terminal panel */
.tb-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;}
.tb-hero-main{min-width:0;}
.tb-term{background:#0c1219;border:1px solid var(--tb-line-2);box-shadow:0 0 0 1px rgba(54,249,179,.06),0 24px 60px rgba(0,0,0,.5);}
.tb-term-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--tb-line);}
.tb-term-bar span{width:11px;height:11px;border-radius:50%;background:#2b3543;display:inline-block;}
.tb-term-bar span:first-child{background:#ff5f57;}.tb-term-bar span:nth-child(2){background:#febc2e;}.tb-term-bar span:nth-child(3){background:#28c840;}
.tb-term-bar em{margin-left:8px;font-family:var(--tb-mono);font-style:normal;font-size:12px;color:var(--tb-muted);letter-spacing:.06em;}
.tb-term-body{font-family:var(--tb-mono);font-size:13.5px;line-height:1.85;color:var(--tb-muted);margin:0;padding:20px 22px;white-space:pre-wrap;}
.tb-term-body b{color:var(--tb-accent);font-weight:600;}
.tb-term-body u{color:#febc2e;text-decoration:none;}
.tb-term-body .cur{color:var(--tb-accent);animation:tbblink 1.1s steps(1) infinite;}
@keyframes tbblink{50%{opacity:0;}}
@media(max-width:900px){.tb-hero-grid{grid-template-columns:1fr;gap:36px;}}
.tb h1,.tb h2,.tb h3,.tb-h1,.tb-h2,.tb-cell h3,.tb-cta h2{letter-spacing:-.02em;line-height:1.05;color:var(--tb-text)!important;}

/* eyebrow / status / mono labels */
.tb-eyebrow,.tb-statusline,.tb-tag{font-family:var(--tb-mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--tb-accent);}
.tb-statusline{color:var(--tb-muted);border-top:1px solid var(--tb-line);padding-top:16px;margin-top:34px;}
.tb-statusline b{color:var(--tb-accent);}

/* hero */
.tb-hero{background:
   linear-gradient(180deg,rgba(54,249,179,.06),transparent 42%),
   repeating-linear-gradient(90deg,var(--tb-line) 0 1px,transparent 1px 64px),
   var(--tb-bg);
   border-bottom:1px solid var(--tb-line-2);padding:120px 0 96px;}
.tb-h1{font-size:clamp(40px,6vw,76px);font-weight:800;margin:14px 0 0;}
.tb-sub{color:var(--tb-muted);font-size:clamp(17px,2vw,21px);max-width:620px;margin:22px 0 32px;}

/* buttons — sharp, brutalist */
.tb .wp-block-button__link{border-radius:0!important;border:1px solid var(--tb-accent);
  background:var(--tb-accent);color:#04140e;font-weight:700;font-family:var(--tb-mono);
  letter-spacing:.04em;padding:15px 26px;transition:.15s;}
.tb .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--tb-accent);}
.tb .wp-block-button__link:hover{background:transparent;color:var(--tb-accent);box-shadow:4px 4px 0 var(--tb-accent-dim);}

/* action buttons */
.tb-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0 0;}
.tb-btn{display:inline-block;border-radius:0;border:1px solid var(--tb-accent);background:var(--tb-accent);color:#04140e;font-weight:700;font-family:var(--tb-mono);letter-spacing:.04em;padding:15px 26px;text-decoration:none;transition:.15s;}
.tb-btn.outline{background:transparent;color:var(--tb-accent);}
.tb-btn:hover{background:transparent;color:var(--tb-accent);box-shadow:4px 4px 0 var(--tb-accent-dim);}

/* section heading */
.tb-kicker{font-family:var(--tb-mono);color:var(--tb-accent);font-size:13px;letter-spacing:.2em;text-transform:uppercase;}
.tb-h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;margin:10px 0 0;}

/* capability grid — bordered compartments */
.tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--tb-line);border:1px solid var(--tb-line);margin-top:40px;}
.tb-cell{background:var(--tb-surface);padding:30px 26px;transition:.15s;}
.tb-cell:hover{background:#0e141c;box-shadow:inset 0 0 0 1px var(--tb-accent);}
.tb-cell .num{font-family:var(--tb-mono);color:var(--tb-muted);font-size:12px;letter-spacing:.15em;}
.tb-cell h3{font-size:19px;font-weight:700;margin:12px 0 8px;}
.tb-cell p{color:var(--tb-muted);font-size:14.5px;line-height:1.5;margin:0;}

/* stats row */
.tb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--tb-line);border:1px solid var(--tb-line);}
.tb-stat{background:var(--tb-surface);padding:30px 24px;text-align:left;}
.tb-stat .n{font-family:var(--tb-mono);font-size:34px;font-weight:800;color:var(--tb-accent);}
.tb-stat .l{color:var(--tb-muted);font-size:13px;letter-spacing:.06em;margin-top:6px;}

/* CTA */
.tb-cta{background:var(--tb-surface);border:1px solid var(--tb-line-2);padding:56px 40px;margin-top:8px;}
.tb-cta h2{font-size:clamp(26px,3vw,38px);font-weight:800;}
.tb-cta .mono{font-family:var(--tb-mono);color:var(--tb-accent);}

/* ===== page hero + contact form ===== */
.tb-hero--page{padding:96px 0 72px;}
.tb-contact-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:start;}
.tb-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;}
.tb-field{display:flex;flex-direction:column;gap:8px;}
.tb-field--full{grid-column:1/-1;}
.tb-form label{font-family:var(--tb-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tb-muted);}
.tb-form input,.tb-form select,.tb-form textarea{background:var(--tb-surface);border:1px solid var(--tb-line-2);color:var(--tb-text);padding:13px 14px;font-size:15px;border-radius:0;font-family:inherit;width:100%;transition:.15s;}
.tb-form input:focus,.tb-form select:focus,.tb-form textarea:focus{outline:none;border-color:var(--tb-accent);box-shadow:0 0 0 1px var(--tb-accent);}
.tb-form textarea{resize:vertical;}
.tb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.tb-form-foot{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.tb-form .tb-btn{border:none;cursor:pointer;font-size:14px;}
.tb-form .tb-btn:disabled{opacity:.6;cursor:wait;}
.tb-form-msg{font-family:var(--tb-mono);font-size:13px;}
.tb-form-msg.err{color:#ff6b6b;}
.tb-form-success{text-align:center;padding:34px 10px;}
.tb-form-success .tick{width:64px;height:64px;border:1px solid var(--tb-accent);color:var(--tb-accent);font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 0 18px var(--tb-accent-dim);animation:tbpop .4s ease;}
.tb-form-success h3{font-family:var(--tb-mono);letter-spacing:.12em;color:var(--tb-accent);margin:0 0 10px;}
.tb-form-success p{color:var(--tb-muted);margin:6px 0;}
.tb-form-success .mono{font-family:var(--tb-mono);color:var(--tb-accent);font-size:13px;}
@keyframes tbpop{0%{transform:scale(.6);opacity:0;}100%{transform:scale(1);opacity:1;}}
.tb-contact-side{display:flex;flex-direction:column;gap:22px;}
.tb-contact-info h4{font-family:var(--tb-mono);font-size:11.5px;letter-spacing:.16em;color:var(--tb-accent);margin:0 0 10px;}
@media(max-width:880px){.tb-contact-grid{grid-template-columns:1fr;}.tb-form{grid-template-columns:1fr;}}

/* ===== engaging homepage: green spans, ticker, build cards, proof, pillars ===== */
.tb-h1 .g{color:var(--tb-accent);}
.tb-mq{border-top:1px solid var(--tb-line);border-bottom:1px solid var(--tb-line);overflow:hidden;background:var(--tb-surface);}
.tb-mqt{display:inline-block;white-space:nowrap;padding:14px 0;font-family:var(--tb-mono);font-size:13px;letter-spacing:.1em;color:var(--tb-muted);animation:tbscroll 26s linear infinite;}
.tb-mqt span{margin:0 26px;}.tb-mqt b{color:var(--tb-accent);}
@keyframes tbscroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.tb-bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;}
.tb-bc{background:var(--tb-surface);border:1px solid var(--tb-line);padding:28px 24px;transition:.18s;cursor:pointer;}
.tb-bc:hover{border-color:var(--tb-accent);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.45);}
.tb-bc .ic{font-family:var(--tb-mono);font-size:12px;color:var(--tb-accent);letter-spacing:.12em;}
.tb-bc h3{font-size:19px;font-weight:700;margin:14px 0 8px;}
.tb-bc p{color:var(--tb-muted);font-size:14px;line-height:1.5;margin:0;}
.tb-bc .go{font-family:var(--tb-mono);font-size:12px;color:var(--tb-accent);margin-top:16px;opacity:0;transform:translateX(-6px);transition:.18s;}
.tb-bc:hover .go{opacity:1;transform:translateX(0);}
.tb-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;}
.tb-pc{border:1px solid var(--tb-line);background:linear-gradient(180deg,var(--tb-surface),#0c1219);transition:.18s;}
.tb-pc:hover{border-color:var(--tb-line-2);transform:translateY(-3px);}
.tb-pc .ptop{height:100px;background:repeating-linear-gradient(45deg,#0e1620 0 10px,#0c1219 10px 20px);border-bottom:1px solid var(--tb-line);display:flex;align-items:flex-end;padding:12px;}
.tb-pc .tag{font-family:var(--tb-mono);font-size:10.5px;letter-spacing:.1em;color:#04140e;background:var(--tb-accent);padding:3px 8px;}
.tb-pc .pbd{padding:20px 18px 24px;}
.tb-pc h4{font-size:16px;font-weight:700;margin:0 0 12px;}
.tb-pc .met{font-family:var(--tb-mono);color:var(--tb-accent);font-size:24px;font-weight:800;}
.tb-pc .ml{color:var(--tb-muted);font-size:12.5px;margin-top:2px;}
.tb-pill{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--tb-line);border:1px solid var(--tb-line);margin-top:32px;}
.tb-pl{background:var(--tb-surface);padding:32px 26px;}
.tb-pl .n{font-family:var(--tb-mono);color:var(--tb-accent);font-size:13px;letter-spacing:.12em;}
.tb-pl h3{font-size:23px;margin:10px 0 8px;}
.tb-pl p{color:var(--tb-muted);font-size:14px;line-height:1.55;margin:0;}
@media(max-width:820px){.tb-bgrid,.tb-pgrid,.tb-pill{grid-template-columns:1fr;}}

/* hide Astra's .entry-title H1 — our pages supply their own H1 in content */
.entry-header .entry-title{display:none!important;}

/* FAQ accordion */
.tb-faq{margin-top:32px;border:1px solid var(--tb-line);}
.tb-faq-item{border-bottom:1px solid var(--tb-line);}
.tb-faq-item:last-child{border-bottom:none;}
.tb-faq-item summary{font-family:var(--tb-mono);font-size:15px;font-weight:600;color:var(--tb-text);padding:20px 24px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none;}
.tb-faq-item summary::-webkit-details-marker{display:none;}
.tb-faq-item summary::after{content:'＋';color:var(--tb-accent);font-size:18px;flex-shrink:0;margin-left:16px;transition:.15s;}
.tb-faq-item[open] summary::after{content:'－';}
.tb-faq-item[open] summary{color:var(--tb-accent);}
.tb-faq-ans{padding:0 24px 22px;color:var(--tb-muted);font-size:15px;line-height:1.7;}

/* legal pages */
.tb-legal h3{color:var(--tb-text);font-size:18px;font-weight:700;margin:30px 0 8px;}
.tb-legal p{color:var(--tb-muted);line-height:1.7;margin:0 0 6px;font-size:15px;}

@media(max-width:880px){.tb-grid{grid-template-columns:1fr 1fr;}.tb-stats{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.tb-grid,.tb-stats{grid-template-columns:1fr;}}

/* ===== HEADER / NAV (tactical) ===== */
.custom-logo,.custom-logo-link img{max-height:44px;width:auto;filter:hue-rotate(116deg) saturate(1.35) brightness(1.12);} /* recolor amber -> site green */
.main-header-menu,.ast-nav-menu,.main-navigation{font-family:var(--tb-mono)!important;}
.main-header-menu .menu-link,.ast-builder-menu .menu-item>.menu-link,.main-header-menu a{font-size:12.5px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--tb-muted)!important;font-weight:500!important;}
.main-header-menu .menu-link:hover,.current-menu-item>.menu-link,.current-menu-item>a{color:var(--tb-accent)!important;}
.menu-item.tb-navcta{display:flex!important;align-items:center!important;}
.menu-item.tb-navcta>.menu-link,.menu-item.tb-navcta a{background:var(--tb-accent)!important;color:#04140e!important;padding:10px 18px!important;font-weight:700!important;border-radius:0;height:auto!important;line-height:1.1!important;align-self:center;}
.menu-item.tb-navcta>.menu-link:hover,.menu-item.tb-navcta a:hover{background:transparent!important;color:var(--tb-accent)!important;box-shadow:inset 0 0 0 1px var(--tb-accent);}

/* ===== FOOTER (tactical, site-wide) ===== */
.site-footer,.ast-small-footer,.footer-sml-layout,.ast-footer-overlay{display:none!important;} /* hide Astra default footer */
.tb-footer{background:#080b0f;border-top:1px solid var(--tb-line-2);}
.tb-foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding:66px 24px 46px;}
.tb-foot-logo{font-weight:800;letter-spacing:.04em;font-size:21px;color:var(--tb-text);}
.tb-foot-logo span{color:var(--tb-accent);}
.tb-foot-logo-img{max-height:46px;width:auto;display:block;filter:hue-rotate(116deg) saturate(1.35) brightness(1.12);} /* match header: site green */
.tb-foot-brand p{color:var(--tb-muted);font-size:14px;line-height:1.6;margin:14px 0 0;max-width:300px;}
.tb-foot-status{font-family:var(--tb-mono);font-size:12px;letter-spacing:.1em;color:var(--tb-muted)!important;margin-top:16px!important;}
.tb-foot-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tb-accent);margin-right:8px;box-shadow:0 0 9px var(--tb-accent);}
.tb-foot-col h4{font-family:var(--tb-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tb-accent);margin:0 0 16px;}
.tb-foot-col a{display:block;color:var(--tb-muted);text-decoration:none;font-size:14px;padding:6px 0;transition:.15s;}
.tb-foot-col a:hover{color:var(--tb-text);}
.tb-foot-mail{color:var(--tb-accent)!important;font-family:var(--tb-mono);font-size:14px;}
.tb-foot-sla{color:var(--tb-muted);font-size:13px;font-family:var(--tb-mono);margin:8px 0 0;}
.tb-foot-bottom{border-top:1px solid var(--tb-line);}
.tb-foot-bottom-in{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-family:var(--tb-mono);font-size:12px;letter-spacing:.06em;color:var(--tb-muted);}
.tb-foot-legal a{color:var(--tb-muted);text-decoration:none;}
.tb-foot-legal a:hover{color:var(--tb-accent);}
@media(max-width:880px){.tb-foot-grid{grid-template-columns:1fr 1fr;gap:30px;}.tb-foot-bottom-in{flex-direction:column;gap:8px;text-align:center;}}

/* dark-ify Astra chrome for a cohesive demo */
.site-header,.ast-primary-header-bar,.main-header-bar{background:var(--tb-bg)!important;border-bottom:1px solid var(--tb-line)!important;}
.site-title a,.site-title a:hover,.main-header-menu a,.ast-builder-menu a{color:var(--tb-text)!important;}
.site-footer,.footer-sml-layout,.ast-small-footer{background:#080b0f!important;color:var(--tb-muted)!important;border-top:1px solid var(--tb-line)!important;}
.entry-title,.ast-archive-description{display:none;} /* hide default page title on front */
.ast-site-identity .site-title,.site-title{display:none!important;} /* logo already shows brand — drop duplicate text */
.wp-block-group.tb{color:var(--tb-text);}
