@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#15233b;--ink-2:#203352;--bronze:#a9782a;--bronze-light:#d5ae69;--ivory:#fbfaf7;--mist:#f0f2f5;--muted:#788396;--line:#dde2e8;--white:#fff;--shadow:0 22px 60px rgba(21,35,59,.12);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:-9999px;top:10px;z-index:1000;background:var(--bronze);color:#fff;padding:12px 16px}.skip-link:focus{left:16px}.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,247,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,226,232,.7)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:#fff;border-radius:50%;overflow:hidden;border:1px solid var(--line)}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy small{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--muted)}.brand-copy strong{font-size:15px;letter-spacing:1.6px;font-weight:800}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700;color:#56637a}.desktop-nav a{transition:color .2s ease}.desktop-nav a:hover,.desktop-nav a[aria-current=true]{color:var(--bronze)}.nav-cta{background:var(--ink);color:#fff!important;padding:13px 16px;border-radius:10px}.nav-cta span{color:var(--bronze-light);padding-left:8px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:650px;display:flex;align-items:center;padding:72px 0 32px;overflow:hidden;background:linear-gradient(180deg,#fbfaf7 0%,#f8f6f1 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--bronze);font-size:10px;font-weight:800;letter-spacing:1.8px}.eyebrow-line{width:30px;height:1px;background:currentColor;display:inline-block}.hero h1,.section h2,.contact-band h2{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-3px;margin:22px 0;color:var(--ink);font-weight:800}.hero h1 em,.section h2 em,.contact-band h2 em{font-family:Fraunces,Georgia,serif;font-weight:500;color:var(--bronze);letter-spacing:-2px}.hero-lead{font-size:15px;line-height:1.85;color:var(--muted);max-width:490px;margin:24px 0 30px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:0;border-radius:10px;padding:15px 20px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(21,35,59,.16)}.button-dark{background:var(--ink);color:#fff}.button-dark span,.button-bronze span{color:var(--bronze-light);font-size:17px}.button-outline{border:1px solid #c8ced8;background:transparent;color:var(--ink)}.button-bronze{background:var(--bronze);color:#fff;width:100%;margin-top:8px}.button-light{background:#fff;color:var(--ink);border:1px solid rgba(255,255,255,.2);padding:12px 16px}.text-link{font-size:12px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--bronze);padding-bottom:5px}.text-link span{color:var(--bronze);padding-left:8px}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:55px}.proof-avatars{display:flex}.proof-avatars span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:800;border:2px solid var(--ivory);margin-left:-5px}.proof-avatars span:first-child{margin-left:0;background:var(--bronze)}.proof-avatars span:nth-child(2){background:#65728a}.hero-proof p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}.hero-proof strong{font-size:11px;color:var(--ink)}.hero-visual{height:460px;display:grid;place-items:center;position:relative}.seal-frame{width:min(380px,78%);aspect-ratio:1;background:rgba(255,255,255,.62);border-radius:50%;display:grid;place-items:center;box-shadow:0 30px 80px rgba(21,35,59,.13);position:relative;z-index:1}.seal-frame:before{content:"";position:absolute;inset:18px;border:1px solid rgba(169,120,42,.35);border-radius:50%}.seal-frame img{width:87%;height:87%;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(21,35,59,.13))}.orbit{position:absolute;border:1px solid rgba(169,120,42,.3);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:470px;height:260px}.orbit-two{width:340px;height:500px;transform:rotate(38deg)}.floating-note{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 16px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8);border-radius:12px}.note-top{right:2%;top:52px}.note-bottom{left:3%;bottom:38px}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:11px}.floating-note small{font-size:9px;color:var(--muted);margin-top:3px}.note-icon{width:30px;height:30px;display:grid;place-items:center;background:#f1e4cf;color:var(--bronze);border-radius:9px}.note-number{font-family:Fraunces,serif;color:var(--bronze);font-size:25px}.hero-scroll{display:flex;gap:12px;align-items:center;color:#9da6b3;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;margin-top:6px}.scroll-line{height:1px;width:46px;background:var(--bronze)}.quick-strip{background:var(--ink);color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-grid>a{display:flex;align-items:center;gap:15px;padding:22px 24px;border-right:1px solid rgba(255,255,255,.13);transition:background .2s ease}.quick-grid>a:first-child{padding-left:0}.quick-grid>a:last-child{border-right:0}.quick-grid>a:hover{background:rgba(255,255,255,.06)}.quick-icon{width:36px;height:36px;border:1px solid rgba(213,174,105,.55);border-radius:50%;display:grid;place-items:center;color:var(--bronze-light);font-size:16px}.quick-grid small{display:block;color:#9daabd;font-size:9px;font-weight:800;letter-spacing:1.2px}.quick-grid strong{display:block;font-size:12px;margin-top:5px}.quick-arrow{margin-left:auto;color:var(--bronze-light);font-size:18px}.section{padding:120px 0}.split-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px;align-items:center}.section-intro p{font-size:14px;color:var(--muted);line-height:1.9;max-width:410px;margin:26px 0 30px}.section h2{font-size:clamp(42px,5vw,64px);margin:20px 0}.value-panel{background:var(--mist);padding:26px 30px 20px;border-radius:var(--radius);position:relative;overflow:hidden}.value-panel:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(169,120,42,.18);right:-120px;bottom:-150px}.panel-header,.form-heading{display:flex;justify-content:space-between;align-items:center;color:var(--bronze);font-size:10px;font-weight:800;letter-spacing:1.4px}.panel-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bronze-light);font-family:Fraunces,serif;font-size:18px}.value-list{margin-top:30px}.value-list article{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:19px 0;border-top:1px solid #d8dde5}.value-list article>span{font-size:10px;color:var(--bronze);font-weight:800}.value-list h3{margin:0 0 5px;font-size:17px}.value-list p{margin:0;font-size:11px;color:var(--muted)}.panel-footer{border-top:1px solid #d8dde5;margin-top:19px;padding-top:18px;color:var(--muted);font-size:10px}.footer-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#43ad82;margin-right:5px}.section-tinted{background:var(--mist)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.section-heading h2{margin-bottom:0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{background:#fff;border-radius:18px;padding:12px;border:1px solid #e2e6ec;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.news-image{height:150px;border-radius:12px;display:flex;align-items:flex-end;padding:16px;position:relative;overflow:hidden}.news-image:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.4);border-radius:50%;right:-34px;top:-35px}.news-image.blue{background:#7c9df3}.news-image.gold{background:#c2914f}.news-image.green{background:#70a893}.news-icon-big{font-family:Fraunces,serif;color:rgba(255,255,255,.9);font-size:60px;line-height:1;position:relative;z-index:1}.news-date-badge{position:absolute;right:11px;bottom:11px;color:#fff;font-size:9px;font-weight:800;letter-spacing:1px;z-index:1}.news-content{padding:17px 8px 10px}.news-meta{display:flex;justify-content:space-between;font-size:9px;font-weight:800;color:var(--bronze);letter-spacing:1px}.news-content h3{font-size:17px;line-height:1.25;margin:12px 0 8px}.news-content p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.news-read{display:inline-flex;margin-top:16px;font-size:10px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--bronze);padding-bottom:4px}.week-label{color:var(--muted);font-size:11px;padding-bottom:11px;border-bottom:1px solid var(--bronze)}.schedule-layout{display:grid;grid-template-columns:210px 1fr;gap:30px}.day-tabs{display:flex;flex-direction:column;gap:8px}.day-tab{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 17px;cursor:pointer;transition:.2s ease;text-align:left}.day-tab:hover,.day-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.day-tab small{font-size:10px;color:var(--muted)}.day-tab.active small{color:#aab6ca}.day-tab strong{font-size:15px}.schedule-board{background:#fff;border-radius:18px;border:1px solid var(--line);padding:22px 28px;min-height:292px}.schedule-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:6px}.schedule-title h3{margin:0;font-size:18px}.schedule-title span{color:var(--muted);font-size:10px}.lesson{display:grid;grid-template-columns:70px 8px 1fr auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #edf0f3}.lesson:last-child{border-bottom:0}.lesson-time{font-size:12px;font-weight:800;color:var(--ink)}.lesson-dot{width:7px;height:7px;border-radius:50%;background:var(--bronze)}.lesson-name{font-size:13px;font-weight:800}.lesson-room{font-size:10px;color:var(--muted);margin-top:4px}.lesson-tag{font-size:9px;color:#328a68;background:#e4f3ec;padding:5px 8px;border-radius:20px;font-weight:800}.section-dark{background:var(--ink);color:#fff}.card-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:85px;align-items:start}.eyebrow-light{color:var(--bronze-light)}.card-copy h2{color:#fff}.card-copy p{color:#aab6ca;max-width:420px;font-size:14px;line-height:1.9;margin:25px 0}.card-benefits{display:flex;flex-wrap:wrap;gap:12px;color:#d7deea;font-size:10px}.card-builder{background:#223454;border:1px solid rgba(213,174,105,.25);padding:25px;border-radius:18px}.form-heading{color:var(--bronze-light)}.form-step{color:#aab6ca}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}form label{display:block;color:#d4dbea;font-size:10px;font-weight:800;margin-top:19px}form input{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;border-radius:8px;padding:12px 13px;margin-top:8px;outline:0;font-size:12px}form input[type=file]{padding:9px;font-size:10px;cursor:pointer}form input:focus{border-color:var(--bronze-light);box-shadow:0 0 0 3px rgba(213,174,105,.12)}.student-card{margin-top:32px;border-radius:16px;background:linear-gradient(130deg,#394966,#1d2d48);min-height:226px;padding:20px;position:relative;overflow:hidden}.student-card:before{content:"";position:absolute;width:255px;height:255px;right:-34px;top:-12px;background:url("/assets/logo-ecole.png") center/contain no-repeat;opacity:.13;filter:grayscale(1) brightness(1.8);mix-blend-mode:screen;pointer-events:none}.student-card:after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(213,174,105,.25);border-radius:50%;right:-110px;bottom:-130px}.student-card-top,.student-card-main,.student-card-bottom{position:relative;z-index:1}.student-card-top,.student-card-bottom{display:flex;justify-content:space-between;align-items:flex-start}.student-card-top>span{font-size:9px;color:var(--bronze-light);font-weight:800}.student-card-brand{display:flex;align-items:center;gap:9px}.student-card-brand img{width:33px;height:33px;background:#fff;border-radius:9px;object-fit:contain}.student-card-brand small,.student-card-brand strong{display:block}.student-card-brand small{font-size:7px;color:#b6c2d7;letter-spacing:1px}.student-card-brand strong{font-size:12px;color:#fff;letter-spacing:1px}.student-card-main{display:flex;align-items:center;gap:14px;margin-top:27px}.student-avatar{width:60px;height:60px;display:grid;place-items:center;background:var(--bronze);color:var(--ink);font-weight:800;border-radius:18px;font-size:18px;overflow:hidden;position:relative}.student-avatar img{display:none;width:100%;height:100%;object-fit:cover}.student-avatar.has-photo img{display:block}.student-avatar.has-photo #student-initials{display:none}.student-card h3{margin:0;color:#fff;font-size:19px}.student-card-main p{color:#d8deea;font-size:12px;font-weight:700;margin:5px 0 8px}.student-card-main small{font-size:9px;color:#aebbd0}.student-card-bottom{align-items:flex-end;margin-top:25px}.student-card-bottom>strong{font-size:9px;letter-spacing:1.8px;color:var(--bronze-light)}.fake-qr{background:#fff;color:var(--ink);width:40px;height:40px;display:block;padding:3px;border-radius:6px;overflow:hidden}.fake-qr img,.fake-qr canvas{display:block;width:100%!important;height:100%!important}.card-actions{display:flex;align-items:center;gap:18px;margin-top:14px}.download-link{background:none;color:#d8deea;border:0;border-bottom:1px solid var(--bronze);padding:0 0 4px;font-size:10px;cursor:pointer}.contact-band{padding:90px 0;background:#f1eee8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end}.contact-band h2{font-size:clamp(40px,4.7vw,62px);margin-bottom:0}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-left:1px solid var(--bronze);padding-left:30px;font-size:12px;line-height:1.8;color:var(--muted)}.contact-details p{margin:0}.contact-details a{color:var(--ink);font-weight:700}.site-footer{background:var(--ink);color:#fff}.footer-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand .brand-mark{width:35px;height:35px}.footer-brand .brand-copy small{font-size:7px}.footer-brand .brand-copy strong{font-size:11px}.footer-inner p,.footer-inner>a{font-size:10px;color:#aab6ca}.footer-inner>a{border-bottom:1px solid var(--bronze-light);padding-bottom:3px}.toast{position:fixed;right:24px;bottom:24px;z-index:60;background:var(--ink);color:#fff;padding:14px 18px;border-radius:10px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:translateY(0)}.reveal{animation:rise .7s both}.reveal-delay{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:900px){.shell{width:min(100% - 40px,680px)}.desktop-nav{gap:15px}.hero-grid,.split-section,.card-layout{grid-template-columns:1fr;gap:45px}.hero{padding-top:55px}.hero-visual{height:380px;order:-1}.hero-copy{max-width:620px}.hero h1{font-size:clamp(46px,12vw,70px)}.hero-proof{margin-top:35px}.split-section{gap:30px}.section{padding:80px 0}.card-layout{gap:35px}.schedule-layout{grid-template-columns:1fr}.day-tabs{flex-direction:row;overflow-x:auto}.day-tab{min-width:140px}.contact-grid{gap:35px}.news-grid{grid-template-columns:1fr 1fr}.quick-grid>a{padding-inline:14px}.quick-grid>a:first-child{padding-left:0}}@media(max-width:620px){.shell{width:calc(100% - 32px)}.header-inner{height:70px}.desktop-nav{display:none}.menu-toggle{display:flex;border:0;background:transparent;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{width:24px;height:2px;background:var(--ink);display:block}.mobile-nav{display:none;flex-direction:column;background:var(--ivory);border-top:1px solid var(--line);padding:8px 16px}.mobile-nav.open{display:flex}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:800}.hero{min-height:0;padding:50px 0 25px}.hero-visual{height:275px}.seal-frame{width:245px}.orbit-one{width:310px;height:180px}.orbit-two{width:240px;height:310px}.note-top{right:-2%;top:14px}.note-bottom{left:-2%;bottom:7px}.floating-note{padding:9px 11px}.floating-note strong{font-size:9px}.floating-note small{font-size:8px}.note-number{font-size:20px}.hero h1{letter-spacing:-2px}.hero-lead{font-size:13px;line-height:1.75}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.quick-grid{grid-template-columns:1fr}.quick-grid>a,.quick-grid>a:first-child{padding:17px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.quick-grid>a:last-child{border-bottom:0}.section{padding:68px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section h2{font-size:44px;letter-spacing:-2px}.news-grid{grid-template-columns:1fr}.news-image{height:130px}.week-label{font-size:9px}.schedule-board{padding:16px}.lesson{grid-template-columns:52px 8px 1fr;gap:10px}.lesson-tag{display:none}.form-row{grid-template-columns:1fr;gap:0}.card-builder{padding:18px}.contact-grid{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr;border-left:0;border-top:1px solid var(--bronze);padding-left:0;padding-top:22px}.footer-inner{padding:22px 0;align-items:flex-start;flex-direction:column}.footer-inner p{order:3;margin:0}.footer-inner>a{align-self:flex-start}.card-actions{align-items:flex-start;flex-direction:column}.site-footer{padding-bottom:16px}}
@media print{body{background:#fff}.site-header,main>section:not(#carte),.site-footer,.card-copy,.card-builder form,.card-actions,.toast{display:none!important}.section-dark{display:block!important;background:#fff!important;padding:0!important}.card-layout{display:block}.student-card{width:500px;margin:0 auto;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.card-builder{border:0;padding:0;background:#fff}.card-builder .student-card{min-height:280px}.card-builder .student-card:after{display:block}}

.section-subtitle{color:var(--muted);font-size:13px;line-height:1.7;max-width:530px;margin:16px 0 0}.registry-kpi{display:flex;align-items:baseline;gap:10px;color:var(--muted);padding-bottom:11px;border-bottom:1px solid var(--bronze)}.registry-kpi strong{font-family:Fraunces,serif;color:var(--bronze);font-size:48px;font-weight:500}.registry-kpi span{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.registry-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px}.registry-panel{background:#fff;border:1px solid #e2e6ec;border-radius:18px;padding:24px}.registry-panel .form-heading{color:var(--bronze)}.registry-panel form label{color:var(--ink)}.registry-panel form input,.registry-panel form select{border:1px solid var(--line);background:#fbfcfd;color:var(--ink)}.registry-panel form input::placeholder{color:#aeb6c2}.registry-panel form input:focus,.registry-panel form select:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(169,120,42,.12)}.registry-panel form select{width:100%;border-radius:8px;padding:12px 13px;margin-top:8px;outline:0;font-size:12px}.privacy-note{color:var(--muted);font-size:10px;line-height:1.7;margin:18px 0 0}.registry-toolbar{display:grid;grid-template-columns:180px 1fr auto;gap:8px}.registry-toolbar select,.registry-toolbar input{border:1px solid var(--line);background:#fbfcfd;color:var(--ink);border-radius:8px;padding:11px 12px;outline:0;font-size:11px;min-width:0}.registry-toolbar input:focus,.registry-toolbar select:focus{border-color:var(--bronze)}.clear-roster{border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--muted);padding:0 12px;font-size:10px;font-weight:800;cursor:pointer}.clear-roster:hover{color:#a43f3f;border-color:#e2bcbc}.roster-summary{padding:19px 0 12px;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line)}.roster-summary strong{color:var(--ink);font-size:13px}.roster-list{max-height:360px;overflow:auto}.roster-item{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f3}.roster-item:last-child{border-bottom:0}.roster-avatar{width:40px;height:40px;border-radius:13px;background:#f1e4cf;color:var(--bronze);display:grid;place-items:center;font-size:12px;font-weight:900}.roster-info strong,.roster-info span,.roster-info small{display:block}.roster-info strong{font-size:12px}.roster-info span{font-size:10px;color:var(--bronze);font-weight:800;margin-top:3px}.roster-info small{font-size:9px;color:var(--muted);margin-top:4px}.roster-actions{display:flex;align-items:center;gap:8px}.prepare-card{border:0;background:var(--ink);color:#fff;border-radius:7px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.prepare-card:hover{background:var(--bronze)}.delete-student{width:25px;height:25px;border:1px solid var(--line);background:#fff;border-radius:50%;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.delete-student:hover{color:#a43f3f;border-color:#e2bcbc}.empty-roster{text-align:center;padding:50px 20px;color:var(--muted)}.empty-roster>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;border:1px dashed var(--bronze);color:var(--bronze);font-size:20px}.empty-roster strong{display:block;color:var(--ink);font-size:12px}.empty-roster p{font-size:10px;margin:7px 0 0}@media(max-width:900px){.registry-layout{grid-template-columns:1fr}.registry-list-panel{min-height:300px}}@media(max-width:620px){.registry-kpi{align-self:flex-start}.registry-toolbar{grid-template-columns:1fr 1fr}.registry-toolbar select{grid-column:1 / -1}.clear-roster{padding:11px 12px}.roster-item{grid-template-columns:40px 1fr}.roster-actions{grid-column:2;justify-content:flex-start}.roster-list{max-height:none}}

.fiche-section{background:#fbfaf7}.fiche-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.fiche-panel{background:#fff;border:1px solid #e2e6ec;border-radius:18px;padding:25px}.fiche-form-panel form label{color:var(--ink)}.fiche-form-panel form input,.fiche-form-panel form select,.fiche-form-panel form textarea{border:1px solid var(--line);background:#fbfcfd;color:var(--ink)}.fiche-form-panel form textarea{width:100%;border-radius:8px;padding:12px 13px;margin-top:8px;outline:0;font-size:12px;resize:vertical}.fiche-form-panel form input:focus,.fiche-form-panel form select:focus,.fiche-form-panel form textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(169,120,42,.12)}.documents-box{border:1px solid #eadfcf;background:#fcf8f0;border-radius:10px;padding:14px;margin-top:19px}.documents-box>strong{display:block;color:var(--bronze);font-size:11px;margin-bottom:8px}.check-line{display:flex!important;align-items:center;gap:8px;margin:8px 0!important;color:var(--ink)!important;font-size:11px!important;font-weight:500!important}.check-line input{width:15px!important;height:15px;margin:0!important;accent-color:var(--bronze)}.fiche-actions{display:flex;gap:10px;margin-top:20px}.fiche-actions .button{flex:1}.fiche-actions .button-light{background:var(--ink);color:#fff}.fiche-side{display:flex;flex-direction:column;gap:18px}.fiche-summary{background:var(--ink);border-radius:18px;padding:25px;color:#fff}.fiche-summary .panel-header{color:var(--bronze-light)}.summary-school{display:flex;align-items:center;gap:12px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14)}.summary-school img{width:48px;height:48px;background:#fff;border-radius:50%;object-fit:contain}.summary-school strong,.summary-school small{display:block}.summary-school strong{font-size:10px;letter-spacing:.7px}.summary-school small{font-size:9px;color:#aab6ca;margin-top:4px}.summary-line{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:11px;color:#aab6ca}.summary-line strong{color:#fff}.summary-fee{padding-top:18px}.summary-fee small,.summary-fee span{display:block;color:#aab6ca;font-size:10px}.summary-fee strong{display:block;color:var(--bronze-light);font-family:Fraunces,serif;font-size:30px;font-weight:500;margin:3px 0}.contact-card{background:#f1eee8;border-radius:18px;padding:22px;color:var(--ink)}.contact-card p{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 0}.fee-schedule{margin-top:45px;background:#fff;border:1px solid #e2e6ec;border-radius:18px;padding:25px}.compact-heading{margin-bottom:22px}.compact-heading h3{font-size:25px;margin:12px 0 0}.fee-note{font-size:10px;color:var(--bronze);font-weight:800;padding-bottom:10px;border-bottom:1px solid var(--bronze)}.table-scroll{overflow-x:auto}.fee-schedule table{width:100%;border-collapse:collapse;min-width:760px;font-size:10px}.fee-schedule th{background:var(--ink);color:#fff;text-align:left;padding:11px 10px;font-size:9px;letter-spacing:.3px}.fee-schedule td{padding:10px;border-bottom:1px solid #e5e9ee;color:var(--muted);white-space:nowrap}.fee-schedule td:first-child{font-weight:800;color:var(--ink)}.fee-schedule tr:nth-child(even) td{background:#fbfcfd}@media(max-width:900px){.fiche-grid{grid-template-columns:1fr}.fiche-side{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:620px){.fiche-side{display:flex}.fiche-actions{flex-direction:column}.compact-heading{display:block}.fee-note{display:inline-block;margin-top:15px}.fiche-panel,.fee-schedule{padding:18px}}

.inscription-section{background:var(--ink);color:#fff}.light-heading{color:#fff!important}.dark-subtitle{color:#aab6ca!important}.inscription-badge{align-self:flex-end;border-bottom:1px solid var(--bronze-light);padding-bottom:10px;color:#aab6ca;font-size:10px;text-align:right}.inscription-badge span,.inscription-badge strong{display:block}.inscription-badge strong{color:var(--bronze-light);font-size:22px;font-family:Fraunces,serif;font-weight:500;margin-top:4px}.inscription-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.inscription-panel{background:#223454;border:1px solid rgba(213,174,105,.25);border-radius:18px;padding:25px}.inscription-panel form label{color:#d4dbea}.inscription-panel form input,.inscription-panel form select{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff}.inscription-panel form input:focus,.inscription-panel form select:focus{border-color:var(--bronze-light);box-shadow:0 0 0 3px rgba(213,174,105,.12)}.inscription-panel form select option{color:var(--ink);background:#fff}.optional-label{color:#aab6ca;font-weight:400}.monthly-fee-box{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#15233b;border:1px solid rgba(213,174,105,.25);border-radius:10px;margin-top:19px;padding:14px}.monthly-fee-box span,.monthly-fee-box small{display:block;color:#aab6ca;font-size:10px}.monthly-fee-box span{width:100%;font-weight:800;letter-spacing:1px;text-transform:uppercase}.monthly-fee-box strong{color:var(--bronze-light);font-family:Fraunces,serif;font-size:32px;font-weight:500}.monthly-fee-box small{padding-bottom:5px}.dark-note{color:#aab6ca}.dark-note strong{color:#fff}.inscription-side{display:flex;flex-direction:column;gap:18px}.inscription-contact{background:#2c4266;border-radius:18px;padding:25px}.inscription-contact h3{font-size:32px;line-height:1.05;margin:22px 0;color:#fff}.inscription-contact h3 em{font-family:Fraunces,serif;color:var(--bronze-light);font-weight:500}.recipient{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding:16px 0}.recipient-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--bronze);color:#fff;font-weight:800}.recipient small,.recipient strong{display:block}.recipient small{font-size:9px;letter-spacing:1px;color:#aab6ca}.recipient strong{font-size:12px;color:#fff;margin-top:3px}.inscription-note{background:#f1eee8;color:var(--ink);border-radius:18px;padding:20px}.inscription-note strong{font-size:11px;color:var(--bronze)}.inscription-note p{font-size:11px;line-height:1.7;color:var(--muted);margin:9px 0 0}@media(max-width:900px){.inscription-layout{grid-template-columns:1fr}}@media(max-width:620px){.inscription-panel{padding:18px}.inscription-contact h3{font-size:28px}.inscription-badge{align-self:flex-start;text-align:left;margin-top:-22px;margin-bottom:15px}}

.staff-section{background:#fbfaf7}.staff-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.staff-portrait{height:520px;border-radius:22px;overflow:hidden;position:relative;background:#d9d9d9;box-shadow:var(--shadow)}.staff-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(21,35,59,.82));pointer-events:none}.staff-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(100%);display:block}.portrait-caption{position:absolute;z-index:1;left:25px;bottom:24px;color:#fff;border-left:2px solid var(--bronze-light);padding-left:14px}.portrait-caption span,.portrait-caption strong{display:block}.portrait-caption span{font-size:9px;letter-spacing:1.6px;color:#d4dbea}.portrait-caption strong{font-size:15px;letter-spacing:1.2px;margin-top:4px}.staff-copy h2{font-size:clamp(42px,5vw,64px);margin:20px 0}.staff-profile{display:grid;grid-template-columns:42px 1fr;gap:16px;margin-top:34px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.staff-index{font-family:Fraunces,serif;color:var(--bronze);font-size:25px}.staff-profile h3{font-size:25px;line-height:1.1;margin:0;color:var(--ink)}.staff-role{display:inline-block;color:var(--bronze);font-size:11px;letter-spacing:1px;font-weight:800;text-transform:uppercase;margin-top:8px}.staff-profile p{color:var(--muted);font-size:11px;line-height:1.7;margin:12px 0 16px}.staff-email{display:inline-flex;gap:9px;align-items:center;color:var(--ink);font-size:11px;font-weight:800;border-bottom:1px solid var(--bronze);padding-bottom:5px}.staff-email span{color:var(--bronze)}@media(max-width:900px){.staff-layout{grid-template-columns:1fr;gap:35px}.staff-portrait{height:430px;max-width:520px}.staff-copy{max-width:620px}}

.directory-controls{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;min-width:330px}.directory-controls>div:first-child{text-align:right}.directory-label{display:block;color:var(--bronze);font-size:9px;font-weight:800;letter-spacing:1.3px}.directory-controls strong{display:block;font-size:11px;color:var(--ink);margin-top:5px}.directory-actions{display:flex;align-items:center;gap:12px}.directory-login,.directory-logout{font-size:10px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--bronze);padding-bottom:4px;white-space:nowrap}.directory-logout{display:none;color:var(--muted);border-color:var(--line)}.read-only-badge{font-size:9px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 8px;white-space:nowrap}@media(max-width:900px){.directory-controls{min-width:0;display:block;margin-top:20px}.directory-controls>div:first-child{text-align:left}.directory-actions{margin-top:12px}.directory-login,.directory-logout{display:inline-flex}}
.hero h1{font-size:clamp(40px,4.6vw,64px)}@media(max-width:900px){.hero h1{font-size:clamp(36px,10vw,58px)}}
