/* Primary School — Public School Pages Design v1 | scoped, non-destructive. */
.wslp-page{--wslp-navy:#102956;--wslp-blue:#075cff;--wslp-muted:#526784;--wslp-line:#dce7f5;color:var(--wslp-navy)}
.wslp-page *{box-sizing:border-box}
.wslp-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.87fr);align-items:center;gap:clamp(22px,4vw,56px);background:linear-gradient(120deg,#f0f6ff 0%,#f8fbff 59%,#eaf9f1 100%);border:1px solid #dce8f7;border-radius:26px;padding:clamp(24px,3.8vw,52px);min-height:344px;overflow:hidden;margin-bottom:19px}
.wslp-eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900;text-transform:uppercase;color:#075bdd}
.wslp-hero h1{font-size:clamp(36px,4.2vw,60px);font-weight:900;letter-spacing:-.045em;line-height:1.07;margin:17px 0 9px;color:var(--wslp-navy)}
.wslp-hero h2{font-size:clamp(19px,2.15vw,27px);letter-spacing:-.02em;line-height:1.2;color:#294472;font-weight:800;margin:0 0 18px}
.wslp-hero p{line-height:1.72;color:#506781;margin:0 0 20px;font-size:16px;max-width:650px}
.wslp-hero-picture{min-width:0;max-width:100%;position:relative}
.wslp-hero-photo{display:block;width:100%;height:clamp(230px,23vw,330px);object-fit:cover;border-radius:22px;border:4px solid #fff;box-shadow:0 16px 35px #1b477b1a}
.wslp-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.wslp-chips span{display:inline-flex;padding:8px 11px;background:#fff;border:1px solid #dae7f7;border-radius:999px;font-size:12px;font-weight:800;color:#174f9b}
.wslp-updated{display:block;color:#637797;font-weight:700;font-size:12px}
.wslp-illustration{min-height:265px;border-radius:22px;background:radial-gradient(circle at 22% 18%,#fff8c9 0 15%,transparent 15.5%),radial-gradient(circle at 90% 78%,#e1efff 0 19%,transparent 19.5%),linear-gradient(140deg,#ebf5ff,#fff 50%,#ddf7ed);border:4px solid #fff;box-shadow:0 16px 35px #1b477b15;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#21559b}
.wslp-illustration-school-meals{background:linear-gradient(130deg,#e8f9ec,#fff 56%,#fff0ce)}
.wslp-illustration-policies{background:linear-gradient(130deg,#e7f0ff,#fff 55%,#e6f6ff)}
.wslp-illustration-calendar{background:linear-gradient(130deg,#eff5ff,#fff 55%,#fff3d7)}
.wslp-illustration-events{background:linear-gradient(130deg,#fff5e4,#fff 55%,#edf5ff)}
.wslp-illustration-uniforms-books{background:linear-gradient(130deg,#e7f4ff,#fff 55%,#ebf9ef)}
.wslp-art-emoji{font-size:clamp(76px,11vw,124px);filter:drop-shadow(0 8px 10px #264b7a12);line-height:1.1}
.wslp-illustration>span{font-weight:900;color:#274778;background:#fff9;border:1px solid #fff;padding:9px 15px;border-radius:999px;margin-top:12px}
.wslp-art-spark{position:absolute;left:14%;top:16%;font-size:37px;color:#ffbd2c}
.wslp-art-dot{position:absolute;right:13%;bottom:14%;font-size:22px;letter-spacing:5px;color:#b4d7f6}
.wslp-callout{display:flex;align-items:flex-start;gap:11px;background:#f5f9ff;border:1px solid #dce9ff;padding:14px 17px;border-radius:13px;margin:18px 0 24px;font-size:14px;color:#3f5a7e}
.wslp-callout p{margin:0;line-height:1.7;flex:1}.wslp-callout>span{font-size:19px}.wslp-callout.warning{background:#fff9ec;border-color:#f7e4b7;color:#674d1e}
.wslp-section{margin:32px 0 38px}.wslp-section-head{margin-bottom:20px}.wslp-section-head h2{font-size:clamp(24px,2.6vw,31px);line-height:1.2;letter-spacing:-.035em;font-weight:900;margin:0 0 8px;color:#112956}.wslp-section-head p{color:var(--wslp-muted);line-height:1.7;font-size:15px;margin:0;max-width:930px}
.wslp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wslp-cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.wslp-card{border:1px solid var(--wslp-line);border-radius:19px;padding:24px;background:#fff;box-shadow:0 6px 20px #173f7b08;min-height:164px;display:flex;flex-direction:column;align-items:flex-start}.wslp-card h3{font-size:18px;line-height:1.3;margin:10px 0;font-weight:900}.wslp-card p{color:var(--wslp-muted);line-height:1.67;font-size:14px;margin:0 0 15px}.wslp-card .wslp-link{margin-top:auto}.wslp-card-icon{font-size:28px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;background:#eef5ff;border-radius:15px}.wslp-kicker{font-size:12px;color:#095ed6;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-top:6px}
.wslp-link{border:0;background:#075cff;color:#fff;font:inherit;font-size:13px;font-weight:850;padding:12px 17px;border-radius:999px;cursor:pointer;text-align:left;display:inline-flex;gap:10px;align-items:center;justify-content:center;transition:transform .18s,background .18s}.wslp-link:hover{background:#0448c9;transform:translateY(-1px)}.wslp-link.secondary{background:#edf4ff;color:#114b9c}.wslp-link.secondary:hover{background:#e0ebff}.wslp-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.wslp-steps{counter-reset:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;list-style:none}.wslp-step{display:flex;gap:17px;padding:22px;background:#fff;border:1px solid #dce8f7;border-radius:17px}.wslp-step>span{font-size:24px;letter-spacing:-.04em;font-weight:900;color:#075cff;flex:0 0 40px}.wslp-step h3{font-size:17px;margin:0 0 8px}.wslp-step p{margin:0;color:#526784;line-height:1.7;font-size:14px}
.wslp-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.wslp-faq details,.wslp-policy-list details,.wslp-subject details{border:1px solid #dce7f5;border-radius:15px;background:white}.wslp-faq summary,.wslp-policy-list summary,.wslp-subject summary{list-style:none;cursor:pointer;padding:17px 19px;font-weight:850}.wslp-faq summary::-webkit-details-marker,.wslp-policy-list summary::-webkit-details-marker,.wslp-subject summary::-webkit-details-marker{display:none}.wslp-faq details p{margin:0;padding:0 19px 19px;line-height:1.7;font-size:14px;color:#536985}.wslp-faq details[open],.wslp-policy-list details[open],.wslp-subject details[open]{border-color:#9fc4ff;box-shadow:0 8px 25px #195bd20c}
.wslp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:21px}.wslp-filters button{font:inherit;font-weight:800;font-size:13px;cursor:pointer;border:1px solid #d5e3f4;background:#fff;padding:9px 16px;border-radius:999px;color:#315278}.wslp-filters button[aria-pressed="true"]{background:#075cff;color:#fff;border-color:#075cff}.wslp-filters button:hover{border-color:#075cff}
.wslp-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wslp-subject[hidden],.wslp-photo-card[hidden]{display:none!important}.wslp-subject summary{display:flex;gap:12px;align-items:center}.wslp-subject summary>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.wslp-subject summary strong{font-size:16px}.wslp-subject summary small,.wslp-policy-list small{color:#71819b;font-weight:650;font-size:12px}.wslp-subject-icon{font-size:24px;display:grid;place-items:center;width:48px;height:48px;background:#eff6ff;border-radius:13px;flex:none}.wslp-expand{font-size:23px;color:#075cff;float:right;font-weight:600}.wslp-subject p{margin:0 18px 12px 78px;color:#526784;line-height:1.7;font-size:14px}.wslp-subject .wslp-subject-sub{margin-bottom:18px;font-size:12px;color:#71839c}
.wslp-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.wslp-photo-card{display:block;overflow:hidden;border:1px solid #dce7f5;background:white;border-radius:17px;text-align:left;cursor:pointer;padding:0;position:relative;box-shadow:0 5px 17px #163f740c}.wslp-photo-card img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .2s}.wslp-photo-card:hover img{transform:scale(1.045)}.wslp-photo-card>span:not(.wslp-photo-zoom){display:flex;flex-direction:column;gap:4px;padding:14px 17px 19px}.wslp-photo-card strong{font-weight:900;font-size:15px}.wslp-photo-card small{font-size:12px;color:#62748b}.wslp-photo-zoom{position:absolute;right:14px;top:14px;background:#fff;color:#075cff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:19px;box-shadow:0 3px 12px #0002}.wslp-lightbox img{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:12px}.wslp-lightbox p{color:#526784;font-size:13px;line-height:1.6}
.wslp-table-wrap{overflow-x:auto;border-radius:17px;border:1px solid #dce7f5}.wslp-meal-table{border-collapse:collapse;width:100%;min-width:650px;text-align:left;background:#fff}.wslp-meal-table caption{text-align:left;caption-side:top;padding:15px 20px;background:#f7faff;color:#627796;font-size:12px;font-weight:850}.wslp-meal-table th,.wslp-meal-table td{padding:17px 19px;border-bottom:1px solid #e3ebf6;font-size:14px;line-height:1.5}.wslp-meal-table thead th{background:#eaf2ff;color:#1d4e94;font-weight:900}.wslp-meal-table tbody th{font-weight:900;color:#143e75}.wslp-meal-table tbody tr:nth-child(even){background:#f9fbff}.wslp-meal-table tbody tr:last-child th,.wslp-meal-table tbody tr:last-child td{border-bottom:none}
.wslp-policy-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wslp-policy-group{padding:20px;background:#f8fbff;border:1px solid #deebf8;border-radius:20px}.wslp-policy-group>h3{font-size:18px;line-height:1.35;margin:0 0 18px}.wslp-policy-list{display:grid;gap:10px}.wslp-policy-list summary{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:14px}.wslp-policy-list summary>span:first-child{display:grid;gap:6px}.wslp-policy-list strong{font-size:13px;line-height:1.45}.wslp-policy-list p{font-size:13px;color:#536985;line-height:1.6;margin:0;padding:0 14px 10px}.wslp-policy-meta{font-size:11px;padding:0 14px 16px;color:#59708a;line-height:1.5}
.wslp-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wslp-news-card{border:1px solid #dce7f5;background:#fff;border-radius:18px;overflow:hidden}.wslp-news-card img{display:block;width:100%;height:190px;object-fit:cover}.wslp-news-card>div{padding:20px}.wslp-news-card small{font-weight:800;font-size:11px;letter-spacing:.025em;color:#075cff}.wslp-news-card h3{font-size:18px;line-height:1.3;margin:10px 0}.wslp-news-card p{color:#586e86;line-height:1.7;font-size:14px;margin:0}
.wslp-page button:focus-visible,.wslp-page summary:focus-visible,.w3-dropdown summary:focus-visible,.wslp-menu-group button:focus-visible{outline:3px solid #ffbf38;outline-offset:3px}
/* School Pages: accessible four-column mega menu; existing Wix navigation buttons preserved. */
.topnav .w3-dropdown{z-index:210}
.topnav .w3-dropdown[open] .w3-menu{box-sizing:border-box;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-width:unset;width:min(880px,calc(100vw - 32px));max-height:min(620px,78vh);overflow:auto;left:auto;right:0;background:#fff;padding:22px 23px 26px;box-shadow:0 25px 60px #103e672c;border-radius:21px;z-index:215}
.w3-menu .wslp-menu-group{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:5px}
.w3-menu .wslp-menu-group>strong{color:#075cff;font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:10px 9px 8px;border-bottom:1px solid #e6edf8;margin-bottom:4px}
.w3-menu .wslp-menu-group>button{font-family:inherit;font-size:13px;font-weight:750;line-height:1.4;min-height:39px;padding:10px;border-radius:9px;white-space:normal}
.w3-menu .wslp-menu-group>button[aria-current="page"]{background:#eaf2ff;color:#075cff;font-weight:900}
@media(max-width:1060px){.wslp-cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.wslp-policy-groups{grid-template-columns:1fr 1fr}.topnav .w3-dropdown[open] .w3-menu{width:min(780px,calc(100vw - 32px))}}
@media(max-width:760px){.wslp-hero{grid-template-columns:1fr;gap:21px;padding:26px}.wslp-hero-photo{height:240px}.wslp-illustration{min-height:205px}.wslp-cards,.wslp-gallery-grid,.wslp-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wslp-steps,.wslp-faq,.wslp-subject-grid,.wslp-policy-groups{grid-template-columns:1fr}.topnav .w3-dropdown[open] .w3-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:min(590px,calc(100vw - 32px))}}
@media(max-width:560px){.wslp-hero{border-radius:18px}.wslp-hero h1{font-size:36px}.wslp-cards,.wslp-cards.four,.wslp-gallery-grid,.wslp-news-grid{grid-template-columns:1fr}.wslp-step{padding:18px}.wslp-card{padding:20px}.wslp-photo-card img{height:225px}.topnav .w3-dropdown[open] .w3-menu{position:fixed;top:78px;left:3vw;right:3vw;width:94vw;max-height:calc(100dvh - 95px);grid-template-columns:1fr 1fr;padding:14px 13px;gap:10px}.wslp-menu-group>strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.wslp-link,.wslp-photo-card img{transition:none}}
