* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: 'Inter', sans-serif;
    background: #050505;
    color: white;
    overflow-x: hidden;
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* BACKGROUND GRID */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    z-index: -2;
}

/* CURSOR GLOW */
.cursor-glow {
    position: fixed;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(255,255,255,0.08), transparent 70%);
    transform: translate(-50%, -50%);
    z-index: -1;
}

/* CONTAINER SETUP */
.scale-section, section.calculator {
    display: flex; 
    min-height: 100vh;
    flex-direction: column;
    justify-content: center;
    position: relative;
    flex-grow: 1;
}

.scale-section-title {
    font-size: 58px;
    font-weight: 800;
    margin-bottom: 20px;
    letter-spacing: -1px;
}
.scale-section-subtitle {
    font-size: 18px;
    color: #b4b4b4;
    line-height: 1.8;
    max-width: 800px;
    margin-bottom: 60px;
}

/* METRICS SIMULATOR */
.calculator-container {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 30px;
    padding: 50px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 60px;
    align-items: center;
}
.calc-input-block h3 {
    font-size: 28px;
    margin-bottom: 15px;
}
.calc-input-block p {
    color: #a5a5a5;
    margin-bottom: 30px;
    line-height: 1.6;
}
.calc-slider-wrapper {
    margin-bottom: 20px;
}
.calc-slider-wrapper label {
    display: block;
    margin-bottom: 10px;
    font-weight: 500;
    color: #b4b4b4;
}
.slider {
    width: 100%;
    -webkit-appearance: none;
    background: rgba(255,255,255,0.1);
    height: 8px;
    border-radius: 4px;
    outline: none;
    transition: 0.2s;
}
.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    cursor: pointer;
    box-shadow: 0 0 15px rgba(255,255,255,0.5);
}
.calc-results {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.result-node {
    background: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.04);
    padding: 30px;
    border-radius: 20px;
}
.result-node span {
    display: block;
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 5px;
}
.result-node label {
    color: #777;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* RESPONSIVE DESIGN */
@media(max-width: 1100px) {
    section { padding: 60px 40px; }
    .calculator-container { grid-template-columns: 1fr; gap: 40px; }
}
@media(max-width: 700px) {
    .section-title { font-size: 38px; }
}
/* =====================================================
   Mobile optimization (additive, <=768px only).
   The <=700px rule above still targets .section-title,
   but the calculator heading was renamed to
   .scale-section-title during the localization work, so
   it never shrank on phones -- at 58px it overflowed the
   viewport and was the source of freight.html's
   horizontal scroll at 320/375px.
   ===================================================== */
@media (max-width: 768px) {
    .scale-section, section.calculator {
        min-height: auto;
        padding: 64px 0;
    }
    /* .scale-section is display:flex, so .container inherited
       min-width:auto and would not shrink below the min-content of
       "Skalierungsoptimierung" -- 24px of horizontal scroll in German. */
    .scale-section > .container,
    section.calculator > .container { min-width: 0; }
    .scale-section-title {
        font-size: clamp(28px, 8.2vw, 38px);
        letter-spacing: -0.5px;
        overflow-wrap: break-word;
    }
    .scale-section-subtitle {
        font-size: 15px;
        line-height: 1.65;
        margin-bottom: 32px;
        max-width: 100%;
    }
    .calculator-container {
        padding: 24px 20px;
        border-radius: 20px;
        gap: 28px;
    }
    .calc-input-block h3 { font-size: 20px; }
    .calc-input-block p { font-size: 15px; line-height: 1.6; margin-bottom: 22px; }
    .calc-slider-wrapper label { font-size: 14px; }
    /* Slider needs a finger-sized thumb and a taller track */
    .slider { height: 10px; }
    .slider::-webkit-slider-thumb { width: 28px; height: 28px; }
    .result-node { padding: 20px 18px; border-radius: 16px; }
    .result-node span { font-size: 28px; }
    .result-node label { font-size: 12px; letter-spacing: 0.6px; }
}

@media (max-width: 380px) {
    .calculator-container { padding: 20px 16px; }
    .result-node span { font-size: 24px; }
}
