
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Bebas+Neue&family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root{
  --navy:#424874; --navy-dk:#282c4a; --navy-deep:#181b30;
  --lavender:#DCD6F7; --periwinkle:#A6B1E1; --grey-lav:#CACFD6; --sage:#D6E5E3;
  --ink:#14152a; --white:#ffffff;
  --line: rgba(255,255,255,0.16); --line-dk: rgba(20,21,42,0.12);
  --radius: 14px;
}
*{ box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; font-size:17px; }
body{ font-family:'Montserrat', sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; line-height:1.6; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.display{ font-family:'Oswald', sans-serif; font-weight:700; text-transform:uppercase; }
.accent-font{ font-family:'Bebas Neue', sans-serif; font-weight:400; letter-spacing:0.02em; }
.wrap{ max-width:1240px; margin:0 auto; padding:0 clamp(20px,5vw,40px); }
.mono-label{ font-family:'Montserrat'; font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; }

/* ---------------- ANNOUNCEMENT BAR ---------------- */
.abar{ background:var(--navy-deep); color:#e7e8f5; text-align:center; padding:11px 16px; font-size:14px; font-weight:500; line-height:1.5; }
.abar b{ color:var(--periwinkle); font-weight:700; }

/* ---------------- NAV ---------------- */
.nav{ position:sticky; top:0; z-index:300; background:rgba(20,22,45,0.96); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav-inner{ max-width:1240px; margin:0 auto; padding:12px clamp(20px,5vw,40px); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand{ display:flex; align-items:center; gap:12px; min-width:0; }
.logo-cluster{ display:flex; align-items:center; gap:8px; flex:none; }
.logo-slot{ width:57px; height:57px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden; }
.logo-slot img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.logo-slot.placeholder{ background:transparent; border:1.5px dashed rgba(166,177,225,0.6); }
.logo-slot.placeholder svg{ width:17px; height:17px; stroke:var(--periwinkle); }
.logo-div{ width:1px; height:38px; background:var(--line); flex:none; }
.brand-text{ line-height:1.25; min-width:0; }
.brand-text .l1{ font-size:10px; font-weight:700; letter-spacing:0.1em; color:var(--periwinkle); text-transform:uppercase; }
.brand-text .l2{ font-size:14px; font-weight:700; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{ font-size:14.5px; font-weight:600; color:#c5c8e6; padding-bottom:3px; border-bottom:2px solid transparent; }
.nav-links a:hover{ color:var(--white); }
.nav-links a.active{ color:var(--white); border-bottom-color:var(--periwinkle); }
.nav-cta{ background:var(--white); color:var(--navy-deep); font-weight:700; font-size:14px; padding:12px 22px; border-radius:30px; border:1px solid var(--white); white-space:nowrap; }
.nav-cta:hover{ background:var(--periwinkle); }
#desktop-cta{ display:inline-flex; }
@media (max-width:900px){ #desktop-cta{ display:none; } }

.burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; flex:none; cursor:pointer; background:none; border:none; padding:0; }
.burger span, .burger span::before, .burger span::after{
  content:''; display:block; width:22px; height:2.5px; background:var(--white); border-radius:2px; position:relative; transition:all .2s;
}
.burger span::before{ position:absolute; top:-7px; }
.burger span::after{ position:absolute; top:7px; }
.mobile-panel{
  display:none; position:fixed; inset:0 0 auto 0; top:0; z-index:250;
  background:var(--navy-deep); padding:170px 28px 32px; flex-direction:column; gap:6px;
  height:100vh; overflow-y:auto;
}
.mobile-panel a{ font-size:19px; font-weight:600; color:var(--white); padding:16px 4px; border-bottom:1px solid var(--line); }
.mobile-panel a.nav-cta{ margin-top:20px; text-align:center; font-size:16px; padding:16px; color:var(--navy-deep); border-bottom:none; justify-content:center; }
.mobile-panel.open{ display:flex; }
.burger[aria-expanded="true"] span{ background:transparent; }
.burger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.burger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

@media (max-width:900px){
  .nav-links{ display:none; }
  .burger{ display:flex; }
  .logo-slot{ width:44px; height:44px; }
  .logo-div{ height:30px; }
  .brand-text .l2{ font-size:13px; }
}
@media (max-width:400px){
  .brand-text{ display:none; }
}

/* ---------------- HERO ---------------- */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; background:var(--navy-deep); overflow:hidden; padding:36px 0 48px; }
.hero::before{ content:''; position:absolute; inset:0; background-image:url('../img/hero-bg.jpg'); background-size:cover; background-position:center 25%; opacity:0.30; }
.hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(24,27,48,0.6) 0%, rgba(24,27,48,0.42) 30%, var(--navy-deep) 94%); }
.hero-inner{ position:relative; z-index:2; width:100%; }

/* presenting line — small intro sentence, not a heading */
.presents-line{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-family:'Montserrat'; font-weight:600; font-size:clamp(13px,1.6vw,15px);
  letter-spacing:0.04em; color:#a7abd1; margin-bottom:18px; max-width:680px; line-height:1.5;
  text-transform:uppercase;
}
.presents-line .mac-chip{ height:28px; display:flex; align-items:center; background:var(--white); border-radius:6px; padding:4px 10px; flex:none; }
.presents-line .mac-chip img{ height:100%; width:auto; display:block; }

/* conference name — H1, the largest heading on the page */
.conf-name{
  font-family:'Oswald'; font-weight:700; letter-spacing:0.01em; text-transform:uppercase;
  font-size:clamp(40px,7vw,76px); line-height:1.04; color:var(--white); margin-bottom:20px;
}
.conf-name span{ color:var(--periwinkle); }

/* theme — H2, smaller than H1, still a strong hero headline */
.hero .theme-title{ font-weight:400; color:var(--periwinkle); font-size:clamp(32px, 5.4vw, 58px); line-height:1.03; letter-spacing:0.005em; text-transform:uppercase; margin-bottom:22px; }

/* subtheme — H3, plain text, no label, no container */
.subtheme-line{
  font-family:'Montserrat'; font-weight:600; font-size:clamp(17px,2.2vw,21px);
  line-height:1.6; color:var(--white); margin-bottom:32px; max-width:700px;
}

/* dates — H3, boxed badge, restored to its original style and size */
.date-badge{
  display:inline-flex; align-items:center; gap:26px; flex-wrap:wrap;
  background:rgba(255,255,255,0.06); border:1px solid rgba(166,177,225,0.45);
  border-radius:var(--radius); padding:20px 30px; margin-bottom:36px;
}
.date-badge .icon{
  width:46px; height:46px; border-radius:50%; background:var(--periwinkle); flex:none;
  display:flex; align-items:center; justify-content:center;
}
.date-badge .icon svg{ width:22px; height:22px; stroke:var(--navy-deep); }
.date-badge .d-entry{ display:flex; flex-direction:column; gap:5px; }
.date-badge .d-entry .main{ font-family:'Bebas Neue'; font-weight:400; font-size:26px; letter-spacing:0.03em; color:var(--white); line-height:1; margin:0; }
.date-badge .d-entry .cap{ font-family:'Montserrat'; font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--periwinkle); }
.date-badge .d-div{ width:1px; height:40px; background:rgba(166,177,225,0.35); flex:none; }

.hero-sub{ max-width:600px; font-size:16.5px; line-height:1.75; color:#c9cce6; margin-bottom:30px; }

.hero-ctas{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.hero-cta{ display:inline-flex; align-items:center; gap:10px; background:var(--white); color:var(--navy-deep); font-weight:700; font-size:15.5px; padding:17px 28px; border-radius:30px; white-space:nowrap; }
.hero-cta:hover{ background:var(--periwinkle); }
.hero-cta-ghost{ display:inline-flex; align-items:center; gap:10px; color:var(--white); font-weight:600; font-size:15px; padding:17px 4px; border-bottom:1.5px solid rgba(255,255,255,0.4); }
.hero-cta-ghost:hover{ border-color:var(--white); }

/* ---------------- STATS STRIP ---------------- */
.stats-strip{ background:var(--white); border-bottom:1px solid var(--line-dk); }
.stats-strip .wrap{ display:grid; grid-template-columns:repeat(3,1fr); }
.stat-item{ padding:30px clamp(16px,3vw,40px); border-left:1px solid var(--line-dk); display:flex; flex-direction:column; gap:6px; }
.stat-item:first-child{ border-left:none; padding-left:0; }
.stat-item .num{ font-family:'Bebas Neue'; font-size:44px; color:var(--navy); }
.stat-item .lbl{ font-size:14px; color:#5c5e78; font-weight:500; line-height:1.5; }

/* ---------------- SECTION SHELL ---------------- */
section{ padding:clamp(64px,9vw,110px) 0; }
.sec-head{ margin-bottom:52px; max-width:720px; }
.about-brand{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.about-logo{ height:34px; width:auto; border-radius:5px; }
.sec-head .mono-label{ color:var(--navy); display:block; margin-bottom:14px; }
.about-brand .mono-label{ margin-bottom:0; }
.sec-head h2{ font-family:'Montserrat'; font-size:clamp(26px,3.6vw,40px); font-weight:800; letter-spacing:-0.01em; line-height:1.18; color:var(--ink); }
.sec-head .desc{ font-size:16px; line-height:1.8; color:#4a4c66; margin-top:16px; max-width:560px; }

/* about — single reading path, no competing columns */
.about-copy{ max-width:700px; }
.about-copy p{ font-size:17px; line-height:1.9; color:#3f4159; margin-bottom:20px; }
.about-facts{ margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dk); border:1px solid var(--line-dk); border-radius:var(--radius); overflow:hidden; }
.about-facts .f{ background:var(--white); padding:22px 24px; display:flex; flex-direction:column; gap:8px; }
.about-facts .f .k{ font-family:'Bebas Neue'; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; color:#8b8da8; }
.about-facts .f .v{ font-size:15px; font-weight:700; color:var(--ink); line-height:1.4; }

/* pillars */
.pillar-row{ display:grid; grid-template-columns:64px 1fr 1.4fr; gap:28px; align-items:start; padding:30px 0; border-top:1px solid var(--line-dk); }
.pillar-row:last-child{ border-bottom:1px solid var(--line-dk); }
.pillar-row .idx{ font-family:'Bebas Neue'; font-size:26px; color:var(--periwinkle); padding-top:2px; }
.pillar-row h3{ font-family:'Montserrat'; font-size:21px; font-weight:700; color:var(--ink); }
.pillar-row p{ font-size:15px; line-height:1.8; color:#4a4c66; }

/* schedule preview */
.schedule-preview{ background:var(--sage); }
.sp-row{ display:grid; grid-template-columns:150px 1fr 150px; gap:16px; align-items:center; padding:22px 24px; background:var(--white); border-radius:var(--radius); margin-bottom:12px; }
.sp-row .d{ font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--navy); }
.sp-row .t{ font-size:14.5px; color:#3f4159; }
.sp-row .tag{ justify-self:end; font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--navy); background:var(--lavender); padding:7px 14px; border-radius:20px; }
.see-full{ margin-top:22px; display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:700; color:var(--navy); border-bottom:2px solid var(--navy); padding-bottom:3px; }

/* venue */
.venue{ background:var(--navy-deep); color:var(--white); padding:0; display:grid; grid-template-columns:1.1fr 1fr; }
.venue-img{ position:relative; overflow:hidden; min-height:420px; }
.venue-img img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.venue-copy{ padding:clamp(48px,7vw,96px) clamp(24px,5vw,60px); display:flex; flex-direction:column; justify-content:center; }
.venue .mono-label{ color:var(--periwinkle); }
.venue h2{ font-family:'Montserrat'; font-weight:800; font-size:clamp(28px,3.4vw,38px); margin:16px 0 18px; line-height:1.2; }
.venue p.desc{ font-size:15.5px; line-height:1.8; color:#c1c4e0; max-width:420px; }
.venue-facts{ margin-top:30px; display:flex; flex-direction:column; }
.venue-facts .fact{ display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid var(--line); font-size:13.5px; color:#dcdeef; }
.venue-facts .fact:last-child{ border-bottom:1px solid var(--line); }
.venue-facts .fact .k{ color:#8f93bf; font-weight:600; }

/* register */
.register{ background:var(--navy); color:var(--white); padding:clamp(64px,9vw,100px) 0; }
.register .wrap{ display:grid; grid-template-columns:1.3fr 0.9fr; gap:48px; align-items:center; }
.register .mono-label{ color:var(--periwinkle); }
.register h2{ font-family:'Montserrat'; font-weight:800; font-size:clamp(28px,3.8vw,46px); margin-top:16px; line-height:1.15; }
.register-btn{ display:inline-flex; align-items:center; justify-content:space-between; gap:20px; background:var(--white); color:var(--navy-deep); font-weight:700; font-size:16px; padding:19px 26px; border-radius:30px; width:100%; }
.register-btn:hover{ background:var(--periwinkle); }
.register-note{ margin-top:14px; font-size:13px; color:#c1c4e0; line-height:1.6; }

/* footer */
footer{ background:var(--navy-deep); color:#9498c2; padding:56px 0 26px; }
.foot-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.foot-brand{ display:flex; align-items:center; gap:12px; max-width:320px; }
.foot-brand .brand-text .l2{ color:var(--white); white-space:normal; }
.foot-cols{ display:flex; gap:56px; flex-wrap:wrap; }
.foot-col h4{ font-family:'Montserrat'; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#c5c8e6; margin-bottom:15px; font-weight:700; }
.foot-col a, .foot-col span{ display:block; font-size:14px; color:#9498c2; margin-bottom:11px; }
.social-icons{ display:flex; align-items:center; gap:12px; margin-top:2px; }
.social-icons a{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.16); color:#c5c8e6; flex:none; }
.social-icons a:hover{ color:#ffffff; border-color:#A6B1E1; background:rgba(166,177,225,0.1); }
.social-icons a svg{ width:18px; height:18px; }
.foot-col a:hover{ color:var(--white); }
.foot-bottom{ padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px; color:#6d719c; }

/* ---------------- PAGE HEAD (schedule/poster pages) ---------------- */
.page-head{ background:var(--navy-deep); color:var(--white); padding:64px 0 48px; position:relative; overflow:hidden; }
.page-head::before{ content:''; position:absolute; inset:0; background-image:url('../img/hero-bg.jpg'); background-size:cover; background-position:center 30%; opacity:0.16; }
.page-head::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(24,27,48,0.5), var(--navy-deep) 90%); }
.page-head .wrap, .page-head .inner{ position:relative; z-index:2; }
.page-head .mono-label{ color:var(--periwinkle); }
.page-head h1{ font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size:clamp(34px,5.4vw,58px); margin-top:16px; }
.page-head p{ margin-top:16px; max-width:620px; font-size:16px; color:#c1c4e0; line-height:1.8; }
/* countdown widget — used in the hero and on the poster-presentation page-head */
.countdown-block{ margin:6px 0 30px; }
.countdown-label{ font-family:'Montserrat'; font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--periwinkle); margin-bottom:14px; }
.countdown{ display:flex; gap:14px; flex-wrap:wrap; }
.countdown .c-item{
  background:rgba(255,255,255,0.06); border:1px solid rgba(166,177,225,0.4);
  border-radius:var(--radius); padding:14px 20px; min-width:78px; text-align:center;
}
.countdown .c-item .num{ display:block; font-family:'Bebas Neue'; font-size:30px; color:var(--white); line-height:1; }
.countdown .c-item .lbl{ display:block; font-family:'Montserrat'; font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--periwinkle); margin-top:6px; }

/* schedule table */
.tbd-note{ display:inline-flex; align-items:center; gap:8px; background:var(--lavender); color:var(--navy-dk); font-size:13.5px; font-weight:700; padding:10px 18px; border-radius:30px; margin-bottom:30px; }
.table-scroll{ overflow-x:auto; border:1px solid var(--line-dk); border-radius:var(--radius); }
.sched-table{ width:100%; border-collapse:collapse; }
.sched-table thead th{ text-align:left; font-family:'Montserrat'; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--navy); padding:16px 18px; border-bottom:2px solid var(--navy); background:var(--sage); }
.sched-table tbody td{ padding:18px; font-size:14.5px; color:var(--ink); border-bottom:1px solid var(--line-dk); vertical-align:top; }
.fee-group{ background:var(--lavender); color:var(--navy); font-family:'Bebas Neue'; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; padding:12px 18px !important; }
.sched-table tbody tr:hover{ background:rgba(220,214,247,0.18); }
.sched-table .day-cell{ font-family:'Montserrat'; font-weight:700; color:var(--navy); white-space:nowrap; }
.sched-table .date-cell{ color:#5c5e78; white-space:nowrap; }
.sched-table .tbd{ color:#9a9cb8; font-style:italic; }
.type-tag{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--navy); background:var(--lavender); padding:6px 12px; border-radius:16px; white-space:nowrap; }
.ref-note{ margin-top:28px; padding:24px 26px; background:var(--sage); border-radius:var(--radius); font-size:14.5px; line-height:1.85; color:#2f3151; }
.ref-note b{ color:var(--navy); }

/* mobile card table */
@media (max-width:700px){
  .table-scroll{ border:none; overflow-x:visible; }
  .sched-table{ min-width:0; }
  .sched-table thead{ display:none; }
  .sched-table tbody tr{ display:block; background:var(--white); border:1px solid var(--line-dk); border-radius:var(--radius); margin-bottom:14px; padding:6px 4px; }
  .sched-table tbody td{ display:flex; justify-content:space-between; gap:14px; align-items:center; border-bottom:1px solid var(--line-dk); padding:12px 14px; text-align:right; }
  .sched-table tbody td:last-child{ border-bottom:none; }
  .sched-table tbody td::before{ content:attr(data-label); font-family:'Montserrat'; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:#8b8da8; text-align:left; font-weight:700; }
  .sched-table .day-cell{ white-space:normal; }
  .sched-table tbody tr:has(.fee-group){ background:transparent; border:none; margin-bottom:8px; }
  .fee-group{ display:block !important; text-align:left; border-radius:var(--radius); }
  .fee-group::before{ content:none !important; }
}

/* poster presentation page */
.content-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.block h2{ font-family:'Montserrat'; font-size:23px; font-weight:800; margin-bottom:18px; color:var(--ink); }
.block ul{ list-style:none; }
.block ul li{ font-size:15px; line-height:1.8; color:#3f4159; padding:12px 0 12px 24px; position:relative; border-top:1px solid var(--line-dk); }
.block ul li:last-child{ border-bottom:1px solid var(--line-dk); }
.block ul li::before{ content:''; position:absolute; left:0; top:21px; width:7px; height:7px; border-radius:50%; background:var(--periwinkle); }
.block ul li b{ color:var(--ink); }

.submit-inner{ background:var(--navy); color:var(--white); border-radius:var(--radius); padding:clamp(28px,5vw,44px); display:grid; grid-template-columns:1.3fr 0.9fr; gap:36px; align-items:center; }
.email-checklist{ list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:9px; }
.email-checklist li{ font-size:14px; color:#e4e5f2; padding-left:22px; position:relative; }
.email-checklist li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; border-radius:50%; background:var(--periwinkle); }

/* abstract submission form */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field-full{ margin-top:4px; margin-bottom:24px; }
.form-field label{ font-family:'Montserrat'; font-size:12px; font-weight:700; letter-spacing:0.06em; color:var(--periwinkle); text-transform:uppercase; }
.form-field label .form-hint{ text-transform:none; font-weight:500; color:#a7abd1; letter-spacing:0; font-size:12px; }
.form-field input, .form-field textarea{
  background:rgba(255,255,255,0.07); border:1.5px solid rgba(166,177,225,0.35); border-radius:10px;
  padding:13px 16px; font-family:'Montserrat'; font-size:14.5px; color:var(--white); outline:none; transition:border-color .15s; width:100%;
}
.form-field input::placeholder, .form-field textarea::placeholder{ color:#8b8ec2; }
.form-field input:focus, .form-field textarea:focus{ border-color:var(--periwinkle); }
.form-field textarea{ resize:vertical; min-height:150px; font-family:'Montserrat'; line-height:1.6; }
.word-count{ align-self:flex-end; font-family:'Montserrat'; font-size:12px; color:#a7abd1; margin-top:6px; }
.word-count.over-limit{ color:#ff9494; font-weight:700; }
@media (max-width:700px){ .form-grid{ grid-template-columns:1fr; } }
.submit-inner .mono-label{ color:var(--periwinkle); }
.submit-inner h2{ font-family:'Montserrat'; font-size:26px; font-weight:800; margin-top:12px; }
.submit-inner p{ margin-top:12px; font-size:14.5px; color:#dadcee; line-height:1.8; max-width:420px; }
.submit-btn{ display:inline-flex; align-items:center; justify-content:space-between; gap:16px; background:var(--white); color:var(--navy-deep); font-weight:700; font-size:15.5px; padding:19px 24px; border-radius:30px; width:100%; border:none; cursor:pointer; font-family:'Montserrat'; }
.submit-btn:hover{ background:var(--periwinkle); }
.submit-note{ margin-top:12px; font-size:12.5px; color:#c1c4e0; }

/* upload box — abstract/poster file upload UI */
.upload-box{ display:flex; flex-direction:column; gap:14px; }
.upload-label{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  background:rgba(255,255,255,0.05); border:1.5px dashed rgba(166,177,225,0.5);
  border-radius:var(--radius); padding:28px 20px; cursor:pointer; text-align:center; transition:background .15s;
}
.upload-label:hover{ background:rgba(255,255,255,0.09); }
.upload-text{ font-family:'Montserrat'; font-weight:700; font-size:14.5px; color:var(--white); }
.upload-hint{ font-family:'Montserrat'; font-size:12px; color:#a7abd1; }
.upload-filename{ font-family:'Montserrat'; font-size:12.5px; color:var(--periwinkle); font-weight:600; min-height:16px; }

.process-row{ display:grid; grid-template-columns:60px 1fr; gap:22px; padding:26px 0; border-top:1px solid var(--line-dk); }
.process-row:last-child{ border-bottom:1px solid var(--line-dk); }
.process-row .idx{ font-family:'Bebas Neue'; color:var(--periwinkle); font-size:26px; }
.process-row h3{ font-family:'Montserrat'; font-size:17px; font-weight:700; margin-bottom:6px; }
.process-row p{ font-size:14.5px; color:#4a4c66; line-height:1.8; }

/* responsive */
@media (max-width: 900px){
  html{ font-size:16px; }
  .content-grid, .submit-inner{ grid-template-columns:1fr; gap:32px; }
  .about-facts{ grid-template-columns:1fr; }
  .pillar-row{ grid-template-columns:40px 1fr; }
  .pillar-row > p{ grid-column:2/3; }
  .venue{ grid-template-columns:1fr; }
  .venue-img{ min-height:260px; }
  .stats-strip .wrap{ grid-template-columns:1fr; }
  .stat-item{ border-left:none; border-top:1px solid var(--line-dk); padding:22px 0; }
  .stat-item:first-child{ border-top:none; }
  .register .wrap{ grid-template-columns:1fr; }
  .sp-row{ grid-template-columns:1fr; text-align:left; gap:8px; }
  .sp-row .tag{ justify-self:start; margin-top:4px; }
  .big-dates .d{ font-size:40px; }
  .big-dates .d-row svg{ width:28px; height:28px; }
  .date-badge{ padding:18px 22px; border-radius:var(--radius); }
  .date-badge .d-div{ display:none; }
  .date-badge .d-entry .main{ font-size:23px; }
}
@media (max-width:520px){
  .hero{ padding:24px 0 40px; }
  .foot-cols{ gap:36px; }
  .abar{ font-size:12.5px; padding:9px 14px; }
  .mobile-panel{ padding-top:150px; }
}


/* ---------------- STING 2026 FEATURE ---------------- */
.sting-section{ background:linear-gradient(135deg,#181b30 0%,#282c4a 58%,#424874 100%); color:var(--white); }
.sting-layout{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr); gap:clamp(32px,7vw,88px); align-items:center; }
.sting-copy .mono-label{ color:var(--periwinkle); margin-bottom:14px; }
.sting-copy h2{ font-size:clamp(42px,6vw,68px); line-height:1; letter-spacing:.04em; margin-bottom:16px; }
.sting-subtitle{ font-size:clamp(18px,2.2vw,24px)!important; font-weight:700; line-height:1.45!important; color:#fff!important; margin-bottom:16px; }
.sting-copy>p{ max-width:650px; color:#d6d9ec; font-size:15px; line-height:1.8; }
.sting-details{ display:grid; gap:14px; margin:26px 0 18px; }
.sting-details>div{ display:flex; flex-direction:column; gap:3px; }
.sting-key{ font-size:11px; text-transform:uppercase; letter-spacing:.13em; color:var(--periwinkle); font-weight:700; }
.sting-details strong{ font-size:15px; color:#fff; }
.sting-copy .sting-note{ border-left:3px solid var(--periwinkle); padding:10px 14px; background:rgba(255,255,255,.06); margin:18px 0 24px; }
.sting-btn{ display:inline-flex; align-items:center; gap:14px; padding:14px 22px; border-radius:30px; background:#fff; color:var(--navy-deep); font-weight:700; font-size:14px; }
.sting-btn:hover{ background:var(--periwinkle); }
.sting-poster{ display:block; max-width:430px; justify-self:center; width:100%; padding:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:12px; box-shadow:0 18px 55px rgba(0,0,0,.25); }
.sting-poster img{ width:100%; height:auto; border-radius:5px; }
.sting-poster span{ display:block; text-align:center; padding:10px 0 2px; font-size:12px; font-weight:700; color:#dce2ff; }
.workshop-day{ margin-top:18px; font-size:15px; color:var(--periwinkle); font-weight:700; }
@media(max-width:760px){ .sting-layout{ grid-template-columns:1fr; } .sting-poster{ max-width:360px; } }

/* Poster & oral presentation band on the homepage */
.presentations-band{ background:#f7f7fb; }
.presentations-band .sec-head{ max-width:900px; }
.presentation-deadline{ margin-top:14px; color:var(--navy); font-size:14px; }
.presentation-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:34px; }
.presentation-card{ background:#fff; border:1px solid #e4e6ef; border-radius:16px; padding:28px; box-shadow:0 10px 28px rgba(24,27,48,.06); }
.presentation-icon{ width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:#e4f4ee; color:#3b6d62; font-size:21px; margin-bottom:20px; }
.presentation-icon--oral{ background:#ecebfb; color:#625fa0; }
.presentation-card h3{ font-family:'Montserrat'; font-size:22px; color:var(--navy); margin-bottom:18px; }
.presentation-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.presentation-tags span{ background:#e3f4ef; color:#42766b; border-radius:999px; padding:7px 11px; font-size:12px; font-weight:700; }
.presentation-tags--oral span{ background:#eceafb; color:#65619e; }
.prize-line{ margin:20px 0; color:#4a4c66; font-size:14px; font-weight:600; }
.presentation-btn{ display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #dfe1e9; border-radius:10px; padding:12px 15px; color:var(--navy); font-size:14px; font-weight:700; background:#fff; }
.presentation-btn:hover{ background:#f1f2f8; }
@media(max-width:760px){ .presentation-cards{ grid-template-columns:1fr; } }
