/*
Theme Name: DefHunt
Theme URI: https://defhunt.ai
Author: DefHunt
Author URI: https://defhunt.ai
Description: DefHunt — a dark, operations-console (HUD) block theme for the AI-assisted SOC platform. Navy #0F1720 ground, orange #FF5B24 HUD accents, live-console product visuals. Editable in the WordPress Site Editor.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: defhunt
*/

:root{
  --navy:#0F1720; --navy-2:#131C28; --panel:#16212F; --panel-2:#1B2836;
  --line:#243343; --line-2:#2E4256;
  --ink:#E9EFF7; --ink-2:#A9BACD; --muted:#6E8299;
  --brand:#FF5B24; --brand-2:#FF7A4D; --brand-ink:#0F1720;
  --crit:#F0454B; --high:#FF8A3D; --med:#F5B301; --ok:#34D399; --info:#56BBF3;
  --f-disp:'Archivo',system-ui,sans-serif;
  --f-body:'IBM Plex Sans',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
}

body{
  background:var(--navy); color:var(--ink);
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(900px 500px at 78% -8%, rgba(255,91,36,.14), transparent 60%),
    radial-gradient(700px 500px at 8% 0%, rgba(86,187,243,.08), transparent 55%);
  background-attachment:fixed;
}
a{text-decoration:none}
::selection{background:rgba(255,91,36,.3);color:#fff}

/* ---- utility ---- */
.dh-eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-2)}
.dh-mono{font-family:var(--f-mono)}
.dh-muted{color:var(--ink-2)}
.dh-lead{font-size:19px;color:var(--ink-2);max-width:46ch}

/* ---- buttons (augment core button preset) ---- */
.wp-block-button__link{transition:transform .12s ease, background .12s ease}
.wp-block-button__link:hover{transform:translateY(-1px)}
.wp-block-button.is-style-ghost .wp-block-button__link{
  background:transparent;color:var(--ink);border:1px solid var(--line-2)
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{border-color:var(--brand);color:var(--brand-2);background:transparent}

/* ---- header ---- */
.dh-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);
  background:rgba(15,23,32,.72);border-bottom:1px solid var(--line)}
.dh-header .wp-block-site-logo img{height:34px;width:auto}
.dh-header .wp-block-navigation{font-family:var(--f-body);font-weight:500}
.dh-header .wp-block-navigation a{color:var(--ink-2);font-size:14.5px}
.dh-header .wp-block-navigation a:hover{color:var(--ink)}

/* ---- hero backdrop (generated threat-map) + live WebGL canvas ---- */
.dh-hero{position:relative;isolation:isolate;overflow:hidden}
.dh-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url('assets/hero-bg.jpg') no-repeat right top;
  background-size:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 42%);
  opacity:.9;pointer-events:none;
  transform:translateY(var(--dh-par,0));will-change:transform;
}
.dh-hero--live::before{opacity:.28}
.dh-hero-canvas{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 40%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 40%);
}
.dh-console{will-change:transform}
@media(max-width:960px){
  .dh-hero::before{-webkit-mask-image:linear-gradient(180deg,transparent 30%,#000 90%);mask-image:linear-gradient(180deg,transparent 30%,#000 90%);opacity:.5}
}

/* ---- assurance strip ---- */
.dh-assure{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.03em;color:var(--muted)}
.dh-assure span{display:inline-flex;align-items:center;gap:7px}
.dh-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(52,211,153,.16);display:inline-block}

/* ---- section trust strip ---- */
.dh-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dh-strip .dh-who{font-family:var(--f-disp);font-weight:700;color:var(--ink-2);font-size:15px}
.dh-strip .dh-lbl{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---- cards ---- */
.dh-card{background:linear-gradient(180deg,var(--panel),var(--navy-2));border:1px solid var(--line);
  border-radius:14px;padding:24px;height:100%;transition:border-color .15s ease, transform .15s ease}
.dh-card:hover{border-color:var(--line-2);transform:translateY(-2px)}
.dh-card h3{font-size:19px;margin:0 0 9px}
.dh-card p{margin:0;color:var(--ink-2);font-size:15px}
.dh-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:16px;
  background:rgba(255,91,36,.12);border:1px solid rgba(255,122,77,.28);color:var(--brand-2)}
.dh-ic svg{width:20px;height:20px}

/* ---- console mockup ---- */
.dh-console{background:linear-gradient(180deg,var(--panel),var(--navy-2));border:1px solid var(--line-2);
  border-radius:16px;box-shadow:0 30px 80px -30px rgba(0,0,0,.7);overflow:hidden;font-family:var(--f-body)}
.dh-con-top{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.18)}
.dh-con-top .dh-tl{display:flex;gap:6px}
.dh-con-top .dh-tl i{width:11px;height:11px;border-radius:50%;background:var(--line-2)}
.dh-con-top .dh-title{font-family:var(--f-mono);font-size:12.5px;color:var(--ink-2);letter-spacing:.04em}
.dh-live{margin-left:auto;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ok);display:flex;align-items:center;gap:7px}
.dh-pulse{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:dh-pulse 1.8s ease-in-out infinite}
@keyframes dh-pulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}50%{box-shadow:0 0 0 6px rgba(52,211,153,0)}}
.dh-con-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.dh-con-stats > div{padding:13px 15px;border-right:1px solid var(--line)}
.dh-con-stats > div:last-child{border-right:0}
.dh-con-stats .k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dh-con-stats .v{font-family:var(--f-disp);font-weight:700;font-size:22px;margin-top:3px;font-variant-numeric:tabular-nums}
.dh-con-stats .v small{font-size:13px;color:var(--ink-2);font-weight:500}
.dh-row{display:grid;grid-template-columns:14px 1.5fr auto;gap:12px;align-items:center;padding:11px 15px;border-bottom:1px solid rgba(36,51,67,.55);font-size:13.5px}
.dh-row:last-child{border-bottom:0}
.dh-sev{width:4px;height:30px;border-radius:3px}
.dh-sev.c{background:var(--crit)} .dh-sev.h{background:var(--high)} .dh-sev.m{background:var(--med)}
.dh-host{font-family:var(--f-mono);color:var(--ink)}
.dh-rule{color:var(--ink-2);font-size:12.5px;margin-top:2px}
.dh-pill{justify-self:end;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;padding:4px 9px;border-radius:20px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap}
.dh-pill.hunt{color:var(--brand-2);border-color:rgba(255,122,77,.4);background:rgba(255,91,36,.08)}
.dh-pill.clear{color:var(--ok);border-color:rgba(52,211,153,.35);background:rgba(52,211,153,.08)}
.dh-con-foot{display:flex;align-items:center;gap:10px;padding:12px 15px;border-top:1px solid var(--line);background:rgba(0,0,0,.2);font-family:var(--f-mono);font-size:12px;color:var(--ink-2)}
.dh-con-foot svg{flex:0 0 auto;width:15px;height:15px}

/* ---- argus card ---- */
.dh-argus{background:linear-gradient(180deg,var(--panel),var(--navy-2));border:1px solid var(--line-2);border-radius:16px;overflow:hidden;box-shadow:0 30px 80px -34px rgba(0,0,0,.7);font-family:var(--f-body)}
.dh-argus .bar{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.18)}
.dh-argus .bar svg{width:22px;height:22px}
.dh-argus .bar b{font-family:var(--f-disp);font-weight:700;font-size:14px}
.dh-argus .bar .tag{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.dh-argus .body{padding:18px}
.dh-q{font-family:var(--f-mono);font-size:13px;color:var(--ink-2);background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.dh-verdict{margin-top:16px;border:1px solid var(--line-2);border-radius:12px;overflow:hidden}
.dh-verdict .vt{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(240,69,75,.10);border-bottom:1px solid var(--line)}
.dh-badge{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:6px;background:rgba(240,69,75,.16);color:#ff8a8e;border:1px solid rgba(240,69,75,.4)}
.dh-verdict .vb{padding:14px}
.dh-verdict .vb p{font-size:14px;color:var(--ink);margin:0}
.dh-steps{margin-top:13px;display:flex;flex-direction:column;gap:8px}
.dh-stp{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);font-family:var(--f-mono)}
.dh-stp .n{color:var(--brand-2)}

/* ---- flow steps ---- */
.dh-step{position:relative;background:linear-gradient(180deg,var(--panel),var(--navy-2));border:1px solid var(--line);border-radius:14px;padding:26px 24px;height:100%}
.dh-step .n{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--brand-2)}
.dh-step h3{font-size:22px;margin:8px 0 10px}
.dh-step p{margin:0;color:var(--ink-2);font-size:15px}

/* ---- metrics ---- */
.dh-metric{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--navy-2);height:100%}
.dh-metric .big{font-family:var(--f-disp);font-weight:800;font-size:38px;color:var(--ink);font-variant-numeric:tabular-nums}
.dh-metric .big span{color:var(--brand)}
.dh-metric .lbl{margin-top:6px;color:var(--ink-2);font-size:14px}

/* ---- quote ---- */
.dh-quote{background:linear-gradient(180deg,var(--panel),var(--navy-2));border:1px solid var(--line-2);border-radius:18px;padding:44px}
.dh-quote blockquote{margin:0;border:0;padding:0;font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.28}
.dh-quote .by{margin-top:22px;font-family:var(--f-mono);font-size:13px;letter-spacing:.05em;color:var(--ink-2)}
.dh-quote .by b{color:var(--brand-2);font-weight:600}

/* ---- faq (details) ---- */
.dh-faq details{border-bottom:1px solid var(--line);padding:6px 0}
.dh-faq summary{list-style:none;cursor:pointer;padding:18px 6px;display:flex;justify-content:space-between;gap:20px;font-family:var(--f-disp);font-weight:700;font-size:18px}
.dh-faq summary::-webkit-details-marker{display:none}
.dh-faq summary .pm{color:var(--brand);transition:transform .18s ease;flex:0 0 auto}
.dh-faq details[open] summary .pm{transform:rotate(45deg)}
.dh-faq details p{padding:0 6px 18px;color:var(--ink-2);max-width:72ch;margin:0}

/* ---- final cta ---- */
.dh-final{background:
    radial-gradient(600px 300px at 80% 0%, rgba(255,91,36,.22), transparent 60%),
    linear-gradient(180deg,var(--panel),var(--navy-2));
  border:1px solid var(--line-2);border-radius:22px;padding:56px;text-align:center}

/* ---- footer ---- */
.dh-footer{border-top:1px solid var(--line);color:var(--ink-2)}
.dh-footer h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.dh-footer a{color:var(--ink-2);font-size:14.5px}
.dh-footer a:hover{color:var(--ink)}
.dh-footer .wp-block-site-logo img{height:30px;width:auto}

/* ---- smooth scroll + anchor offset (Lenis when present, native fallback) ---- */
html{scroll-behavior:smooth}
#capabilities,#argus,#how,#outcomes,#faq,#book{scroll-margin-top:88px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}

/* ---- scroll reveals (added by JS only; no-JS keeps content visible) ---- */
.dh-reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.dh-reveal.dh-in{opacity:1;transform:none}

/* ---- Jarvis AI concierge ---- */
.dh-jarvis{position:fixed;right:22px;bottom:22px;z-index:9999;font-family:var(--f-body)}
.dh-jv-orb{position:relative;width:64px;height:64px;border-radius:50%;border:0;cursor:pointer;
  background:radial-gradient(circle at 50% 38%,#FF9A6E,#FF5B24 56%,#B83A12);
  box-shadow:0 0 0 1px rgba(255,122,77,.5),0 12px 32px -6px rgba(255,91,36,.6),inset 0 0 18px rgba(255,205,160,.55);
  display:grid;place-items:center;transition:transform .2s ease}
.dh-jv-orb:hover{transform:scale(1.06)}
.dh-jv-orb:focus-visible{outline:2px solid #fff;outline-offset:3px}
.dh-jv-core{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff,0 0 22px #FFB48F;animation:dh-jv-pulse 2.4s ease-in-out infinite}
.dh-jv-ring{position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(255,122,77,.55);animation:dh-jv-ping 2.6s ease-out infinite}
.dh-jv-ring2{animation-delay:1.3s}
.dh-jv-orb-label{position:absolute;bottom:5px;font-family:var(--f-mono);font-size:7.5px;letter-spacing:.16em;color:#3a1706;font-weight:600}
@keyframes dh-jv-pulse{0%,100%{opacity:.85;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}
@keyframes dh-jv-ping{0%{transform:scale(.85);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.dh-jv-panel{position:absolute;right:0;bottom:80px;width:362px;max-width:calc(100vw - 32px);height:486px;max-height:72vh;
  background:linear-gradient(180deg,rgba(22,33,47,.98),rgba(15,23,32,.99));
  border:1px solid var(--line-2);border-radius:16px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.78),0 0 0 1px rgba(255,91,36,.12);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.dh-jv-open .dh-jv-panel{opacity:1;transform:none;pointer-events:auto}
.dh-jv-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.28)}
.dh-jv-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:dh-pulse 1.8s ease-in-out infinite}
.dh-jv-title b{font-family:var(--f-disp);font-size:14px;letter-spacing:.03em;display:block;line-height:1.15}
.dh-jv-title small{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.dh-jv-close{margin-left:auto;background:0;border:0;color:var(--ink-2);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.dh-jv-close:hover{color:var(--ink)}
.dh-jv-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.dh-jv-msg{max-width:84%;padding:10px 13px;border-radius:13px;font-size:14px;line-height:1.5}
.dh-jv-bot{align-self:flex-start;background:rgba(255,91,36,.10);border:1px solid rgba(255,122,77,.28);color:var(--ink);border-bottom-left-radius:4px}
.dh-jv-user{align-self:flex-end;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-bottom-right-radius:4px}
.dh-jv-typing{display:flex;gap:5px;align-items:center;min-height:20px}
.dh-jv-typing span{width:6px;height:6px;border-radius:50%;background:var(--brand-2);animation:dh-jv-bounce 1.2s infinite}
.dh-jv-typing span:nth-child(2){animation-delay:.16s}
.dh-jv-typing span:nth-child(3){animation-delay:.32s}
@keyframes dh-jv-bounce{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.dh-jv-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:rgba(0,0,0,.22)}
.dh-jv-input{flex:1;background:var(--navy);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;color:var(--ink);font-family:var(--f-body);font-size:14px}
.dh-jv-input:focus{outline:none;border-color:var(--brand)}
.dh-jv-send{flex:0 0 auto;width:42px;border:0;border-radius:10px;background:var(--brand);color:var(--brand-ink);cursor:pointer;display:grid;place-items:center;transition:background .15s}
.dh-jv-send:hover{background:var(--brand-2)}
@media(max-width:480px){.dh-jarvis{right:14px;bottom:14px}.dh-jv-panel{bottom:76px}}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  .dh-reveal{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}
