/* Shared accessibility layer: contrast, keyboard focus, reflow and touch targets. */
:root{--green:#0a7049;--green-hover:#075737;--muted:#4b605a;--control-border:#697c71}
html{scroll-padding-block:7rem}
body{overflow-wrap:break-word}
main,section,article,fieldset,dialog{min-width:0}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button,summary{min-height:44px}
a,button,input,select,summary,[tabindex]{scroll-margin-block:7rem}
:focus-visible{outline:3px solid #102b2e!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important}
.skip{z-index:1000;font-size:1rem}
.skip:focus{top:12px}
.nav nav a,.footer-top nav a,.secondary-link,.source-link{display:inline-flex;align-items:center;min-height:44px}
.footer-top nav,.footer-bottom{flex-wrap:wrap}
.footer-bottom a{display:inline-block;min-height:24px;text-decoration:underline;text-underline-offset:4px}
.legal-links a,.legal-document a,.waitlist-privacy a{overflow-wrap:anywhere}
.legal-links{scroll-margin-top:7rem}
.fredd-site footer{padding-bottom:110px}
.eyebrow,.program-number,.price-note,.decision-owner>span,.programs-note,.finder-intro small,.finder-top,.finder-note,.source-link,.lab-header,.range-limits,.lab-disclosure,.example-label,.responsibility-row>span,.setup-disclaimer,.waitlist-privacy,.waitlist-field small,.chat-heading p,.chat-message-label,.chat-bottom p,.chat-reset,.hero-risk,.launch-note,.legal,.footer-bottom,.window-footer,.demo-disclosure,.nameplate-label,.preview-label,.overline{font-size:.875rem!important}
.legal,.launch-note,.hero-risk{line-height:1.75}
.legal strong{color:var(--ink)}
.fredd-nameplate .nameplate-label,.fredd-speech .eyebrow{font-size:.875rem!important}
.waitlist-field input,.waitlist-field select,.chat-input-row input,.finder-options button,.setup-program-options button,.question-buttons button,.readiness-option,.chat-option,.menu-toggle{border-color:var(--control-border)}
input::placeholder{color:var(--muted);opacity:1}
input[type=range]{min-height:44px;accent-color:var(--green)}
input[type=radio]{accent-color:var(--green)}
.program-tabs button[aria-selected=true],.workspace-tabs button[aria-selected=true]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.question-buttons button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}
.learning-copy summary{display:list-item;list-style:disclosure-closed;padding:10px 0;line-height:1.5}
.learning-copy details[open] summary{list-style:disclosure-open}
.learning-copy summary:after{content:none}
.learning-copy summary::-webkit-details-marker{display:inline}
.program-tabs,.workspace-tabs,.finder-top,.window-top{flex-wrap:wrap}
.program-tabs button{flex:1 1 8rem;white-space:normal}
.workspace-tabs button{flex:1 1 5rem}
.program-card,.contribution-lab,.managed-explainer,.learning-copy,.security-copy{min-width:0}
.learning-copy h4.workspace-title{font-size:24px;line-height:1.3;margin-top:8px}
.workspace-heading .workspace-title{font-size:24px;line-height:1.3;margin-top:8px}
#demo-title{font:600 18px/1.35 var(--display);letter-spacing:-.025em;margin:0}
.criteria>div,.profile-summary{min-width:0}
.criteria span,.criteria strong,.program-price,.calculator-totals strong{overflow-wrap:anywhere}
.field-error{font-size:.875rem;color:#793c2c;line-height:1.6;margin-top:2px}
[aria-invalid=true]{border:2px solid #963c28!important}
.form-status{font-size:1rem;line-height:1.6;margin-top:12px;color:var(--ink)}
.chat-panel{overflow-y:auto;scroll-padding-block:20px}
.chat-history{flex:1 0 auto;min-height:12rem;overflow-y:visible}
.chat-heading{align-items:flex-start}
.chat-heading>div{min-width:0}
.chat-input-row,.chat-bottom{flex-wrap:wrap}
.chat-input-row input{flex:1 1 10rem}
.chat-send{min-height:44px}
.chat-bottom p{flex:1 1 10rem}
.chat-options button{max-width:100%;overflow-wrap:anywhere}
.chat-compose{position:static}
dialog:not(.chat-panel){scroll-padding-block:24px;padding-top:60px}
.close-dialog{width:44px;height:44px}
.setup-dialog-top{flex-wrap:wrap}
#setup-form fieldset{min-inline-size:0}
.readiness-option{min-height:44px}
.readiness-option input{margin-top:4px}
.brand{max-width:100%}
.accessibility-contact{font-size:1rem;line-height:1.75}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:820px){
 header{position:relative}
 .nav{flex-wrap:wrap}
 .nav #navigation.open{position:static;flex-basis:100%;max-height:none}
 .learning-grid,.finder-section,.security{grid-template-columns:minmax(0,1fr)}
 .learning-panel{padding:24px 16px}
 .chat-panel{height:auto;max-height:calc(100dvh - 20px)}
 .chat-history{flex-basis:auto}
}
@media(max-width:480px){
 .fredd-stage{grid-template-columns:minmax(0,1fr);gap:12px}
 .fredd-speech{grid-column:1;grid-row:1;width:100%;max-width:100%;transform:none;margin:0}
 .fredd-hero-image{grid-column:1;grid-row:2;width:70%;max-width:240px;justify-self:center;margin:0}
 .fredd-nameplate{grid-row:3;width:100%;max-width:100%;margin:0;transform:none;flex-wrap:wrap;gap:12px}
 .fredd-nameplate>p{border-left:0;padding-left:0}
 .fredd-halo{display:none}
 .contribution-result .calculator-totals{grid-template-columns:minmax(0,1fr)}
 .custody-pair,.profile-summary{grid-template-columns:minmax(0,1fr)}
 .profile-summary>div+div{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
 .responsibility-row,.managed-minimum{overflow-wrap:anywhere}
 .chat-panel{inset:auto 8px 8px;width:calc(100% - 16px);max-width:calc(100% - 16px)}
 .chat-heading img{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){html,.chat-panel,.chat-history{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){
 :focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}
 button,.button,input,select,.readiness-option{border:1px solid ButtonText}
 .program-tabs button[aria-selected=true],.question-buttons button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-3px}
}
