@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Inter:wght@300;400;500;600&family=Space+Mono:wght@400;700&display=swap");*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#1a1a2e;--brand-ink:#1a1a2e;--sky:#2563eb;--gold:#f59e0b;--chalk:#f8f7f4;--mist:#e8eaf0;--green:#10b981;--coral:#ef4444;--text-sub:#6b7280;--card-bg:#fff;--bg-page:var(--chalk);--bg-surface:#fff;--bg-surface-2:var(--mist);--text-main:var(--ink);--text-muted:var(--text-sub);--border-soft:var(--mist);--font-scale:1}[data-theme=dark]{--bg-page:#11111d;--bg-surface:#1a1a2e;--bg-surface-2:#242438;--text-main:#f3f3f7;--text-muted:#a3a3b3;--border-soft:#33334a;--chalk:#11111d;--mist:#242438;--ink:#f3f3f7;--text-sub:#a3a3b3;--card-bg:#1a1a2e}[data-contrast=high]{--sky:#1d4ed8;--gold:#b45309;--text-sub:#000}[data-theme=dark][data-contrast=high]{--text-main:#fff;--text-muted:#fff;--bg-page:#000;--bg-surface:#000;--border-soft:#fff;--gold:#ffd166;--sky:#6ea8ff}html{font-size:calc(16px * var(--font-scale))}[data-reduce-motion=true] *{animation-duration:1ms!important;animation-delay:0s!important;transition-duration:1ms!important;scroll-behavior:auto!important}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--bg-page);color:var(--text-main);line-height:1.6;transition:background .3s ease,color .3s ease;overflow-x:hidden}a{color:inherit}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(26,26,46,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;padding:0 5%;height:64px}.nav,.navLogo{display:flex;align-items:center}.navLogo{font-family:Playfair Display,serif;font-size:1.3rem;color:#fff;gap:10px;text-decoration:none}.navDot{width:10px;height:10px;border-radius:50%;background:var(--gold);display:inline-block}.navLinks{display:flex;gap:22px;list-style:none;align-items:center}.navLinks a{text-decoration:none;font-size:.85rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:color .2s}.navLinks a.activeLink,.navLinks a:hover{color:var(--gold)}.navCta{background:var(--sky);padding:8px 18px;border-radius:6px;font-weight:600!important;color:#fff!important}.navToggle{display:none;background:none;border:none;font-size:1.5rem}.iconBtn,.navToggle{color:#fff;cursor:pointer}.iconBtn{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);width:36px;height:36px;border-radius:8px;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;flex-shrink:0}.iconBtn:hover{background:hsla(0,0%,100%,.18)}.iconBtn:active{transform:scale(.94)}.navMobileControls{display:none;align-items:center;gap:8px}@media (max-width:760px){.navLinks{display:none}.navToggle{display:block}.navMobileControls{display:flex}}.a11yFloatWrap{position:fixed;bottom:24px;right:24px;z-index:250;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.a11yFab{width:54px;height:54px;border-radius:50%;background:var(--sky);color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .15s,box-shadow .2s;flex-shrink:0}.a11yPanel{width:280px;max-height:min(560px,calc(100vh - 110px));max-height:min(560px,calc(100dvh - 110px));overflow-y:auto;background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-soft);border-radius:14px;padding:18px;box-shadow:0 16px 48px rgba(0,0,0,.3)}.a11yPanelFloating{order:-1}@media (max-width:480px){.a11yFloatWrap{bottom:16px;right:16px}.a11yPanel{width:calc(100vw - 32px)}}.a11yPanelHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.a11yPanelTitle{font-weight:700;font-size:.88rem}.a11yResetLink{background:none;border:none;color:var(--sky);font-size:.74rem;font-weight:600;cursor:pointer;padding:4px 0;text-decoration:underline;flex-shrink:0}.a11yRow{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:.84rem;border-top:1px solid var(--border-soft)}.a11yPanelHeader+.a11yRow{border-top:none}.a11yStepper{display:flex;align-items:center;gap:6px}.a11yStepperValue{font-size:.74rem;font-weight:600;color:var(--text-muted);min-width:36px;text-align:center}.a11yToggle{width:42px;height:24px;border-radius:100px;background:var(--bg-surface-2);border:1px solid var(--border-soft);position:relative;cursor:pointer;padding:0;transition:background .2s;flex-shrink:0}.a11yToggle.on{background:var(--sky);border-color:var(--sky)}.a11yToggleDot{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}.a11yToggle.on .a11yToggleDot{transform:translateX(18px)}.a11yReadPageBlock{display:flex;flex-direction:column;gap:8px}.a11yHint,.a11yReadPageBlock{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft)}.a11yHint{font-size:.72rem;color:var(--text-muted);line-height:1.5}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skipLink{position:absolute;top:-48px;left:12px;background:var(--sky);color:#fff;padding:12px 20px;border-radius:0 0 8px 8px;font-size:.88rem;font-weight:600;text-decoration:none;z-index:300;transition:top .2s}.skipLink:focus{top:0}[data-cursor-size=large],[data-cursor-size=large] a,[data-cursor-size=large] button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><path d="M4 2l14 7-6 2-2 6z" fill="black" stroke="white" stroke-width="1.2"/></svg>') 4 4,auto}[data-cursor-size=xlarge],[data-cursor-size=xlarge] a,[data-cursor-size=xlarge] button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24"><path d="M4 2l14 7-6 2-2 6z" fill="black" stroke="white" stroke-width="1.2"/></svg>') 6 6,auto}.downloads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:24px;gap:24px;margin-top:48px}.download-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:16px;padding:28px;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}.download-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,26,46,.1)}[data-theme=dark] .download-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.3)}.download-card-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}.download-card-icon{width:48px;height:48px;border-radius:12px;background:rgba(37,99,235,.1);color:var(--sky);display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=dark] .download-card-icon{background:rgba(96,165,250,.12);color:#60a5fa}.download-card-meta{display:flex;flex-direction:column;gap:4px}.download-category-tag{display:inline-block;font-family:Space Mono,monospace;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--sky);background:rgba(37,99,235,.08);padding:3px 10px;border-radius:100px;align-self:flex-start}[data-theme=dark] .download-category-tag{background:rgba(96,165,250,.1);color:#60a5fa}.download-file-info{font-size:.74rem;color:var(--text-muted)}.download-card-title{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--text-main);margin-bottom:8px;line-height:1.3}.download-card-desc{font-size:.84rem;color:var(--text-muted);line-height:1.6;margin-bottom:20px;flex:1 1}.download-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--border-soft)}.download-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sky);color:#fff;padding:10px 22px;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}.download-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.download-format-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--text-muted);padding:5px 12px;border-radius:100px;background:var(--bg-surface-2);border:1px solid var(--border-soft)}.download-help-section{margin-top:64px;background:var(--brand-ink);border-radius:20px;padding:48px;position:relative;overflow:hidden}.download-help-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 0),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 0);background-size:40px 40px}.download-help-content{position:relative;z-index:1;text-align:center;max-width:480px;margin:0 auto}.download-help-content h3{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:12px}.download-help-content p{font-size:.92rem;color:hsla(0,0%,100%,.6);margin-bottom:28px;line-height:1.6}@media (max-width:768px){.downloads-grid{grid-template-columns:1fr;margin-top:32px}.download-card{padding:20px}.download-help-section{padding:32px 24px;margin-top:40px}.download-help-content h3{font-size:1.3rem}}@media (max-width:480px){.download-card-footer{flex-direction:column;align-items:stretch}.download-btn,.download-format-badge{justify-content:center}}[data-screen-reader-mode=true] :focus{outline:3px solid var(--gold)!important;outline-offset:2px!important}[data-screen-reader-mode=true] .srDescribe{position:static;width:auto;height:auto;margin:4px 0 0;padding:0;overflow:visible;clip:auto;white-space:normal;font-size:.78rem;color:var(--text-muted);display:block}.mobileMenu{display:none;position:fixed;top:64px;left:0;right:0;background:rgba(26,26,46,.98);z-index:99;flex-direction:column;padding:16px 5% 24px}.mobileMenu.open{display:flex}.mobileMenu a{color:hsla(0,0%,100%,.8);text-decoration:none;padding:12px 0;font-size:.95rem;border-bottom:1px solid hsla(0,0%,100%,.08)}.pageHeader{background:var(--brand-ink);padding:140px 5% 64px;position:relative;overflow:hidden}.pageHeaderGrid{position:absolute;inset:0;background-image:linear-gradient(rgba(37,99,235,.07) 1px,transparent 0),linear-gradient(90deg,rgba(37,99,235,.07) 1px,transparent 0);background-size:60px 60px}.pageHeaderContent{position:relative;z-index:1;max-width:700px}.eyebrow{font-family:Space Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:12px}.pageHeader h1{font-family:Playfair Display,serif;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;color:#fff;line-height:1.1;margin-bottom:16px}.pageHeader p{color:hsla(0,0%,100%,.65);font-size:1.05rem;max-width:540px}.hero{min-height:100vh;min-height:100dvh;background:var(--brand-ink);display:flex;flex-direction:column;justify-content:center;padding:100px 5% 32px;position:relative;overflow:hidden}@supports not (min-height:100dvh){.hero{min-height:100vh}}.heroInner{position:relative;z-index:2;display:flex;flex-direction:column;gap:40px;max-width:1200px;width:100%}.heroMainRow{align-items:center;gap:48px}.heroBottomRow,.heroMainRow{display:flex;justify-content:space-between}.heroBottomRow{align-items:flex-end;gap:32px}.heroCarousel{position:absolute;inset:0;z-index:0;overflow:hidden}.heroCarouselSlide{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:0;transition:opacity 1.2s ease}.heroCarouselSlide.active{opacity:1}.heroOverlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(26,26,46,.95),rgba(26,26,46,.85) 40%,rgba(26,26,46,.55));z-index:1}.heroCarouselDots{position:absolute;left:5%;bottom:28px;z-index:2;display:flex;gap:10px}.heroCarouselDot{width:28px;height:4px;border-radius:100px;background:hsla(0,0%,100%,.3);border:none;cursor:pointer;padding:0;transition:background .3s}.heroCarouselDot.active{background:var(--gold)}.heroCarouselLabel{position:absolute;right:5%;bottom:28px;z-index:2;font-family:Space Mono,monospace;font-size:.74rem;color:hsla(0,0%,100%,.55);letter-spacing:.06em;text-transform:uppercase}@media (max-width:900px){.heroCarouselLabel{display:none}}.heroContent{position:relative;z-index:2;max-width:680px}.heroBadge{display:inline-flex;align-items:center;gap:8px;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);color:var(--gold);font-family:Space Mono,monospace;font-size:.72rem;padding:5px 12px;border-radius:100px;margin-bottom:20px;letter-spacing:.08em}.hero h1{font-family:Playfair Display,serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;color:#fff;line-height:1.15;margin-bottom:16px}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{font-size:1rem;color:hsla(0,0%,100%,.65);max-width:500px;margin-bottom:28px}.heroActions{display:flex;gap:16px;flex-wrap:wrap}.btnPrimary{background:var(--sky);color:#fff;padding:14px 32px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .2s,box-shadow .2s;border:none;cursor:pointer;display:inline-block}.btnPrimary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,99,235,.4)}.btnOutline{border:1px solid hsla(0,0%,100%,.3);color:#fff;padding:14px 32px;border-radius:8px;font-weight:500;font-size:.95rem;text-decoration:none;transition:border-color .2s,background .2s;display:inline-block;background:transparent;cursor:pointer}.btnOutline:hover{border-color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.05)}.heroStats{display:flex;flex-direction:column;gap:14px;flex-shrink:0;flex-wrap:wrap;min-width:200px}.statCard{position:relative;background:linear-gradient(160deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.04) 50%,hsla(0,0%,100%,.08));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid hsla(0,0%,100%,.18);border-radius:20px;padding:18px 24px;text-align:center;min-width:160px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 hsla(0,0%,100%,.3),inset 0 -1px 0 hsla(0,0%,100%,.1);transition:all .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.statCard:before{inset:-200%;background:linear-gradient(120deg,transparent 20%,hsla(0,0%,100%,.06) 30%,hsla(0,0%,100%,.15) 35%,hsla(0,0%,100%,.06) 40%,transparent 50%);animation:liquidShimmer 6s cubic-bezier(.4,0,.6,1) infinite;transform:translateX(-50%) translateY(-50%)}.statCard:after,.statCard:before{content:"";position:absolute;pointer-events:none;z-index:1}.statCard:after{top:0;left:0;right:0;height:55%;background:linear-gradient(180deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.03) 50%,transparent);border-radius:20px 20px 0 0}.statCard>*{position:relative;z-index:2}@keyframes liquidShimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(15deg)}25%{transform:translateX(0) translateY(0) rotate(15deg)}50%{transform:translateX(100%) translateY(100%) rotate(15deg)}75%{transform:translateX(200%) translateY(200%) rotate(15deg)}to{transform:translateX(300%) translateY(300%) rotate(15deg)}}.statCard:hover{background:linear-gradient(160deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 50%,hsla(0,0%,100%,.1));border-color:hsla(0,0%,100%,.3);transform:translateY(-4px) scale(1.02);box-shadow:0 16px 48px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.35),inset 0 -2px 0 hsla(0,0%,100%,.15)}.statCard:hover:before{animation-duration:3s}[data-theme=dark] .statCard{background:linear-gradient(160deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02) 50%,hsla(0,0%,100%,.04));border-color:hsla(0,0%,100%,.08);box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.15),inset 0 1px 0 hsla(0,0%,100%,.08),inset 0 -1px 0 rgba(0,0,0,.2)}[data-theme=dark] .statCard:before{background:linear-gradient(120deg,transparent 20%,hsla(0,0%,100%,.03) 30%,hsla(0,0%,100%,.08) 35%,hsla(0,0%,100%,.03) 40%,transparent 50%)}[data-theme=dark] .statCard:after{background:linear-gradient(180deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02) 50%,transparent)}[data-theme=dark] .statCard:hover{background:linear-gradient(160deg,hsla(0,0%,100%,.09),hsla(0,0%,100%,.03) 50%,hsla(0,0%,100%,.06));border-color:hsla(0,0%,100%,.15);box-shadow:0 16px 48px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.1)}.statNum{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px}.statLabel{font-family:Space Mono,monospace;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsla(0,0%,100%,.5)}.heroNextEvent{z-index:2;flex:1 1;max-width:680px;min-width:0}.heroNextEventCarousel{position:relative;overflow:hidden;border-radius:18px}.heroNextEventTrack{display:flex;transition:none}.heroNextEventCard{flex:0 0 100%;background:hsla(0,0%,100%,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.1);border-radius:18px;padding:22px 28px;display:flex;align-items:center;gap:22px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden;opacity:0;position:absolute;top:0;left:0;right:0;pointer-events:none;transform:translateX(20px);transition:opacity .4s ease,transform .4s ease}.heroNextEventCard.active{opacity:1;position:relative;pointer-events:auto;transform:translateX(0)}.heroNextEventCard:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}.heroNextEventCard:hover{box-shadow:0 20px 48px rgba(0,0,0,.35);border-color:rgba(245,158,11,.25)}.heroNextEventCard.active:hover,.heroNextEventCard:hover{transform:translateY(-4px)}.heroLiveBadge{position:absolute;top:-1px;right:24px;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px 5px 12px;border-radius:0 0 10px 10px;box-shadow:0 4px 12px rgba(239,68,68,.4)}.heroLiveDot{width:7px;height:7px;border-radius:50%;background:#fff;animation:livePulse 1.2s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.heroNextDate{flex-shrink:0;width:64px;text-align:center;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(245,158,11,.05));border:1px solid rgba(245,158,11,.2);border-radius:12px;padding:10px 6px;transition:all .3s ease}.heroNextDate.live{background:linear-gradient(135deg,rgba(239,68,68,.2),rgba(239,68,68,.05));border-color:rgba(239,68,68,.3)}.heroNextDateMonth{font-family:Space Mono,monospace;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:2px}.heroNextDate.live .heroNextDateMonth{color:#f87171}.heroNextDateDay{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700;color:#fff;line-height:1}.heroNextInfo{flex:1 1;min-width:0}.heroNextLabel{font-family:Space Mono,monospace;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:4px}.heroNextTitle{font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heroNextDesc{font-size:.82rem;color:hsla(0,0%,100%,.55);line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.heroNextMeta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.heroNextMetaItem{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:hsla(0,0%,100%,.5);white-space:nowrap}.heroNextLink,.heroNextMetaItem svg{color:var(--gold);flex-shrink:0}.heroNextLink{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;text-decoration:none;padding:10px 18px;border-radius:10px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.15);transition:all .25s ease;white-space:nowrap}.heroNextLink:hover{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.35);transform:translateX(2px)}.heroNextLinkArrow{transition:transform .25s ease}.heroNextLink:hover .heroNextLinkArrow{transform:translateX(3px)}.heroNextArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease,background .2s,transform .2s}.heroNextEventCarousel:hover .heroNextArrow{opacity:1}.heroNextArrow:hover{background:hsla(0,0%,100%,.2);border-color:var(--gold);transform:translateY(-50%) scale(1.1)}.heroNextArrowPrev{left:12px}.heroNextArrowNext{right:12px}.heroNextDots{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0 4px}.heroNextDot{width:8px;height:8px;border-radius:50%;border:none;background:hsla(0,0%,100%,.25);cursor:pointer;padding:0;transition:all .3s ease}.heroNextDot.active{background:var(--gold);width:24px;border-radius:4px}.heroNextDot:hover{background:hsla(0,0%,100%,.5)}@media (max-width:1024px){.heroMainRow{flex-direction:column;align-items:stretch;gap:32px}.heroStats{justify-content:center}.heroBottomRow{flex-direction:column;align-items:stretch;gap:24px}.heroNextEvent{max-width:100%}.heroStats{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;width:100%}.statCard{flex:1 1;min-width:120px;padding:16px 20px}.statNum{font-size:1.8rem}}@media (max-width:768px){.heroInner{gap:28px}.heroNextEventCard{flex-wrap:wrap;padding:18px 20px;gap:16px}.heroNextInfo{flex:1 1 100%;order:3}.heroNextTitle{white-space:normal}.heroNextLink{order:4;width:100%;justify-content:center}.heroNextArrow{opacity:1;width:32px;height:32px}.heroNextArrowPrev{left:8px}.heroNextArrowNext{right:8px}}@media (max-width:480px){.heroNextEventCard{padding:14px 16px;border-radius:14px}.heroNextDate{width:50px;padding:8px 4px}.heroNextDateDay{font-size:1.2rem}.heroNextTitle{font-size:.9rem}.heroNextDesc{font-size:.76rem;-webkit-line-clamp:1}.heroLiveBadge{right:10px;font-size:.58rem;padding:3px 8px 3px 6px}.heroNextDots{padding:8px 0 2px;gap:6px}.heroNextDot{width:6px;height:6px}.heroNextDot.active{width:18px}}.section{padding:96px 5%}.sectionLabel{font-family:Space Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sky);margin-bottom:12px}.sectionTitle{font-family:Playfair Display,serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:var(--ink);line-height:1.2;max-width:560px}.sectionSub{color:var(--text-sub);font-size:1rem;max-width:520px;margin-top:14px}.aboutGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:80px;gap:80px;align-items:center;margin-top:60px}.aboutVisual{position:relative}.aboutImgPlaceholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#2563eb,#1a1a2e);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:6rem;position:relative;overflow:hidden}.aboutBadgeFloat{position:absolute;bottom:-20px;right:-20px;background:var(--gold);color:var(--brand-ink);padding:18px 24px;border-radius:12px;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700;box-shadow:0 8px 32px rgba(245,158,11,.3)}.aboutBadgeFloat span{display:block;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.aboutValues{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:36px}.valueItem{display:flex;gap:14px;align-items:flex-start}.valueIcon{width:44px;height:44px;border-radius:10px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.valueItem h4{font-size:.9rem;font-weight:600}.valueItem p{font-size:.82rem;color:var(--text-sub);margin-top:3px}@media (max-width:900px){.aboutGrid{grid-template-columns:1fr}}.coursesHeader{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;flex-wrap:wrap;gap:16px}.subjectTabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.tab{padding:8px 18px;border-radius:100px;font-size:.85rem;font-weight:500;cursor:pointer;border:1.5px solid var(--mist);background:var(--bg-surface);color:var(--text-sub);transition:all .2s}.tab.active,.tab:hover{background:var(--sky);border-color:var(--sky);color:#fff}.coursesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:24px;gap:24px}.courseCard{background:var(--bg-surface);border-radius:16px;overflow:hidden;border:1px solid var(--mist);transition:transform .25s,box-shadow .25s}.courseCard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,26,46,.12)}.courseThumb{height:160px;display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative}.difficulty{position:absolute;top:12px;right:12px;font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.06em}.diffBeginner{background:rgba(16,185,129,.15);color:var(--green)}.diffIntermediate{background:rgba(245,158,11,.15);color:#d97706}.diffAdvanced{background:rgba(239,68,68,.15);color:var(--coral)}.courseBody{padding:20px}.courseSubject{font-family:Space Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sky);margin-bottom:6px}.courseBody h3{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;margin-bottom:8px}.courseBody p{font-size:.84rem;color:var(--text-sub);line-height:1.5;margin-bottom:16px}.courseMeta{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--mist);font-size:.8rem;color:var(--text-sub)}.enrollBtn{background:var(--sky);color:#fff;border:none;cursor:pointer;padding:8px 18px;border-radius:6px;font-size:.82rem;font-weight:600;transition:background .2s}.enrollBtn:hover{background:#1d4ed8}.staffGroupPhoto{width:100%;max-height:900px;border-radius:18px;overflow:hidden;margin-bottom:56px}.staffGroupPhoto img{width:100%;height:100%;object-fit:cover;display:block}.teachersGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.teacherCard{justify-content:flex-start;border:1px solid var(--mist);transition:transform .2s,box-shadow .2s}.teacherCard:hover{box-shadow:0 12px 32px rgba(26,26,46,.1)}.teacherPhoto{width:100px;height:100px;border-radius:50%;margin:0 auto 16px;background-size:cover;background-position:50%;border:3px solid var(--mist)}.teacherBio{line-height:1.5}.galleryTabs{display:flex;gap:10px;margin-bottom:32px}.galleryTab{padding:9px 20px;border-radius:100px;font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid var(--mist);background:var(--bg-surface);color:var(--text-sub);transition:all .2s}.galleryTab.active{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.galleryGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,220px);grid-gap:14px;gap:14px}.galleryItem{border-radius:14px;overflow:hidden;position:relative;background-size:cover;background-position:50%;background-color:var(--mist)}.galleryItem.big{grid-column:span 2;grid-row:span 2}.galleryCaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);color:#fff;font-size:.82rem;font-weight:600}@media (max-width:900px){.galleryGrid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,180px)}.galleryItem.big{grid-column:span 2;grid-row:span 1}}@media (max-width:560px){.galleryGrid{grid-template-columns:1fr;grid-template-rows:none}.galleryItem.big{grid-column:span 1}.galleryItem{height:220px}}.eventsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-top:56px}.eventCard{background:var(--bg-surface);border-radius:14px;padding:28px;border:1px solid var(--mist);display:flex;gap:20px;align-items:flex-start;transition:transform .2s}.eventCard:hover{transform:translateY(-3px)}.eventDate{background:var(--brand-ink);color:#fff;border-radius:10px;padding:10px 14px;text-align:center;min-width:58px;flex-shrink:0}.eventDate .month{font-family:Space Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.eventDate .day{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;line-height:1}.eventInfo h4{font-weight:600;font-size:.95rem;margin-bottom:6px}.eventInfo p{font-size:.82rem;color:var(--text-sub);line-height:1.5}.eventTag{display:inline-block;margin-top:10px;font-size:.72rem;padding:3px 10px;border-radius:100px;background:var(--mist);color:var(--text-sub)}.contactDark{background:var(--brand-ink);color:#fff}.contactDark .sectionTitle{color:#fff}.contactDark .sectionSub{color:hsla(0,0%,100%,.55)}.contactGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px;margin-top:56px}.contactDetail{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}.contactIcon{width:44px;height:44px;background:hsla(0,0%,100%,.07);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.contactDetail h4{font-weight:600;font-size:.9rem;color:#fff}.contactDetail p{font-size:.85rem;color:hsla(0,0%,100%,.5);margin-top:2px}.contactForm{display:flex;flex-direction:column;gap:16px}.contactFormRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:560px){.contactFormRow{grid-template-columns:1fr}}.formError{font-size:.76rem;color:#f87171;margin-top:2px;font-weight:500}.formGroup{display:flex;flex-direction:column;gap:6px}.formGroup label{font-size:.82rem;color:hsla(0,0%,100%,.55);font-weight:500}.formGroup input,.formGroup select,.formGroup textarea{background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;padding:12px 16px;color:#fff;font-family:Inter,sans-serif;font-size:.9rem;outline:none;transition:border-color .2s}.formGroup input:focus,.formGroup select:focus,.formGroup textarea:focus{border-color:var(--sky)}.formGroup textarea{resize:vertical;min-height:100px;font-family:inherit}.formGroup select option{background:var(--brand-ink)}@media (max-width:900px){.contactGrid{grid-template-columns:1fr}}.footer{background:#0f0f1a;padding:60px 5% 32px;overflow:hidden}.footerGrid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.4fr;grid-gap:48px;gap:48px;margin-bottom:48px}.footerBrand p{font-size:.85rem;color:hsla(0,0%,100%,.4);margin-top:14px;line-height:1.6;max-width:260px}.footerCol h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:hsla(0,0%,100%,.35);margin-bottom:16px;font-family:Space Mono,monospace}.footerCol a{display:block;font-size:.87rem;color:hsla(0,0%,100%,.6);text-decoration:none;margin-bottom:10px;transition:color .2s}.footerCol a:hover{color:#fff}.footerContact{display:flex;align-items:flex-start;gap:8px;font-size:.83rem;color:hsla(0,0%,100%,.6);margin-bottom:12px;line-height:1.5}.footerContact svg{color:#60a5fa;margin-top:2px}.footerMapLink{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.78rem;font-weight:600;color:#60a5fa!important;text-decoration:none;border:1px solid rgba(96,165,250,.3);padding:6px 12px;border-radius:6px;transition:background .2s,border-color .2s}.footerMapLink:hover{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.6);color:#93c5fd!important}.footerBottom{border-top:1px solid hsla(0,0%,100%,.08);padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:hsla(0,0%,100%,.3);flex-wrap:wrap;gap:10px}@media (max-width:900px){.footerGrid{grid-template-columns:1fr 1fr}}@media (max-width:500px){.footerGrid{grid-template-columns:1fr}.footerContact span{word-break:break-word}}.announcement{background:#16a34a;color:#fff;text-align:center;padding:9px 5%;font-size:.82rem;font-weight:500;letter-spacing:.01em;position:fixed;top:0;left:0;right:0;z-index:1002;height:38px;display:flex;align-items:center;justify-content:center;gap:6px}.announcement a{color:#bbf7d0;text-decoration:none;font-weight:700;margin-left:4px}.announcement a:hover{text-decoration:underline}.loginWrap{min-height:100vh;min-height:100dvh;background:var(--brand-ink);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}.loginCard{background:var(--bg-surface);border-radius:20px;padding:48px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:0 30px 80px rgba(0,0,0,.4)}.loginLogo{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin-bottom:28px;text-decoration:none;color:var(--ink)}.loginCard h1,.loginLogo{font-family:Playfair Display,serif}.loginCard h1{font-size:1.7rem;font-weight:700;margin-bottom:8px}.loginCard .sub{color:var(--text-sub);font-size:.9rem;margin-bottom:28px}.loginForm{display:flex;flex-direction:column;gap:18px}.loginForm .formGroup label{color:var(--ink);font-size:.82rem;font-weight:500}.loginForm .formGroup input{background:var(--chalk);border:1.5px solid var(--mist);color:var(--ink)}.loginForm .formGroup input:focus{border-color:var(--sky)}.loginOptionsRow{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.loginOptionsRow label{display:flex;align-items:center;gap:6px;color:var(--text-sub)}.loginOptionsRow a{color:var(--sky);text-decoration:none;font-weight:500}.demoNotice{margin-top:24px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:12px 16px;font-size:.78rem;color:#92400e;line-height:1.5}.loginFooterLink{text-align:center;margin-top:24px;font-size:.85rem;color:var(--text-sub)}.loginFooterLink a{color:var(--sky);font-weight:500;text-decoration:none}.dashboardShell{display:flex;min-height:100vh;min-height:100dvh;background:var(--chalk)}.dashSidebar{width:240px;background:var(--brand-ink);flex-shrink:0;padding:28px 20px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh}.dashLogo{display:flex;align-items:center;gap:10px;font-family:Playfair Display,serif;font-size:1.1rem;color:#fff;text-decoration:none;margin-bottom:36px;padding:0 8px}.dashNav{gap:14px}.dashNav,.dashNavSection{display:flex;flex-direction:column}.dashNavSection{gap:6px}.dashNavSectionTitle{font-family:Space Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:hsla(0,0%,100%,.45);margin:10px 4px 2px}.dashNavLink{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;color:hsla(0,0%,100%,.6);text-decoration:none;font-size:.88rem;font-weight:500;transition:background .2s,color .2s}.dashNavLink:hover{background:hsla(0,0%,100%,.06);color:#fff}.dashNavLink.active{color:#fff}.dashSidebarFooter{margin-top:auto;padding:14px;background:hsla(0,0%,100%,.05);border-radius:12px}.dashUserRow{gap:10px}.dashAvatar,.dashUserRow{display:flex;align-items:center}.dashAvatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--gold));justify-content:center;font-weight:700;flex-shrink:0}.dashAvatar,.dashUserName{font-size:.85rem;color:#fff}.dashUserName{font-weight:600}.dashUserGrade{font-size:.72rem;color:hsla(0,0%,100%,.45)}.dashLogoutLink{display:block;margin-top:12px;font-size:.78rem;text-decoration:none}.dashLogoutLink:hover{color:#fff}.dashMain{flex:1 1;padding:36px 44px;max-width:1100px}.dashMobileTopbar{display:none;background:var(--brand-ink);padding:16px 20px;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:50}@media (max-width:880px){.dashSidebar{display:block;position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translateX(-100%);max-height:100vh;max-height:100dvh;width:240px}.dashSidebar.mobileOpen{transform:translateX(0)}.dashMobileTopbar{display:flex}.dashboardShell{flex-direction:column}.dashMain{padding:24px 20px}}.dashHeader{margin-bottom:32px}.dashHeader h1{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;margin-bottom:6px}.dashHeader p{color:var(--text-sub);font-size:.92rem}.dashStatsRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px;margin-bottom:36px}.dashStatCard{background:var(--bg-surface);border-radius:14px;padding:20px;border:1px solid var(--mist)}.dashStatCard .num{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:var(--ink)}.dashStatCard .label{font-size:.78rem;color:var(--text-sub);margin-top:4px}.assignmentList{display:flex;flex-direction:column;gap:14px}.assignmentCard{background:var(--bg-surface);border:1px solid var(--mist);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between}.assignmentLeft{display:flex;align-items:flex-start;gap:16px;flex:1 1;min-width:240px}.subjectDot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex-shrink:0}.assignmentTitle{font-weight:600;font-size:.96rem;margin-bottom:4px}.assignmentMeta{font-size:.8rem;color:var(--text-sub)}.assignmentDesc{font-size:.82rem;color:var(--text-sub);margin-top:6px;max-width:480px}.statusBadge{font-size:.74rem;font-weight:600;padding:5px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.statusNotStarted{background:hsla(220,9%,46%,.12);color:var(--text-sub)}.statusSubmitted{background:rgba(37,99,235,.12);color:var(--sky)}.statusLate{background:rgba(239,68,68,.12);color:var(--coral)}.statusGraded{background:rgba(16,185,129,.12);color:var(--green)}.assignmentActions{display:flex;align-items:center;gap:12px}.submitOverlay{position:fixed;inset:0;background:rgba(26,26,46,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.submitModal{background:var(--bg-surface);border-radius:18px;padding:32px;width:100%;max-width:520px;max-height:90vh;max-height:90dvh;overflow-y:auto}.submitModal h2{font-family:Playfair Display,serif;font-size:1.4rem;margin-bottom:6px}.submitModal .modalSub{color:var(--text-sub);font-size:.85rem;margin-bottom:24px}.submitForm{display:flex;flex-direction:column;gap:16px}.submitForm label{font-size:.82rem;font-weight:500;color:var(--ink);margin-bottom:6px;display:block}.submitForm textarea{background:var(--chalk);border:1.5px solid var(--mist);border-radius:10px;padding:12px 14px;min-height:120px;resize:vertical}.cmsInput,.submitForm textarea{width:100%;font-family:inherit;font-size:.9rem;outline:none}.cmsInput{background:var(--bg-page);border:1.5px solid var(--border-soft);color:#000;border-radius:10px;padding:11px 14px}.cmsInput,.cmsInput option{caret-color:#000}.cmsInput{color:#000!important;-webkit-text-fill-color:#000!important}.cmsInput::placeholder{color:#000!important;opacity:.6}.cmsInput option{background:var(--bg-surface);color:var(--text-main)}.cmsInput:disabled{opacity:.7;cursor:not-allowed}.cmsInput:focus,.submitForm textarea:focus{border-color:var(--sky)}.fileDropzone{border:1.5px dashed var(--mist);border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--chalk)}.fileDropzone:hover{border-color:var(--sky);background:rgba(37,99,235,.04)}.fileDropzone .fileName{margin-top:8px;font-size:.82rem;color:var(--sky);font-weight:500}.modalActions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btnGhost{background:transparent;border:1.5px solid var(--mist);color:var(--text-sub);padding:11px 22px;border-radius:8px;font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color .2s}.btnGhost:hover{border-color:var(--text-sub)}.successBanner{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#047857;padding:12px 16px;border-radius:10px;font-size:.85rem;font-weight:500;margin-bottom:20px}.gradesTable{width:100%;background:var(--bg-surface);border-radius:14px;overflow:hidden;border:1px solid var(--mist);border-collapse:collapse}.gradesTable th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-sub);padding:14px 20px;background:var(--chalk)}.gradesTable td,.gradesTable th{border-bottom:1px solid var(--mist)}.gradesTable td{padding:16px 20px;font-size:.9rem}.gradesTable tr:last-child td{border-bottom:none}.gradeSubjectCell{display:flex;align-items:center;gap:10px;font-weight:500}.gradeLetter{font-family:Playfair Display,serif;font-weight:700;font-size:1.05rem}.gradeBarTrack{width:100px;height:6px;background:var(--mist);border-radius:100px;overflow:hidden;display:inline-block;margin-right:10px;vertical-align:middle}.gradeBarFill{height:100%;border-radius:100px}.scheduleGrid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px;margin-top:8px}.scheduleDay{background:var(--bg-surface);border-radius:14px;border:1px solid var(--mist);padding:16px;display:flex;flex-direction:column;gap:10px}.scheduleDayLabel{font-family:Space Mono,monospace;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-sub);margin-bottom:4px}.scheduleSlot{border-radius:10px;padding:10px 12px;font-size:.78rem}.scheduleSlot .time{font-family:Space Mono,monospace;font-size:.68rem;opacity:.8;margin-bottom:2px}.scheduleSlot .subjectName{font-weight:600;margin-bottom:2px}.scheduleSlot .room{opacity:.75}@media (max-width:880px){.scheduleGrid{grid-template-columns:1fr}}.stateBox{background:var(--bg-surface);border:1px dashed var(--mist);border-radius:14px;padding:48px 24px;text-align:center;color:var(--text-sub)}.stateBox .icon{font-size:2rem;margin-bottom:12px}.errorBox{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.25);color:#991b1b;border-radius:12px;padding:20px;font-size:.88rem}.errorBox code{display:block;margin-top:8px;font-family:Space Mono,monospace;font-size:.78rem;background:rgba(0,0,0,.05);padding:8px 10px;border-radius:6px;overflow-x:auto}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fadeUp{animation:fadeUp .6s ease both}.delay1{animation-delay:.15s}.delay2{animation-delay:.3s}.delay3{animation-delay:.45s}.fileDownloadLink{display:inline-block;margin-top:8px;background:none;border:none;color:var(--sky);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.fileDownloadLink:disabled{opacity:.6;cursor:default}.fileHint{font-size:.74rem;color:var(--text-muted);margin-top:6px}.fileErrorText{font-size:.78rem;color:var(--coral);margin-top:6px;font-weight:500}.passwordInputWrap{position:relative;display:flex;align-items:center}.passwordInputWrap input{width:100%;padding-right:48px}.passwordToggleBtn{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1rem;padding:0;line-height:1;color:var(--text-muted)}.passwordToggleBtn:hover{opacity:.8}.a11yStepper button{background:var(--bg-surface-2);border:1px solid var(--border-soft);color:var(--text-main);border-radius:6px;font-size:.74rem;font-weight:600;padding:5px 8px;cursor:pointer;min-width:30px;display:flex;align-items:center;justify-content:center}.a11yStepper button:hover{border-color:var(--sky)}.a11yCycleBtn{background:var(--bg-surface-2);border:1px solid var(--border-soft);color:var(--text-main);border-radius:6px;font-size:.74rem;font-weight:600;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:4px}.a11yCycleBtn:hover{border-color:var(--sky)}.a11yReadPageBtn{background:var(--sky);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;padding:10px 14px;cursor:pointer;text-align:center;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px}.a11yReadPageBtn:hover{background:#1d4ed8}.a11yReadPageStop{background:var(--bg-surface-2);color:var(--text-main);border:1px solid var(--border-soft);border-radius:8px;font-size:.8rem;font-weight:600;padding:8px 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.a11yReadPageStop:hover{border-color:var(--coral);color:var(--coral)}.a11yFab:hover{transform:scale(1.06);box-shadow:0 10px 28px rgba(0,0,0,.38)}.a11yFab:active{transform:scale(.96)}.full-page-loader{position:fixed;inset:0;background:var(--bg-page);display:flex;align-items:center;justify-content:center;z-index:9999}.loader-content{display:flex;flex-direction:column;align-items:center;gap:12px}.loader-logo-wrapper{position:relative}.loader-logo{color:var(--sky);animation:bounce-icon 2s ease-in-out infinite}.loader-sparkle{position:absolute;top:-10px;right:-16px}.sparkle-icon{color:var(--gold);animation:spin-sparkle 3s linear infinite}.loader-brand{font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700;color:var(--text-main)}.loader-sub{font-size:.8rem;color:var(--text-muted)}.loader-tagline{font-size:.7rem;color:var(--text-muted);font-style:italic;margin-top:4px;opacity:.6}.loader-bar{width:200px;height:4px;background:var(--bg-surface-2);border-radius:100px;overflow:hidden;margin-top:8px}.loader-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--sky),var(--gold));border-radius:100px;animation:progress-animation 2s ease-in-out infinite}@keyframes progress-animation{0%{width:0}50%{width:70%}to{width:100%}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:calc(100vh - 200px);gap:24px}.loader-text{font-size:.9rem;color:var(--text-muted);animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.6}50%{opacity:1}}.school-loader{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.school-icon{color:var(--sky);z-index:2;animation:bounce-icon 2s ease-in-out infinite}@keyframes bounce-icon{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(-5deg)}}.school-pulse-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sky);opacity:0;animation:pulse-ring 2s ease-out infinite}.school-pulse-ring.delay-1{animation-delay:.5s}.school-pulse-ring.delay-2{animation-delay:1s}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.4);opacity:0}}.book-loader{display:flex;align-items:center;justify-content:center}.book-icon-wrapper{position:relative}.book-icon{color:var(--sky);animation:pulse-book 2s ease-in-out infinite}.book-sparkle{position:absolute;top:-8px;right:-12px}@keyframes pulse-book{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin-sparkle{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner-icon{animation:spin 1s linear infinite;color:var(--sky)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dots-loader{display:flex;gap:12px;padding:20px}.dot{width:14px;height:14px;border-radius:50%;background:var(--sky);animation:dot-bounce 1.4s ease-in-out infinite}.dot:first-child{animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}.dot:nth-child(4){animation-delay:.6s}.dot:nth-child(5){animation-delay:.8s}@keyframes dot-bounce{0%,80%,to{transform:scale(.4);opacity:.3}40%{transform:scale(1);opacity:1}}.skeleton-assignment{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:14px;padding:20px 24px;display:flex;gap:16px;align-items:flex-start}.skeleton-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-surface-2);margin-top:4px;flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-content{flex:1 1;display:flex;flex-direction:column;gap:10px}.skeleton-line{height:14px;border-radius:6px}.skeleton-button,.skeleton-line{background:var(--bg-surface-2);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-button{width:80px;height:36px;border-radius:8px;flex-shrink:0}.skeleton-grade{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:14px;padding:16px 20px;display:flex;gap:20px;align-items:center}.skeleton-bar{width:100px;height:8px;border-radius:100px;background:var(--bg-surface-2);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:14px;padding:20px;display:flex;gap:16px;align-items:flex-start}.skeleton-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-surface-2);flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.button-spinner{animation:spin .8s linear infinite}.transcript-loader{display:flex;align-items:center;gap:24px}.transcript-icon{color:var(--sky);animation:pulse-transcript 1.5s ease-in-out infinite}.transcript-pages{display:flex;flex-direction:column;gap:6px}.transcript-page{width:120px;height:8px;background:var(--bg-surface-2);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}.transcript-page:first-child{width:140px}.transcript-page:nth-child(2){width:100px}.transcript-page:nth-child(3){width:120px}@keyframes pulse-transcript{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:1}}.dashNavLink{color:hsla(0,0%,100%,.7);transition:color .2s,background .2s}.dashNavLink:hover{background:hsla(0,0%,100%,.08)}.dashNavLink.active{background:rgba(37,99,235,.25);border-left:3px solid var(--sky)}.dashLogoutLink{color:hsla(0,0%,100%,.5)}.navLinks a{color:hsla(0,0%,100%,.7)}.navLinks a.activeLink,.navLinks a:hover{color:#fff!important}.nav-spacer{height:118px}.nav-white{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;border-bottom:1px solid #e8eaf0;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.nav-white.nav-transparent{background:transparent;border-bottom:1px solid transparent;box-shadow:none}.nav-transparent .nav-link-item{color:hsla(0,0%,100%,.85)}.nav-transparent .nav-link-item:hover{color:#fff;background:hsla(0,0%,100%,.12)}.nav-transparent .nav-link-item.active{color:#fff;background:hsla(0,0%,100%,.15)}.nav-transparent .nav-theme-btn{color:hsla(0,0%,100%,.85)}.nav-transparent .nav-theme-btn:hover{background:hsla(0,0%,100%,.12)}.nav-transparent .nav-login-btn{color:hsla(0,0%,100%,.9);border-color:hsla(0,0%,100%,.35)}.nav-transparent .nav-login-btn:hover{background:hsla(0,0%,100%,.12);color:#fff}.nav-transparent .nav-mobile-toggle{color:#fff}[data-theme=dark] .nav-white{background:#1a1a2e;border-bottom:1px solid #2a2a42;box-shadow:0 2px 8px rgba(0,0,0,.3)}.nav-white-container{max-width:1280px;margin:0 auto;padding:0 24px;height:80px;justify-content:space-between;gap:20px}.nav-logo,.nav-white-container{display:flex;align-items:center}.nav-logo{gap:12px;text-decoration:none;flex-shrink:0}.nav-logo-image{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.nav-logo-image img{width:100%;height:100%;object-fit:contain}.nav-logo-text{display:flex;flex-direction:column;line-height:1.2}.nav-logo-title{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;color:#1a1a2e;letter-spacing:.5px}[data-theme=dark] .nav-logo-title{color:#fff}.nav-logo-sub{font-family:Inter,sans-serif;font-size:.55rem;font-weight:600;color:#2563eb;letter-spacing:1.2px;text-transform:uppercase}[data-theme=dark] .nav-logo-sub{color:#60a5fa}.nav-links-desktop{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}.nav-link-item{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:#4b5563;text-decoration:none;padding:8px 14px;border-radius:6px;transition:all .2s ease;position:relative}[data-theme=dark] .nav-link-item{color:#94a3b8}.nav-link-item:hover{color:#1a1a2e;background:#f1f5f9}[data-theme=dark] .nav-link-item:hover{color:#fff;background:#2a2a42}.nav-link-item.active{color:#2563eb;font-weight:600;background:#eff6ff}[data-theme=dark] .nav-link-item.active{color:#60a5fa;background:rgba(96,165,250,.1)}.nav-actions{gap:8px;flex-shrink:0}.nav-actions,.nav-theme-btn{display:flex;align-items:center}.nav-theme-btn{background:transparent;border:none;color:#4b5563;cursor:pointer;width:40px;height:40px;border-radius:50%;justify-content:center;transition:all .2s ease}[data-theme=dark] .nav-theme-btn{color:#94a3b8}.nav-theme-btn:hover{background:#f1f5f9}[data-theme=dark] .nav-theme-btn:hover{background:#2a2a42}.nav-login-btn{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:#4b5563;text-decoration:none;padding:8px 18px;border-radius:6px;border:1.5px solid #e5e7eb;transition:all .2s ease}[data-theme=dark] .nav-login-btn{color:#94a3b8;border-color:#334155}.nav-login-btn:hover{background:#f1f5f9;color:#1a1a2e}[data-theme=dark] .nav-login-btn:hover{background:#2a2a42;color:#fff}.nav-enroll-btn{font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:#fff;text-decoration:none;padding:8px 22px;border-radius:6px;background:#2563eb;transition:all .2s ease}.nav-enroll-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.3)}.nav-mobile-toggle{display:none;background:none;border:none;color:#1a1a2e;cursor:pointer;padding:4px}[data-theme=dark] .nav-mobile-toggle{color:#fff}.nav-mobile-menu{display:none;position:fixed;top:118px;left:0;right:0;bottom:0;background:#fff;padding:24px;overflow-y:auto;z-index:999}[data-theme=dark] .nav-mobile-menu{background:#1a1a2e}.nav-mobile-menu.open{display:block}.nav-mobile-links{display:flex;flex-direction:column;gap:4px}.nav-mobile-link{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:#4b5563;text-decoration:none;padding:12px 16px;border-radius:8px;transition:all .2s ease}[data-theme=dark] .nav-mobile-link{color:#94a3b8}.nav-mobile-link:hover{background:#f1f5f9;color:#1a1a2e}[data-theme=dark] .nav-mobile-link:hover{background:#2a2a42;color:#fff}.nav-mobile-divider{height:1px;background:#e5e7eb;margin:8px 0}[data-theme=dark] .nav-mobile-divider{background:#334155}.nav-mobile-login{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:#4b5563;text-decoration:none;padding:12px 16px;border-radius:8px;text-align:center;border:1.5px solid #e5e7eb;margin-top:4px}[data-theme=dark] .nav-mobile-login{color:#94a3b8;border-color:#334155}.nav-mobile-login:hover{background:#f1f5f9}[data-theme=dark] .nav-mobile-login:hover{background:#2a2a42}.nav-mobile-enroll{font-family:Inter,sans-serif;font-size:1rem;font-weight:600;color:#fff;text-decoration:none;padding:12px 16px;border-radius:8px;background:#2563eb;text-align:center;margin-top:4px}.nav-mobile-enroll:hover{background:#1d4ed8}@media (max-width:1024px){.nav-actions,.nav-links-desktop{display:none}.nav-mobile-toggle{display:block}}.contact-map-container{height:480px}.contact-map-placeholder{height:480px;gap:12px;font-size:.9rem}.contact-map-error{height:200px;color:var(--text-muted);font-size:.85rem;background:var(--bg-surface-2)}.loginBtnDots{display:flex;align-items:center;gap:5px;height:18px}.loginBtnDots span{width:7px;height:7px;border-radius:50%;background:#fff;animation:loginDotBounce .9s ease-in-out infinite}.loginBtnDots span:nth-child(2){animation-delay:.15s}.loginBtnDots span:nth-child(3){animation-delay:.3s}@keyframes loginDotBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-6px);opacity:1}}@media (max-width:640px){.nav-logo-title{font-size:1rem}.nav-logo-sub{font-size:.5rem}.nav-logo-image{width:36px;height:36px}}.mvm-section{padding:100px 5%;position:relative;overflow:hidden}.mvm-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,26,46,.93),rgba(37,99,235,.75));z-index:0}.mvm-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}.mvm-header{text-align:center;margin-bottom:56px}.mvm-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px}.mvm-card{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:36px 32px;transition:transform .3s,background .3s,box-shadow .3s;position:relative;overflow:hidden}.mvm-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0}.mvm-card--motto:before{background:var(--gold)}.mvm-card--vision:before{background:var(--sky)}.mvm-card--mission:before{background:var(--green)}.mvm-card:hover{transform:translateY(-8px);background:hsla(0,0%,100%,.1);box-shadow:0 24px 60px rgba(0,0,0,.35)}.mvm-card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.mvm-card--motto .mvm-card-icon{background:rgba(245,158,11,.15);color:var(--gold)}.mvm-card--vision .mvm-card-icon{background:rgba(37,99,235,.2);color:#60a5fa}.mvm-card--mission .mvm-card-icon{background:rgba(16,185,129,.15);color:var(--green)}.mvm-card-label{font-family:Space Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:10px}.mvm-card--motto .mvm-card-label{color:var(--gold)}.mvm-card--vision .mvm-card-label{color:#60a5fa}.mvm-card--mission .mvm-card-label{color:var(--green)}.mvm-card-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;color:#fff;line-height:1.35;margin-bottom:18px}.mvm-card-line{width:40px;height:2px;border-radius:100px;margin-bottom:16px}.mvm-card--motto .mvm-card-line{background:var(--gold)}.mvm-card--vision .mvm-card-line{background:#60a5fa}.mvm-card--mission .mvm-card-line{background:var(--green)}.mvm-card-desc{font-size:.84rem;color:hsla(0,0%,100%,.55);line-height:1.65}@media (max-width:900px){.mvm-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}.teachersGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:28px;gap:28px;margin-top:40px;align-items:start}.teacherCard{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:16px;padding:32px 24px;text-align:center;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;align-items:center}.teacherCard:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.teacher-photo-wrapper{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:4px solid var(--border-soft);flex-shrink:0}.teacher-photo{width:100%;height:100%;object-fit:cover;display:block}.teacher-photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--sky),#1d4ed8);display:flex;align-items:center;justify-content:center}.teacher-photo-initials{font-size:2rem;color:#fff}.teacher-photo-initials,.teacherCard h3{font-family:Playfair Display,serif;font-weight:700}.teacherCard h3{font-size:1.1rem;margin-bottom:4px;color:var(--text-main)}.teacherRole{font-size:.8rem;color:var(--sky);font-weight:500;margin-bottom:10px}.teacherBio{font-size:.83rem;color:var(--text-sub);line-height:1.6}@media (max-width:640px){.teachersGrid{grid-template-columns:1fr 1fr;gap:16px}.teacher-photo-wrapper{width:90px;height:90px}.teacher-photo-initials{font-size:1.5rem}.teacherCard{padding:20px 16px}.teacherBio{font-size:.78rem}}@media (max-width:480px){.teachersGrid{grid-template-columns:1fr;gap:20px}.teacher-photo-wrapper{width:100px;height:100px}}.about-motto-vision-mission{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:32px;gap:32px;max-width:1100px;margin:0 auto}.about-card{background:var(--bg-page);border:1px solid var(--border-soft);border-radius:16px;padding:32px 24px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.about-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(26,26,46,.08)}.about-card-icon{width:64px;height:64px;border-radius:50%;background:var(--sky);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}[data-theme=dark] .about-card-icon{background:#1d4ed8}.about-card h3{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--text-main)}.about-card p{font-size:.92rem;color:var(--text-muted);line-height:1.6;max-width:280px;margin:0 auto}@media (max-width:900px){.about-motto-vision-mission{grid-template-columns:1fr 1fr}}@media (max-width:640px){.about-motto-vision-mission{grid-template-columns:1fr}.about-card p{max-width:100%}}.contact-map-wrapper{width:100%;max-width:1200px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);min-height:400px}.contact-map-container,.contact-map-placeholder{width:100%;height:400px;background:var(--bg-surface-2)}.contact-map-placeholder{gap:16px;color:var(--text-muted);border-radius:16px}.contact-map-error,.contact-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center}.contact-map-error{width:100%;height:400px;background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:16px;gap:12px;color:#991b1b;padding:24px;text-align:center}.contact-map-error p{font-size:.9rem;max-width:400px}.map-pin-icon{color:var(--sky);animation:bounce-pin 2s ease-in-out infinite}[data-theme=dark] .contact-map-container{filter:brightness(.85) contrast(1.1)}[data-theme=dark] .contact-map-error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#fca5a5}@keyframes bounce-pin{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:768px){.contact-map-container,.contact-map-error,.contact-map-placeholder{height:300px}}@media (max-width:480px){.contact-map-container,.contact-map-error,.contact-map-placeholder{height:250px}}@media (max-width:768px){.section{padding:56px 5%}.pageHeader{padding:100px 5% 40px}.hero{padding:100px 5% 60px;min-height:auto}.hero h1{font-size:clamp(2rem,8vw,3rem)}.hero p{font-size:.95rem}.heroActions{flex-direction:column;gap:12px}.heroActions .btnOutline,.heroActions .btnPrimary{width:100%;text-align:center}.aboutGrid{grid-template-columns:1fr;gap:40px;margin-top:32px}.aboutBadgeFloat{bottom:-12px;right:-8px;padding:12px 16px;font-size:1.1rem}.aboutValues{grid-template-columns:1fr;gap:16px}.loginCard{padding:28px 20px}.dashMain{padding:20px 16px}.dashHeader h1{font-size:1.5rem}.assignmentCard{flex-direction:column;align-items:flex-start;gap:14px;padding:16px}.assignmentLeft{min-width:unset;width:100%}.assignmentActions{width:100%;justify-content:flex-end}.gradesTable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.dashStatsRow{grid-template-columns:1fr 1fr;gap:12px}.submitModal{padding:20px 16px;border-radius:14px}.coursesGrid{grid-template-columns:1fr}.contactGrid,.eventsGrid{grid-template-columns:1fr;margin-top:32px}.contactGrid{gap:40px}.mvm-section{padding:60px 5%}.footer{padding:40px 5% 24px}.nav-spacer{height:80px}.nav-mobile-menu{top:80px}.sectionTitle{font-size:clamp(1.5rem,5vw,2.2rem)}}@media (max-width:480px){.section{padding:40px 4%}.pageHeader{padding:90px 4% 32px}.hero{padding:90px 4% 48px}.btnOutline,.btnPrimary{padding:12px 24px;font-size:.9rem}.dashStatsRow{grid-template-columns:1fr}.scheduleDay{padding:12px}.scheduleSlot{padding:8px 10px}.loginCard{padding:24px 16px;border-radius:14px}.submitOverlay{padding:12px;align-items:flex-end}.submitModal{max-height:95vh;max-height:95dvh;border-radius:18px 18px 0 0}.footerBottom{flex-direction:column;text-align:center;gap:6px}.mvm-grid{grid-template-columns:1fr;max-width:100%}.dashHeader h1{font-size:1.3rem}.assignmentMeta{white-space:normal;line-height:1.6}.gradeBarTrack{display:none}.nav-white-container{padding:0 16px;height:64px}.nav-spacer{height:64px}.nav-mobile-menu{top:64px}}.gallery-header{justify-content:space-between;margin-bottom:24px;flex-wrap:wrap}.gallery-header,.gallery-header-left{display:flex;align-items:center;gap:12px}.gallery-stats{align-items:center;color:var(--text-muted);font-size:.85rem}.gallery-header-right,.gallery-stats{display:flex;gap:8px}.gallery-view-btn{background:var(--bg-surface);border:1px solid var(--border-soft);color:var(--text-muted);padding:8px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.gallery-view-btn:hover{border-color:var(--sky);color:var(--text-main)}.gallery-view-btn.active{background:var(--sky);color:#fff;border-color:var(--sky)}.gallery-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.gallery-tab{padding:8px 18px;border-radius:100px;font-size:.82rem;font-weight:500;background:var(--bg-surface);border:1.5px solid var(--border-soft);color:var(--text-muted);cursor:pointer;transition:all .2s}.gallery-tab:hover{border-color:var(--sky);color:var(--text-main)}.gallery-tab.active{background:var(--sky);border-color:var(--sky);color:#fff}.gallery-grid{display:grid;grid-gap:16px;gap:16px}.gallery-grid.grid-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gallery-grid.list-view{grid-template-columns:1fr}.gallery-item{border-radius:12px;overflow:hidden;position:relative;background:var(--bg-surface);border:1px solid var(--border-soft);transition:transform .3s,box-shadow .3s}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.gallery-item-image{position:relative;width:100%;padding-bottom:75%;overflow:hidden;background:var(--bg-surface-2)}.gallery-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover .gallery-image{transform:scale(1.03)}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:20px}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-info{color:#fff;width:100%}.gallery-item-info h4{font-size:1rem;font-weight:600;margin-bottom:4px}.gallery-item-info p{font-size:.8rem;opacity:.8;margin-bottom:8px}.gallery-item-category{display:inline-block;font-size:.7rem;padding:2px 12px;border-radius:100px;background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-weight:500}.list-view .gallery-item{display:flex;flex-direction:row;padding:12px;gap:16px}.list-view .gallery-item-image{width:200px;min-height:150px;padding-bottom:0;flex-shrink:0;border-radius:8px;overflow:hidden;position:relative}.list-view .gallery-item-image .gallery-image{position:relative;width:100%;height:150px;object-fit:cover}.list-view .gallery-item-overlay{position:relative;opacity:1;background:none;padding:8px 0;flex:1 1;align-items:flex-start}.list-view .gallery-item-info,.list-view .gallery-item-info h4{color:var(--text-main)}.list-view .gallery-item-info p{color:var(--text-muted);opacity:1}.list-view .gallery-item-category{background:var(--bg-surface-2);color:var(--text-muted)}.gallery-modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.gallery-modal-content{max-width:800px;width:90%;max-height:90vh;max-height:90dvh;position:relative}.gallery-modal-image{width:100%;height:auto;max-height:70vh;max-height:70dvh;object-fit:contain;border-radius:8px}.gallery-modal-info{color:#fff;padding:16px 0;text-align:center}.gallery-modal-info h3{font-size:1.2rem;font-weight:600;margin-bottom:4px}.gallery-modal-info p{opacity:.7;font-size:.9rem;margin-bottom:8px}.gallery-modal-category{display:inline-block;font-size:.75rem;padding:4px 16px;border-radius:100px;background:hsla(0,0%,100%,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-weight:500}.gallery-modal-close{position:absolute;top:20px;right:20px;background:hsla(0,0%,100%,.1);border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.gallery-modal-close:hover{background:hsla(0,0%,100%,.2)}.gallery-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.1);border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.gallery-modal-nav:hover{background:hsla(0,0%,100%,.2)}.gallery-modal-prev{left:20px}.gallery-modal-next{right:20px}.gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-muted);gap:12px}.gallery-empty p{font-size:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.list-view .gallery-item{flex-direction:column}.list-view .gallery-item-image{width:100%}.list-view .gallery-item-image .gallery-image{height:200px}.gallery-modal-prev{left:8px}.gallery-modal-next{right:8px}.gallery-modal-nav{width:36px;height:36px}}@media (max-width:480px){.gallery-grid.grid-view{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.gallery-tabs{gap:4px}.gallery-tab{font-size:.7rem;padding:6px 12px}}.successBox{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.3);color:#065f46;border-radius:12px;padding:14px 18px;font-size:.88rem;font-weight:500}[data-theme=dark] .successBox{color:#6ee7b7}.statChip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-size:.78rem;font-weight:600}.dashSidebar{overflow:auto;max-height:100vh;max-height:100dvh;transition:transform .3s ease;z-index:100}.dashSidebarOverlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width:880px){.dashSidebar{display:block;position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translateX(-100%);max-height:100vh;max-height:100dvh;width:240px}.dashSidebar.mobileOpen{transform:translateX(0)}.dashSidebarOverlay.open{display:block}}.dashSidebarMobileHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}@media (min-width:881px){.dashSidebarMobileHeader{display:none}}.dashSidebarCloseBtn{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.dashSidebarCloseBtn:hover{background:hsla(0,0%,100%,.2)}.dashNav{overflow:auto;max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px);padding-right:4px}.dashNavSection{flex-shrink:0}.dashNavSectionTitle{color:hsla(0,0%,100%,.45)!important}.dashNavLink{color:hsla(0,0%,100%,.65)!important;background:transparent!important;border-left:3px solid transparent!important}.dashNavLink:hover{color:#fff!important;background:hsla(0,0%,100%,.06)!important}.dashNavLink.active{background:rgba(37,99,235,.25)!important;border-left:3px solid var(--sky)!important}.dashNavLink.active,.dashUserName{color:#fff!important}.dashLogoutLink,.dashUserGrade{color:hsla(0,0%,100%,.6)!important}.dashLogoutLink:hover{color:#fff!important}