/* One clear route for parents: choose a sector, then read its services and practical details. */
.sector-hero { overflow: hidden; background: linear-gradient(115deg, #eef8f5 0%, #f4f8ff 52%, #fff2df 100%); }
.sector-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 65px; align-items: center; min-height: 420px; padding: 65px 0; }
.sector-hero h1 { margin: 0 0 18px; font: 800 clamp(40px, 5vw, 66px)/1.07 Manrope, Arial, sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.sector-hero p { max-width: 640px; margin: 0 0 28px; color: #52667b; font-size: 18px; line-height: 1.7; }
.sector-hero-photo { position: relative; max-width: 490px; justify-self: end; }
.sector-hero-photo::before { content: ""; position: absolute; inset: -16px -19px 16px 22px; border-radius: 38px; background: #ffdc80; transform: rotate(5deg); }
.sector-hero-photo img { position: relative; width: 100%; height: 320px; object-fit: cover; border-radius: 27px; box-shadow: 0 22px 45px rgba(25, 57, 111, .13); }
.sector-jump { background: #fff; border-bottom: 1px solid #e4eaf1; }
.sector-jump-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 15px 0; }
.sector-jump a { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 15px; border-radius: 12px; background: #f3f7fc; color: #1e4978; font-size: 14px; font-weight: 800; }
.sector-jump a:hover { background: #e8f2ff; }
.sector-section { scroll-margin-top: 20px; }
.sector-section .section-heading h2 { max-width: 850px; }
.sector-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sector-service { min-height: 225px; padding: 26px; border-radius: 24px; background: #fff7e7; border: 1px solid #f2dfb9; }
.sector-service:nth-child(4n+2) { background: #eaf8f4; border-color: #d0e9df; }
.sector-service:nth-child(4n+3) { background: #f3f0ff; border-color: #e5def7; }
.sector-service:nth-child(4n+4) { background: #edf6ff; border-color: #dceafb; }
.sector-service-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: #fff; color: #1c4b7f; }
.sector-service-icon .icon { width: 24px; height: 24px; }
.sector-service h3 { margin: 19px 0 9px; color: #1d3c67; font: 800 20px/1.3 Manrope, Arial, sans-serif; }
.sector-service p { margin: 0; color: #4c5e73; font-size: 15px; line-height: 1.65; }
.sector-hours { display: flex; align-items: flex-start; gap: 17px; margin-top: 26px; padding: 22px 25px; border-radius: 21px; background: #f1f6fc; border: 1px solid #dce8f5; }
.sector-hours > span { display: grid; place-items: center; flex: none; width: 43px; height: 43px; border-radius: 13px; background: #fff; color: #1d4e82; }
.sector-hours > span .icon { width: 22px; height: 22px; }
.sector-hours h3 { margin: 0 0 5px; font: 800 19px/1.3 Manrope, Arial, sans-serif; }
.sector-hours p { margin: 0; color: #4c5e73; font-size: 15px; line-height: 1.6; }
.sector-meals { background: #fff8ea; }
.sector-intro { max-width: 820px; color: #4d5e72; font-size: 17px; line-height: 1.7; margin: -10px 0 28px; }
.sector-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sector-menu-card { display: flex; align-items: flex-start; gap: 16px; min-height: 200px; padding: 26px; border-radius: 23px; background: #fff; border: 1px solid #eee2cb; box-shadow: 0 14px 34px rgba(75, 57, 26, .045); }
.sector-menu-icon { display: grid; place-items: center; flex: none; width: 43px; height: 43px; border-radius: 13px; background: #e7f6ee; color: #214b79; }
.sector-menu-icon .icon { width: 23px; height: 23px; }
.sector-menu-card h3 { margin: 2px 0 10px; font: 800 20px/1.3 Manrope, Arial, sans-serif; }
.sector-menu-card p { color: #53657b; font-size: 15px; line-height: 1.65; margin: 0 0 16px; }
.sector-menu-card a, .sector-practical-card a { display: inline-flex; align-items: center; gap: 5px; color: #1c4b82; font-size: 14px; font-weight: 800; }
.sector-menu-card a:hover, .sector-practical-card a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sector-small-note { max-width: 900px; margin: 22px 0 0; color: #5d6877; font-size: 14px; line-height: 1.6; }
.sector-contact-link { display: inline-flex; align-items: center; gap: 7px; padding: 12px 16px; border-radius: 13px; background: #fff; color: #1c4b82; font-size: 14px; font-weight: 800; }
.sector-practical { background: #f3faf7; }
.sector-practical-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sector-practical-card { padding: 27px; border-radius: 24px; background: #fff; border: 1px solid #dbe9e3; }
.sector-practical-card > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: #eaf5ff; color: #1c4b82; }
.sector-practical-card > span .icon { width: 23px; height: 23px; }
.sector-practical-card h3 { margin: 18px 0 10px; font: 800 21px/1.3 Manrope, Arial, sans-serif; }
.sector-practical-card p { margin: 0 0 15px; color: #516276; font-size: 15px; line-height: 1.65; }
.sector-documents { list-style: none; margin: 0; padding: 0; }
.sector-documents li { padding: 10px 0; border-top: 1px solid #e9eef2; }
.sector-documents li:first-child { border-top: 0; }
.sector-documents small { display: block; margin-top: 4px; color: #607185; font-size: 13px; }
.sector-rates { margin-top: 25px; padding: 30px; border: 1px solid #dbe9e3; border-radius: 24px; background: #fff; }
.sector-rates .prose h2:first-child { margin-top: 0; }
.sector-schools { background: #fff; }
.sector-help { background: #1c447a; color: #fff; padding: 60px 0; }
.sector-help-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.sector-help .eyebrow { color: #f9ce69; }
.sector-help h2 { margin: 0 0 8px; font: 800 clamp(27px, 3vw, 37px)/1.2 Manrope, Arial, sans-serif; }
.sector-help p { margin: 0; color: #deebf7; font-size: 16px; }
.hero-badge, .about-stamp { display: grid; place-items: center; width: 110px; height: 110px; padding: 12px; border: 4px solid #fff; border-radius: 50%; background: #ed762e; color: #fff; text-align: center; box-shadow: 0 15px 25px rgba(84, 61, 36, .18); }
.hero-badge span, .about-stamp { font: 800 12px/1.15 Manrope, Arial, sans-serif; }
.hero-badge strong, .about-stamp strong { font-size: 19px; }
.contact-hours-note { display: flex; align-items: flex-start; gap: 17px; margin-top: 35px; padding: 25px; border-radius: 22px; background: #fff8e7; color: #1d3f69; }
.contact-hours-note > .icon { flex: none; width: 27px; height: 27px; }
.contact-hours-note h2 { margin: 0 0 6px; font: 800 21px/1.3 Manrope, Arial, sans-serif; }
.contact-hours-note p { margin: 0; color: #52647a; font-size: 15px; line-height: 1.65; }
.contact-hours-note a { color: #1c4b82; font-weight: 800; text-decoration: underline; }
.historic-hours { margin-top: 16px; padding: 22px 27px; border: 1px solid #dbe8f4; border-radius: 22px; background: #f9fbff; }
.historic-hours summary { cursor: pointer; color: #1e4d81; font-weight: 800; font-size: 16px; }.historic-hours > p { color: #4e6179; line-height: 1.65; }
.historic-hours-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.historic-hours-grid > div { min-width: 0; padding: 18px; border-radius: 16px; background: #fff; }
.historic-hours h3 { margin: 0 0 14px; color: #1e426e; font: 800 18px/1.3 Manrope, Arial, sans-serif; }.historic-hours table { width: 100%; border-collapse: collapse; }.historic-hours tr { border-top: 1px solid #e4ebf2; }.historic-hours th, .historic-hours td { padding: 10px 4px; text-align: left; vertical-align: top; line-height: 1.4; }.historic-hours th { color: #173f70; }.historic-hours td { color: #4f6074; }
@media (max-width: 900px) {
  .sector-hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .sector-hero-photo { justify-self: start; }
  .sector-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .sector-hero-grid { min-height: 0; padding: 52px 0; }
  .sector-hero h1 { font-size: clamp(35px, 10vw, 45px); }
  .sector-hero-photo { width: calc(100% - 14px); margin-left: 3px; }
  .sector-hero-photo img { height: 245px; }
  .sector-jump-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sector-jump a { font-size: 13px; }
  .sector-services, .sector-menu-grid, .sector-practical-grid { grid-template-columns: 1fr; }
  .sector-service { min-height: 0; padding: 23px; }
  .sector-menu-card { min-height: 0; padding: 23px; }
  .sector-hours { padding: 20px; }
  .sector-rates { padding: 20px 15px; }
  .sector-help-inner { flex-direction: column; align-items: flex-start; }
}
.sector-notice-section { background: #f8fbff; scroll-margin-top: 20px; }
.sector-notice { padding: clamp(24px, 4vw, 46px); border: 1px solid #d8e6f2; border-radius: 28px; background: #fff; box-shadow: 0 18px 46px rgba(29, 66, 114, .07); }
.sector-notice-heading { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.sector-notice-icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #ffe8aa; color: #174a83; }
.sector-notice-icon .icon { width: 25px; height: 25px; }
.sector-notice h2 { margin: 0; font: 800 clamp(25px, 3vw, 34px)/1.2 Manrope, Arial, sans-serif; }
.sector-notice-period { margin: 6px 0 0 !important; color: #25598e !important; font-weight: 800; }
.sector-notice > p, .sector-notice li { color: #465b73; font-size: 16px; line-height: 1.7; }
.sector-notice ul { margin: 12px 0 24px; padding-left: 22px; }
.sector-notice li { padding: 4px 0; }
.sector-notice small { display: block; margin-top: 20px; color: #65768b; font-size: 13px; line-height: 1.55; }
.sector-service-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.sector-service-links > span { margin-right: 6px; color: #425873; font-weight: 800; }
.sector-service-links a { display: inline-flex; align-items: center; gap: 5px; padding: 10px 13px; border-radius: 12px; background: #eaf4ff; color: #1d4d81; font-weight: 800; font-size: 14px; }
.sector-service-links .icon { width: 16px; height: 16px; }
.sector-restaurant-sites { margin-top: 32px; }
.sector-restaurant-sites h3 { font: 800 22px/1.3 Manrope, Arial, sans-serif; }
.sector-restaurant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sector-restaurant-grid > div { padding: 20px; border-radius: 18px; background: #fff; border: 1px solid #eadfca; }
.sector-restaurant-grid strong { color: #1d4779; }
.sector-restaurant-grid p { margin: 7px 0 0; color: #526278; line-height: 1.6; }
.sector-archives { margin-top: 22px; border: 2px solid #31557d; border-radius: 19px; background: #edf2f7; overflow: hidden; }
.sector-archives summary { cursor: pointer; padding: 18px 24px; border-radius: 16px; background: #254b75; color: #fff; font-weight: 800; }
.sector-archives[open] summary { border-bottom: 2px solid #31557d; border-radius: 16px 16px 0 0; }
.sector-archives summary:focus-visible { outline: 3px solid #f3bd4f; outline-offset: -6px; }
.sector-archives p { margin: 20px 24px 12px; }
.sector-archives ul { margin: 0 24px 20px; padding-left: 20px; }
.sector-archives p, .sector-archives li { color: #4c6178; line-height: 1.6; }
.sector-archives small { display: block; margin-top: 3px; color: #68798b; }
.sector-archives li { margin: 7px 0; }.sector-archives a { text-decoration: underline; text-underline-offset: 3px; }
.school-card { min-height: 125px; }.school-card h3 { line-height: 1.35; }
.school-card .school-restaurant { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; color: #236347; font-size: 13px; font-weight: 800; line-height: 1.4; }
.school-card .school-restaurant .icon { flex: none; width: 15px; height: 15px; }
.school-card a { color: #1c4b82; font-weight: 800; }
.home-service-more { margin-top: 28px; text-align: center; }
.service-sector-choice { background: #eaf7f1; }
.service-detail-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: -20px 0 45px; }
.service-detail-links a { position: relative; display: flex; flex-direction: column; gap: 7px; min-height: 110px; padding: 22px 50px 22px 22px; border-radius: 19px; background: #fff8e9; color: #174675; border: 1px solid #f0deba; }
.service-detail-links a:nth-child(2) { background: #eff9f3; border-color: #d7eadd; }.service-detail-links a:nth-child(3) { background: #f0f3ff; border-color: #dee4f4; }
.service-detail-links strong { font: 800 18px/1.3 Manrope, Arial, sans-serif; }.service-detail-links span { font-size: 14px; color: #526378; }.service-detail-links .icon { position: absolute; right: 20px; top: 25px; width: 19px; height: 19px; }
.service-sector-choice > .container > p { margin: -5px 0 25px; color: #4c6074; font-size: 16px; }
.service-sector-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.service-sector-grid a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 78px; padding: 18px; border-radius: 17px; background: #fff; color: #184877; font-weight: 800; box-shadow: 0 8px 22px rgba(26, 74, 84, .06); }
.service-sector-grid a:hover { background: #fff8e9; }.service-sector-grid .icon { flex: none; width: 18px; height: 18px; }
@media (max-width: 900px) { .service-sector-grid, .service-detail-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sector-notice-heading { gap: 12px; }.sector-notice-icon { width: 43px; height: 43px; }.sector-restaurant-grid, .service-sector-grid, .service-detail-links, .historic-hours-grid { grid-template-columns: 1fr; }.sector-service-links { align-items: stretch; }.sector-service-links > span { width: 100%; }.historic-hours { padding: 19px; } }
