/* Solirion v52: product mechanics, rendered locally as HTML/SVG. */
.dv52-section{padding:92px 0 86px;background:#f3f0e8;color:#132f40;border-block:1px solid #d8d9d2}
.dv52-section *{box-sizing:border-box}
.dv52-section-heading{max-width:850px;margin-bottom:38px}
.dv52-section-heading h2{font-size:clamp(31px,3.35vw,47px);line-height:1.15;letter-spacing:-.035em;margin:20px 0}
.dv52-section-heading>p{max-width:760px;font-size:18px;line-height:1.8;color:#435c69}
.dv52-plate{border:1px solid #bdc9cb;background:#fcfcf8;min-width:0}
.dv52-plate-heading{display:flex;gap:24px;justify-content:space-between;align-items:baseline;padding:22px 28px;border-bottom:1px solid #cad2d1}
.dv52-plate-heading>span{font-size:12px;letter-spacing:.12em;color:#6c562f;font-weight:600;line-height:1.7}
.dv52-plate-heading>strong{font-size:15px;line-height:1.7;font-weight:500;text-align:right;color:#345263}
.dv52-kicker{display:block;font-size:12px;letter-spacing:.12em;font-weight:600;line-height:1.7;color:#7a6035}
.dv52-notes{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;margin:35px 0 0}
.dv52-notes>li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:14px;padding-top:18px;border-top:1px solid #bbc7c8}
.dv52-note-number{font-size:12px;color:#755b31;line-height:1.8}
.dv52-notes h3{font-size:18px;line-height:1.5;font-weight:500;margin:0 0 10px}
.dv52-notes p{font-size:15px!important;line-height:1.8!important;margin:0;color:#435c69}
.dv52-contract-spec{display:grid;grid-template-columns:1fr 1fr}
.dv52-contract-spec>div{padding:34px}
.dv52-contract-spec>div:first-child{border-right:1px solid #cad2d1}
.dv52-contract-spec h3{font-size:29px;letter-spacing:-.025em;margin:14px 0 24px}
.dv52-contract-spec dl{margin:0}
.dv52-contract-spec dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:18px;padding:13px 0;border-top:1px solid #d5dcda;font-size:15px;line-height:1.6}
.dv52-contract-spec dt{color:#4b6371}
.dv52-contract-spec dd{margin:0;color:#1b3d50}
.dv52-futures-track ol{padding:0;list-style:none;margin:22px 0 0}
.dv52-futures-track li{position:relative;padding:0 0 27px 35px;border-left:1px solid #b8a37b;margin-left:5px}
.dv52-futures-track li:last-child{padding-bottom:0;border-left-color:transparent}
.dv52-futures-track i{position:absolute;left:-5px;top:4px;width:9px;height:9px;background:#b49a68;border:2px solid #fcfcf8}
.dv52-futures-track li>span{color:#7a6035;font-size:12px;display:block;margin-bottom:7px}
.dv52-futures-track strong{font-size:19px;font-weight:500;display:block}
.dv52-futures-track p{font-size:15px!important;margin:7px 0 0;line-height:1.65!important;color:#435c69}
.dv52-chart-wrap{padding:32px 34px 8px}
.dv52-chart-wrap:focus-visible,.dv52-map-table:focus-visible{outline:2px solid #7d6132;outline-offset:4px}
.dv52-svg{display:block;width:100%;height:auto;overflow:visible}
.dv52-grid path{fill:none;stroke:#e0e5e1;stroke-width:1}
.dv52-axis{fill:none;stroke:#78909b;stroke-width:1.3}
.dv52-strike{fill:none;stroke:#a4b3b8;stroke-dasharray:4 5;stroke-width:1}
.dv52-call{fill:none;stroke:#173e55;stroke-width:4.5;stroke-linejoin:round}
.dv52-put{fill:none;stroke:#ad8a50;stroke-width:3.5;stroke-linejoin:round;stroke-dasharray:11 6}
.dv52-strike-point{fill:#173e55}
.dv52-svg-label{font:14px Arial,sans-serif;fill:#546d79}
.dv52-chart-tag rect{fill:#f1eee5}
.dv52-chart-tag text{font:11px Arial,sans-serif;letter-spacing:1px;fill:#355365}
.dv52-option-formulas{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #d0d9d7;margin:6px 34px 0}
.dv52-option-formulas>div{display:flex;align-items:center;gap:14px;padding:18px 14px}
.dv52-option-formulas>div+div{border-left:1px solid #d0d9d7}
.dv52-option-formulas strong{font-size:15px;font-weight:500}
.dv52-option-formulas code{font:16px Georgia,serif;color:#173e55;margin-left:auto}
.dv52-legend{width:25px;display:inline-block;border-top:3px solid #173e55;flex-shrink:0}
.dv52-legend-put{border-top-style:dashed;border-top-color:#ad8a50}
.dv52-notation{font-size:13px!important;line-height:1.8!important;color:#536c79;margin:0;padding:21px 34px}
.dv52-two-structures{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.dv52-two-structures .dv52-plate-heading{display:block;min-height:100px}
.dv52-two-structures .dv52-plate-heading>strong{display:block;text-align:left;margin-top:12px}
.dv52-forward-line{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:14px;padding:36px 28px 29px}
.dv52-forward-line strong{display:block;font-size:18px;font-weight:500;line-height:1.5;margin:14px 0 8px}
.dv52-forward-line p{font-size:14px!important;line-height:1.8!important;margin:0;color:#536c79}
.dv52-date{font-size:10px;letter-spacing:.08em;line-height:1.6;color:#7a6035}
.dv52-connector{font-size:24px;color:#a78a55;text-align:center}
.dv52-term-band{display:flex;flex-wrap:wrap;gap:0;background:#e9eeeb;padding:8px 16px;font-size:12px;line-height:1.7;letter-spacing:.025em;color:#405a66}
.dv52-term-band>span{padding:6px 12px}
.dv52-swap{padding:26px 30px 0}
.dv52-swap-leg{display:flex;justify-content:space-between;align-items:center;border-block:1px solid #c6d1cf;padding:13px 0;gap:16px}
.dv52-swap-leg>span{font-size:12px;color:#7a6035;letter-spacing:.1em}
.dv52-swap-leg strong{font-size:15px;font-weight:500}
.dv52-swap-dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center;padding:15px 0}
.dv52-swap-dates span{display:block;font-size:14px;color:#5d747f}
.dv52-swap-dates b{display:block;color:#9b7d44;font-size:31px;font-weight:400;margin-top:9px}
.dv52-perpetual-grid{display:grid;grid-template-columns:1fr 1.4fr}
.dv52-perpetual-core{border-right:1px solid #cad2d1;padding:35px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.dv52-perpetual-core>strong{font-size:35px;line-height:1.2;letter-spacing:-.025em;margin-top:18px;font-weight:400}
.dv52-perpetual-core>p{font-size:15px!important;line-height:1.8!important;max-width:260px;color:#536c79}
.dv52-continuity{font:112px Georgia,serif;color:#ac905b;line-height:1;margin-top:5px}
.dv52-perpetual-stack{padding:28px 34px}
.dv52-node{min-width:0}
.dv52-node>strong{font-size:21px;font-weight:400;line-height:1.35;display:block;margin:12px 0 10px;letter-spacing:-.02em}
.dv52-node>p{font-size:14px!important;line-height:1.8!important;color:#536c79;margin:0}
.dv52-perpetual-stack>.dv52-node{padding:18px 0;border-bottom:1px solid #d0d9d7}
.dv52-perpetual-stack>.dv52-node:first-child{padding-top:0}
.dv52-perpetual-stack>.dv52-node:last-child{border-bottom:0;padding-bottom:0}
.dv52-structure-equation{display:grid;grid-template-columns:1fr 30px 1fr 30px 1.1fr;gap:20px;align-items:center;padding:36px}
.dv52-operation{font-size:30px;font-weight:300;color:#9b7d44;text-align:center}
.dv52-node-result{background:#15394d;padding:24px}
.dv52-node-result .dv52-kicker{color:#e1c997}
.dv52-node-result strong{color:#fcfcf8}
.dv52-node-result p{color:#d2e0e5}
.dv52-condition-register{border-top:1px solid #c8d3d1;margin:0 36px;padding-top:20px}
.dv52-condition-register>span{font-size:10px;color:#7a6035;letter-spacing:.12em}
.dv52-condition-register dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:20px 0 0}
.dv52-condition-register dt{font-size:14px;color:#193d51}
.dv52-condition-register dd{font-size:13px;line-height:1.8;color:#536c79;margin:8px 0 0}
.dv52-exposure-bar{fill:#173e55}
.dv52-hedge-bar{fill:#b08f55}
.dv52-residual-bar{fill:#718d9c}
.dv52-bar-value{font:17px Arial,sans-serif;fill:#183c50}
.dv52-hedge-equation{display:flex;justify-content:center;align-items:center;gap:25px;padding:22px 30px;border-block:1px solid #d0d9d7;margin:0 34px;font-size:14px;line-height:1.7;text-align:center}
.dv52-hedge-equation>b{font-size:21px;font-weight:400;color:#a0844e}
.dv52-hedge-equation>strong{font-weight:500}
.dv52-map-objective{display:flex;align-items:center;justify-content:center;gap:28px;padding:27px;flex-wrap:wrap}
.dv52-map-objective>strong{font-size:24px;font-weight:400;letter-spacing:-.02em}
.dv52-map-objective>p{font-size:14px!important;margin:0;color:#536c79}
.dv52-map-objective>span:last-child{font-size:22px;color:#a0844e}
.dv52-map-table{margin:0 28px;overflow-x:auto}
.dv52-map-table table{width:100%;border-collapse:collapse;min-width:540px}
.dv52-map-table th,.dv52-map-table td{padding:15px 20px;text-align:left;border-bottom:1px solid #d1dad7;font-size:14px;line-height:1.7;font-weight:400}
.dv52-map-table thead th{color:#4b6371;font-size:12px;letter-spacing:.07em}
.dv52-map-table tbody th{color:#173e55;font-size:15px}
.dv52-map-table tbody td{color:#536c79}
.dv52-map-foundation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;padding:20px 24px;gap:24px;background:#15394d;color:#e9e2d1;font-size:10px;line-height:1.8;letter-spacing:.1em;margin-top:26px}
@media(max-width:900px){
 .dv52-section{padding-block:64px}
 .dv52-two-structures{gap:18px}
 .dv52-structure-equation{grid-template-columns:1fr 22px 1fr;padding:28px;gap:18px}
 .dv52-structure-equation>.dv52-operation:nth-of-type(2){display:none}
 .dv52-structure-equation>.dv52-node-result{grid-column:1/-1}
 .dv52-condition-register dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dv52-notes{gap:20px}
}
@media(max-width:650px){
 .dv52-section{padding-block:48px}
 .dv52-section-heading{margin-bottom:28px}
 .dv52-section-heading h2{font-size:31px;line-height:1.18}
 .dv52-section-heading>p{font-size:16px}
 .dv52-plate-heading{display:block;padding:19px 21px}
 .dv52-plate-heading>strong{display:block;text-align:left;margin-top:8px;font-size:14px}
 .dv52-contract-spec,.dv52-two-structures,.dv52-perpetual-grid{grid-template-columns:1fr}
 .dv52-contract-spec>div{padding:25px}
 .dv52-contract-spec>div:first-child,.dv52-perpetual-core{border-right:0;border-bottom:1px solid #cad2d1}
 .dv52-contract-spec h3{font-size:26px}
 .dv52-contract-spec dl>div{grid-template-columns:80px minmax(0,1fr);gap:13px;font-size:14px}
 .dv52-notes{grid-template-columns:1fr;gap:4px;margin-top:23px}
 .dv52-notes>li{padding-block:18px}
 .dv52-notes h3{font-size:17px;margin-bottom:5px}
 .dv52-chart-wrap{padding:22px 18px 6px;overflow-x:auto}
 .dv52-chart-wrap .dv52-svg{min-width:680px}
 .dv52-option-formulas{grid-template-columns:1fr;margin-inline:21px}
 .dv52-option-formulas>div{padding:15px 0}
 .dv52-option-formulas>div+div{border-left:0;border-top:1px solid #d0d9d7}
 .dv52-option-formulas code{font-size:15px}
 .dv52-notation{padding:20px 21px;font-size:13px!important}
 .dv52-two-structures .dv52-plate-heading{min-height:0}
 .dv52-forward-line{padding:27px 21px;gap:10px;grid-template-columns:1fr 22px 1fr}
 .dv52-forward-line strong{font-size:17px}
 .dv52-swap{padding-inline:24px}
 .dv52-perpetual-core{padding:28px;position:relative;min-height:210px;overflow:hidden}
 .dv52-perpetual-core>strong{font-size:30px;position:relative;z-index:1}
 .dv52-perpetual-core>p{max-width:210px;position:relative;z-index:1}
 .dv52-continuity{position:absolute;right:18px;bottom:0;font-size:100px;opacity:.32}
 .dv52-perpetual-stack{padding:25px}
 .dv52-structure-equation{padding:25px 21px;gap:14px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}
 .dv52-node>strong{font-size:18px}
 .dv52-node>p{font-size:13px!important}
 .dv52-node-result{margin-top:7px;padding:22px}
 .dv52-condition-register{margin-inline:21px}
 .dv52-condition-register dl{gap:20px}
 .dv52-hedge-equation{display:grid;grid-template-columns:1fr 18px 1fr;margin-inline:21px;padding:18px 0;gap:12px;font-size:13px}
 .dv52-hedge-equation>b:nth-of-type(2){display:none}
 .dv52-hedge-equation>strong{grid-column:1/-1;padding-top:12px;border-top:1px solid #d0d9d7}
 .dv52-map-objective{gap:14px;padding:23px}
 .dv52-map-objective .dv52-kicker{width:100%;text-align:center}
 .dv52-map-objective>strong{font-size:22px}
 .dv52-map-objective>p{font-size:13px!important}
 .dv52-map-table{margin-inline:18px}
 .dv52-map-foundation{grid-template-columns:1fr;text-align:left;padding:20px 24px;gap:13px}
 .dv52-term-band{padding-inline:12px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.dv52-section *{scroll-behavior:auto}}

/* Keep the result-node copy paired with its dark surface. */
body.institutional-site main .dv52-node.dv52-node-result p{color:#d2e0e5}
