.kaspersky-page {
    --kas-red: #e31c3d;
    --kas-red-dark: #b5122d;
    --kas-ink: #171b24;
    --kas-muted: #667085;
    --kas-line: #e7e9ee;
    color: var(--kas-ink);
    background: #fff;
    overflow: hidden;
}

.kaspersky-page .container { width: min(1160px, calc(100% - 40px)); }
.kaspersky-hero { position: relative; padding: 112px 0 82px; background: radial-gradient(circle at 88% 22%, rgba(227,28,61,.1), transparent 28%), linear-gradient(135deg,#fff 35%,#fff8f8 100%); }
.kaspersky-hero::after { content:""; position:absolute; width:420px; height:420px; border:1px solid rgba(227,28,61,.11); border-radius:50%; right:-210px; bottom:-270px; box-shadow:0 0 0 48px rgba(227,28,61,.025),0 0 0 96px rgba(227,28,61,.018); pointer-events:none; }
.kaspersky-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.72fr); gap:64px; align-items:center; position:relative; z-index:1; }
.kaspersky-hero-copy { max-width:720px; }
.kaspersky-eyebrow,.kaspersky-section-kicker { color:var(--kas-red); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.kaspersky-eyebrow { display:flex; gap:10px; align-items:center; margin-bottom:18px; }
.kaspersky-eyebrow span { width:8px; height:8px; border-radius:50%; background:var(--kas-red); box-shadow:0 0 0 5px rgba(227,28,61,.1); }
.kaspersky-hero h1 { margin:0 0 20px; max-width:700px; color:#171b24; font-size:clamp(40px,5.5vw,66px); line-height:1.04; letter-spacing:-.045em; }
.kaspersky-hero h1 strong { color:var(--kas-red); font-weight:800; }
.kaspersky-hero-copy>p { color:var(--kas-muted); font-size:16px; line-height:1.8; max-width:680px; }
.kaspersky-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.kaspersky-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 19px; border-radius:7px; font-size:13px; font-weight:750; text-decoration:none; transition:transform .2s,background .2s,border-color .2s; }
.kaspersky-button:hover { transform:translateY(-2px); }
.kaspersky-button-primary { color:#fff; background:var(--kas-red); border:1px solid var(--kas-red); }
.kaspersky-button-primary:hover { background:var(--kas-red-dark); border-color:var(--kas-red-dark); color:#fff; }
.kaspersky-button-secondary { color:#272b33; background:#fff; border:1px solid #d9dce3; }
.kaspersky-button-secondary:hover { border-color:var(--kas-red); color:var(--kas-red); }
.kaspersky-hero-copy .kaspersky-hero-note { margin-top:14px; font-size:11px; line-height:1.6; }
.kaspersky-partner-card { position:relative; overflow:hidden; padding:28px; border:1px solid rgba(227,28,61,.13); border-radius:16px; background:rgba(255,255,255,.88); box-shadow:0 24px 70px rgba(38,26,29,.08); }
.kaspersky-partner-orbit { position:absolute; width:210px; height:210px; top:-130px; right:-110px; border:1px solid rgba(227,28,61,.16); border-radius:50%; box-shadow:0 0 0 25px rgba(227,28,61,.025),0 0 0 50px rgba(227,28,61,.02); }
.kaspersky-partner-label { position:relative; color:#7e2636; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.kaspersky-partner-card img { position:relative; display:block; width:min(100%,260px); max-height:150px; object-fit:contain; margin:26px auto 20px; }
.kaspersky-partner-card p { margin:0 0 16px; color:var(--kas-muted); font-size:13px; line-height:1.7; }
.kaspersky-certificate-trigger { padding:0; border:0; background:transparent; color:var(--kas-red); font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
.kaspersky-certificate-trigger span { margin-left:6px; }
.kaspersky-certificate-dialog { position:fixed; inset:0; width:min(900px,calc(100% - 32px)); max-width:none; height:min(88vh,900px); max-height:none; margin:auto; padding:0; border:1px solid #d9dce3; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 28px 90px rgba(15,18,25,.3); }
.kaspersky-certificate-dialog::backdrop { background:rgba(17,20,27,.72); backdrop-filter:blur(3px); }
.kaspersky-certificate-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 18px; border-bottom:1px solid #e7e9ee; }
.kaspersky-certificate-toolbar h2 { margin:0; color:#20242d; font-size:15px; }
.kaspersky-certificate-close { width:34px; height:34px; display:grid; place-items:center; border:1px solid #e1e3e8; border-radius:50%; background:#fff; color:#303541; font-size:24px; line-height:1; cursor:pointer; }
.kaspersky-certificate-viewer { position:relative; height:calc(100% - 61px); background:#f0f1f4; }
.kaspersky-certificate-viewer img { display:block; width:100%; height:100%; object-fit:contain; }
.kaspersky-certificate-watermark { position:absolute; top:50%; left:50%; z-index:1; transform:translate(-50%,-50%) rotate(-28deg); padding:12px 22px; border:4px solid rgba(190,12,38,.58); color:rgba(190,12,38,.58); font-size:clamp(27px,6vw,62px); font-weight:900; letter-spacing:.08em; text-align:center; text-transform:uppercase; white-space:nowrap; pointer-events:none; user-select:none; }
.kaspersky-intro { padding:74px 0 30px; }
.kaspersky-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.kaspersky-intro h2,.kaspersky-section-heading h2,.kaspersky-business-heading h2 { margin:12px 0 0; color:#1a202b; font-size:clamp(30px,4vw,43px); line-height:1.12; letter-spacing:-.035em; }
.kaspersky-intro h2 span,.kaspersky-section-heading h2 span,.kaspersky-business-heading h2 span { color:var(--kas-red); }
.kaspersky-intro-grid>p,.kaspersky-section-heading>p,.kaspersky-business-heading>p { margin:20px 0 0; color:var(--kas-muted); font-size:14px; line-height:1.8; }
.kaspersky-product-compare { padding:16px 0 48px; }
.kaspersky-page .kaspersky-product-compare .container { width:min(1240px,calc(100% - 24px)); }
.kaspersky-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.kaspersky-compare-scroll { overflow-x:auto; padding:18px 0 8px; scrollbar-color:#c7ccd4 transparent; }
.kaspersky-compare-matrix { display:flex; flex-direction:column; gap:8px; width:100%; max-width:1030px; min-width:0; margin:0 auto; }
.kaspersky-matrix-head,.kaspersky-matrix-row { display:grid; grid-template-columns:minmax(135px,1.08fr) repeat(2,minmax(0,.96fr)); gap:8px; width:100%; }
.kaspersky-matrix-label-head { grid-column:1; }
.kaspersky-matrix-product { position:relative; min-height:132px; display:flex; flex-direction:column; align-items:center; padding:12px 12px 11px; border:1px solid #e7b7c0; border-radius:14px 14px 8px 8px; background:linear-gradient(160deg,#fff7f8,#fff 72%); text-align:center; }
.kaspersky-matrix-product.kaspersky-matrix-foundations { grid-column:2; }
.kaspersky-matrix-product.kaspersky-matrix-optimum { grid-column:3; border-color:#cbd1dc; background:linear-gradient(160deg,#f5f6f9,#fff 72%); }
.kaspersky-product-symbol { display:block; width:36px; height:36px; object-fit:contain; margin:0 auto 4px; }
.kaspersky-compare-brand { color:#151922; font-size:13px; font-weight:650; }
.kaspersky-matrix-product h3 { margin:0 0 7px; color:#11151c; font-size:15px; line-height:1.12; }
.kaspersky-matrix-product p { width:100%; margin:0; padding:8px 0 0; border-top:1px solid rgba(30,40,50,.13); color:#3f4957; font-size:12px; line-height:1.4; }
.kaspersky-recommendation { position:absolute; top:-13px; left:50%; transform:translateX(-50%); padding:6px 13px; border-radius:5px; color:#fff; background:var(--kas-red); font-size:10px; font-weight:800; letter-spacing:.04em; white-space:nowrap; }
.kaspersky-matrix-feature { grid-column:1; display:flex; align-items:center; gap:8px; min-height:42px; padding:5px 4px; color:#20242c; font-size:11.5px; line-height:1.3; }
.kaspersky-matrix-icon { width:25px; height:27px; flex:0 0 25px; display:grid; place-items:center; color:#30343c; }
.kaspersky-matrix-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.kaspersky-feature-name { min-width:0; }
.kaspersky-feature-help { width:14px; height:14px; display:inline-grid; place-items:center; flex:0 0 14px; margin-left:auto; border:1px solid #777d87; border-radius:50%; color:#666d77; font-size:9px; font-weight:700; line-height:1; cursor:help; }
.kaspersky-matrix-value { min-height:42px; display:flex; align-items:center; justify-content:center; padding:5px 4px; border:1px solid #e7b7c0; border-radius:8px; background:#fff8f9; color:#14171c; font-size:11px; font-weight:750; text-align:center; }
.kaspersky-time-row .kaspersky-matrix-value { padding-right:2px; padding-left:2px; font-size:10px; white-space:nowrap; }
.kaspersky-matrix-value.kaspersky-matrix-foundations { grid-column:2; }
.kaspersky-matrix-value.kaspersky-matrix-optimum { grid-column:3; border-color:#d6d9e0; background:#f7f8fa; }
.kaspersky-matrix-value sup { margin-left:3px; align-self:center; font-size:8px; }
.kaspersky-check { color:var(--kas-red); font-size:19px; line-height:1; }
.kaspersky-not-included { color:#b8bbc1; font-size:19px; line-height:1; }
.kaspersky-feature-tag { padding:2px 6px; border-radius:10px; color:#fff; background:#7236eb; font-size:9px; font-weight:750; white-space:nowrap; }
.kaspersky-compare-contact { display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 8px 0; color:#596170; font-size:12px; }
.kaspersky-compare-contact a { color:var(--kas-red); font-weight:750; text-decoration:none; }
.kaspersky-compare-contact a span { margin-left:4px; }
.kaspersky-products { padding:65px 0 80px; }
.kaspersky-section-heading { max-width:730px; margin-bottom:30px; }
.kaspersky-section-heading h2 { margin-top:10px; }
.kaspersky-section-heading>p { max-width:640px; margin-top:12px; }
.kaspersky-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.kaspersky-product-card { position:relative; display:flex; flex-direction:column; min-height:280px; padding:24px; border:1px solid var(--kas-line); border-radius:12px; background:#fff; transition:transform .2s,box-shadow .2s,border-color .2s; }
.kaspersky-product-card:hover { transform:translateY(-4px); border-color:rgba(227,28,61,.3); box-shadow:0 18px 45px rgba(25,28,37,.07); }
.kaspersky-product-card-featured { border-color:rgba(227,28,61,.34); background:linear-gradient(160deg,#fffafa,#fff 70%); }
.kaspersky-product-index { display:flex; justify-content:space-between; align-items:center; color:var(--kas-red); font-size:11px; font-weight:800; letter-spacing:.1em; }
.kaspersky-product-index span { color:#9a9daa; font-size:8px; letter-spacing:.12em; }
.kaspersky-product-card h3 { margin:31px 0 11px; color:#1d222c; font-size:21px; letter-spacing:-.02em; }
.kaspersky-product-card p { margin:0 0 22px; color:var(--kas-muted); font-size:13px; line-height:1.75; }
.kaspersky-product-card>a { margin-top:auto; color:var(--kas-red); font-size:12px; font-weight:750; text-decoration:none; }
.kaspersky-product-card>a span { margin-left:7px; }
.kaspersky-fineprint { margin:19px 0 0; color:#777d89; font-size:10px; line-height:1.7; }
.kaspersky-business { padding:76px 0 84px; background:#171a20; color:#fff; }
.kaspersky-business .kaspersky-section-kicker { color:#ff6278; }
.kaspersky-business-heading { display:grid; grid-template-columns:1fr .8fr; gap:50px; align-items:end; margin-bottom:28px; }
.kaspersky-business-heading h2 { color:#fff; margin-top:10px; }
.kaspersky-business-heading h2 span { color:#ff6077; }
.kaspersky-business-heading>p { color:#bdc0c8; margin:0 0 4px; }
.kaspersky-business-list { display:grid; grid-template-columns:1fr 1fr; gap:0 34px; border-top:1px solid rgba(255,255,255,.14); }
.kaspersky-business-list article { display:grid; grid-template-columns:34px 1fr 34px; align-items:center; gap:13px; min-height:106px; border-bottom:1px solid rgba(255,255,255,.14); }
.kaspersky-business-list article>span:first-child { align-self:start; padding-top:23px; color:#ff6479; font-size:10px; font-weight:800; }
.kaspersky-business-list h3 { margin:0 0 5px; color:#fff; font-size:15px; }
.kaspersky-business-list p { margin:0; color:#b8bbc4; font-size:11px; line-height:1.6; }
.kaspersky-list-mark { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#ff6479; font-size:13px; font-weight:800; }
.kaspersky-business .kaspersky-fineprint { color:#a9adb7; }
.kaspersky-advantages { padding:28px 0 68px; background:#f7f8fa; }
.kaspersky-advantages-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.kaspersky-advantage-card { min-height:182px; padding:20px 18px; border:1px solid #e3e5e9; border-top:3px solid var(--kas-red); border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(26,32,43,.035); }
.kaspersky-advantage-icon { width:34px; height:34px; display:grid; place-items:center; margin-bottom:12px; color:var(--kas-red); }
.kaspersky-advantage-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.kaspersky-advantage-card h3 { margin:0; color:#171b22; font-size:12px; line-height:1.22; font-weight:800; }
.kaspersky-advantage-card p { margin:8px 0 0; color:var(--kas-muted); font-size:11px; line-height:1.6; }
.kaspersky-steps { padding:78px 0; }
.kaspersky-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.kaspersky-steps-grid article { padding:23px; border-top:2px solid var(--kas-red); background:#f8f8fa; }
.kaspersky-steps-grid article>span { color:var(--kas-red); font-size:11px; font-weight:800; }
.kaspersky-steps-grid h3 { margin:18px 0 8px; color:#20242d; font-size:16px; }
.kaspersky-steps-grid p { margin:0; color:var(--kas-muted); font-size:12px; line-height:1.7; }
.kaspersky-contact { padding:0 0 80px; }
.kaspersky-contact-box { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:32px 36px; border:1px solid #f0d6db; border-radius:13px; background:linear-gradient(105deg,#fff8f9,#fff 70%); }
.kaspersky-contact-box h2 { margin:8px 0; color:#1c2028; font-size:clamp(25px,3vw,34px); letter-spacing:-.03em; }
.kaspersky-contact-box p { max-width:690px; margin:0; color:var(--kas-muted); font-size:13px; line-height:1.7; }
.kaspersky-contact-box .kaspersky-button { flex:0 0 auto; }

@media (max-width:900px) {
    .kaspersky-hero-grid { gap:35px; grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr); }
    .kaspersky-card-grid { gap:11px; }
    .kaspersky-product-card { padding:20px; }
    .kaspersky-business-list { gap:0 20px; }
    .kaspersky-advantages-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media (max-width:680px) {
    .kaspersky-page .container { width:min(100% - 32px,560px); }
    .kaspersky-hero { padding:88px 0 55px; }
    .kaspersky-hero-grid,.kaspersky-intro-grid,.kaspersky-business-heading { grid-template-columns:1fr; gap:28px; }
    .kaspersky-hero h1 { font-size:clamp(39px,12vw,54px); }
    .kaspersky-hero-copy>p { font-size:14px; }
    .kaspersky-partner-card { max-width:420px; }
    .kaspersky-intro { padding:52px 0 20px; }
    .kaspersky-product-compare { padding:10px 0 38px; }
    .kaspersky-matrix-head,.kaspersky-matrix-row { grid-template-columns:minmax(120px,1fr) repeat(2,minmax(0,.95fr)); gap:6px; }
    .kaspersky-intro h2,.kaspersky-section-heading h2,.kaspersky-business-heading h2 { font-size:32px; }
    .kaspersky-intro-grid>p { margin-top:0; }
    .kaspersky-products,.kaspersky-business,.kaspersky-steps { padding:56px 0; }
    .kaspersky-card-grid,.kaspersky-business-list,.kaspersky-steps-grid { grid-template-columns:1fr; }
    .kaspersky-compare-matrix { margin-left:0; }
    .kaspersky-compare-contact { align-items:flex-start; flex-direction:column; gap:5px; padding-left:8px; }
    .kaspersky-product-card { min-height:unset; }
    .kaspersky-product-card h3 { margin-top:23px; }
    .kaspersky-business-heading { gap:12px; margin-bottom:22px; }
    .kaspersky-business-heading>p { margin:0; }
    .kaspersky-business-list article { min-height:100px; }
    .kaspersky-advantages { padding:22px 0 52px; }
    .kaspersky-advantage-card { min-height:164px; padding:15px 12px; }
    .kaspersky-contact { padding-bottom:54px; }
    .kaspersky-contact-box { align-items:flex-start; flex-direction:column; padding:25px 22px; gap:20px; }
}
