/* Broker rewards are a separate product family within the same visual system. */
.section-switcher { display:flex; align-items:center; gap:8px; padding-block:14px; border-bottom:1px solid var(--line); font-size:.8rem; }
.section-switcher>a { display:flex; align-items:center; gap:9px; padding:10px 16px; min-height:44px; border-radius:7px; border:1px solid transparent; color:var(--muted); }
.section-switcher>a.active { background:#d8f07412; border-color:#d8f07455; color:var(--accent); }
.section-switcher>a:hover { color:var(--text); border-color:#708b92; }
.section-switcher>span { margin-left:auto; font-size:.7rem; color:var(--muted); }
.broker-main { padding-top:0; }
.bonus-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:62px; align-items:center; padding-block:56px 50px; }
.bonus-hero h1 { font:400 clamp(3rem,5.2vw,4.8rem)/1.08 Georgia,serif; letter-spacing:-.045em; margin-block:22px; }
.bonus-hero h1 em { font-style:normal; color:var(--accent); }
.broker-intro { font-size:1.125rem; color:#c8d4d2; line-height:1.75; max-width:54ch; }
.bonus-dot { width:7px; height:7px; background:var(--accent); border-radius:50%; display:inline-block; }
.bonus-hero-art { position:relative; background:radial-gradient(ellipse at top left,#37525b,#1b303a); border:1px solid #536d76; border-radius:16px; padding:22px; overflow:hidden; }
.bonus-hero-art>img { display:block; width:100%; height:auto; border-radius:10px; }
.bonus-art-caption { display:block; text-align:center; padding:16px 0 0; color:#c3d3d2; font-size:.8rem; }
.bonus-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); padding-block:24px; gap:30px; }
.bonus-principles>div { display:grid; grid-template-columns:32px 1fr; column-gap:10px; }
.bonus-principles .ui-icon { grid-row:span 2; width:24px; height:24px; color:var(--visual-blue); }
.bonus-principles span { font-weight:650; font-size:.9375rem; }
.bonus-principles small { grid-column:2; display:block; color:var(--muted); font-size:.8rem; margin-top:5px; }
.broker-section { margin-top:68px; scroll-margin-top:25px; }
.broker-section h2 { font-size:clamp(1.7rem,3vw,2.2rem); letter-spacing:-.035em; line-height:1.2; }
.bonus-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:28px; }
.bonus-card { padding:25px; border:1px solid #48636d; border-radius:13px; background:linear-gradient(145deg,#213640,#172a34); min-width:0; display:flex; flex-direction:column; }
.bonus-card-top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:24px; }
.broker-mark { display:inline-flex; justify-content:center; align-items:center; width:166px; max-width:100%; height:68px; border-radius:8px; padding:12px 15px; background:#f2f4ee; border:1px solid #e6ece3; }
.broker-mark.dark { background:#203f51; border-color:#577780; }
.broker-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.bonus-type { color:#b6cdce; font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; }
.bonus-card .eyebrow { margin-block:0 6px; font-size:.7rem; }
.bonus-card h3 { font-size:1.3rem; margin-bottom:20px; line-height:1.3; }
.bonus-headline { font-family:Georgia,serif; font-size:2.35rem; letter-spacing:-.04em; color:var(--accent); line-height:1.1; margin:0 0 12px; }
.bonus-reward-type { margin:0 0 23px; font-size:.85rem; color:#c5d4d1; }
.bonus-facts { margin:0; border-block:1px solid #455f69; padding-block:18px; display:grid; gap:18px; }
.bonus-facts dt { color:var(--muted); font-size:.75rem; }
.bonus-facts dd { margin:4px 0 0; font-size:.9rem; font-weight:600; }
.bonus-card-condition { color:#c5d2d1; font-size:.85rem; line-height:1.75; flex:1; }
.bonus-observation { font-size:.72rem; color:#b5c9c7; padding-left:12px; border-left:2px solid #a6d8aa; line-height:1.65; }
.bonus-observation.needs-recheck { color:#efc5af; border-color:#efa88c; }
.bonus-card.needs-recheck .bonus-headline { color:#b2bfc4; }
.bonus-card-actions { display:grid; gap:3px; margin-top:12px; }
.bonus-card-actions .button { font-size:.8rem; padding:12px; }
.bonus-card-actions .text-link { font-size:.8rem; }
.reward-calculator { display:grid; grid-template-columns:1.25fr 1fr; border:1px solid #506c75; border-radius:14px; overflow:hidden; margin-top:26px; }
#bonus-form { padding:30px; background:#192d37; min-width:0; }
.bonus-form-heading { display:flex; align-items:center; gap:12px; }
.bonus-form-heading .ui-icon { width:24px; height:24px; color:var(--accent); }
.bonus-form-heading h3 { font-size:1.3rem; margin:0; }
.bonus-inputs { display:grid; grid-template-columns:1fr 1fr; gap:23px; margin-top:25px; }
.bonus-inputs label { display:flex; flex-direction:column; justify-content:space-between; gap:10px; color:var(--muted); font-size:.8rem; min-width:0; }
.bonus-inputs input,.bonus-inputs select { display:block; width:100%; min-width:0; background:#10232d; border:1px solid #77949c; color:var(--text); border-radius:7px; padding:12px; font-size:1rem; min-height:48px; }
.bonus-inputs input:focus,.bonus-inputs select:focus { outline:2px solid var(--accent); outline-offset:2px; }
.bonus-presets { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-block:22px; font-size:.75rem; color:var(--muted); }
.bonus-presets button { padding:9px 12px; border:1px solid #769099; border-radius:6px; min-height:40px; background:#233e47; color:var(--text); font-size:.8rem; }
.bonus-presets button:hover { border-color:var(--accent); }
.bonus-privacy { margin-block:17px 0; }
#bonus-error { margin-block:18px 0; }
.bonus-assumptions { padding:30px; background:#233d44; border-left:1px solid #506c75; }
.bonus-assumptions h3 { font:400 1.8rem/1.25 Georgia,serif; }
.bonus-assumptions ol { padding-left:21px; color:#c7d7d4; font-size:.875rem; }
.bonus-assumptions li { margin-bottom:14px; padding-left:6px; }
.bonus-assumptions>p:last-child { color:#b8cccb; font-size:.8rem; }
.bonus-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.bonus-result { border:1px solid #526f77; background:#1d343e; padding:24px; border-radius:12px; min-width:0; display:flex; flex-direction:column; }
.bonus-result .eyebrow { font-size:.7rem; margin-top:0; }
.bonus-result h3 { font-size:1.15rem; margin-bottom:18px; }
.bonus-result-badge { align-self:flex-start; padding:5px 9px; border:1px solid #86bfa95c; border-radius:5px; color:#c6e1cf; font-size:.7rem; line-height:1.5; margin-bottom:18px; }
.locked_beyond_horizon .bonus-result-badge { color:#f4c4ac; border-color:#efa88c80; background:#efa88c0c; }
.locked_beyond_horizon .bonus-result-state { color:#f4c4ac; font-weight:600; }
.stock_value_varies .bonus-result-badge { color:#d7c9f4; border-color:#c6b6f26b; }
.partial_schedule .bonus-result-badge { color:#bce4ee; border-color:#90cfdf73; }
.bonus-result-label { font-size:.75rem; margin:0 0 7px; color:var(--muted); }
.bonus-result-amount { display:block; font:400 2.8rem/1.1 Georgia,serif; color:var(--accent); letter-spacing:-.035em; overflow-wrap:anywhere; }
.bonus-result.unavailable .bonus-result-amount { font:600 1.35rem/1.3 var(--font-reading); color:#d3dde0; }
.bonus-scheduled { margin-top:22px; padding-block:16px; border-block:1px solid #4a6570; }
.bonus-scheduled span { display:block; font-size:.75rem; color:#b9cccf; }
.bonus-scheduled strong { display:block; margin-top:6px; color:var(--visual-blue); font-size:1.35rem; font-variant-numeric:tabular-nums; }
.bonus-result-state { font-size:.875rem; color:#d2ddda; }
.bonus-result .quiet { font-size:.75rem; }
.bonus-result-exclusions { font-size:.7rem; color:var(--muted); margin-top:auto; padding-top:14px; border-top:1px solid #3f5a65; }
.bonus-payment-track { height:7px; background:#526b73; border-radius:9px; overflow:hidden; margin-block:7px 13px; }
.bonus-payment-track>span { height:100%; background:var(--visual-blue); display:block; }
.bonus-result>.text-link { font-size:.78rem; margin-top:auto; }
.bonus-guide { display:grid; grid-template-columns:.9fr 1.6fr; gap:50px; padding-block:32px; border-top:1px solid var(--line); }
.bonus-guide h2 { font-family:Georgia,serif; font-weight:400; font-size:2.4rem; }
.bonus-guide-steps { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.bonus-guide-steps span { color:var(--accent); font-size:.75rem; }
.bonus-guide-steps h3 { font-size:1.05rem; margin-block:10px; }
.bonus-guide-steps p { color:#b9cccd; font-size:.875rem; margin:0; }
.bonus-detail-header { padding-top:42px; }
.bonus-detail-header h1 { font:400 clamp(2.5rem,5vw,4.3rem)/1.1 Georgia,serif; max-width:950px; letter-spacing:-.04em; margin-top:28px; }
.bonus-rule { max-width:850px; }
.bonus-tier-table { max-width:650px; border:1px solid #5c737e; border-radius:9px; overflow:auto; }
.bonus-tier-table table { width:100%; border-collapse:collapse; font-size:.9rem; }
.bonus-tier-table caption { text-align:left; color:var(--muted); padding:15px 20px; font-size:.75rem; }
.bonus-tier-table td,.bonus-tier-table th { padding:15px 20px; text-align:left; border-top:1px solid #4d6671; }
.promo-code { display:inline-block; padding:18px; background:#253f46; border:1px solid #607e85; border-radius:9px; margin-top:30px; font-size:.9rem; }
.promo-code strong { color:var(--accent); margin-left:10px; }
.broker-home-entry { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; border:1px solid #4b6b73; border-radius:14px; margin-top:44px; background:#203840; overflow:hidden; }
.broker-home-entry>div { padding:32px; }
.broker-home-entry h2 { font:400 2.3rem/1.15 Georgia,serif; margin:14px 0; }
.broker-home-entry p:not(.eyebrow) { color:#c5d5d0; font-size:.9375rem; }
.broker-home-entry>img { width:100%; height:320px; object-fit:cover; }
@media(max-width:1050px) { .bonus-hero { gap:32px; }.bonus-card-grid,.bonus-results { gap:15px; }.bonus-card,.bonus-result { padding:20px; }.bonus-card-top { flex-wrap:wrap; }.bonus-type { font-size:.65rem; }.reward-calculator { grid-template-columns:1.2fr 1fr; }.bonus-guide { gap:28px; } }
@media(max-width:850px) { .bonus-card-grid,.bonus-results { grid-template-columns:1fr; }.bonus-card { display:grid; grid-template-columns:1fr 1fr; column-gap:25px; }.bonus-card-top,.bonus-card .eyebrow,.bonus-card h3,.bonus-card-actions { grid-column:1/-1; }.bonus-card-top { flex-wrap:nowrap; }.bonus-headline { grid-column:1; }.bonus-reward-type { grid-column:1; }.bonus-facts { grid-column:2; grid-row:4/span 2; }.bonus-card-condition { grid-column:1/-1; }.bonus-observation { grid-column:1/-1; }.bonus-card-actions { grid-template-columns:1fr auto; align-items:center; }.reward-calculator { grid-template-columns:1fr; }.bonus-assumptions { border-left:0; border-top:1px solid #506c75; }.bonus-guide { grid-template-columns:1fr; }.bonus-hero h1 { font-size:3.4rem; }.bonus-hero-art { padding:10px; }.bonus-art-caption { padding:12px 8px; font-size:.7rem; } }
@media(max-width:700px) {
 .section-switcher { gap:5px; padding-block:10px; font-size:.75rem; }.section-switcher>a { padding:9px 11px; gap:7px; }.section-switcher>span { display:none; }
 .bonus-hero { grid-template-columns:1fr; padding-block:36px 30px; gap:24px; }.bonus-hero h1 { font-size:3.2rem; }.broker-intro { font-size:1rem; }.bonus-hero .quiet { font-size:.75rem; }.bonus-hero-art { padding:13px; }
 .bonus-principles { grid-template-columns:1fr; gap:22px; }.bonus-principles span { font-size:.875rem; }.broker-section { margin-top:46px; }.bonus-card { display:flex; padding:22px; }.bonus-card-actions { display:grid; grid-template-columns:1fr; }.bonus-headline { font-size:2.4rem; }.bonus-facts { margin-top:0; }.bonus-card-top { margin-bottom:20px; }
 #bonus-form,.bonus-assumptions { padding:22px; }.bonus-inputs { grid-template-columns:1fr; gap:20px; }.bonus-assumptions h3 { font-size:1.6rem; }.bonus-form-heading h3 { font-size:1.2rem; }.bonus-guide-steps { grid-template-columns:1fr; gap:25px; }.bonus-guide h2 { font-size:2rem; }.bonus-result-amount { font-size:2.5rem; }.bonus-detail-header { padding-top:30px; }.bonus-detail-header h1 { font-size:2.6rem; overflow-wrap:anywhere; }.bonus-tier-table th,.bonus-tier-table td { padding:13px; font-size:.8rem; }.promo-code { display:block; overflow-wrap:anywhere; }.promo-code strong { display:block; margin:6px 0 0; }
 .broker-home-entry { grid-template-columns:1fr; }.broker-home-entry>div { padding:25px; }.broker-home-entry h2 { font-size:2rem; }.broker-home-entry>img { height:auto; max-height:280px; object-fit:contain; }.bonus-presets>span { flex-basis:100%; }
}
@media(max-width:370px) { .bonus-hero h1 { font-size:2.7rem; }.bonus-hero .actions .button { width:100%; }.section-switcher { font-size:.7rem; }.section-switcher>a { padding-inline:8px; } }
