/* School homepage only. All content selectors are shared with the block editor. */
.csp-school-front {margin:0;background:#f6f8f7;color:#20272c;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;font-weight:400;}
.csp-header,.csp-footer,.csp-page {--csp-green:#348c24;--csp-dark:#20272c;--csp-muted:#56615d;--csp-line:#e8eeea;--csp-shadow:0 3px 14px #192d2210;box-sizing:border-box;}
.csp-header *,.csp-footer *,.csp-page * {box-sizing:border-box;}
.csp-school-front img {max-width:100%;height:auto;}
.csp-school-front a,.csp-page a {color:inherit;text-decoration:none;}
.csp-school-front a:hover,.csp-page a:hover {opacity:1;}
.csp-school-front :focus-visible,.csp-page :focus-visible {outline:3px solid #267dca;outline-offset:5px;}
.csp-school-front .screen-reader-text {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.csp-skip {position:fixed;top:-90px;left:16px;z-index:99999;background:#fff;padding:12px 20px;border:2px solid #348c24;}
.csp-skip:focus {top:12px;}
.csp-header {background:#fff;position:relative;z-index:30;border-bottom:1px solid #e9eeea;}
.csp-header-inner {max-width:1320px;width:calc(100% - 64px);margin:auto;min-height:78px;display:flex;align-items:center;gap:20px;}
.csp-brand {display:flex;align-items:center;gap:14px;flex:0 0 235px;color:#1f2829;font-size:15px;font-weight:700;line-height:1.22;}
.csp-brand span {max-width:170px;}
.csp-logo {width:43px;height:53px!important;object-fit:contain;flex-shrink:0;}
.csp-nav {margin-left:auto;}
.csp-menu,.csp-menu ul {list-style:none;margin:0;padding:0;}
.csp-menu {display:flex;align-items:center;gap:22px;}
.csp-menu li {position:relative;}
.csp-menu li>a {display:block;padding:27px 0;font-size:13px;font-weight:400;line-height:1.6;white-space:nowrap;}
.csp-menu li>a:hover,.csp-menu .current-menu-item>a {color:var(--csp-green);}
.csp-menu>.current-menu-item>a::after {content:'';position:absolute;bottom:21px;height:2px;background:var(--csp-green);left:0;right:0;}
.csp-menu ul {position:absolute;top:100%;left:-16px;min-width:255px;max-width:330px;background:#fff;padding:10px;border:1px solid #e7eee7;border-radius:10px;box-shadow:0 10px 30px #11201626;display:none;}
.csp-menu ul a {padding:10px;font-size:13px;white-space:normal;}
.csp-menu ul ul {left:100%;top:0;}
.csp-menu li:hover>ul,.csp-menu li:focus-within>ul,.csp-menu li.is-open>ul {display:block;}
.csp-submenu-toggle {border:0;background:none;padding:8px 2px;cursor:pointer;color:inherit;position:absolute;right:-17px;top:22px;font-size:15px;}
.csp-menu ul .csp-submenu-toggle {top:5px;right:0;}
.csp-menu ul .menu-item-has-children>a {padding-right:28px;}
.csp-menu-toggle {display:none;border:1px solid #dbe7d8;background:#f4f8f2;border-radius:8px;padding:8px 12px;font:inherit;color:#233f1e;}
.csp-action,.csp-page .wp-block-button__link {display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 25px;border-radius:999px;background:linear-gradient(135deg,#439e2d,#2f8321);color:#fff!important;font:600 14px/1.3 Arial,Helvetica,sans-serif;text-decoration:none;box-shadow:0 3px 6px #1e561619;border:1px solid transparent;transition:background .18s,transform .18s;}
.csp-action:hover,.csp-page .wp-block-button__link:hover {background:#286f1c;transform:translateY(-1px);}
.csp-header-cta {padding:12px 21px;font-size:12px;flex-shrink:0;}
.csp-search {position:relative;flex-shrink:0;margin-left:2px;}
.csp-search summary {list-style:none;cursor:pointer;padding:9px;line-height:0;}
.csp-search summary::-webkit-details-marker {display:none;}
.csp-search svg {width:21px;height:21px;}
.csp-search form {position:absolute;right:0;top:48px;width:340px;background:#fff;box-shadow:0 8px 30px #17281926;border:1px solid #e3e9e3;border-radius:10px;padding:20px;}
.csp-search label {display:block;font-size:13px;font-weight:600;margin-bottom:8px;}
.csp-search form>div {display:flex;gap:8px;}
.csp-search input {min-width:0;width:100%;border:1px solid #ccd9ca;border-radius:5px;padding:8px;}
.csp-search button {border:0;border-radius:5px;background:#328623;color:white;padding:8px 10px;cursor:pointer;}
.csp-main {overflow:clip;}
.csp-page {font:16px/1.5 Arial,Helvetica,sans-serif;color:var(--csp-dark);background:#f6f8f7;max-width:none!important;}
.csp-page :where(h1,h2,h3,p,figure) {margin:0;}
.csp-page :where(figure,img) {max-width:100%;}
.csp-page .wp-block-group,.csp-page .wp-block-cover {margin-block-start:0;margin-block-end:0;}
/* Classic themes receive this extra wrapper from WordPress at render time. */
.csp-page .wp-block-group__inner-container {display:contents;}
.csp-page .csp-container {width:calc(100% - 80px);max-width:1240px;margin-left:auto!important;margin-right:auto!important;}
.csp-page .csp-hero {padding:70px 0 108px;min-height:435px;}
.csp-page .csp-hero .wp-block-cover__background {background:linear-gradient(90deg,rgba(6,22,8,.76),rgba(7,24,9,.25) 60%,rgba(6,24,8,.15))!important;opacity:1;}
.csp-page .csp-hero .wp-block-cover__image-background {object-position:50% 50%;}
.csp-page .csp-hero-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding:0 55px;}
.csp-page .csp-hero h1 {font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.7vw,51px);font-weight:700;line-height:1.1;letter-spacing:-.8px;color:#fff;max-width:650px;}
.csp-page .csp-hero p {color:#fff;font-size:21px;font-family:Georgia,'Times New Roman',serif;line-height:1.45;margin-top:18px;max-width:480px;}
.csp-page .csp-hero .wp-block-buttons {display:flex;flex-wrap:wrap;gap:15px;margin-top:26px;}
.csp-page .csp-hero .is-style-outline .wp-block-button__link {background:#10241620;border:1px solid #ffffffb3;color:#fff;padding:13px 26px;}
.csp-page .csp-hero .is-style-outline .wp-block-button__link:hover {background:#fff;color:#246519!important;}
.csp-page .csp-hero-optional img {max-height:280px;width:100%;object-fit:contain;}
.csp-page .csp-hero-optional figure:empty,.csp-page .csp-hero-optional img:not([src]),.csp-page .csp-hero-optional img[src=''] {display:none;}
.csp-page .csp-quick {position:relative;z-index:2;background:#fff;border-radius:18px;padding:19px;margin-top:-52px!important;box-shadow:0 8px 35px #18371c13;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.csp-page .csp-quick-card {position:relative;display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:center;border-radius:13px;padding:17px 15px;min-height:104px;transition:transform .2s;}
.csp-page .csp-quick-card:hover {transform:translateY(-3px);}
.csp-page .csp-quick-card h3 {font:700 16px/1.3 Georgia,'Times New Roman',serif;margin-bottom:5px;}
.csp-page .csp-quick-card h3 a::after {content:'';position:absolute;inset:0;border-radius:13px;}
.csp-page .csp-quick-card p {font-size:12px;color:#3f5059;line-height:1.45;}
.csp-page .csp-quick-card .wp-block-image {width:58px;height:58px;border-radius:14px;padding:13px;}
.csp-page .csp-quick-card .wp-block-image img {width:32px;height:32px;display:block;}
.csp-page .csp-quick-blue {background:#eaf7fc;}.csp-page .csp-quick-blue figure {background:#c5e9f9;}
.csp-page .csp-quick-green {background:#f0f7ed;}.csp-page .csp-quick-green figure {background:#d8ebcd;}
.csp-page .csp-quick-yellow {background:#fcf8e9;}.csp-page .csp-quick-yellow figure {background:#fae9a5;}
.csp-page .csp-quick-mint {background:#edf7f0;}.csp-page .csp-quick-mint figure {background:#bce8d5;}
.csp-page .csp-section {padding-top:32px;}
.csp-page .csp-section-title,.csp-page .csp-contact h2 {font:700 28px/1.25 Georgia,'Times New Roman',serif;color:#20272c;letter-spacing:-.25px;position:relative;padding-bottom:14px;margin-bottom:23px;}
.csp-page .csp-section-title::after,.csp-page .csp-contact h2::after {content:'';position:absolute;bottom:0;left:0;width:39px;height:3px;background:#3e9c2b;}
.csp-page .csp-section-heading {display:flex;justify-content:space-between;align-items:baseline;gap:20px;}
.csp-page .csp-section-heading p {font-size:14px;font-weight:700;color:#2d801e;text-decoration:underline;text-underline-offset:4px;}
.csp-page .csp-news-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;}
.csp-page .csp-news-grid>.wp-block-post {background:#fff;box-shadow:var(--csp-shadow);border:1px solid var(--csp-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-width:0;}
.csp-page .csp-news-grid .wp-block-post-featured-image {margin:0;aspect-ratio:2.4;background:#e7eee5;overflow:hidden;}
.csp-page .csp-news-grid .wp-block-post-featured-image img {width:100%;height:100%;object-fit:cover;transition:transform .25s;}
.csp-page .csp-news-grid .wp-block-post-featured-image a {display:block;height:100%;}
.csp-page .csp-news-grid .wp-block-post:hover .wp-block-post-featured-image img {transform:scale(1.035);}
.csp-page .csp-news-copy {padding:18px 21px 19px;flex:1;display:flex;flex-direction:column;gap:8px;}
.csp-page .wp-block-post-terms {color:#2d801e;font:700 12px/1.3 Arial,sans-serif;text-transform:uppercase;}
.csp-page .wp-block-post-title {font:700 21px/1.25 Georgia,'Times New Roman',serif;margin:0;}
.csp-page .wp-block-post-title a:hover {color:#328421;}
.csp-page .wp-block-post-excerpt {font-size:16px;line-height:1.4;color:#56605e;}
.csp-page .wp-block-post-excerpt p {margin:0;}
.csp-page .wp-block-post-excerpt__more-text {display:none;}
.csp-page .csp-news-meta {display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;padding-top:9px;}
.csp-page .wp-block-post-date {font-size:12px;color:#69716d;}
.csp-page .wp-block-read-more {color:#2f821e;font-size:13px;font-weight:700;white-space:nowrap;}
.csp-page .csp-program-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.csp-page .csp-program-card {background:#fff;box-shadow:var(--csp-shadow);border:1px solid var(--csp-line);border-radius:12px;padding:15px 12px 13px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:155px;}
.csp-page .csp-program-card figure {width:100%;margin:0;}
.csp-page .csp-program-card img {height:93px;width:100%;object-fit:contain;display:block;}
.csp-page .csp-program-card p {font:700 14px/1.25 Georgia,'Times New Roman',serif;}
.csp-page .csp-program-card a:hover {color:#348c24;}
.csp-page .csp-values {grid-column:span 2;border-radius:12px;padding:21px 25px;background:linear-gradient(120deg,#eff7ea,#e5f1e0);position:relative;overflow:hidden;}
.csp-page .csp-values::after {content:'';position:absolute;right:-21px;bottom:-50px;width:105px;height:165px;border-radius:80% 8% 80% 8%;background:#b4d7a7;transform:rotate(-25deg);opacity:.6;}
.csp-page .csp-values h3 {font:700 23px/1.2 Georgia,serif;color:#348026;margin-bottom:12px;position:relative;z-index:1;max-width:250px;}
.csp-page .csp-values p {font-size:14px;color:#51634f;max-width:245px;position:relative;z-index:1;}
.csp-page .csp-bottom-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:50px;margin-bottom:29px;}
.csp-video {position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#15251b;}
.csp-video-play {position:relative;display:block;width:100%;height:100%;cursor:pointer;}
.csp-video-play::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0008,transparent 60%,#0002);}
.csp-video-play img {width:100%;height:100%;object-fit:cover;}
.csp-video-title {position:absolute;top:16px;left:18px;right:18px;color:#fff;font:14px/1.3 Arial,sans-serif;z-index:1;}
.csp-play-icon {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ed001b;color:white;border-radius:15px;font:26px/1 Arial,sans-serif;padding:16px 24px;z-index:1;}
.csp-video iframe {border:0;width:100%;height:100%;position:absolute;inset:0;}
.csp-page .csp-project-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.csp-page .csp-project-card figure {background:white;border:1px solid var(--csp-line);box-shadow:var(--csp-shadow);border-radius:12px;overflow:hidden;}
.csp-page .csp-project-card img {aspect-ratio:1.5;width:100%;object-fit:contain;display:block;}
.csp-page .csp-project-card p {text-align:center;margin-top:12px;font-size:13px;font-weight:700;color:#348025;}
.csp-page .csp-contact {padding:30px 0 32px;min-height:0;}
.csp-page .csp-contact .wp-block-cover__background {background:linear-gradient(90deg,#10200ce0,#10210dbf)!important;opacity:1;}
.csp-page .csp-contact-grid {display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center;}
.csp-page .csp-contact h2 {color:#fff;margin-bottom:23px;}
.csp-page .csp-contact-details {display:grid;grid-template-columns:1.1fr 1fr;gap:20px;}
.csp-page .csp-contact-details p {color:#fff;font-size:15px;line-height:1.55;margin-bottom:13px;font-weight:500;}
.csp-page .csp-contact-details a {text-decoration:none;overflow-wrap:anywhere;}
.csp-page .csp-contact-details a:hover {text-decoration:underline;}
.csp-page .csp-contact-card {background:#fff;color:#29352c;padding:23px;border-radius:12px;box-shadow:var(--csp-shadow);}
.csp-page .csp-contact-card h3 {font:700 20px/1.3 Georgia,serif;margin:0 0 15px;}
.csp-contact-form p {font-size:14px;line-height:1.6;margin:0 0 17px;}
.csp-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.csp-contact-form textarea,.csp-contact-form select {width:100%;max-width:100%;background:#fff;color:#25342a;border:0;border-bottom:1px solid #d6dfd5;border-radius:0;padding:11px 0;font:14px/1.4 Arial,sans-serif;box-shadow:none;}
.csp-contact-form label {font-size:13px;display:block;}
.csp-contact-form textarea {min-height:85px;resize:vertical;}
.csp-contact-form [type=submit] {border:0;border-radius:30px;background:#348c24;color:#fff;padding:12px 23px;font-weight:600;cursor:pointer;}
.csp-contact-form .form_field_wrap {margin-bottom:10px;}
.csp-contact-form .pirate_forms_three_inputs_wrap {display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.csp-contact-form .contact_subject_wrap {grid-column:span 2;}
.csp-contact-form .contact_submit_wrap {text-align:right;}
.csp-contact-form .hidden {display:none;}
.csp-contact-form .wpcf7 p {margin-bottom:10px;}
.csp-footer {background:#1e282a;color:#d4dcda;font:11px/1.7 Arial,sans-serif;padding:23px 0;}
.csp-footer-inner {max-width:1240px;width:calc(100% - 80px);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px;}
.csp-footer-brand {display:flex;gap:14px;align-items:center;min-width:235px;}
.csp-footer-brand .csp-logo {height:46px!important;width:35px;}
.csp-footer strong {font-size:11px;color:#fff;}
.csp-footer-menu {list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 15px;font-size:11px;}
.csp-footer small {font-size:10px;text-align:right;}
.csp-footer a:hover {color:#fff;text-decoration:underline;}
@media(min-width:1101px) and (max-width:1320px) {
    .csp-header-inner {gap:15px;width:calc(100% - 50px);}.csp-brand {flex-basis:220px;}.csp-menu {gap:17px;}.csp-menu li>a {font-size:12px;}.csp-header-cta {padding:11px 17px;}
    .csp-page .csp-quick-card {gap:10px;grid-template-columns:48px 1fr;padding:15px 12px;}.csp-page .csp-quick-card figure {width:48px!important;height:48px!important;padding:8px!important;}
}
@media(max-width:1100px) {
    .csp-header-inner {min-height:73px;flex-wrap:wrap;gap:12px;padding:10px 0;}.csp-brand {margin-right:auto;}.csp-menu-toggle {display:block;cursor:pointer;}.csp-nav {order:5;flex:1 0 100%;margin:0;}.csp-js .csp-nav {display:none;}.csp-js .csp-nav.is-open {display:block;}
    .csp-menu {display:block;padding:8px 0;}.csp-menu li>a {padding:10px;font-size:15px;}.csp-menu ul {position:static;min-width:0;max-width:none;box-shadow:none;border:0;border-left:2px solid #dcead7;border-radius:0;margin-left:15px;}.csp-menu ul ul {position:static;}.csp-submenu-toggle {right:8px;top:4px;padding:8px 14px;}.csp-menu>.current-menu-item>a::after {display:none;}
    .csp-js .csp-menu li:not(.is-open)>ul {display:none;}
    .csp-page .csp-hero-grid {padding:0 20px;gap:30px;}.csp-page .csp-quick {grid-template-columns:repeat(2,minmax(0,1fr));}.csp-page .csp-program-grid {grid-template-columns:repeat(4,minmax(0,1fr));}.csp-page .csp-bottom-grid {gap:25px;}.csp-page .csp-contact-grid {gap:35px;}.csp-page .csp-contact-details {grid-template-columns:1fr;gap:0;}.csp-page .csp-section-title {font-size:25px;}.csp-footer-inner {flex-wrap:wrap;}
}
@media(max-width:700px) {
    .csp-header-inner {width:calc(100% - 30px);gap:6px;}.csp-brand {flex-basis:auto;font-size:12px;gap:8px;}.csp-brand span {max-width:135px;}.csp-brand .csp-logo {width:30px;height:41px!important;}.csp-menu-toggle {font-size:12px;padding:8px;}.csp-header-cta {padding:9px 12px;font-size:11px;gap:5px;}.csp-search summary {padding:7px;}.csp-search svg {width:18px;height:18px;}.csp-search form {right:-90px;max-width:calc(100vw - 30px);width:320px;}
    .csp-page .csp-container {width:calc(100% - 32px);}.csp-page .csp-hero {padding:55px 0 90px;min-height:380px;}.csp-page .csp-hero-grid {display:block;padding:0 10px;}.csp-page .csp-hero h1 {font-size:36px;letter-spacing:-.5px;}.csp-page .csp-hero p {font-size:19px;margin-top:20px;}.csp-page .csp-hero .wp-block-buttons {gap:12px;margin-top:24px;}.csp-page .wp-block-button__link {padding:12px 22px;font-size:13px;}.csp-page .csp-hero-optional img {max-height:160px;width:auto;margin:25px auto 0;display:block;}
    .csp-page .csp-quick {padding:12px;gap:10px;border-radius:14px;margin-top:-40px!important;}.csp-page .csp-quick-card {grid-template-columns:1fr;gap:10px;padding:14px;min-height:150px;}.csp-page .csp-quick-card h3 {font-size:16px;}.csp-page .csp-quick-card p {font-size:12px;}.csp-page .csp-quick-card .wp-block-image {width:42px;height:42px;padding:7px;border-radius:10px;}.csp-page .csp-quick-card .wp-block-image img {width:28px;height:28px;}
    .csp-page .csp-section {padding-top:28px;}.csp-page .csp-section-heading {align-items:flex-start;gap:10px;}.csp-page .csp-section-title {font-size:24px;}.csp-page .csp-section-heading p {font-size:12px;white-space:nowrap;padding-top:5px;}.csp-page .csp-news-grid {grid-template-columns:1fr;gap:18px;}.csp-page .csp-news-grid .wp-block-post-featured-image {aspect-ratio:2;}.csp-page .csp-news-copy {padding:20px;gap:10px;}
    .csp-page .csp-program-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.csp-page .csp-program-card {min-height:145px;}.csp-page .csp-program-card img {height:90px;}.csp-page .csp-values {min-height:150px;}.csp-page .csp-values h3,.csp-page .csp-values p {max-width:85%;}.csp-page .csp-bottom-grid {display:block;margin-bottom:25px;}.csp-page .csp-bottom-grid .csp-project-section {margin-top:27px;}.csp-page .csp-project-grid {gap:12px;}.csp-page .csp-contact-grid {grid-template-columns:1fr;gap:22px;}.csp-page .csp-contact-details {grid-template-columns:1fr 1fr;gap:16px;}.csp-page .csp-contact-details p {font-size:13px;}.csp-page .csp-contact-card {padding:22px;}.csp-page .csp-contact {padding:28px 0;}
    .csp-footer-inner {width:calc(100% - 32px);flex-direction:column;align-items:flex-start;gap:17px;}.csp-footer-menu {justify-content:flex-start;}.csp-footer small {text-align:left;}
}
@media(prefers-reduced-motion:reduce) {.csp-page *,.csp-header * {transition:none!important;scroll-behavior:auto!important;}}
@media(max-width:400px) {.csp-header-cta span {display:none;}.csp-header-cta {padding:9px 10px;}.csp-brand span {max-width:124px;}.csp-menu-toggle {font-size:11px;}}
