.portal-utilities{position:fixed;inset-inline-end:14px;bottom:22px;z-index:85}.portal-utilities button{display:grid;place-items:center;gap:3px;min-height:58px;min-width:58px;border:2px solid #fff;border-radius:14px;background:#153757;color:#fff;box-shadow:0 4px 20px #15375726;padding:7px;font:inherit;font-size:11px;cursor:pointer}.portal-utilities svg{width:27px;height:27px}.portal-preferences{width:390px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);padding:0;border:1px solid #d6e0eb;border-radius:16px;background:#fff;color:#153757;overflow:hidden;font-family:Arial,sans-serif;box-shadow:0 20px 80px #1537573d}.portal-preferences[open]{display:flex;flex-direction:column}.portal-preferences::backdrop{background:#102a4366}.preferences-head{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#153757;color:#fff;padding:14px 18px;flex:none}.preferences-head h2{margin:0;font:700 20px/1.4 Arial,sans-serif;color:#fff}.preferences-close{display:flex;align-items:center;gap:8px;border:1px solid #d6e0eb;background:#fff;color:#153757;border-radius:8px;min-height:44px;padding:8px 12px;font:600 14px Arial,sans-serif;cursor:pointer}.preferences-close span{font-size:24px;line-height:1}.preferences-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;padding:16px 18px 20px}.preferences-intro{font-size:14px;line-height:1.7;margin:0 0 16px}.access-group{border-top:1px solid #e0e7ef;margin-top:16px;padding-top:14px}.access-group h3{font:700 15px/1.5 Arial,sans-serif;margin:0 0 10px;color:#153757}.accessibility-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.accessibility-options.access-wide{grid-template-columns:1fr 1fr}.accessibility-options button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;padding:10px 5px;border:1px solid #cbd8e6;border-radius:9px;background:#f7f9fc;color:#153757;font:600 13px/1.4 Arial,sans-serif;text-align:center;cursor:pointer}.accessibility-options button[aria-pressed=true]{background:#e5f0ff;border:2px solid #1769c2;color:#124f90;box-shadow:inset 0 0 0 1px #fff}.accessibility-options button:disabled{opacity:.45;cursor:default}.accessibility-options [data-access=whiteCursor] svg{fill:#fff;stroke:#153757}.access-status{font:13px/1.5 Arial,sans-serif;min-height:20px;margin:16px 0 10px}.access-reset{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid #bacbdc;background:#fff;border-radius:9px;color:#153757;font:600 14px Arial,sans-serif;cursor:pointer}.preferences-note{font:12px/1.7 Arial,sans-serif;margin:14px 0 8px;color:#526b82}.access-policy{display:block;text-align:center;text-decoration:underline;color:#153757;font:14px/1.6 Arial,sans-serif}.portal-preferences :focus-visible,.portal-utilities :focus-visible{outline:3px solid #1769c2;outline-offset:3px}body:has(dialog[open]) .portal-utilities{visibility:hidden}
html[data-access-keyboard] :focus{outline:3px solid #1769c2!important;outline-offset:4px!important}html[data-access-links] a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}html[data-access-headings] :is(h1,h2,h3,h4,h5,h6):not(.portal-preferences *){outline:2px solid #1769c2;outline-offset:3px}html[data-access-readable] body :not(.portal-preferences *):not(svg):not(path){font-family:Arial,Helvetica,sans-serif!important}html[data-access-motion],html[data-access-motion] *,html[data-access-motion] *:before,html[data-access-motion] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-access-spacing] body{line-height:2!important;word-spacing:.12em}html[data-access-spacing] :is(p,li):not(.portal-preferences *){line-height:2.2!important}html[data-access-color=contrast] body :not(svg):not(path):not(img):not(.portal-preferences):not(.portal-preferences *):not(.portal-utilities):not(.portal-utilities *){background-color:#101c2a!important;color:#fff!important;border-color:#bdcce0!important}html[data-access-color=contrast] a{text-decoration:underline!important}html[data-access-color=light] :is(main,.site-header,.site-footer){background:#fff!important;color:#111!important}html[data-access-color=light] :is(main,.site-header,.site-footer) :is(p,li,h1,h2,h3,label){color:#111!important}html[data-access-color=mono] :is(img,.legal-monogram,.legal-card,.home-next-hero){filter:grayscale(1)}html[data-access-cursor=black] *,html[data-access-cursor=black] *:hover{cursor:url('/assets/cursor.svg') 7 3,auto!important}html[data-access-cursor=white] *,html[data-access-cursor=white] *:hover{cursor:url('/assets/cursor-white.svg') 7 3,auto!important}html[data-access-zoom] body{zoom:1.2}html[data-access-zoom] .portal-preferences,html[data-access-zoom] .portal-utilities{zoom:.833333}.access-image-description{display:block;max-width:100%;font-size:13px;line-height:1.5;padding:5px;background:#fff;color:#153757;border:1px solid #d6e0eb;overflow-wrap:anywhere}
#portal-cookie-banner{display:block;box-sizing:border-box;width:min(440px,calc(100% - 32px));margin:16px auto 22px;padding:27px 26px 22px;border:1px solid #d6e0eb;border-radius:16px;background:#fff;color:#153757;box-shadow:0 12px 38px #15375720;text-align:right;font-family:inherit;line-height:1.8;isolation:isolate}#portal-cookie-banner[hidden],#portal-cookie-banner [hidden]{display:none!important}#portal-cookie-banner .portal-notice-title{margin:0 0 12px;padding-inline-end:25px;font-size:21px;font-weight:700;line-height:1.5;color:inherit}#portal-cookie-banner .portal-notice-title>span{display:inline-block;margin-inline-end:6px}#portal-cookie-banner .portal-notice-text{margin:0;color:#526b82;font-size:14px;line-height:1.85}#portal-cookie-banner .portal-notice-links{display:flex;flex-wrap:wrap;gap:5px 16px;margin:14px 0 0;font-size:14px}#portal-cookie-banner .portal-notice-links a{white-space:nowrap;color:#155da9;text-decoration:underline;text-underline-offset:3px;font-weight:600;min-height:28px}#portal-cookie-banner .portal-notice-detail{font-size:12px;color:#526b82;line-height:1.65;margin:10px 0 16px}#portal-cookie-banner .portal-notice-close{position:absolute;inset-inline-end:7px;top:7px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#526b82;font:inherit;font-size:25px;cursor:pointer}#portal-cookie-banner .portal-notice-close>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d6e0eb;border-radius:50%;background:#f4f7fb}#portal-cookie-banner .portal-notice-done{width:100%;min-height:44px;border:1px solid #1769c2;border-radius:8px;background:#1769c2;color:#fff;font:inherit;font-size:14px;font-weight:600;padding:10px 14px;cursor:pointer}#portal-cookie-banner :focus-visible{outline:3px solid #1769c2;outline-offset:3px}.legal-footer-legal [data-cookie-open],.legal-footer-legal [data-accessibility-open]{border:0;background:transparent;color:inherit;font:inherit;padding:0;text-decoration:underline;cursor:pointer;text-align:inherit;min-height:32px}
@media(min-width:850px){#portal-cookie-banner{position:fixed;bottom:24px;left:96px;z-index:100;margin:0;max-height:calc(100dvh - 48px);overflow:auto}}
@media(max-width:849px){.portal-utilities{bottom:calc(83px + env(safe-area-inset-bottom));inset-inline-end:8px}.portal-utilities button{min-height:50px;min-width:50px;font-size:10px}body:has(.teacher-floating-contact) .portal-utilities{bottom:calc(166px + env(safe-area-inset-bottom))}body:has(#compare-bar:not([hidden])) .portal-utilities{bottom:calc(150px + env(safe-area-inset-bottom))}body:has(.teacher-floating-contact):has(#compare-bar:not([hidden])) .portal-utilities{bottom:calc(234px + env(safe-area-inset-bottom))}.preferences-scroll{padding:14px}.portal-preferences{max-height:calc(100dvh - 24px)}#portal-cookie-banner{position:relative;padding:25px 20px 20px;box-shadow:0 4px 18px #15375712}#portal-cookie-banner .portal-notice-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.portal-preferences *,.portal-cookie-banner *{animation:none!important;transition:none!important}}

/* Keep the close glyph centered independently of the surrounding RTL text. */
#portal-cookie-banner .portal-notice-close{width:44px;height:44px;min-width:44px;min-height:44px;line-height:0;padding:0;isolation:isolate}
#portal-cookie-banner .portal-notice-close:before{content:"";position:absolute;inset:6px;border:1px solid #d6e0eb;border-radius:50%;background:#f4f7fb;z-index:-1}
#portal-cookie-banner .portal-notice-close svg{display:block;width:18px;height:18px;flex:none;pointer-events:none}
#portal-cookie-banner .portal-notice-close:hover:before{background:#eaf3fc}
#portal-cookie-banner .portal-notice-links{margin-bottom:16px}
