/* Johnson House Center for Social Advocacy — scoped, no 100vw offsets */
#jhhs-csa{--jhcs-navy:#073646;--jhcs-dark:#032e3c;--jhcs-teal:#087d84;--jhcs-gold:#eab64d;--jhcs-ink:#123b49;--jhcs-muted:#516e77;--jhcs-cream:#f7f5ee;position:relative;width:100%;max-width:100%;margin:0 auto;overflow:clip;background:#fff;color:var(--jhcs-ink);font:400 19px/1.72 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
#jhhs-csa *,#jhhs-csa *:before,#jhhs-csa *:after{box-sizing:border-box}
#jhhs-csa [hidden]{display:none!important}
#jhhs-csa a{text-decoration:none}#jhhs-csa a:focus-visible,#jhhs-csa button:focus-visible,#jhhs-csa summary:focus-visible{outline:3px solid var(--jhcs-gold);outline-offset:4px}
#jhhs-csa img{max-width:100%;height:auto;display:block}
#jhhs-csa h1,#jhhs-csa h2,#jhhs-csa h3,#jhhs-csa h4{font-family:Georgia,"Times New Roman",serif;font-weight:700;color:inherit;line-height:1.13;margin:0}#jhhs-csa p{margin:0 0 18px}#jhhs-csa h2{font-size:clamp(38px,4.1vw,61px);letter-spacing:-.025em}#jhhs-csa h2 em{color:var(--jhcs-teal);font-weight:400}#jhhs-csa h3{font-size:clamp(27px,2.7vw,39px)}#jhhs-csa h4{font-size:25px}
#jhhs-csa .jhcs-container{width:min(1240px,calc(100% - 64px));margin-inline:auto;min-width:0}
#jhhs-csa .jhcs-overline{font:800 14px/1.45 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--jhcs-teal);margin:0 0 16px}
#jhhs-csa .jhcs-hero{position:relative;isolation:isolate;background:var(--jhcs-dark);color:#fff;overflow:hidden;padding:48px 0 58px}#jhhs-csa .jhcs-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(1,42,54,.98) 0%,rgba(1,42,54,.90) 48%,rgba(1,42,54,.77) 100%),var(--jhcs-bg);background-position:center;background-size:cover}
#jhhs-csa .jhcs-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr);gap:clamp(28px,5vw,85px);align-items:center}
#jhhs-csa .jhcs-breadcrumb{display:flex;align-items:center;gap:14px;color:#cbdbdf;font-size:15px;margin:0 0 38px}#jhhs-csa .jhcs-breadcrumb a{color:#fff}#jhhs-csa .jhcs-breadcrumb span{color:var(--jhcs-gold)}
#jhhs-csa .jhcs-hero-overline{color:var(--jhcs-gold)}#jhhs-csa .jhcs-herokicker{font-weight:800;color:#f3d99c;letter-spacing:.14em;font-size:14px;line-height:1.5;margin:0 0 16px}
#jhhs-csa .jhcs-hero h1{font-size:clamp(51px,5.5vw,85px);letter-spacing:-.043em;max-width:780px;line-height:1.04;color:#fff;margin:0 0 27px}#jhhs-csa .jhcs-hero-desc{color:#dbe9e9;font-size:clamp(19px,1.8vw,23px);line-height:1.65;max-width:700px}
#jhhs-csa .jhcs-heroactions,#jhhs-csa .jhcs-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px}
#jhhs-csa .jhcs-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:17px 23px;font-size:18px;font-weight:800;line-height:1.3;min-height:55px;border-radius:3px;text-align:center}#jhhs-csa .jhcs-btn-gold{background:var(--jhcs-gold);color:#072c3a}#jhhs-csa .jhcs-btn-outline{border:2px solid #b6d0d5;color:#fff;background:rgba(2,42,54,.3)}
#jhhs-csa .jhcs-micro{font-size:15px;color:#a9c6c9;letter-spacing:.06em;margin:30px 0 0}#jhhs-csa .jhcs-micro span{color:var(--jhcs-gold);margin:0 5px}
#jhhs-csa .jhcs-hero-visual{margin:0;justify-self:center;width:min(100%,385px);background:#183947;border:1px solid rgba(235,187,85,.48);padding:11px;box-shadow:0 25px 50px rgba(0,0,0,.25);transform:translateY(5px)}#jhhs-csa .jhcs-hero-art{width:100%;max-height:560px;object-fit:contain;object-position:50% 50%;background:#253443}#jhhs-csa .jhcs-hero-visual figcaption{padding:10px 2px 1px;text-align:center;font-size:13px;line-height:1.4;letter-spacing:.04em;color:#dce6e4}
#jhhs-csa .jhcs-sticky{position:sticky;top:0;z-index:30;border-bottom:1px solid #e4e1d6;background:rgba(248,246,238,.97);backdrop-filter:blur(10px)}#jhhs-csa .jhcs-scrolllinks{display:flex;gap:clamp(18px,2.6vw,39px);overflow-x:auto;scrollbar-width:thin;padding-block:15px}#jhhs-csa .jhcs-scrolllinks a{color:#234b56;font-size:16px;font-weight:750;white-space:nowrap}
#jhhs-csa .jhcs-section{padding:88px 0}#jhhs-csa .jhcs-mission-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,76px);align-items:center}#jhhs-csa .jhcs-mission-layout h2{margin-bottom:27px}#jhhs-csa .jhcs-mission-layout p:not(.jhcs-overline){color:var(--jhcs-muted);line-height:1.76}#jhhs-csa .jhcs-mission-layout p.jhcs-lead{color:var(--jhcs-ink);font-size:23px;font-weight:650;line-height:1.65}
#jhhs-csa .jhcs-mission-photo{margin:0;padding:14px 14px 12px;background:#eaf0e9}#jhhs-csa .jhcs-mission-photo img{width:100%;aspect-ratio:1.32;object-fit:cover}#jhhs-csa .jhcs-mission-photo figcaption{font-size:15px;margin-top:12px;color:#43616b;font-weight:700}
#jhhs-csa .jhcs-textlink{display:inline-flex;gap:12px;align-items:center;margin-top:10px;color:#087b83;font-weight:800;border-bottom:1px solid #a6c6c6;font-size:18px}
#jhhs-csa .jhcs-band{padding:85px 0;background:var(--jhcs-cream)}#jhhs-csa .jhcs-sectionhead{display:grid;grid-template-columns:1.15fr .75fr;gap:40px;align-items:end;margin-bottom:35px}#jhhs-csa .jhcs-sectionhead>p{font-size:20px;color:#55717a;line-height:1.65;margin:0}#jhhs-csa .jhcs-sectionhead h2{max-width:800px}
#jhhs-csa .jhcs-tabbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-bottom:2px solid #e0ddce;margin-bottom:0}#jhhs-csa .jhcs-tab{border:1px solid #dadbd2;border-bottom:0;padding:21px 23px;background:#fff;color:#4a6872;text-align:left;min-height:124px;font-size:16px;cursor:pointer}#jhhs-csa .jhcs-tab strong{display:block;color:var(--jhcs-ink);font-family:Georgia,serif;font-size:27px;line-height:1.2;margin:7px 0}#jhhs-csa .jhcs-tab span{display:block;font-size:15px}#jhhs-csa .jhcs-tab.is-active{background:#063d4e;color:#f4c56e;border-color:#063d4e}#jhhs-csa .jhcs-tab.is-active strong,#jhhs-csa .jhcs-tab.is-active span{color:white}
#jhhs-csa .jhcs-tabpanel{background:#fff;border:1px solid #deded5;border-top:0;padding:38px clamp(20px,4vw,52px) 45px;min-width:0}#jhhs-csa .jhcs-panel-heading{max-width:890px;margin-bottom:29px}#jhhs-csa .jhcs-panel-heading h3{font-size:38px;margin-bottom:12px}#jhhs-csa .jhcs-panel-heading p{color:#55717a;margin:0}
#jhhs-csa .jhcs-timeline{display:grid;grid-template-columns:1fr 1fr;gap:15px}#jhhs-csa .jhcs-milestone{display:grid;grid-template-columns:73px 1fr;gap:15px;background:#f9faf7;padding:23px 18px;border-left:4px solid #13a2a7}#jhhs-csa .jhcs-date{font-family:Georgia,serif;font-size:27px;color:#087f86;line-height:1.2;font-weight:bold}#jhhs-csa .jhcs-milestone p{font-size:17px;line-height:1.65;color:#4d6871;margin:0}#jhhs-csa .jhcs-smallnote{font-size:15px!important;color:#67818a!important;line-height:1.6!important;margin-top:18px!important}
#jhhs-csa .jhcs-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}#jhhs-csa .jhcs-pillars article{background:#f3f7f3;padding:22px;border-top:4px solid #e7b54e}#jhhs-csa .jhcs-pillars span,#jhhs-csa .jhcs-forward-grid span{font:700 20px/1 Georgia,serif;color:#087f86}#jhhs-csa .jhcs-pillars h4{margin:11px 0;font-size:28px}#jhhs-csa .jhcs-pillars p{font-size:17px;line-height:1.65;color:#59737a;margin:0}#jhhs-csa .jhcs-forward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}#jhhs-csa .jhcs-forward-grid article{background:#f4f5ed;border:1px solid #e3e4d9;padding:25px}#jhhs-csa .jhcs-forward-grid h4{font-size:26px;margin-top:10px;line-height:1.22}
#jhhs-csa .jhcs-impact{background:#083747;color:#fff;padding:65px 0}#jhhs-csa .jhcs-impact h2{color:#fff;font-size:42px;margin-bottom:8px}#jhhs-csa .jhcs-impactintro p:not(.jhcs-overline){color:#c9dcdc;font-size:16px}#jhhs-csa .jhcs-metricgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}#jhhs-csa .jhcs-metricgrid>div{padding:23px 15px;border:1px solid #4e7b84}#jhhs-csa .jhcs-metricgrid strong{display:block;font:700 49px/1.1 Georgia,serif;color:#f1c666}#jhhs-csa .jhcs-metricgrid span{font-size:16px;color:#e0ebed}
#jhhs-csa .jhcs-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#jhhs-csa .jhcs-program{border:1px solid #e2e9e6;display:grid;grid-template-columns:minmax(0, .87fr) minmax(0,1.13fr);min-height:285px;background:#fff}#jhhs-csa .jhcs-program-image{min-height:260px;background:#e6ecea;overflow:hidden;display:flex;align-items:center;justify-content:center}#jhhs-csa .jhcs-program-image img{width:100%;height:100%;object-fit:cover}#jhhs-csa .jhcs-program:nth-child(2) .jhcs-program-image img{object-fit:contain;padding:16px;background:#fff}#jhhs-csa .jhcs-program-copy{padding:23px}#jhhs-csa .jhcs-program h3{font-size:28px;margin:0 0 11px}#jhhs-csa .jhcs-program-copy p:not(.jhcs-overline){font-size:17px;color:#5a717a;line-height:1.55}#jhhs-csa .jhcs-program .jhcs-overline{font-size:11px;margin-bottom:10px}#jhhs-csa .jhcs-program .jhcs-textlink{font-size:17px}
#jhhs-csa .jhcs-issues{background:#f2f6f4;padding:76px 0}#jhhs-csa .jhcs-issueslayout{display:grid;grid-template-columns:.87fr 1.13fr;gap:58px}#jhhs-csa .jhcs-issues h2{font-size:clamp(36px,3.6vw,50px);margin-bottom:20px}#jhhs-csa .jhcs-issues p:not(.jhcs-overline){color:#59727a}#jhhs-csa .jhcs-issuechips{display:flex;flex-wrap:wrap;align-content:start;align-items:flex-start;gap:12px}#jhhs-csa .jhcs-issuechips span{padding:9px 16px;color:#174b55;background:white;border:1px solid #cddedc;font-size:16px;font-weight:700;border-radius:30px}
#jhhs-csa .jhcs-historylayout{display:grid;grid-template-columns:1.28fr .72fr;gap:70px;align-items:start}#jhhs-csa .jhcs-historylayout h2{margin-bottom:25px}#jhhs-csa .jhcs-historylayout p{color:#55717a}#jhhs-csa .jhcs-historydetail{border-top:1px solid #d6e1e0;border-bottom:1px solid #d6e1e0;margin-top:20px}#jhhs-csa .jhcs-historydetail summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#075864;padding:18px 0;font-weight:750;font-size:18px;list-style:none}#jhhs-csa .jhcs-historydetail summary::-webkit-details-marker{display:none}#jhhs-csa .jhcs-historydetail[open] summary span{transform:rotate(45deg)}#jhhs-csa .jhcs-historybody{padding:5px 0 21px}#jhhs-csa .jhcs-pullquote{background:var(--jhcs-navy);color:#fff;padding:34px}#jhhs-csa .jhcs-pullquote>span{color:var(--jhcs-gold);font:90px/1 Georgia,serif}#jhhs-csa .jhcs-pullquote p{font:normal 30px/1.4 Georgia,serif;color:#fff;margin:0 0 30px}#jhhs-csa .jhcs-quoteaction{font-size:15px;color:#f0d18a;letter-spacing:.12em;text-transform:uppercase;font-weight:750}
#jhhs-csa .jhcs-photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}#jhhs-csa .jhcs-galleryitem{display:block;background:#edf1ee;color:#123d49;min-height:240px}#jhhs-csa .jhcs-galleryitem img{width:100%;aspect-ratio:1.3;object-fit:cover}#jhhs-csa .jhcs-galleryitem span{display:block;padding:12px 13px;font-size:15px;font-weight:700}#jhhs-csa .jhcs-mediagrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}#jhhs-csa .jhcs-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
#jhhs-csa .jhcs-connect{padding:84px 0;background:linear-gradient(145deg,#082f3d,#064b59);color:#fff}#jhhs-csa .jhcs-connectgrid{display:grid;grid-template-columns:1fr .85fr;gap:76px}#jhhs-csa .jhcs-connect h2{font-size:clamp(42px,5vw,67px);color:#fff;margin-bottom:21px}#jhhs-csa .jhcs-connect p:not(.jhcs-overline){font-size:20px;color:#d9e5e7;line-height:1.7}#jhhs-csa .jhcs-connect .jhcs-overline{color:#f1c166}#jhhs-csa .jhcs-social{border-left:1px solid #42737f;padding-left:38px}#jhhs-csa .jhcs-social h3{color:#fff;font-size:34px;margin-bottom:24px}#jhhs-csa .jhcs-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}#jhhs-csa .jhcs-sociallink{display:flex;justify-content:space-between;align-items:center;gap:7px;background:rgba(255,255,255,.09);padding:13px 15px;color:#fff;font-size:17px;font-weight:760;border:1px solid #517781}#jhhs-csa .jhcs-sociallink span{color:var(--jhcs-gold)}#jhhs-csa .jhcs-resources{display:flex;gap:11px 19px;flex-wrap:wrap;margin-top:24px}#jhhs-csa .jhcs-resources .jhcs-textlink{color:#f1c166;border-color:#87aab1;font-size:16px}
@media(max-width:1100px){#jhhs-csa .jhcs-hero-layout{grid-template-columns:minmax(0,1.3fr) minmax(220px,.6fr);gap:30px}#jhhs-csa .jhcs-hero h1{font-size:clamp(45px,6vw,68px)}#jhhs-csa .jhcs-program{grid-template-columns:1fr}#jhhs-csa .jhcs-program-image{min-height:0;aspect-ratio:16/9}#jhhs-csa .jhcs-issueslayout,#jhhs-csa .jhcs-historylayout{gap:30px}}
@media(max-width:790px){#jhhs-csa .jhcs-container{width:calc(100% - 34px)}#jhhs-csa .jhcs-hero{padding:26px 0 43px}#jhhs-csa .jhcs-hero-layout,#jhhs-csa .jhcs-mission-layout,#jhhs-csa .jhcs-sectionhead,#jhhs-csa .jhcs-issueslayout,#jhhs-csa .jhcs-historylayout,#jhhs-csa .jhcs-connectgrid{grid-template-columns:1fr}#jhhs-csa .jhcs-hero-layout{gap:30px}#jhhs-csa .jhcs-hero-visual{width:min(100%,360px);justify-self:start}#jhhs-csa .jhcs-hero-art{max-height:430px}#jhhs-csa .jhcs-breadcrumb{margin-bottom:30px}#jhhs-csa .jhcs-sectionhead{gap:16px}#jhhs-csa .jhcs-section{padding:58px 0}#jhhs-csa .jhcs-band{padding:55px 0}#jhhs-csa .jhcs-timeline,#jhhs-csa .jhcs-program-grid,#jhhs-csa .jhcs-metricgrid{grid-template-columns:repeat(2,minmax(0,1fr))}#jhhs-csa .jhcs-pillars{grid-template-columns:1fr}#jhhs-csa .jhcs-issueslayout{gap:18px}#jhhs-csa .jhcs-social{border-left:0;border-top:1px solid #42737f;padding:30px 0 0}#jhhs-csa .jhcs-connectgrid{gap:30px}#jhhs-csa .jhcs-connect{padding:61px 0}}
@media(max-width:550px){#jhhs-csa{font-size:18px}#jhhs-csa .jhcs-hero h1{font-size:48px}#jhhs-csa h2{font-size:38px}#jhhs-csa .jhcs-hero-desc,#jhhs-csa .jhcs-connect p:not(.jhcs-overline){font-size:19px}#jhhs-csa .jhcs-btn{width:100%;padding:14px 15px;font-size:17px}#jhhs-csa .jhcs-heroactions,#jhhs-csa .jhcs-actions{gap:9px}#jhhs-csa .jhcs-tabbar{gap:5px}#jhhs-csa .jhcs-tab{padding:14px 8px;min-height:102px;font-size:14px}#jhhs-csa .jhcs-tab strong{font-size:19px}#jhhs-csa .jhcs-tab span{font-size:12px}#jhhs-csa .jhcs-tabpanel{padding:25px 16px}#jhhs-csa .jhcs-panel-heading h3{font-size:31px}#jhhs-csa .jhcs-timeline,#jhhs-csa .jhcs-forward-grid,#jhhs-csa .jhcs-program-grid,#jhhs-csa .jhcs-metricgrid,#jhhs-csa .jhcs-photogrid,#jhhs-csa .jhcs-mediagrid{grid-template-columns:1fr}#jhhs-csa .jhcs-milestone{grid-template-columns:70px 1fr;padding:18px 12px}#jhhs-csa .jhcs-sectionhead>p{font-size:18px}#jhhs-csa .jhcs-social-links{grid-template-columns:1fr 1fr}#jhhs-csa .jhcs-sociallink{font-size:15px;padding:11px}#jhhs-csa .jhcs-program-image{aspect-ratio:4/3}#jhhs-csa .jhcs-scrolllinks{gap:21px}#jhhs-csa .jhcs-issues{padding:56px 0}}
@media(prefers-reduced-motion:reduce){#jhhs-csa *,#jhhs-csa *:before,#jhhs-csa *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
