[hidden]{display:none!important}
button,input{font:inherit}
.eyebrow,.quote span{font-size:.875rem}
.hero .eyebrow{font-size:.875rem}
.legal{font-size:.875rem}
.policy-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:30px auto 20px;max-width:1240px}
footer .policy-links{display:flex}
.policy-links a,.text-button{font-size:1rem;text-decoration:underline;text-underline-offset:4px}
.text-button{border:0;background:none;color:inherit;padding:10px 4px;cursor:pointer;min-height:44px}
.fundraising-disclosure{max-width:1240px;margin:auto;padding-top:24px;border-top:1px solid #63677a;font-size:.875rem;line-height:1.65;color:#eeeef4}
.fundraising-disclosure p+p{margin-top:14px}
.policy-content{max-width:960px}
.policy-content h2{font-size:2rem;margin:36px 0 18px}
.policy-content h2:first-child{margin-top:0}
.policy-content p,.policy-content li{color:var(--ink)}
.policy-content a{color:var(--deep);text-decoration:underline}
.policy-content .button.purple{color:white}
.policy-content table{width:100%;border-collapse:collapse;margin:25px 0;font-size:1rem}
.policy-content caption{text-align:left;font-weight:bold;padding-bottom:12px}
.policy-content th,.policy-content td{padding:14px;border:1px solid #8a8196;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.policy-content th{background:#f4f1f8}
.privacy-notice{max-width:1240px;margin:24px auto;padding:28px;background:#f4f1f8;color:var(--ink);border:2px solid var(--purple);border-radius:8px}
.privacy-notice h2{font-size:1.8rem;margin-bottom:14px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;align-items:center}
.privacy-actions .button{cursor:pointer}
dialog{max-width:680px;width:calc(100% - 32px);max-height:85dvh;overflow-y:auto;padding:30px;border:2px solid var(--purple);border-radius:8px;color:var(--ink);background:white}
dialog::backdrop{background:rgba(10,10,30,.7)}
dialog h2{font-size:2rem;margin-bottom:20px}
dialog p{margin-top:16px}
.setting{display:flex;align-items:center;gap:14px;margin:20px 0;font-size:1.1rem;cursor:pointer}
.setting input{width:24px;height:24px;flex-shrink:0;accent-color:var(--purple)}
.embed-placeholder{padding:22px;background:white;color:var(--ink);border:1px solid #8a8196;border-radius:6px}
.drive .embed-placeholder p{color:var(--ink)}
.embed-placeholder p:first-child{font-weight:700;margin:0 0 12px}
.embed-placeholder p{font-size:1rem;line-height:1.6;margin:0 0 18px}
.embed-placeholder a{display:inline-block;color:var(--deep);text-decoration:underline;padding:12px 0;margin-top:5px}
.embed-gate iframe{display:block;width:100%;border:0}
.contactform .embed-gate iframe{height:850px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.large-text{font-size:125%}
.reduce-motion{scroll-behavior:auto}
.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.reduce-motion .button:hover{transform:none}
body{overflow-wrap:break-word}
.high-contrast body,.high-contrast header,.high-contrast .pagetop,.high-contrast .quote,.high-contrast .privacy-notice,.high-contrast .contactform,.high-contrast .policy-content th{background:#fff;color:#000}
.high-contrast p,.high-contrast h1,.high-contrast h2,.high-contrast h3,.high-contrast em,.high-contrast .eyebrow,.high-contrast .caption,.high-contrast .roles{color:#000}
.high-contrast footer,.high-contrast .newsletter,.high-contrast .drive,.high-contrast .honors,.high-contrast .ribbon,.high-contrast .heroimage figcaption{background:#000;color:#fff}
.high-contrast footer *,.high-contrast .newsletter *,.high-contrast .drive>p,.high-contrast .drive>h3,.high-contrast .drive>.eyebrow,.high-contrast .honors *{color:#fff}
.high-contrast .button{background:#000;color:#fff;border:2px solid #000}
.high-contrast footer a,.high-contrast .drive>.button,.high-contrast .newsletter>.button{background:#fff;color:#000}
.high-contrast .outline,.high-contrast .embed-placeholder,.high-contrast .embed-placeholder p{background:#fff;color:#000}
.high-contrast .embed-placeholder a{color:#000}
.high-contrast .button.white{color:#000;background:#fff}
.high-contrast :focus-visible{outline:3px solid #005fcc;outline-offset:4px}
.button,.menu{min-height:48px}
@media(max-width:900px){.large-text .hero,.large-text .intro,.large-text .founderlead,.large-text .contactgrid,.large-text .biography{grid-template-columns:1fr}.large-text .navwrap{flex-wrap:wrap}.large-text header nav{flex-wrap:wrap}.privacy-notice{margin:20px}.policy-links{gap:15px}}
@media(max-width:680px){.policy-content table,.policy-content th,.policy-content td{font-size:.875rem}.policy-content th,.policy-content td{padding:8px}.privacy-actions{align-items:stretch}.privacy-actions .button{width:100%}dialog{padding:22px}.privacy-notice{padding:22px}.high-contrast .policy-links{background:#000}.large-text h1{font-size:2.7rem}.legal{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.button:hover{transform:none}}

.construction-notice{background:#f3cf65;color:#2d1646;text-align:center;padding:.65rem 1rem;font-size:.95rem;font-weight:700;line-height:1.5;border-bottom:1px solid #2d1646;}
.high-contrast .construction-notice{background:#fff;color:#000;border-color:#000;}
