/* ===================================================
   Codensec — Home visual system
   =================================================== */
.hero{position:relative;min-height:clamp(700px,calc(100vh - var(--nav-h)),900px);display:flex;align-items:center;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line);background:radial-gradient(circle at 76% 48%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 24%),radial-gradient(circle at 55% 50%,color-mix(in srgb,var(--text) 3%,transparent),transparent 34%),var(--bg)}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 90%,transparent) 42%,transparent 78%);z-index:-1}
.hero__inner{position:relative;z-index:2;width:100%;padding-inline:44px;display:grid;grid-template-columns:minmax(0,.98fr) minmax(480px,1.02fr);gap:24px;align-items:center}
.hero__content{width:min(700px,100%);padding:28px 0}.hero__eyebrow{margin:0 0 22px;display:inline-flex;align-items:center;gap:12px;font-size:.8rem;line-height:1.4;font-weight:600;color:var(--muted)}.hero__eyebrow-line{width:30px;height:1px;background:var(--accent);flex:0 0 auto}
.hero__content h1{margin:0 0 24px;max-width:11ch;font-size:clamp(3.6rem,6.6vw,6.2rem);line-height:.94;letter-spacing:-.055em;text-wrap:balance}.hero__description{margin:0 0 30px;max-width:61ch;font-size:clamp(1.05rem,1.25vw,1.18rem);line-height:1.7;color:var(--muted)}.hero__description strong{color:var(--text)}
.hero__actions{margin:0 0 38px;display:flex;flex-wrap:wrap;gap:10px}.hero__button{min-height:48px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;cursor:pointer;font-size:.9375rem;font-weight:600;transition:transform .2s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease}.hero__button:hover{transform:translateY(-2px)}.hero__button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero__button--primary{background:var(--accent);color:var(--on-accent)}.hero__button--primary:hover{background:var(--accent-hover)}.hero__button--secondary{color:var(--text);border-color:var(--line);background:color-mix(in srgb,var(--panel) 35%,transparent)}.hero__button--secondary:hover{color:var(--accent-hover);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.hero__indicators{width:min(780px,100%);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:18px}.hero__indicator{min-width:0;padding:0 22px}.hero__indicator:first-child{padding-left:0}.hero__indicator+.hero__indicator{border-left:1px solid var(--line)}.hero__indicator-label{margin:0 0 7px;font-size:.78rem;line-height:1.2;color:var(--muted);font-weight:600}.hero__indicator-value{margin:0;font-size:.9375rem;line-height:1.4;font-weight:500;color:var(--text)}
.hero__visual{position:relative;min-height:660px;display:grid;place-items:center}.hero__globe-wrap{position:absolute;inset:3% 0 0;width:100%;height:100%;pointer-events:auto}.hero__globe{width:100%;height:100%;filter:drop-shadow(0 0 48px color-mix(in srgb,var(--accent) 7%,transparent))}.hero__globe canvas{display:block;width:100%;height:100%}.hero__globe-label{position:absolute;right:8%;bottom:8%;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(10px);color:var(--muted);font:500 .68rem/1 var(--font-mono)}.hero__globe-label span{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 70%,transparent)}
.hero__attack-path{position:absolute;width:min(430px,68%);height:150px;right:2%;bottom:8%;transform:rotate(-7deg);pointer-events:none}.attack-node{position:absolute;width:10px;height:10px;border:2px solid var(--accent);border-radius:50%;background:var(--bg);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent);opacity:.18}.attack-node--1{left:2%;top:70%}.attack-node--2{left:25%;top:44%}.attack-node--3{left:48%;top:57%}.attack-node--4{left:72%;top:22%}.attack-node--5{right:1%;top:7%}.attack-line{position:absolute;height:1px;background:var(--accent);transform-origin:left center;opacity:.16;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 40%,transparent)}.attack-line--1{width:25%;left:4%;top:69%;transform:rotate(-27deg)}.attack-line--2{width:25%;left:27%;top:45%;transform:rotate(12deg)}.attack-line--3{width:27%;left:50%;top:56%;transform:rotate(-32deg)}.attack-line--4{width:28%;left:73%;top:21%;transform:rotate(-18deg)}
.hero__terminal{position:absolute;left:5%;bottom:3%;width:min(410px,72%);padding:13px 16px;border-left:1px solid var(--accent);background:color-mix(in srgb,var(--panel) 74%,transparent);backdrop-filter:blur(10px);font:400 .76rem/1.65 var(--font-mono);color:var(--muted)}.hero__terminal div{opacity:.28;transform:translateX(-4px)}.hero__terminal div span{color:var(--accent)}
@media (prefers-reduced-motion:no-preference){.hero__terminal div{animation:terminal-line .7s var(--ease-out) both}.hero__terminal div:nth-child(1){animation-delay:.35s}.hero__terminal div:nth-child(2){animation-delay:.65s}.hero__terminal div:nth-child(3){animation-delay:.95s}.hero__terminal div:nth-child(4){animation-delay:1.25s}.hero__terminal div:nth-child(5){animation-delay:1.55s}.attack-node{animation:attack-node 2.1s var(--ease-out) forwards}.attack-node--1{animation-delay:.2s}.attack-node--2{animation-delay:.65s}.attack-node--3{animation-delay:1.1s}.attack-node--4{animation-delay:1.55s}.attack-node--5{animation-delay:2s}.attack-line{animation:attack-line .6s var(--ease-out) forwards}.attack-line--1{animation-delay:.55s}.attack-line--2{animation-delay:1s}.attack-line--3{animation-delay:1.45s}.attack-line--4{animation-delay:1.9s}@keyframes attack-node{0%{opacity:.12;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}40%{opacity:1;box-shadow:0 0 0 9px color-mix(in srgb,var(--accent) 14%,transparent)}100%{opacity:.72;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 5%,transparent)}}@keyframes attack-line{from{opacity:0;transform:scaleX(0)}to{opacity:.5;transform:scaleX(1)}}@keyframes terminal-line{from{opacity:0;transform:translateX(-4px)}to{opacity:.72;transform:translateX(0)}}}

.aeo-answer{background:color-mix(in srgb,var(--panel) 35%,var(--bg))}.aeo-answer .section-head{padding-left:22px;border-left:2px solid var(--accent)}
.redteam-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:76px;align-items:start}.redteam-sticky{position:sticky;top:calc(var(--nav-h) + 34px)}.redteam-list{position:relative;display:grid;gap:0;border:0;background:transparent;overflow:visible}.redteam-list::before{content:'';position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:var(--line)}.redteam-list li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:20px;align-items:center;min-height:78px;padding:16px 0;background:transparent;border-bottom:1px solid var(--line);font-size:1.0625rem;color:var(--text)}.redteam-list li:first-child{border-top:1px solid var(--line)}.redteam-list .rt-index{z-index:1;width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;background:var(--bg);color:var(--muted);transition:border-color .2s ease,color .2s ease,background-color .2s ease}.redteam-list li:hover .rt-index{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg))}
.services-bento{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(190px,auto);gap:16px}.service-card{min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px}.service-card--hero{grid-row:span 2;justify-content:flex-end;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--panel)),var(--panel))}.service-index{position:absolute;top:20px;left:22px;font:500 .75rem/1 var(--font-mono);color:var(--muted)}.service-card h3{max-width:18ch}.service-card p{max-width:42ch}.service-link{margin-top:20px;width:fit-content;color:var(--accent);font-weight:600;font-size:.9375rem}.service-link:hover{color:var(--accent-hover)}
.labs-preview{background:color-mix(in srgb,var(--panel) 35%,var(--bg))}.labs-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:68px;align-items:center}.labs-grid .section-head{margin-bottom:0;max-width:none}.labs-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.labs-list{border-top:1px solid var(--line)}.lab-row{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(110px,.72fr);gap:18px;align-items:center;min-height:64px;border-bottom:1px solid var(--line);color:var(--text)}.difficulty{display:inline-flex;align-items:center;justify-content:center;min-width:98px;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;color:var(--muted)}.difficulty--beginner{border-color:color-mix(in srgb,var(--muted) 50%,var(--line))}.difficulty--intermediate{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--text)}.difficulty--advanced{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));color:var(--accent)}.difficulty--expert{border-color:var(--accent);color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 7%,transparent)}.lab-progress{height:3px;background:var(--line);overflow:hidden}.lab-progress i{display:block;width:var(--progress);height:100%;background:var(--accent)}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool-card{min-height:260px;display:flex;flex-direction:column}.tool-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:auto}.tool-number{font:500 .75rem/1 var(--font-mono);color:var(--muted)}.tool-card code{margin-top:28px;display:block;padding:12px 14px;border-left:1px solid var(--accent);background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--muted);font:400 .78rem/1.5 var(--font-mono);overflow-wrap:anywhere}
.tag-list li{transition:border-color .2s ease,background-color .2s ease}.tag-list li:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.why-grid .card{min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.founders-grid{align-items:stretch}.team-card{text-align:left;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end}.team-card .avatar{width:100%;height:auto;aspect-ratio:4/5;border-radius:var(--radius);background:var(--bg-inset);border:1px solid var(--line);margin:0 0 18px;overflow:hidden}.team-card .avatar-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(100%);transition:filter .3s ease,transform .3s var(--ease-out)}.team-card:hover .avatar-photo img{filter:grayscale(0%);transform:scale(1.03)}.team-card h3{font-size:1.35rem}
.cta-band-inner{min-height:290px}.cta-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:1100px){.hero__inner{grid-template-columns:1fr 1fr;padding-inline:28px}.hero__visual{min-height:620px}.services-bento{grid-template-columns:1fr 1fr}.service-card--hero{grid-row:span 2}.redteam-grid{gap:48px}}
@media (max-width:900px){.hero{min-height:auto;padding:70px 0 54px}.hero__inner{grid-template-columns:1fr}.hero__content{max-width:760px}.hero__visual{min-height:560px;margin-top:-10px}.redteam-grid,.labs-grid{grid-template-columns:1fr}.redteam-sticky{position:static}.services-bento{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr}}
@media (max-width:620px){.hero{padding-top:54px}.hero__inner{padding-inline:18px}.hero__content h1{font-size:clamp(3rem,14vw,4.6rem)}.hero__description{font-size:1.0625rem}.hero__actions{flex-direction:column;align-items:stretch;width:min(100%,340px)}.hero__button{width:100%}.hero__indicators{grid-template-columns:1fr}.hero__indicator{padding:14px 0}.hero__indicator:first-child{padding-top:0}.hero__indicator+.hero__indicator{border-left:0;border-top:1px solid var(--line)}.hero__visual{min-height:430px;margin-top:-30px}.hero__globe-wrap{transform:translateX(4%);opacity:.7}.hero__globe-label{display:none}.hero__attack-path{width:min(340px,82%);max-width:100%;right:0;bottom:10%;transform:rotate(-7deg) scale(.82);transform-origin:right bottom}.hero__terminal{width:88%;left:0;bottom:0;font-size:.7rem}.redteam-list li{grid-template-columns:36px 1fr;gap:14px;font-size:1rem}.services-bento{grid-template-columns:1fr}.service-card--hero{grid-row:auto;min-height:260px}.labs-grid{gap:38px}.lab-row{grid-template-columns:1fr auto;gap:10px 14px;padding:12px 0}.lab-progress{grid-column:1/-1}.team-card{min-height:300px}.team-card .avatar{width:100%;height:auto;aspect-ratio:4/5}.cta-band-inner{min-height:0;padding-block:12px}.cta-actions{width:100%;flex-direction:column}.cta-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.hero__terminal div,.attack-node,.attack-line{animation:none!important;opacity:.72;transform:none}.team-card .avatar-photo img{transition:none}}


/* Full-width responsive home refinements */
@media (max-width: 999px) {
  .hero { min-height: auto; padding: 64px 0 52px; }
  .hero__inner { grid-template-columns: 1fr; padding-inline: var(--gutter); gap: 28px; }
  .hero__content { position: relative; z-index: 4; max-width: 760px; }
  .hero__visual { position: relative; min-height: 360px; margin: 0; z-index: 1; }
  .hero__globe-wrap { position: absolute; inset: 0; display: grid; place-items: center; opacity: .22; pointer-events: none; transform: none; }
  .hero__globe { width: min(72vw, 420px); height: min(72vw, 420px); }
  .hero__attack-path { position: relative; right: auto; bottom: auto; width: 100%; max-width: 760px; margin: 4px auto 0; transform: none; }
  .hero__terminal { position: relative; left: auto; bottom: auto; width: 100%; margin: 14px auto 0; }
  .hero__globe-label { display: none; }
  .services-bento, .tools-grid, .founders-grid, .why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .service-card--hero { grid-column: span 2; grid-row: span 1; }
  .redteam-grid { grid-template-columns: 1fr; }
  .redteam-sticky { position: static; }
  .labs-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .hero { padding-top: 46px; }
  .hero__content h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); max-width: 12ch; }
  .hero__actions { flex-direction: column; width: 100%; }
  .hero__button { width: 100%; min-height: 48px; }
  .hero__indicators { grid-template-columns: 1fr; }
  .hero__indicator { padding: 14px 0; }
  .hero__indicator + .hero__indicator { border-left: 0; border-top: 1px solid var(--line); }
  .hero__visual { min-height: 310px; }
  .hero__globe { width: min(82vw, 340px); height: min(82vw, 340px); }
  .services-bento, .tools-grid, .founders-grid, .why-grid { grid-template-columns: 1fr; }
  .service-card--hero { grid-column: auto; }
  .lab-row { grid-template-columns: 1fr; }
  .lab-progress { grid-column: auto; }
  .cta-band-inner, .cta-actions { width: 100%; }
  .cta-actions { flex-direction: column; }
  .cta-actions .btn { width: 100%; }
}
@media (max-width: 360px) {
  .hero__inner { padding-inline: 16px; }
  .hero__content h1 { font-size: clamp(2.45rem, 12.5vw, 3.3rem); }
  .hero__visual { min-height: 280px; }
  .hero__attack-path { transform: scale(.94); transform-origin: center top; }
}
