:root{--blue:#073d7b;--button-blue:#0056b3;--gold:#ffd700;--muted:#46536b;--content-width:1200px}
*{box-sizing:border-box}
body{margin:0;color:var(--blue);background:#f1f5fb;font-family:Arial,Helvetica,sans-serif}
.school-header{position:relative;background:linear-gradient(90deg,rgba(3,30,70,.94),rgba(3,42,89,.81) 55%,rgba(3,42,89,.52)),url('assets/batiment.jpg') center 46%/cover no-repeat;border-bottom:6px solid var(--gold);color:#fff}
.header-inner{max-width:var(--content-width);min-height:240px;margin:auto;padding:32px;display:flex;align-items:center;justify-content:center;gap:30px}
.school-logo{width:154px;height:154px;flex-shrink:0;object-fit:contain;background:#fff;border:4px solid #fff;border-radius:50%;box-shadow:0 8px 28px rgba(0,0,0,.25)}
.school-identity{min-width:0;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.school-identity p{margin:0}
.school-type{font-size:clamp(18px,2.3vw,29px);font-weight:700;text-transform:uppercase;letter-spacing:1px}
.school-name{margin-top:8px!important;font-size:clamp(26px,3.3vw,43px);line-height:1.15;font-weight:800;text-transform:uppercase}
.school-motto{display:flex;align-items:center;gap:12px;margin-top:16px!important;color:var(--gold);font-size:18px;letter-spacing:2px}
.school-motto::before{content:'';width:40px;height:3px;background:var(--gold);border-radius:5px}
.portal-main{padding:0 32px 36px}
.welcome{max-width:var(--content-width);margin:auto;padding:30px 0 26px;text-align:center}
.welcome h1{margin:0;font-size:clamp(30px,3.2vw,43px);line-height:1.15;font-weight:800;letter-spacing:-.6px}
.welcome h1 br{display:none}
.welcome h1 span{color:var(--button-blue)}
.gold-rule{width:68px;height:4px;background:#e9b900;border-radius:5px;margin:14px auto 12px}
.welcome p{margin:0;color:var(--muted);font-size:clamp(16px,1.7vw,20px);line-height:1.5}
.access-grid{max-width:var(--content-width);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.access-card{display:flex;align-items:center;flex-direction:column;padding:24px 22px;background:#fff;border:1px solid #cbd9ed;border-top:5px solid #e9b900;border-radius:18px;box-shadow:0 10px 26px rgba(7,61,123,.13);text-align:center}
.access-icon{width:128px;height:96px;color:var(--blue);margin-bottom:14px}
.access-card h2{margin:0 0 10px;font-size:clamp(20px,2vw,26px);font-weight:800}
.access-card p{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.5}
.access-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;margin-top:auto;padding:14px 16px;border:2px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;text-decoration:none;font-size:17px;font-weight:700;line-height:1.3;box-shadow:0 4px 10px rgba(7,61,123,.15);transition:background .2s,transform .2s}
.access-button>span[aria-hidden]{font-size:25px;line-height:1}
.access-button:hover{background:#0056b3;transform:translateY(-2px)}
.access-button:focus-visible{outline:4px solid #dcae00;outline-offset:4px}
.school-footer{padding:0 24px 26px;text-align:center}
.school-footer p{display:flex;justify-content:center;align-items:center;gap:22px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:22px;font-style:italic;line-height:1.5}
.school-footer p::before,.school-footer p::after{content:'';width:65px;height:3px;flex-shrink:0;background:#e9b900}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1000px){
 .header-inner{gap:24px;padding:28px 24px;min-height:220px}
 .school-logo{width:130px;height:130px}
 .access-grid{gap:16px}.access-card{padding:22px 14px}.access-button{font-size:15px;gap:8px}
}
@media(max-width:760px){
 .header-inner{padding:24px 20px;flex-direction:column;gap:16px;text-align:center}
 .school-logo{width:112px;height:112px}.school-type{font-size:18px}.school-name{font-size:28px}
 .school-motto{justify-content:center;gap:8px;font-size:14px;letter-spacing:1px}.school-motto::before{display:none}
 .portal-main{padding:0 18px 28px}.welcome{padding:26px 0}.welcome h1{font-size:32px}.welcome h1 br{display:block}.welcome p{font-size:17px}
 .access-grid{grid-template-columns:1fr;max-width:460px;gap:20px}.access-card{padding:24px}.access-card h2{font-size:25px}.access-button{font-size:17px}
 .school-footer{padding:0 20px 24px}.school-footer p{font-size:19px}.school-footer p::before,.school-footer p::after{display:none}
}
@media(prefers-reduced-motion:reduce){.access-button{transition:none}.access-button:hover{transform:none}}
