/* Penetration testing service page — terminal/attack-chain treatment */

.pentest-terminal{padding:2rem 8vw 4rem;box-shadow:none}

.terminal-window{max-width:680px;margin:0 auto;border:1px solid var(--sheet-rule);background:var(--paper);box-shadow:0 10px 28px rgba(26,24,21,.06)}
.terminal-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-bottom:1px solid var(--sheet-rule);background:rgba(234,180,136,.12)}
.terminal-dot{width:9px;height:9px;border-radius:50%;background:var(--sheet-rule);display:inline-block}
.terminal-dot.accent{background:var(--accent)}
.terminal-title{margin-left:.5rem;font-size:.7rem;letter-spacing:.08em;color:var(--mid)}
.terminal-body{padding:1.6rem 1.6rem 1.8rem;font-family:'IBM Plex Mono',monospace}
.terminal-prompt{font-size:.85rem;color:var(--accent);letter-spacing:.02em;min-height:1.3em}
.terminal-prompt:before{content:'$ ';color:var(--mid)}
.terminal-caret{display:inline-block;width:.5em;background:var(--accent);margin-left:1px;animation:pentest-blink 1s step-end infinite}
.terminal-output{margin-top:1rem;font-size:.95rem;line-height:1.85;color:var(--dark)}

@keyframes pentest-blink{50%{opacity:0}}

.pentest-chain{padding:10vh 8vw 12vh}
.chain-head{max-width:640px;margin-bottom:4rem}
.chain-head h2{margin-top:1rem}
.chain-head p{font-size:1rem;line-height:1.85;color:var(--mid);margin-top:1.2rem}

.chain-track{position:relative;display:flex;align-items:flex-start;gap:0}
.chain-track:before{content:'';position:absolute;top:15px;left:0;right:0;height:1px;background:var(--sheet-rule)}

.chain-node{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding-right:1.6rem}
.chain-node:last-child{padding-right:0}
.chain-index{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--accent);background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:.65rem;letter-spacing:.05em;color:var(--accent);font-weight:500;flex-shrink:0}
.chain-node h3{font-size:1.1rem;line-height:1.3}
.chain-node p{font-size:.85rem;line-height:1.75;color:var(--mid)}

.chain-track.reveal-ready .chain-node{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.chain-track.reveal-ready .chain-node.in-view{opacity:1;transform:none}

@media(max-width:900px){
  .chain-track{flex-direction:column;gap:2.2rem}
  .chain-track:before{top:0;bottom:0;left:14px;right:auto;width:1px;height:auto}
  .chain-node{padding-right:0;padding-left:2.6rem}
  .chain-index{position:absolute;left:0;top:0}
}

@media(max-width:640px){
  .pentest-terminal{padding:1.5rem 6vw 3rem}
  .terminal-body{padding:1.2rem}
  .pentest-chain{padding:7vh 6vw 8vh}
  .chain-head{margin-bottom:2.6rem}
}

@media(prefers-reduced-motion:reduce){
  .terminal-caret{animation:none;opacity:1}
  .chain-track.reveal-ready .chain-node{opacity:1;transform:none;transition:none}
}
