/* =====================================================
   CONTENT PAGES
===================================================== */

.content-page{
    background:#fff;
}

.content-page main{
    background:#fff;
}

.page-section{
    padding:var(--space-9) 0;
    background:#fff;
}

.page-section--warm{
    background:var(--color-warm-white);
}

.page-section--blue{
    background:var(--color-light-blue);
}

.privacy-page,
.privacy-page main{
    background:#fff;
}

.privacy-page .header{
    position:fixed;
    background:rgba(250,248,244,.94);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}

.privacy-document{
    padding:clamp(112px, 11vw, 154px) 0 clamp(76px, 8vw, 118px);
    background:
        linear-gradient(180deg, var(--color-warm-white) 0, var(--color-warm-white) clamp(250px, 31vw, 410px), #fff clamp(250px, 31vw, 410px));
}

.privacy-document .container{
    width:min(1120px,92%);
    margin:auto;
}

.privacy-document__header{
    max-width:920px;
    padding:0 0 clamp(42px, 6vw, 74px);
}

.privacy-document h1{
    max-width:880px;
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(30px, 4vw, 52px);
    font-weight:600;
    line-height:1.12;
    color:var(--graphite);
}

.privacy-document__content{
    max-width:860px;
    padding-top:var(--space-2);
    color:var(--graphite-600);
    font-size:17px;
    line-height:1.82;
}

.privacy-document__content h2{
    margin:clamp(42px, 5vw, 62px) 0 14px;
    font-family:var(--font-heading);
    font-size:clamp(19px, 1.7vw, 24px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.privacy-document__content p{
    margin:0 0 18px;
}

.privacy-document__content ul{
    margin:0 0 20px;
    padding-left:24px;
}

.privacy-document__content li + li{
    margin-top:8px;
}

.privacy-document__content a{
    color:var(--sage);
    font-weight:600;
    text-decoration:none;
}

.privacy-document__content a:hover,
.privacy-document__content a:focus-visible{
    color:var(--color-sage-dark);
    text-decoration:underline;
}

@font-face{
    font-family:"Cormorant Garamond Motto";
    src:url("../fonts/CormorantGaramond-SemiBoldItalic.ttf") format("truetype");
    font-weight:600;
    font-style:italic;
    font-display:swap;
}

.safety-page,
.safety-page main,
.safety-page .about-hero,
.safety-page .page-section,
.safety-page .page-section--warm,
.safety-page .page-section--blue,
.safety-page .about-cta{
    background:#fff;
}

.safety-page .safety-planning{
    padding-top:var(--space-8);
}

.director-page,
.director-page main,
.director-page .about-hero,
.director-page .page-section,
.director-page .page-section--warm,
.director-page .page-section--blue,
.director-page .about-cta{
    background:#fff;
}

.safety-page .safety-planning__intro{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(320px,.65fr);
    gap:var(--space-7);
    align-items:center;
    margin-bottom:var(--space-6);
}

.safety-page .safety-planning__copy .page-title{
    max-width:760px;
}

.safety-page .safety-planning__copy .page-lead{
    max-width:780px;
}

.safety-page .safety-planning__sketch{
    margin:0;
    display:flex;
    justify-content:center;
    align-items:center;
}

.safety-page .safety-planning__sketch img{
    display:block;
    width:min(100%,460px);
    height:auto;
    object-fit:contain;
}

.safety-page .safety-planning__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-3);
}

.safety-page .safety-planning__card{
    min-height:100%;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.14);
    border-radius:8px;
    box-shadow:0 10px 28px rgba(47,49,51,.045);
}

.safety-page .safety-planning__card h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,21px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.safety-page .safety-planning__card p{
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.68;
    color:var(--graphite-600);
}

.safety-page .safety-path .container{
    position:relative;
}

.safety-page .safety-path__frame{
    --frame-size:64px;
    --frame-inset-x:0;
    --frame-inset-y:0;
    opacity:.18;
}

.safety-page .safety-path .page-section__header{
    position:relative;
    z-index:1;
    max-width:880px;
    margin:0 auto var(--space-6);
    text-align:center;
}

.safety-page .safety-path .page-lead{
    margin-left:auto;
    margin-right:auto;
}

.safety-page .safety-path__track{
    --path-line-top:52px;
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:0;
}

.safety-page .safety-path__track::before{
    content:"";
    position:absolute;
    top:var(--path-line-top);
    left:calc(100% / 12);
    right:calc(100% / 12);
    height:1px;
    background:var(--sage);
    opacity:.78;
}

.safety-page .safety-path__step{
    position:relative;
    padding:0 12px;
    text-align:center;
}

.safety-page .safety-path__marker{
    position:relative;
    z-index:1;
    min-height:94px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
}

.safety-page .safety-path__number{
    font-family:var(--font-body);
    font-size:13px;
    font-weight:600;
    line-height:1;
    letter-spacing:.12em;
    color:var(--sage);
}

.safety-page .safety-path__icon-wrap{
    --frame-size:18px;
    --frame-inset-x:0;
    --frame-inset-y:0;
    position:relative;
    z-index:1;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--sage);
    background:#fff;
    border:0;
    border-radius:0;
}

.safety-page .safety-path__icon-wrap::before{
    content:"";
    position:absolute;
    inset:-8px;
    z-index:-1;
    background:#fff;
}

.safety-page .safety-path__icon-wrap .frame{
    z-index:1;
    opacity:.78;
}

.safety-page .safety-path__step--final .safety-path__icon-wrap{
    background:var(--color-warm-white);
}

.safety-page .safety-path__icon{
    position:relative;
    z-index:2;
    width:25px;
    height:25px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.safety-page .safety-path__step h3{
    margin:0 auto;
    max-width:170px;
    font-family:var(--font-heading);
    font-size:clamp(15px,1.05vw,17px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.safety-page .safety-path__step p{
    margin:var(--space-2) auto 0;
    max-width:190px;
    font-size:13.5px;
    line-height:1.58;
    color:var(--graphite-600);
}

.safety-page .safety-path__step:nth-child(1){
    transition-delay:.06s;
}

.safety-page .safety-path__step:nth-child(2){
    transition-delay:.12s;
}

.safety-page .safety-path__step:nth-child(3){
    transition-delay:.18s;
}

.safety-page .safety-path__step:nth-child(4){
    transition-delay:.24s;
}

.safety-page .safety-path__step:nth-child(5){
    transition-delay:.3s;
}

.safety-page .safety-path__step:nth-child(6){
    transition-delay:.36s;
}

.safety-page .safety-teacher .page-section__header{
    max-width:880px;
    margin-bottom:var(--space-5);
}

.safety-page .safety-teacher__card h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,21px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.safety-page .safety-teacher__card p{
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.68;
    color:var(--graphite-600);
}

.safety-page .safety-teacher__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3);
}

.safety-page .safety-teacher__card{
    min-height:100%;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:var(--space-3);
    align-items:start;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.14);
    border-radius:8px;
    box-shadow:0 8px 24px rgba(47,49,51,.035);
}

.safety-page .safety-teacher__icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.safety-page .safety-teacher__icon img{
    width:32px;
    height:32px;
    display:block;
    object-fit:contain;
}

.page-section .container{
    width:min(var(--container),92%);
    margin:auto;
}

.page-section__header{
    max-width:960px;
    margin:0 0 var(--space-5);
    text-align:left;
}

.page-kicker{
    margin:0 0 var(--space-2);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage);
}

.page-title{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(30px,3vw,42px);
    font-weight:600;
    line-height:1.16;
    color:var(--graphite);
}

.page-lead{
    margin:var(--space-2) 0 0;
    max-width:860px;
    font-size:clamp(17px,1.55vw,21px);
    line-height:1.72;
    color:var(--graphite);
}

.page-text{
    margin:0;
    font-size:16px;
    line-height:1.78;
    color:var(--graphite-600);
}

.contact-guide{
    padding:var(--space-8) 0 var(--space-4);
}

.contact-guide + .contact{
    padding-top:var(--space-7);
}

.contact-guide__layout{
    display:grid;
    grid-template-columns:minmax(0,4fr) minmax(320px,6fr);
    gap:var(--space-7);
    align-items:center;
}

.contact-guide__sketch{
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.contact-guide__sketch img{
    display:block;
    width:min(100%,680px);
    height:auto;
    object-fit:contain;
}

.contact-guide__content{
    max-width:720px;
}

.contact-guide__lead{
    max-width:720px;
    margin-top:var(--space-2);
    line-height:1.58;
    color:var(--graphite-600);
}

.contact-guide__points{
    display:grid;
    gap:0;
    margin:var(--space-4) 0 0;
    padding:0;
    list-style:none;
}

.contact-guide__points li{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:var(--space-2);
    align-items:start;
    padding:clamp(16px,1.5vw,20px) 0;
    border-top:1px solid rgba(115,138,105,.18);
}

.contact-guide__points li:last-child{
    border-bottom:1px solid rgba(115,138,105,.18);
}

.contact-guide__check{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    margin-top:1px;
    color:var(--sage);
    font-size:17px;
    line-height:1;
}

.contact-guide__check::before{
    content:"";
    width:8px;
    height:14px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
}

.contact-guide__points h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.45vw,22px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.contact-guide__points p{
    margin:6px 0 0;
    font-size:15px;
    line-height:1.56;
    color:var(--graphite-600);
}

.contact-guide__note{
    max-width:720px;
    margin:var(--space-3) 0 0;
    font-size:15px;
    font-weight:600;
    line-height:1.56;
    color:var(--graphite);
}

.contact-first{
    padding:var(--space-8) 0;
    background:#fff;
}

.contact-first__layout{
    display:grid;
    grid-template-columns:minmax(260px,4fr) minmax(0,6fr);
    gap:var(--space-7);
    align-items:stretch;
}

.contact-first__intro{
    --frame-size:44px;
    --frame-inset-x:0;
    --frame-inset-y:0;

    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    max-width:520px;
    min-height:100%;
    padding:clamp(30px,4vw,46px);
}

.contact-first__intro > :not(.frame){
    position:relative;
    z-index:2;
}

.contact-first__intro .frame{
    opacity:.78;
}

.contact-first__lead{
    max-width:520px;
    font-size:clamp(16px,1.35vw,18px);
    line-height:1.7;
    color:var(--graphite-600);
}

.contact-first__steps{
    display:grid;
    gap:0;
    min-height:100%;
    margin:0;
    padding:0;
    list-style:none;
}

.contact-first__steps li{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:var(--space-3);
    padding:0 0 var(--space-4);
    border-bottom:1px solid rgba(115,138,105,.16);
}

.contact-first__steps li + li{
    padding-top:var(--space-4);
}

.contact-first__number{
    font-family:var(--font-heading);
    font-size:22px;
    font-weight:600;
    line-height:1.2;
    color:var(--sage);
}

.contact-first__steps h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(19px,1.55vw,23px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.contact-first__steps p{
    margin:8px 0 0;
    font-size:15px;
    line-height:1.66;
    color:var(--graphite-600);
}

.funding-plan{
    padding-top:var(--space-8);
}

.funding-plan__layout{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr);
    gap:clamp(42px,6vw,86px);
    align-items:center;
}

.funding-plan__content{
    --frame-size:46px;
    --frame-inset-x:0;
    --frame-inset-y:0;

    position:relative;
    max-width:780px;
    padding:clamp(32px,4vw,48px);
}

.funding-plan__content > :not(.frame){
    position:relative;
    z-index:2;
}

.funding-plan__content .frame{
    opacity:.78;
}

.funding-plan__content .page-title{
    max-width:760px;
}

.funding-plan__content .page-text{
    margin-top:var(--space-3);
    max-width:760px;
}

.funding-plan__sketch{
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

.funding-plan__sketch img{
    display:block;
    width:min(100%,520px);
    height:auto;
    object-fit:contain;
}

.funding-sources{
    padding-top:var(--space-7);
}

.funding-sources .page-section__header{
    max-width:920px;
    margin:0 auto var(--space-5);
    text-align:center;
}

.funding-sources .page-lead{
    max-width:860px;
    margin-left:auto;
    margin-right:auto;
    color:var(--graphite-600);
}

.funding-sources__layout{
    max-width:1120px;
    margin:0 auto;
}

.funding-sources__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3);
    margin-top:var(--space-3);
}

.funding-source{
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:var(--space-4);
    background:#fff;
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
    box-shadow:0 12px 30px rgba(47,49,51,.045);
}

.funding-source--featured{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);
    gap:var(--space-5);
    align-items:end;
    padding:var(--space-5);
    background:var(--color-warm-white);
}

.funding-source__label{
    margin:0 0 var(--space-2);
    font-size:12px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sage);
}

.funding-source h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(20px,1.7vw,26px);
    font-weight:600;
    line-height:1.24;
    color:var(--graphite);
}

.funding-source--featured h3{
    font-size:clamp(25px,2.4vw,36px);
}

.funding-source p{
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.7;
    color:var(--graphite-600);
}

.funding-source__fit{
    margin-top:auto;
    padding-top:var(--space-3);
    border-top:1px solid rgba(115,138,105,.16);
}

.funding-source--featured .funding-source__fit{
    margin-top:0;
    padding:var(--space-3);
    background:#fff;
    border:1px solid rgba(115,138,105,.14);
    border-radius:8px;
}

.funding-source__fit strong,
.funding-source__fit span{
    display:block;
}

.funding-source__fit strong{
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--sage);
}

.funding-source__fit span{
    font-size:13.5px;
    line-height:1.55;
    color:var(--graphite);
}

.funding-source__examples{
    margin-top:var(--space-3);
    padding:var(--space-3);
    background:var(--color-warm-white);
    border-radius:8px;
}

.funding-source__examples strong{
    display:block;
    margin-bottom:10px;
    font-size:13px;
    font-weight:600;
    color:var(--graphite);
}

.funding-source__examples ul{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.funding-source__examples li{
    padding:6px 10px;
    background:#fff;
    border:1px solid rgba(115,138,105,.14);
    border-radius:999px;
    font-size:12.5px;
    line-height:1.2;
    color:var(--graphite-600);
}

.funding-sources__note{
    max-width:960px;
    margin:var(--space-4) auto 0;
    padding:var(--space-3) var(--space-4);
    background:rgba(200,220,235,.45);
    border-radius:8px;
    font-size:15px;
    line-height:1.65;
    text-align:center;
    color:var(--graphite);
}

.funding-potential{
    padding-top:var(--space-7);
    background:var(--color-warm-white);
}

.funding-potential .page-section__header{
    max-width:920px;
    margin:0 auto var(--space-5);
    text-align:center;
}

.funding-potential .page-lead{
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
    color:var(--graphite-600);
}

.funding-potential__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-4);
    max-width:1180px;
    margin:0 auto;
}

.funding-potential__card{
    min-height:100%;
    padding:clamp(30px,4vw,46px);
    background:#fff;
    border:1px solid rgba(115,138,105,.18);
    border-radius:8px;
    box-shadow:0 10px 26px rgba(47,49,51,.035);
    transition:border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}

.funding-potential__card:hover{
    transform:translateY(-3px);
    border-color:rgba(115,138,105,.34);
    box-shadow:0 16px 34px rgba(47,49,51,.06);
}

.funding-potential__card img{
    display:block;
    width:30px;
    height:30px;
    margin-bottom:var(--space-4);
    object-fit:contain;
}

.funding-potential__card h3{
    max-width:420px;
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(20px,1.6vw,25px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.funding-potential__card p{
    max-width:540px;
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.72;
    color:var(--graphite-600);
}

.funding-potential__card ul{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:var(--space-3) 0 0;
    padding:0;
    list-style:none;
}

.funding-potential__card li{
    padding:7px 11px;
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.14);
    border-radius:999px;
    font-size:13px;
    font-weight:500;
    line-height:1.25;
    color:var(--graphite);
}

.funding-potential__note{
    max-width:880px;
    margin:var(--space-5) auto 0;
    font-size:16px;
    line-height:1.7;
    text-align:center;
    color:var(--graphite-600);
}

.funding-checklist{
    padding-top:var(--space-7);
    background:#fff;
}

.funding-checklist .page-section__header{
    max-width:900px;
    margin:0 auto var(--space-5);
    text-align:center;
}

.funding-checklist .page-lead{
    max-width:780px;
    margin-left:auto;
    margin-right:auto;
    color:var(--graphite-600);
}

.funding-checklist__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3);
    max-width:1120px;
    margin:0 auto;
}

.funding-checklist__item{
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    gap:var(--space-3);
    align-items:start;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
}

.funding-checklist__mark{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid rgba(115,138,105,.46);
    border-radius:8px;
    font-family:var(--font-heading);
    font-size:13px;
    font-weight:600;
    line-height:1;
    color:var(--sage);
}

.funding-checklist__item h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,21px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.funding-checklist__item p{
    margin:8px 0 0;
    font-size:14.5px;
    line-height:1.66;
    color:var(--graphite-600);
}

.funding-checklist__note{
    max-width:900px;
    margin:var(--space-5) auto 0;
    padding:var(--space-3) var(--space-4);
    background:rgba(200,220,235,.42);
    border-radius:8px;
    font-size:15.5px;
    line-height:1.7;
    text-align:center;
    color:var(--graphite);
}

.director-decision{
    padding-top:var(--space-7);
}

.director-decision .page-section__header{
    max-width:980px;
    margin:0 auto var(--space-5);
    text-align:center;
}

.director-decision .page-lead{
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
    color:var(--graphite-600);
}

.director-decision__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-3);
}

.director-decision__item{
    position:relative;
    min-height:156px;
    padding:var(--space-4);
    padding-right:calc(var(--space-4) + 28px);
    padding-bottom:calc(var(--space-4) + 22px);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.14);
    border-radius:8px;
    box-shadow:0 10px 28px rgba(47,49,51,.04);
    cursor:pointer;
    overflow:hidden;
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.director-decision__item:hover,
.director-decision__item:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(115,138,105,.3);
    box-shadow:0 14px 34px rgba(47,49,51,.055);
}

.director-decision__item:focus-visible{
    outline:2px solid rgba(115,138,105,.38);
    outline-offset:4px;
}

.director-decision__item::after{
    content:"\2193";
    position:absolute;
    right:var(--space-4);
    bottom:var(--space-4);
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(115,138,105,.26);
    border-radius:50%;
    color:var(--sage);
    font-size:15px;
    line-height:1;
    transition:background .25s ease, border-color .25s ease, transform .25s ease;
}

.director-decision__item:hover::after,
.director-decision__item:focus-visible::after{
    background:rgba(115,138,105,.08);
    border-color:rgba(115,138,105,.42);
    transform:translateY(3px);
}

.director-decision__item h3{
    margin:0;
    max-width:none;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.45vw,22px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.director-decision__toggle{
    display:none;
}

.director-decision__answer{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transition:max-height .3s ease, opacity .25s ease, padding-top .3s ease;
}

.director-decision__item:hover .director-decision__answer,
.director-decision__item:focus-visible .director-decision__answer{
    max-height:520px;
    opacity:1;
    padding-top:var(--space-3);
}

.director-decision__answer p{
    margin:0;
    font-size:15px;
    line-height:1.68;
    color:var(--graphite-600);
}

.director-support .page-section__header{
    max-width:960px;
    margin:0 0 var(--space-6);
    text-align:left;
}

.director-support .page-lead{
    max-width:900px;
    margin-left:0;
    margin-right:0;
    color:var(--graphite-600);
}

.director-support__track{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(24px,3vw,42px);
    margin-top:var(--space-6);
}

.director-support__track::before{
    content:"";
    position:absolute;
    top:53px;
    left:12.5%;
    right:12.5%;
    height:1px;
    background:var(--sage);
    opacity:.78;
    z-index:0;
}

.director-support__step{
    position:relative;
    z-index:1;
    text-align:center;
}

.director-support__number{
    display:block;
    position:relative;
    z-index:1;
    margin-bottom:10px;
    font-family:var(--font-heading);
    font-size:14px;
    font-weight:600;
    line-height:1;
    letter-spacing:.1em;
    color:var(--sage);
}

.director-support__icon{
    --frame-size:18px;
    --frame-inset-x:0;
    --frame-inset-y:0;

    position:relative;
    z-index:1;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto var(--space-3);
    background:#fff;
    color:var(--sage);
}

.director-support__icon::before{
    content:"";
    position:absolute;
    inset:-8px;
    z-index:0;
    background:#fff;
}

.director-support__icon .frame{
    z-index:1;
    opacity:.78;
}

.director-support__icon svg{
    position:relative;
    z-index:2;
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.director-support__icon img{
    position:relative;
    z-index:2;
    display:block;
    width:26px;
    height:26px;
    object-fit:contain;
}

.contact-process .director-support__track{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:clamp(24px,3vw,42px);
}

.contact-process .director-support__track::before{
    left:calc(100% / 12);
    right:calc(100% / 12);
}

.contact-process .director-support__icon img{
    position:relative;
    z-index:2;
    display:block;
    width:26px;
    height:26px;
    object-fit:contain;
}

.contact-process .director-support__step p{
    max-width:300px;
}

.director-support__step h3{
    position:relative;
    z-index:1;
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(17px,1.25vw,20px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.director-support__step p{
    position:relative;
    z-index:1;
    margin:12px auto 0;
    max-width:300px;
    font-size:14.5px;
    line-height:1.62;
    color:var(--graphite-600);
}

.director-support__more{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-4);
    margin-top:var(--space-6);
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.14);
    border-radius:8px;
}

.director-support__more h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,22px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.director-support__more p{
    max-width:760px;
    margin:10px 0 0;
    font-size:15px;
    line-height:1.68;
    color:var(--graphite-600);
}

.director-support__link{
    flex:0 0 auto;
    font-size:15px;
    font-weight:600;
    color:var(--sage);
    text-decoration:none;
    transition:color .25s ease, transform .25s ease;
}

.director-support__link:hover,
.director-support__link:focus-visible{
    color:var(--color-sage-dark);
    transform:translateX(3px);
}
.page-motto{
    padding:var(--space-8) 0;
}

.page-motto__panel{
    --frame-size:46px;
    --frame-inset-x:24px;
    --frame-inset-y:24px;

    position:relative;
    min-height:240px;
    max-width:1120px;
    margin:0 auto;
    padding:calc(var(--space-8) + 18px) clamp(var(--space-6), 7vw, var(--space-10));
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:var(--color-light-blue);
    border-radius:8px;
}

.page-motto__panel > :not(.frame){
    position:relative;
    z-index:2;
}

.page-motto__panel .frame{
    opacity:.72;
    filter:none;
}

.page-motto__text{
    max-width:980px;
    margin:0 auto;
    font-family:"Cormorant Garamond Motto", "Cormorant Garamond", Georgia, serif;
    font-size:clamp(38px, 3.1vw, 46px);
    font-style:italic;
    font-weight:600;
    line-height:1.08;
    color:var(--graphite);
}

.work-story{
    padding-top:var(--space-6);
}

.work-story__timeline{
    position:relative;
    max-width:1060px;
    margin:0 auto;
    padding:var(--space-2) 0;
}

.work-story__timeline::before{
    content:"";
    position:absolute;
    top:24px;
    bottom:24px;
    left:58px;
    width:1px;
    background:rgba(115,138,105,.52);
}

.work-story__item{
    --connector-width:clamp(44px, 5vw, 72px);

    position:relative;
    display:grid;
    grid-template-columns:116px minmax(0,1fr);
    gap:var(--connector-width);
    padding-bottom:clamp(44px, 6vw, 72px);
}

.work-story__item:last-child{
    padding-bottom:0;
}

.work-story__marker{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-start;
}

.work-story__marker::after{
    content:"";
    position:absolute;
    top:22px;
    left:calc(50% + 38px);
    width:calc(var(--connector-width) + 8px);
    height:1px;
    background:rgba(115,138,105,.52);
}

.work-story__number-frame{
    --frame-size:17px;
    --frame-inset-x:2px;
    --frame-inset-y:2px;

    position:relative;
    z-index:2;
    width:54px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.work-story__number-frame::before{
    content:"";
    position:absolute;
    inset:-6px;
    z-index:0;
    background:#fff;
}

.work-story__number-frame .frame{
    opacity:.78;
}

.work-story__number{
    position:relative;
    z-index:4;
    font-family:var(--font-heading);
    font-size:12px;
    font-weight:600;
    line-height:1;
    letter-spacing:.08em;
    color:var(--sage);
}

.work-story__content{
    max-width:780px;
}

.work-story__item--accent .work-story__content{
    margin:calc(var(--space-3) * -1) 0;
    padding:var(--space-4);
    background:rgba(200,220,235,.34);
    border-radius:8px;
}

.work-story__title{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(24px,2.4vw,34px);
    font-weight:600;
    line-height:1.18;
    color:var(--graphite);
}

.work-story__icon{
    flex:0 0 auto;
    width:24px;
    height:24px;
    object-fit:contain;
}

.work-story__item--accent .work-story__icon{
    width:26px;
    height:26px;
    margin-right:2px;
}

.work-story__intro{
    max-width:720px;
    margin:var(--space-2) 0 0;
    font-size:clamp(16px,1.35vw,18px);
    line-height:1.7;
    color:var(--graphite-600);
}

.work-story__steps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3) var(--space-5);
    margin-top:var(--space-4);
}

.work-story__steps--single{
    grid-template-columns:minmax(0,1fr);
    max-width:720px;
}

.work-story__step{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:12px;
    align-items:start;
}

.work-story__step > span{
    margin-top:2px;
    font-size:15px;
    line-height:1.4;
    color:var(--sage);
}

.work-story__step h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(16px,1.15vw,18px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.work-story__step p{
    margin:8px 0 0;
    font-size:14.5px;
    line-height:1.66;
    color:var(--graphite-600);
}

.work-why{
    padding-top:var(--space-7);
}

.work-why .page-section__header{
    max-width:860px;
    margin:0 auto var(--space-5);
    text-align:center;
}

.work-why .page-title{
    max-width:820px;
    margin:0 auto;
}

.work-why__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-3);
}

.work-why__card{
    min-height:100%;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
    transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.work-why__card:hover{
    border-color:rgba(115,138,105,.34);
    box-shadow:0 14px 30px rgba(47,49,51,.055);
    transform:translateY(-2px);
}

.work-why__card span{
    display:block;
    margin-bottom:var(--space-3);
    font-family:var(--font-heading);
    font-size:13px;
    font-weight:600;
    line-height:1;
    letter-spacing:.1em;
    color:var(--sage);
}

.work-why__card h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(17px,1.3vw,21px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.work-why__card p{
    margin:var(--space-2) 0 0;
    font-size:14.5px;
    line-height:1.68;
    color:var(--graphite-600);
}

.work-fade-only.page-reveal{
    transform:none;
    transition:opacity .55s ease-out;
}

.work-approach{
    padding-top:var(--space-8);
    padding-bottom:var(--space-9);
    background:#fff;
}

.work-approach__layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:clamp(38px,5vw,78px);
    align-items:center;
}

.work-approach__sketch{
    grid-column:2;
    grid-row:1;
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:var(--space-2);
}

.work-approach__sketch img{
    display:block;
    width:min(100%,860px);
    height:auto;
    object-fit:contain;
}

.work-approach__sketch figcaption{
    max-width:520px;
    font-size:13.5px;
    line-height:1.5;
    color:var(--graphite-600);
    text-align:center;
}

.work-approach__content{
    --frame-size:44px;
    --frame-inset-x:0;
    --frame-inset-y:0;

    position:relative;
    grid-column:1;
    grid-row:1;
    max-width:640px;
    margin:0 auto;
    padding:clamp(30px,4vw,46px);
}

.work-approach__content > :not(.frame){
    position:relative;
    z-index:2;
}

.work-approach__content .frame{
    opacity:.78;
}

.work-approach__content .page-title{
    max-width:760px;
}

.work-approach__content .page-text{
    margin-top:var(--space-3);
    max-width:860px;
}

.work-approach__subtitle{
    margin:var(--space-5) 0 var(--space-3);
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,21px);
    font-weight:600;
    line-height:1.3;
    color:var(--graphite);
}

.work-approach__checklist{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.work-approach__checklist li{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:start;
    font-size:15px;
    line-height:1.62;
    color:var(--graphite-600);
}

.work-approach__checklist li::before{
    content:"\2713";
    font-weight:700;
    line-height:1.62;
    color:var(--sage);
}

.work-approach__note{
    margin:var(--space-4) 0 0;
    max-width:860px;
    font-family:var(--font-heading);
    font-size:clamp(17px,1.25vw,20px);
    font-weight:600;
    line-height:1.45;
    color:var(--graphite);
}

.work-approach__steps{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-3);
    margin-top:var(--space-5);
}

.work-approach__step{
    padding-top:var(--space-3);
    border-top:1px solid rgba(115,138,105,.18);
}

.work-approach__step h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(17px,1.3vw,20px);
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.work-approach__step p{
    margin:8px 0 0;
    font-size:14.5px;
    line-height:1.66;
    color:var(--graphite-600);
}

.work-practice__layout{
    display:grid;
    grid-template-columns:1fr;
    max-width:980px;
    margin:0 auto;
}

.work-practice__image{
    position:relative;
    min-height:380px;
    margin:0;
    overflow:hidden;
    border-radius:8px;
    box-shadow:0 16px 38px rgba(47,49,51,.07);
}

.work-practice__image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.work-practice__content{
    max-width:900px;
}

.work-practice__content .page-title{
    max-width:720px;
}

.work-practice__content .page-text{
    margin-top:var(--space-3);
}

.work-practice__steps{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:var(--space-2);
    margin:var(--space-4) 0 0;
    padding:0;
    list-style:none;
}

.work-practice__steps li{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:var(--space-2);
    align-items:center;
    min-height:46px;
    font-size:15px;
    line-height:1.45;
    color:var(--graphite);
}

.work-practice__number-frame{
    --frame-size:14px;
    --frame-inset-x:1px;
    --frame-inset-y:1px;

    position:relative;
    width:42px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.work-practice__number-frame .frame{
    opacity:.78;
}

.work-practice__number{
    position:relative;
    z-index:4;
    font-family:var(--font-heading);
    font-size:11px;
    font-weight:600;
    line-height:1;
    letter-spacing:.08em;
    color:var(--sage);
}

.work-faq{
    padding-top:var(--space-7);
}

.work-faq .page-section__header{
    max-width:980px;
    margin:0 auto var(--space-4);
    text-align:center;
}

.work-faq .page-faq{
    margin-left:auto;
    margin-right:auto;
}

.director-impact__grid{
    display:grid;
    grid-template-columns:minmax(0, .82fr) minmax(0, 1fr);
    gap:clamp(24px, 3.5vw, 48px);
    align-items:center;
}

.director-impact__content{
    --frame-size:54px;
    --frame-inset-x:0;
    --frame-inset-y:0;
    position:relative;
    max-width:720px;
    padding:clamp(30px, 4vw, 48px);
}

.director-impact__content > :not(.frame){
    position:relative;
    z-index:2;
}

.director-impact__content .frame{
    z-index:1;
    opacity:.72;
}

.director-impact__content .page-title{
    margin-top:0;
}

.director-impact__copy{
    display:grid;
    gap:var(--space-2);
    margin-top:var(--space-3);
}

.director-impact__copy p{
    margin:0;
    font-size:clamp(15px, 1.15vw, 17px);
    line-height:1.72;
    color:var(--graphite-600);
}

.director-impact__list{
    display:grid;
    gap:var(--space-3);
    margin:var(--space-4) 0 0;
    padding:0;
    list-style:none;
}

.director-impact__list li{
    display:grid;
    grid-template-columns:28px minmax(0, 1fr);
    gap:14px;
    align-items:center;
    font-size:15.5px;
    line-height:1.55;
    color:var(--graphite);
}

.director-impact__list svg{
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:var(--sage);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.director-impact__list img{
    width:22px;
    height:22px;
    display:block;
    object-fit:contain;
}

.director-impact__visual{
    margin:0;
}

.director-impact__sketch{
    display:block;
    width:min(112%, 740px);
    max-width:none;
    margin-left:auto;
    transform:translateX(4%);
}

.director-impact__note{
    max-width:620px;
    margin:var(--space-3) 0 0 auto;
    font-size:14px;
    line-height:1.7;
    color:var(--graphite-600);
}

.director-after .page-section__header{
    max-width:860px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.director-after__grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--space-3);
}

.director-after__card{
    --frame-size:42px;
    --frame-inset-x:16px;
    --frame-inset-y:16px;
    position:relative;
    min-height:230px;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
}

.director-after__card > :not(.frame){
    position:relative;
    z-index:2;
}

.director-after__card .frame{
    z-index:1;
    opacity:.46;
}

.director-after__number{
    display:block;
    margin-bottom:var(--space-3);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:700;
    line-height:1;
    letter-spacing:.14em;
    color:var(--sage);
}

.director-after__card h3{
    margin:0;
    max-width:560px;
    font-family:var(--font-heading);
    font-size:clamp(19px, 1.55vw, 24px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.director-after__card p{
    margin:var(--space-2) 0 0;
    max-width:620px;
    font-size:15px;
    line-height:1.68;
    color:var(--graphite-600);
}

.director-after__more{
    margin-top:clamp(36px, 5vw, 62px);
}

.site-related .director-after__more{
    margin-top:0;
}

.site-related .director-after__intro{
    max-width:900px;
    margin:0 0 var(--space-4);
    text-align:left;
    font-size:15.5px;
    line-height:1.7;
    color:var(--graphite-600);
}

.site-related .director-after__link-card{
    box-shadow:0 12px 30px rgba(47,49,51,.05);
}

.director-after__more h3{
    margin:0 0 var(--space-3);
    font-family:var(--font-heading);
    font-size:clamp(21px, 1.8vw, 28px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
    text-align:left;
}

.director-after__links{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:var(--space-3);
}

.director-after__links--two{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    max-width:900px;
    margin:0 auto;
}

.director-after__links--four{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.site-related .director-after__links,
.site-related .director-after__links--two,
.site-related .director-after__links--four{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    max-width:none;
    margin:0;
}

.site-related .director-after__link-card:last-child,
.site-related .director-after__links--four .director-after__link-card:last-child{
    grid-column:auto;
    max-width:none;
    justify-self:stretch;
}

.director-after__link-card{
    display:grid;
    grid-template-columns:42px minmax(0, 1fr);
    gap:var(--space-2);
    align-items:start;
    min-height:100%;
    padding:var(--space-3);
    color:inherit;
    text-decoration:none;
    background:#fff;
    border:1px solid rgba(115,138,105,.18);
    border-radius:8px;
    transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.director-after__link-card:hover,
.director-after__link-card:focus-visible{
    border-color:rgba(115,138,105,.42);
    box-shadow:0 16px 36px rgba(47,49,51,.08);
    transform:translateY(-2px);
}

.director-after__link-card:focus-visible{
    outline:2px solid var(--sage);
    outline-offset:4px;
}

.director-after__link-card--featured{
    background:var(--color-warm-white);
    border-color:rgba(115,138,105,.32);
}

.director-after__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    color:var(--sage);
}

.director-after__icon svg{
    width:25px;
    height:25px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.director-after__icon img{
    width:25px;
    height:25px;
    display:block;
    object-fit:contain;
}

.director-after__link-card strong,
.director-after__link-card small,
.director-after__link-card em{
    display:block;
}

.director-after__link-card strong{
    font-family:var(--font-heading);
    font-size:17px;
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.director-after__link-card small{
    margin-top:8px;
    font-size:13.5px;
    line-height:1.6;
    color:var(--graphite-600);
}

.director-after__link-card em{
    margin-top:var(--space-2);
    font-style:normal;
    font-size:14px;
    font-weight:700;
    color:var(--sage);
}

.page-related--simple{
    padding-top:var(--space-5);
}

.page-related-simple{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-4);
    padding:var(--space-4) 0;
    border-top:1px solid rgba(115,138,105,.16);
    border-bottom:1px solid rgba(115,138,105,.16);
}

.page-related-simple h2{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(21px, 1.8vw, 28px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.page-related-simple__links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:var(--space-3);
}

.page-related-simple__link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--graphite);
    font-family:var(--font-heading);
    font-size:16px;
    font-weight:600;
    text-decoration:none;
    transition:color .25s ease;
}

.page-related-simple__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
}

.page-related-simple__icon img{
    width:22px;
    height:22px;
    display:block;
    object-fit:contain;
}

.page-related-simple__link em{
    font-style:normal;
    color:var(--sage);
    transition:transform .25s ease;
}

.page-related-simple__link:hover,
.page-related-simple__link:focus-visible{
    color:var(--sage);
}

.page-related-simple__link:hover em,
.page-related-simple__link:focus-visible em{
    transform:translateX(3px);
}

.faq-next-step__panel{
    max-width:860px;
    margin:0 auto;
    padding:clamp(34px, 5vw, 56px);
    text-align:center;
    background:var(--warm-white);
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
}

.faq-next-step__panel h2{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(24px, 2.2vw, 34px);
    font-weight:600;
    line-height:1.22;
    color:var(--graphite);
}

.faq-next-step__panel p{
    max-width:680px;
    margin:var(--space-2) auto 0;
    font-size:16px;
    line-height:1.7;
    color:var(--graphite-600);
}

.faq-next-step__panel .btn{
    margin-top:var(--space-3);
}

.teacher-page .teacher-training{
    padding:var(--space-7) 0;
}

.teacher-page .teacher-training__layout{
    display:grid;
    grid-template-columns:minmax(0, 3fr) minmax(0, 2fr);
    gap:clamp(32px, 5vw, 72px);
    align-items:center;
}

.teacher-page .teacher-training__content{
    max-width:none;
}

.teacher-page .teacher-training__content .page-title{
    max-width:760px;
    margin-top:0;
}

.teacher-page .teacher-training__text{
    max-width:780px;
    margin:var(--space-3) 0 0;
    font-size:clamp(15.5px, 1.18vw, 17px);
    line-height:1.72;
    color:var(--graphite-600);
}

.teacher-page .teacher-training__list{
    display:grid;
    gap:var(--space-2);
    margin:var(--space-4) 0 0;
    padding:0;
    list-style:none;
}

.teacher-page .teacher-training__list li{
    display:grid;
    grid-template-columns:30px minmax(0, 1fr);
    gap:14px;
    align-items:center;
    color:var(--graphite);
    font-size:15.5px;
    font-weight:500;
    line-height:1.45;
}

.teacher-page .teacher-training__list svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:var(--sage);
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.teacher-page .teacher-training__detail{
    --frame-size:48px;
    --frame-inset-x:18px;
    --frame-inset-y:18px;

    position:relative;
    max-width:none;
    width:100%;
    aspect-ratio:4 / 3;
    justify-self:stretch;
    margin:0;
    overflow:hidden;
    border-radius:8px;
}

.teacher-page .teacher-training__detail .frame{
    z-index:2;
    opacity:.72;
    filter:brightness(0) invert(1);
}

.teacher-page .teacher-training__image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.director-inspiration .page-section__header{
    max-width:980px;
    margin-left:0;
    margin-right:auto;
    text-align:left;
}

.director-inspiration .page-lead{
    max-width:920px;
}

.director-inspiration__layout{
    display:grid;
    grid-template-columns:minmax(0, 1.75fr) minmax(320px, .95fr);
    gap:clamp(32px, 5vw, 64px);
    align-items:center;
}

.director-inspiration__showcase{
    display:grid;
    gap:var(--space-3);
}

.director-inspiration__media{
    --frame-size:48px;
    --frame-inset-x:18px;
    --frame-inset-y:18px;
    position:relative;
    margin:0;
    overflow:hidden;
    border-radius:8px;
    aspect-ratio:16 / 10;
}

.director-inspiration__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.director-inspiration__media .frame{
    z-index:2;
    filter:brightness(0) invert(1);
    opacity:.72;
}

.director-inspiration__content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:var(--space-3);
}

.director-inspiration__item{
    display:grid;
    grid-template-columns:42px minmax(0, 1fr);
    gap:var(--space-2);
    padding:0 0 var(--space-3);
    border-bottom:1px solid rgba(115,138,105,.16);
}

.director-inspiration__item:last-of-type{
    padding-bottom:0;
    border-bottom:0;
}

.director-inspiration__icon{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    width:34px;
    height:34px;
    color:var(--sage);
}

.director-inspiration__icon svg{
    width:25px;
    height:25px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.director-inspiration__icon img{
    width:25px;
    height:25px;
    display:block;
    object-fit:contain;
}

.director-inspiration__item h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px, 1.35vw, 22px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.director-inspiration__item p{
    margin:8px 0 0;
    font-size:14.5px;
    line-height:1.65;
    color:var(--graphite-600);
}

.director-inspiration__button{
    align-self:flex-start;
    width:max-content;
    margin-top:var(--space-2);
}

.page-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-3);
}

.page-grid--two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.page-grid--four{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.page-card{
    position:relative;
    min-height:100%;
    padding:var(--space-4);
    background:var(--color-warm-white);
    border-radius:8px;
    box-shadow:var(--shadow-soft);
}

.page-card--framed,
.page-cta{
    --frame-size:36px;
    --frame-inset-x:16px;
    --frame-inset-y:16px;

    position:relative;

    overflow:hidden;
}

.page-card--framed > :not(.frame),
.page-cta > :not(.frame){
    position:relative;
    z-index:2;
}

.page-card--framed > .frame.frame,
.page-cta > .frame.frame{
    z-index:1;
    opacity:.58;
}

.page-card--white{
    background:#fff;
}

.page-card--quiet{
    box-shadow:none;
}

.page-card h2,
.page-card h3{
    margin:0;
    font-family:var(--font-heading);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.page-card h2{
    font-size:clamp(24px,2.2vw,32px);
}

.page-card h3{
    font-size:clamp(19px,1.5vw,23px);
}

.page-card p{
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.72;
    color:var(--graphite-600);
}

.page-card__link{
    display:inline-flex;
    margin-top:var(--space-3);
    font-weight:600;
    color:var(--sage);
}

.page-card__link:hover{
    color:var(--color-sage-dark);
}

.schools-page .schools-perspective .page-section__header,
.schools-page .schools-ecosystem .page-section__header{
    max-width:1120px;
    margin:0 auto var(--space-6);
    text-align:center;
}

.schools-page .schools-perspective .page-lead,
.schools-page .schools-ecosystem .page-lead{
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
}

.schools-page .schools-perspective .page-lead + .page-lead{
    margin-top:var(--space-2);
}

.schools-approach{
    padding-top:var(--space-7);
}

.schools-approach__layout{
    display:grid;
    grid-template-columns:minmax(0,6fr) minmax(280px,4fr);
    gap:var(--space-7);
    align-items:center;
}

.schools-approach__card{
    --frame-size:48px;
    --frame-inset-x:24px;
    --frame-inset-y:24px;

    position:relative;
    overflow:hidden;
    padding:var(--space-6);
    background:var(--color-warm-white);
    border-radius:8px;
    box-shadow:var(--shadow-soft);
}

.schools-approach__card > :not(.frame){
    position:relative;
    z-index:2;
}

.schools-approach__card .frame{
    z-index:1;
    opacity:.82;
}

.schools-approach__eyebrow{
    margin:0 0 var(--space-2);
    font-size:13px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--sage);
}

.schools-approach__title{
    max-width:780px;
    margin:0 0 var(--space-3);
    font-family:var(--font-heading);
    font-size:clamp(30px,3vw,42px);
    font-weight:600;
    line-height:1.16;
    color:var(--graphite);
}

.schools-approach__text{
    max-width:820px;
    margin:0;
    font-size:16px;
    line-height:1.78;
    color:var(--graphite-600);
}

.schools-approach__audience{
    padding:var(--space-4) 0;
}

.schools-approach__list{
    display:grid;
    gap:var(--space-3);
    margin:0;
    padding:0;
    list-style:none;
}

.schools-approach__list li{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:start;
    gap:var(--space-2);
    font-size:17px;
    line-height:1.55;
    color:var(--graphite);
}

.schools-approach__list span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    margin-top:1px;
    color:var(--sage);
    font-weight:600;
}

.schools-approach__list span::before{
    content:"";
    width:8px;
    height:14px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-1px);
}

.schools-perspective__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr;
    gap:var(--space-4);
    align-items:stretch;
}

.schools-role-card{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    column-gap:0;
    height:100%;
    min-height:100%;
    overflow:hidden;
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.16);
    border-radius:8px;
    box-shadow:0 10px 26px rgba(47,49,51,.035);
    color:inherit;
    text-decoration:none;
    cursor:default;
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.schools-role-card:hover,
.schools-role-card:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(115,138,105,.3);
    box-shadow:0 14px 34px rgba(47,49,51,.055);
}

.schools-role-card:focus-visible{
    outline:2px solid rgba(115,138,105,.42);
    outline-offset:4px;
}

.schools-role-card__media{
    --frame-size:34px;
    --frame-inset-x:14px;
    --frame-inset-y:14px;

    position:relative;
    min-height:0;
    aspect-ratio:1 / 1;
    margin:0;
    overflow:hidden;
    background:#fff;
}

.schools-role-card__media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.schools-role-card__media .frame{
    z-index:2;
    opacity:.7;
    filter:brightness(0) invert(1);
}

.schools-role-card__body{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:18px 20px;
}

.schools-role-card h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.35vw,22px);
    font-weight:600;
    line-height:1.18;
    color:var(--graphite);
}

.schools-role-card p{
    margin:6px 0 0;
    font-size:13px;
    line-height:1.42;
    color:var(--graphite-600);
}

.schools-role-card__benefits{
    display:grid;
    gap:4px;
    margin:8px 0 10px;
    padding:0;
    list-style:none;
}

.schools-role-card__benefits li{
    position:relative;
    padding-left:15px;
    font-size:12.5px;
    line-height:1.28;
    color:var(--graphite);
}

.schools-role-card__benefits li::before{
    content:"";
    position:absolute;
    left:0;
    top:.68em;
    width:6px;
    height:1px;
    background:var(--sage);
}

.schools-role-card__button{
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:36px;
    height:auto;
    margin-top:auto;
    padding:9px 14px;
    font-size:12.5px;
    line-height:1.2;
    text-align:center;
    white-space:normal;
}

.schools-role-card__benefits + .schools-role-card__button{
    margin-top:auto;
}

.schools-role-card__button span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.schools-role-card__button span::after{
    content:"\2192";
    width:1em;
    margin-left:6px;
    opacity:0;
    transform:translateX(-5px);
    transition:opacity .25s ease, transform .25s ease;
}

.schools-role-card__button:hover span::after,
.schools-role-card__button:focus-visible span::after{
    opacity:1;
    transform:translateX(0);
}

.schools-ecosystem{
    border-top:1px solid rgba(115,138,105,.08);
}

.schools-ecosystem__board{
    display:grid;
    grid-template-columns:minmax(150px,1fr) minmax(360px,660px) minmax(150px,1fr);
    grid-template-areas:
        "director sketch teacher"
        "parents sketch authority"
        ". student .";
    gap:var(--space-5) clamp(var(--space-4),5vw,var(--space-8));
    align-items:center;
    max-width:1180px;
    margin:0 auto;
    padding-top:var(--space-2);
}

.schools-ecosystem__sketch{
    grid-area:sketch;
    justify-self:center;
    align-self:center;
    width:100%;
    margin:0;
}

.schools-ecosystem__sketch img{
    width:100%;
    max-width:680px;
    height:auto;
    display:block;
    object-fit:contain;
}

.schools-ecosystem__group{
    max-width:240px;
}

.schools-ecosystem__group--director{
    grid-area:director;
    justify-self:end;
    text-align:right;
}

.schools-ecosystem__group--teacher{
    grid-area:teacher;
    justify-self:start;
}

.schools-ecosystem__group--student{
    grid-area:student;
    justify-self:center;
    max-width:300px;
    text-align:center;
}

.schools-ecosystem__group--parents{
    grid-area:parents;
    justify-self:end;
    text-align:right;
}

.schools-ecosystem__group--authority{
    grid-area:authority;
    justify-self:start;
}

.schools-ecosystem__group h3{
    margin:0 0 14px;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.25vw,22px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.schools-ecosystem__group p{
    margin:0;
    font-size:14px;
    line-height:1.5;
    color:var(--graphite-600);
}

.schools-ecosystem__group p + p{
    margin-top:7px;
}

.schools-ecosystem__group p:first-of-type{
    font-size:15px;
    font-weight:600;
    color:var(--graphite);
}

.construction-page .page-section{
    padding:clamp(58px,6vw,76px) 0;
    background:#fff;
}

.construction-page .page-section + .page-section{
    border-top:1px solid rgba(115,138,105,.08);
}

.construction-page .page-section__header{
    max-width:900px;
    margin-bottom:var(--space-5);
}

.construction-page .page-lead{
    max-width:880px;
    color:var(--graphite-600);
}

.construction-page .page-card{
    border:1px solid rgba(115,138,105,.14);
    box-shadow:0 14px 34px rgba(47,49,51,.065);
}

.construction-page .page-card h3{
    font-size:clamp(17px,1.25vw,20px);
    line-height:1.26;
}

.construction-page .page-card p{
    font-size:14.5px;
    line-height:1.66;
}

.construction-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-3);
}

.construction-benefit{
    padding:var(--space-3);
}

.construction-benefit__icon{
    display:block;
    width:34px;
    height:34px;
    margin:0 0 var(--space-2);
    object-fit:contain;
}

.construction-roof__layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1fr);
    gap:var(--space-4);
    align-items:stretch;
}

.construction-roof__header{
    margin-bottom:var(--space-4);
}

.construction-roof__content{
    display:flex;
}

.construction-roof__cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:var(--space-3);
    width:100%;
}

.construction-roof__visual{
    display:flex;
    min-height:100%;
}

.construction-roof__media{
    --frame-size:46px;
    --frame-inset-x:22px;
    --frame-inset-y:22px;

    position:relative;
    width:100%;
    min-height:430px;
    height:100%;
    margin:0;
    overflow:hidden;
    border-radius:8px;
    box-shadow:var(--shadow-soft);
}

.construction-roof__media .frame{
    z-index:2;
    opacity:.9;
    filter:brightness(0) saturate(100%) invert(99%) sepia(7%) saturate(833%) hue-rotate(316deg) brightness(101%) contrast(96%);
}

.construction-roof__media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.construction-protection__levels{
    display:grid;
    gap:var(--space-3);
}

.construction-protection__level{
    display:grid;
    grid-template-columns:minmax(170px,.24fr) minmax(0,1fr);
    gap:var(--space-4);
    align-items:start;
    padding-top:var(--space-4);
    border-top:1px solid rgba(115,138,105,.22);
}

.construction-protection__level:first-child{
    padding-top:0;
    border-top:0;
}

.construction-protection__level-heading p{
    margin:0;
    font-family:var(--font-body);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage);
}

.construction-protection__cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-3);
}

.construction-mounting__cards{
    display:grid;
    grid-template-columns:minmax(260px,.82fr) repeat(2,minmax(0,1fr));
    gap:var(--space-4);
    align-items:stretch;
}

.construction-mounting__intro{
    align-self:center;
    max-width:380px;
}

.construction-mounting__intro .page-lead{
    margin-top:var(--space-3);
    font-size:clamp(15px,1.2vw,17px);
    line-height:1.66;
}

.construction-mounting__card{
    --frame-size:46px;
    --frame-inset-x:0px;
    --frame-inset-y:0px;

    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:var(--space-3);
    background:#fff;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:visible;
}

.construction-page .construction-mounting__card{
    background:#fff;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.construction-mounting__card > :not(.frame){
    position:relative;
    z-index:1;
}

.construction-mounting__card .frame{
    z-index:2;
    opacity:.72;
}

.construction-mounting__sketch{
    position:relative;
    display:grid;
    place-items:center;
    height:280px;
    margin:0 0 var(--space-2);
    padding:12px;
    box-sizing:border-box;
    background:#fff;
    border:0;
    border-radius:0;
    overflow:visible;
}

.construction-mounting__sketch img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    max-width:560px;
    max-height:none;
    object-fit:contain;
}

.construction-mounting__text{
    max-width:620px;
}

.construction-mounting__text h3{
    margin-top:0;
}

.construction-expansion__slider{
    position:relative;
    padding:0;
}

.construction-expansion .page-section__header{
    margin-bottom:var(--space-3);
}

.construction-expansion__controls{
    position:absolute;
    top:50%;
    left:-22px;
    right:-22px;
    z-index:4;
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:0;
    margin:0;
    pointer-events:none;
    transform:translateY(-50%);
}

.construction-expansion__arrow{
    display:inline-grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid rgba(115,138,105,.28);
    border-radius:8px;
    background:#fff;
    color:var(--sage);
    cursor:pointer;
    pointer-events:auto;
    box-shadow:0 10px 24px rgba(47,49,51,.1);
    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        opacity .25s ease;
}

.construction-expansion__arrow span{
    display:block;
    margin-top:-2px;
    font-size:28px;
    line-height:1;
}

.construction-expansion__arrow:hover{
    background:var(--sage);
    border-color:var(--sage);
    color:#fff;
}

.construction-expansion__arrow:disabled{
    opacity:.38;
    cursor:default;
}

.construction-expansion__arrow:disabled:hover{
    background:#fff;
    border-color:rgba(115,138,105,.34);
    color:var(--sage);
}

.construction-expansion__viewport{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.construction-expansion__viewport::-webkit-scrollbar{
    display:none;
}

.construction-expansion__track{
    display:flex;
    gap:var(--space-3);
}

.construction-expansion__slide{
    flex:0 0 100%;
    display:grid;
    grid-template-columns:minmax(0,.55fr) minmax(360px,.45fr);
    align-items:stretch;
    gap:clamp(24px,3vw,38px);
    min-height:390px;
    overflow:visible;
    scroll-snap-align:start;
    background:#fff;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.construction-expansion__image{
    --frame-size:48px;
    --frame-inset-x:22px;
    --frame-inset-y:22px;

    position:relative;
    align-self:stretch;
    min-height:390px;
    margin:0;
    overflow:hidden;
    background:var(--color-warm-white);
    border-radius:8px;
    box-shadow:0 18px 42px rgba(47,49,51,.07);
}

.construction-expansion__image .frame{
    z-index:2;
    opacity:.88;
    filter:brightness(0) saturate(100%) invert(99%) sepia(7%) saturate(833%) hue-rotate(316deg) brightness(101%) contrast(96%);
}

.construction-expansion__image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.construction-expansion__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:var(--space-2);
    min-height:100%;
    padding:8px 0;
    background:#fff;
}

.construction-expansion__intro h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(22px,1.8vw,28px);
    font-weight:600;
    line-height:1.2;
    color:var(--graphite);
}

.construction-expansion__subtitle{
    margin:var(--space-1) 0 var(--space-1);
    font-size:15px;
    font-weight:600;
    line-height:1.55;
    color:var(--graphite);
}

.construction-expansion__intro p:not(.construction-expansion__subtitle){
    margin:0;
    font-size:14px;
    line-height:1.64;
    color:var(--graphite-600);
}

.construction-expansion__features{
    padding:var(--space-2) 0;
    border-top:1px solid rgba(115,138,105,.18);
    border-bottom:1px solid rgba(115,138,105,.18);
}

.construction-expansion__features h4{
    margin:0 0 var(--space-1);
    font-family:var(--font-heading);
    font-size:16px;
    font-weight:600;
    line-height:1.3;
    color:var(--graphite);
}

.construction-expansion__features ul{
    display:grid;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
}

.construction-expansion__features li{
    position:relative;
    padding:5px 0 5px 18px;
    font-size:14px;
    line-height:1.48;
    color:var(--graphite-600);
    border-top:1px solid rgba(115,138,105,.1);
}

.construction-expansion__features li:first-child{
    border-top:0;
}

.construction-expansion__features li::before{
    content:"";
    position:absolute;
    left:0;
    top:.68em;
    width:6px;
    height:6px;
    border-radius:999px;
    background:var(--sage);
}

.construction-expansion__dots{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 var(--space-3);
}

.construction-expansion__dots button{
    width:auto;
    height:auto;
    padding:8px 12px;
    border:1px solid rgba(115,138,105,.18);
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    font-family:var(--font-body);
    font-size:13px;
    font-weight:500;
    line-height:1.2;
    color:var(--graphite-600);
    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.construction-expansion__dots button[aria-current="true"]{
    background:rgba(115,138,105,.1);
    border-color:rgba(115,138,105,.38);
    color:var(--sage);
}

.construction-parameters__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.construction-parameters__item{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:var(--space-2);
    align-items:start;
    padding:18px;
}

.construction-parameters__icon{
    width:34px;
    height:34px;
    object-fit:contain;
}

.construction-parameters__item h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:18px;
    font-weight:600;
    line-height:1.28;
    color:var(--graphite);
}

.construction-parameters__item p{
    margin:var(--space-1) 0 0;
    font-size:14px;
    line-height:1.62;
    color:var(--graphite-600);
}

.construction-technology__layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);
    gap:var(--space-5);
    align-items:center;
}

.construction-technology__content{
    --frame-size:48px;
    --frame-inset-x:0px;
    --frame-inset-y:0px;

    position:relative;
    max-width:820px;
    padding:var(--space-4);
}

.construction-technology__content > :not(.frame){
    position:relative;
    z-index:1;
}

.construction-technology__content .frame{
    z-index:0;
    opacity:.78;
}

.construction-technology__text{
    display:grid;
    gap:var(--space-3);
    margin-top:var(--space-3);
}

.construction-technology__text p{
    margin:0;
    font-size:16px;
    line-height:1.78;
    color:var(--graphite-600);
}

.construction-technology__text strong{
    color:var(--graphite);
    font-weight:600;
}

.construction-technology__partner{
    padding:var(--space-4);
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.22);
    border-radius:8px;
    box-shadow:0 14px 34px rgba(47,49,51,.06);
}

.construction-technology__partner > p{
    margin:0 0 var(--space-3);
    font-family:var(--font-body);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sage);
}

.construction-technology__partner img{
    display:block;
    width:min(190px,70%);
    height:auto;
    margin:0 0 var(--space-4);
}

.construction-technology__partner ul{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}

.construction-technology__partner li{
    position:relative;
    padding-left:24px;
    font-size:15px;
    line-height:1.55;
    color:var(--graphite);
}

.construction-technology__partner li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--sage);
    font-weight:600;
}

.construction-faq .page-section__header{
    margin-bottom:var(--space-4);
}

.construction-faq .page-faq{
    max-width:980px;
}

.construction-faq .page-faq details{
    background:var(--color-warm-white);
    border:1px solid rgba(115,138,105,.16);
    box-shadow:0 12px 28px rgba(47,49,51,.045);
}

.construction-faq .page-faq summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-3);
    list-style:none;
}

.construction-faq .page-faq summary::-webkit-details-marker{
    display:none;
}

.construction-faq .page-faq summary::after{
    content:"+";
    flex:0 0 auto;
    font-family:var(--font-body);
    font-size:22px;
    font-weight:500;
    line-height:1;
    color:var(--sage);
}

.construction-faq .page-faq details[open] summary::after{
    content:"-";
}

.construction-faq .page-faq strong{
    color:var(--graphite);
    font-weight:600;
}

.contact-faq__note{
    max-width:980px;
    margin:var(--space-4) 0 0;
    font-size:16px;
    line-height:1.7;
    color:var(--graphite);
}

.contact-faq__note strong{
    font-weight:600;
}

.safety-faq .page-faq{
    gap:var(--space-5);
}

.safety-faq__category{
    display:grid;
    gap:14px;
}

.safety-faq__category-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 2px;
    font-family:var(--font-heading);
    font-size:20px;
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.safety-faq__category-icon{
    --frame-size:14px;
    --frame-inset-x:0;
    --frame-inset-y:0;

    position:relative;
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border-radius:8px;
}

.safety-faq__category-icon .frame{
    opacity:.72;
}

.safety-faq__category-icon img{
    position:relative;
    z-index:2;
    width:22px;
    height:22px;
    display:block;
    object-fit:contain;
}

.page-split{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:var(--space-7);
    align-items:center;
}

.page-split--wide{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
}

.page-media{
    position:relative;
    overflow:hidden;
    min-height:420px;
    border-radius:8px;
    box-shadow:var(--shadow-soft);
}

.page-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

.page-list{
    display:grid;
    gap:var(--space-2);
    margin:0;
    padding:0;
    list-style:none;
}

.page-list li{
    position:relative;
    padding-left:28px;
    font-size:15px;
    line-height:1.65;
    color:var(--graphite-600);
}

.page-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.67em;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--sage);
}

.page-numbered{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-3);
    counter-reset:steps;
}

.page-step{
    counter-increment:steps;
}

.page-step::before{
    content:counter(steps, decimal-leading-zero);
    display:block;
    margin-bottom:var(--space-3);
    font-family:var(--font-heading);
    font-size:30px;
    font-weight:600;
    color:var(--sage);
}

.page-related{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.page-cta + .page-related{
    margin-top:var(--space-4);
}

.page-related a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border:1px solid rgba(115,138,105,.34);
    border-radius:8px;
    color:var(--sage);
    font-weight:600;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.page-related a:hover{
    background:var(--sage);
    border-color:var(--sage);
    color:#fff;
}

.page-cta{
    padding:var(--space-7);
    background:var(--color-light-blue);
    border-radius:8px;
}

.page-cta__layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:var(--space-4);
    align-items:center;
}

.page-cta h2{
    margin:0;
    max-width:760px;
    font-family:var(--font-heading);
    font-size:clamp(28px,3vw,40px);
    font-weight:600;
    line-height:1.16;
    color:var(--graphite);
}

.page-faq{
    display:grid;
    gap:14px;
}

.page-faq details{
    padding:var(--space-3);
    background:var(--color-warm-white);
    border-radius:8px;
}

.page-faq summary{
    cursor:pointer;
    font-family:var(--font-heading);
    font-size:18px;
    font-weight:600;
    color:var(--graphite);
}

.page-faq p{
    margin:var(--space-2) 0 0;
    font-size:15px;
    line-height:1.72;
    color:var(--graphite-600);
}

.audience-hero-note{
    display:inline-flex;
    margin-top:var(--space-3);
    font-size:14px;
    color:var(--graphite-600);
}

.inspiration-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:var(--space-5);
}

.inspiration-filter{
    min-height:40px;
    padding:0 16px;
    border:1px solid rgba(115,138,105,.32);
    border-radius:8px;
    background:transparent;
    color:var(--graphite);
    font-family:var(--font-body);
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.inspiration-filter.is-active,
.inspiration-filter:hover{
    background:var(--sage);
    border-color:var(--sage);
    color:#fff;
}

.inspiration-gallery{
    column-count:4;
    column-gap:var(--space-3);
    column-width:240px;
}

.inspiration-card{
    display:inline-block;
    width:100%;
    margin:0 0 var(--space-3);
    break-inside:avoid;
    vertical-align:top;
    overflow:hidden;
    border-radius:8px;
    background:#fff;
    border:1px solid rgba(115,138,105,.14);
    box-shadow:0 12px 30px rgba(47,49,51,.055);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor:zoom-in;
}

.inspiration-card:hover{
    transform:translateY(-3px);
    border-color:rgba(115,138,105,.28);
    box-shadow:0 18px 38px rgba(47,49,51,.08);
}

.inspiration-card:focus-visible,
.inspiration-filter:focus-visible{
    outline:2px solid var(--sage);
    outline-offset:4px;
}

.inspiration-card[hidden]{
    display:none;
}

.inspiration-card__image{
    position:relative;
    aspect-ratio:4 / 5;
    overflow:hidden;
}

.inspiration-card:nth-child(2n) .inspiration-card__image{
    aspect-ratio:1 / 1;
}

.inspiration-card:nth-child(3n) .inspiration-card__image{
    aspect-ratio:5 / 6;
}

.inspiration-card:nth-child(4n) .inspiration-card__image{
    aspect-ratio:4 / 3;
}

.inspiration-card:nth-child(5n) .inspiration-card__image{
    aspect-ratio:3 / 4;
}

.inspiration-card--landscape .inspiration-card__image{
    aspect-ratio:16 / 9;
}

.inspiration-card--square .inspiration-card__image{
    aspect-ratio:1 / 1;
}

.inspiration-card__image img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.inspiration-card:hover .inspiration-card__image img{
    transform:scale(1.03);
}

.inspiration-card__content{
    display:grid;
    gap:10px;
    padding:16px;
    align-items:flex-start;
}

.inspiration-card--featured .inspiration-card__content{
    max-width:none;
    padding:16px;
}

.inspiration-card__content h3{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(18px,1.3vw,22px);
    font-weight:600;
    line-height:1.25;
    color:var(--graphite);
}

.inspiration-card--featured .inspiration-card__content h3{
    font-size:clamp(18px,1.3vw,22px);
}

.inspiration-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:2px;
}

.inspiration-card__meta span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 9px;
    border-radius:999px;
    background:var(--color-warm-white);
    font-size:13px;
    color:var(--sage);
    font-weight:600;
    line-height:1.25;
}

.inspiration-card__content p{
    margin:0;
    font-size:14px;
    line-height:1.58;
    color:var(--graphite-600);
}

.inspiration-card--featured .inspiration-card__content p{
    max-width:none;
    font-size:14px;
}

.inspiration-card__tags{
    position:absolute;
    top:14px;
    left:14px;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    max-width:calc(100% - 28px);
}

.inspiration-card__tags span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    background:rgba(255,255,255,.86);
    box-shadow:0 6px 16px rgba(47,49,51,.08);
    color:var(--graphite);
    font-size:12px;
    font-weight:600;
    line-height:1;
    backdrop-filter:blur(5px);
}

html.is-inspiration-preview-open,
body.is-inspiration-preview-open{
    overflow:hidden;
}

.inspiration-preview[hidden]{
    display:none;
}

.inspiration-preview{
    position:fixed;
    inset:0;
    z-index:3000;
    display:grid;
    place-items:center;
    padding:clamp(24px,3vw,42px);
}

.inspiration-preview__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(47,49,51,.72);
    cursor:default;
    opacity:0;
    transition:opacity .34s ease;
}

.inspiration-preview.is-open .inspiration-preview__backdrop{
    opacity:1;
}

.inspiration-preview__dialog{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    width:min(var(--preview-dialog-width,1500px),94vw);
    height:min(90dvh,920px);
    max-height:92vh;
    padding:clamp(32px,3.2vw,50px);
    overflow:hidden;
    background:#fff;
    color:var(--graphite);
    border-radius:8px;
    box-shadow:0 24px 58px rgba(47,49,51,.16);
    opacity:0;
    transform:scale(.94);
    transition:opacity .36s ease, transform .36s ease;
}

.inspiration-preview.is-open .inspiration-preview__dialog{
    opacity:1;
    transform:scale(1);
}

.inspiration-preview.is-closing .inspiration-preview__dialog{
    opacity:0;
    transform:scale(.96);
}

.inspiration-preview__frame-corner{
    position:absolute;
    z-index:2;
    width:56px;
    height:56px;
    pointer-events:none;
    color:var(--sage);
    border-color:var(--sage);
    opacity:.82;
}

.inspiration-preview__frame-corner--tl{
    top:18px;
    left:18px;
    border-top:2px solid var(--sage);
    border-left:2px solid var(--sage);
}

.inspiration-preview__frame-corner--tr{
    top:18px;
    right:18px;
    border-top:2px solid var(--sage);
    border-right:2px solid var(--sage);
}

.inspiration-preview__frame-corner--bl{
    bottom:18px;
    left:18px;
    border-bottom:2px solid var(--sage);
    border-left:2px solid var(--sage);
}

.inspiration-preview__frame-corner--br{
    right:18px;
    bottom:18px;
    border-right:2px solid var(--sage);
    border-bottom:2px solid var(--sage);
}

.inspiration-preview__close{
    position:absolute;
    top:20px;
    right:20px;
    z-index:3;
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--graphite);
    font-family:var(--font-body);
    font-size:30px;
    font-weight:300;
    line-height:1;
    cursor:pointer;
    transition:color .25s ease;
}

.inspiration-preview__nav-button:hover,
.inspiration-preview__nav-button:focus-visible{
    background:var(--sage);
    border-color:var(--sage);
    color:#fff;
}

.inspiration-preview__nav-button:focus-visible{
    outline:2px solid var(--sage);
    outline-offset:4px;
}

.inspiration-preview__close:hover{
    color:var(--sage);
}

.inspiration-preview__close:focus-visible{
    color:var(--sage);
    outline:2px solid var(--sage);
    outline-offset:4px;
}

.inspiration-preview__content{
    min-width:0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(280px,330px) minmax(0,1fr);
    gap:clamp(22px,3vw,42px);
    align-items:stretch;
    transition:opacity .28s ease, transform .28s ease;
    overflow:hidden;
}

.inspiration-preview__content.is-switching{
    opacity:0;
}

.inspiration-preview__content.is-switching[data-direction="next"]{
    transform:translateX(-22px);
}

.inspiration-preview__content.is-switching[data-direction="prev"]{
    transform:translateX(22px);
}

.inspiration-preview__info{
    align-self:center;
    min-width:0;
    padding-bottom:136px;
    padding-right:clamp(8px,1vw,18px);
}

.inspiration-preview__eyebrow{
    margin:0 0 14px;
    color:var(--sage);
    font-size:12px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.14em;
    text-transform:uppercase;
    overflow-wrap:break-word;
}

.inspiration-preview__info h2{
    margin:0;
    color:var(--graphite);
    font-family:var(--font-heading);
    font-size:clamp(24px,1.9vw,32px);
    font-weight:600;
    line-height:1.14;
    overflow-wrap:break-word;
}

.inspiration-preview__description{
    margin:clamp(14px,1.6vw,20px) 0 0;
    color:var(--graphite-600);
    font-size:clamp(14px,.95vw,16px);
    line-height:1.62;
    overflow-wrap:break-word;
}

.inspiration-preview__features{
    display:grid;
    gap:10px;
    margin:clamp(18px,2vw,28px) 0 0;
    padding:0;
    list-style:none;
}

.inspiration-preview__features li{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:10px;
    align-items:start;
    color:var(--graphite);
    font-size:14px;
    font-weight:600;
    line-height:1.45;
    overflow-wrap:break-word;
}

.inspiration-preview__check{
    color:var(--sage);
    font-weight:700;
}

.inspiration-preview__figure{
    position:relative;
    min-width:0;
    min-height:0;
    display:grid;
    place-items:center;
    margin:0;
    padding:0;
    overflow:hidden;
    background:transparent;
    border-radius:0;
}

.inspiration-preview__figure img{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

.inspiration-preview__nav{
    position:absolute;
    left:clamp(32px,3.2vw,50px);
    bottom:clamp(28px,3vw,46px);
    z-index:2;
    display:grid;
    grid-template-columns:1fr;
    width:min(330px,calc(100% - 64px));
    gap:10px;
    align-items:stretch;
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.inspiration-preview__nav-button{
    min-width:0;
    min-height:42px;
    padding:0 16px;
    border:1px solid rgba(115,138,105,.34);
    border-radius:8px;
    background:transparent;
    color:var(--sage);
    font-family:var(--font-body);
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease, color .25s ease;
    white-space:normal;
}

.inspiration-preview__nav-button--prev{
    justify-self:stretch;
}

.inspiration-preview__nav-button--next{
    justify-self:stretch;
}

.inspiration-preview__counter{
    order:-1;
    min-width:54px;
    color:var(--graphite);
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    text-align:left;
}

@media (max-width:1180px){
    .inspiration-preview{
        padding:clamp(20px,3vw,34px);
    }

    .inspiration-preview__dialog{
        width:94vw;
        height:90dvh;
        padding:clamp(28px,3vw,42px);
    }

    .inspiration-preview__content{
        grid-template-columns:minmax(260px,300px) minmax(0,1fr);
        gap:clamp(24px,3vw,42px);
    }

    .inspiration-preview__info{
        padding-bottom:136px;
    }

    .inspiration-preview__nav{
        width:min(300px,32vw);
    }

    .inspiration-preview__frame-corner{
        width:48px;
        height:48px;
    }
}

@media (max-width:820px){
    .inspiration-preview{
        align-items:start;
        padding:10px;
    }

    .inspiration-preview__dialog{
        display:block;
        width:calc(100vw - 20px);
        height:calc(100dvh - 20px);
        max-height:calc(100vh - 20px);
        padding:28px 20px 20px;
        overflow:auto;
    }

    .inspiration-preview__content{
        display:grid;
        grid-template-columns:1fr;
        gap:20px;
    }

    .inspiration-preview__figure{
        order:-1;
        min-height:300px;
        max-height:360px;
    }

    .inspiration-preview__info{
        align-self:start;
        padding-bottom:0;
        padding-right:0;
    }

    .inspiration-preview__info h2{
        font-size:clamp(24px,6vw,34px);
    }

    .inspiration-preview__close{
        position:sticky;
        top:0;
        float:right;
        margin:-8px -6px 8px 12px;
    }

    .inspiration-preview__nav{
        position:relative;
        left:auto;
        bottom:auto;
        width:100%;
        grid-template-columns:1fr;
        gap:10px;
        margin-top:24px;
        padding-bottom:4px;
    }

    .inspiration-preview__nav-button,
    .inspiration-preview__nav-button--prev,
    .inspiration-preview__nav-button--next{
        justify-self:stretch;
        width:100%;
    }

    .inspiration-preview__counter{
        order:-1;
        text-align:center;
    }
}

@media (max-width:640px){
    .inspiration-preview__dialog{
        padding:24px 16px 16px;
    }

    .inspiration-preview__frame-corner{
        width:40px;
        height:40px;
    }

    .inspiration-preview__frame-corner--tl,
    .inspiration-preview__frame-corner--tr{
        top:12px;
    }

    .inspiration-preview__frame-corner--bl,
    .inspiration-preview__frame-corner--br{
        bottom:12px;
    }

    .inspiration-preview__frame-corner--tl,
    .inspiration-preview__frame-corner--bl{
        left:12px;
    }

    .inspiration-preview__frame-corner--tr,
    .inspiration-preview__frame-corner--br{
        right:12px;
    }

    .inspiration-preview__figure{
        min-height:230px;
        max-height:300px;
    }

    .inspiration-preview__description,
    .inspiration-preview__features li{
        font-size:14px;
    }
}

@media (max-width:360px){
    .inspiration-preview{
        padding:8px;
    }

    .inspiration-preview__dialog{
        width:calc(100vw - 16px);
        height:calc(100dvh - 16px);
        max-height:calc(100vh - 16px);
        padding:22px 12px 14px;
    }

    .inspiration-preview__info h2{
        font-size:21px;
    }

    .inspiration-preview__nav-button{
        min-height:44px;
        padding:0 12px;
        font-size:13px;
    }
}

.content-page .page-section .page-section__header,
.about-page .page-section .page-section__header{
    max-width:960px;
    margin-left:0;
    margin-right:0;
    text-align:left;
}

.content-page .page-section .page-section__header .page-lead,
.about-page .page-section .page-section__header .page-lead{
    max-width:900px;
    margin-left:0;
    margin-right:0;
}

.page-reveal{
    opacity:0;
    transform:translateY(22px);
    transition:
        opacity .5s ease-out,
        transform .5s ease-out;
}

.page-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media (max-width:1180px){
    .page-grid,
    .page-grid--four{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .construction-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-numbered{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .safety-page .safety-path__track{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:var(--space-5) 0;
    }

    .safety-page .safety-path__track::before{
        display:none;
    }

    .safety-page .safety-path__step::before{
        content:"";
        position:absolute;
        top:52px;
        left:calc(50% + 37px);
        right:calc(-50% + 37px);
        height:1px;
        background:var(--sage);
        opacity:.78;
        z-index:0;
    }

    .safety-page .safety-path__step:nth-child(3)::before,
    .safety-page .safety-path__step:nth-child(6)::before{
        display:none;
    }

    .director-support__track{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--space-5) var(--space-4);
    }

    .director-support__track::before{
        display:none;
    }

    .director-support__step::before{
        content:"";
        position:absolute;
        top:53px;
        left:calc(50% + 29px);
        right:calc(-50% + 29px);
        height:1px;
        background:var(--sage);
        opacity:.78;
        z-index:0;
    }

    .director-support__step:nth-child(2)::before,
    .director-support__step:nth-child(4)::before{
        display:none;
    }

    .contact-process .director-support__track{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--space-5) var(--space-4);
    }

    .contact-process .director-support__track::before{
        display:none;
    }

    .contact-process .director-support__step:nth-child(2)::before,
    .contact-process .director-support__step:nth-child(4)::before,
    .contact-process .director-support__step:nth-child(6)::before{
        display:none;
    }

    .work-why__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .site-related .director-after__links,
    .site-related .director-after__links--two,
    .site-related .director-after__links--four{
        grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    }

    .site-related .director-after__link-card:last-child,
    .site-related .director-after__links--four .director-after__link-card:last-child{
        grid-column:auto;
        max-width:none;
        justify-self:stretch;
    }
}

@media (max-width:920px){
    .construction-page .page-section{
        padding:var(--space-7) 0;
    }

    .construction-page .page-section__header{
        margin-bottom:var(--space-4);
    }

    .page-section{
        padding:var(--space-8) 0;
    }

    .contact-guide{
        padding:var(--space-7) 0 var(--space-3);
    }

    .contact-guide__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .contact-guide__sketch{
        justify-content:flex-start;
    }

    .contact-guide__sketch img{
        width:min(100%,440px);
    }

    .contact-first{
        padding:var(--space-7) 0;
    }

    .contact-first__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .contact-first__intro,
    .contact-first__lead{
        max-width:720px;
    }

    .contact-first__intro,
    .contact-first__steps{
        min-height:0;
    }

    .page-split,
    .page-split--wide{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .funding-plan__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .funding-plan__sketch{
        justify-content:flex-start;
    }

    .funding-plan__sketch img{
        width:min(100%,460px);
    }

    .funding-sources .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .funding-sources .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .funding-potential .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .funding-potential .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .funding-checklist .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .funding-checklist .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .funding-source--featured{
        grid-template-columns:1fr;
        gap:var(--space-3);
    }

    .construction-roof__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .construction-roof__media{
        min-height:auto;
        aspect-ratio:16 / 10;
    }

    .construction-protection__level{
        grid-template-columns:1fr;
        gap:var(--space-2);
    }

    .construction-mounting__cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--space-3);
    }

    .construction-mounting__intro{
        grid-column:1 / -1;
        max-width:760px;
        align-self:start;
    }

    .construction-mounting__sketch{
        height:255px;
    }

    .construction-expansion__controls{
        left:10px;
        right:10px;
    }

    .construction-expansion__slide{
        display:block;
        min-height:auto;
    }

    .construction-expansion__image{
        aspect-ratio:16 / 10;
        min-height:auto;
    }

    .construction-expansion__body{
        display:flex;
        min-height:auto;
        padding:var(--space-4) 0 0;
    }

    .construction-expansion__features{
        padding:var(--space-3) 0 0;
        border-left:0;
        border-top:1px solid rgba(115,138,105,.18);
        border-bottom:0;
    }

    .construction-technology__layout{
        grid-template-columns:1fr;
        gap:var(--space-4);
    }

    .construction-technology__content{
        max-width:none;
    }

    .construction-technology__partner{
        max-width:560px;
    }

    .page-media{
        min-height:auto;
        aspect-ratio:16 / 10;
    }

    .director-decision .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .director-decision .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .director-decision__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-motto{
        padding:var(--space-7) 0;
    }

    .page-motto__panel{
        min-height:220px;
        padding:calc(var(--space-7) + 14px) var(--space-6);
    }

    .page-motto__text{
        max-width:820px;
        font-size:clamp(32px, 5vw, 40px);
    }

    .work-story__timeline::before{
        left:41px;
    }

    .work-story__item{
        --connector-width:var(--space-3);

        grid-template-columns:82px minmax(0,1fr);
        padding-bottom:var(--space-6);
    }

    .work-story__marker::after{
        left:calc(50% + 34px);
        width:var(--connector-width);
    }

    .work-story__item--accent .work-story__content{
        padding:var(--space-3);
    }

    .work-story__steps{
        grid-template-columns:1fr;
        gap:var(--space-3);
    }

    .work-why .page-section__header,
    .work-faq .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .work-why .page-title{
        margin-left:0;
        margin-right:0;
    }

    .work-practice__layout{
        grid-template-columns:1fr;
    }

    .work-approach{
        padding-top:var(--space-7);
        padding-bottom:var(--space-8);
    }

    .work-approach__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .work-approach__content{
        grid-column:1;
        grid-row:1;
    }

    .work-approach__sketch{
        grid-column:1;
        grid-row:2;
        justify-content:flex-start;
    }

    .work-approach__sketch img{
        width:min(100%,640px);
    }

    .work-approach__content{
        max-width:760px;
    }

    .work-approach__steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .work-practice__image{
        min-height:auto;
        aspect-ratio:16 / 10;
    }

    .work-practice__content{
        max-width:760px;
    }

    .work-practice__steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .director-impact__grid{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .director-impact__content{
        max-width:760px;
    }

    .director-impact__sketch{
        width:min(100%, 680px);
        margin-right:auto;
        transform:none;
    }

    .director-impact__note{
        max-width:680px;
        margin-left:0;
        margin-right:0;
    }

    .director-after__card{
        min-height:0;
    }



.teacher-page .teacher-training__layout{
        grid-template-columns:1fr;
        gap:var(--space-4);
    }

    .teacher-page .teacher-training__detail{
        max-width:520px;
        justify-self:start;
    }

    .director-inspiration__layout{
        grid-template-columns:1fr;
        gap:var(--space-4);
    }

    .director-inspiration__content{
        max-width:680px;
    }

    .page-cta{
        padding:var(--space-5);
    }

    .page-cta__layout{
        grid-template-columns:1fr;
    }

    .construction-benefits,
    .construction-parameters__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px){
    .construction-page .page-section{
        padding:var(--space-6) 0;
    }

    .page-section{
        padding:var(--space-6) 0;
    }











.contact-guide{
        padding:var(--space-6) 0 var(--space-2);
    }

    .contact-guide + .contact{
        padding-top:var(--space-6);
    }

    .contact-guide__layout{
        gap:var(--space-4);
    }

    .contact-guide__sketch img{
        width:min(100%,360px);
    }

    .contact-guide__points{
        margin-top:var(--space-4);
    }

    .contact-guide__points li{
        grid-template-columns:26px minmax(0,1fr);
        gap:10px;
        padding:16px 0;
    }

    .contact-guide__check{
        width:22px;
        height:22px;
        font-size:15px;
    }

    .contact-guide__points p,
    .contact-guide__note{
        font-size:14px;
        line-height:1.58;
    }

    .contact-first{
        padding:var(--space-6) 0;
    }

    .contact-first__layout{
        gap:var(--space-4);
    }

    .contact-first__steps li{
        grid-template-columns:44px minmax(0,1fr);
        gap:var(--space-2);
        padding-bottom:var(--space-3);
    }

    .contact-first__steps li + li{
        padding-top:var(--space-3);
    }

    .contact-first__number{
        font-size:19px;
    }

    .contact-first__steps p{
        font-size:14px;
        line-height:1.58;
    }

    .funding-plan{
        padding-top:var(--space-6);
    }

    .funding-sources{
        padding-top:var(--space-6);
    }

    .funding-potential{
        padding-top:var(--space-6);
    }

    .funding-checklist{
        padding-top:var(--space-6);
    }

    .funding-sources__grid{
        grid-template-columns:1fr;
    }

    .funding-potential__grid{
        grid-template-columns:1fr;
    }

    .funding-potential__card{
        padding:var(--space-3);
    }

    .funding-potential__note{
        margin-top:var(--space-4);
        text-align:left;
    }

    .funding-checklist__grid{
        grid-template-columns:1fr;
    }

    .funding-checklist__item{
        grid-template-columns:44px minmax(0,1fr);
        padding:var(--space-3);
    }

    .funding-checklist__mark{
        width:36px;
        height:36px;
        font-size:12px;
    }

    .funding-checklist__note{
        margin-top:var(--space-4);
        padding:var(--space-3);
        text-align:left;
    }

    .funding-source,
    .funding-source--featured{
        padding:var(--space-3);
    }

    .funding-sources__note{
        padding:var(--space-3);
        text-align:left;
    }

    .page-section__header{
        margin-bottom:var(--space-4);
    }

    .page-grid,
    .page-grid--two,
    .page-grid--four,
    .construction-benefits,
    .construction-roof__cards,
    .construction-protection__cards,
    .construction-mounting__cards,
    .construction-parameters__grid,
    .director-decision__grid,
    .page-numbered{
        grid-template-columns:1fr;
    }

    .director-decision__item{
        min-height:0;
        padding:var(--space-3);
    }

    .director-decision__item::after{
        display:none;
    }

    .director-decision__answer{
        max-height:none;
        opacity:1;
        padding-top:var(--space-2);
    }

    .director-support .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .director-support .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .director-support__track{
        grid-template-columns:1fr;
        gap:var(--space-4);
        margin-top:var(--space-5);
    }

    .director-support__track::before{
        display:block;
        top:37px;
        bottom:37px;
        left:29px;
        right:auto;
        width:1px;
        height:auto;
    }

    .director-support__step{
        min-height:88px;
        padding-left:84px;
        text-align:left;
    }

    .director-support__step::before{
        display:none;
    }

    .director-support__number{
        position:absolute;
        top:0;
        left:0;
        width:58px;
        text-align:center;
    }

    .director-support__icon{
        position:absolute;
        top:22px;
        left:0;
        margin:0;
    }

    .director-support__step p{
        max-width:none;
        margin-left:0;
        margin-right:0;
    }

    .contact-process .director-support__track{
        grid-template-columns:1fr;
        gap:var(--space-4);
        margin-top:var(--space-5);
    }

    .contact-process .director-support__track::before{
        display:block;
        top:37px;
        bottom:37px;
        left:29px;
        right:auto;
        width:1px;
        height:auto;
    }

    .contact-process .director-support__step{
        min-height:88px;
        padding-left:84px;
        text-align:left;
    }

    .contact-process .director-support__step::before{
        display:none;
    }

    .contact-process .director-support__step p{
        max-width:none;
        margin-left:0;
        margin-right:0;
    }

    .director-support__more{
        display:block;
        padding:var(--space-3);
    }

    .director-support__link{
        display:inline-flex;
        margin-top:var(--space-3);
    }





.page-motto{
        padding:var(--space-6) 0;
    }

    .page-motto__panel{
        --frame-size:34px;
        --frame-inset-x:16px;
        --frame-inset-y:16px;

        min-height:210px;
        padding:calc(var(--space-6) + 12px) var(--space-5);
    }

    .page-motto__text{
        max-width:100%;
        font-size:clamp(28px, 8vw, 34px);
        line-height:1.12;
    }

    .work-story{
        padding-top:var(--space-5);
    }

    .work-story__timeline{
        padding:0;
    }

    .work-story__timeline::before{
        top:20px;
        bottom:20px;
        left:20px;
    }

    .work-story__item{
        --connector-width:18px;

        grid-template-columns:42px minmax(0,1fr);
        gap:18px;
        padding-bottom:var(--space-5);
    }

    .work-story__marker::after{
        top:19px;
        left:calc(50% + 30px);
        width:8px;
    }

    .work-story__number-frame{
        --frame-size:15px;
        --frame-inset-x:1px;
        --frame-inset-y:1px;

        width:42px;
        height:40px;
    }

    .work-story__number{
        font-size:11px;
    }

    .work-story__item--accent .work-story__content{
        margin:-10px 0;
        padding:var(--space-3);
    }

    .work-story__title{
        gap:10px;
        font-size:clamp(22px, 7vw, 28px);
    }

    .work-story__icon{
        width:22px;
        height:22px;
    }

    .work-story__item--accent .work-story__icon{
        width:24px;
        height:24px;
    }

    .work-story__intro{
        font-size:15.5px;
    }

    .work-why{
        padding-top:var(--space-6);
    }

    .work-why__grid{
        grid-template-columns:1fr;
    }

    .work-why__card{
        padding:var(--space-3);
    }

    .work-approach{
        padding-top:var(--space-6);
        padding-bottom:var(--space-7);
    }

    .work-approach__layout{
        gap:var(--space-4);
    }

    .work-approach__content{
        padding:var(--space-4);
    }

    .work-approach__checklist li{
        grid-template-columns:20px minmax(0,1fr);
        gap:8px;
        font-size:14.5px;
    }

    .work-approach__steps{
        grid-template-columns:1fr;
        margin-top:var(--space-4);
    }

    .work-approach__step{
        padding-top:var(--space-2);
    }

    .work-practice__steps li{
        grid-template-columns:42px minmax(0,1fr);
        font-size:14.5px;
    }

    .work-practice__steps{
        grid-template-columns:1fr;
    }

    .work-faq{
        padding-top:var(--space-6);
    }

    .director-impact__grid,
    .director-impact__content,
    .director-impact__visual,
    .director-impact__note{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .director-impact__content{
        padding:var(--space-3);
    }

    .director-impact__sketch{
        width:100%;
        max-width:100%;
        margin-left:0;
        margin-right:0;
        transform:none;
    }

    .director-impact__list{
        gap:var(--space-2);
    }

    .director-impact__list li{
        grid-template-columns:26px minmax(0, 1fr);
        gap:12px;
        font-size:14.5px;
    }

    .director-impact__list svg,
    .director-impact__list img{
        width:20px;
        height:20px;
    }

    .director-impact__note{
        font-size:13.5px;
    }

    .director-after .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .director-after__grid,
    .director-after__links{
        grid-template-columns:1fr;
    }

    .director-after__card{
        padding:var(--space-3);
    }

    .director-after__more h3{
        text-align:left;
    }

    .site-related .director-after__intro{
        margin-left:0;
        margin-right:0;
        text-align:left;
    }

    .site-related .director-after__link-card:last-child{
        grid-column:auto;
        max-width:none;
        justify-self:stretch;
    }

    .director-after__link-card{
        padding:var(--space-3);
    }

    .inspiration-gallery{
        column-gap:14px;
    }

    .inspiration-card{
        margin-bottom:14px;
    }

    .inspiration-card__content,
    .inspiration-card--featured .inspiration-card__content{
        padding:14px;
    }

    .inspiration-card__tags{
        top:10px;
        left:10px;
        gap:5px;
        max-width:calc(100% - 20px);
    }

    .inspiration-card__tags span{
        min-height:24px;
        padding:0 8px;
        font-size:11.5px;
    }

    .page-related-simple{
        display:grid;
        gap:var(--space-3);
    }

    .page-related-simple__links{
        justify-content:flex-start;
    }

    .teacher-page .teacher-training{
        padding:var(--space-6) 0;
    }

    .teacher-page .teacher-training__list li{
        grid-template-columns:26px minmax(0, 1fr);
        gap:12px;
        font-size:14.5px;
    }

    .teacher-page .teacher-training__list svg{
        width:20px;
        height:20px;
    }

    .teacher-page .teacher-training__detail{
        --frame-size:34px;
        --frame-inset-x:12px;
        --frame-inset-y:12px;
        max-width:none;
    }

    .director-inspiration__item{
        grid-template-columns:36px minmax(0, 1fr);
    }

    .director-inspiration__button{
        width:100%;
        justify-content:center;
    }

    .construction-parameters__item{
        grid-template-columns:36px minmax(0,1fr);
        padding:var(--space-3);
    }

    .construction-parameters__icon{
        width:34px;
        height:34px;
    }

    .construction-mounting__sketch{
        height:220px;
        padding:var(--space-2);
    }

    .construction-expansion__image{
        min-height:auto;
    }

    .construction-expansion__body,
    .construction-technology__partner{
        padding:var(--space-3);
    }

    .construction-expansion__body{
        padding:var(--space-3) 0 0;
    }

    .construction-expansion__dots{
        justify-content:flex-start;
    }

    .construction-expansion__dots button{
        flex:1 1 calc(50% - 8px);
        text-align:center;
    }

    .construction-technology__content{
        --frame-size:40px;
        padding:var(--space-3);
    }

    .construction-expansion__arrow{
        width:38px;
        height:38px;
    }

    .construction-faq .page-faq summary{
        align-items:flex-start;
        font-size:16px;
    }

    .page-faq details.page-reveal,
    .page-faq details.page-reveal.is-visible{
        transform:none;
    }

    .page-card,
    .page-faq details{
        padding:var(--space-3);
    }

    .page-cta{
        padding:var(--space-4);
    }

    .page-related{
        display:grid;
    }

    .page-related a{
        width:100%;
    }
}

@media (hover:none){
    .director-decision__answer{
        max-height:none;
        opacity:1;
        padding-top:var(--space-2);
    }
}

@media (max-width:920px){

    .safety-page .safety-planning__intro{
        grid-template-columns:1fr;
        gap:var(--space-4);
        margin-bottom:var(--space-5);
    }

    .safety-page .safety-planning__sketch{
        justify-content:flex-start;
    }

    .safety-page .safety-planning__sketch img{
        width:min(100%,420px);
    }

    .safety-page .safety-planning__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .safety-page .safety-teacher__grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:640px){

    .safety-page .safety-planning__grid{
        grid-template-columns:1fr;
    }

    .safety-page .safety-planning__card{
        padding:var(--space-3);
    }

    .safety-page .safety-teacher__card{
        padding:var(--space-3);
    }

    .safety-page .safety-path__frame{
        --frame-size:52px;
        opacity:.14;
    }

    .safety-page .safety-path .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .safety-page .safety-path .page-lead{
        margin-left:0;
        margin-right:0;
    }

    .safety-page .safety-path__track{
        grid-template-columns:1fr;
        gap:0;
    }

    .safety-page .safety-path__track::before{
        display:block;
        top:4px;
        bottom:8px;
        left:24px;
        right:auto;
        width:1px;
        height:auto;
    }

    .safety-page .safety-path__step{
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        padding:0 0 var(--space-4);
        text-align:left;
    }

    .safety-page .safety-path__step:last-child{
        padding-bottom:0;
    }

    .safety-page .safety-path__step::before{
        display:none;
    }

    .safety-page .safety-path__marker{
        grid-column:1;
        grid-row:1 / span 2;
        min-height:0;
        align-items:center;
        justify-content:flex-start;
        gap:7px;
    }

    .safety-page .safety-path__number{
        font-size:12px;
    }

    .safety-page .safety-path__icon-wrap{
        --frame-size:16px;
        width:48px;
        height:48px;
    }

    .safety-page .safety-path__icon{
        width:23px;
        height:23px;
    }

    .safety-page .safety-path__step h3,
    .safety-page .safety-path__step p{
        grid-column:2;
        max-width:none;
        margin-left:0;
        margin-right:0;
    }

    .safety-page .safety-teacher__card{
        grid-template-columns:36px minmax(0,1fr);
        gap:var(--space-2);
    }

    .safety-page .safety-teacher__icon{
        width:36px;
        height:36px;
    }

    .safety-page .safety-teacher__icon img{
        width:28px;
        height:28px;
    }

}

@media (max-width:1180px){

    .schools-approach__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .schools-approach__audience{
        padding:0;
    }

    .schools-role-card{
        grid-template-columns:220px minmax(0,1fr);
    }

    .schools-role-card__media{
        min-height:0;
    }

    .schools-ecosystem__board{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-areas:
            "director teacher"
            "sketch sketch"
            "student student"
            "parents authority";
        gap:var(--space-5) var(--space-6);
    }

    .schools-ecosystem__sketch img{
        max-width:620px;
        margin:0 auto;
    }

    .schools-ecosystem__group,
    .schools-ecosystem__group--director,
    .schools-ecosystem__group--parents,
    .schools-ecosystem__group--teacher,
    .schools-ecosystem__group--authority{
        justify-self:center;
        text-align:left;
    }

}

@media (max-width:760px){

    .schools-perspective__grid{
        grid-template-columns:1fr;
    }

    .schools-role-card{
        grid-template-columns:210px minmax(0,1fr);
    }

    .schools-page .schools-perspective .page-section__header,
    .schools-page .schools-ecosystem .page-section__header{
        text-align:left;
        margin-left:0;
        margin-right:0;
    }

    .schools-page .schools-perspective .page-lead,
    .schools-page .schools-ecosystem .page-lead{
        margin-left:0;
        margin-right:0;
    }

}

@media (max-width:640px){

    .site-related .director-after__links,
    .site-related .director-after__links--two,
    .site-related .director-after__links--four{
        grid-template-columns:1fr;
        max-width:none;
    }

    .site-related .director-after__link-card,
    .site-related .director-after__link-card:last-child,
    .site-related .director-after__links--four .director-after__link-card{
        grid-column:auto;
        max-width:none;
        justify-self:stretch;
    }

    .schools-approach{
        padding-top:var(--space-5);
    }

    .schools-approach__card{
        --frame-size:40px;
        --frame-inset-x:var(--space-2);
        --frame-inset-y:var(--space-2);

        padding:var(--space-4);
    }

    .schools-approach__title{
        font-size:clamp(26px,8vw,32px);
    }

    .schools-approach__text{
        font-size:15px;
        line-height:1.7;
    }

    .schools-approach__list{
        gap:var(--space-2);
    }

    .schools-approach__list li{
        font-size:16px;
    }

    .schools-role-card{
        grid-template-columns:1fr;
    }

    .schools-role-card__media{
        min-height:0;
        aspect-ratio:16 / 10;
    }

    .schools-role-card__body{
        padding:18px;
    }

    .schools-role-card__button{
        width:100%;
    }

    .schools-page main{
        display:flex;
        flex-direction:column;
    }

    .schools-page main > *{
        order:10;
    }

    .schools-page main > .about-hero{
        order:1;
    }

    .schools-page main > .schools-approach{
        order:2;
    }

    .schools-page main > .schools-perspective{
        order:3;
    }

    .schools-page main > .schools-ecosystem{
        order:4;
    }

    .schools-page main > [data-contact-cta],
    .schools-page main > .about-cta{
        order:5;
    }

    .schools-ecosystem__board{
        grid-template-columns:1fr;
        grid-template-areas:
            "sketch"
            "student"
            "director"
            "teacher"
            "parents"
            "authority";
        gap:var(--space-4);
        padding-top:0;
    }

    .schools-ecosystem__group,
    .schools-ecosystem__group--director,
    .schools-ecosystem__group--parents,
    .schools-ecosystem__group--teacher,
    .schools-ecosystem__group--student,
    .schools-ecosystem__group--authority{
        justify-self:stretch;
        max-width:none;
        margin:0;
        text-align:left;
    }

}

@media (max-width:640px){

    .safety-page .safety-path__track::before,
    .director-support__track::before,
    .contact-process .director-support__track::before,
    .work-story__timeline::before{
        display:none;
    }

    .safety-page .safety-path__step,
    .director-support__step,
    .work-story__item{
        isolation:isolate;
    }

    .safety-page .safety-path__step:not(:last-child)::before{
        content:"";
        display:block;
        position:absolute;
        top:74px;
        bottom:0;
        left:24px;
        width:1px;
        height:auto;
        background:var(--sage);
        opacity:.68;
        z-index:0;
    }

    .safety-page .safety-path__step:last-child::before{
        display:none;
    }

    .director-support__step:not(:last-child)::after{
        content:"";
        position:absolute;
        top:84px;
        bottom:calc(var(--space-4) * -1);
        left:29px;
        width:1px;
        background:var(--sage);
        opacity:.68;
        z-index:0;
    }

    .director-support__step:last-child::after{
        display:none;
    }

    .work-story__item:not(:last-child)::before{
        content:"";
        position:absolute;
        top:46px;
        bottom:0;
        left:20px;
        width:1px;
        background:rgba(115,138,105,.52);
        z-index:0;
    }

    .work-story__item:last-child::before{
        display:none;
    }

    .work-story__marker,
    .work-story__content{
        position:relative;
        z-index:1;
    }

}

@media (max-width:640px){

    .director-decision__item.is-mobile-collapsible{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:var(--space-2);
        min-height:0;
        padding:var(--space-3);
    }

    .director-decision__item.is-mobile-collapsible h3{
        grid-column:1;
        font-size:18px;
    }

    .director-decision__item.is-mobile-collapsible::after{
        display:none;
    }

    .director-decision__item.is-mobile-collapsible .director-decision__toggle{
        grid-column:2;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-width:82px;
        min-height:34px;
        padding:7px 12px;
        border:1px solid rgba(115,138,105,.35);
        border-radius:999px;
        background:#fff;
        color:var(--sage);
        font-family:var(--font-body);
        font-size:12.5px;
        font-weight:600;
        line-height:1;
        white-space:nowrap;
        cursor:pointer;
    }

    .director-decision__item.is-mobile-collapsible.is-expanded .director-decision__toggle{
        border-color:var(--sage);
        background:var(--sage);
        color:#fff;
    }

    .director-decision__item.is-mobile-collapsible .director-decision__answer,
    .director-decision__item.is-mobile-collapsible:not(.is-expanded):hover .director-decision__answer,
    .director-decision__item.is-mobile-collapsible:not(.is-expanded):focus-visible .director-decision__answer{
        grid-column:1 / -1;
        max-height:0;
        opacity:0;
        padding-top:0;
        overflow:hidden;
    }

    .director-decision__item.is-mobile-collapsible.is-expanded .director-decision__answer,
    .director-decision__item.is-mobile-collapsible.is-expanded:hover .director-decision__answer,
    .director-decision__item.is-mobile-collapsible.is-expanded:focus-visible .director-decision__answer{
        max-height:520px;
        opacity:1;
        padding-top:var(--space-2);
    }

}

.error-page main{
    background:#fff;
}

.error-hero{
    padding:clamp(92px, 10vw, 138px) 0 clamp(70px, 8vw, 108px);
}

.error-hero__layout{
    display:grid;
    grid-template-columns:minmax(0, 3fr) minmax(320px, 2fr);
    gap:clamp(34px, 5vw, 76px);
    align-items:center;
}

.error-hero__content{
    max-width:760px;
}

.error-hero__code{
    margin:0 0 var(--space-3);
    font-family:var(--font-heading);
    font-size:clamp(68px, 9vw, 128px);
    font-weight:700;
    line-height:.88;
    color:rgba(115,138,105,.38);
}

.error-hero__title{
    max-width:720px;
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(34px, 4.4vw, 62px);
    font-weight:600;
    line-height:1.08;
    color:var(--graphite);
}

.error-hero__lead{
    max-width:650px;
    margin:var(--space-3) 0 0;
    font-size:clamp(16px, 1.35vw, 18px);
    line-height:1.72;
    color:var(--graphite-600);
}

.error-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-2);
    margin-top:var(--space-5);
}

.error-hero__links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:var(--space-4);
}

.error-hero__links a{
    color:var(--sage);
    font-size:14px;
    font-weight:600;
    text-decoration:none;
}

.error-hero__links a:hover,
.error-hero__links a:focus-visible{
    color:var(--color-sage-dark);
}

.error-hero__media{
    --frame-size:48px;
    --frame-inset-x:18px;
    --frame-inset-y:18px;

    position:relative;
    width:100%;
    margin:0;
    aspect-ratio:4 / 3;
    overflow:hidden;
    border-radius:8px;
    background:var(--color-warm-white);
}

.error-hero__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.error-hero__media .frame{
    z-index:2;
    opacity:.74;
    filter:brightness(0) invert(1);
}

@media (max-width:920px){

    .error-hero{
        padding-top:var(--space-8);
    }

    .error-hero__layout{
        grid-template-columns:1fr;
        gap:var(--space-5);
    }

    .error-hero__media{
        max-width:620px;
    }

}

@media (max-width:640px){

    .error-hero{
        padding:var(--space-7) 0 var(--space-6);
    }

    .error-hero__code{
        font-size:64px;
    }

    .error-hero__actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .error-hero__actions .btn{
        width:100%;
        justify-content:center;
    }

    .error-hero__links{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .error-hero__media{
        --frame-size:38px;
        --frame-inset-x:12px;
        --frame-inset-y:12px;
    }

}
