@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/nunito-400.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url('fonts/nunito-600.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/nunito-700.ttf') format('truetype')}
@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url('fonts/nunito-800.ttf') format('truetype')}
:root{--aesan-green:#1F9A3E;--aesan-green-secondary:#68DF86;--aesan-green-light:#B7EFC5;--aesan-black:#333333;--aesan-white:#FFFFFF;font-family:Nunito,Arial,sans-serif;color:var(--aesan-black);background:var(--aesan-white)}
body{font-family:Nunito,Arial,sans-serif;color:var(--aesan-black);background:var(--aesan-white)}
header{background:var(--aesan-white);color:var(--aesan-black);border-bottom:3px solid var(--aesan-green)}
a,.brand,.nav a{color:var(--aesan-black)}
.nav a{font-weight:700}.nav a:hover,.nav a:focus-visible{color:var(--aesan-black);text-decoration-color:var(--aesan-green);text-decoration-thickness:3px;text-underline-offset:5px}
.hero{background:var(--aesan-white);color:var(--aesan-black)}
.hero:after{border-color:var(--aesan-green-light);box-shadow:0 0 0 85px #b7efc522,0 0 0 170px #b7efc511}
.hero-layout{position:relative;z-index:1}
.hero h1{color:var(--aesan-green);font-weight:800;letter-spacing:-.035em;line-height:1.12}
.eyebrow{color:var(--aesan-black);font-weight:800}
.hero p.lead,.section-intro p,.program p:last-child,.agenda p{color:var(--aesan-black)}
.button{background:var(--aesan-green);color:var(--aesan-white);font-family:Nunito,Arial,sans-serif;font-size:1.3rem;font-weight:800;box-shadow:0 8px 20px #33333320;border:2px solid var(--aesan-green)}
.button:hover{background:var(--aesan-black);border-color:var(--aesan-black);color:var(--aesan-white);box-shadow:0 12px 26px #33333324}
a:focus-visible{outline:3px solid var(--aesan-black);outline-offset:5px}
.button:focus-visible,.nav a:focus-visible{outline:3px solid var(--aesan-black);outline-offset:5px}
.signup-card{color:var(--aesan-black);background:var(--aesan-white);border:2px solid var(--aesan-green-light);box-shadow:0 12px 32px #33333310}
.signup-card p{font-size:1rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--aesan-green);text-underline-offset:4px}
.details{background:var(--aesan-green-light);border-color:var(--aesan-green-light);box-shadow:0 12px 32px #3333330c}
.detail{background:var(--aesan-white);border-top:4px solid var(--aesan-green)}
.detail-label,.program-label{color:var(--aesan-black);font-weight:800}
.section-intro h2{color:var(--aesan-black);font-weight:800;letter-spacing:-.025em}
.agenda{border-color:var(--aesan-green-light)}
.agenda li{border-bottom-color:var(--aesan-green-light)}
.agenda li:nth-child(even){background:var(--aesan-white)}
.agenda time{color:var(--aesan-black);font-weight:800;border-left:4px solid var(--aesan-green);padding-left:12px;align-self:start}
.agenda h3{font-weight:800;line-height:1.5}
.program,.paper{border-color:var(--aesan-green-light);background:var(--aesan-white);box-shadow:none}
.program-icon{background:var(--aesan-green-light);color:var(--aesan-black)}
.paper h1{color:var(--aesan-green);font-weight:800;letter-spacing:-.025em}
.paper a{text-decoration-color:var(--aesan-green);text-decoration-thickness:2px}
footer{border-top:2px solid var(--aesan-green-light);color:var(--aesan-black);background:var(--aesan-white)}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

/* Mobile layout: keep the header and hero within the screen width. */
@media(max-width:650px){
  .shell{width:100%;padding-left:20px;padding-right:20px}
  .top{flex-direction:column;justify-content:center;gap:14px;padding-top:16px;padding-bottom:16px}
  .top>a{display:block;max-width:100%}
  .organizer{width:min(370px,100%);max-width:100%;height:auto;object-fit:contain;margin-inline:auto}
  .nav{width:100%;justify-content:center;flex-wrap:wrap;gap:12px 24px}
  .hero-layout{grid-template-columns:minmax(0,1fr);gap:32px;text-align:center}
  .hero-layout>div{min-width:0}
  .hero h1{font-size:clamp(1.85rem,8vw,2.6rem);overflow-wrap:break-word}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .eyebrow{letter-spacing:.1em;line-height:1.6}
  .button{max-width:100%}
  .signup-card{width:min(260px,100%);min-width:0;margin-inline:auto}
  .qr{max-width:100%;height:auto}
  .details{width:100%;grid-template-columns:minmax(0,1fr);text-align:center}
  .detail{min-width:0;overflow-wrap:break-word}
  .section-intro{text-align:center}
  .section-intro p{margin-left:auto;margin-right:auto}
  .agenda li{grid-template-columns:minmax(0,1fr)}
  .foot{text-align:center}
  .legal-links{justify-content:center;flex-wrap:wrap;margin-top:12px}
}

/* Separate the event description from the registration prompt. */
.hero-intro{margin:0 0 34px}
.hero-intro p{margin:0;line-height:1.5}
.hero-intro .event-line{font-size:1rem;font-weight:700}
.hero-intro .registration-line{font-size:1.17rem;margin-top:14px}
@media(min-width:1050px){.hero-intro .event-line{white-space:nowrap}}
@media(max-width:650px){.hero-intro .event-line{white-space:normal}}

.agenda .agenda-kicker{color:var(--aesan-green);font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 7px}
.agenda .talks{margin:18px 0 22px;padding-left:22px}
.agenda .talks li{display:list-item;list-style:disc;padding:0;margin:0 0 12px;border:0;background:transparent}
.agenda .talks li:last-child{margin-bottom:0}

.signup-card .pdf-download{display:inline-block;margin-top:10px;color:var(--aesan-green);font-size:.9rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}

.event-banner{display:block;width:100%;margin:0}
.event-banner img{display:block;width:100%;height:auto;max-width:100%}

.agenda h3.awards-heading{color:var(--aesan-green)}

@media(min-width:651px){.hero-layout>div{container-type:inline-size}.hero h1{font-size:clamp(1rem,5.5cqw,2.6rem)}.hero h1 span{white-space:nowrap}}
