/* Approval snapshot: portrait cards and charts backed by published history. */
#approval { background:radial-gradient(ellipse at top,#dfe7f2,#f5f7fa 65%); }
#approval .sectionHead { align-items:center; gap:24px; margin-bottom:24px; }
#approval .sectionHead > div { flex:1; min-width:0; }
#approval .sectionHead .eyebrow { display:block; width:fit-content; margin:0; padding:8px 22px; background:#002b70; color:#fff; font:italic 900 clamp(22px,3.2vw,40px)/1 Impact,'Arial Narrow',sans-serif; letter-spacing:1px; border-right:10px solid #e00023; transform:skew(-8deg); }
#approval .sectionHead h2 { display:table; margin:3px 0 0; padding:10px 20px; background:linear-gradient(110deg,#c4001c,#ef0027); color:white; font:900 clamp(30px,4.5vw,60px)/1 Impact,'Arial Narrow',sans-serif; letter-spacing:.5px; transform:skew(-8deg); box-shadow:0 3px 0 white; }
#approval .sectionHead h2 em { color:white; font-style:normal; }
#approval .sectionHead > div > p:last-child { margin:12px 0 0; color:#25354a; font:800 11px/1.5 Arial,sans-serif; letter-spacing:3px; }
#approval .sectionHead .ghost { flex:none; color:#00338d; border:1px solid #aebed2; border-radius:5px; background:#fff; padding:12px 16px; font:800 10px/1.3 Arial,sans-serif; letter-spacing:1px; }
#approval .approvalGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; height:auto; gap:20px; margin-bottom:20px; }
#approval .approvalGrid > .approvalQuote { display:grid; grid-template-columns:43% minmax(0,1fr); grid-template-rows:230px auto auto; align-items:stretch; gap:0; min-height:0; padding:0; position:relative; overflow:hidden; border:2px solid #fff; border-radius:16px; background:linear-gradient(125deg,#edf1f6 0%,#fff 62%,#e1e7ee 100%)!important; box-shadow:0 0 0 1px #a8b8cc,0 8px 20px #002b701c,inset 0 -4px #00338d; }
#approval .quotePortrait { min-width:0; position:relative; overflow:hidden; background:linear-gradient(115deg,#d3dce9,#eef2f7); clip-path:polygon(0 0,100% 0,90% 100%,0 100%); }
#approval .quotePortrait img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center 18%; mix-blend-mode:multiply; }
#approval .quotePortrait > span { position:absolute; inset:auto 0 0; padding:9px 12px; background:#002b70ec; color:#fff; font:800 9px/1.3 Arial,sans-serif; letter-spacing:1.1px; }
#approval .quoteIdentity { padding:20px 14px 14px 4px; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
#approval .quoteIdentity h3 { box-sizing:border-box; width:100%; margin:0 0 10px; padding:10px 14px; background:linear-gradient(120deg,#002354,#003b96); border-right:8px solid #e00023; color:#fff; font:italic 900 clamp(24px,2.6vw,38px)/1.02 Impact,'Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.4px; transform:skew(-8deg); overflow-wrap:normal; }
#approval .quoteValue { display:flex; align-items:baseline; gap:3px; color:#df001f; font:900 clamp(66px,7vw,100px)/1 Impact,'Arial Narrow',sans-serif; letter-spacing:0; white-space:nowrap; text-shadow:0 2px 0 #fff; }
#approval .quoteValue small { font-size:.56em; letter-spacing:-1px; }
#approval .quoteCaption { color:#59697f; margin-top:5px; font:800 8px/1.5 Arial,sans-serif; letter-spacing:2px; }
#approval .quoteMarket { grid-column:1/-1; margin:0 12px; padding:12px 0 7px; border-top:1px solid #c4cfdd; min-width:0; }
#approval .quoteMarketHead,#approval .quoteMarketFoot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 10px; font:800 8px/1.4 Arial,sans-serif; letter-spacing:.7px; color:#53657c; }
#approval .quoteMarketHead > span { color:#00338d; }
#approval .quoteMarketHead b { font-size:8px; }
#approval .quoteMarketHead .up { color:#08744d; }
#approval .quoteMarketHead .down { color:#ce0023; }
#approval .quoteMarket svg { display:block; width:100%; height:auto; overflow:visible; margin-top:7px; }
#approval .quoteMarket svg text { font:9px Arial,sans-serif; fill:#687a90; }
#approval .quoteGridLine { stroke:#d8e1ed; stroke-width:1; stroke-dasharray:3 4; }
#approval .quoteTrendLine { fill:none; stroke:#00338d; stroke-width:2.7; stroke-linejoin:round; stroke-linecap:round; }
#approval .quoteDataPoint { fill:transparent; stroke:transparent; cursor:crosshair; }
#approval .quoteDataPoint:hover,#approval .quoteDataPoint:focus { fill:#fff; stroke:#00338d; stroke-width:2; outline:none; }
#approval .quoteLatest { fill:#e00023; stroke:#fff; stroke-width:2; pointer-events:none; }
#approval .quoteMarketFoot { font-size:7px; margin-top:2px; }
#approval .quoteEmpty { min-height:70px; display:grid; place-items:center; font:12px/1.5 Arial,sans-serif; color:#59697f; }
#approval .quoteRate { grid-column:1/-1; border-top:1px solid #dce3ed; margin:0 12px 4px; }
#approval .quoteRate summary { padding:10px 0; cursor:pointer; color:#00338d; font:800 9px/1.3 Arial,sans-serif; letter-spacing:1px; }
#approval .quoteRate summary:focus-visible,#approval .sectionHead button:focus-visible { outline:3px solid #0074d9; outline-offset:2px; }
#approval .quoteRate .interactiveApprovalMeter { max-width:260px; margin:0 auto 12px; }
#approval .deviceNote { color:#586b82; line-height:1.6; }
@media (min-width:1500px) { #approval .approvalGrid > .approvalQuote { grid-template-rows:270px auto auto; } }
@media (max-width:1000px) { #approval .approvalGrid { gap:14px; } #approval .approvalGrid > .approvalQuote { grid-template-rows:205px auto auto; } #approval .quoteIdentity h3 { font-size:27px; } #approval .quoteValue { font-size:76px; } }
@media (max-width:760px) { #approval .sectionHead { display:block; } #approval .sectionHead .ghost { margin-top:16px; } #approval .sectionHead > div > p:last-child { font-size:9px; letter-spacing:1.7px; } #approval .approvalGrid { grid-template-columns:1fr; gap:18px; } #approval .approvalGrid > .approvalQuote { grid-template-rows:220px auto auto; } #approval .quoteIdentity h3 { font-size:clamp(26px,7.5vw,38px); } #approval .quoteValue { font-size:clamp(80px,22vw,106px); } }
@media (max-width:360px) { #approval .quoteIdentity h3 { font-size:24px; padding:9px; } #approval .approvalGrid > .approvalQuote { grid-template-rows:195px auto auto; } #approval .quoteValue { font-size:74px; } }

/* Keep the four-person snapshot within the space below the site navigation. */
#approval.activeSheet { display:flex!important; flex-direction:column; height:calc(100dvh - 64px)!important; min-height:0!important; max-height:none!important; box-sizing:border-box; padding:12px 28px 10px!important; gap:10px; }
#approval .sectionHead { flex:none; margin:0; gap:14px; }
#approval .sectionHead .eyebrow { padding:5px 14px; font-size:22px; }
#approval .sectionHead h2 { padding:5px 14px; font-size:34px; }
#approval .sectionHead > div > p:last-child { margin-top:7px; font-size:8px; letter-spacing:2px; }
#approval .approvalGrid { flex:1; min-height:0; margin:0; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
#approval .approvalGrid > .approvalQuote { grid-template-rows:minmax(0,1fr) 88px 26px; min-height:0; border-radius:12px; }
#approval .quotePortrait img { object-fit:contain; object-position:center bottom; }
#approval .quotePortrait > span { padding:6px 10px; font-size:8px; }
#approval .quoteIdentity { padding:8px 12px 5px 4px; }
#approval .quoteIdentity h3 { margin-bottom:5px; padding:6px 10px; font-size:clamp(20px,2.4vw,32px); }
#approval .quoteValue { font-size:clamp(44px,8vh,80px); }
#approval .quoteCaption { margin-top:2px; font-size:7px; letter-spacing:1.4px; }
#approval .quoteMarket { padding:5px 0 3px; margin:0 10px; display:grid; grid-template-rows:12px minmax(0,1fr) 10px; }
#approval .quoteMarket svg { width:100%; height:100%; min-height:0; margin:0; }
#approval .quoteMarket svg text { font-size:13px; }
#approval .quoteMarketHead,#approval .quoteMarketFoot { flex-wrap:nowrap; font-size:7px; letter-spacing:.3px; gap:5px; }
#approval .quoteMarketHead b { font-size:7px; }
#approval .quoteMarketFoot { margin:0; font-size:6px; }
#approval .quoteEmpty { min-height:0; margin:0; font-size:10px; }
#approval .quoteRate { margin:0 10px 3px; }
#approval .quoteRate summary { padding:6px 0; font-size:8px; }
#approval .quoteRate[open] { position:absolute; z-index:10; bottom:0; left:0; right:0; padding:0 8px; border-radius:8px; background:#fff; box-shadow:0 -4px 18px #002b7030; }
#approval .deviceNote { flex:none; margin:0; font-size:8px; line-height:1.4; }
/* Center the snapshot and cap cards at roughly 534px each on wide displays. */
#approval > .sectionHead,
#approval > .approvalGrid,
#approval > .deviceNote { width:100%; max-width:1080px; align-self:center; box-sizing:border-box; }
@media (max-width:760px) {
  #approval.activeSheet { padding:10px 12px 8px!important; gap:8px; }
  #approval .sectionHead { display:flex; align-items:center; gap:8px; }
  #approval .sectionHead .eyebrow { font-size:17px; padding:4px 10px; border-right-width:6px; }
  #approval .sectionHead h2 { font-size:23px; padding:5px 8px; }
  #approval .sectionHead > div > p:last-child { font-size:6px; letter-spacing:.8px; margin-top:6px; }
  #approval .sectionHead .ghost { margin:0; max-width:94px; padding:9px 7px; font-size:7px; letter-spacing:.3px; }
  #approval .approvalGrid { gap:9px; }
  #approval .approvalGrid > .approvalQuote { grid-template-columns:38% minmax(0,1fr); grid-template-rows:minmax(0,1fr) 86px 26px; border-radius:10px; }
  #approval .quotePortrait > span { padding:5px 3px; font-size:5px; letter-spacing:0; }
  #approval .quotePortrait img { object-fit:cover; object-position:center 18%; }
  #approval .quoteIdentity { padding:7px 5px 5px 0; }
  #approval .quoteIdentity h3 { font-size:clamp(14px,4vw,23px); padding:5px; border-right-width:4px; overflow-wrap:normal; }
  #approval .quoteValue { font-size:clamp(34px,7vh,60px); gap:1px; }
  #approval .quoteCaption { font-size:5px; letter-spacing:.3px; text-align:center; }
  #approval .quoteMarket { margin:0 5px; grid-template-rows:24px minmax(0,1fr) 9px; }
  #approval .quoteMarketHead { display:block; font-size:6px; }
  #approval .quoteMarketHead b { display:block; margin-top:2px; font-size:6px; }
  #approval .quoteMarketFoot { font-size:5px; }
  #approval .quoteMarketFoot span:last-child { display:none; }
  #approval .quoteRate { margin-inline:5px; }
  #approval .quoteRate summary { font-size:6px; letter-spacing:0; }
  #approval .deviceNote { font-size:6px; }
}
@media (max-height:620px) {
  #approval.activeSheet { gap:6px; padding-top:6px!important; padding-bottom:6px!important; }
  #approval .sectionHead .eyebrow { font-size:15px; padding-block:3px; }
  #approval .sectionHead h2 { font-size:23px; padding-block:3px; }
  #approval .sectionHead > div > p:last-child { display:none; }
  #approval .approvalGrid { gap:8px; }
  #approval .approvalGrid > .approvalQuote { grid-template-rows:minmax(0,1fr) 66px 22px; }
  #approval .quoteIdentity h3 { font-size:16px; padding-block:4px; }
  #approval .quoteValue { font-size:34px; }
  #approval .quoteCaption { display:none; }
  #approval .quoteRate summary { padding-block:4px; }
}
