:root { --ubs-ink:#172039; --ubs-paper:#fffefa; --ubs-blue:#24467f; --ubs-gold:#d3b17b; --ubs-line:#c9cfd8; --ubs-muted:#4f5b6d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:20px; }
body { margin:0; color:var(--ubs-ink); background:linear-gradient(145deg,#dce2ed,#9aa8bc); font-family:Tahoma,Verdana,sans-serif; font-size:16px; }
.subsidy-page { width:min(1180px,calc(100% - 32px)); margin:24px auto; border:1px solid #36455f; background:var(--ubs-paper); box-shadow:0 18px 48px #17203940; }
a { color:var(--ubs-blue); text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline:3px solid #b55739; outline-offset:5px; }
.subsidy-hero { background:#1c3766; color:#fffefa; }
.hierarchy-nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:17px 30px; margin:0; color:#31425d; background:#eef1f7; border-bottom:1px solid #aebbd0; font-size:14px; }
.hierarchy-nav a { color:#24467f; }
.opening { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; }
.opening-copy { padding:44px 28px 44px 40px; }
h1 { margin:0; font:normal clamp(42px,5.6vw,68px)/1.02 Georgia,serif; letter-spacing:-.055em; }
.deck { max-width:32ch; font-size:19px; line-height:1.6; margin:25px 0; }
.opening-note { font-size:14px; color:#e5cfab; margin:32px 0 0; }
.opening-art { margin:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; background:#e6d6b8; color:#26354c; }
.opening-art img { display:block; width:100%; height:auto; }
.opening-art figcaption { padding:12px 18px; font:14px/1.45 Tahoma,sans-serif; background:#f2e8d6; }
.subsidy-band { padding:0 42px; }
.subsidy-band--premise { background:var(--ubs-paper); }
.subsidy-band--consequences { background:var(--ubs-paper); border-top:3px solid var(--ubs-blue); }
.subsidy-band--policy { background:var(--ubs-paper); border-top:3px solid var(--ubs-blue); }
.chapter { display:grid; grid-template-columns:230px minmax(0,1fr); column-gap:45px; padding:46px 0; border-bottom:1px solid var(--ubs-line); }
.chapter:last-child { border-bottom:0; }
h2 { font:normal 28px/1.18 Georgia,serif; letter-spacing:-.025em; color:var(--ubs-blue); margin:4px 0 20px; }
h3 { margin:0 0 15px; font:normal 25px/1.2 Georgia,serif; }
.copy { min-width:0; max-width:720px; }
.copy p { font-size:17px; line-height:1.78; margin:0 0 19px; }
.copy p:last-child { margin-bottom:0; }
.copy .thesis, .copy .closing { font:normal 25px/1.48 Georgia,serif; margin-top:27px; padding-left:20px; border-left:3px solid var(--ubs-gold); }
.price-instrument { grid-column:1/-1; margin-top:28px; padding:28px; color:#f0f4f8; background:#253343; border:1px solid #0d1b2c; box-shadow: inset 0 2px 8px #0005; }
.instrument-context { margin:0 0 24px; color:#d4dce6; font-size:15px; line-height:1.6; max-width:70ch; }
.price-inputs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.price-inputs label { font-size:14px; line-height:1.45; }
.price-inputs input { width:100%; display:block; color:#172039; background:#fffefa; border:1px solid #101d30; border-top:2px solid #10243d; border-radius:0; padding:10px; margin:12px 0 8px; font:20px Tahoma,sans-serif; }
.price-inputs small { display:block; color:#c5cdd8; font-size:13px; line-height:1.5; }
.price-results { margin-top:26px; padding-top:20px; border-top:1px solid #657385; }
.price-status { margin:0 0 22px; font-size:18px; font-weight:bold; color:#f4d598; }
.interval { position:relative; height:12px; background:#111e2b; margin:0 0 27px; border:1px solid #67778c; }
.interval span { position:absolute; top:0; height:100%; left:38.89%; width:25%; background:#edc77d; }
.interval i { position:absolute; top:-5px; left:50%; height:20px; width:3px; background:#fff; }
.result-ledger { margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.result-ledger dt { font-size:13px; line-height:1.4; color:#c5cdd8; }
.result-ledger dd { margin:8px 0 0; font-size:18px; line-height:1.4; font-variant-numeric:tabular-nums; }
#price-explanation { font-size:15px; line-height:1.6; margin:20px 0 0; }
.model-rule { display:flex; align-items:center; gap:26px; border-top:1px solid #657385; padding-top:20px; margin-top:20px; }
.model-rule code { white-space:nowrap; font:16px/1.5 monospace; color:#f4d598; }
.model-rule span { font-size:13px; line-height:1.6; color:#d4dce6; }
.model-boundary { color:#d4dce6; font-size:13px; line-height:1.65; margin:20px 0 0; }
.charter { margin:25px 0 0; }
.charter > div { display:grid; grid-template-columns:160px minmax(0,1fr); gap:20px; padding:20px 0; border-top:1px solid var(--ubs-line); }
.charter dt { font-size:16px; line-height:1.5; font-weight:bold; }
.charter dd { margin:0; font-size:16px; line-height:1.7; }
.comparison-wrap { overflow-x:auto; margin:27px 0; }
table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; text-align:left; }
th,td { vertical-align:top; padding:14px 12px; border-bottom:1px solid var(--ubs-line); }
thead { background:#eef1f7; }
th:first-child,td:first-child { padding-left:8px; }
tbody th { min-width:130px; width:25%; }
.copy .source-note { font-size:14px; color:var(--ubs-muted); }
@media(max-width:950px) { .opening-copy { padding:30px 24px; } .deck { font-size:17px; } .subsidy-band { padding:0 28px; } .chapter { grid-template-columns:190px minmax(0,1fr); gap:25px; } .price-inputs { grid-template-columns:repeat(3,minmax(0,1fr)); } .result-ledger { grid-template-columns:repeat(2,minmax(0,1fr)); } .charter > div { grid-template-columns:1fr; gap:8px; } }
@media(max-width:700px) { .opening { grid-template-columns:1fr; } .opening-copy { padding:35px 24px; } h1 { font-size:52px; } .deck { max-width:45ch; font-size:18px; } .opening-note { margin-top:20px; } .opening-art { margin:0 0 0; } .hierarchy-nav { padding:14px 20px; gap:8px; font-size:13px; } .subsidy-band { padding:0 22px; } .chapter { display:block; padding:32px 0; } h2 { max-width:26ch; font-size:28px; margin-top:0; } .copy p { font-size:16px; line-height:1.8; } .price-instrument { margin:26px -10px 0; padding:22px 16px; } .price-inputs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; } .result-ledger dd { font-size:16px; } .model-rule { flex-direction:column; align-items:flex-start; gap:10px; } .copy .closing,.copy .thesis { font-size:23px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(forced-colors:active) { .interval { border:1px solid CanvasText; } .interval span { background:Highlight; forced-color-adjust:none; } .interval i { background:CanvasText; } input,a { forced-color-adjust:auto; } }
@media print { body,.subsidy-page { background:#fff; } .subsidy-page { width:100%; margin:0; box-shadow:none; } .price-inputs { display:none; } .chapter { break-inside:avoid; } .price-instrument { color:#000; background:#fff; } }
