/* ===== ABOUT ===== */
.about-grid{display:flex;flex-direction:column;gap:1.5rem}
.about-text{font-size:0.95rem;line-height:1.75;color:rgba(10,14,24,0.65)}
.about-text em{color:rgba(10,14,24,0.45);font-size:0.9rem}
.about-sidebar{display:flex;flex-direction:row;gap:1rem}.about-sidebar .info-card{flex:1}
.info-card{background:#f0f4f8;border-radius:12px;padding:1rem;text-align:center;border:none}
.info-card h4{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:rgba(10,14,24,0.4);margin-bottom:0.4rem}
.info-card p{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:600;color:rgba(10,14,24,0.65);line-height:1.4}

.notice-box{background:#fffbf2;border-left:3px solid #e8a040;border-radius:0 8px 8px 0;padding:0.9rem 1.2rem;margin-top:0.5rem;font-size:0.9rem;line-height:1.7;color:rgba(10,14,24,0.55)}
.notice-box b{color:rgba(10,14,24,0.7);font-weight:700}

/* ===== STATS COUNTERS ===== */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center;margin-top:3rem}
@media(max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr)}}
.stat-item .stat-number{font-family:'Space Grotesk',sans-serif;font-size:2.2rem;font-weight:700;color:#0a0e18;background:linear-gradient(135deg,#0a0e18,#2a1c5a);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stat-item .stat-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(10,14,24,0.4);margin-top:0.3rem}

/* ===== TOPICS ===== */
.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.topic-chip{background:#f0f4f8;border:none;border-radius:12px;padding:1.3rem 1.5rem;transition:all 0.3s;cursor:default}
.topic-chip:hover{background:#e6eaf0;transform:translateY(-2px)}
.topic-chip h3{font-family:'Space Grotesk',sans-serif;font-size:0.92rem;font-weight:600;color:#0a0e18;margin-bottom:0.35rem;display:flex;align-items:center;gap:0.45rem}
.topic-icon{width:1.1em;height:1.1em;flex-shrink:0;position:relative;top:0.05em}
.topic-chip p{font-size:0.8rem;line-height:1.5;color:rgba(10,14,24,0.5);margin:0}

/* ===== INSTRUCTORS ===== */
.instructors-label{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:rgba(10,14,24,0.65);margin-bottom:1.5rem;text-align:center}
.instructors-grid{display:grid;grid-template-columns:repeat(3,210px);gap:1.5rem;justify-content:center}
.instructor-card{position:relative;text-align:center;padding:0;border-radius:12px;background:#f0f4f8;transition:transform 0.3s,box-shadow 0.3s;border:none;overflow:hidden}
.instructor-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2a1c5a,#3d1870,#5a2d8a);opacity:0;transition:opacity 0.3s;z-index:3}
.instructor-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(10,14,24,0.08)}
.instructor-card:hover::before{opacity:1}
.instructor-avatar{position:relative;width:100%;height:220px;background:linear-gradient(135deg,#d8d4e8,#c8c0dc);overflow:hidden}
.instructor-avatar img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.instructor-avatar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,transparent 30%,rgba(240,244,248,0.85) 75%,#f0f4f8 100%)}
.instructor-card h3{position:relative;z-index:2;margin-top:-2.5rem;padding:0 1rem;font-family:'Space Grotesk',sans-serif;font-size:0.9rem;font-weight:600;color:#0a0e18}
.instructor-card .inst{position:relative;z-index:2;padding:0 1rem;font-size:0.72rem;color:rgba(10,14,24,0.45);margin-top:0.2rem}
.instructor-card .role{position:relative;z-index:2;padding:0 1rem 1.2rem;font-size:0.76rem;color:rgba(10,14,24,0.55);margin-top:0.6rem;line-height:1.5;max-height:0;overflow:hidden;transition:max-height 0.5s ease,opacity 0.4s ease;opacity:0}
.instructor-card:hover .role{max-height:120px;opacity:1}
.ta-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem}
.ta-card{display:flex;align-items:center;gap:0.8rem;padding:1rem 1.2rem;border-radius:12px;background:#f0f4f8;border:none;transition:transform 0.2s}
.ta-card:hover{transform:translateY(-2px)}
.ta-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#e4e0f0,#d8d4e6);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:0.7rem;font-weight:700;color:rgba(10,14,24,0.35);flex-shrink:0}
.ta-info h4{font-family:'Space Grotesk',sans-serif;font-size:0.85rem;font-weight:600;color:#0a0e18}
.ta-info p{font-size:0.72rem;color:rgba(10,14,24,0.4);margin-top:0.1rem}

/* ===== VENUE ===== */
.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
@media(max-width:768px){.venue-grid{grid-template-columns:1fr}}
.venue-info{font-size:0.95rem;line-height:1.75;color:rgba(10,14,24,0.65)}
.venue-info h3{font-family:'Space Grotesk',sans-serif;font-size:1.15rem;font-weight:600;color:#0a0e18;margin-top:2rem;margin-bottom:0.5rem}
.venue-info h3:first-child{margin-top:0}
.venue-address{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:rgba(10,14,24,0.65);margin-bottom:1rem}
.venue-right{display:flex;flex-direction:column;gap:1rem}
.venue-map{border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,0.06);flex:1;min-height:280px}
.venue-map iframe{width:100%;height:100%;min-height:280px;border:0}
.venue-gallery{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem}
.venue-gallery-item{border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#e8e4f0,#ddd8ea);aspect-ratio:16/10;border:1px solid rgba(0,0,0,0.04)}
.venue-gallery-item{border-radius:10px;overflow:visible;background:linear-gradient(135deg,#e8e4f0,#ddd8ea);aspect-ratio:16/10;border:1px solid rgba(0,0,0,0.04);transition:transform 0.3s ease;z-index:1;position:relative}
.venue-gallery-item:hover{transform:scale(1.5);z-index:10}
.venue-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}
.venue-features{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1rem;margin-bottom:1.5rem}
.directions-dropdown{margin-top:1.2rem;background:#f0f4f8;border-top:3px solid #d4d9e2;border-radius:0 0 10px 10px;overflow:hidden}
.directions-summary{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:rgba(10,14,24,0.65);padding:0.75rem 1rem;cursor:pointer;list-style:none;display:flex;align-items:center;gap:0.5rem;user-select:none}
.directions-summary::-webkit-details-marker{display:none}
.directions-summary::before{content:'▸';font-size:0.65rem;transition:transform 0.2s;display:inline-block}
details[open]>.directions-summary::before{transform:rotate(90deg)}
.directions-body{padding:0.75rem 1rem 1rem;border-top:1px solid #d4d9e2}
.directions-block{margin-bottom:1.25rem}
.directions-block:last-child{margin-bottom:0}
.directions-block-title{font-family:'Space Grotesk',sans-serif;font-size:0.82rem;font-weight:700;color:#0a0e18;margin-bottom:0.4rem;display:flex;align-items:center;gap:0.45rem}
.dir-icon{width:1.15em;height:1.15em;flex-shrink:0;position:relative;top:0.05em}
.directions-option-label{font-family:'Space Grotesk',sans-serif;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:rgba(10,14,24,0.35);margin:0.6rem 0 0.25rem}
.directions-steps{margin:0 0 0.25rem 1.1rem;padding:0;font-size:0.88rem;line-height:1.65;color:rgba(10,14,24,0.65)}
.directions-steps li{margin-bottom:0.15rem}
.directions-summary-line{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;color:rgba(10,14,24,0.4);margin-top:0.4rem;padding:0.3rem 0.6rem;background:rgba(10,14,24,0.04);border-radius:6px;display:inline-block}
.venue-tag{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:500;padding:0.4rem 0.9rem;background:#f0f4f8;border-radius:20px;color:rgba(10,14,24,0.6);border:none}

/* ===== JOIN DROPDOWN ===== */
.join-dropdown{margin-top:2rem;background:#f0f4f8;border-top:3px solid #d4d9e2;border-radius:0 0 10px 10px;overflow:hidden}
.join-summary{font-family:'Space Grotesk',sans-serif;font-size:0.78rem;font-weight:600;color:rgba(10,14,24,0.45);padding:0.75rem 1rem;cursor:pointer;list-style:none;display:flex;align-items:center;gap:0.5rem;user-select:none}
.join-summary::-webkit-details-marker{display:none}
.join-summary::before{content:'▸';font-size:0.65rem;transition:transform 0.2s;display:inline-block;flex-shrink:0}
details[open]>.join-summary::before{transform:rotate(90deg)}
.join-summary-label{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:rgba(10,14,24,0.65)}
.join-body{padding:1rem 1.2rem 1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:600px){.join-body{grid-template-columns:1fr}}
.join-intro{font-size:0.9rem;line-height:1.45;color:rgba(10,14,24,0.5);padding:0.3rem 1.3rem 0;margin:0}
.join-block{font-size:0.88rem;line-height:1.65;color:rgba(10,14,24,0.45);display:flex;flex-direction:column}
.join-block-title{font-family:'Space Grotesk',sans-serif;font-size:0.82rem;font-weight:700;color:rgba(10,14,24,0.45);margin-bottom:0.5rem}
.join-link{display:inline-block;margin-top:auto;padding-top:0.75rem;font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;color:#2a1c5a;text-decoration:none;border-bottom:1px solid rgba(42,28,90,0.3)}
.join-link:hover{border-bottom-color:#2a1c5a}

/* ===== GITHUB ICON ===== */
.github-icon{width:1em;height:1em;vertical-align:-0.15em;display:inline-block;margin-right:0.15em}

/* ===== CONTACT MODAL ===== */
.contact-modal-overlay{position:fixed;inset:0;background:rgba(10,14,24,0.55);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;justify-content:flex-end;padding:2rem;opacity:0;pointer-events:none;transition:opacity 0.25s}
.contact-modal-overlay.open{opacity:1;pointer-events:all}
.contact-modal{background:#fff;border-radius:12px;width:100%;max-width:420px;box-shadow:0 24px 64px rgba(10,14,24,0.2);transform:translateY(20px);transition:transform 0.25s;overflow:hidden;display:flex;flex-direction:column}
.contact-modal-overlay.open .contact-modal{transform:translateY(0)}
.contact-modal-titlebar{background:linear-gradient(135deg,#0a0e18,#1a1840);padding:0.7rem 1rem;display:flex;align-items:center;justify-content:space-between}
.contact-modal-titlebar span{font-family:'Space Grotesk',sans-serif;font-size:0.78rem;font-weight:600;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.1em}
.contact-modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:rgba(255,255,255,0.5);line-height:1;padding:0}
.contact-modal-close:hover{color:#fff}
.contact-modal-form{display:flex;flex-direction:column;flex:1}
.contact-mail-field{display:flex;align-items:center;gap:0.6rem;padding:0.55rem 1rem;border-bottom:1px solid rgba(10,14,24,0.07)}
.contact-mail-label{font-family:'Space Grotesk',sans-serif;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(10,14,24,0.3);width:3.5rem;flex-shrink:0}
.contact-mail-value{font-family:'Space Grotesk',sans-serif;font-size:0.85rem;color:rgba(10,14,24,0.6)}
.contact-mail-divider{height:1px;background:rgba(10,14,24,0.07)}
.contact-mail-body{font-family:'Space Grotesk',sans-serif;font-size:0.88rem;color:#0a0e18;line-height:1.65;padding:1rem;border:none;outline:none;resize:none;flex:1;min-height:140px;font-style:italic}

/* ===== APPLY PAGE ===== */
.apply-fee-info{max-width:560px;margin:0 auto 2rem;text-align:center;font-size:0.9rem;line-height:1.7;color:rgba(10,14,24,0.6);padding:1rem 1.5rem;background:#f0f4f8;border-radius:10px}

/* ===== REGISTRATION ===== */
.reg-box{max-width:560px;margin:0 auto;text-align:center;padding:3rem 2rem;background:#f0f4f8;border-radius:16px;border:none}
.reg-box p{font-size:0.95rem;line-height:1.7;color:rgba(10,14,24,0.6);margin-top:1rem}
.reg-fee{display:inline-block;margin-top:1.2rem;padding:0.8rem 1.6rem;background:linear-gradient(135deg,#0a0e18,#1a1840);border-radius:10px;color:rgba(255,255,255,0.9);font-family:'Space Grotesk',sans-serif;font-size:0.88rem;font-weight:600}
.reg-fee-note{font-size:0.78rem;color:rgba(10,14,24,0.4);margin-top:0.5rem;font-style:italic}
.btn-dark{display:inline-block;padding:0.85rem 2.8rem;background:#0a0e18;color:#fff;border-radius:10px;font-family:'Space Grotesk',sans-serif;font-size:0.95rem;font-weight:600;text-decoration:none;margin-top:1.5rem;transition:all 0.3s}
.btn-dark:hover{background:#1a2030;transform:translateY(-1px)}

/* ===== ACKNOWLEDGEMENTS ===== */
.ack-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}
@media(max-width:768px){.ack-layout{grid-template-columns:1fr}}
.ack-left{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding-bottom:1.8rem}
.ack-arrow{display:inline-block;vertical-align:middle;margin-left:0.3rem}
.ack-arrow svg{width:28px;height:11px;animation:ack-arrow-nudge 1.6s ease-in-out infinite;display:block}
@keyframes ack-arrow-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
.ack-intro{font-size:0.95rem;line-height:1.75;color:rgba(10,14,24,0.6);margin:0}
.ack-outro{text-align:left !important;margin-top:auto}
.ack-box{position:relative;padding:3rem 2rem 1.8rem;background:#f0f4f8;border-radius:16px;border-left:3px solid #2a1c5a;margin-bottom:1rem}
.ack-text{font-size:1rem;line-height:1.75;color:rgba(10,14,24,0.65);font-style:italic;margin:0}
.ack-text::before{content:'\201C';display:block;font-family:'Georgia',serif;font-size:4.5rem;line-height:0.7;color:#2a1c5a;opacity:0.18;margin-bottom:0.5rem;user-select:none;pointer-events:none}
.ack-copy-btn{position:absolute;top:0.9rem;right:0.9rem;display:flex;align-items:center;gap:0.35rem;padding:0.35rem 0.7rem;background:#fff;border:1px solid rgba(10,14,24,0.12);border-radius:8px;font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;color:rgba(10,14,24,0.45);cursor:pointer;transition:all 0.2s;box-shadow:0 2px 8px rgba(10,14,24,0.08)}
.ack-copy-btn svg{width:13px;height:13px;flex-shrink:0}
.ack-copy-btn:hover{background:#e6eaf0;color:#0a0e18;border-color:rgba(10,14,24,0.2)}
.ack-copy-btn.copied{color:#2a7a2a;border-color:#2a7a2a;background:#f0fff0}
.ack-heart{position:fixed;pointer-events:none;font-size:1.2rem;animation:ack-heart-fly 1.2s ease-out forwards;z-index:9999;color:#e53935}
@keyframes ack-heart-fly{
  0%  {transform:translateY(0) rotate(0deg) scale(1);   opacity:1}
  30% {transform:translateY(-40px) rotate(-15deg) scale(1.2); opacity:1}
  60% {transform:translateY(-90px) rotate(12deg) scale(0.9);  opacity:0.7}
  100%{transform:translateY(-140px) rotate(-8deg) scale(0.6); opacity:0}
}
.ack-outro{font-size:0.95rem;line-height:1.75;color:rgba(10,14,24,0.6);text-align:center}
.ack-link{color:#2a1c5a;text-decoration:none;font-weight:600}
.ack-link:hover{text-decoration:underline}
.ack-papers{margin-top:1rem;padding-top:0}
.ack-papers-title{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:rgba(10,14,24,0.65);margin-bottom:1.5rem}
.ack-papers-ticker{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent)}
.ack-papers-track{display:flex;align-items:stretch;gap:1rem;min-width:max-content;animation:ack-papers-scroll 70s linear infinite}
.ack-papers-track:hover{animation-play-state:paused}
@keyframes ack-papers-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ack-paper-item{background:#f8f9fc;border-radius:12px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:0.2rem;border:1px solid rgba(10,14,24,0.06);transition:border-color 0.2s;width:240px;flex-shrink:0}
.ack-paper-item:hover{border-color:rgba(42,28,90,0.25)}
.ack-paper-authors{font-size:0.78rem;font-weight:600;color:rgba(10,14,24,0.4);font-family:'Space Grotesk',sans-serif}
.ack-paper-title{font-size:0.88rem;line-height:1.4;color:#2a1c5a;text-decoration:none;font-weight:500}
.ack-paper-title:hover{text-decoration:underline}
.ack-paper-pub{font-size:0.75rem;color:rgba(10,14,24,0.4);font-style:italic;margin-top:0.1rem}
.ack-papers-loading,.ack-papers-empty{font-size:0.9rem;color:rgba(10,14,24,0.4);font-style:italic}

/* ===== LEGACY ===== */
#legacy .sec-header{margin-bottom:1rem}
.legacy-htimeline{width:100%;overflow:hidden;margin-bottom:2rem;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}
.legacy-htrack{display:flex;align-items:flex-start;gap:0;position:relative;padding:1rem 0 0.5rem;min-width:max-content;animation:legacy-scroll 18s linear infinite}
.legacy-htrack::before{content:'';position:absolute;top:2.08rem;left:0;right:0;height:2px;background:linear-gradient(90deg,#2a1c5a,rgba(60,30,120,0.15),#2a1c5a,rgba(60,30,120,0.15));border-radius:2px}
.legacy-htrack:hover{animation-play-state:paused}
@keyframes legacy-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.legacy-hitem{display:flex;flex-direction:column;align-items:center;min-width:120px;position:relative;padding-top:2rem}
.legacy-hitem::before{content:'';position:absolute;top:0.55rem;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#2a1c5a,#3d1870);border:3px solid #f0f0f6;z-index:1}
.legacy-hitem--future::before{background:linear-gradient(135deg,#c0392b,#e74c3c)}
.legacy-hyear{font-family:'Space Grotesk',sans-serif;font-size:0.9rem;font-weight:700;color:#0a0e18;margin-bottom:0.25rem}
.legacy-hitem--future .legacy-hyear{color:#c0392b}
.legacy-hdesc{font-family:'Space Grotesk',sans-serif;font-size:0.72rem;color:rgba(10,14,24,0.45);text-align:center;line-height:1.4}

.legacy-timeline-row{display:flex;flex-direction:row;align-items:center;gap:2rem;margin-bottom:2rem}
.legacy-timeline-row .legacy-htimeline{flex:1;min-width:0;margin-bottom:0}
.legacy-stats-aside{display:flex;flex-direction:row;gap:2rem;flex-shrink:0;text-align:center;align-items:center}
.stat-item-sm .stat-number-sm{font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#0a0e18,#2a1c5a);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stat-item-sm .stat-label-sm{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(10,14,24,0.4);margin-top:0.1rem}
.legacy-grid{display:grid;grid-template-columns:2.5fr 3fr;gap:1rem;align-items:start}
@media(max-width:768px){.legacy-grid{grid-template-columns:1fr}}
.legacy-text{font-size:0.95rem;line-height:1.75;color:rgba(10,14,24,0.65)}
.legacy-right-col{display:flex;flex-direction:column;gap:1rem}
.legacy-timeline{position:relative;padding-left:2rem;overflow-y:auto;max-height:220px;scrollbar-width:thin;scrollbar-color:rgba(42,28,90,0.25) transparent}
.legacy-timeline::-webkit-scrollbar{width:4px}
.legacy-timeline::-webkit-scrollbar-track{background:transparent}
.legacy-timeline::-webkit-scrollbar-thumb{background:rgba(42,28,90,0.25);border-radius:4px}
.legacy-timeline::-webkit-scrollbar-thumb:hover{background:rgba(42,28,90,0.45)}
.legacy-timeline::before{content:'';position:absolute;left:6px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#2a1c5a,rgba(60,30,120,0.1));border-radius:2px}
.legacy-item{position:relative;padding:0.4rem 0 0.6rem}
.legacy-item::before{content:'';position:absolute;left:-2rem;top:1rem;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#2a1c5a,#3d1870);border:3px solid #fff;box-shadow:0 0 0 1px rgba(60,30,120,0.15)}
.legacy-item .year{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;font-weight:700;color:#0a0e18}
.legacy-item .year a{color:#0a0e18;text-decoration:none}
.legacy-item .year a:hover{text-decoration:underline}
.legacy-item .desc{font-size:0.85rem;color:rgba(10,14,24,0.5);margin-top:0.2rem;line-height:1.5}
.worldsphere-embed{margin-top:0;width:100%}
.worldsphere-frame{width:100%;height:460px;border:none;border-radius:16px;overflow:hidden}
.material-link{margin-top:2rem;padding:1.2rem 1.5rem;background:#f0f4f8;border-radius:12px;border:none;display:flex;align-items:center;gap:1rem}
.material-link .mat-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#0a0e18,#1a1840);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.material-link .mat-icon svg{width:20px;height:20px}
.material-link .mat-text h4{font-family:'Space Grotesk',sans-serif;font-size:0.88rem;font-weight:600;color:#0a0e18}
.material-link .mat-text p{font-size:0.78rem;color:rgba(10,14,24,0.45);margin-top:0.15rem}
.material-link .mat-text a{color:#2a1c5a;font-weight:600;text-decoration:none}
.material-link .mat-text a:hover{text-decoration:underline}

/* ===== SPONSORS ===== */
.sponsors-grid{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}
.sponsors-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.sponsors-row .sponsor-card{width:160px;flex:0 0 160px}
.sponsor-card{perspective:800px;border-radius:14px;min-height:180px;cursor:default}
.sponsor-card--organizer{width:calc(4 * 160px + 3 * 1rem)}
.flip-card{perspective:800px}
.flip-inner{position:relative;width:100%;height:100%;min-height:180px;transform-style:preserve-3d;transition:transform 0.7s cubic-bezier(0.4,0.2,0.2,1);border-radius:14px}
.flip-card.flipped .flip-inner{transform:rotateY(180deg)}
.flip-front,.flip-back{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.2rem;text-align:center}
.flip-front{background:linear-gradient(135deg,#0a0e18,#1a1840)}
.sponsor-card--organizer .flip-front{background:linear-gradient(135deg,#0a0e18,#1a1840)}
.flip-front img{max-width:80%;max-height:100px;object-fit:contain}
.flip-back{background:#f0f4f8;transform:rotateY(180deg)}
.sponsor-card--organizer .flip-back{background:linear-gradient(135deg,#f0eef8,#e8e4f4);border:1px solid rgba(90,45,138,0.15)}
.flip-back-label{font-family:'Space Grotesk',sans-serif;font-size:2.5rem;font-weight:700;color:rgba(10,14,24,0.1);line-height:1}
.flip-back-desc{font-family:'Space Grotesk',sans-serif;font-size:0.72rem;color:rgba(10,14,24,0.5);line-height:1.5;margin-top:0.6rem;padding:0 0.2rem}
.sponsor-name{font-family:'Space Grotesk',sans-serif;font-size:0.88rem;font-weight:600;color:#0a0e18}
.sponsor-type{font-family:'Space Grotesk',sans-serif;font-size:0.75rem;font-weight:600;color:rgba(10,14,24,0.65);text-transform:uppercase;letter-spacing:0.15em;margin-top:0.2rem}

/* ===== APPLY FOOTER ===== */
.partners-contact{margin-top:0.5rem;font-size:0.82rem;color:rgba(255,255,255,0.4)}
.apply-footer.sec{position:relative;z-index:2;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;background:transparent !important}
.apply-footer .sec-inner{position:relative;z-index:2;max-width:560px}
.apply-footer h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:rgba(255,255,255,0.92);letter-spacing:-0.03em}
.apply-footer h2::after{content:'';display:block;width:40px;height:3px;background:linear-gradient(90deg,rgba(255,255,255,0.3),rgba(180,140,255,0.4));border-radius:2px;margin:0.8rem auto 0;opacity:0.5}
.apply-footer p.subtitle{font-size:0.92rem;color:rgba(255,255,255,0.45);margin-top:0.8rem;line-height:1.6}

/* ===== APPLY FORM ===== */
.apply-form{margin-top:2.5rem;text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.form-group{display:flex;flex-direction:column}
.form-group.full{grid-column:1/-1}
.form-group label{font-family:'Space Grotesk',sans-serif;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#fff;margin-bottom:0.4rem;margin-top:0.8rem}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:0.75rem 1rem;color:rgba(255,255,255,0.9);font-family:'Inter',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.3s,background 0.3s;backdrop-filter:blur(8px)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.25)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.1)}
.form-group input.field-error,.form-group select.field-error,.form-group textarea.field-error{border-color:rgba(220,60,60,0.9)!important;background:rgba(220,60,60,0.1)!important;box-shadow:0 0 0 1px rgba(220,60,60,0.5)}
.scale-group.field-error-group{outline:1px solid rgba(220,60,60,0.9);border-radius:8px;background:rgba(220,60,60,0.07)}
.form-group select{-webkit-appearance:none;appearance:none;width:100%;max-width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.4)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.form-group select option{background:#0a0e18;color:#fff}
.form-group textarea{resize:vertical;min-height:80px}
.form-hint{font-size:0.9rem;color:rgba(255,255,255,0.65);margin-top:0.35rem;border-left:3px solid rgba(255,255,255,0.2);padding-left:0.75rem}
.btn-submit{display:block;width:100%;padding:1rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.82);border-radius:10px;font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.4s;backdrop-filter:blur(4px);letter-spacing:0.02em;margin-top:1.5rem}
.btn-submit:hover{background:rgba(255,255,255,0.11);border-color:rgba(255,255,255,0.2);transform:translateY(-1px)}
.footer-contact{display:flex;justify-content:center;gap:2.5rem;margin-top:2rem;flex-wrap:wrap}
.footer-contact a{font-size:0.8rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.3s}
.footer-contact a:hover{color:rgba(255,255,255,0.8)}
.footer-contact span{font-size:0.8rem;color:rgba(255,255,255,0.25)}
.apply-footer .footer-meta{font-size:0.72rem;color:rgba(255,255,255,0.2);margin-top:2rem;text-align:center}

/* ===== MOBILE FIXES ===== */
@media(max-width:768px){

  /* Section padding */
  .sec{padding:3rem 1.5rem}

  /* About */
  .about-sidebar{flex-wrap:wrap}
  .about-sidebar .info-card{flex:0 0 calc(50% - 0.5rem)}

  /* Instructors */
  .instructors-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
  .instructor-card h3{font-size:0.82rem}
  .instructor-card .inst{font-size:0.68rem}

  /* Legacy */
  .legacy-timeline-row{flex-direction:column;gap:1rem}
  .legacy-stats-aside{justify-content:center;flex-wrap:wrap;gap:1.5rem;flex-direction:row}

  /* Worldsphere */
  .worldsphere-frame{height:300px}

  /* Sponsors */
  .sponsor-card--organizer{width:100%}
  .sponsors-row .sponsor-card{width:140px;flex:0 0 140px}

  /* Venue gallery – disable zoom-on-hover */
  .venue-gallery-item:hover{transform:none;z-index:1}

  /* Contact modal */
  .contact-modal-overlay{padding:0;align-items:flex-end}
  .contact-modal{max-width:100%;border-radius:12px 12px 0 0}

  /* Apply footer */
  .apply-footer.sec{padding:3rem 1.5rem;background:url('../images/background/background_mobile.png') center/cover no-repeat !important}
  .footer-contact{gap:1.2rem}
}

@media(max-width:480px){
  /* Instructors: single column on very small screens */
  .instructors-grid{grid-template-columns:1fr}
  /* About info cards: row of 3 on small screens */
  .about-sidebar .info-card{flex:1;min-width:80px}
}
