:root{--color-base:#fafafa;--color-surface:#f0f0ec;--color-surface-alt:#e6e6e1;--color-text:#0a0a0a;--color-text-soft:#63635c;--color-line:#0a0a0a14;--color-line-strong:#8f8f86;--color-signal:#ff1e1e;--color-signal-bright:#ff4545;--font-display:"IBM Plex Mono", monospace;--font-body:"IBM Plex Sans", sans-serif;--space-xs:.5rem;--space-sm:.75rem;--space-md:1.25rem;--space-lg:2rem;--space-xl:3.5rem;--space-2xl:5.5rem;--container-width:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-base);color:var(--color-text);font-family:var(--font-body);margin:0;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container-width);padding-inline:var(--space-md);margin-inline:auto}.section{padding-block:var(--space-2xl);border-bottom:1px solid var(--color-line)}.section-head{margin-bottom:var(--space-lg);max-width:46rem}.section-heading{margin:0 0 var(--space-sm);font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;line-height:1.15}.section-lede{margin:0 0 var(--space-md);color:var(--color-text-soft);max-width:52ch;font-size:1.05rem}.eyebrow{margin:0 0 var(--space-xs);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-soft);font-size:.72rem;font-weight:500}.mono-figure{font-family:var(--font-display);font-variant-numeric:tabular-nums}.btn{border:1px solid var(--color-text);color:var(--color-text);font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.4rem;padding:.75em 1.35em;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn-primary{background:var(--color-signal);border-color:var(--color-signal);color:#0a0a0a}.btn-primary:hover{background:var(--color-signal-bright);border-color:var(--color-signal-bright)}.btn-outline{background:0 0}.btn-outline:hover{background:var(--color-text);color:var(--color-base)}.btn-arrow{transition:transform .15s;display:inline-block}.btn:hover .btn-arrow{transform:translate(3px)}.stamp{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid;padding:.25em .55em;font-size:.68rem;font-weight:600;line-height:1.2;display:inline-block}.stamp-agri{color:#1a6b3c;border-color:#1a6b3c}.stamp-health{color:#0b4f8a;border-color:#0b4f8a}.stamp-edu{color:#7a3e00;border-color:#7a3e00}.sector-key{flex-wrap:wrap;gap:.5rem;display:flex}.skip-link{z-index:100;background:var(--color-text);color:var(--color-base);font-family:var(--font-display);padding:.6rem 1rem;font-size:.85rem;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.scroll-progress{background:var(--color-signal);z-index:60;pointer-events:none;width:0%;height:3px;position:fixed;top:0;left:0}.site-header{z-index:50;border-bottom:1px solid var(--color-text);background:#fff;position:sticky;top:0}.header-bar{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1600px;margin-inline:auto;padding-block:.75rem;display:flex}.site-logo{font-family:var(--font-display);letter-spacing:.04em;color:var(--color-text);font-size:.95rem;font-weight:700;line-height:1.15;text-decoration:none;display:inline-block}.site-logo .logo-year{letter-spacing:.08em;color:var(--color-text-soft);font-size:.68rem;font-weight:500;display:block}.nav-toggle{border:1px solid var(--color-text);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.5rem;height:2.5rem;padding:0;display:none}.nav-toggle-bar{background:var(--color-text);width:1.15rem;height:2px;display:block}.main-nav-list{align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.main-nav a{font-family:var(--font-display);color:var(--color-text);padding-bottom:.15rem;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.main-nav a:not(.btn):after{content:"";background:var(--color-signal);transform-origin:0;height:2px;transition:transform .15s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.main-nav a:not(.btn):hover:after,.main-nav a:not(.btn).is-active:after{transform:scaleX(1)}.main-nav a.nav-cta{padding:.55em 1.1em}@media (width<=860px){.nav-toggle{display:inline-flex}.main-nav{border-left:1px solid var(--color-text);z-index:40;background:#fff;padding:1.25rem;transition:transform .25s;position:fixed;inset:57px 0 0 30%;overflow-y:auto;transform:translate(105%)}.main-nav.is-open{transform:translate(0)}.main-nav-list{flex-direction:column;align-items:stretch;gap:0}.main-nav-list a{border-bottom:1px solid var(--color-line);padding:.9rem 0;display:block}.main-nav a.nav-cta{text-align:center;margin-top:1rem}}@media (width<=420px){.main-nav{left:0}}#footer{border-top:1px solid var(--color-line);padding-block:1.25rem}.footer-grid{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;display:flex}.footer-departments{color:var(--color-text-soft);font-family:var(--font-display);margin:.5rem 0 0;font-size:.78rem;line-height:1.5}.footer-meta{color:var(--color-text-soft);font-family:var(--font-display);text-align:right;font-size:.78rem;line-height:1.5}.footer-meta p{margin:0 0 .35rem}@media (width<=640px){.footer-meta{text-align:left}}[data-reveal]{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(14px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}.btn-arrow,.main-nav,.main-nav a:not(.btn):after{transition:none}}.page-header{border-bottom:1px solid var(--color-line-strong);padding-top:3.5rem;padding-bottom:2rem}.page-header .section-heading{margin-bottom:.75rem}#hero{padding-block:var(--space-xl) var(--space-2xl);border-bottom:1px solid var(--color-line)}.dot-field{background-image:radial-gradient(#0a0a0a0f 1px,#0000 1px);background-size:18px 18px}.hero-ticket{background:var(--color-surface);border:1px solid var(--color-line-strong);background-image:linear-gradient(#0a0a0a08 1px,#0000 1px),linear-gradient(90deg,#0a0a0a08 1px,#0000 1px);background-size:40px 40px;padding:3.5rem 2rem 0;position:relative;overflow:hidden}.hero-ticket:before,.hero-ticket:after{content:"";background:var(--color-base);border:1px solid var(--color-line-strong);width:26px;height:26px;box-shadow:0 0 0 1px var(--color-base);border-radius:50%;position:absolute;top:-13px}.hero-ticket:before{left:-13px}.hero-ticket:after{right:-13px}.hero-inner{z-index:1;position:relative}.hero-top{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;display:flex}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);font-size:.78rem;font-weight:500}.hero-badge-no{font-family:var(--font-display);letter-spacing:.12em;text-align:right;color:var(--color-text-soft);font-size:.68rem;font-weight:600;line-height:1.35}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;text-transform:uppercase;margin:0 0 1rem;font-size:clamp(2.6rem,8vw,5.5rem);font-weight:700;line-height:.95}.hero-tagline{max-width:46ch;color:var(--color-text-soft);margin:0 0 2rem;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:2rem;margin-bottom:3.5rem;display:flex}.hero-perforation{border-top:2px dashed var(--color-line-strong);height:0;margin:0 -2rem;position:relative}.hero-perforation:before,.hero-perforation:after{content:"";background:var(--color-base);border:1px solid var(--color-line-strong);border-radius:50%;width:26px;height:26px;position:absolute;top:-14px}.hero-perforation:before{left:-13px}.hero-perforation:after{right:-13px}.hero-strip{grid-template-columns:repeat(3,1fr);gap:0;padding:2rem 0 1.5rem;display:grid}.hero-strip-item{border-left:1px solid var(--color-line);padding:0 1.25rem}.hero-strip-item:first-child{border-left:0;padding-left:0}.hero-strip-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.35rem;font-size:.7rem;font-weight:500;display:block}.hero-strip-value{font-family:var(--font-display);font-size:1.05rem;font-weight:500;display:block}.hero-key{padding:0 0 2.5rem}@media (width<=720px){.hero-strip{grid-template-columns:1fr}.hero-strip-item{border-left:0;border-top:1px solid var(--color-line);padding:1rem 0}.hero-strip-item:first-child{border-top:0;padding-top:0}}#hackathon{background:#f0f0ec}.hackathon-grid{border-top:1px solid var(--color-line-strong);grid-template-columns:1fr 1fr minmax(220px,.7fr);gap:0;display:grid}.hackathon-track{border-left:1px solid var(--color-line-strong);padding:2rem}.hackathon-track:first-child{border-left:0}.hackathon-track-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.75rem;font-size:.72rem;font-weight:500;display:block}.hackathon-track h3{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.3rem;font-weight:600}.hackathon-track p{color:var(--color-text-soft);margin:0;font-size:.95rem}.hackathon-prize{border-left:1px solid var(--color-line-strong);flex-direction:column;justify-content:center;min-width:220px;padding:2rem;display:flex}.hackathon-prize-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:.75rem;font-size:.72rem;font-weight:500;display:block}.hackathon-prize-figure{color:var(--color-signal);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1;display:block}@media (width<=780px){.hackathon-grid{grid-template-columns:1fr}.hackathon-track,.hackathon-prize{border-left:0;border-top:1px solid var(--color-line-strong)}}.page-links-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.page-link-card{border:1px solid var(--color-line);border-top:3px solid var(--color-signal);background:#fff;padding:2rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.page-link-card:hover{box-shadow:0 8px 24px #0a0a0a0f}.page-link-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.15rem;font-weight:600;display:block}.page-link-desc{color:var(--color-text-soft);margin-bottom:1.25rem;font-size:.95rem;display:block}.page-link-arrow{font-family:var(--font-display);transition:transform .15s;display:inline-block}.page-link-card:hover .page-link-arrow{transform:translate(4px)}.page-link-card-cta{background:var(--color-signal);border-color:var(--color-signal);color:#0a0a0a}.page-link-card-cta .page-link-desc{color:#0a0a0abf}@media (width<=900px){.page-links-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.page-links-grid{grid-template-columns:1fr}}.about-grid{gap:var(--space-xl);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}.about-stats{background:var(--color-line-strong);border:1px solid var(--color-line-strong);grid-template-columns:1fr 1fr;gap:1px;display:grid}.about-stat{background:#fff;flex-direction:column;justify-content:flex-end;gap:.5rem;min-height:7.5rem;padding:1.5rem 1.25rem;display:flex}.about-stat-figure{letter-spacing:-.03em;color:var(--color-signal);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1;display:block}.about-stat-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);font-size:.78rem;font-weight:500;line-height:1.35;display:block}.about-principle{border-left:3px solid var(--color-signal);background:var(--color-surface);color:var(--color-text-soft);margin:1.25rem 0 0;padding:1rem 1.1rem;font-size:.95rem}@media (width<=860px){.about-grid{gap:var(--space-lg);grid-template-columns:1fr}}.participants-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;display:grid}.participant-group{border:1px solid var(--color-line);border-top:3px solid var(--color-signal);background:#fff;min-height:100%;padding:1.5rem 1.35rem 1.75rem}.participant-group h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.85rem 0 1rem;font-size:1.35rem;font-weight:600;line-height:1.2}.participant-list{margin:0;padding:0;list-style:none}.participant-list li{border-top:1px solid var(--color-line);color:var(--color-text-soft);padding:.7rem 0 .7rem 1rem;font-size:.95rem;line-height:1.45;position:relative}.participant-list li:first-child{border-top:0;padding-top:0}.participant-list li:before{content:"";background:var(--color-signal);width:5px;height:5px;position:absolute;top:1.15em;left:0}.participant-list li:first-child:before{top:.55em}#participants-agri{border-top-color:#1a6b3c}#participants-health{border-top-color:#0b4f8a}#participants-edu{border-top-color:#7a3e00}@media (width<=960px){.participants-grid{grid-template-columns:1fr}}.day-toggle-wrap{padding-top:1.5rem}.day-toggle{border:1px solid var(--color-text);background:#fff;display:inline-flex}.day-toggle-btn{appearance:none;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);cursor:pointer;background:0 0;border:0;margin:0;padding:.7rem 1.35rem;font-size:.88rem;font-weight:500}.day-toggle-btn+.day-toggle-btn{border-left:1px solid var(--color-text)}.day-toggle-btn.is-active{background:var(--color-text);color:var(--color-base)}.schedule-table{border-collapse:collapse;border:1px solid var(--color-line-strong);background:#fff;width:100%}.schedule-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.schedule-table th,.schedule-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-line);padding:1rem 1.1rem}.schedule-table th{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-soft);background:var(--color-surface);border-bottom:1px solid var(--color-line-strong);font-size:.72rem;font-weight:600}.schedule-table tbody tr:last-child td{border-bottom:0}.schedule-time{white-space:nowrap;width:9.5rem;font-weight:500}.schedule-event{font-family:var(--font-display);width:30%;font-weight:600}.schedule-desc{color:var(--color-text-soft)}.panel-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.panel-track{border:1px solid var(--color-line);border-top:3px solid var(--color-signal);background:#fff;padding:1.35rem 1.25rem 1.5rem}#panel-agriculture{border-top-color:#1a6b3c}#panel-health{border-top-color:#0b4f8a}#panel-education{border-top-color:#7a3e00}.panel-track-head{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.panel-track-head h3{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:600}.panel-moderator{color:var(--color-text-soft);margin:0 0 1rem;font-size:.92rem}.panel-moderator-name{color:var(--color-text);font-family:var(--font-display);font-weight:500}.speaker-list{margin:0;padding:0;list-style:none}.speaker-list li{border-top:1px solid var(--color-line);padding:.75rem 0}.speaker-list li:first-child{border-top:0;padding-top:0}.speaker-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;display:block}.speaker-role{color:var(--color-text-soft);margin-top:.2rem;font-size:.88rem;display:block}@media (width<=900px){.panel-grid{grid-template-columns:1fr}.schedule-table,.schedule-table thead,.schedule-table tbody,.schedule-table th,.schedule-table td,.schedule-table tr{width:100%;display:block}.schedule-table thead{display:none}.schedule-table tr{border-bottom:1px solid var(--color-line);padding:1rem 1.1rem}.schedule-table tbody tr:last-child{border-bottom:0}.schedule-table td{border:0;padding:.15rem 0}.schedule-time{width:auto;color:var(--color-signal);margin-bottom:.25rem}.schedule-event{width:auto;margin-bottom:.15rem}}.register-layout{max-width:760px}#register-form{gap:1.25rem;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{gap:.45rem;display:grid}.form-field label,.form-legend{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600}.form-field input,.form-field select{border:1px solid var(--color-line-strong);width:100%;color:var(--color-text);font-family:var(--font-body);background:#fff;padding:.85rem .9rem;font-size:1rem;line-height:1.4}.form-field input:focus,.form-field select:focus{outline:2px solid var(--color-signal);outline-offset:1px}.form-fieldset{border:1px solid var(--color-line-strong);background:var(--color-surface);margin:0;padding:1.25rem}.form-legend{padding:0 .35rem}.form-hint{color:var(--color-text-soft);margin:0 0 1rem;font-size:.92rem}.track-options{gap:.75rem;display:grid}.track-option{border:1px solid var(--color-line);background:#fff;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.95rem 1rem;display:grid}.track-option label{cursor:pointer}.track-option-title{font-family:var(--font-display);margin-bottom:.2rem;font-size:.95rem;font-weight:600;display:block}.track-option-desc{color:var(--color-text-soft);font-size:.88rem;line-height:1.4;display:block}.track-option input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--color-signal);cursor:pointer}.form-submit-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form-error{color:var(--color-signal);font-family:var(--font-display);margin:0;font-size:.85rem;display:none}.form-error.is-visible{display:block}.confirmation-panel{border:1px solid var(--color-line-strong);border-top:3px solid var(--color-signal);background:#fff;margin-top:.5rem;padding:2rem 1.5rem;display:none}.confirmation-panel.is-visible{display:block}.confirmation-panel h2{font-family:var(--font-display);margin:.9rem 0 .6rem;font-size:1.6rem;font-weight:600}.confirmation-panel>p{color:var(--color-text-soft);max-width:48ch;margin:0 0 1.25rem}.confirmation-summary{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:8rem 1fr;gap:.55rem 1rem;margin:0 0 1.5rem;padding:1rem 0;display:grid}.confirmation-summary dt{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);margin:0;font-size:.72rem;font-weight:600}.confirmation-summary dd{margin:0;font-size:.98rem}@media (width<=700px){.form-row{grid-template-columns:1fr}.confirmation-summary{grid-template-columns:1fr;gap:.2rem}.confirmation-summary dt{margin-top:.55rem}.confirmation-summary dt:first-child{margin-top:0}}
