/* Entrée publique de l’Académie et premier accueil dans le hall. */
body.portal-view{background:#0d2635}
.portal-view .sidebar,.portal-view .topbar,.portal-view footer{display:none}
.portal-view .workspace{margin:0}
.portal-view main{padding:0;max-width:none;min-height:100vh}
.portal-stage{min-height:100vh;position:relative;isolation:isolate;overflow:hidden;color:#fff;display:flex;flex-direction:column}
.portal-art,.portal-shade{position:absolute;inset:0;width:100%;height:100%}
.portal-art{object-fit:cover;object-position:center 48%;z-index:-3}
.portal-shade{z-index:-2;background:linear-gradient(90deg,#0b2334f2 0%,#0b2334db 23%,#0b233487 43%,#0b23341a 72%),linear-gradient(0deg,#0b23349e,transparent 30%)}
.portal-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:29px clamp(28px,5.5vw,90px);border-bottom:1px solid #ffffff40}
.portal-brand{display:flex;align-items:center;gap:15px;font:700 25px/1.05 var(--display);letter-spacing:.5px}
.portal-brand img{width:52px;height:59px;object-fit:contain}
.portal-brand small{display:block;font:9px var(--mono);letter-spacing:1.6px;color:#c4ead8;margin-top:8px}
.portal-invite{font:9px var(--mono);letter-spacing:1.6px;color:#e1eee5;text-align:right}
.portal-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:min(100%,690px);padding:30px clamp(28px,5.5vw,90px) 34px}
.portal-content .eyebrow{color:#a4dabb;font-size:10px;letter-spacing:2.1px}
.portal-content h1{font:650 clamp(62px,7.5vw,116px)/.9 var(--display);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 22px;text-shadow:0 2px 14px #06172445}
.portal-content>p{max-width:440px;font-size:15px;line-height:1.75;color:#e4eae7;margin:0 0 21px}
.portal-mentor{display:flex;align-items:center;gap:17px;max-width:490px;border:1px solid #d9eadf88;background:#102e3bc7;border-radius:6px;padding:10px 17px 10px 10px;backdrop-filter:blur(7px)}
.portal-mentor img{width:104px;height:111px;object-fit:cover;object-position:center 27%;border-radius:4px;flex-shrink:0}
.portal-mentor b{display:block;font:8px var(--mono);letter-spacing:1px;color:#b7e8ca;margin-bottom:9px}
.portal-mentor span{display:block;font-size:14px;line-height:1.55;color:#fff}
.portal-enter{margin-top:23px;font-size:13px;min-height:50px;padding:13px 22px}
.portal-footer{display:flex;justify-content:space-between;gap:20px;padding:16px clamp(28px,5.5vw,90px);font:8px var(--mono);letter-spacing:1px;color:#e5eee7;border-top:1px solid #ffffff40}
.exit-link{display:block;width:100%;background:none;color:#9fbeb9;border:0;border-top:1px solid #35505a;padding:12px 8px 18px;text-align:left;font-size:10px}
.exit-link:hover{color:#fff;text-decoration:underline}
#entry-dialog{border:1px solid #9ab5a6;background:#f8faf3;max-height:calc(100vh - 30px);overflow:auto}
#entry-dialog h2{font-size:39px}
#entry-dialog>form>p{margin-top:0}
#entry-dialog input{font-size:18px;letter-spacing:2px}
#entry-id{letter-spacing:.4px!important;font-size:16px!important}
.entry-error{min-height:22px!important;color:#9d3f3c!important;font-size:11px!important;margin:8px 0 0!important}
.hero:before{background:linear-gradient(90deg,#0b2334ef 0%,#0b2334d3 26%,#0b233489 52%,#0b23340c 85%)}
.hero-art{object-position:center 44%}
.welcome-brief{display:grid;grid-template-columns:175px minmax(0,1fr);gap:26px;align-items:center;background:#e8f0e8;border:1px solid #ceded0;border-radius:7px;margin:22px 0 26px;padding:20px 28px}
.welcome-portrait{width:175px;height:185px;overflow:hidden;border-radius:5px;background:#18354a}
.welcome-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.welcome-brief h2{font:600 34px/1.1 var(--display);text-transform:uppercase;margin:8px 0 9px;color:var(--navy)}
.welcome-brief p{font-size:12px;line-height:1.8;max-width:720px;margin:0 0 15px;color:#435b4f}
.welcome-brief .button{font-size:11px}
@media(max-width:920px){.portal-content{width:min(100%,620px)}.portal-content h1{font-size:76px}.portal-mentor img{width:85px;height:93px}.portal-mentor span{font-size:12px}.welcome-brief{grid-template-columns:140px 1fr;gap:20px}.welcome-portrait{width:140px;height:160px}}
@media(max-width:650px){.portal-stage{min-height:100svh}.portal-art{object-position:58% center}.portal-shade{background:linear-gradient(90deg,#0b2334df,#0b23349b 58%,#0b23342e),linear-gradient(0deg,#0b2334cb,transparent 55%)}.portal-top{padding:17px 20px}.portal-brand{font-size:18px;gap:10px}.portal-brand img{width:37px;height:43px}.portal-brand small{font-size:6px;letter-spacing:1px;margin-top:5px}.portal-invite{display:none}.portal-content{padding:25px 22px;justify-content:flex-end}.portal-content .eyebrow{font-size:7px}.portal-content h1{font-size:59px;margin:12px 0 15px}.portal-content>p{font-size:12px;line-height:1.65;margin-bottom:16px}.portal-mentor{gap:10px;padding:8px 11px 8px 8px}.portal-mentor img{width:72px;height:77px}.portal-mentor b{font-size:6px;letter-spacing:.3px;margin-bottom:5px}.portal-mentor span{font-size:11px}.portal-enter{margin-top:16px;font-size:11px}.portal-footer{padding:11px 20px;font-size:6px}.portal-footer span:last-child{display:none}.welcome-brief{grid-template-columns:84px 1fr;gap:13px;padding:14px}.welcome-portrait{width:84px;height:105px}.welcome-brief h2{font-size:23px}.welcome-brief p{font-size:10px;line-height:1.65}.welcome-brief .button{font-size:9px}.hero:before{background:linear-gradient(90deg,#0b2334e8,#0b23348c 60%,#0b23341e),linear-gradient(0deg,#0b2334bd,transparent 50%)}}
/* Le nom complet conserve la même typographie sur une seule ligne. */
.portal-brand>span{white-space:nowrap}
.portal-brand small{font:10px var(--mono);letter-spacing:2px;margin-top:9px}
@media(max-width:650px){.portal-brand{font-size:clamp(14px,4.6vw,18px)}.portal-brand small{font-size:8px;letter-spacing:1.5px;margin-top:6px}}
