/* One framework, three applications; extends the established ALIŌ palette. */
.framework-intro{padding:90px 6% 70px;background:var(--paper)}
.framework-intro h1{font-size:clamp(3rem,6.3vw,6.5rem);max-width:1100px;line-height:1.04}
.framework-intro h1 em{color:#65775f}
.framework-intro-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 7%;margin:42px 0 0;max-width:1100px}
.framework-intro-copy .statement{grid-column:1/-1;max-width:1000px;font-size:clamp(1.25rem,1.9vw,1.65rem)}
.framework-intro-copy p{margin-bottom:0}
.environment-framework{padding:0 6% 85px}
.environment-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0;flex-wrap:wrap}
.environment-tabs a{font-size:1.125rem;padding:20px 32px;border:1px solid transparent;border-bottom:0;min-height:64px}
.environment-tabs a[aria-selected=true]{background:var(--botanical);color:var(--paper)}
.environment-tabs a:hover{box-shadow:inset 0 -3px 0 #bd5138}
.environment-tabs a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.environment-panel[hidden]{display:none!important}
.environment-summary{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:60px 0 40px}
.environment-summary h2{font-size:clamp(2.6rem,4vw,4.3rem);max-width:570px}
.environment-summary .statement{font-size:1.35rem;margin-bottom:24px}
.environment-summary .responsibility{font-size:1rem;color:var(--muted);margin:0;padding-left:22px;border-left:2px solid var(--line)}
.framework-index{display:flex;flex-wrap:wrap;gap:10px 26px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.9375rem}
.framework-index a{text-decoration:underline;text-decoration-color:#bdc4b8;text-underline-offset:6px}
.framework-pillar{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}
.pillar-heading{display:flex;gap:30px;align-items:start;min-width:0}
.pillar-heading .number{font-family:var(--serif);font-size:2rem;line-height:1.1;min-width:35px;padding-top:7px}
.pillar-heading .pillar-theme{font-size:.875rem;color:#9c4732;margin:0 0 13px}
.pillar-heading h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);line-height:1.12;letter-spacing:-.025em;overflow-wrap:anywhere}
.pillar-application{min-width:0}
.pillar-application>p{font-size:1.0625rem;margin-bottom:18px}
.pillar-application .pillar-promise{font-size:1.2rem;font-weight:700;line-height:1.4}
.sector-contact{display:inline-block;margin-top:30px}
.framework-lead{font-size:1.125rem;max-width:470px;margin:30px 0}
.framework-sector-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:1rem}
.framework-sector-links a{border-bottom:1px solid #f8f6ef90;padding-bottom:5px}
#framework .pillar-mini a{font-size:clamp(1.5rem,2.3vw,2.3rem);grid-template-columns:40px 1fr;line-height:1.2}
.environment-lines p>a{display:block}
.environment-lines p>a>span{display:block;font:14px var(--sans);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;color:#c7d5c9}
.environment-lines small{display:block;font:14px var(--sans);margin-top:16px;text-decoration:underline;text-underline-offset:5px;color:#d9e1d3}
.environment-lines a:hover small{color:#fff}
.sector-route-links{display:flex;flex-wrap:wrap;gap:20px 30px;margin:25px 0}
.work-health{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.work-health h2{font-size:clamp(2.6rem,4.1vw,4.6rem)}
.work-health .copy{max-width:650px;padding:0}
.work-health .statement{font-size:clamp(1.2rem,1.65vw,1.5rem)}
.framework-research{padding:30px 6%;background:var(--paper);font-size:.8125rem;line-height:1.6;color:var(--muted)}
.framework-research[hidden]{display:none!important}
.framework-research p{max-width:1100px;margin:0 0 12px}
.framework-research p:last-child{margin-bottom:0}
.framework-research a{text-decoration:underline;text-underline-offset:3px}
.research-marker{display:inline-block;padding:0 3px;text-decoration:underline}
@media(max-width:1000px){.framework-intro-copy{margin-left:0}.pillar-heading{gap:18px}.pillar-heading h3{font-size:2.3rem}}
@media(max-width:760px){
 .framework-intro{padding:55px 7% 40px}.framework-intro h1{font-size:clamp(2.65rem,9vw,4rem)}
 .framework-intro-copy{display:block;margin-top:28px}.framework-intro-copy .statement{margin-bottom:18px}
 .framework-intro-copy p+p{margin-top:22px}
 .environment-framework{padding:0 7% 55px}.environment-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .environment-tabs a{font-size:.875rem;padding:17px 5px;min-height:54px;text-align:center}
 .environment-summary{display:block;padding:38px 0 30px}.environment-summary h2{font-size:2.65rem;margin-bottom:25px}
 .environment-summary .statement{font-size:1.2rem}.framework-index{gap:13px 20px;font-size:.875rem}
 .framework-pillar{display:block;padding:32px 0}.pillar-heading{gap:18px}.pillar-heading .number{font-size:1.75rem;min-width:28px}
 .pillar-heading h3{font-size:clamp(1.75rem,7vw,2.35rem)}.pillar-heading .pillar-theme{margin-bottom:10px}
 .pillar-application{margin-top:25px}
 .framework-lead{margin-top:25px}
 .work-health h2{font-size:2.6rem}.framework-research{padding:25px 7%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
