.tool-hero {
    padding: 64px 0 42px;
    background: linear-gradient(135deg, #eaf5ff 0%, #f7fbff 55%, #e8f7f4 100%);
    border-bottom: 1px solid #dbe8f3;
}
.tool-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    color: #0056b3;
    background: #fff;
    box-shadow: 0 5px 18px rgba(0, 86, 179, .1);
    font-size: .82rem;
    font-weight: 700;
}
.tool-hero h1 { max-width: 830px; font-size: clamp(2rem, 5vw, 3.25rem); }
.tool-hero p { max-width: 780px; color: #536678; font-size: 1.05rem; }
.tool-shell { padding: 48px 0 70px; }
.tool-card {
    padding: clamp(20px, 4vw, 34px);
    border: 1px solid #dce7f0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(20, 61, 95, .08);
}
.tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tool-field { display: grid; gap: 7px; }
.tool-field--full { grid-column: 1 / -1; }
.tool-field label, .tool-field legend { color: #183852; font-weight: 700; }
.tool-field small { color: #6d7f90; font-size: .76rem; }
.tool-field input, .tool-field select {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #b8cad9;
    border-radius: 11px;
    color: #263d50;
    background: #fff;
    font: inherit;
}
.tool-field input:focus, .tool-field select:focus {
    outline: 3px solid rgba(0, 86, 179, .14);
    border-color: #0056b3;
}
.tool-action {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 25px;
}
.tool-action .btn { min-height: 48px; }
.tool-result {
    margin-top: 28px;
    padding: 24px;
    border: 1px solid #a9d9ce;
    border-radius: 18px;
    background: linear-gradient(135deg, #f2fffb, #eef7ff);
}
.tool-result[hidden], [data-device-section][hidden] { display: none !important; }
.tool-result__label { margin: 0 0 5px; color: #587184; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.tool-result__main { margin: 0; color: #0056b3; font-size: clamp(1.65rem, 5vw, 2.6rem); font-weight: 800; }
.tool-result__range { margin: 3px 0 17px; color: #486174; }
.result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.result-stat { padding: 14px; border-radius: 12px; background: rgba(255,255,255,.78); }
.result-stat span { display: block; color: #667b8c; font-size: .74rem; }
.result-stat strong { display: block; margin-top: 3px; color: #153f60; font-size: 1.15rem; }
.tool-note { margin-top: 20px; padding: 15px 17px; border-left: 4px solid #ffb300; border-radius: 10px; background: #fff9e8; color: #5c502d; font-size: .86rem; }
.tool-info { margin-top: 34px; }
.tool-info h2 { margin-top: 28px; font-size: 1.45rem; }
.tool-info h3 { margin-top: 22px; font-size: 1.08rem; }
.device-switch { margin: 0 0 22px; padding: 0; border: 0; }
.device-switch__options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.device-switch label { position: relative; }
.device-switch input { position: absolute; opacity: 0; pointer-events: none; }
.device-switch span {
    display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px;
    border: 1px solid #bdd0df; border-radius: 12px; color: #32526b; background: #f8fbfd; font-weight: 700; cursor: pointer;
}
.device-switch input:checked + span { color: #fff; background: #0056b3; border-color: #0056b3; box-shadow: 0 8px 20px rgba(0,86,179,.2); }
.device-switch input:focus-visible + span { outline: 3px solid rgba(0,86,179,.2); }
.tool-privacy { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; color: #597083; font-size: .79rem; }
@media (max-width: 767.98px) {
    .tool-hero { padding: 42px 0 30px; }
    .tool-shell { padding: 30px 0 54px; }
    .tool-grid, .result-grid { grid-template-columns: 1fr; }
    .tool-field--full { grid-column: auto; }
    .tool-card { border-radius: 17px; }
}

