.longevity-arc-container{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}
.vertical-text-wrapper{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;height:60%;padding-left:20px}
.vertical-text{writing-mode:vertical-rl;text-orientation:mixed;font-family:"ws_bergen_text",Arial,sans-serif;font-size:.875rem;color:#000a2d;letter-spacing:.1em;transform:rotate(180deg)}
.arc-chart-wrapper{display:flex;flex-direction:column;gap:0}
.arc-svg{width:100%;display:block;overflow:visible}
.arc-segment{stroke:none;cursor:default;pointer-events:none;transition:fill-opacity .25s ease}
.baseline-indicator{pointer-events:none;transition:opacity .25s ease}
.x-axis-labels{display:flex;gap:0;list-style:none;padding:0;margin:0;margin-top:1rem;position:relative}
.label-item{position:absolute;transform:translateX(-50%);min-width:120px;max-width:150px}
.label-item--total{position:relative;flex:0 0 auto;transform:none}
.label-button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;background:0;border:0;padding:1rem 1rem 1rem 0;cursor:pointer;text-align:left;border-radius:2px;transition:transform .2s cubic-bezier(0.16,1,0.3,1);min-height:44px}
.label-item--total .label-button{cursor:default;pointer-events:none}
.label-button:hover,.label-button.label-item--active,.label-item--active .label-button{transform:translateY(-2px)}
.label-button:active{transform:translateY(0)}
.label-button:focus-visible{outline:3px solid #1f6b52;outline-offset:2px}
.label-value{font-family:"ws_bergen_text",Arial,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#000a2d;line-height:1;transition:color .2s ease}
.label-button:hover .label-value,.label-button:focus-visible .label-value,.label-item--active .label-value{color:#2f4591}
.label-text{font-family:"ws_bergen_text",Arial,sans-serif;font-size:.8125rem;color:#000a2d;line-height:1.3;white-space:nowrap;text-decoration:underline;text-decoration-color:#000a2d;text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s ease}
.label-item--total .label-text{text-decoration:none}
.label-button:hover .label-text,.label-button:focus-visible .label-text,.label-item--active .label-text{text-decoration-color:#2f4591}
.source-wrapper{margin-top:1rem;margin-bottom:1rem;padding:.5em 0;border-top:2px solid #000a2d;border-bottom:2px solid #000a2d}
.source-text{font-family:"ws_bergen_text",Arial,sans-serif;font-size:.75rem;color:#000a2d;margin:0}
.tooltip-container{position:absolute;z-index:100;background:#000a2d;color:#fff;border-radius:6px;padding:1.5rem;min-width:220px;max-width:280px;box-shadow:0 8px 32px rgba(0,0,0,0.22);opacity:0;transform:translateY(8px) scale(0.97);transition:opacity .2s cubic-bezier(0.16,1,0.3,1),transform .2s cubic-bezier(0.16,1,0.3,1);pointer-events:none}
.tooltip-container[aria-hidden="false"]{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.tooltip-title{font-family:"ws_bergen_text",Arial,sans-serif;font-size:1rem;font-weight:600;line-height:1.3;margin:0}
.tooltip-count{font-size:1.5rem;font-family:"ws_bergen_text",Arial,sans-serif;font-weight:700;line-height:1;margin:0 0 .2rem 0}
.tooltip-percentage{font-size:.8125rem;opacity:.75;margin:0 0 1rem 0}
.tooltip-description{font-size:.875rem;line-height:1.55;opacity:.85;border-top:1px solid rgba(255,255,255,0.15);padding-top:1rem;margin:0}
@media(max-width:1024px){.label-value{font-size:clamp(1.25rem,2.5vw,1.75rem)}
.label-text{font-size:.75rem}
}
@media(max-width:768px){.longevity-arc-container{padding:30px 15px}
.label-value{font-size:1.5rem}
.label-text{font-size:.7rem}
.tooltip-container{min-width:180px;padding:1rem 1.25rem}
.tooltip-title{font-size:.9rem}
.tooltip-count{font-size:1.25rem}
.tooltip-description{font-size:.8125rem}
}
@media(max-width:640px){.longevity-arc-container{padding:20px 10px;display:flex;flex-direction:column;gap:1.5rem;overflow-x:hidden;box-sizing:border-box;width:100%;max-width:100vw}
.vertical-text-wrapper{position:static;left:auto;top:auto;transform:none;display:block;height:auto;padding-left:0;text-align:center;margin-bottom:1rem}
.vertical-text{writing-mode:horizontal-tb;text-orientation:initial;transform:none;font-size:.75rem}
.arc-chart-wrapper{display:flex;width:95%;flex-direction:row;align-items:center;gap:20px;margin-left:0;overflow:hidden;box-sizing:border-box}
.arc-svg{width:60%;flex-shrink:0}
.x-axis-labels{display:flex;width:40%;flex-direction:column;gap:1.5rem;margin-top:0;position:static;flex:1;padding-left:.5rem;overflow:hidden}
.label-item{position:static;transform:none;min-width:auto;max-width:none;width:70%}
.label-item--total{order:999;margin-top:1rem;padding-top:1rem;border-top:2px solid #e0e0e0}
.label-button{padding:.5rem 0;flex-direction:column;align-items:flex-start;gap:.25rem}
.label-value{font-size:1.75rem}
.label-text{font-size:.75rem;white-space:normal}
.source-wrapper{margin-top:0;margin-bottom:1rem}
.source-text{font-size:.75rem}
.tooltip-container{min-width:150px;max-width:calc(100vw - 60vw);left:10% !important;transform:translateX(-50%)}
}
.ws-container-fullwidth{width:100%;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.arc-segment,.label-button,.tooltip-container{transition:none}
}