.professional-statement{margin-block:16px;color:var(--text,#1c211c);min-width:0;text-align:left;overflow-wrap:anywhere}
.professional-statement>details>summary{font-size:14px;font-weight:600;cursor:pointer;line-height:1.65}
.professional-statement>details>summary{min-height:36px;align-content:center}
.professional-statement h5{font-size:14px;font-weight:600;line-height:1.65;margin:16px 0 8px}
.professional-statement-pieces dl{margin:0;font-size:12px;line-height:1.8}
.professional-statement .professional-statement-pieces dl>div{display:block;margin:8px 0}
.professional-statement-pieces dt{font-weight:600}
.professional-statement .professional-statement-pieces dd{margin:0;text-align:left;white-space:pre-line}
.professional-statement-empty{font-size:12px;line-height:1.65;margin:8px 0;color:#62695f}
.professional-statement-copy{width:100%;min-width:0;max-width:none;font-size:12px;line-height:1.8}
.professional-statement-copy p{white-space:pre-line;margin:12px 0}
.professional-statement.is-compact .professional-statement-body{font-size:12px;line-height:1.5;max-height:90px;max-height:5lh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;border:0;border-radius:0;box-shadow:none;padding:0}
.professional-statement.is-compact .professional-statement-body>:first-child,.professional-statement.is-compact .professional-statement-copy>p:first-child{margin-top:0}
.professional-statement.is-compact .professional-statement-body:focus-visible{outline:2px solid #62695f;outline-offset:2px}
.professional-statement small{display:block;font-size:10px;line-height:1.65;color:#62695f;font-weight:400}
.professional-statement-references{margin-top:12px;font-size:12px;line-height:1.65}
.professional-statement-references summary{cursor:pointer}
.professional-statement-references ul{padding-left:20px;margin:8px 0}
.professional-statement-references li{margin-bottom:12px}
.professional-statement-references p{margin:4px 0}
.professional-statement a{color:inherit;text-underline-offset:3px}
.professional-statement summary:focus-visible,.professional-statement a:focus-visible{outline:2px solid #62695f;outline-offset:4px}
/* Standalone output: both disclosures remain visible beside their own image.
   Each body scrolls independently; text never dictates the image/row height. */
.professional-statement.is-sidecar{display:flex;flex-direction:column;gap:12px;min-height:0;margin:0;overflow:hidden}
.professional-statement.is-sidecar>details{position:relative;flex:0 0 36px;min-height:0;margin:0;overflow:hidden}
.professional-statement.is-sidecar>.professional-statement-design[open]{flex:2 1 0;min-height:64px}
.professional-statement.is-sidecar>.professional-statement-references[open]{flex:1 1 0;min-height:64px}
.professional-statement.is-sidecar>details>summary{box-sizing:border-box;height:36px;min-height:36px;margin:0}
.professional-statement.is-sidecar .professional-statement-body,.professional-statement.is-sidecar .professional-statement-reference-body{position:absolute;inset:36px 0 0;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:4px;padding:0 4px 4px}
.professional-statement.is-sidecar :is(.professional-statement-body,.professional-statement-reference-body):focus-visible{outline:2px solid #62695f;outline-offset:-2px}
/* Fullscreen reading uses viewport bounds; plan previews opt into five lines
   above, while standalone sidecars retain their independent image-height layout. */
.professional-statement.is-scrollable{min-height:0;margin:0}
.professional-statement.is-scrollable>details>summary{flex:0 0 auto}
.professional-statement.is-scrollable .professional-statement-body{min-width:0;min-height:0;max-height:min(40dvh,360px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:4px;padding:0 4px 4px}
.professional-statement.is-scrollable .professional-statement-body:focus-visible{outline:2px solid #62695f;outline-offset:-2px}
/* Native details has a content wrapper. Flatten that wrapper only while open
   so the body, not the entire explanation, consumes the remaining flex space. */
@supports selector(details::details-content){
 .professional-statement.is-scrollable>details[open]{height:100%;min-height:0;display:flex;flex-direction:column}
 .professional-statement.is-scrollable>details[open]::details-content{display:contents}
 .professional-statement.is-scrollable>details[open]>.professional-statement-body{flex:1 1 auto;max-height:none}
}
