/* The only source of navigation items is WordPress Primary Menu. */
.sg-header .sg-wp-nav{font:700 13px/1.45 Arial,sans-serif;color:#243e32}
.sg-header .sg-wp-menu,.sg-header .sg-wp-menu ul{list-style:none!important;margin:0!important;padding:0!important}
.sg-header .sg-wp-menu{display:flex;align-items:center;gap:8px}
.sg-header .sg-wp-menu li{position:relative;padding:0!important;margin:0!important}
.sg-header .sg-wp-menu>li{display:flex;align-items:center;border-radius:14px}
.sg-header .sg-wp-menu a{display:block;color:inherit;text-decoration:none;padding:12px 10px;white-space:nowrap;border-radius:10px}
.sg-header .sg-wp-menu a:hover,.sg-header .sg-wp-menu a:focus-visible{background:#e8eee2;color:#254c36}
.sg-header .sg-wp-menu>li.current-menu-item>a,.sg-header .sg-wp-menu>li.current-menu-ancestor>a{color:#3c613f;text-decoration:underline;text-underline-offset:7px}
.sg-header .sg-wp-menu>li:last-child>a{background:#284c37;color:white;padding:12px 18px;border-radius:24px}
.sg-header .sg-sub-toggle{border:0;background:none;color:inherit;padding:10px 6px;min-width:28px;min-height:42px;cursor:pointer;border-radius:8px;line-height:1}
.sg-header .sg-sub-toggle:after{content:'';display:inline-block;width:7px;height:7px;border-right:1.7px solid;border-bottom:1.7px solid;transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.sg-header .sg-sub-toggle[aria-expanded=true]:after{transform:rotate(225deg) translate(-2px,-1px)}
.sg-header .sg-wp-menu .sub-menu{display:none;position:absolute;z-index:10;left:0;top:100%;width:285px;background:#fff;border:1px solid #dbe3d3;border-radius:18px;box-shadow:0 18px 42px #243e3224;padding:12px!important;max-height:calc(100dvh - 160px);overflow-y:auto}
.sg-header .sg-wp-menu .sg-sub-open>.sub-menu{display:block}
.sg-header .sg-wp-menu .sub-menu a{padding:10px 12px;white-space:normal;font-size:13px;font-weight:500}
.sg-header .sg-wp-menu>li:nth-last-child(-n+3)>.sub-menu{left:auto;right:0}
.sg-header .sg-wp-menu .sub-menu .sub-menu{position:static;width:auto;box-shadow:none;border:0;border-left:2px solid #dbe3d3;border-radius:0;margin-left:12px!important}
.sg-header .sg-wp-menu .sub-menu li:has(>.sub-menu){display:flex;flex-wrap:wrap}.sg-header .sg-wp-menu .sub-menu li>a{flex:1}.sg-header .sg-wp-menu .sub-menu li>.sub-menu{flex-basis:100%}
.sg-header .sg-wp-toggle{display:none;align-items:center;justify-content:center;gap:7px;border:1px solid #c5d1c0;background:white;color:#243e32;border-radius:24px;min-height:46px;padding:8px 14px;font:700 13px/1 Arial,sans-serif;cursor:pointer}
.sg-header button:focus-visible,.sg-header a:focus-visible{outline:3px solid #789958;outline-offset:3px}
body.sg-wp-menu-open #sg-rokki-companion{visibility:hidden!important;pointer-events:none!important}
@media(min-width:1101px){.sg-header .nav-shell{gap:18px}.sg.sg-header .brand{flex-shrink:0}.sg-header .sg-wp-menu{gap:2px}.sg-header .sg-wp-menu a{padding-left:8px;padding-right:8px}}
@media(max-width:1100px){
.sg-header .sg-wp-toggle{display:flex;flex-shrink:0}
.sg-header .nav-shell{min-height:60px}
.sg-header .sg-wp-nav{display:none;position:absolute;top:100%;left:24px;right:24px;background:#fff;border:1px solid #dbe3d3;border-radius:20px;padding:12px;box-shadow:0 18px 42px #243e3224;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
.sg-header .sg-wp-nav.open{display:block}
.sg-header .sg-wp-menu{display:block}
.sg-header .sg-wp-menu>li{display:flex;flex-wrap:wrap;border-radius:0;border-bottom:1px solid #edf0e8}
.sg-header .sg-wp-menu>li:last-child{border-bottom:0;padding-top:8px!important}
.sg-header .sg-wp-menu>li>a{flex:1;padding:13px 12px;font-size:15px}
.sg-header .sg-wp-menu>li:last-child>a{text-align:center}
.sg-header .sg-sub-toggle{min-height:46px;min-width:46px;background:#f2f5ed;margin:3px;border-radius:12px}
.sg-header .sg-wp-menu .sub-menu{position:static;flex-basis:100%;width:100%;max-height:none;box-shadow:none;border:0;border-left:2px solid #d8e2ce;border-radius:0;margin:0 6px 10px 14px!important;padding:0 5px!important;background:#fafbf7}
.sg-header .sg-wp-menu .sub-menu a{font-size:14px;padding:12px}
}
@media(max-width:650px){.sg-header .sg-wp-nav{left:12px;right:12px;max-height:calc(100dvh - 115px)}.sg.sg-header .brand strong{font-size:16px}.sg.sg-header .brand small{font-size:8px;letter-spacing:.08em}.sg.sg-header .brand img{width:44px;height:45px}.sg-header .nav-shell{gap:10px}.sg-header .sg-wp-toggle{padding:8px 12px}}
@media(max-width:360px){.sg.sg-header .brand strong{font-size:14px}.sg.sg-header .brand small{font-size:7px}.sg.sg-header .brand img{width:35px;height:40px}.sg.sg-header .brand{gap:7px}.sg-header .sg-wp-toggle{padding:8px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.sg-header .sg-sub-toggle:after{transition:none}}
@media print{.sg-header .sg-wp-nav,.sg-header .sg-wp-toggle{display:none!important}}

/* Torn paper header: decorative pseudo-elements, never clipping the real menu. */
.sg.sg-header{background:#fffdf5;isolation:isolate}
.sg.sg-header::before,.sg.sg-header::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 2px);height:36px;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 77%,99.53% 70.7%,98.49% 55.8%,97.98% 66.7%,96.87% 55.3%,96.21% 69.3%,95.67% 66.7%,94.63% 62.1%,93.63% 81.6%,92.99% 82.1%,92.26% 67.8%,91.33% 74.7%,90.38% 91.3%,89.88% 75.0%,88.79% 84.1%,87.9% 75.2%,86.86% 77.6%,85.71% 71.6%,84.68% 61.3%,84.17% 75.1%,83.58% 60.7%,82.46% 65.0%,81.86% 58.2%,81.38% 64.2%,80.71% 69.7%,80.24% 65.5%,79.21% 70.8%,78.6% 68.2%,77.48% 79.5%,76.44% 80.2%,75.99% 78.1%,75.15% 79.8%,74.41% 87.7%,73.83% 71.3%,72.74% 81.3%,72.18% 87.3%,71.46% 85.3%,70.78% 86.9%,69.98% 88.7%,69.09% 87.0%,68.39% 64.3%,67.37% 62.9%,66.48% 61.8%,65.42% 62.6%,64.48% 60.9%,63.78% 63.3%,63.07% 72.9%,62.34% 68.8%,61.76% 68.3%,60.93% 57.3%,60.12% 65.7%,59.38% 68.2%,58.38% 73.5%,57.67% 81.1%,57.1% 82.5%,55.99% 74.8%,55.12% 73.8%,54.13% 71.0%,53.57% 71.6%,52.91% 71.1%,52.26% 84.0%,51.15% 78.3%,50.11% 68.2%,49.06% 63.5%,48.27% 69.3%,47.14% 69.8%,46.44% 71.7%,45.48% 56.4%,44.39% 70.9%,43.3% 74.3%,42.42% 68.5%,41.72% 71.4%,40.61% 77.0%,39.53% 70.3%,38.67% 77.9%,38.0% 89.6%,37.08% 72.4%,36.5% 88.2%,35.62% 86.8%,34.52% 79.4%,33.59% 68.6%,32.74% 60.9%,31.92% 68.4%,31.01% 68.5%,30.48% 63.7%,29.92% 72.4%,29.16% 59.5%,28.42% 67.0%,27.75% 65.9%,26.65% 69.7%,25.5% 80.8%,24.73% 83.6%,23.9% 68.9%,23.43% 85.1%,22.85% 91.1%,22.35% 79.5%,21.25% 74.4%,20.71% 77.2%,19.92% 87.1%,18.84% 83.0%,18.14% 78.2%,17.5% 67.9%,16.51% 80.9%,15.68% 66.4%,14.58% 59.2%,13.55% 73.9%,12.58% 58.6%,11.89% 71.2%,10.75% 71.1%,9.63% 63.2%,8.5% 72.7%,7.38% 78.4%,6.9% 87.2%,5.81% 90.8%,4.72% 87.7%,4.12% 80.3%,3.2% 87.3%,2.43% 89.6%,1.3% 87.4%,0.54% 76.1%,0% 68.1%)}
.sg.sg-header::before{z-index:-2;background:#4b5b3b26;transform:translateY(3px)}
.sg.sg-header::after{z-index:-1;background:#fffdf5}
@media(max-width:1100px){.sg.sg-header::before,.sg.sg-header::after{height:29px}.sg.sg-header::before{transform:translateY(2px)}}
@media(max-width:650px){.sg.sg-header::before,.sg.sg-header::after{height:25px}}
@media print{.sg.sg-header::before,.sg.sg-header::after{display:none}}

/* Refined single-level school navigation — 2026-11-06. */
.sg.sg-header .brand{gap:13px}.sg.sg-header .brand strong{letter-spacing:-.035em}.sg.sg-header .brand small{color:#6d806b}
.sg.sg-header .sg-wp-menu>li>a{transition:background .18s,color .18s,box-shadow .18s;letter-spacing:-.015em}
.sg.sg-header .sg-wp-menu>li.current-menu-item>a,.sg.sg-header .sg-wp-menu>li.current-menu-ancestor>a{background:#e6eddb;color:#294d37;text-decoration:none;box-shadow:inset 0 0 0 1px #dce5cf}
.sg.sg-header .sg-wp-menu>li:last-child>a{background:#294e3a;color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;text-decoration:none;box-shadow:0 3px 8px #243e3210}
.sg.sg-header .sg-wp-menu>li:last-child>a::after{content:'';width:15px;height:15px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.sg.sg-header .sg-wp-menu>li:last-child>a:hover{background:#3d6446;box-shadow:0 5px 13px #243e3222}
.sg.sg-header .sg-wp-toggle{border-color:#d8e1ce;background:#f1f4e8;box-shadow:none;gap:9px;transition:background .18s,color .18s}
.sg.sg-header .sg-wp-toggle[aria-expanded=true]{background:#294e3a;color:white;border-color:#294e3a}
@media(min-width:1101px){
 .sg.sg-header .sg-wp-nav{padding:5px;border:1px solid #e4e8dc;border-radius:40px;background:#fffef9;box-shadow:0 4px 18px #2c492e04}
 .sg.sg-header .sg-wp-menu{gap:3px}
 .sg.sg-header .sg-wp-menu>li>a{padding:13px 15px;border-radius:28px;font-size:13px;font-weight:600;line-height:1.4}
 .sg.sg-header .sg-wp-menu>li:last-child>a{padding:13px 20px;margin-left:4px}
 .sg.sg-header .sg-wp-menu>li:not(:last-child):not(.current-menu-item)>a:hover{background:#f0f3e8;color:#2e593d}
}
@media(min-width:1101px) and (max-width:1250px){.sg.sg-header .sg-wp-menu>li>a{padding:12px 11px}.sg.sg-header .sg-wp-menu>li:last-child>a{padding:12px 15px}}
@media(max-width:1100px){
 .sg.sg-header .sg-wp-nav{padding:14px;border:1px solid #e1e7d7;border-radius:23px;background:#fffef9;box-shadow:0 16px 38px #223c3024;top:calc(100% + 12px)}
 .sg.sg-header .sg-wp-menu>li{border:0;margin:3px 0!important}
 .sg.sg-header .sg-wp-menu>li>a{padding:15px 18px;border-radius:13px;font-size:16px;font-weight:600;line-height:1.35;min-height:51px}
 .sg.sg-header .sg-wp-menu>li:not(:last-child):not(.current-menu-item)>a:hover{background:#f1f4e8}
 .sg.sg-header .sg-wp-menu>li:last-child{padding-top:10px!important;margin-top:10px!important;border-top:1px solid #e7ebdf}
 .sg.sg-header .sg-wp-menu>li:last-child>a{border-radius:14px;justify-content:space-between;padding:15px 18px}
}
@media(max-width:650px){.sg.sg-header .brand{gap:9px}.sg.sg-header .sg-wp-nav{left:14px;right:14px;max-height:calc(100dvh - 130px)}}
@media(prefers-reduced-motion:reduce){.sg.sg-header .sg-wp-menu>li>a,.sg.sg-header .sg-wp-toggle{transition:none}}

/* Native anchor scrolling; respect reduced-motion preferences. */
html.sg-smooth-scroll{scroll-behavior:smooth!important;scroll-padding-top:var(--sg-scroll-offset,24px)}
@media(prefers-reduced-motion:reduce){html.sg-smooth-scroll{scroll-behavior:auto!important}}
