:root{
    --bg:#0f1115;
    --bg-soft:#141923;
    --card:#171c26;
    --line:#2a3244;
    --text:#f5f7fb;
    --muted:#b8c1d1;
    --white:#ffffff;
    --shadow:0 20px 60px rgba(0,0,0,.28);
    --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family: Arial, Helvetica, sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.06), transparent 28%),
        linear-gradient(180deg, #0d1015 0%, #0f1115 100%);
    line-height:1.55;
}
a{color:var(--text);text-decoration:none}
img{display:block;max-width:100%}
.wrap{
    width:min(1180px, calc(100% - 32px));
    margin:0 auto;
}
.header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter: blur(10px);
    background:rgba(13,16,21,.82);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.header__inner{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.logo{
    font-weight:800;
    font-size:18px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.nav{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}
.nav a{
    color:var(--muted);
    font-size:15px;
}
.header__phone{
    font-weight:700;
    white-space:nowrap;
}
.hero{
    padding:54px 0 34px;
}
.hero__grid{
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap:38px;
    align-items:center;
}
.tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.12);
    padding:10px 14px;
    border-radius:999px;
    color:var(--muted);
    background:rgba(255,255,255,.03);
    margin-bottom:18px;
}
h1{
    font-size:clamp(38px, 6vw, 70px);
    line-height:.98;
    margin:0 0 10px;
}
.hero__subtitle{
    font-size:clamp(22px, 3vw, 32px);
    margin-bottom:18px;
}
.hero__lead{
    font-size:18px;
    color:var(--muted);
    max-width:720px;
    margin:0 0 20px;
}
.chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 18px;
}
.chips span{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    font-size:14px;
}
.hero__list{
    margin:0 0 28px;
    padding-left:20px;
    color:var(--muted);
}
.hero__list li{margin-bottom:10px}
.hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.btn{
    min-height:54px;
    padding:0 22px;
    border-radius:16px;
    border:1px solid transparent;
    font-weight:700;
    font-size:16px;
    cursor:pointer;
    transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn--primary{
    background:var(--white);
    color:#11151c;
    box-shadow:var(--shadow);
}
.btn--ghost{
    background:rgba(255,255,255,.04);
    border-color:rgba(255,255,255,.1);
    color:var(--text);
}
.contact-drawer{
    margin-top:18px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    padding:16px 18px;
    border-radius:20px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}
.is-hidden{display:none !important}
.link-like{
    appearance:none;
    border:none;
    background:none;
    padding:0;
    color:var(--text);
    cursor:pointer;
    font:inherit;
}
.hero__photo{
    justify-self:end;
    width:min(490px, 100%);
}
.hero__photo img{
    width:100%;
    border-radius:34px;
    border:1px solid rgba(255,255,255,.1);
    box-shadow:var(--shadow);
}
.section{
    padding:46px 0;
}
.section--soft{
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
    border-top:1px solid rgba(255,255,255,.04);
    border-bottom:1px solid rgba(255,255,255,.04);
}
.section-head{
    margin-bottom:24px;
}
.section-head h2{
    margin:0 0 8px;
    font-size:clamp(30px, 4vw, 44px);
}
.section-head p{
    margin:0;
    color:var(--muted);
    max-width:820px;
}
.cards{
    display:grid;
    gap:18px;
}
.cards--2{grid-template-columns:repeat(2, minmax(0,1fr))}
.cards--3{grid-template-columns:repeat(3, minmax(0,1fr))}
.cards--4{grid-template-columns:repeat(4, minmax(0,1fr))}
.card{
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius);
    padding:24px;
    box-shadow:var(--shadow);
}
.card h3{
    margin:0 0 10px;
    font-size:22px;
}
.card p,
.card li,
.contact-card span{
    color:var(--muted);
}
.card ul{
    padding-left:18px;
    margin:0;
}
.steps{
    display:grid;
    grid-template-columns:repeat(5, minmax(0,1fr));
    gap:16px;
}
.step{
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:20px;
}
.step span{
    display:inline-flex;
    width:36px;
    height:36px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--white);
    color:#11151c;
    font-weight:800;
    margin-bottom:12px;
}
.step strong{
    display:block;
    margin-bottom:8px;
}
.step p{
    margin:0;
    color:var(--muted);
}
.calc-form{
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.08);
    border-radius:32px;
    padding:24px;
    box-shadow:var(--shadow);
}
.grid{
    display:grid;
    gap:16px;
}
.grid--2{grid-template-columns:repeat(2, minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3, minmax(0,1fr))}
.field--full{grid-column:1/-1}
.field span{
    display:block;
    font-weight:700;
    margin-bottom:8px;
}
.field input,
.field select{
    width:100%;
    min-height:54px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.1);
    background:#0d1118;
    color:var(--text);
    padding:14px 16px;
    font-size:16px;
    outline:none;
}
.field input::placeholder{color:#93a0b7}
.result{
    margin:22px 0;
    padding:22px;
    border-radius:24px;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.08);
}
.result__label{
    color:var(--muted);
    margin-bottom:8px;
}
.result__value{
    font-size:clamp(30px, 5vw, 48px);
    line-height:1;
    font-weight:800;
    margin-bottom:12px;
}
.result p{
    margin:8px 0 0;
    color:var(--muted);
}
.result__accent{
    color:var(--text) !important;
    font-weight:700;
}
.consent{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:20px 0 18px;
    color:var(--muted);
}
.consent input{
    width:18px;
    height:18px;
    margin-top:4px;
}
.form-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.disclaimer{
    margin-top:14px;
    color:var(--muted);
    font-size:14px;
}
.notice{
    padding:16px 18px;
    border-radius:18px;
    margin-bottom:18px;
    border:1px solid transparent;
}
.notice--success{
    background:rgba(34,90,49,.25);
    border-color:rgba(70,153,89,.45);
}
.notice--error{
    background:rgba(120,37,37,.22);
    border-color:rgba(184,76,76,.45);
}
.trust-card .doc-link{
    display:inline-flex;
    margin-top:12px;
    padding:12px 16px;
    border-radius:14px;
    background:var(--white);
    color:#11151c;
    font-weight:700;
}
.contact-card{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.contact-card strong{
    font-size:18px;
}
.contact-card--button{
    text-align:left;
    color:var(--text);
    cursor:pointer;
}
.email-line{
    margin-top:18px;
    font-size:20px;
}
.footer{
    border-top:1px solid rgba(255,255,255,.08);
    padding:28px 0 42px;
}
.footer__grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:16px;
}
.footer__title{
    font-weight:800;
    margin-bottom:8px;
}
.modal{
    position:fixed;
    inset:0;
    z-index:100;
}
.modal__bg{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
}
.modal__body{
    position:relative;
    z-index:2;
    width:min(520px, calc(100% - 24px));
    margin:7vh auto 0;
    background:#151a23;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    padding:26px;
    box-shadow:var(--shadow);
}
.modal__close{
    position:absolute;
    top:10px;
    right:14px;
    border:none;
    background:none;
    color:var(--text);
    font-size:34px;
    line-height:1;
    cursor:pointer;
}
.modal__body img{
    width:min(320px, 100%);
    margin:16px auto 0;
    border-radius:18px;
}
.privacy-body{
    background:var(--bg);
}
.privacy{
    max-width:900px;
    padding:38px 0 60px;
}
.privacy h1{font-size:42px;line-height:1.05}
.privacy h2{margin-top:28px}
@media (max-width: 1100px){
    .steps{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width: 980px){
    .hero__grid,
    .cards--3,
    .cards--4,
    .grid--3,
    .footer__grid{
        grid-template-columns:1fr;
    }
    .cards--2,
    .grid--2{
        grid-template-columns:1fr;
    }
    .hero__photo{
        justify-self:start;
        width:min(420px, 100%);
    }
    .nav{display:none}
}
@media (max-width: 640px){
    .wrap{width:min(100% - 24px, 1180px)}
    .header__inner{
        min-height:66px;
        gap:10px;
    }
    .header__phone{
        font-size:14px;
    }
    .hero{
        padding-top:28px;
    }
    h1{font-size:42px}
    .hero__subtitle{font-size:24px}
    .hero__lead{font-size:17px}
    .steps{grid-template-columns:1fr}
    .btn{width:100%}
    .contact-drawer{flex-direction:column}
}
