.otlcalc, .otlcalc * { box-sizing: border-box; }
#calculator { scroll-margin-top: 110px; }
#fit .section-title h2, .otlcalc .button { text-transform: none; }
.otlcalc { color: #152b4f; background: #fff; border: 1px solid #d7e0eb; padding: clamp(18px, 3vw, 36px); }
.otlcalc-inner { max-width: 100%; }
.otlcalc-intro h3 { font-size: clamp(1.5rem, 2.4vw, 2.25rem); margin: .4em 0; }
.otlcalc-intro p { max-width: 68ch; }
.otlcalc-intro p, .otlcalc-lead > p, .otlcalc-results > p { line-height: 1.55; }
.otlcalc-intro > p:last-child { margin: 1rem 0 0; }
.otlcalc form { display: block; margin: 1.5rem 0; }
.otlcalc-step-heading { display: flex; align-items: flex-start; gap: .75rem; margin: 1.5rem 0 .8rem; padding-top: 1rem; border-top: 2px solid #bd8a2b; }
.otlcalc-step-heading > span { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2rem; height: 2rem; background: #bd8a2b; color: #fff; font-weight: 800; }
.otlcalc-step-heading strong { display: block; font-size: 1.15rem; }
.otlcalc-step-heading small { display: block; margin-top: .2rem; color: #5c6d86; font-weight: 400; }
.otlcalc-fields, .otlcalc-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.otlcalc label { display: flex; flex-direction: column; gap: .35rem; min-width: 0; font-weight: 600; font-size: .95rem; text-transform: none; letter-spacing: normal; }
.otlcalc input:not([type="checkbox"]), .otlcalc select, .otlcalc textarea { width: 100%; max-width: 100%; min-height: 44px; padding: .55rem .7rem; border: 1px solid #9aaec8; border-radius: 3px; background: #fff; color: #152b4f; font: inherit; }
.otlcalc textarea { min-height: 90px; }
.otlcalc input:focus-visible, .otlcalc select:focus-visible, .otlcalc textarea:focus-visible, .otlcalc button:focus-visible, .otlcalc a:focus-visible { outline: 3px solid #c18d2b; outline-offset: 3px; }
.otlcalc fieldset { border: 1px solid #d7e0eb; padding: 1rem; margin: 1rem 0; min-width: 0; }
.otlcalc legend { font-weight: 700; padding: 0 .4rem; }
.otlcalc-checks { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: .35rem; }
.otlcalc-checks label { display: inline-flex; flex: 0 0 auto; flex-direction: row; align-items: center; gap: .45rem; white-space: nowrap; line-height: 1.4; }
.otlcalc-checks input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
.otlcalc fieldset > small { display: block; margin-top: 1rem; line-height: 1.5; color: #5c6d86; }
.otlcalc-group { margin: 1rem 0; }
.otlcalc-group legend { grid-column: 1/-1; }
.otlcalc-group button { align-self: end; }
.otlcalc [hidden] { display: none !important; }
.otlcalc button { cursor: pointer; }
.otlcalc-link-button { border: 0; padding: 0; background: transparent; color: #8b6418; text-decoration: underline; font: inherit; cursor: pointer; }
.otlcalc-no-calc { color: #5c6d86; font-size: .92rem; }
.otlcalc form > .button, .otlcalc-inner > .button { margin-top: 1rem; }
.otlcalc-results { margin: 1.4rem 0; }
.otlcalc-results > p { margin: 1rem 0 0; }
.otlcalc-results > .otlcalc-warning { padding: .8rem 1rem; border-left: 3px solid #bd8a2b; background: #fbfcfd; }
.otlcalc-card { min-width: 0; border: 1px solid #d7e0eb; border-top: 4px solid #bd8a2b; padding: 1rem; overflow-wrap: anywhere; }
.otlcalc-card-primary { background: #f5f8fc; padding: clamp(1rem, 2.5vw, 1.6rem); }
.otlcalc-result-kicker { color: #865f16; font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.otlcalc-card h4 { font-size: 1.15rem; margin: 0 0 .7rem; }
.otlcalc-card-primary h4 { font-size: clamp(1.2rem, 2vw, 1.65rem); }
.otlcalc-card p { margin: .55rem 0; }
.otlcalc-card details { margin-top: .75rem; font-size: .9rem; }
.otlcalc-card summary, .otlcalc-alternatives summary, .otlcalc-extra summary { cursor: pointer; font-weight: 700; }
.otlcalc-alternatives { margin-top: 1rem; }
.otlcalc-alternatives-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: .8rem; }
.otlcalc-lead { max-width: 850px; padding: clamp(1rem, 2.5vw, 1.6rem); background: #f3f5f8; }
.otlcalc-lead-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.otlcalc-extra { margin: 1rem 0; }
.otlcalc-extra[open] { padding: 1rem; border: 1px solid #d7e0eb; }
.otlcalc-extra summary { margin-bottom: .8rem; }
.otlcalc-next-step { margin: 1.5rem 0 0; padding: 0 1.2rem 1.2rem; border: 1px solid #d7e0eb; background: #fbfcfd; }
.otlcalc-next-step .otlcalc-step-heading { margin-top: 0; }
.otlcalc-lead h4 { margin-top: 0; font-size: 1.25rem; }
.otlcalc-lead-intro { margin: 1rem 0 1.25rem; color: #5c6d86; }
.otlcalc-lead label { margin-bottom: .9rem; }
.otlcalc-error { color: #a32a2a; font-weight: 700; }
.otlcalc-field-error { display: block; margin-top: .3rem; font-size: .85rem; line-height: 1.45; }
.otlcalc-lead > p[data-role="lead-status"] { margin: 1.15rem 0 0; padding-top: .5rem; line-height: 1.5; }
.otlcalc-lead > p[data-role="lead-status"]:empty { display: none; }
@media (max-width: 620px) { .otlcalc-checks { gap: .75rem .5rem; } .otlcalc-checks label { gap: .3rem; font-size: .84rem; } .otlcalc-checks input[type="checkbox"] { flex-basis: 16px; width: 16px; height: 16px; } .otlcalc .button { max-width: 100%; white-space: normal; } }
@media (max-width: 620px) { .otlcalc-fields, .otlcalc-group, .otlcalc-lead-fields, .otlcalc-alternatives-list { grid-template-columns: minmax(0, 1fr); } .otlcalc { padding: 16px; } }
