/* BRICK-Schnellrechner: shared ThinkBRICK chrome, scoped tool layout. */
.thinkbrick-calculator { margin:0; }
.bsc { --bsc-line:rgba(23,38,44,.2); background:var(--paper); }
.bsc h1,.bsc h2,.bsc h3,.bsc p { margin-top:0; }
.bsc em { font-style:normal; color:var(--teal-dark); }
.bsc-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.bsc-grid { background-image:linear-gradient(rgba(23,38,44,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,38,44,.035) 1px,transparent 1px); background-size:56px 56px; }
.bsc-hero { padding:72px 0 82px; position:relative; }
.bsc-intro { text-align:center; max-width:860px; margin:0 auto 42px; }
.bsc-tag { display:inline-block; padding:9px 12px; background:var(--paper); border:1.5px solid var(--ink); box-shadow:4px 4px 0 var(--teal); font:750 10px/1.4 monospace; letter-spacing:.13em; text-transform:uppercase; transform:rotate(-1deg); }
.bsc-intro h1 { margin:28px 0 20px; font-size:clamp(38px,4.9vw,68px); font-weight:820; letter-spacing:-.055em; line-height:1.03; }
.bsc-intro h1 em { display:block; }
.bsc-intro>p { max-width:650px; margin:0 auto; color:#52656e; font-size:18px; line-height:1.6; }
.bsc-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:11px 24px; margin:19px 0 0; font:650 11px/1.5 monospace; text-transform:uppercase; letter-spacing:.04em; color:#52656e; }
.bsc-meta span::before { content:'✓'; color:var(--teal-dark); margin-right:7px; }
.bsc-calculator { border:2px solid var(--ink); background:var(--paper); box-shadow:9px 9px 0 var(--teal-dark); position:relative; }
.bsc-topline { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 28px; border-bottom:1px solid var(--bsc-line); }
.bsc-topline strong,.bsc-panel-label { font:750 10px/1.5 monospace; letter-spacing:.12em; text-transform:uppercase; }
.bsc-topline strong::before { content:''; display:inline-block; width:8px; height:8px; background:var(--teal-dark); margin-right:9px; }
.bsc-reset { border:0; border-bottom:1px solid #8c9c9b; padding:3px 0; background:transparent; font:550 12px/1.5 var(--font-geist); cursor:pointer; }
.bsc-calculator-grid { display:grid; grid-template-columns:1.12fr 1fr; }
.bsc-inputs { padding:27px 34px 30px; }
.bsc-input-hint { color:#52656e; font-size:13px; margin-bottom:21px; line-height:1.5; }
.bsc-field { margin:0 0 22px; min-width:0; }
.bsc-field-top { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:10px; }
.bsc-field-top>label { font-size:15px; font-weight:700; }
.bsc-value { display:flex; align-items:center; border:1px solid #a6b7b3; background:#fffdf8; }
.bsc-value input { font:750 20px/1.25 var(--font-geist); letter-spacing:-.025em; color:var(--ink); width:112px; border:0; background:transparent; padding:8px 3px 8px 11px; text-align:right; border-radius:0; }
.bsc-value span { padding:0 10px 0 5px; font-size:14px; color:#52656e; white-space:nowrap; }
.bsc-value:focus-within { outline:2px solid var(--teal-dark); outline-offset:2px; }
.bsc-value input:focus { outline:0; }
.bsc-value input[aria-invalid="true"] { color:#97472b; }
.bsc-field-error { font-size:12px; line-height:1.4; color:#97472b; margin-top:6px; }
.bsc-field-error:empty { display:none; }
.bsc-slider { width:100%; height:24px; padding:0; margin:0; background:transparent; cursor:pointer; -webkit-appearance:none; appearance:none; }
.bsc-slider::-webkit-slider-runnable-track { height:5px; background:linear-gradient(to right,var(--teal-dark) var(--fill),#d9e1dc var(--fill)); }
.bsc-slider::-moz-range-track { height:5px; background:linear-gradient(to right,var(--teal-dark) var(--fill),#d9e1dc var(--fill)); }
.bsc-slider::-webkit-slider-thumb { appearance:none; height:19px; width:19px; border:2px solid var(--ink); background:var(--teal-light); margin-top:-7px; border-radius:0; box-shadow:2px 2px 0 var(--teal-dark); }
.bsc-slider::-moz-range-thumb { height:15px; width:15px; border:2px solid var(--ink); background:var(--teal-light); border-radius:0; box-shadow:2px 2px 0 var(--teal-dark); }
.bsc-slider:focus-visible { outline:2px solid var(--teal-dark); outline-offset:4px; }
.bsc-field-foot { display:flex; justify-content:space-between; gap:10px; margin-top:3px; font:500 11px/1.4 var(--font-geist); color:#52656e; }
.bsc-field-foot [data-out] { font-weight:650; color:var(--ink); }
.bsc-finance { border:0; border-top:1px solid var(--bsc-line); padding:21px 0 0; margin:3px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bsc-finance>.bsc-panel-label { grid-column:1/-1; margin-bottom:-7px; color:#52656e; }
.bsc-finance .bsc-field-top { display:block; }
.bsc-finance .bsc-value { margin-top:9px; justify-content:space-between; }
.bsc-finance .bsc-value input { width:100%; }
.bsc-finance .bsc-field { margin:0; }
.bsc-results { border-left:1px solid var(--bsc-line); padding:29px 34px 30px; background:#f1f3ec; }
.bsc-yield { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:24px 0 18px; }
.bsc-yield h2 { font-size:15px; font-weight:650; margin:0 0 5px; }
.bsc-yield strong { display:block; color:var(--teal-dark); font-size:clamp(40px,4.3vw,62px); line-height:1.03; letter-spacing:-.06em; font-weight:800; }
.bsc-rate { text-align:right; max-width:140px; }
.bsc-rate span { color:#52656e; font-size:12px; display:block; line-height:1.4; }
.bsc-rate b { display:block; font-size:23px; line-height:1.4; letter-spacing:-.035em; }
.bsc-month { border-top:1px solid var(--bsc-line); padding-top:18px; }
.bsc-month>p { font:700 10px/1.4 monospace; letter-spacing:.09em; margin-bottom:13px; text-transform:uppercase; color:#52656e; }
.bsc-bars { margin-bottom:18px; }
.bsc-bar-label { display:flex; justify-content:space-between; gap:16px; font-size:13px; margin-bottom:6px; }
.bsc-bar-label b { font-weight:650; }
.bsc-bar-track { display:flex; width:100%; height:12px; background:#e1e7df; margin-bottom:12px; }
.bsc-bar-track i { display:block; background:var(--teal-dark); transition:width .15s; }
.bsc-bar-track i[data-bar="interest"] { background:var(--ink); }
.bsc-bar-track i[data-bar="repayment"] { background:#91b9b2; }
.bsc-legend { display:flex; gap:18px; font-size:11px; color:#52656e; margin-top:-4px; }
.bsc-legend span::before { content:''; display:inline-block; width:7px; height:7px; background:var(--ink); margin-right:5px; }
.bsc-legend span+span::before { background:#91b9b2; }
.bsc-balance { border-top:1px solid var(--bsc-line); border-bottom:1px solid var(--bsc-line); padding:14px 0; display:flex; justify-content:space-between; gap:12px; align-items:center; }
.bsc-balance>span { font-size:13px; line-height:1.5; }
.bsc-balance small { display:block; font-size:11px; color:#52656e; }
.bsc-balance strong { font-size:31px; white-space:nowrap; line-height:1.2; letter-spacing:-.04em; }
.bsc-assessment { margin-top:20px; padding-left:14px; border-left:3px solid var(--teal-dark); }
.bsc-assessment h3 { margin-bottom:7px; font-size:18px; letter-spacing:-.025em; }
.bsc-assessment p { margin-bottom:0; font-size:13px; line-height:1.65; color:#52656e; }
[data-tone="negative"] .bsc-assessment { border-color:#b47745; }
.bsc-basis { border-top:1px solid var(--bsc-line); padding:15px 28px; font-size:12px; line-height:1.55; color:#52656e; }
.bsc-basis strong { color:var(--ink); }
.bsc-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.bsc :focus-visible { outline:2px solid var(--teal-dark); outline-offset:5px; }
.bsc-info { padding:94px 0 96px; background:var(--ink); color:var(--paper); border-top:2px solid var(--ink); }
.bsc-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.bsc-info .bsc-tag { color:var(--ink); }
.bsc h2.bsc-title { margin:26px 0 22px; font-size:clamp(32px,3.4vw,49px); line-height:1.04; letter-spacing:-.05em; font-weight:780; }
.bsc-info .bsc-title em { color:var(--teal); display:block; }
.bsc-body { font-size:17px; line-height:1.7; color:#52656e; }
.bsc-info .bsc-body { color:#c7d4d4; }
.bsc-info-copy>p:last-child { margin-bottom:0; }
.bsc-steps { margin:0; padding:0; list-style:none; }
.bsc-steps li { display:grid; grid-template-columns:29px 1fr; gap:14px; padding:24px 0; border-bottom:1px solid #496064; }
.bsc-steps li:first-child { padding-top:5px; }
.bsc-steps li>span { color:var(--teal); font:700 11px/2 monospace; }
.bsc-steps h3 { margin:0 0 9px; font-size:21px; line-height:1.2; letter-spacing:-.025em; }
.bsc-steps p { margin-bottom:0; color:#c7d4d4; font-size:15px; line-height:1.6; }
.bsc-method { margin-top:35px; border-top:1px solid #496064; padding-top:20px; }
.bsc-method summary { font-weight:600; font-size:14px; cursor:pointer; }
.bsc-method p { margin:15px 0 0; font-size:14px; line-height:1.6; color:#c7d4d4; }
.bsc-video { padding:90px 0 95px; background:var(--paper); }
.bsc-section-head { text-align:center; max-width:740px; margin:0 auto 40px; }
.bsc-section-head .bsc-body { margin-bottom:0; }
.bsc-video-frame { width:min(850px,100%); margin:0 auto; border:2px solid var(--ink); box-shadow:8px 8px 0 var(--teal-dark); }
.bsc-video-bar { padding:15px 23px; background:var(--ink); color:var(--teal-light); font:650 10px/1.4 monospace; letter-spacing:.13em; display:flex; justify-content:space-between; gap:12px; }
.bsc-video-player { position:relative; aspect-ratio:16/9; background:var(--ink); }
.bsc-video-player iframe { position:absolute; inset:0; width:100%; height:100%; display:block; border:0; }
.bsc-video-player .tb-embed-notice { z-index:1; }
.bsc-video-player noscript p { position:absolute; inset:0; display:grid; place-content:center; padding:24px; color:var(--paper); text-align:center; }
.bsc-about { padding:84px 0 90px; background:var(--teal-light); border-block:2px solid var(--ink); }
.bsc-about-grid { display:grid; grid-template-columns:.85fr 1.2fr; gap:90px; align-items:center; }
.bsc-portrait { position:relative; margin:0 18px 22px 0; }
.bsc-portrait img { display:block; width:100%; height:430px; object-fit:cover; object-position:50% 35%; clip-path:polygon(5% 0,100% 0,94% 95%,0 100%); filter:saturate(.8); }
.bsc-portrait figcaption { position:absolute; left:15%; bottom:-15px; right:-12px; padding:19px 22px; color:var(--paper); background:var(--ink); border:1px solid var(--paper); box-shadow:7px 7px 0 var(--teal-dark); transform:rotate(2deg); }
.bsc-portrait figcaption span { display:block; font:650 9px/1.5 monospace; letter-spacing:.13em; color:var(--cta-neon); margin-bottom:7px; }
.bsc-portrait figcaption strong { display:block; font-size:24px; letter-spacing:-.03em; }
.bsc-portrait figcaption small { display:block; margin-top:7px; color:var(--paper); font-size:11px; }
.bsc-about-copy .bsc-body { color:var(--ink); }
.bsc-about-copy blockquote { padding-left:17px; border-left:3px solid var(--teal-dark); margin:24px 0; font-size:21px; font-weight:700; line-height:1.4; letter-spacing:-.025em; }
.bsc-cta { display:inline-flex; justify-content:center; align-items:center; background:var(--ink); color:var(--paper)!important; padding:17px 24px; border:1px solid var(--ink); box-shadow:6px 6px 0 var(--teal-dark); font-size:14px; font-weight:750; line-height:1.4; transition:transform .2s,box-shadow .2s; }
.bsc-cta:hover { transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--teal-dark); }
.bsc-about-copy .bsc-cta { margin-top:5px; }
@media(min-width:1500px) { .bsc-shell { width:min(1300px,calc(100% - 110px)); } .bsc-inputs,.bsc-results { padding-inline:40px; } }
@media(max-width:900px) { .bsc-shell { width:calc(100% - 48px); } .bsc-inputs,.bsc-results { padding-inline:24px; } .bsc-info-grid,.bsc-about-grid { gap:40px; } .bsc-rate { max-width:100px; } .bsc-yield strong { font-size:44px; } }
@media(max-width:700px) { .bsc-shell { width:calc(100% - 38px); } .bsc-hero { padding:46px 0 56px; } .bsc-intro { margin-bottom:30px; } .bsc-intro h1 { margin-top:25px; font-size:39px; } .bsc-intro>p { font-size:16px; } .bsc-meta { font-size:10px; gap:8px 15px; } .bsc-calculator-grid { grid-template-columns:1fr; } .bsc-topline { padding:14px 20px; } .bsc-topline strong { font-size:9px; } .bsc-reset { font-size:11px; } .bsc-inputs { padding:24px 21px; } .bsc-results { border-left:0; border-top:1px solid var(--bsc-line); padding:24px 21px; } .bsc-yield strong { font-size:56px; } .bsc-rate { max-width:145px; } .bsc-basis { padding:16px 20px; } .bsc-info,.bsc-video,.bsc-about { padding:60px 0; } .bsc-info-grid,.bsc-about-grid { grid-template-columns:1fr; gap:32px; } .bsc h2.bsc-title { font-size:36px; } .bsc-body { font-size:16px; } .bsc-portrait { max-width:370px; margin:0 auto 20px; width:calc(100% - 20px); } .bsc-portrait img { height:390px; } .bsc-video-placeholder { min-height:280px; aspect-ratio:auto; } .bsc-video-bar { padding:13px; font-size:9px; } .bsc-video-placeholder::before,.bsc-video-placeholder::after { font-size:30px; } }
@media(prefers-reduced-motion:reduce) { .bsc * { transition:none!important; } }
