/* pentest.css — уникальные для этой страницы правила.
   Общие правила вынесены в service-shared.css. */

.pentest-hero { position:relative; min-height:790px; padding:122px 0 86px; border-bottom:1px solid var(--border); background:linear-gradient(rgba(var(--accent-rgb), .055) 1px,transparent 1px), linear-gradient(90deg,rgba(var(--accent-rgb), .055) 1px,transparent 1px), radial-gradient(circle at 10% 10%,rgba(var(--accent-rgb), .18),transparent 31%), radial-gradient(circle at 82% 24%,rgba(var(--accent-2-rgb), .13),transparent 29%), var(--bg); background-size:64px 64px,64px 64px,auto,auto,auto; }

.pentest-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.84fr); gap:clamp(54px,7vw,94px); align-items:center; }

.pentest-hero h1 { margin:0 0 22px; font-size:clamp(50px,6.3vw,78px); font-weight:800; line-height:.99; letter-spacing:-.058em; }

.pentest-console__flow > div.is-active strong { color:var(--accent); }

.pentest-console__log i { display:inline-block; width:5px; height:10px; margin-left:5px; background:var(--accent); animation:pentest-cursor 1s steps(2) infinite; }

@keyframes pentest-cursor { 50% { opacity: 0; } }

.pentest-advantage { --card-accent:var(--accent); position:relative; min-height:310px; padding:25px; overflow:hidden; border:1px solid var(--border); border-radius:21px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 12%,transparent),transparent 34%), var(--surface); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }

.pentest-capability { --card-accent:var(--accent); position:relative; display:grid; grid-template-columns:54px minmax(0,1fr); gap:18px; min-height:184px; padding:22px; overflow:hidden; border:1px solid var(--border); border-radius:19px; background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--card-accent) 12%,transparent),transparent 42%), color-mix(in srgb,var(--surface) 94%,transparent); transition:border-color var(--transition),box-shadow var(--transition); }

.pentest-principle { --card-accent:var(--accent); position:relative; min-height:270px; padding:27px; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 10%,transparent),transparent 38%), var(--surface); transition:border-color var(--transition),box-shadow var(--transition); }

.pentest-consultation { padding:96px 0; background:var(--bg-alt); }

.pentest-form .form__textarea { height:104px; min-height:104px; max-height:104px; }

.pentest-faq-item { overflow:hidden; border:1px solid var(--border); border-radius:17px; background:var(--surface); transition:border-color var(--transition),background var(--transition); }

.pentest-faq-item summary span::before,.pentest-faq-item summary span::after { content:''; position:absolute; top:50%; left:50%; width:12px; height:1.5px; border-radius:2px; background:var(--accent); transform:translate(-50%,-50%); transition:transform var(--transition); }

.pentest-modal { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding:24px; visibility:hidden; opacity:0; transition:opacity .25s ease,visibility 0s linear .25s; }

.pentest-modal--open { visibility:visible; opacity:1; transition:opacity .25s ease; }

.pentest-modal__dialog { position:relative; z-index:1; width:100%; max-width:880px; max-height:calc(100vh - 48px); overflow-y:auto; padding:clamp(24px,3.4vw,40px); border:1px solid var(--border); border-radius:24px; outline:none; background:radial-gradient(ellipse 60% 60% at 100% 0%,rgba(var(--accent-rgb), .16),transparent 60%),var(--surface); box-shadow:var(--shadow); opacity:0; transform:translateY(16px) scale(.97); transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s ease; }

.pentest-hero { min-height:780px; }

.pentest-hero h1 { max-width:760px; font-size:clamp(48px,5.6vw,72px); line-height:1.01; }

.pentest-stat strong { display:block; margin:39px 0 13px; color:var(--card-accent); font-size:clamp(42px,4vw,58px); line-height:.9; letter-spacing:-.06em; }

.pentest-results__layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(560px,1.22fr); gap:clamp(48px,7vw,92px); align-items:center; }

.pentest-results__intro { position:sticky; top:130px; align-self:start; }

.pentest-results__intro p { margin:0; color:var(--text-muted); font-size:16px; line-height:1.72; }

.pentest-results__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }

.pentest-result { --card-accent:var(--accent); position:relative; min-height:255px; padding:24px; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--card-accent) 11%,transparent),transparent 40%),var(--surface); transition:border-color var(--transition),box-shadow var(--transition); }

.pentest-result h3 { margin:42px 0 12px; font-size:18px; line-height:1.35; letter-spacing:-.025em; }

.pentest-consultation { background:var(--bg-alt); }

.pentest-form .form__textarea { height:104px; min-height:104px; max-height:104px; }

@media (max-width: 1120px) {
  .pentest-hero__inner { grid-template-columns:minmax(0,1fr) minmax(370px,.78fr); gap:42px; }

  .pentest-results__layout { grid-template-columns:1fr; }

}

@media (max-width: 900px) {
  .pentest-hero__inner { grid-template-columns:1fr; }

}

@media (max-width: 680px) {
  .pentest-hero h1 { font-size:clamp(42px,13.5vw,58px); }

  .pentest-hero h1 { font-size:clamp(41px,12vw,54px); }

}

