/* Eduscape site pages: shared design (header, footer, buttons and article text). The home page carries its own copy of the base rules. */
:root{--navy:#1C3A56;--navy-2:#254a6d;--orange:#E8853B;--orange-d:#B85A12;--cream:#FBF7F0;--ink:#1C2B3A;--mute:#5A6573;--line:#E8E1D4;--green:#25A244;--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block;height:auto}a{color:var(--orange-d)}
h1,h2,h3,h4{font-family:Sora,Inter,system-ui,sans-serif;line-height:1.22;margin:0;color:var(--navy)}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font:700 15px Inter,sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange-d);color:#fff;box-shadow:0 8px 20px rgba(184,90,18,.28)}.btn-primary:hover{background:#9f4c0c}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:box-shadow .2s,border-color .2s}
header.site.scrolled{box-shadow:0 6px 22px rgba(28,58,86,.1);border-color:var(--line)}
.bar{display:flex;align-items:center;gap:18px;height:74px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand .wm{font:600 27px Sora,sans-serif;color:var(--navy);letter-spacing:-.5px}.brand .wm b{font-weight:800}.brand .wm i{font-style:normal;font-weight:500}
.brand small{font:700 9.5px Inter;letter-spacing:.28em;color:var(--orange-d);margin-top:4px}
nav.main{margin-left:auto;display:flex;gap:4px}
nav.main a{padding:9px 13px;border-radius:999px;text-decoration:none;font-weight:600;font-size:14.5px;color:var(--navy)}nav.main a:hover,nav.main a[aria-current=page]{background:var(--cream)}
nav.main .m-only{display:none}
.bar .cta{display:flex;gap:10px}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--navy);border-radius:10px;width:44px;height:44px;cursor:pointer;position:relative}
.burger span,.burger span:before,.burger span:after{display:block;width:20px;height:2px;background:var(--navy);margin:auto;position:relative;content:""}
.burger span:before{top:-6px;position:absolute;left:0}.burger span:after{top:6px;position:absolute;left:0}
/* page text */
.page{padding:34px 20px 70px;max-width:860px}
.page .crumb{font-size:13.5px;color:var(--mute);margin:0 0 18px}.page .crumb a{color:var(--mute);text-decoration:none}.page .crumb a:hover{color:var(--orange-d)}
.page h1{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.02em;margin-bottom:14px}
.page .lead{font-size:19px;color:var(--mute);margin:0 0 30px;max-width:720px}
.page h2{font-size:clamp(22px,2.8vw,30px);margin:46px 0 14px;padding-top:6px}.page h2 b{color:var(--orange-d);font-weight:inherit}
.page h3{font-size:18.5px;margin:26px 0 8px}
.page p{margin:0 0 16px;color:#33414f}.page strong{color:var(--navy)}
.page ul,.page ol{margin:0 0 20px;padding:0;list-style:none}.page ol{counter-reset:n}
.page li{position:relative;padding:6px 0 6px 28px;color:#33414f}
.page ul li:before{content:"";position:absolute;left:2px;top:15px;width:12px;height:12px;border-radius:4px;background:var(--orange)}
.page ol li{counter-increment:n}.page ol li:before{content:counter(n);position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:var(--orange-d);color:#fff;font:700 12px Inter;display:grid;place-items:center}
.page .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:6px 0 26px}
.page .card,.page .box,.page .callout,.page .notice{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 10px 26px rgba(28,58,86,.06)}
.page .card{border-top:4px solid var(--orange)}.page .card h3{margin:0 0 8px;font-size:17.5px}.page .card p{margin:0;font-size:15px;color:var(--mute)}
.page .callout,.page .notice{background:var(--cream);border-left:5px solid var(--orange);box-shadow:none;margin:0 0 22px}.page .callout p:last-child,.page .notice p:last-child,.page .box p:last-child{margin-bottom:0}
.page .contents{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin:0 0 28px}.page .contents ul,.page .contents ol{margin:0}.page .contents a{text-decoration:none;font-weight:600}
.page table{width:100%;border-collapse:separate;border-spacing:0;margin:8px 0 26px;font-size:15px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.page th{background:var(--navy);color:#fff;text-align:left;padding:12px 14px;font:700 14px Inter;white-space:nowrap}.page td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}.page tr:nth-child(even) td{background:#FBF7F0}
.page details{background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 12px;overflow:hidden}
.page summary{cursor:pointer;list-style:none;padding:17px 52px 17px 20px;font:700 16.5px Sora;color:var(--navy);position:relative}.page summary::-webkit-details-marker{display:none}
.page summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:600 26px Inter;color:var(--orange-d)}
.page details[open] summary:after{content:"\2212"}.page details[open]{border-color:var(--orange);box-shadow:0 10px 24px rgba(28,58,86,.08)}.page details p{margin:0;padding:0 20px 18px}
.page .cta{background:var(--navy);color:#fff;border-radius:24px;padding:36px 30px;margin:46px 0 10px;text-align:center;box-shadow:0 24px 50px rgba(28,58,86,.22)}
.page .cta h2{color:#fff;margin:0 0 10px;padding:0}.page .cta p{color:#e3ecf4;margin:0 0 20px}
.page .cta .btn{background:var(--orange-d);color:#fff;margin:4px 5px}.page .cta .btn.g{background:transparent;border-color:#fff;color:#fff}.page .cta .btn.g:hover{background:#fff;color:var(--navy)}
.page a.btn{background:var(--orange-d);color:#fff;text-decoration:none;margin:0 6px 8px 0}.page a.btn.g{background:#fff;color:var(--navy);border-color:var(--navy)}
.page section{margin:0 0 10px}.page hr{border:0;border-top:1px solid var(--line);margin:30px 0}
footer.site{background:var(--navy);color:#dbe6f0;padding:54px 0 28px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px;margin-bottom:34px}
footer h4{color:#fff;font-size:15px;margin-bottom:14px}footer a{display:block;color:#dbe6f0;text-decoration:none;font-size:14.5px;padding:4px 0}footer a:hover{color:#FFB36B}
footer .wm{font:600 26px Sora;color:#fff}footer .wm b{font-weight:800}footer .wm i{font-style:normal;font-weight:500}footer .about{font-size:14.5px;opacity:.9;margin:10px 0 0;max-width:300px}
footer .copy{border-top:1px solid #ffffff26;padding-top:20px;font-size:13.5px;opacity:.85;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.side{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:8px}
.side a{width:50px;height:50px;display:grid;place-items:center;background:var(--green);border-radius:14px 0 0 14px;box-shadow:0 8px 20px rgba(0,0,0,.2)}.side a.n{background:var(--navy)}
.side svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:980px){
 nav.main,.bar .cta{display:none}.burger{display:block}
 header.site.open nav.main{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:74px;background:#fff;padding:12px 20px 20px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(28,58,86,.12)}
 nav.main .m-only{display:inline-flex}nav.main .m-only.btn{margin-top:8px;justify-content:center;color:#fff}nav.main .m-only.btn-ghost{color:var(--navy)}
 footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.page table{display:block;overflow-x:auto}.wrap{padding:0 16px}.page{padding:26px 16px 56px}.page .cta{padding:28px 18px}footer .cols{grid-template-columns:1fr}.side{top:auto;bottom:14px;right:12px;transform:none;flex-direction:row}.side a{width:48px;height:48px;border-radius:50%}footer.site{padding-bottom:84px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* motion */
@keyframes up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.page .crumb{animation:up .6s both}.page h1{animation:up .8s .08s both}.page .lead{animation:up .8s .2s both}
.rv{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.page .card{transition:transform .25s,box-shadow .25s}.page .card:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(28,58,86,.14)}
.page details{transition:box-shadow .25s,border-color .25s}.page details p{animation:up .45s both}
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s}.btn:hover:after{left:130%}
.btn-primary,.page .cta .btn,.page a.btn{background:linear-gradient(135deg,#F7A545,#E8672B)}
#prog{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(135deg,#F7A545,#E8672B);z-index:100}
#top-btn{position:fixed;right:18px;bottom:20px;z-index:55;width:48px;height:48px;border-radius:50%;border:0;background:linear-gradient(135deg,#F7A545,#E8672B);color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(232,103,43,.4);opacity:0;visibility:hidden;transform:translateY(14px);transition:.3s;display:grid;place-items:center}
#top-btn.show{opacity:1;visibility:visible;transform:none}#top-btn svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:620px){#top-btn{right:12px}.side{left:12px;right:auto}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.page .crumb,.page h1,.page .lead,.page details p{animation:none}}
