:root {
    --bg: #f4efe7;
    --surface: #fffaf2;
    --surface-2: #eadfce;
    --ink: #14110f;
    --ink-2: #211a17;
    --muted: #6c6258;
    --line: rgba(20,17,15,.13);
    --dark: #09090a;
    --dark-2: #121216;
    --gold: #c9a46a;
    --gold-soft: #e1c58e;
    --accent: #8d5a2b;
    --accent-dark: #5f3718;
    --danger: #c5161d;
    --danger-dark: #8f0f15;
    --radius: 28px;
    --shadow: 0 22px 70px rgba(35,24,12,.10);
    --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; text-rendering: optimizeLegibility; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.container { width:min(var(--container), calc(100% - 40px)); margin-inline:auto; }
.narrow { max-width:860px; }
.skip-link,.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { width:auto; height:auto; margin:8px; padding:12px 16px; background:#fff; z-index:100; clip:auto; }

.site-header { position:sticky; top:0; z-index:50; background:rgba(9,9,10,.86); backdrop-filter:blur(18px); border-bottom:1px solid rgba(255,255,255,.09); color:#fffaf2; }
.header-grid { min-height:78px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.site-brand { display:inline-flex; flex-direction:column; gap:2px; font-weight:850; letter-spacing:-.02em; }
.site-brand__name { font-size:19px; }
.site-brand__tagline { font-size:11px; color:rgba(255,250,242,.58); font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.primary-menu { display:flex; justify-content:center; gap:26px; list-style:none; padding:0; margin:0; }
.primary-menu a { color:rgba(255,250,242,.66); font-weight:700; font-size:14px; }
.primary-menu a:hover { color:#fffaf2; }
.header-actions { justify-self:end; display:flex; align-items:center; gap:12px; }
.header-phone { font-weight:850; white-space:nowrap; }
.header-emergency { min-height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:9px 13px; background:var(--danger); color:#fff; font-size:12px; font-weight:950; letter-spacing:.08em; box-shadow:0 12px 30px rgba(197,22,29,.25); }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; cursor:pointer; }
.menu-toggle span:not(.screen-reader-text) { display:block; width:24px; height:2px; margin:5px 0; background:#fffaf2; }

.hero-section { padding:92px 0 72px; }
.hero-section--dark { position:relative; min-height:720px; display:grid; align-items:center; isolation:isolate; margin-top:-78px; padding:170px 0 92px; background:linear-gradient(135deg, #050506 0%, #111014 42%, #19110f 100%); color:#fffaf2; overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:-1; opacity:.9; background: radial-gradient(circle at 22% 24%, rgba(197,22,29,.30), transparent 24%), radial-gradient(circle at 78% 16%, rgba(201,164,106,.24), transparent 26%), linear-gradient(110deg, transparent 0 52%, rgba(255,255,255,.045) 52% 52.5%, transparent 52.5% 100%), repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 120px); }
.hero-bg:after { content:""; position:absolute; inset:20% -10% -18% 45%; transform:rotate(-10deg); border:1px solid rgba(255,255,255,.09); border-radius:42px; background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.01)); box-shadow:inset 0 0 90px rgba(255,255,255,.035); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr); gap:42px; align-items:stretch; }
.eyebrow { color:var(--accent); font-size:13px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px; }
.hero-eyebrow { color:var(--gold-soft); }
h1,h2,h3 { line-height:1.08; letter-spacing:-.045em; margin:0; }
h1 { font-size:clamp(42px,7vw,82px); max-width:930px; }
h2 { font-size:clamp(31px,4vw,54px); }
h3 { font-size:24px; }
.hero-section--dark h1 { max-width:980px; text-wrap:balance; }
.hero-text { font-size:clamp(18px,2vw,22px); color:var(--muted); max-width:720px; margin:24px 0 0; }
.hero-section--dark .hero-text { color:rgba(255,250,242,.72); }
.confidential-badge { display:inline-flex; align-items:center; gap:8px; margin:2px 0 18px; padding:9px 12px; border-radius:999px; color:#fffaf2; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); font-size:12px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.confidential-badge:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--gold-soft); box-shadow:0 0 0 6px rgba(225,197,142,.12); }
.confidential-badge--small { margin-bottom:16px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 22px; border-radius:999px; font-weight:900; border:1px solid transparent; cursor:pointer; transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--ink); color:var(--surface); }
.btn-primary--light { background:#fffaf2; color:#111014; }
.btn-secondary { background:transparent; border-color:var(--line); color:var(--ink); }
.btn-secondary--light { border-color:rgba(255,255,255,.22); color:#fffaf2; background:rgba(255,255,255,.035); }
.btn-emergency { background:linear-gradient(135deg, var(--danger), var(--danger-dark)); color:#fff; box-shadow:0 18px 42px rgba(197,22,29,.34); letter-spacing:.04em; }
.hero-panel { background:var(--ink); color:var(--surface); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); display:grid; gap:12px; }
.emergency-panel { background:rgba(9,9,10,.68); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(14px); box-shadow:0 30px 90px rgba(0,0,0,.33); }
.hero-panel__topline { color:var(--gold-soft); font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:12px; padding:4px 4px 8px; }
.hero-panel__item { padding:22px; border:1px solid rgba(255,255,255,.13); border-radius:22px; background:rgba(255,255,255,.045); }
.hero-panel__item strong { display:block; color:var(--gold-soft); font-size:13px; margin-bottom:12px; }
.hero-panel__item span { font-size:18px; font-weight:780; }

.section { padding:78px 0; }
.section-muted { background:var(--surface-2); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.section-head a { color:var(--accent-dark); font-weight:850; }
.cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.card { position:relative; min-height:270px; padding:28px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line); box-shadow:0 16px 44px rgba(35,24,12,.055); display:flex; flex-direction:column; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:rgba(141,90,43,.35); }
.card-link { position:absolute; inset:0; z-index:2; }
.card-kicker { color:var(--accent); font-weight:850; font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:18px; }
.card p { color:var(--muted); margin:16px 0 22px; }
.card-meta { margin-top:auto; display:inline-flex; color:var(--accent-dark); font-weight:850; }
.card-more { margin-top:18px; font-weight:850; }

.archive-hero,.single-hero { padding:54px 0 48px; background:linear-gradient(180deg, rgba(255,250,242,.65), rgba(246,241,233,0)); }
.archive-hero p,.single-hero p { color:var(--muted); max-width:760px; }
.single-hero--dark { background:linear-gradient(135deg, #080809, #19110f); color:#fffaf2; padding:76px 0 64px; }
.single-hero--dark p { color:rgba(255,250,242,.72); }
.single-hero--dark .breadcrumbs { color:rgba(255,250,242,.54); }
.single-hero--dark .breadcrumbs a { color:var(--gold-soft); }
.breadcrumbs { display:flex; gap:9px; flex-wrap:wrap; color:var(--muted); font-size:14px; margin-bottom:24px; }
.breadcrumbs a { color:var(--accent-dark); }
.archive-actions { margin-top:30px; display:grid; place-items:center; gap:24px; }
.pagination ul { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.pagination a,.pagination span { display:inline-flex; min-width:42px; height:42px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:999px; padding:0 12px; }
.pagination .current { background:var(--ink); color:var(--surface); }
.single-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:34px; align-items:start; }
.cta-card,.side-box { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); }
.cta-card--urgent { background:rgba(255,250,242,.96); color:var(--ink); display:grid; gap:12px; }
.cta-card--urgent .btn { width:100%; }
.price-label { font-size:24px; font-weight:900; margin-bottom:6px; }
.result-card span { color:var(--accent); font-weight:850; text-transform:uppercase; font-size:12px; letter-spacing:.12em; }
.result-card strong { display:block; margin-top:14px; font-size:26px; line-height:1.12; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:42px; align-items:start; }
.prose { font-size:18px; }
.prose h2 { margin:42px 0 16px; font-size:clamp(28px,3vw,42px); }
.prose h3 { margin:32px 0 12px; }
.prose p,.prose li { color:#3d352d; }
.prose a { color:var(--accent-dark); border-bottom:1px solid currentColor; }
.side-box { position:sticky; top:110px; display:grid; gap:12px; }
.side-box a { color:var(--muted); font-weight:700; }

.process-section { background:var(--dark); color:var(--surface); position:relative; overflow:hidden; }
.process-section:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 12% 24%, rgba(201,164,106,.14), transparent 26%), linear-gradient(90deg, transparent 0 47%, rgba(255,255,255,.035) 47% 47.2%, transparent 47.2%); pointer-events:none; }
.process-grid { position:relative; display:grid; grid-template-columns:.78fr 1.22fr; gap:52px; }
.process-sticky { position:sticky; top:120px; align-self:start; }
.process-sticky p:not(.eyebrow) { color:rgba(255,250,242,.68); }
.progress-track { height:4px; border-radius:99px; background:rgba(255,255,255,.14); overflow:hidden; margin-top:30px; }
.progress-track span { display:block; height:100%; background:linear-gradient(90deg, var(--danger), var(--gold-soft)); transform:scaleX(.01); transform-origin:left; transition:transform .38s ease; }
.process-list { display:grid; gap:18px; counter-reset: step; }
.process-step { position:relative; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.045); border-radius:var(--radius); padding:28px 28px 28px 76px; opacity:.52; transition:opacity .28s ease, background .28s ease, border-color .28s ease, transform .28s ease; }
.process-step:before { content:""; position:absolute; left:28px; top:32px; width:18px; height:18px; border-radius:50%; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 8px rgba(255,255,255,.035); transition:background .28s ease, box-shadow .28s ease, border-color .28s ease; }
.process-step:not(:last-child):after { content:""; position:absolute; left:36px; top:58px; bottom:-20px; width:2px; background:rgba(255,255,255,.12); }
.process-step.is-active { opacity:1; background:rgba(255,255,255,.085); border-color:rgba(225,197,142,.45); transform:translateX(-4px); }
.process-step.is-active:before { background:var(--danger); border-color:rgba(255,255,255,.65); box-shadow:0 0 0 9px rgba(197,22,29,.16), 0 0 34px rgba(197,22,29,.32); }
.process-step span { color:var(--gold-soft); font-weight:900; font-size:13px; }
.process-step h3 { margin-top:16px; }
.process-step p { color:rgba(255,250,242,.7); }

.faq-list { display:grid; gap:12px; margin-top:28px; }
.faq-item { background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:20px 22px; }
.faq-item summary { cursor:pointer; font-weight:850; font-size:18px; }
.faq-item div { color:var(--muted); margin-top:14px; }
.site-footer { background:var(--ink); color:var(--surface); padding:58px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:30px; }
.footer-title { font-size:18px; font-weight:900; margin-bottom:14px; }
.site-footer p,.site-footer a,.footer-bottom { color:rgba(255,250,242,.68); }
.footer-menu { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:20px; font-size:13px; }
.not-found { min-height:58vh; display:grid; align-items:center; }

@media (max-width:1040px) {
    .primary-menu { gap:16px; }
    .header-phone { display:none; }
}
@media (max-width:920px) {
    .container { width:min(100% - 28px, var(--container)); }
    .header-grid { grid-template-columns:auto auto; }
    .menu-toggle { display:block; justify-self:end; }
    .primary-nav { grid-column:1 / -1; display:none; }
    .primary-nav.is-open { display:block; }
    .primary-menu { flex-direction:column; align-items:flex-start; padding:10px 0 22px; }
    .header-actions { display:none; }
    .hero-section--dark { min-height:auto; margin-top:-78px; padding:142px 0 64px; }
    .hero-grid,.single-hero-grid,.content-grid,.process-grid,.footer-grid { grid-template-columns:1fr; }
    .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .process-sticky,.side-box { position:static; }
}
@media (max-width:640px) {
    .hero-section { padding:52px 0 42px; }
    .hero-section--dark { padding:126px 0 50px; }
    h1 { font-size:clamp(40px,13vw,58px); }
    .section { padding:52px 0; }
    .cards-grid { grid-template-columns:1fr; }
    .section-head { display:block; }
    .section-head h2 { margin-bottom:16px; }
    .card { min-height:auto; }
    .footer-bottom { flex-direction:column; }
    .btn { width:100%; }
    .hero-panel { padding:18px; }
    .process-step { padding:24px 22px 24px 64px; }
    .process-step:before { left:22px; }
    .process-step:not(:last-child):after { left:30px; }
}
@media (prefers-reduced-motion: reduce) {
    * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* =========================================================
   V3 Legal Shield visual system: dark emergency header + hero
   ========================================================= */
:root {
    --shield-black: #030608;
    --shield-black-2: #090d10;
    --shield-panel: rgba(21, 26, 31, .78);
    --shield-panel-2: rgba(31, 36, 43, .70);
    --shield-line: rgba(255,255,255,.12);
    --shield-line-strong: rgba(255,255,255,.22);
    --shield-white: #f4f6f7;
    --shield-muted: rgba(244,246,247,.68);
    --shield-muted-2: rgba(244,246,247,.48);
    --shield-red: #d9272e;
    --shield-red-dark: #a9141b;
    --shield-max: 1440px;
}

body { background:#08090b; }
.home .site-main { padding-top:0; }
.site-main { padding-top:86px; }

.site-header--shield {
    position:fixed;
    inset:0 0 auto 0;
    z-index:1000;
    height:86px;
    background:linear-gradient(180deg, rgba(5,9,11,.96), rgba(4,7,9,.91));
    border-bottom:1px solid rgba(255,255,255,.075);
    box-shadow:0 16px 48px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    color:var(--shield-white);
}
.site-header--shield .container { width:min(var(--shield-max), calc(100% - 64px)); }
.site-header--shield .header-grid {
    min-height:86px;
    display:grid;
    grid-template-columns:minmax(250px, .8fr) minmax(480px, 1.2fr) auto;
    gap:28px;
    align-items:center;
}
.site-brand--shield {
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:14px;
    min-width:0;
}
.site-brand__custom-logo img { max-height:52px; width:auto; }
.brand-mark {
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:grid;
    place-items:center;
    color:rgba(236,242,245,.96);
    filter:drop-shadow(0 0 16px rgba(255,255,255,.12));
}
.brand-mark svg { width:100%; height:100%; display:block; }
.site-brand__text { display:flex; flex-direction:column; gap:3px; line-height:1; }
.site-header--shield .site-brand__name {
    font-size:22px;
    font-weight:950;
    color:#fff;
    letter-spacing:.015em;
    text-transform:uppercase;
    white-space:nowrap;
}
.site-header--shield .site-brand__tagline {
    font-size:11px;
    color:rgba(255,255,255,.68);
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    white-space:nowrap;
}
.site-header--shield .primary-nav { justify-self:center; }
.site-header--shield .primary-menu {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:27px;
    list-style:none;
    padding:0;
    margin:0;
}
.site-header--shield .primary-menu a {
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:86px;
    color:rgba(255,255,255,.78);
    font-size:13px;
    line-height:1;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .22s ease;
}
.site-header--shield .primary-menu a:hover,
.site-header--shield .primary-menu .current-menu-item > a { color:#fff; }
.site-header--shield .primary-menu .current-menu-item > a:after,
.site-header--shield .primary-menu a:hover:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    height:2px;
    border-radius:99px;
    background:var(--shield-red);
    box-shadow:0 0 16px rgba(217,39,46,.42);
}
.site-header--shield .header-actions { justify-self:end; display:flex; align-items:center; gap:14px; }
.site-header--shield .header-phone { display:none; }
.site-header--shield .header-emergency {
    min-height:44px;
    border-radius:6px;
    padding:0 24px;
    background:linear-gradient(180deg, #ef3238, var(--shield-red));
    color:#fff;
    font-size:13px;
    font-weight:950;
    letter-spacing:.055em;
    text-transform:uppercase;
    box-shadow:0 13px 30px rgba(217,39,46,.30), inset 0 1px 0 rgba(255,255,255,.2);
    transition:transform .2s ease, background .2s ease;
}
.site-header--shield .header-emergency:hover { transform:translateY(-1px); background:linear-gradient(180deg, #ff3b42, #bd1c23); }

.shield-hero {
    position:relative;
    min-height:980px;
    overflow:hidden;
    isolation:isolate;
    padding:170px 0 64px;
    background:
        radial-gradient(circle at 85% 42%, rgba(255,255,255,.08), transparent 25%),
        radial-gradient(circle at 72% 8%, rgba(175,203,220,.16), transparent 20%),
        linear-gradient(180deg, #040709 0%, #080b0e 46%, #11151b 100%);
    color:var(--shield-white);
}
.shield-hero:before {
    content:"";
    position:absolute;
    inset:86px 0 auto 0;
    height:620px;
    z-index:-3;
    background:
        linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 30%, rgba(0,0,0,.12) 62%, rgba(0,0,0,.46) 100%),
        radial-gradient(circle at 58% 10%, rgba(255,255,255,.45), transparent 13%),
        linear-gradient(116deg, transparent 0 38%, rgba(214,227,236,.14) 38% 39%, transparent 39% 100%),
        linear-gradient(244deg, transparent 0 38%, rgba(214,227,236,.12) 38% 39%, transparent 39% 100%);
    opacity:.98;
}
.shield-hero:after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,0) 20%, rgba(0,0,0,.75) 70%, rgba(0,0,0,.30) 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 128px);
}
.shield-hero__scene { position:absolute; inset:86px 0 auto 0; height:620px; z-index:-2; pointer-events:none; opacity:.9; }
.shield-hero__ceiling {
    position:absolute;
    left:43%;
    top:0;
    width:24%;
    height:250px;
    clip-path:polygon(18% 0, 82% 0, 61% 100%, 39% 100%);
    background:linear-gradient(180deg, rgba(244,250,255,.58), rgba(150,165,178,.18) 45%, rgba(255,255,255,.02));
    filter:blur(.2px);
}
.shield-hero__hall {
    position:absolute;
    left:34%;
    right:9%;
    top:84px;
    height:385px;
    background:
        linear-gradient(112deg, rgba(255,255,255,.12), rgba(255,255,255,.02) 33%, transparent 34%),
        linear-gradient(248deg, rgba(255,255,255,.12), rgba(255,255,255,.02) 35%, transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.015));
    clip-path:polygon(10% 0, 90% 0, 100% 100%, 0 100%);
    border:1px solid rgba(255,255,255,.05);
}
.shield-hero__steps {
    position:absolute;
    left:50%;
    top:365px;
    width:34%;
    height:160px;
    transform:translateX(-5%);
    background:
        repeating-linear-gradient(180deg, rgba(222,229,234,.22) 0 8px, transparent 8px 18px),
        linear-gradient(180deg, rgba(255,255,255,.12), transparent);
    clip-path:polygon(20% 0, 78% 0, 100% 100%, 0 100%);
    opacity:.6;
}
.shield-hero__inner { width:min(1280px, calc(100% - 64px)); }
.shield-hero__copy { max-width:690px; position:relative; z-index:2; }
.shield-eyebrow {
    margin:0 0 16px;
    color:rgba(255,255,255,.58);
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.shield-confidential {
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    margin:0 0 20px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:6px;
    background:rgba(255,255,255,.055);
    color:rgba(255,255,255,.82);
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.shield-hero h1 {
    margin:0;
    color:#fff;
    max-width:720px;
    font-size:clamp(44px, 5.15vw, 74px);
    line-height:.99;
    font-weight:950;
    letter-spacing:-.045em;
    text-transform:uppercase;
    text-shadow:0 8px 34px rgba(0,0,0,.62);
}
.shield-hero__lead {
    max-width:680px;
    margin:28px 0 0;
    color:rgba(244,246,247,.76);
    font-size:clamp(18px, 1.55vw, 23px);
    line-height:1.38;
    font-weight:650;
    text-shadow:0 8px 28px rgba(0,0,0,.64);
}
.shield-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.shield-btn {
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    padding:0 22px;
    font-size:13px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:transform .22s ease, border-color .22s ease, background .22s ease;
}
.shield-btn:hover { transform:translateY(-1px); }
.shield-btn--danger { background:linear-gradient(180deg, #f1343a, #cf2027); color:#fff; box-shadow:0 16px 34px rgba(217,39,46,.30); }
.shield-btn--ghost { border:1px solid rgba(255,255,255,.18); color:#fff; background:rgba(255,255,255,.055); }
.shield-btn--ghost:hover { border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.09); }

.shield-services { margin-top:76px; position:relative; z-index:3; }
.shield-services h2,
.shield-practice-panel h2,
.shield-algorithm-panel h2 {
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(26px, 2.4vw, 34px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.035em;
}
.shield-services__grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
}
.shield-service-card {
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:25px 23px 22px;
    border-radius:10px;
    border:1px solid var(--shield-line);
    background:linear-gradient(180deg, rgba(39,45,52,.82), rgba(23,27,32,.72));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.25);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    transform:perspective(1000px) rotateX(.5deg);
}
.shield-service-card:hover { border-color:rgba(255,255,255,.28); background:linear-gradient(180deg, rgba(53,60,69,.9), rgba(28,33,39,.78)); }
.shield-service-card strong {
    color:#fff;
    font-size:clamp(19px, 1.45vw, 26px);
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.035em;
    text-transform:uppercase;
}
.shield-service-card span { color:rgba(255,255,255,.58); font-size:15px; font-weight:650; }

.shield-dashboard {
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0, .96fr) minmax(0, .86fr);
    gap:22px;
    align-items:end;
    margin-top:44px;
}
.shield-practice-panel,
.shield-algorithm-panel {
    position:relative;
    overflow:hidden;
    min-height:205px;
    border-radius:12px;
    border:1px solid var(--shield-line);
    background:linear-gradient(180deg, rgba(30,35,42,.76), rgba(18,21,26,.78));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 22px 46px rgba(0,0,0,.28);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.shield-practice-panel { padding:24px 270px 24px 24px; }
.shield-panel-head { display:flex; align-items:start; justify-content:space-between; gap:18px; }
.shield-panel-head a {
    margin-top:88px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 20px;
    border-radius:4px;
    background:rgba(255,255,255,.68);
    color:#111;
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
    white-space:nowrap;
}
.shield-case-list { display:grid; margin-top:20px; }
.shield-case-list a {
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,.09);
    color:rgba(255,255,255,.86);
    font-size:clamp(18px, 1.45vw, 24px);
    line-height:1.18;
    font-weight:760;
}
.shield-case-list a:hover { color:#fff; }
.shield-document {
    position:absolute;
    right:28px;
    bottom:18px;
    width:142px;
    height:192px;
    border-radius:4px;
    background:#f7f7f4;
    box-shadow:0 18px 36px rgba(0,0,0,.45);
    transform:rotate(-1.5deg);
}
.shield-document:before {
    content:"";
    position:absolute;
    inset:16px 14px auto;
    height:34px;
    background:linear-gradient(90deg, transparent 0 35%, #111 35% 75%, transparent 75%);
    opacity:.8;
}
.shield-document:after {
    content:"";
    position:absolute;
    left:50%;
    bottom:18px;
    width:42px;
    height:42px;
    transform:translateX(-50%);
    border-radius:50%;
    border:4px solid rgba(50,111,178,.32);
    background:rgba(50,111,178,.14);
}
.shield-document span { position:absolute; left:15px; right:15px; height:3px; background:#c7c9c9; border-radius:99px; }
.shield-document span:nth-child(1) { top:72px; }
.shield-document span:nth-child(2) { top:91px; }
.shield-document span:nth-child(3) { top:110px; right:44px; }

.shield-algorithm-panel { padding:24px 28px; }
.shield-algorithm-line {
    position:absolute;
    left:13%;
    right:9%;
    top:108px;
    height:7px;
    border-radius:99px;
    background:rgba(255,255,255,.28);
    overflow:hidden;
}
.shield-algorithm-line span { display:block; width:62%; height:100%; background:rgba(255,255,255,.78); }
.shield-algorithm-steps {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin-top:28px;
}
.shield-algorithm-step { text-align:center; }
.shield-algorithm-icon {
    width:62px;
    height:62px;
    margin:0 auto 28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.34);
    background:rgba(255,255,255,.045);
    color:rgba(255,255,255,.86);
    font-size:19px;
    font-weight:950;
    box-shadow:0 0 0 6px rgba(0,0,0,.20);
}
.shield-algorithm-step strong {
    display:block;
    color:#fff;
    font-size:14px;
    line-height:1.12;
    font-weight:950;
    letter-spacing:.005em;
    text-transform:uppercase;
}

.section-light-intro { background:var(--bg); color:var(--ink); }

@media (max-width:1220px) {
    .site-header--shield .container { width:min(100% - 40px, var(--shield-max)); }
    .site-header--shield .header-grid { grid-template-columns:auto 1fr auto; gap:18px; }
    .site-header--shield .primary-menu { gap:18px; }
    .site-header--shield .primary-menu a { font-size:12px; }
    .site-header--shield .header-emergency { padding:0 16px; }
    .site-header--shield .site-brand__name { font-size:19px; }
}
@media (max-width:1040px) {
    .site-header--shield .primary-menu { gap:14px; }
    .site-header--shield .header-emergency { font-size:12px; }
    .shield-services__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .shield-dashboard { grid-template-columns:1fr; }
}
@media (max-width:920px) {
    .site-header--shield { height:76px; }
    .site-main { padding-top:76px; }
    .home .site-main { padding-top:0; }
    .site-header--shield .header-grid { min-height:76px; grid-template-columns:auto auto; }
    .site-header--shield .site-brand__name { font-size:18px; }
    .brand-mark { width:44px; height:44px; flex-basis:44px; }
    .site-header--shield .menu-toggle { display:block; justify-self:end; }
    .site-header--shield .primary-nav {
        grid-column:1 / -1;
        display:none;
        position:absolute;
        top:76px;
        left:0;
        right:0;
        background:rgba(4,7,9,.98);
        border-bottom:1px solid rgba(255,255,255,.08);
        padding:8px 24px 22px;
    }
    .site-header--shield .primary-nav.is-open { display:block; }
    .site-header--shield .primary-menu { align-items:flex-start; flex-direction:column; gap:0; }
    .site-header--shield .primary-menu a { min-height:44px; }
    .site-header--shield .primary-menu a:after { display:none; }
    .site-header--shield .header-actions { display:none; }
    .shield-hero { min-height:auto; padding:132px 0 48px; }
    .shield-hero__inner { width:min(100% - 28px, 1280px); }
    .shield-hero__scene, .shield-hero:before { height:480px; }
    .shield-hero__copy { max-width:100%; }
    .shield-practice-panel { padding-right:24px; }
    .shield-document { display:none; }
    .shield-panel-head a { margin-top:0; }
}
@media (max-width:640px) {
    .site-header--shield .container { width:calc(100% - 24px); }
    .site-header--shield .site-brand__tagline { font-size:9px; letter-spacing:.11em; }
    .site-header--shield .site-brand__name { font-size:16px; }
    .brand-mark { width:40px; height:40px; flex-basis:40px; }
    .shield-hero { padding:118px 0 38px; }
    .shield-hero h1 { font-size:clamp(38px, 12vw, 54px); }
    .shield-hero__lead { font-size:17px; }
    .shield-hero__actions, .shield-btn { width:100%; }
    .shield-services { margin-top:46px; }
    .shield-services__grid { grid-template-columns:1fr; gap:12px; }
    .shield-service-card { min-height:128px; padding:22px 20px; }
    .shield-dashboard { gap:14px; margin-top:28px; }
    .shield-panel-head { display:block; }
    .shield-panel-head a { margin-top:14px; }
    .shield-algorithm-panel { padding:22px 18px; }
    .shield-algorithm-line { display:none; }
    .shield-algorithm-steps { grid-template-columns:1fr; gap:14px; margin-top:10px; }
    .shield-algorithm-step { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:14px; text-align:left; }
    .shield-algorithm-icon { width:48px; height:48px; margin:0; font-size:15px; }
}

/* =========================================================
   OneClick V2: unified dark WordPress version
   ========================================================= */
body { background:#07090c; color:#f4f6f7; }
.site-main { background:#07090c; }
.section,
.section-light-intro,
.section-muted,
.single-content-section,
.related-cases-section { background:#07090c; color:#f4f6f7; }
.section:nth-of-type(even) { background:#0b0f13; }
.archive-hero,
.single-hero { background:linear-gradient(180deg, #11161c 0%, #07090c 100%); color:#f4f6f7; }
.archive-hero p,
.single-hero p,
.prose p,
.prose li,
.card p,
.faq-item div,
.side-box a { color:rgba(244,246,247,.68); }
.section-head a,
.breadcrumbs a,
.prose a { color:#e6c27a; }
.card,
.faq-item,
.cta-card,
.side-box { background:linear-gradient(180deg, rgba(24,29,35,.94), rgba(14,17,21,.96)); border-color:rgba(255,255,255,.11); color:#f4f6f7; box-shadow:0 18px 44px rgba(0,0,0,.28); }
.card:hover { border-color:rgba(217,39,46,.45); box-shadow:0 24px 66px rgba(0,0,0,.38); }
.card-kicker,
.eyebrow { color:#e6c27a; }
.card-meta,
.card-more { color:#fff; }
.pagination a,
.pagination span { border-color:rgba(255,255,255,.14); color:rgba(255,255,255,.72); }
.pagination .current { background:#d9272e; color:#fff; border-color:#d9272e; }
.cta-card--urgent { background:linear-gradient(180deg, rgba(31,36,43,.98), rgba(18,21,26,.98)); color:#fff; }
.btn-primary { background:#fff; color:#050608; }
.btn-secondary { border-color:rgba(255,255,255,.18); color:#fff; }
.faq-item summary { color:#fff; }
.prose h2,
.prose h3 { color:#fff; }
.archive-actions .btn-primary { background:#d9272e; color:#fff; }

.legal-admin-wrap .button-primary { background:#d9272e; border-color:#d9272e; }

@media (max-width:640px) {
    .shield-service-card strong { font-size:21px; }
    .site-main { padding-top:76px; }
    .home .site-main { padding-top:0; }
}


/* --------------------------------------------------------------------------
   V2.1 Premium hero tension flicker: cold rays, GPU-only CSS animation
   -------------------------------------------------------------------------- */
@keyframes shield-tension-flicker {
    0%, 100% { opacity:.10; transform:scale(1.44) rotate(0deg); }
    3% { opacity:.40; }
    6% { opacity:.11; }
    7% { opacity:.52; }
    8% { opacity:.12; }
    37% { opacity:.14; }
    50% { opacity:.16; }
    51% { opacity:.32; }
    52% { opacity:.11; }
    80% { opacity:.22; }
}
@keyframes shield-tension-flicker-slow {
    0%, 100% { opacity:.07; transform:scale(1.08) translate3d(0,0,0) rotate(-2deg); }
    12% { opacity:.13; }
    13% { opacity:.26; }
    14% { opacity:.08; }
    62% { opacity:.18; }
    63% { opacity:.09; }
    84% { opacity:.20; }
}
.shield-animate-flicker {
    animation:shield-tension-flicker 8s infinite;
    will-change:opacity, transform;
}
.shield-animate-flicker-slow {
    animation:shield-tension-flicker-slow 12s infinite;
    will-change:opacity, transform;
}
.shield-hero__flicker {
    position:absolute;
    top:0;
    right:0;
    width:min(820px, 78vw);
    height:760px;
    z-index:-1;
    pointer-events:none;
    overflow:hidden;
    opacity:.9;
    mix-blend-mode:screen;
    transform:translateZ(0);
}
.shield-hero__cold-glow {
    position:absolute;
    top:-22%;
    right:-16%;
    width:620px;
    height:620px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(244,250,255,.13) 0%, rgba(176,205,224,.055) 36%, transparent 64%);
    filter:blur(10px);
    opacity:.78;
}
.shield-hero__rays {
    position:absolute;
    inset:-16% -12% 12% 4%;
    transform-origin:100% 0;
    background:
        conic-gradient(from 180deg at 70% 30%,
            rgba(255,255,255,0) 0deg,
            rgba(224,240,255,.055) 45deg,
            rgba(255,255,255,0) 90deg,
            rgba(235,245,255,.09) 135deg,
            rgba(255,255,255,0) 180deg,
            rgba(210,232,255,.045) 230deg,
            rgba(255,255,255,0) 310deg);
    filter:blur(38px);
}
.shield-hero__ray-cut {
    position:absolute;
    top:-4%;
    right:-9%;
    width:760px;
    height:620px;
    transform-origin:100% 0;
    background:
        linear-gradient(128deg,
            transparent 0 20%,
            rgba(236,246,255,.10) 22%,
            transparent 30% 43%,
            rgba(236,246,255,.06) 46%,
            transparent 55% 100%);
    filter:blur(18px);
}
.shield-hero__copy,
.shield-services,
.shield-dashboard { transform:translateZ(0); }

@media (prefers-reduced-motion: reduce) {
    .shield-animate-flicker,
    .shield-animate-flicker-slow { animation:none; }
    .shield-hero__rays { opacity:.16; }
    .shield-hero__ray-cut { opacity:.10; }
}
@media (max-width: 780px) {
    .shield-hero__flicker {
        width:100vw;
        height:560px;
        opacity:.68;
    }
    .shield-hero__cold-glow {
        right:-44%;
        width:520px;
        height:520px;
    }
    .shield-hero__rays { inset:-20% -38% 18% 8%; }
    .shield-hero__ray-cut { right:-44%; top:-8%; }
}

/* --------------------------------------------------------------------------
   V3 visible cold rays fix: effect is intentionally stronger and layered
   above the background, but below all text/buttons/cards.
   -------------------------------------------------------------------------- */
@keyframes shield-tension-flicker-visible {
    0%, 100% { opacity:.34; transform:scale(1.18) rotate(-1deg) translate3d(0,0,0); }
    2% { opacity:.88; }
    4% { opacity:.28; }
    6% { opacity:1; }
    8% { opacity:.32; }
    38% { opacity:.40; }
    50% { opacity:.52; }
    51% { opacity:.95; }
    52% { opacity:.30; }
    80% { opacity:.58; }
}
@keyframes shield-cold-glow-breathe {
    0%, 100% { opacity:.38; transform:scale(1) translate3d(0,0,0); }
    35% { opacity:.74; transform:scale(1.04) translate3d(-10px, 8px, 0); }
    52% { opacity:.50; }
    64% { opacity:.82; transform:scale(1.07) translate3d(-18px, 14px, 0); }
}
.shield-hero:after { z-index:0; }
.shield-hero__scene { z-index:0; }
.shield-hero__flicker {
    top:-110px;
    right:-170px;
    width:min(1040px, 96vw);
    height:920px;
    z-index:1;
    opacity:1;
    mix-blend-mode:screen;
    overflow:visible;
}
.shield-hero__cold-glow {
    top:-8%;
    right:-8%;
    width:760px;
    height:760px;
    background:radial-gradient(circle at 48% 46%, rgba(246,252,255,.38) 0%, rgba(189,220,242,.20) 20%, rgba(107,158,194,.10) 43%, transparent 68%);
    filter:blur(18px);
    opacity:.62;
    animation:shield-cold-glow-breathe 10s ease-in-out infinite;
    will-change:opacity, transform;
}
.shield-hero__rays {
    inset:-8% -4% 4% -4%;
    opacity:.62;
    transform-origin:88% 4%;
    background:conic-gradient(from 190deg at 76% 18%, rgba(255,255,255,0) 0deg, rgba(230,245,255,.24) 22deg, rgba(255,255,255,0) 44deg, rgba(219,241,255,.30) 72deg, rgba(255,255,255,0) 104deg, rgba(216,236,255,.18) 139deg, rgba(255,255,255,0) 178deg, rgba(224,244,255,.14) 224deg, rgba(255,255,255,0) 320deg);
    filter:blur(24px);
    animation:shield-tension-flicker-visible 7.6s infinite;
}
.shield-hero__rays::before,
.shield-hero__rays::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    mix-blend-mode:screen;
}
.shield-hero__rays::before {
    background:linear-gradient(132deg, transparent 0 21%, rgba(242,250,255,.34) 24%, rgba(242,250,255,.10) 30%, transparent 37% 52%, rgba(218,239,255,.22) 55%, transparent 64% 100%);
    filter:blur(16px);
}
.shield-hero__rays::after {
    background:linear-gradient(148deg, transparent 0 34%, rgba(255,255,255,.18) 38%, transparent 46% 100%);
    filter:blur(26px);
    opacity:.8;
}
.shield-hero__ray-cut {
    top:2%;
    right:-8%;
    width:980px;
    height:820px;
    z-index:2;
    opacity:.50;
    background:linear-gradient(128deg, transparent 0 16%, rgba(246,252,255,.30) 19%, transparent 28% 42%, rgba(219,240,255,.18) 46%, transparent 58% 100%);
    filter:blur(12px);
}
.shield-hero__copy,
.shield-services,
.shield-dashboard {
    position:relative;
    z-index:4;
}
@media (prefers-reduced-motion: reduce) {
    .shield-hero__cold-glow,
    .shield-hero__rays { animation:none; }
    .shield-hero__cold-glow { opacity:.56; }
    .shield-hero__rays { opacity:.44; }
    .shield-hero__ray-cut { opacity:.28; }
}
@media (max-width: 780px) {
    .shield-hero__flicker {
        top:-80px;
        right:-260px;
        width:980px;
        height:720px;
        opacity:.88;
    }
    .shield-hero__cold-glow {
        width:620px;
        height:620px;
        right:-10%;
    }
    .shield-hero__ray-cut {
        width:780px;
        height:620px;
        right:-18%;
    }
}


/* --------------------------------------------------------------------------
   V4 periodic star flash: a distant cold star burst moving to top-right.
   Long pause, short flash, quick escape into the upper-right corner.
   -------------------------------------------------------------------------- */
@keyframes shield-cosmic-star-flight {
    0%, 68%, 100% { opacity:0; transform:translate3d(0,0,0) scale(.35) rotate(0deg); filter:blur(8px); }
    70% { opacity:.28; transform:translate3d(-34px,42px,0) scale(.68) rotate(8deg); filter:blur(5px); }
    71.4% { opacity:1; transform:translate3d(-16px,20px,0) scale(1.18) rotate(24deg); filter:blur(1px); }
    72.1% { opacity:.92; transform:translate3d(12px,-8px,0) scale(.98) rotate(36deg); filter:blur(1.5px); }
    74.6% { opacity:.18; transform:translate3d(116px,-116px,0) scale(.32) rotate(72deg); filter:blur(6px); }
    77% { opacity:0; transform:translate3d(190px,-188px,0) scale(.16) rotate(92deg); filter:blur(12px); }
}
@keyframes shield-cosmic-trail-flight {
    0%, 68%, 100% { opacity:0; transform:translate3d(-34px,44px,0) rotate(-41deg) scaleX(.25); filter:blur(8px); }
    70.8% { opacity:.34; transform:translate3d(-44px,50px,0) rotate(-41deg) scaleX(.55); filter:blur(4px); }
    72.2% { opacity:.72; transform:translate3d(-6px,8px,0) rotate(-41deg) scaleX(1); filter:blur(2px); }
    74.8% { opacity:.16; transform:translate3d(94px,-94px,0) rotate(-41deg) scaleX(.62); filter:blur(7px); }
    77% { opacity:0; transform:translate3d(170px,-170px,0) rotate(-41deg) scaleX(.18); filter:blur(12px); }
}
.shield-hero__star-flash {
    position:absolute; top:118px; right:122px; width:22px; height:22px; z-index:5; pointer-events:none; opacity:0;
    transform-origin:center; animation:shield-cosmic-star-flight 6.8s cubic-bezier(.2,.72,.24,1) infinite;
    will-change:opacity, transform, filter; mix-blend-mode:screen;
}
.shield-hero__star-flash::before, .shield-hero__star-flash::after {
    content:""; position:absolute; inset:50% auto auto 50%; translate:-50% -50%; pointer-events:none;
}
.shield-hero__star-flash::before {
    width:18px; height:18px; border-radius:999px;
    background:radial-gradient(circle, #fff 0 16%, rgba(230,246,255,.96) 17% 28%, rgba(117,186,255,.38) 42%, rgba(117,186,255,0) 72%);
    box-shadow:0 0 12px rgba(255,255,255,.98), 0 0 34px rgba(156,213,255,.86), 0 0 92px rgba(79,159,255,.50);
}
.shield-hero__star-flash::after {
    width:118px; height:118px;
    background:
        linear-gradient(90deg, transparent 0 45%, rgba(255,255,255,.88) 49%, #fff 50%, rgba(255,255,255,.78) 51%, transparent 56% 100%),
        linear-gradient(0deg, transparent 0 45%, rgba(255,255,255,.64) 49%, #fff 50%, rgba(255,255,255,.55) 51%, transparent 56% 100%),
        linear-gradient(45deg, transparent 0 46%, rgba(188,226,255,.30) 49%, rgba(255,255,255,.62) 50%, rgba(188,226,255,.24) 51%, transparent 55% 100%),
        linear-gradient(135deg, transparent 0 47%, rgba(188,226,255,.25) 49%, rgba(255,255,255,.48) 50%, rgba(188,226,255,.18) 51%, transparent 55% 100%);
    filter:blur(.6px);
}
.shield-hero__star-trail {
    position:absolute; top:142px; right:132px; width:235px; height:7px; z-index:4; pointer-events:none; opacity:0;
    transform-origin:100% 50%; border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(155,211,255,.16) 16%, rgba(226,246,255,.72) 74%, rgba(255,255,255,.94));
    box-shadow:0 0 18px rgba(138,205,255,.38), 0 0 42px rgba(80,158,255,.18);
    animation:shield-cosmic-trail-flight 6.8s cubic-bezier(.2,.72,.24,1) infinite;
    will-change:opacity, transform, filter; mix-blend-mode:screen;
}
.shield-hero__rays { opacity:.18; }
.shield-hero__ray-cut { opacity:.14; }
.shield-hero__cold-glow { opacity:.42; }
@media (prefers-reduced-motion: reduce) {
    .shield-hero__star-flash, .shield-hero__star-trail { animation:none; opacity:0; }
}
@media (max-width: 780px) {
    .shield-hero__star-flash { top:92px; right:54px; }
    .shield-hero__star-trail { top:116px; right:62px; width:180px; }
}

/* --------------------------------------------------------------------------
   V2.3 Premium services grid: mouse spotlight + reveal cards
   -------------------------------------------------------------------------- */
.shield-services__grid--interactive {
    position:relative;
    --spotlight-x:50%;
    --spotlight-y:50%;
}
.shield-services__grid--interactive::before {
    content:"";
    position:absolute;
    inset:-1px;
    z-index:0;
    pointer-events:none;
    border-radius:18px;
    opacity:0;
    transition:opacity .28s ease;
    background:radial-gradient(620px circle at var(--spotlight-x) var(--spotlight-y), rgba(246,250,255,.13), rgba(217,39,46,.06) 22%, transparent 48%);
    filter:blur(.2px);
}
.shield-services__grid--interactive:hover::before { opacity:1; }
.shield-service-card--expand {
    position:relative;
    z-index:1;
    overflow:hidden;
    min-height:245px;
    gap:14px;
    transition:transform .34s ease, border-color .34s ease, background .34s ease, box-shadow .34s ease;
}
.shield-service-card--expand::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(420px circle at 90% 0%, rgba(255,255,255,.075), transparent 46%);
    opacity:.72;
    transition:opacity .34s ease, transform .34s ease;
}
.shield-service-card--expand:hover {
    transform:translateY(-4px);
    border-color:rgba(230,194,122,.45);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 26px 64px rgba(0,0,0,.40), 0 0 0 1px rgba(230,194,122,.06);
}
.shield-service-card--expand:hover::before { opacity:1; transform:scale(1.08); }
.shield-service-card--expand strong,
.shield-service-card__text,
.shield-service-card__reveal,
.shield-service-card__more { position:relative; z-index:2; }
.shield-service-card__text {
    margin:0;
    color:rgba(244,246,247,.67);
    font-size:14px;
    line-height:1.42;
    font-weight:560;
}
.shield-service-card__reveal {
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .44s ease, opacity .34s ease;
}
.shield-service-card--expand:hover .shield-service-card__reveal,
.shield-service-card--expand:focus-visible .shield-service-card__reveal {
    grid-template-rows:1fr;
    opacity:1;
}
.shield-service-card__reveal ul {
    overflow:hidden;
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px;
}
.shield-service-card__reveal li {
    position:relative;
    padding-left:17px;
    color:rgba(244,246,247,.72);
    font-size:13px;
    line-height:1.28;
}
.shield-service-card__reveal li::before {
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#e6c27a;
    box-shadow:0 0 16px rgba(230,194,122,.45);
}
.shield-service-card__more {
    display:inline-flex;
    align-items:center;
    margin-top:auto;
    color:#f4f6f7;
    font-size:13px;
    font-weight:900;
    letter-spacing:.04em;
    transition:transform .28s ease, color .28s ease;
}
.shield-service-card--expand:hover .shield-service-card__more { transform:translateX(7px); color:#e6c27a; }
.service-card--lsi { min-height:330px; }
.service-card--lsi .card-link { z-index:5; }
.service-card__reveal {
    display:grid;
    grid-template-rows:0fr;
    opacity:0;
    transition:grid-template-rows .36s ease, opacity .28s ease;
    position:relative;
    z-index:1;
}
.service-card--lsi:hover .service-card__reveal,
.service-card--lsi:focus-within .service-card__reveal {
    grid-template-rows:1fr;
    opacity:1;
}
.service-card__reveal ul {
    overflow:hidden;
    list-style:none;
    margin:0 0 18px;
    padding:0;
    display:grid;
    gap:9px;
}
.service-card__reveal li {
    position:relative;
    padding-left:18px;
    color:rgba(244,246,247,.68);
    font-size:14px;
    line-height:1.34;
}
.service-card__reveal li::before {
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#e6c27a;
}
@media (max-width:1040px) {
    .shield-service-card--expand { min-height:220px; }
}
@media (max-width:640px) {
    .shield-service-card--expand { min-height:auto; }
    .shield-service-card__reveal,
    .service-card__reveal { grid-template-rows:1fr; opacity:1; }
    .shield-services__grid--interactive::before { display:none; }
}

/* --------------------------------------------------------------------------
   V2.4 Hybrid judicial practice: AJAX UX + crawlable pagination
   -------------------------------------------------------------------------- */
.cases-section {
    position:relative;
    overflow:hidden;
    background:#07090c;
    color:#f4f6f7;
}
.cases-section:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 18% 16%, rgba(217,39,46,.12), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(230,194,122,.08), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 38%);
}
.cases-section > .container { position:relative; z-index:2; }
.cases-section__head { align-items:start; }
.cases-section__lead {
    max-width:780px;
    margin:16px 0 0;
    color:rgba(244,246,247,.64);
    font-size:17px;
    line-height:1.62;
}
.cases-grid.cards-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}
.case-card--practice {
    min-height:300px;
    background:linear-gradient(180deg, rgba(24,29,35,.96), rgba(12,15,19,.98));
    border-color:rgba(255,255,255,.105);
    box-shadow:0 18px 48px rgba(0,0,0,.26);
}
.case-card--practice:before {
    content:"";
    position:absolute;
    top:-80px;
    right:-80px;
    width:180px;
    height:180px;
    border-radius:999px;
    background:rgba(217,39,46,.09);
    filter:blur(24px);
    opacity:.55;
    transition:opacity .25s ease, transform .25s ease;
}
.case-card--practice:hover:before {
    opacity:.95;
    transform:scale(1.12);
}
.case-card__top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}
.case-card__top .card-kicker { margin:0; color:#e6c27a; }
.case-card__service {
    position:relative;
    z-index:3;
    display:inline-flex;
    max-width:48%;
    color:rgba(244,246,247,.54);
    font-size:11px;
    line-height:1.25;
    text-align:right;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:850;
}
.case-card--practice h3 { position:relative; z-index:3; font-size:clamp(22px, 2vw, 30px); }
.case-card--practice p { position:relative; z-index:3; color:rgba(244,246,247,.66); }
.case-card__result {
    position:relative;
    z-index:3;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.09);
    color:#fff;
    line-height:1.35;
}
.case-card--practice .card-more { position:relative; z-index:3; color:#e6c27a; }
.cases-actions {
    margin-top:34px;
    display:grid;
    justify-items:center;
    gap:18px;
}
.cases-load-more {
    min-width:210px;
    border-radius:4px;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.cases-load-more.is-loading { opacity:.72; cursor:wait; }
.visually-hidden-seo {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}
.classic-pagination-seo--visible {
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    clip-path:none;
    white-space:normal;
}
.classic-pagination-seo .page-numbers {
    color:rgba(244,246,247,.68);
}
.classic-pagination-seo .page-numbers.current {
    color:#fff;
}
@media (max-width:1040px) {
    .cases-grid.cards-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px) {
    .cases-section__head { display:block; }
    .cases-section__lead { font-size:15px; }
    .cases-grid.cards-grid { grid-template-columns:1fr; }
    .case-card__top { display:block; }
    .case-card__service { max-width:100%; margin-top:8px; text-align:left; }
    .cases-load-more { width:100%; }
}

/* --------------------------------------------------------------------------
   V2.5 Case analytics cards: text evidence instead of scans
   -------------------------------------------------------------------------- */
.case-card--analytics {
    min-height:430px;
    background:linear-gradient(180deg, rgba(18,20,24,.98), rgba(8,10,13,.99));
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    padding:28px;
    display:flex;
    flex-direction:column;
    gap:18px;
    box-shadow:0 22px 60px rgba(0,0,0,.28);
    transition:border-color .25s ease, transform .25s ease, background .25s ease;
}
.case-card--analytics:hover {
    border-color:rgba(255,255,255,.24);
    transform:translateY(-2px);
    background:linear-gradient(180deg, rgba(24,27,32,.98), rgba(10,12,16,.99));
}
.case-card--analytics:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 92% 4%, rgba(217,39,46,.16), transparent 32%);
    opacity:.55;
    transition:opacity .25s ease;
}
.case-card--analytics:hover:before { opacity:.95; }
.case-card--analytics > *:not(.card-link) { position:relative; z-index:3; }
.case-card--analytics .case-card__top {
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin:0 0 2px;
}
.case-card__article {
    display:inline-flex;
    width:max-content;
    max-width:100%;
    border:1px solid rgba(230,194,122,.28);
    background:rgba(230,194,122,.055);
    color:#e6c27a !important;
    padding:7px 10px;
    border-radius:4px;
}
.case-card--analytics .case-card__service {
    max-width:44%;
    color:rgba(244,246,247,.46);
    font-size:10px;
    line-height:1.35;
    letter-spacing:.12em;
}
.case-card--analytics h3 {
    margin:0;
    font-size:clamp(20px, 1.8vw, 27px);
    line-height:1.08;
    color:#fff;
    letter-spacing:-.035em;
}
.case-card__fact {
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:16px;
}
.case-card__fact span,
.case-card__result-panel span,
.case-analysis-label,
.case-side-note span {
    display:block;
    margin-bottom:7px;
    color:rgba(244,246,247,.38);
    font-size:10px;
    font-weight:850;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.case-card__fact p {
    margin:0;
    color:rgba(244,246,247,.72);
    font-size:14px;
    line-height:1.58;
}
.case-card__risk p { color:#f3d3d4; }
.case-card__result-panel {
    margin-top:auto;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.105);
    border-radius:8px;
    padding:16px;
}
.case-card__result-panel strong {
    display:block;
    color:#fff;
    font-size:15px;
    line-height:1.42;
}
.case-card--analytics .card-more {
    color:#e6c27a;
    font-size:12px;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.case-analytics-summary {
    display:grid;
    gap:12px;
}
.case-analytics-summary p {
    margin:0 0 10px;
    color:rgba(244,246,247,.72);
    font-size:14px;
    line-height:1.5;
}
.case-analytics-article {
    counter-reset:case-section;
}
.case-analysis-block {
    position:relative;
    margin:0 0 42px;
    padding:0 0 36px;
    border-bottom:1px solid rgba(255,255,255,.09);
}
.case-analysis-block:last-child { border-bottom:0; }
.case-analysis-block h2 {
    margin-top:0;
    color:#fff;
}
.case-analysis-label { color:#e6c27a; }
.case-analysis-note {
    margin-top:18px;
    padding:20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    background:rgba(255,255,255,.045);
}
.case-analysis-note strong {
    color:#fff;
}
.case-result-inline {
    display:inline-flex;
    margin:6px 0 18px;
    padding:12px 15px;
    border-radius:8px;
    background:rgba(217,39,46,.13);
    border:1px solid rgba(217,39,46,.28);
    color:#fff;
    font-weight:850;
}
.case-keywords {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:0 !important;
    margin:18px 0 0 !important;
    list-style:none !important;
}
.case-keywords li {
    margin:0 !important;
    padding:9px 12px;
    border:1px solid rgba(230,194,122,.24);
    border-radius:999px;
    color:rgba(244,246,247,.76);
    background:rgba(230,194,122,.055);
    font-size:13px;
}
.case-side-note {
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.10);
}
.case-side-note p {
    margin:0;
    color:rgba(244,246,247,.56);
    font-size:13px;
    line-height:1.55;
}
@media (max-width:640px) {
    .case-card--analytics { min-height:auto; padding:22px; }
    .case-card--analytics .case-card__top { display:block; }
    .case-card--analytics .case-card__service { max-width:100%; margin-top:10px; text-align:left; }
    .case-keywords { display:grid; }
}

/* =========================================================
   V9: GSAP алгоритм защиты — последовательный поток действий
   ========================================================= */
.algorithm-block {
    background:
        radial-gradient(circle at 14% 16%, rgba(217,39,46,.16), transparent 28%),
        radial-gradient(circle at 78% 18%, rgba(255,255,255,.08), transparent 24%),
        linear-gradient(180deg, #07090c 0%, #0b0d10 100%);
    color:#f4f6f7;
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.algorithm-block:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 120px 120px,
        linear-gradient(180deg, rgba(255,255,255,.026) 1px, transparent 1px) 0 0 / 120px 120px;
    mask-image:linear-gradient(180deg, transparent, #000 14%, #000 82%, transparent);
    pointer-events:none;
}
.algorithm-head {
    position:relative;
    z-index:2;
    max-width:920px;
    margin-bottom:44px;
}
.algorithm-head p:not(.eyebrow) {
    max-width:760px;
    margin:18px 0 0;
    color:rgba(244,246,247,.68);
    font-size:18px;
}
.algorithm-flow {
    position:relative;
    z-index:2;
    min-height:330px;
    padding:54px 0 8px;
}
.algorithm-line-svg {
    position:absolute;
    left:0;
    right:0;
    top:26px;
    width:100%;
    height:120px;
    overflow:visible;
    pointer-events:none;
}
.algorithm-line-svg path {
    fill:none;
    stroke-linecap:round;
    stroke-width:4;
}
.algorithm-line-base {
    stroke:rgba(255,255,255,.10);
}
.algorithm-line-svg .draw-path {
    stroke:#d9272e;
    filter:drop-shadow(0 0 18px rgba(217,39,46,.34));
}
.algorithm-steps {
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
}
.algorithm-step {
    min-height:238px;
    padding:0 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.algorithm-step-node {
    width:74px;
    height:74px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.045);
    color:rgba(255,255,255,.74);
    font-size:17px;
    font-weight:950;
    letter-spacing:.08em;
    box-shadow:0 0 0 9px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
    transition:border-color .36s ease, background .36s ease, color .36s ease, box-shadow .36s ease, transform .36s ease;
}
.algorithm-step-text {
    margin-top:32px;
    padding:24px 20px 22px;
    width:100%;
    min-height:150px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 46px rgba(0,0,0,.20);
    backdrop-filter:blur(12px);
    transition:border-color .36s ease, background .36s ease, transform .36s ease;
}
.algorithm-step-text h3 {
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:20px;
    text-transform:uppercase;
    letter-spacing:-.02em;
}
.algorithm-step-text p {
    margin:12px 0 0;
    color:rgba(244,246,247,.58);
    font-size:14px;
    line-height:1.55;
}
.algorithm-step.is-active .algorithm-step-node {
    border-color:rgba(217,39,46,.96);
    background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.18), rgba(217,39,46,.32));
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 0 0 9px rgba(217,39,46,.12), 0 0 34px rgba(217,39,46,.38), inset 0 1px 0 rgba(255,255,255,.18);
}
.algorithm-step.is-active .algorithm-step-text {
    border-color:rgba(217,39,46,.32);
    background:linear-gradient(180deg, rgba(255,255,255,.086), rgba(255,255,255,.04));
    transform:translateY(-2px);
}
.algorithm-step.is-active .algorithm-step-text h3 { color:#fff; }
.algorithm-step.is-active .algorithm-step-text p { color:rgba(244,246,247,.76); }
.algorithm-block:not(.algorithm-block--ready) .algorithm-line-svg .draw-path { stroke-dashoffset:0 !important; }

/* мини-алгоритм в первом экране */
.shield-algorithm-line { background:rgba(255,255,255,.16); }
.shield-algorithm-line .shield-algorithm-flow {
    display:block;
    width:100%;
    height:100%;
    transform-origin:left center;
    background:linear-gradient(90deg, rgba(217,39,46,.96), rgba(255,255,255,.82));
    box-shadow:0 0 22px rgba(217,39,46,.28);
}
.shield-algorithm-step { transition:opacity .32s ease, transform .32s ease; }
.shield-algorithm-step.is-active .shield-algorithm-icon {
    border-color:rgba(217,39,46,.92);
    background:rgba(217,39,46,.22);
    color:#fff;
    box-shadow:0 0 0 6px rgba(217,39,46,.10), 0 0 26px rgba(217,39,46,.32);
}
.shield-algorithm-step.is-active .shield-algorithm-text { color:#fff; }

@media (max-width:920px) {
    .algorithm-flow { padding-top:10px; min-height:auto; }
    .algorithm-line-svg { display:none; }
    .algorithm-steps { grid-template-columns:1fr; }
    .algorithm-step {
        min-height:auto;
        display:grid;
        grid-template-columns:74px 1fr;
        gap:18px;
        align-items:start;
        text-align:left;
        padding:0;
    }
    .algorithm-step-text { margin-top:0; }
}
@media (max-width:640px) {
    .algorithm-head p:not(.eyebrow) { font-size:16px; }
    .algorithm-step { grid-template-columns:58px 1fr; gap:14px; }
    .algorithm-step-node { width:58px; height:58px; font-size:14px; }
    .algorithm-step-text { padding:20px 18px; }
    .algorithm-step-text h3 { font-size:18px; }
}

/* --------------------------------------------------------------------------
   V2.7 Actual practices section: replaces duplicated services block
   -------------------------------------------------------------------------- */
.actual-practices-section {
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 14% 18%, rgba(217,39,46,.12), transparent 28%),
        radial-gradient(circle at 86% 8%, rgba(230,194,122,.10), transparent 30%),
        #07090c;
    border-top:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.actual-practices-section:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, transparent 0 49.9%, rgba(255,255,255,.035) 50%, transparent 50.1% 100%);
    pointer-events:none;
}
.actual-practices { position:relative; z-index:1; }
.actual-practices__head {
    max-width:980px;
    margin-bottom:34px;
}
.actual-practices__head h2 {
    color:#fff;
    max-width:980px;
    text-wrap:balance;
}
.actual-practices__lead {
    max-width:860px;
    margin:18px 0 0;
    color:rgba(244,246,247,.70);
    font-size:18px;
}
.actual-practices__layout {
    display:grid;
    grid-template-columns:minmax(0, .96fr) minmax(420px, .84fr);
    gap:28px;
    align-items:start;
}
.actual-practices__content {
    border:1px solid rgba(255,255,255,.11);
    border-radius:30px;
    padding:34px;
    background:linear-gradient(180deg, rgba(24,29,35,.78), rgba(10,13,17,.88));
    box-shadow:0 26px 70px rgba(0,0,0,.30);
}
.actual-practices__content h3 {
    color:#fff;
    font-size:clamp(26px, 2.6vw, 38px);
    margin-bottom:18px;
}
.actual-practices__content p {
    color:rgba(244,246,247,.72);
    margin:0 0 17px;
    font-size:16px;
    line-height:1.75;
}
.actual-practices__keywords {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.10);
}
.actual-practices__keywords span,
.actual-practice-card__keys span {
    display:inline-flex;
    align-items:center;
    min-height:30px;
    border:1px solid rgba(230,194,122,.18);
    border-radius:999px;
    padding:6px 10px;
    color:rgba(230,194,122,.90);
    background:rgba(230,194,122,.055);
    font-size:12px;
    font-weight:850;
}
.actual-practices__routes {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.actual-practice-card {
    position:relative;
    min-height:260px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;
    padding:22px;
    background:linear-gradient(180deg, rgba(29,35,42,.90), rgba(13,16,21,.94));
    overflow:hidden;
    transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.actual-practice-card:before {
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    top:-70px;
    right:-72px;
    border-radius:50%;
    background:rgba(217,39,46,.10);
    filter:blur(16px);
    opacity:.55;
    transition:opacity .24s ease, transform .24s ease;
}
.actual-practice-card:hover {
    transform:translateY(-4px);
    border-color:rgba(217,39,46,.40);
    box-shadow:0 18px 54px rgba(0,0,0,.34);
}
.actual-practice-card:hover:before { opacity:.90; transform:scale(1.08); }
.actual-practice-card__kicker {
    position:relative;
    z-index:1;
    display:block;
    color:#e6c27a;
    font-size:11px;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.actual-practice-card h3 {
    position:relative;
    z-index:1;
    color:#fff;
    font-size:22px;
    margin:0;
}
.actual-practice-card p {
    position:relative;
    z-index:1;
    color:rgba(244,246,247,.66);
    font-size:14px;
    line-height:1.55;
    margin:14px 0 18px;
}
.actual-practice-card__keys {
    position:relative;
    z-index:1;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:auto;
}
.actual-practice-card__keys span {
    min-height:26px;
    padding:4px 8px;
    font-size:11px;
    border-color:rgba(255,255,255,.10);
    color:rgba(244,246,247,.70);
    background:rgba(255,255,255,.045);
}
.actual-practice-card__more {
    position:relative;
    z-index:1;
    display:inline-flex;
    margin-top:18px;
    color:#fff;
    font-size:13px;
    font-weight:950;
}
.actual-practice-card__more:hover { color:#e6c27a; }

@media (max-width:1100px) {
    .actual-practices__layout { grid-template-columns:1fr; }
    .actual-practices__routes { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:720px) {
    .actual-practices__content { padding:24px; border-radius:24px; }
    .actual-practices__routes { grid-template-columns:1fr; }
    .actual-practice-card { min-height:auto; }
}

/* V11: non-duplicating urgent defense section instead of the second algorithm block */
.urgent-defense-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 10%, rgba(227,30,36,.10), transparent 34%),
        linear-gradient(180deg, #070a0c 0%, #090d10 100%);
    border-top: 1px solid rgba(255,255,255,.04);
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.urgent-defense-section:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 72px 72px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 78%, transparent 100%);
}
.urgent-defense__head {
    position: relative;
    z-index: 1;
    max-width: 960px;
}
.urgent-defense__head h2 {
    margin: 0;
    max-width: 900px;
    font-size: clamp(38px, 5vw, 72px);
    line-height: .96;
    letter-spacing: -.055em;
    color: #fff;
}
.urgent-defense__head p:not(.eyebrow) {
    max-width: 820px;
    margin: 24px 0 0;
    color: rgba(232,238,242,.72);
    font-size: 19px;
    line-height: 1.72;
}
.urgent-defense__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
}
.urgent-defense-card {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
        #11161b;
    box-shadow: 0 24px 70px rgba(0,0,0,.32);
    transition: transform .35s ease, border-color .35s ease, background .35s ease;
}
.urgent-defense-card:hover {
    transform: translateY(-6px);
    border-color: rgba(227,30,36,.42);
    background:
        radial-gradient(circle at 80% 0%, rgba(227,30,36,.13), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
        #12181d;
}
.urgent-defense-card__kicker {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 22px;
    color: #ffd36d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.urgent-defense-card h3 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 26px;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.urgent-defense-card p {
    margin: 0;
    color: rgba(232,238,242,.70);
    font-size: 15px;
    line-height: 1.72;
}
.urgent-defense-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    padding-top: 28px;
}
.urgent-defense-card__tags span {
    display: inline-flex;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    color: rgba(255,255,255,.70);
    background: rgba(255,255,255,.035);
    font-size: 12px;
    line-height: 1;
}
@media (max-width: 1100px) {
    .urgent-defense__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .urgent-defense__head h2 { font-size: 38px; line-height: 1.02; }
    .urgent-defense__head p:not(.eyebrow) { font-size: 16px; }
    .urgent-defense__grid { grid-template-columns: 1fr; gap: 14px; }
    .urgent-defense-card { min-height: auto; padding: 24px; border-radius: 22px; }
    .urgent-defense-card h3 { font-size: 23px; }
}

/* Consultation popup */
.consultation-open { overflow:hidden; }
.consultation-modal { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:24px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, visibility .22s ease; }
.consultation-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.consultation-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(10px); }
.consultation-modal__dialog { position:relative; width:min(100%, 620px); max-height:calc(100vh - 48px); overflow:auto; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:linear-gradient(180deg, rgba(22,24,29,.98), rgba(10,10,12,.98)); color:#fff; box-shadow:0 30px 120px rgba(0,0,0,.65); padding:32px; transform:translateY(16px) scale(.98); transition:transform .22s ease; }
.consultation-modal.is-open .consultation-modal__dialog { transform:translateY(0) scale(1); }
.consultation-modal__close { position:absolute; top:14px; right:14px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.consultation-modal__close:hover { background:rgba(255,255,255,.12); }
.consultation-modal__eyebrow { margin:0 0 10px; color:#e31e24; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:900; }
.consultation-modal h2 { margin:0 0 12px; font-size:clamp(28px, 4vw, 42px); line-height:1.05; color:#fff; }
.consultation-modal p { color:rgba(255,255,255,.68); }
.consultation-form { display:grid; gap:14px; margin-top:22px; }
.consultation-form__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.consultation-form__field { display:grid; gap:7px; color:rgba(255,255,255,.82); font-size:13px; font-weight:800; }
.consultation-form__field input,
.consultation-form__field textarea,
.consultation-form__field select { width:100%; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.06); color:#fff; padding:13px 14px; font:inherit; outline:none; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.consultation-form__field select option { color:#111; }
.consultation-form__field textarea { resize:vertical; min-height:105px; }
.consultation-form__field input:focus,
.consultation-form__field textarea:focus,
.consultation-form__field select:focus { border-color:rgba(227,30,36,.75); background:rgba(255,255,255,.08); box-shadow:0 0 0 4px rgba(227,30,36,.12); }
.consultation-form__field--hidden { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consultation-form__submit { border:0; border-radius:14px; background:linear-gradient(180deg, #f1343a, #cf2027); color:#fff; padding:15px 20px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; box-shadow:0 18px 38px rgba(227,30,36,.25); }
.consultation-form__submit:disabled { opacity:.65; cursor:wait; }
.consultation-form__note { margin:0; font-size:12px; line-height:1.55; color:rgba(255,255,255,.48); }
.consultation-form__status { min-height:22px; font-weight:800; font-size:14px; }
.consultation-form__status.is-success { color:#8ee6a6; }
.consultation-form__status.is-error { color:#ff8b8f; }
@media (max-width: 640px) {
  .consultation-modal { padding:14px; align-items:end; }
  .consultation-modal__dialog { padding:26px 18px 20px; border-radius:22px 22px 0 0; max-height:92vh; width:100%; }
  .consultation-form__row { grid-template-columns:1fr; }
}

/* V17: actual practices are pulled from published service pages and limited to 7 random cards */
.actual-practices__cards {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    align-items:stretch;
}
.actual-practice-card__overlay {
    position:absolute;
    inset:0;
    z-index:2;
    border-radius:inherit;
}
.actual-practice-card > :not(.actual-practice-card__overlay) {
    pointer-events:none;
}
.actual-practice-card__more {
    pointer-events:auto !important;
}
.actual-practice-card {
    min-height:220px;
    padding:20px;
}
.actual-practice-card h3 {
    font-size:clamp(18px, 1.25vw, 22px);
    line-height:1.08;
}
.actual-practice-card p {
    font-size:13px;
    margin:12px 0 14px;
}
.actual-practice-card__kicker {
    margin-bottom:10px;
}
@media (max-width:900px) {
    .actual-practices__cards { grid-template-columns:1fr; }
}
.actual-practice-card__more { position:relative; z-index:3; }

/* V3.3 Services: show 8 cards first, reveal remaining 4 by button */
.shield-services__actions {
    display:flex;
    justify-content:center;
    margin-top:20px;
}
.shield-services__more {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 24px;
    border-radius:10px;
    border:1px solid rgba(230,194,122,.34);
    background:rgba(230,194,122,.08);
    color:#f5d48d;
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.shield-services__more:hover,
.shield-services__more:focus-visible {
    background:rgba(230,194,122,.14);
    border-color:rgba(230,194,122,.62);
    color:#fff;
    transform:translateY(-1px);
}
.shield-service-card--extra[hidden] { display:none !important; }
.shield-service-card--extra.is-revealed {
    animation:shieldServiceReveal .38s ease both;
}
@keyframes shieldServiceReveal {
    from { opacity:0; transform:translateY(12px); }
    to { opacity:1; transform:translateY(0); }
}
@media (max-width: 760px) {
    .shield-services__more { width:100%; }
}

/* =========================================================
   V4.3.2: desktop header fit fix after adding “Статьи”
   Keeps all existing menu items, prevents the last item from
   going under the emergency CTA, and switches to burger earlier.
   ========================================================= */
.site-header--shield .header-grid {
    grid-template-columns:minmax(300px, auto) minmax(0, 1fr) auto;
    gap:clamp(12px, 1.25vw, 22px);
}
.site-header--shield .primary-nav {
    min-width:0;
    width:100%;
    justify-self:stretch;
}
.site-header--shield .primary-menu {
    min-width:0;
    justify-content:flex-end;
    gap:clamp(12px, 1.25vw, 22px);
}
.site-header--shield .primary-menu a {
    font-size:clamp(11px, .72vw, 13px);
    letter-spacing:clamp(.035em, .24vw, .08em);
}
.site-header--shield .header-actions {
    flex:0 0 auto;
    position:relative;
    z-index:2;
}
.site-header--shield .header-emergency {
    white-space:nowrap;
    padding-inline:clamp(14px, 1.25vw, 22px);
}

@media (max-width:1420px) {
    .site-header--shield .container { width:min(100% - 32px, var(--shield-max)); }
    .site-header--shield .header-grid { grid-template-columns:minmax(280px, auto) minmax(0, 1fr) auto; gap:14px; }
    .site-header--shield .primary-menu { gap:13px; }
    .site-header--shield .primary-menu a { font-size:11px; letter-spacing:.045em; }
    .site-header--shield .site-brand__name { font-size:18px; }
    .site-header--shield .site-brand__tagline { font-size:9px; letter-spacing:.10em; }
    .site-header--shield .header-emergency { min-height:40px; padding-inline:12px; font-size:11px; letter-spacing:.035em; }
}

@media (max-width:1180px) {
    .site-header--shield { height:76px; }
    .site-main { padding-top:76px; }
    .home .site-main { padding-top:0; }
    .site-header--shield .header-grid { min-height:76px; grid-template-columns:auto auto; }
    .site-header--shield .site-brand__name { font-size:18px; }
    .site-header--shield .site-brand__tagline { font-size:9px; letter-spacing:.11em; }
    .site-header--shield .brand-mark { width:44px; height:44px; flex-basis:44px; }
    .site-header--shield .menu-toggle { display:block; justify-self:end; }
    .site-header--shield .primary-nav {
        grid-column:1 / -1;
        display:none;
        position:absolute;
        top:76px;
        left:0;
        right:0;
        width:auto;
        background:rgba(4,7,9,.98);
        border-bottom:1px solid rgba(255,255,255,.08);
        padding:8px 24px 22px;
    }
    .site-header--shield .primary-nav.is-open { display:block; }
    .site-header--shield .primary-menu {
        align-items:flex-start;
        flex-direction:column;
        justify-content:flex-start;
        gap:0;
    }
    .site-header--shield .primary-menu a { min-height:44px; font-size:13px; letter-spacing:.07em; }
    .site-header--shield .primary-menu a:after { display:none; }
    .site-header--shield .header-actions { display:none; }
}


/* 152-ФЗ / consent / cookies compliance */
.consultation-form__consent { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:2px 0 0; color:rgba(255,255,255,.72); font-size:12px; line-height:1.45; }
.consultation-form__consent input { width:18px; height:18px; margin:2px 0 0; accent-color:#e31e24; }
.consultation-form__consent a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.consultation-form__consent a:hover { color:#ffb8bb; }
.legal-cookie-notice { position:fixed; left:18px; right:18px; bottom:18px; z-index:9998; width:min(100% - 36px, 980px); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(14,15,18,.96); color:#fff; box-shadow:0 20px 70px rgba(0,0,0,.45); backdrop-filter:blur(12px); }
.legal-cookie-notice[hidden] { display:none !important; }
.legal-cookie-notice__text { color:rgba(255,255,255,.74); font-size:13px; line-height:1.55; }
.legal-cookie-notice__text a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.legal-cookie-notice__button { flex:0 0 auto; border:0; border-radius:999px; background:#e31e24; color:#fff; padding:10px 16px; font-weight:900; cursor:pointer; }
.legal-cookie-notice__button:hover { filter:brightness(1.08); }
.footer-compliance { margin-top:12px; }
.footer-legal-links { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:12px; color:rgba(255,255,255,.52); }
.footer-legal-links a { color:rgba(255,255,255,.64); text-decoration:none; }
.footer-legal-links a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.legal-compliance-content { max-width:900px; margin:0 auto; }
.legal-compliance-content h1 { margin-bottom:18px; }
.legal-compliance-content h2 { margin-top:30px; }
.legal-compliance-content p { line-height:1.72; }
@media (max-width: 680px) {
  .legal-cookie-notice { left:10px; right:10px; bottom:10px; width:auto; flex-direction:column; align-items:flex-start; border-radius:16px; }
  .legal-cookie-notice__button { width:100%; }
}

/* 152-ФЗ pages: force readable output on legal document pages */
.legal-compliance-hero p {
    max-width: 760px;
    color: rgba(244,246,247,.72);
}
.legal-compliance-section {
    background: #07090c;
}
.legal-compliance-prose,
.legal-compliance-prose .legal-compliance-content {
    display: block;
    visibility: visible;
    opacity: 1;
    color: rgba(244,246,247,.82);
}
.legal-compliance-content {
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(24,29,35,.96), rgba(14,17,21,.98));
    box-shadow: 0 24px 70px rgba(0,0,0,.30);
}
.legal-compliance-content p,
.legal-compliance-content li {
    color: rgba(244,246,247,.78) !important;
}
.legal-compliance-content h2,
.legal-compliance-content h3,
.legal-compliance-content strong {
    color: #fff !important;
}
.legal-compliance-content a {
    color: #e6c27a !important;
    border-bottom: 1px solid currentColor;
}
