@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Barlow:wght@500;600;700&display=swap";:root{--header-height:78px;--navy:#071c3a;--blue:#0b63ce;--gold:#c8a35f;--light:#f3f6fb;--surface:#fff;--text:#1b2330;--muted:#5e6a7d;--shadow:0 12px 34px #071c3a1f;--radius:16px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-padding-top:calc(var(--header-height) + 12px)}body{color:var(--text);background:linear-gradient(140deg,#f8fbff 0%,#eef4fb 35%,#fdf8ed 100%);font-family:Be Vietnam Pro,sans-serif}h1,h2,h3,h4,p{margin:0}a{color:var(--blue)}button,input,textarea{font:inherit}.container{width:min(1180px,92vw);margin:0 auto}.site-shell{padding-top:var(--header-height);overflow-x:hidden}.top-nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#071c3af0;width:100%;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 24px #071c3a38}.nav-inner{min-height:var(--header-height);align-items:center;gap:12px;display:flex}section[id]{scroll-margin-top:calc(var(--header-height) + 12px)}.brand{color:#fff;letter-spacing:.4px;cursor:pointer;background:0 0;border:none;font-family:Barlow,sans-serif;font-size:1.1rem;font-weight:700}.menu{align-items:center;gap:4px;margin-left:auto;display:flex}.menu button,.cta,.hero-actions button,.editor-header button,.admin-actions button,.admin-login-card button{cursor:pointer;border:none;border-radius:12px;transition:transform .2s,opacity .2s,background-color .2s}.menu button{color:#eaf2ff;background:0 0;padding:10px 12px}.menu button:hover{background:#ffffff29}.cta{background:linear-gradient(135deg, #d6b573, var(--gold));color:#11213d;margin-left:8px;padding:11px 16px;font-weight:700}.cta:hover,.hero-actions button:hover,.editor-header button:hover,.admin-actions button:hover,.admin-login-card button:hover{transform:translateY(-1px)}.hamburger{color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:10px;margin-left:auto;padding:8px 12px;display:none}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:34px;padding:70px 0 34px;display:grid}.hero h1{color:var(--navy);letter-spacing:.3px;margin-bottom:8px;font-family:Be Vietnam Pro,Barlow,sans-serif;font-size:clamp(2rem,3.8vw,3.7rem);line-height:1.05}.hero-year{color:var(--gold);margin-bottom:18px;font-weight:700}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:1.3px;margin-bottom:12px;font-size:.84rem;font-weight:700}.lead{color:var(--muted);max-width:62ch;margin-bottom:12px}.meta{color:var(--navy);margin-bottom:6px;font-weight:600}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.hero-actions button,.editor-header button,.admin-login-card button{background:var(--blue);color:#fff;padding:11px 18px;font-weight:600}.hero-actions .ghost,.admin-actions .ghost{color:var(--navy);background:#fff;border:1px solid #c6d6ef}.hero-image-wrap{position:relative}.hero-image-wrap:before{content:"";background:linear-gradient(130deg,#0b63ce47,#c8a35f42);border-radius:30px;position:absolute;inset:-16px -20px 24px 24px}.hero-image{z-index:1;object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:24px;position:relative}.section{padding:72px 0 26px}.section h2{color:var(--navy);margin-bottom:12px;font-family:Barlow,sans-serif;font-size:clamp(1.6rem,2.4vw,2.2rem)}.section-desc{color:var(--muted);margin-bottom:20px}.activity-list-card{background:linear-gradient(140deg,#f6f9ff 0%,#edf4ff 46%,#fef9ef 100%);border:1px solid #cfe0fb;border-radius:22px;padding:clamp(18px,2.4vw,30px);position:relative;overflow:hidden;box-shadow:0 14px 34px #113a7414}.activity-list-title{color:#0a4da8;letter-spacing:.2px;margin-bottom:14px;font-size:clamp(1.2rem,2.3vw,1.7rem);font-weight:800}.activity-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.activity-item{background:#ffffffc2;border:1px solid #dbe8fb;border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.activity-index{color:#fff;background:linear-gradient(130deg,#0b63ce,#2457af);border-radius:999px;place-items:center;width:30px;height:30px;font-weight:800;display:grid;box-shadow:0 6px 14px #0b63ce4d}.activity-text{color:#10408b;font-size:clamp(1rem,1.8vw,1.08rem);line-height:1.42}.card-grid{gap:16px;display:grid}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.image-card,.speaker-card,.news-card,.company-card,.stat-card,.timeline-item,.faq-item,.modal-card,.upload-box,.status-box,.editor-box,.admin-login-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #dce7f8}.card,.stat-card,.timeline-item,.faq-item,.upload-box,.status-box,.editor-box,.speaker-card,.news-card,.company-card{padding:16px}.intro-card{padding:0;overflow:hidden}.intro-card-image{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.intro-card-body{padding:14px 14px 16px}.intro-card h3{color:#0a2f64;margin-bottom:6px}.intro-card p{color:#223c61;line-height:1.42}.intro-card .icon-dot{width:34px;height:34px;margin-bottom:10px}.icon-dot{width:42px;height:42px;color:var(--blue);background:linear-gradient(130deg,#e5effd,#fff8ec);border-radius:999px;place-items:center;margin-bottom:10px;font-weight:700;display:grid}.split{grid-template-columns:320px 1fr;align-items:center;gap:24px;display:grid}.portrait,.map-img{object-fit:cover;width:100%;box-shadow:var(--shadow);border-radius:20px}blockquote{border-left:4px solid var(--gold);color:#2b3750;margin:16px 0;padding-left:14px;line-height:1.7}.signature{color:var(--gold);font-weight:700}.stats-band{color:#ecf4ff;background:linear-gradient(145deg,#081f42 0%,#0f4e9f 60%,#225fbc 100%);margin-top:20px;margin-bottom:20px}.stat-card{background:#ffffff14;border-color:#ffffff3d}.stat-number{color:#fff;margin-bottom:10px;font-family:Barlow,sans-serif;font-size:2.1rem;font-weight:700}.timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.time{color:var(--blue);margin-bottom:8px;font-weight:700}.image-card,.speaker-card,.news-card,.company-card{text-align:left;gap:10px;display:grid}.image-card img,.speaker-card img,.news-card img,.gallery-item img,.modal-card>img{aspect-ratio:16/10;object-fit:cover;border-radius:12px;width:100%}.company-card{text-align:center;border:1px solid #d8e5f9}.sponsor-groups{gap:14px;display:grid}.sponsor-tier{background:#f9fbff;border:1px solid #d4e2f7;border-radius:18px;padding:14px;box-shadow:0 10px 24px #113a7414}.sponsor-tier-head{justify-content:center;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sponsor-tier-head h3{color:var(--navy);margin:0;font-family:Barlow,sans-serif;font-size:1.22rem}.sponsor-tier-head span{color:#0f3a73;background:#e2ecfa;border-radius:999px;place-items:center;min-width:30px;height:30px;font-weight:700;display:grid}.card-grid.three.sponsor-grid{grid-template-columns:repeat(auto-fit,minmax(240px,290px));justify-content:center;gap:12px;display:grid}.sponsor-card{text-align:center;border-color:#cddcf3;align-content:start;justify-items:center;min-height:230px;padding:42px 14px 14px;position:relative}.sponsor-card h3{color:#0b2a53;margin-top:0;margin-bottom:6px;font-family:Barlow,sans-serif;font-size:1.6rem}.sponsor-card p{color:#1f4169;text-align:center;max-width:30ch;margin:0;line-height:1.45}.sponsor-badge{letter-spacing:.2px;border-radius:999px;padding:5px 12px;font-size:.76rem;font-weight:700;line-height:1;position:absolute;top:12px;left:50%;transform:translate(-50%)}.sponsor-badge-gold{color:#624000;background:linear-gradient(120deg,#ffe8a6,#f7c953)}.sponsor-badge-silver{color:#37485f;background:linear-gradient(120deg,#eef3fb,#c7d3e7)}.sponsor-badge-bronze{color:#613319;background:linear-gradient(120deg,#f2c8a7,#d7935e)}.sponsor-badge-other{color:#18417a;background:linear-gradient(120deg,#d8e9ff,#b7cff1)}.sponsor-tier-gold{background:linear-gradient(165deg,#fff9e7 0%,#fff5da 100%);border-color:#edd089}.sponsor-tier-gold .sponsor-tier-head span{color:#5a3a00;background:#fbe2a4}.sponsor-tier-silver{background:linear-gradient(165deg,#fbfdff 0%,#f2f7ff 100%);border-color:#c9d3e4}.sponsor-tier-silver .sponsor-tier-head span{color:#34465f;background:#dbe4f2}.sponsor-tier-bronze{background:linear-gradient(165deg,#fff5ef 0%,#ffe8d8 100%);border-color:#dfb79d}.sponsor-tier-bronze .sponsor-tier-head span{color:#5a2e17;background:#edc4a3}.sponsor-desc{margin-bottom:14px}.company-card img,.modal-logo{object-fit:contain;background:#fff;border:1px solid #dce8f9;border-radius:10px;width:100%;max-height:86px;padding:10px}.gallery-grid .gallery-item{cursor:pointer;background:0 0;border:none;padding:0}.faq-list{gap:10px;display:grid}.faq-item{background:linear-gradient(#fff 0%,#f8fbff 100%);border-color:#d2e1f7;padding:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.faq-item:hover{border-color:#bed2f2;box-shadow:0 10px 24px #113a741a}.faq-question{text-align:left;color:#082e66;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 18px;font-size:clamp(1.04rem,1.9vw,1.2rem);font-weight:700;display:flex}.faq-toggle{color:#fff;background:linear-gradient(130deg,#0b63ce,#2457af);border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-weight:700;transition:transform .18s;display:grid;transform:rotate(0)}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-answer{color:#1f3250;margin:0;padding:0 18px 16px;line-height:1.6}.footer{background:var(--navy);color:#f0f6ff;margin-top:60px;padding:44px 0 50px}.footer a{color:#a7ceff}.contact-people{margin:12px 0}.contact-people-title{margin-bottom:6px;font-weight:600}.contact-people ul{margin:0;padding-left:20px}.contact-people li{margin-bottom:6px}.muted{color:var(--muted)}.modal-backdrop{z-index:70;background:#0a1221b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(720px,92vw);max-height:88vh;padding:18px;position:relative;overflow:auto}.image-viewer{width:min(900px,92vw)}.image-viewer img{aspect-ratio:auto;max-height:70vh}.close{color:#fff;cursor:pointer;background:#0b63ce;border:none;border-radius:50%;width:34px;height:34px;position:absolute;top:10px;right:10px}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.admin-login-page,.admin-dashboard-page{background:linear-gradient(140deg,#f2f7ff 0%,#f7fbff 40%,#fff7e9 100%);min-height:100vh;padding:30px 4vw}.admin-login-page{place-items:center;display:grid}.admin-login-card{width:min(480px,94vw);padding:24px}.admin-login-card form,.admin-dashboard-page{gap:12px;display:grid}.admin-login-card input,.upload-box input,.news-editor-item input,.news-editor-item textarea,.editor-box textarea,.upload-box textarea{border:1px solid #c9d9ef;border-radius:10px;width:100%;padding:10px}.admin-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.admin-sidebar{box-shadow:var(--shadow);background:#fff;border:1px solid #dbe7f7;border-radius:16px;gap:8px;padding:14px;display:grid;position:sticky;top:92px}.admin-sidebar h2{color:var(--navy);font-size:1.02rem}.admin-sidebar button{text-align:left;color:#173359;cursor:pointer;background:#f5f9ff;border:1px solid #d3e2f6;border-radius:10px;padding:10px}.admin-sidebar button:hover{background:#e8f1ff}.admin-main-content{gap:14px;display:grid}.admin-actions{gap:8px;display:flex}.admin-actions .ghost{padding:10px 12px}.admin-actions .danger{color:#a11}.editor-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.editor-box textarea{min-height:220px;font-family:Consolas,monospace;font-size:.92rem}.uploaded-url-list{gap:8px;margin-top:10px;display:grid}.media-library-block{border-top:1px dashed #c8d8ef;margin-top:16px;padding-top:14px}.media-library-header{margin-bottom:8px}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.media-item{background:#fff;border:1px solid #d7e4f7;border-radius:12px;overflow:hidden}.media-item img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.media-item-meta{gap:8px;padding:10px;display:grid}.media-item-meta input{border:1px solid #ccdaef;border-radius:8px;width:100%;padding:8px;font-size:.86rem}.media-item-meta .inline-actions{justify-content:space-between;align-items:center}.media-item-meta a{color:var(--blue);font-weight:600;text-decoration:none}.media-item-meta a:hover{text-decoration:underline}.inline-actions{gap:8px;display:flex}.news-editor-item{background:#fcfdff;border:1px solid #d6e2f3;border-radius:14px;gap:10px;margin-top:10px;padding:12px;display:grid}.news-row{grid-template-columns:1.5fr 1fr 1fr;gap:10px;display:grid}.rich-editor{gap:8px;display:grid}.rich-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rich-toolbar button{color:#10294a;cursor:pointer;background:#fff;border:1px solid #d3e1f5;border-radius:8px;padding:6px 10px}.rich-content-box{background:#fff;border:1px solid #ccd9ef;border-radius:10px;min-height:190px;padding:10px;overflow:auto}.rich-content-box img,.rich-html img{border-radius:8px;max-width:100%}.rich-content-box:focus{outline-offset:1px;outline:2px solid #7eaeea}.hidden-input{display:none}.rich-html{margin-top:8px;line-height:1.6}.error-text{color:#a71919}.success-text{color:#0c7c38}@media (width<=1024px){.hero,.split,.timeline,.admin-layout,.news-row{grid-template-columns:1fr}.admin-sidebar{position:static}.media-grid,.card-grid.four,.card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three.sponsor-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));justify-content:stretch}.top-nav .cta{display:none}.hamburger{display:inline-block}.menu{background:#071c3afa;border-top:1px solid #ffffff1f;flex-direction:column;align-items:stretch;gap:0;padding:10px 12px 14px;display:none;position:absolute;top:78px;left:0;right:0}.menu.open{display:flex}.menu button{text-align:left}}@media (width<=640px){.card-grid.four,.card-grid.three,.timeline,.card-grid.three.sponsor-grid{grid-template-columns:1fr}.sponsor-card{min-height:unset}.section{padding-top:58px}.admin-header,.editor-header{flex-direction:column;align-items:flex-start}.inline-actions{flex-direction:column;width:100%}.activity-item{grid-template-columns:30px minmax(0,1fr);padding:10px}.activity-index{width:26px;height:26px;font-size:.9rem}.media-grid{grid-template-columns:1fr}}
