@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Caveat:wght@600;700&display=swap);:root{--bg-primary:#fce8ee;--bg-secondary:#fff;--bg-dark:#1a0a12;--accent-primary:#a4164a;--accent-primary-light:#c7205e;--accent-primary-dark:#7a0f36;--accent-secondary:#ff8c42;--text-primary:#2d1a22;--text-secondary:#6b4d58;--text-muted:#9a7585;--tape-color:rgba(255,243,210,.85);--tape-shadow:rgba(180,140,60,.25);--shadow-sm:0 2px 8px rgba(164,22,74,.08);--shadow-md:0 8px 30px rgba(164,22,74,.12);--shadow-lg:0 20px 60px rgba(164,22,74,.18);--shadow-card:4px 6px 20px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.08);--radius-sm:4px;--radius-md:12px;--radius-lg:24px;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-base:0.35s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.6s cubic-bezier(0.4,0,0.2,1);--rotation-slight:2deg;--rotation-neg:-2deg}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Montserrat,sans-serif;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:99px}h1,h2,h3,h4,h5,h6{color:var(--accent-primary);font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}h3{font-size:clamp(1.1rem,2.5vw,1.75rem)}p{color:var(--text-secondary)}.font-handwritten{font-family:Caveat,cursive;font-weight:700}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.reveal.reveal--left{transform:translateX(-40px) translateY(0)}.reveal.reveal--right{transform:translateX(40px) translateY(0)}.reveal.reveal--scale{transform:scale(.92)}.reveal.is-visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.uk-navbar-container{backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);background:rgba(252,232,238,.72)!important;border-bottom:1px solid rgba(164,22,74,.1);transition:background var(--transition-base),box-shadow var(--transition-base),padding var(--transition-base)}.uk-navbar-container.nav-scrolled{background:rgba(252,232,238,.95)!important;box-shadow:0 4px 24px rgba(164,22,74,.1);padding:4px 0!important}.uk-navbar-nav>li>a{color:var(--accent-primary);font-size:.82rem;font-weight:700;letter-spacing:.08em;padding:0 18px;position:relative;text-transform:uppercase;transition:color var(--transition-fast)}.uk-navbar-nav>li>a:after{background:var(--accent-primary);border-radius:2px;bottom:6px;content:"";height:2px;left:18px;position:absolute;right:18px;transform:scaleX(0);transform-origin:right center;transition:transform var(--transition-base)}.uk-navbar-nav>li.uk-active>a:after,.uk-navbar-nav>li>a:hover:after{transform:scaleX(1);transform-origin:left center}.uk-navbar-nav>li>a:hover{color:var(--accent-primary-dark)}.uk-navbar-dropdown{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:hsla(0,0%,100%,.96);border:1px solid rgba(164,22,74,.12);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;padding:12px 0}.uk-nav-navbar>li>a{color:var(--accent-primary);font-size:.9rem;font-weight:600;padding:10px 20px;transition:background var(--transition-fast),padding var(--transition-fast)}.uk-nav-navbar>li>a:hover{background:rgba(164,22,74,.06);padding-left:26px}.uk-button-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-light));border:none;border-radius:99px;box-shadow:0 4px 16px rgba(164,22,74,.35),0 1px 3px rgba(0,0,0,.1);color:#fff;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.06em;overflow:hidden;padding:14px 36px;position:relative;text-transform:uppercase;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.uk-button-primary:before{background:linear-gradient(135deg,var(--accent-primary-light),var(--accent-secondary));content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-fast)}.uk-button-primary:hover{box-shadow:0 8px 28px rgba(164,22,74,.42),0 2px 6px rgba(0,0,0,.12);color:#fff;transform:translateY(-2px)}.uk-button-primary:hover:before{opacity:1}.uk-button-primary span{position:relative;z-index:1}.uk-button-default{background:transparent;border:2px solid var(--accent-primary);border-radius:99px;color:var(--accent-primary);font-size:.85rem;font-weight:700;letter-spacing:.06em;padding:12px 32px;text-transform:uppercase;transition:all var(--transition-fast)}.uk-button-default:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px)}.polaroid{background:#fff;box-shadow:var(--shadow-card);padding:14px 14px 52px;position:relative;transform-origin:center bottom;transition:transform var(--transition-base),box-shadow var(--transition-base);will-change:transform}.polaroid:hover{box-shadow:0 24px 60px rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.1);transform:rotate(0deg) scale(1.03) translateY(-6px)!important;z-index:20}.polaroid img{display:block;width:100%}.polaroid:after{background:rgba(0,0,0,.06);bottom:20px;content:"";height:1px;left:14px;position:absolute;right:14px}.tape{background-color:var(--tape-color);border-left:1.5px dashed rgba(180,140,60,.2);border-right:1.5px dashed rgba(180,140,60,.2);box-shadow:0 1px 4px var(--tape-shadow);height:30px;opacity:.9;position:absolute;width:100px;z-index:20}.tape:after{background:linear-gradient(180deg,hsla(0,0%,100%,.45),hsla(0,0%,100%,0));content:"";inset:0;position:absolute}.tape-top-center{left:50%;top:-14px;transform:translateX(-50%) rotate(1deg)}.tape-corner-left{left:-16px;top:-8px;transform:rotate(-35deg)}.tape-corner-right{right:-16px;top:-8px;transform:rotate(35deg)}.sticky-note{background:#fffde7;border-radius:2px;box-shadow:3px 5px 14px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.06);color:var(--text-primary);padding:24px;position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base)}.sticky-note:before{background:linear-gradient(90deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.1));content:"";height:3px;left:0;position:absolute;right:0;top:0}.sticky-note:hover{box-shadow:6px 10px 28px rgba(0,0,0,.14);transform:rotate(0deg) translateY(-3px)!important}.sticky-note.pink{background:#fce4ec}.sticky-note.blue{background:#e3f2fd}.sticky-note.green{background:#e8f5e9}.rotate-1{transform:rotate(1deg)}.rotate-2{transform:rotate(2deg)}.rotate-3{transform:rotate(3deg)}.rotate-neg-1{transform:rotate(-1deg)}.rotate-neg-2{transform:rotate(-2deg)}.rotate-neg-3{transform:rotate(-3deg)}.uk-background-secondary{background-color:var(--accent-primary)!important}.uk-card-default{background:#fff;border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-primary)}.uk-accordion-title{font-size:.95rem!important;font-weight:700;letter-spacing:.01em}.header-section{background:var(--bg-primary);background-image:radial-gradient(ellipse at 80% 50%,rgba(255,140,66,.07) 0,transparent 60%),radial-gradient(ellipse at 10% 80%,rgba(164,22,74,.05) 0,transparent 50%);overflow:hidden;position:relative}.hero-badge{background:rgba(164,22,74,.08);border:1px solid rgba(164,22,74,.2);border-radius:99px;color:var(--accent-primary);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.1em;margin-bottom:20px;padding:6px 18px;text-transform:uppercase}.section-divider{overflow:hidden;position:relative}.section-divider:before{background:linear-gradient(90deg,transparent,rgba(164,22,74,.3),rgba(255,140,66,.4),rgba(164,22,74,.3),transparent);content:"";height:4px;left:0;position:absolute;right:0;top:-2px}.marquee-wrapper{background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-light));overflow:hidden;padding:22px 0;position:relative;width:100%;z-index:5}.marquee-wrapper:after,.marquee-wrapper:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:80px;z-index:2}.marquee-wrapper:before{background:linear-gradient(to right,var(--accent-primary),transparent);left:0}.marquee-wrapper:after{background:linear-gradient(to left,var(--accent-primary-light),transparent);right:0}.marquee-track{white-space:nowrap}.marquee-inner,.marquee-track{align-items:center;display:flex;gap:0}.marquee-inner{animation:marquee-scroll 22s linear infinite;flex-shrink:0}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-text{align-items:center;color:hsla(0,0%,100%,.95);display:inline-flex;font-family:Montserrat,sans-serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:900;gap:0;letter-spacing:.06em;padding:0 40px;text-transform:uppercase;white-space:nowrap}.marquee-text .dot{background:hsla(0,0%,100%,.5);border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin:0 20px;width:8px}.counter-section{overflow:hidden;position:relative}.counter-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;transition:transform var(--transition-base),background var(--transition-base)}.counter-card:hover{background:hsla(0,0%,100%,.18);transform:translateY(-6px)}.counter-number{color:#fff;display:block;font-family:Caveat,cursive;font-size:clamp(3rem,7vw,5rem);font-weight:700;line-height:1;margin-bottom:6px}.counter-label{color:hsla(0,0%,100%,.75);font-size:.78rem;font-weight:700;letter-spacing:.12em;margin:0;text-transform:uppercase}.uk-accordion{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.uk-accordion>li{background:#fff;border-bottom:1px solid rgba(164,22,74,.08);transition:background var(--transition-fast)}.uk-accordion>li:last-child{border-bottom:none}.uk-accordion>li.uk-open{background:rgba(164,22,74,.03)}.uk-accordion-title{margin:0;padding:18px 24px}.uk-accordion-content{margin:0;padding:0 24px 20px}.page-title-note{background:#fff;border-radius:2px;box-shadow:var(--shadow-card);display:inline-block;font-size:clamp(1.8rem,4vw,2.8rem);padding:16px 40px}.schedule-day-card{border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.schedule-day-card:hover{box-shadow:0 24px 60px rgba(0,0,0,.18)!important;transform:translateY(-8px) rotate(0deg)!important;z-index:10}.schedule-day-card .day-header{padding:16px 20px;position:relative;text-align:center}.schedule-day-card .class-list{list-style:none;margin:0;padding:8px 0}.schedule-day-card .class-list li{align-items:center;border-bottom:1px solid rgba(0,0,0,.05);color:var(--text-primary);display:flex;font-size:.88rem;font-weight:600;gap:12px;padding:10px 20px;transition:background var(--transition-fast)}.schedule-day-card .class-list li:last-child{border-bottom:none}.schedule-day-card .class-list li:hover{background:rgba(164,22,74,.04);padding-left:26px}.class-time{color:var(--accent-primary);flex-shrink:0;font-family:Caveat,cursive;font-size:1.1rem;font-weight:700;min-width:48px}.teacher-card{cursor:pointer;overflow:hidden;position:relative}.teacher-card .teacher-overlay{align-items:flex-end;background:linear-gradient(0deg,rgba(164,22,74,.88) 0,rgba(164,22,74,.4) 50%,transparent);border-radius:2px;display:flex;inset:0;opacity:0;padding:24px;position:absolute;transition:opacity var(--transition-base)}.teacher-card:hover .teacher-overlay{opacity:1}.teacher-card .teacher-overlay-text{align-items:center;color:#fff;display:flex;font-size:.82rem;font-weight:600;gap:8px;letter-spacing:.05em;text-transform:uppercase;transform:translateY(8px);transition:transform var(--transition-base)}.teacher-card:hover .teacher-overlay-text{transform:translateY(0)}.teacher-card .teacher-overlay-text:after{content:"→";font-size:1rem}.event-timeline{padding-left:0;position:relative}.event-timeline:before{background:linear-gradient(180deg,transparent,rgba(164,22,74,.25) 10%,rgba(164,22,74,.25) 90%,transparent);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}@media (max-width:640px){.event-timeline:before{left:24px}}.event-date-badge{align-items:center;border-radius:99px;box-shadow:0 4px 16px rgba(164,22,74,.35);color:#fff;display:inline-flex;font-size:.82rem;font-weight:700;gap:8px;letter-spacing:.06em;margin-bottom:12px;padding:8px 20px;text-transform:uppercase}.event-date-badge,.event-dot{background:var(--accent-primary)}.event-dot{border:3px solid var(--bg-primary);border-radius:50%;box-shadow:0 0 0 3px rgba(164,22,74,.2);height:16px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;z-index:2}@media (max-width:640px){.event-dot{left:24px}}.gallery-grid{column-count:3;column-gap:24px}@media (max-width:960px){.gallery-grid{column-count:2}}@media (max-width:640px){.gallery-grid{column-count:1}}.gallery-item{break-inside:avoid;margin-bottom:24px}.gallery-item .polaroid{cursor:pointer}.gallery-item .polaroid:hover img{filter:brightness(1.05) saturate(1.1)}.gallery-item img{transition:filter var(--transition-base)}.room-card{background:#fff;border:2px solid rgba(164,22,74,.08);border-radius:var(--radius-md);overflow:hidden;padding:24px;position:relative;text-align:center;transition:border-color var(--transition-fast),transform var(--transition-base),box-shadow var(--transition-base)}.room-card:before{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.room-card:hover:before{transform:scaleX(1)}.room-card:hover{border-color:rgba(164,22,74,.2);box-shadow:var(--shadow-md);transform:translateY(-4px)}.room-number{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-primary-light));border-radius:50%;color:#fff;display:inline-flex;font-size:.85rem;font-weight:800;height:36px;justify-content:center;margin-bottom:12px;width:36px}.parascolaire-card{border-radius:var(--radius-md);overflow:hidden;padding:28px;position:relative;text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.parascolaire-card:hover{box-shadow:0 16px 48px rgba(0,0,0,.15)!important;transform:rotate(0deg) translateY(-4px)!important}footer{position:relative}footer:before{background:linear-gradient(90deg,transparent,rgba(164,22,74,.25),transparent);content:"";height:1px;left:0;position:absolute;right:0;top:-1px}.social-link{align-items:center;background:rgba(164,22,74,.08);border:1px solid rgba(164,22,74,.15);border-radius:50%;color:var(--accent-primary)!important;display:inline-flex;height:44px;justify-content:center;margin:0 6px;text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:44px}.social-link:hover{background:var(--accent-primary);box-shadow:0 6px 20px rgba(164,22,74,.35);color:#fff!important;transform:translateY(-3px)}.quote-block{background:#fff;border-left:4px solid var(--accent-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-sm);padding:20px 24px;transition:box-shadow var(--transition-base)}.quote-block:hover{box-shadow:var(--shadow-md)}.section-chip{background:rgba(164,22,74,.08);border:1px solid rgba(164,22,74,.18);border-radius:99px;color:var(--accent-primary);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:12px;padding:4px 16px;text-transform:uppercase}@media (max-width:640px){.polaroid{padding:10px 10px 40px}.page-title-note{padding:12px 24px}}