/* Interaction and accessibility additions; all secrets remain server-side. */
:focus-visible{outline:3px solid #b18445;outline-offset:3px}
button:disabled,select:disabled{cursor:not-allowed;opacity:.65}
.wizard-status[data-state="error"]{color:#a82d2d;background:#fff1f0;padding:12px;border-left:3px solid #a82d2d}
.wizard-status[data-state="success"]{color:#245c36;background:#edf8f0;padding:12px;border-left:3px solid #398452}
.wizard-status[data-state="empty"]{color:#695531;background:#fbf5e8;padding:12px;border-left:3px solid #c9a66b}
.wizard-status[data-state="info"]{color:#40546a}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent-label{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:14.5px;line-height:1.6}
.consent-label input{flex:0 0 auto;margin-top:4px}
.consent-label a{text-decoration:underline;color:#8b6735}
.turnstile-slot{margin:14px 0;min-height:0}
#program-grid [hidden]{display:none!important}
.nav-portal{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #d9c49f;border-radius:6px;background:#fbf8f2;color:var(--navy)!important;font-size:13.5px;font-weight:700;white-space:nowrap}
.nav-portal span{color:#9e7b48}
.nav-portal:hover,.nav-portal.active{background:#f2e9d8}
.portal-hero{overflow:hidden;background:linear-gradient(115deg,#f7f8f8 0%,#f7f8f8 57%,#edf1f2 57%)}
.portal-hero-grid{min-height:550px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:65px;padding-top:60px;padding-bottom:60px}
.portal-hero h1{max-width:590px;margin:0 0 20px;font-size:clamp(42px,5vw,62px)}
.portal-status{display:flex;align-items:flex-start;gap:10px;margin:26px 0 27px;padding:13px 15px;border:1px solid #e5e9eb;border-radius:6px;background:#ffffffb8;max-width:410px}
.portal-status-dot{width:8px;height:8px;margin-top:5px;flex:none;border-radius:50%;background:#c6a366;box-shadow:0 0 0 4px #c6a3661c}
.portal-status strong,.portal-status small{display:block}.portal-status strong{color:var(--navy);font-size:14.5px}.portal-status small{margin-top:3px;color:#7b8793;font-size:13px}
.portal-visual{height:365px;position:relative;display:grid;place-items:center}
.portal-window{position:relative;z-index:1;width:min(410px,90%);min-height:280px;border:1px solid #ffffffb0;border-radius:12px;background:#fff;box-shadow:0 25px 70px #10233c20;transform:rotate(-2deg);overflow:hidden}
.window-bar{height:38px;display:flex;align-items:center;gap:5px;padding:0 13px;border-bottom:1px solid #edf0f2;background:#fbfcfc}.window-bar i{width:6px;height:6px;border-radius:50%;background:#d8dfe4}.window-bar i:first-child{background:#d6b988}.window-bar span{margin:auto;color:#a0aab3;font-size:12px}
.portal-window-body{padding:27px 30px}.portal-avatar{width:38px;height:38px;margin-bottom:19px;border-radius:11px;display:grid;place-items:center;background:var(--navy);color:#ead7b5;font-size:13px;font-weight:800}.portal-line{height:7px;margin:9px 0;border-radius:5px;background:#edf0f2}.portal-line.wide{width:68%;height:10px;background:#dfe5e9}.portal-line.medium{width:46%}.portal-card-row{display:flex;gap:12px;margin-top:23px}.portal-mini-card{flex:1;height:71px;padding:12px;border:1px solid #edf0f2;border-radius:7px}.portal-mini-card b,.portal-mini-card i{display:block;height:5px;margin-bottom:8px;border-radius:5px;background:#eef1f2}.portal-mini-card b{width:40%;background:#eadfc9}.portal-mini-card i:last-child{width:68%}.portal-button-placeholder{width:120px;height:26px;margin-top:21px;border-radius:5px;background:#f2e6d1}
.portal-orbit{position:absolute;width:330px;height:330px;border:1px solid #d4bf9b80;border-radius:50%}.portal-sparkle{position:absolute;right:9%;top:8%;color:#b18d58;font-size:35px}
.portal-info{padding-top:75px;padding-bottom:82px}.portal-info-heading{max-width:620px;margin:0 auto 36px;text-align:center}.portal-info-heading h2{margin:0 0 13px;font-size:clamp(28px,3.2vw,38px)}.portal-info-heading p{color:var(--muted);font-size:15px;line-height:1.8}
.portal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portal-steps article{padding:24px;border:1px solid #e8edef;border-radius:7px;background:#fff}.portal-steps article>span{color:#ad8752;font:700 14.5px var(--serif)}.portal-steps h3{margin:18px 0 8px;font-size:17px;letter-spacing:-.3px}.portal-steps p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.75}.portal-note{margin:21px 0 0;text-align:center;color:#87929d;font-size:13px}
.signup-container{max-width:820px}.signup-heading h1{margin:10px 0 12px;font-size:clamp(32px,4vw,46px)}
.signup-kind{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 20px;padding:0;border:0}.signup-kind legend{margin-bottom:9px;color:var(--navy);font-weight:700;font-size:14.5px}.signup-kind label{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer}
.password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;margin:0;padding:12px 14px;list-style:none;border-radius:7px;background:#f7f8f8;font-size:13.5px;color:#6b7783}
.password-rules li::before{content:"○";display:inline-block;width:18px;color:#a0aab3}
.password-rules li[data-ok="true"]{color:#245c36}.password-rules li[data-ok="true"]::before{content:"✓";color:#398452;font-weight:700}
.signup-login{margin:14px 0 0;font-size:14px;color:var(--muted)}.signup-login a{text-decoration:underline;color:#8b6735}
@media(max-width:600px){.password-rules{grid-template-columns:1fr}}
@media(max-width:900px){.nav-portal{font-size:13px;padding:8px 9px}}
@media(max-width:760px){.nav-portal{width:100%;justify-content:flex-start}.portal-hero{background:#f7f8f8}.portal-hero-grid{grid-template-columns:1fr;gap:15px;padding-top:55px;padding-bottom:35px}.portal-hero-grid>div:first-child{text-align:center}.portal-hero .eyebrow,.portal-hero .actions{justify-content:center}.portal-hero h1,.portal-status{margin-left:auto;margin-right:auto}.portal-visual{height:285px}.portal-window{width:min(380px,88%);min-height:250px}.portal-window-body{padding:21px 24px}.portal-orbit{width:260px;height:260px}.portal-steps{grid-template-columns:1fr;gap:12px}.portal-steps article{padding:19px}.portal-steps h3{margin-top:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* En-tête : espace minimal entre le logo et le menu (écrans moyens). */
.nav-wrap{gap:16px}.nav-wrap>.brand{flex-shrink:0}@media(min-width:1001px) and (max-width:1100px){.main-nav{gap:20px}}
