/* 3E P287 • Gentle, interactive SDC styling inspired by original GAS portal. */
.e3-hero{min-height:300px;contain:paint}
.e3-matrix{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.e3-hero-content{z-index:2}
.e3-matrix .e3-floating-bit{position:absolute;bottom:-56px;top:auto!important;font-family:ui-monospace,Consolas,monospace;font-weight:800;letter-spacing:.025em;color:rgba(229,255,241,.64);opacity:0;text-shadow:0 0 7px rgba(189,255,211,.5),0 0 18px rgba(188,255,229,.3);will-change:transform;animation:e3-rise-p287 var(--bit-duration,9s) linear var(--bit-delay,0s) infinite}
.e3-matrix .e3-floating-bit.e3-bit-spark{color:#e1ffb4;text-shadow:0 0 7px #d5ffa8,0 0 20px rgba(218,255,173,.9);animation-name:e3-rise-spark-p287}
@keyframes e3-rise-p287{0%{opacity:0;transform:translate3d(0,15px,0) scale(.83)}12%{opacity:.65}48%{opacity:.3}67%{opacity:.8}86%{opacity:.47}100%{opacity:0;transform:translate3d(var(--bit-drift,18px),-490px,0) scale(1.16)}}
@keyframes e3-rise-spark-p287{0%{opacity:0;transform:translate3d(0,18px,0) scale(.7)}22%{opacity:.25}40%{opacity:.93}55%{opacity:.25}70%{opacity:1;text-shadow:0 0 12px #eeffb6,0 0 25px #adffbe}100%{opacity:0;transform:translate3d(var(--bit-drift,10px),-490px,0) scale(1.2)}}
.e3-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 16% 20%,rgba(208,255,224,.09),transparent 33%),radial-gradient(circle at 84% 80%,rgba(207,247,205,.07),transparent 40%)}
.e3-hero h1 span{display:inline-block;transition:transform .3s,text-shadow .3s}
.e3-hero:hover h1 span{transform:translateY(-3px);text-shadow:0 0 20px rgba(231,255,211,.3)}
.e3-button,.e3-nav a,.e3-head-actions a,.e3-to-top{transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease,border-color .25s ease}
.e3-button:hover,.e3-head-actions a:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,33,26,.13)}
.e3-nav a:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(3,66,45,.14)}
.e3-gas-shell,.e3-panel{transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.e3-panel:hover{border-color:#b8dcca;box-shadow:0 18px 36px rgba(13,80,52,.11)}
.e3-gas-banner{transition:box-shadow .35s ease;isolation:isolate}
.e3-gas-banner:before{content:"";position:absolute;top:-80%;left:-55%;height:260%;width:27%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);pointer-events:none;transform:skewX(-15deg) translateX(-190%);z-index:0}
.e3-gas-banner:hover:before{animation:e3-sweep-p287 1.05s ease forwards}
.e3-gas-banner:hover{box-shadow:0 20px 37px rgba(12,89,61,.18)}
@keyframes e3-sweep-p287{to{transform:skewX(-15deg) translateX(1000%)}}
.e3-gas-kpi,.e3-gas-panel,.e3-gas-status,.e3-gas-topic{transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .3s ease,background-color .3s ease}
.e3-gas-kpi:hover{transform:translateY(-7px);border-color:#9dcfb3;box-shadow:0 15px 32px rgba(13,90,60,.12)}
.e3-gas-kpi-icon{transition:transform .32s ease,background-color .3s ease}
.e3-gas-kpi:hover .e3-gas-kpi-icon{transform:translateY(-2px) rotate(-7deg) scale(1.13)}
.e3-gas-panel:hover{transform:translateY(-3px);border-color:#b8dcca;box-shadow:0 14px 28px rgba(3,42,25,.08)}
.e3-gas-topic:hover,.e3-gas-status:hover{transform:translateX(4px);border-color:#bcdccc;background:#f6fcf8}
.e3-teacher{--e3-tilt-x:0deg;--e3-tilt-y:0deg;--e3-accent:#12966b;position:relative;isolation:isolate;overflow:hidden;transition:transform .3s cubic-bezier(.18,.78,.22,1),box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.e3-teacher.e3-leadership{--e3-accent:#d15b95}.e3-teacher.e3-clerical{--e3-accent:#4c96d2}
.e3-teacher:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--e3-accent);opacity:0;transform:scaleX(.4);transition:opacity .3s,transform .3s;z-index:2}
.e3-teacher:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--e3-glint-x,50%) 10%,rgba(255,255,255,.52),transparent 57%);opacity:0;transition:opacity .27s;z-index:0}
.e3-teacher>*{position:relative;z-index:1}
.e3-teacher:hover,.e3-teacher:focus-visible{transform:perspective(850px) translateY(-9px) rotateX(var(--e3-tilt-x)) rotateY(var(--e3-tilt-y));border-color:var(--e3-accent);box-shadow:0 18px 33px rgba(11,83,56,.15),0 4px 8px rgba(10,91,58,.04)}
.e3-teacher:hover:before,.e3-teacher:focus-visible:before{opacity:1;transform:scaleX(1)}
.e3-teacher:hover:after{opacity:1}
.e3-teacher.e3-leadership:hover{box-shadow:0 18px 33px rgba(151,48,96,.15)}
.e3-teacher.e3-clerical:hover{box-shadow:0 18px 33px rgba(37,103,163,.15)}
.e3-teacher-photo{transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .3s ease}
.e3-teacher:hover .e3-teacher-photo{transform:scale(1.07) rotate(-2deg);box-shadow:0 0 0 6px rgba(18,142,91,.09),0 7px 20px rgba(0,0,0,.12);border-color:var(--e3-accent)}
.e3-teacher-photo img{transition:transform .45s ease}
.e3-teacher:hover .e3-teacher-photo img{transform:scale(1.08)}
.e3-person-open{display:inline-flex;align-items:center;gap:6px;transition:background-color .25s,transform .25s,box-shadow .25s,border-color .25s}
.e3-teacher:hover .e3-person-open{background:var(--e3-accent);color:#fff;border-color:var(--e3-accent);transform:translateY(-2px);box-shadow:0 5px 12px rgba(22,113,77,.17)}
.e3-teacher:hover .e3-person-open i{transform:translate(2px,-2px)}
.e3-person-open i{transition:transform .25s}
.e3-search{transition:box-shadow .25s,border-color .25s}
.e3-search:focus-within{border-color:#42a977;box-shadow:0 0 0 4px rgba(19,133,92,.12)}
.e3-simple-empty:hover{background:#f0f9f3;border-color:#9bcfb0}
.e3-footer a:hover{color:#e6ffc2;text-decoration:underline}
@media(hover:none),(pointer:coarse){.e3-teacher:hover{transform:none}.e3-teacher:hover .e3-teacher-photo{transform:none}.e3-gas-status:hover,.e3-gas-topic:hover{transform:none}}
@media(max-width:640px){.e3-hero{min-height:260px}.e3-matrix .e3-floating-bit{opacity:.25}.e3-teacher:after{display:none}}
@media(prefers-reduced-motion:reduce){.e3-hero *,.e3-hero:after,.e3-gas-banner:before,.e3-teacher,.e3-teacher *,.e3-gas-kpi,.e3-gas-panel,.e3-gas-status,.e3-gas-topic{animation:none!important;transition:none!important;transform:none!important}.e3-matrix .e3-floating-bit{display:none!important}}
