*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#F9F7F4;--blue:#1A3DF5;--mint:#00C889;--text:#111;--subtle:#5C5B58;--card-bg:#FFF;--card-border:#E5E2DD;--mint-dark:#00a870}html,body{height:100dvh;height:100vh;overflow:hidden;font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{display:flex;flex-direction:column;min-height:100dvh;min-height:100vh}.container{display:flex;flex-direction:column;height:100dvh;height:100vh;max-width:600px;margin:0 auto;width:100%;padding:clamp(8px,2vw,16px) clamp(12px,3vw,20px) clamp(6px,1.5vw,12px);position:relative}.top-bar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:4px 0;gap:8px;min-height:36px}.logo-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.logo-wrap img{width:clamp(28px,6vw,36px);height:auto;display:block}.logo-text{font-weight:700;font-size:clamp(0.7rem,1.8vw,0.85rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text);white-space:nowrap}.countdown-badge{display:flex;align-items:center;gap:6px;background:var(--card-bg);border:1.5px solid var(--card-border);border-radius:20px;padding:5px 10px;flex-shrink:0;font-weight:700;font-size:clamp(0.68rem,1.6vw,0.78rem);letter-spacing:.03em;color:var(--text);white-space:nowrap}.countdown-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);animation:pulse-dot 1.6s ease-in-out infinite;flex-shrink:0}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(0.7)}}.countdown-time{font-variant-numeric:tabular-nums;min-width:36px;text-align:right;color:var(--blue)}.progress-wrap{flex-shrink:0;margin:6px 0 4px;display:flex;align-items:center;gap:8px}.progress-bar-outer{flex:1;height:5px;background:var(--card-border);border-radius:10px;overflow:hidden}.progress-bar-inner{height:100%;width:0;background:var(--blue);border-radius:10px;animation:fill-bar 1.3s cubic-bezier(0.22,0.61,0.36,1) forwards}@keyframes fill-bar{0%{width:0}60%{width:72%}100%{width:100%}}.progress-label{font-size:clamp(0.6rem,1.4vw,0.7rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--subtle);white-space:nowrap;transition:color .4s}.progress-label.ready{color:var(--mint-dark)}.hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(6px,1.5vh,16px) 0;gap:clamp(6px,1.2vh,12px);min-height:0}.hero h1{font-size:clamp(1.9rem,7vw,3.8rem);font-weight:700;text-transform:uppercase;letter-spacing:-0.02em;line-height:1.05;color:var(--text);word-break:break-word;max-width:100%}.hero .subtitle{font-size:clamp(0.78rem,2vw,1rem);font-weight:400;color:var(--subtle);letter-spacing:.02em;line-height:1.4}.school-cards-row{display:flex;gap:clamp(6px,2vw,10px);justify-content:center;flex-shrink:0;flex-wrap:wrap;padding:2px 0}.school-card{flex:1;min-width:70px;max-width:110px;background:var(--card-bg);border:2px solid var(--card-border);border-radius:16px;padding:clamp(8px,2vw,12px) clamp(4px,1vw,8px);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:border-color .3s,box-shadow .3s}.school-card:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(26,61,245,0.08)}.school-picto{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.school-picto svg{width:100%;height:100%}.school-card-label{font-size:clamp(0.6rem,1.3vw,0.7rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}.school-card-check{font-size:clamp(0.5rem,1.1vw,0.6rem);color:var(--mint-dark);font-weight:700;letter-spacing:.04em;display:flex;align-items:center;gap:3px}.consult-feed{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:4px 0;font-size:clamp(0.6rem,1.3vw,0.7rem);color:var(--subtle);letter-spacing:.03em;min-height:22px}.consult-feed .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}.consult-feed-text{opacity:.85;transition:opacity .5s}.cta-section{flex-shrink:0;padding:clamp(6px,2vh,14px) 0 0;display:flex;flex-direction:column;align-items:center;gap:clamp(5px,1.2vh,10px);position:relative}.cta-button{display:flex;align-items:center;justify-content:center;width:100%;max-width:460px;background:var(--blue);color:#FFF;font-weight:700;font-size:clamp(1rem,3.2vw,1.35rem);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:none;border-radius:14px;padding:clamp(14px,2.5vh,20px) clamp(16px,4vw,28px);cursor:pointer;transition:background .25s,transform .2s,box-shadow .3s;position:relative;outline:none;text-align:center;line-height:1.2;-webkit-user-select:none;user-select:none}.cta-button:hover,.cta-button:focus-visible{background:#0f2dd4;transform:translateY(-2px);box-shadow:0 8px 30px rgba(26,61,245,0.3)}.cta-button:active{transform:translateY(0);box-shadow:0 3px 12px rgba(26,61,245,0.2)}.cta-button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.padlock-badge{position:absolute;top:-38px;left:50%;transform:translateX(-50%) translateY(6px);background:var(--mint);color:#fff;font-weight:700;font-size:clamp(0.6rem,1.2vw,0.7rem);letter-spacing:.04em;padding:6px 14px;border-radius:20px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(0.34,1.56,0.64,1);display:flex;align-items:center;gap:5px;z-index:10}.padlock-badge.show{opacity:1;transform:translateX(-50%) translateY(0)}.padlock-badge svg{width:14px;height:14px;flex-shrink:0}.trust-labels{display:flex;flex-wrap:wrap;gap:clamp(4px,1.5vw,8px);justify-content:center;font-size:clamp(0.55rem,1.2vw,0.68rem);font-weight:400;color:var(--subtle);letter-spacing:.03em;text-transform:uppercase}.trust-label{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:4px 10px;white-space:nowrap;display:flex;align-items:center;gap:4px}.trust-label .check-icon{color:var(--mint-dark);font-weight:700;font-size:.9em}@media(min-width:768px){.container{padding:clamp(10px,2.5vw,20px) clamp(16px,4vw,32px) clamp(8px,2vw,16px)}.school-card{max-width:130px;padding:clamp(10px,2.5vw,16px) clamp(6px,1.5vw,12px)}.school-picto{width:34px;height:34px}.cta-button{max-width:500px;border-radius:16px}}@media(max-height:640px){.hero h1{font-size:clamp(1.5rem,5.5vw,2.2rem)}.hero .subtitle{font-size:clamp(0.65rem,1.5vw,0.78rem)}.school-card{padding:6px 4px;gap:3px;border-radius:12px}.school-picto{width:22px;height:22px}.cta-button{padding:12px 16px;font-size:clamp(0.85rem,2.5vw,1rem);border-radius:12px}.padlock-badge{top:-32px;font-size:.6rem;padding:4px 10px}.countdown-badge{padding:4px 8px;font-size:.65rem}.progress-bar-outer{height:4px}}@media(max-height:520px){.hero h1{font-size:clamp(1.2rem,4vw,1.6rem)}.hero{gap:4px;padding:2px 0}.school-cards-row{gap:4px}.school-card{min-width:55px;padding:4px 2px;gap:2px;border-radius:10px;border-width:1.5px}.school-picto{width:18px;height:18px}.school-card-label{font-size:.55rem}.cta-button{padding:10px 14px;font-size:.8rem;border-radius:10px}.countdown-badge{padding:3px 6px;font-size:.6rem}.trust-labels{font-size:.5rem;gap:3px}.trust-label{padding:2px 6px}}