:root{
    --ink:#173b30;
    --muted:#536b61;
    --green:#215844;
    --paper:#fbfaf6;
    --line:#dce3d8;
    --mint:#eaf0e6;
    --accent:#d7ee9e
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:30px
}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.65
}
a{
    color:inherit;
    text-underline-offset:4px
}
a:hover{
    color:#357253
}
a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
    outline:3px solid #99611c;
    outline-offset:5px
}
.wrap{
    width:min(1160px,calc(100% - 64px));
    margin-inline:auto
}
.site-header{
    background:var(--paper);
    border-bottom:1px solid var(--line)
}
.header-inner{
    min-height:104px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px
}
.brand{
    display:flex;
    gap:12px;
    align-items:center;
    text-decoration:none;
    font-size:24px;
    font-weight:700;
    letter-spacing:-1px
}
.brand-mark{
    display:grid;
    place-items:center;
    width:43px;
    height:46px;
    border-radius:50% 50% 4px 50%;
    background:var(--green);
    color:var(--accent);
    font-family:Georgia,serif;
    font-size:35px;
    font-weight:400
}
.brand small{
    display:block;
    font-size:10px;
    letter-spacing:.2px;
    font-weight:400;
    color:var(--muted)
}
nav{
    display:flex;
    gap:26px;
    align-items:center
}
nav a{
    font-size:13px;
    text-decoration:none;
    font-weight:600
}
.button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:19px;
    background:var(--green);
    color:#fff;
    padding:15px 21px;
    border:1px solid var(--green);
    border-radius:5px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    line-height:1.5
}
.button:hover{
    background:#153e2e;
    color:white
}
.button.small{
    padding:11px 17px
}
.button.outline{
    background:transparent;
    color:var(--green)
}
.button.outline:hover{
    background:#dce8d5
}
.hero{
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:64px;
    align-items:center;
    padding-block:80px 88px
}
.eyebrow{
    text-transform:uppercase;
    font-size:10px;
    letter-spacing:2px;
    font-weight:700;
    margin:0 0 20px
}
.status-dot{
    display:inline-block;
    height:7px;
    width:7px;
    background:#668245;
    border-radius:50%;
    margin-right:8px
}
h1,h2,h3,p{
    margin-top:0
}
h1,h2{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-2px;
    line-height:1.1
}
h1{
    font-size:clamp(48px,5.7vw,76px);
    margin-bottom:26px
}
h1 em{
    font-weight:400;
    color:#4f7047
}
h2{
    font-size:43px;
    margin-bottom:24px
}
h3{
    font-size:20px;
    line-height:1.4;
    letter-spacing:-.5px
}
.intro{
    font-size:17px;
    max-width:460px;
    color:var(--muted);
    line-height:1.85
}
.actions{
    display:flex;
    align-items:center;
    gap:23px;
    flex-wrap:wrap
}
.hero .actions{
    margin-top:30px
}
.text-link{
    font-size:13px;
    font-weight:700;
    text-decoration:none
}
.hero-note{
    font-size:11px;
    color:var(--muted);
    margin:17px 0 0
}
.learning-visual{
    background:var(--mint);
    border:1px solid #d7dfce;
    border-radius:130px 10px 10px 10px;
    padding:37px 32px 23px;
    position:relative;
    overflow:hidden
}
.visual-top{
    display:flex;
    justify-content:space-between;
    font-size:9px;
    letter-spacing:1.6px;
    padding-left:28px
}
.orbit{
    height:274px;
    position:relative;
    display:grid;
    place-items:center
}
.orbit-core{
    text-align:center;
    line-height:1.2;
    font-size:32px;
    font-family:Georgia,serif;
    z-index:1
}
.orbit-core em{
    color:#547047
}
.orbit-ring{
    position:absolute;
    width:280px;
    height:158px;
    border:1px solid #9cac90;
    border-radius:50%;
    transform:rotate(-35deg)
}
.orbit-ring.two{
    transform:rotate(40deg);
    width:250px;
    height:210px
}
.orbit-dot{
    position:absolute;
    top:70px;
    right:53px;
    width:15px;
    height:15px;
    background:#3f684c;
    border:4px solid #c9dba9;
    border-radius:50%
}
.visual-steps{
    display:flex;
    border-top:1px solid #c8d4bf;
    border-bottom:1px solid #c8d4bf;
    padding:16px 0;
    justify-content:space-between;
    gap:8px
}
.visual-steps div{
    display:flex;
    gap:9px;
    align-items:center;
    font-size:12px
}
.visual-steps b{
    font-size:9px;
    color:#557245
}
.learning-visual>p{
    text-align:center;
    font-size:10px;
    margin:16px 0 0;
    color:var(--muted)
}
.student-strip{
    border-block:1px solid var(--line);
    background:#f0f3ec
}
.strip-inner{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    padding-block:28px
}
.student-strip .eyebrow{
    margin-bottom:6px
}
.student-strip h2{
    font:400 21px Georgia,serif;
    letter-spacing:-.5px;
    margin:0
}
.section{
    padding-block:86px
}
.section-heading{
    max-width:650px
}
.section-heading>p:last-child{
    max-width:540px;
    color:var(--muted)
}
.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    margin-top:44px
}
.feature-grid article{
    border-top:1px solid #bdcbb7;
    padding-top:23px
}
.number{
    font-size:9px;
    letter-spacing:1.8px;
    font-weight:700;
    display:block;
    margin-bottom:24px;
    color:var(--muted)
}
.feature-grid p{
    font-size:14px;
    color:var(--muted);
    margin-bottom:0
}
.district-section{
    background:#193e31;
    color:#f4f6eb
}
.district-grid{
    padding-block:70px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px
}
.district-grid>div>p:not(.eyebrow){
    color:#cad8ca;
    font-size:15px;
    max-width:420px
}
.district-grid .text-link{
    color:#d7ee9e;
    display:inline-block;
    margin-top:10px
}
.district-facts{
    margin:0
}
.district-facts>div{
    border-bottom:1px solid #476252;
    padding:0 0 24px;
    margin-bottom:24px
}
.district-facts>div:last-child{
    margin-bottom:0
}
.district-facts dt{
    font-size:15px;
    font-weight:700;
    margin-bottom:6px
}
.district-facts dd{
    margin:0;
    font-size:13px;
    color:#cfdbce
}
.district-facts a:hover{
    color:white
}
.help-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px
}
.help-grid>div>p:not(.eyebrow){
    font-size:14px;
    color:var(--muted);
    max-width:360px
}
.faq details{
    border-bottom:1px solid var(--line);
    padding:19px 0
}
.faq details:first-child{
    padding-top:0
}
.faq summary{
    font-size:14px;
    font-weight:700;
    cursor:pointer
}
.faq p,.faq a{
    font-size:13px
}
.faq p{
    margin:14px 0;
    color:var(--muted)
}
.site-footer{
    border-top:1px solid var(--line);
    padding:35px 0 28px
}
.footer-inner{
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:24px
}
.footer-brand{
    font-size:20px;
    font-weight:700;
    text-decoration:none
}
.site-footer p{
    font-size:10px;
    color:var(--muted);
    margin:6px 0
}
.site-footer nav{
    gap:21px;
    padding-top:8px;
    flex-wrap:wrap
}
.site-footer nav a{
    font-size:11px
}
.site-footer small{
    font-weight:400
}
.footer-note{
    white-space:nowrap
}
.skip-link{
    position:absolute;
    top:-100px;
    left:12px;
    background:white;
    padding:12px;
    z-index:10
}
.skip-link:focus{
    top:12px
}
.policy{
    padding-block:45px 85px
}
.back-link{
    display:inline-block;
    font-size:12px;
    margin-bottom:37px
}
.policy h1{
    font-size:58px
}
.draft-notice{
    padding:21px 25px;
    border-left:3px solid #b58835;
    background:#f5eedc;
    margin:30px 0 45px;
    font-size:14px
}
.draft-notice p{
    margin:6px 0 0
}
.policy-layout{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:65px
}
.policy-layout nav{
    align-items:flex-start;
    flex-direction:column;
    gap:17px
}
.policy-copy{
    max-width:770px;
    font-size:15px;
    color:#3b5247
}
.policy-copy section{
    margin-bottom:38px
}
.policy-copy h2{
    font:400 28px Georgia,serif;
    letter-spacing:-.5px;
    color:var(--ink);
    margin:32px 0 15px
}
.policy-copy section:first-child h2{
    margin-top:0
}
.policy-copy li{
    margin-bottom:12px
}
.review-item,.draft-inline{
    border-left:2px solid #b58835;
    padding-left:16px;
    font-size:13px;
    color:#725720
}
.cookie-copy{
    max-width:100%
}
.cookie-copy>p{
    max-width:800px
}
table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
    text-align:left
}
caption{
    text-align:left;
    font-size:12px;
    margin-bottom:12px;
    color:var(--muted)
}
th,td{
    border-bottom:1px solid var(--line);
    padding:17px;
    vertical-align:top
}
thead{
    background:var(--mint)
}
code{
    font-size:12px;
    overflow-wrap:anywhere
}
.table-scroll{
    overflow-x:auto
}
table th:first-child{
    min-width:190px
}
table td{
    min-width:190px
}
@media(max-width:1000px){
    .hero{
        gap:35px
    }
    .header-inner nav{
        gap:16px
    }
    .brand small{
        display:none
    }
    .district-grid,.help-grid{
        gap:45px
    }
    .visual-steps div{
        flex-direction:column;
        gap:3px
    }
    .footer-inner{
        flex-wrap:wrap
    }
}
@media(max-width:760px){
    .wrap{
        width:calc(100% - 36px)
    }
    .header-inner{
        min-height:85px;
        flex-wrap:wrap;
        padding-block:17px;
        gap:17px
    }
    .brand{
        font-size:23px
    }
    .header-inner nav{
        gap:18px;
        flex-wrap:wrap
    }
    .header-inner nav a{
        font-size:12px
    }
    .header-inner nav .button{
        padding:9px 12px
    }
    .hero{
        grid-template-columns:1fr;
        padding-block:45px;
        gap:38px
    }
    h1{
        font-size:58px
    }
    h2{
        font-size:36px
    }
    .intro{
        font-size:16px
    }
    .learning-visual{
        max-width:490px;
        width:100%;
        justify-self:center;
        padding-inline:27px
    }
    .visual-steps div{
        flex-direction:row
    }
    .orbit{
        height:245px
    }
    .strip-inner{
        align-items:flex-start;
        flex-direction:column
    }
    .section{
        padding-block:55px
    }
    .feature-grid{
        grid-template-columns:1fr;
        gap:29px;
        margin-top:30px
    }
    .number{
        margin-bottom:12px
    }
    .district-grid,.help-grid{
        grid-template-columns:1fr;
        gap:32px
    }
    .district-grid{
        padding-block:50px
    }
    .footer-inner{
        flex-direction:column;
        gap:12px
    }
    .site-footer nav{
        gap:16px
    }
    .policy-layout{
        grid-template-columns:1fr;
        gap:30px
    }
    .policy-layout nav{
        border-bottom:1px solid var(--line);
        padding-bottom:23px;
        gap:10px
    }
    .policy h1{
        font-size:46px
    }
    .draft-notice{
        padding:17px
    }
    .policy{
        padding-top:25px
    }
    .actions{
        gap:17px
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
}
@media print{
    .site-header,.site-footer,.skip-link,.back-link,.policy-layout nav{
        display:none
    }
    .wrap{
        width:100%
    }
    .policy-layout{
        display:block
    }
    body{
        background:white;
        color:black
    }
    .policy{
        padding:0
    }
    .table-scroll{
        overflow:visible
    }
}
