@font-face { font-family:Manrope; font-style: normal; font-display: swap; font-weight: 200 800; src: url(manrope-cyrillic-wght-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face { font-family:Manrope; font-style: normal; font-display: swap; font-weight: 200 800; src: url(manrope-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
:root{color-scheme:light;--paper:#f3f5ef;--ink:#203b33;--pine:#21483d;--muted:#4d625a;--line:#bccbc2;--accent:#c9dfa0;--sky:#dce9e4;--body:Manrope,sans-serif;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --section-space:clamp(var(--space-6),3vw,var(--space-8));
  --column-gap:clamp(var(--space-4),3vw,var(--space-8));
  --text-caption:.8125rem;
  --text-small:.875rem;
  --text-body:1rem;
  --text-subheading:1.125rem;
  --text-heading:clamp(1.75rem,4vw,3.25rem);
  --text-display:clamp(1.375rem,3vw,1.875rem);
  --leading-body:1.55;
  --leading-heading:1.12;
  --radius-control:.625rem;
  --radius-card:1rem;
  --control-height:2.75rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:500 var(--text-body)/var(--leading-body) var(--body)}
img{display:block;max-width:100%}
figure,p,h1,h2,h3,ul,ol{margin:0}
a{color:inherit}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #446995;outline-offset:4px}
svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.symbols,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:absolute;top:.5rem;left:.5rem;z-index:5;background:white;padding:.6rem 1rem;transform:translateY(-150%)}
.skip:focus{transform:none}
.wrap{width:min(100% - 2.5rem, 82rem);margin-inline:auto}
.logo{display:inline-flex;align-items:center;gap:.48rem;text-decoration:none;font-size:.86rem;line-height:1.05;font-weight:700;white-space:nowrap}
.logo>svg{width:2rem;height:2rem}
.logo em{display:block;font:600 1.05rem/1 var(--body)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:100vmax;text-decoration:none;font-weight:800;font-size:var(--text-small);line-height:1.4;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.button svg{width:1.25rem;height:1.25rem}
.outline{border-color:#819a8e;background:transparent;color:var(--pine)}
.outline:hover{background:var(--sky);border-color:var(--pine)}
.primary{background:var(--pine);color:white}
.primary:hover{background:#356556}
.eyebrow{display:flex;align-items:center;gap:var(--space-2);color:var(--pine);font-size:var(--text-caption);font-weight:800;text-transform:uppercase;letter-spacing:.14em;line-height:1.5}
.eyebrow>span{width:.53rem;height:.53rem;background:#7b935a;border-radius:50%;flex:none}
h1,h2,h3{font-weight:800;text-wrap:balance}
h1,h2{letter-spacing:-.06em;line-height:var(--leading-heading)}
h1 em,h2 em{font-style:normal;font-weight:650;color:#335c4c}
h2{font-size:var(--text-heading);margin-block:0 var(--space-4)}
.eyebrow+h2{margin-top:var(--space-2)}
h3{font-size:var(--text-subheading);line-height:1.3}
.hero{position:relative;isolation:isolate;display:grid;overflow:hidden;min-height:100svh;background:#123742;color:#f8faef}
.hero-image,.hero::before{position:absolute;inset:0;width:100%;height:100%}
.hero-image{z-index:-2;object-fit:cover;object-position:center}
.hero::before{content:"";z-index:-1;background:linear-gradient(180deg,#092d44e0,#092d4477 20%,transparent 44%,transparent 52%,#102f39bc 72%,#102a27fa)}
.hero .desktop-nav{display:none}
.hero-inner{container-type:inline-size;display:grid;grid-template-rows:auto minmax(5rem,1fr) auto;padding-top:clamp(1.35rem,5svh,3rem);padding-bottom:calc(5.1rem + env(safe-area-inset-bottom))}
.hero h1{font-size:clamp(2.2rem,9.2cqi,4.65rem);line-height:.98}
.hero h1 em{display:block;margin-top:.12em;color:#edf4dd;font-size:.88em;line-height:1}
.hero-details{grid-row:3;display:grid;gap:.8rem;justify-items:start}
.event-meta{width:min(100%,30rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:.65rem;border-block:1px solid #eff5dc7a;padding:.75rem 0}
.hero-date{display:flex;align-items:center;gap:.42rem;line-height:1.16}
.hero-date>strong{font-size:clamp(2.75rem,13cqi,4.35rem);line-height:.85;letter-spacing:-.08em;color:#deedbf}
.hero-date>span,.hero-place strong{font-weight:800;font-size:clamp(.9rem,4.35cqi,1.18rem)}
.hero-time,.hero-place span{display:block;font-size:clamp(.8rem,3.9cqi,1rem);margin-top:.26rem}
.hero-place{text-align:right;line-height:1.2}
.hero .hero-cta{background:#deedbf;color:var(--pine)}
.hero .hero-cta:hover{background:#f0f7de}
.hero :focus-visible{outline-color:#dceabf}
@media(min-width:58rem){
  .hero{--hero-art-height:min(88svh, calc(100svh - 5.4rem), 70vw, 57rem);min-height:100vh;min-height:100svh;color:#173c33;background:linear-gradient(110deg,#fff3 0%,transparent 58%),linear-gradient(180deg,#67b6d8 0%,#79bfde 25%,#f8fbf6 42%,#f2f7ed 58%,#78ae70 76%,#6da367 100%)}
  .hero-image{inset:auto max(1.4rem,calc((100% - 86rem) / 2)) max(.5rem,calc((100% - var(--hero-art-height) - 4.4rem) / 2)) auto;width:auto;height:var(--hero-art-height);max-width:42%;object-fit:contain;object-position:center;mask-image:none;border-radius:46% 1.5rem 33% 1.5rem / 32% 1.5rem 28% 1.5rem}
  .hero::before{content:none}
  .hero h1 em{color:#28594b}
  .hero-date>strong{color:#28594b}
  .hero .event-meta{border-color:#315d4e66}
  .hero .hero-cta{background:var(--pine);color:white}
  .hero .hero-cta:hover{background:#356556}
  .hero :focus-visible{outline-color:#345e91}
  .hero .desktop-nav{position:absolute;inset:0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:clamp(1.2rem,3vw,3rem);min-height:4.4rem;border-bottom:1px solid #315d4e66;font-size:var(--text-small);font-weight:800}
  .hero .desktop-nav a{text-decoration:none}
  .hero .desktop-nav a:hover{text-decoration:underline;text-underline-offset:.25em}
  .hero-inner{align-content:center;grid-template-rows:auto auto;gap:1.65rem;padding-block:6.5rem 2.6rem}
  .hero h1{max-width:61%;font-size:clamp(3.2rem,6.45cqi,6.1rem)}
  .hero-details{grid-row:2;gap:1.05rem}
  .hero-place{text-align:left}
}
.section{padding-block:var(--section-space)}
.about{background:#e3ebe1}
.about-grid,.split{display:grid;gap:var(--space-4)}
.about-copy>p{font-size:var(--text-body);max-width:36em}
.about-copy{display:grid;gap:var(--space-4)}
.about-audience{display:grid;gap:var(--space-2)}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0}
.tags li{font-size:var(--text-small);font-weight:700;border:1px solid #a4b9ac;border-radius:4rem;padding:var(--space-1) var(--space-3)}
.muted{color:var(--muted);max-width:27rem}
.ticket-grid{display:grid;gap:var(--space-4)}
.ticket{--ticket-fill:#c6dfe9;--ticket-line:#547e91;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--ticket-fill);border-radius:var(--radius-card)}
.ticket--leader{--ticket-fill:#fff;--ticket-line:#839e93}
.ticket--all{--ticket-fill:#c7dfad;--ticket-line:#587345}
.ticket-stub{position:relative;padding:var(--space-3) var(--space-4);border-bottom:1px dashed var(--ticket-line);font-size:var(--text-subheading);font-weight:800;letter-spacing:-.035em}
.ticket-stub::before,.ticket-stub::after{content:"";position:absolute;bottom:-.45rem;width:.9rem;height:.9rem;background:var(--paper);border-radius:50%}
.ticket-stub::before{left:-.45rem}
.ticket-stub::after{right:-.45rem}
.ticket-body{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}
.ticket-contents{font-size:var(--text-body);line-height:var(--leading-body);color:#314e45}
.ticket-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}
.ticket-price{font-size:var(--text-display);line-height:1.2;letter-spacing:-.06em;white-space:nowrap}
.ticket-bottom .button{padding-inline:var(--space-3)}
@media(min-width:51.25rem){
  .ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.registration{position:relative;isolation:isolate;overflow:hidden;background:#243e40;color:#f7f8f1}
.registration-image,.registration::before{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.registration-image{object-fit:cover;object-position:34% center}
.registration::before{content:"";z-index:-1;background:linear-gradient(180deg,#10242235,#102422ca 47%,#102422ee)}
.registration-copy{min-width:0;container-type:inline-size;align-self:start;text-shadow:0 2px 14px #102422}
.registration h2{overflow-wrap:anywhere}
@media(width < 58rem){.registration h2{font-size:min(var(--text-heading),8cqi)}}
.registration h2 em,.registration .eyebrow{color:#e1edc6}
.registration-copy p:not(.eyebrow){max-width:26rem;color:#f0f5ee}
.form-card{min-width:0;padding:clamp(var(--space-4),2vw,var(--space-6));border:1px solid #eaf4e950;border-radius:var(--radius-card);background:#122c2be8}
.form-fields,.category{min-width:0;padding:0;margin:0;border:0}
.form-fields,.input-grid{display:grid;gap:var(--space-4)}
.form-card{container-type:inline-size}
@container (min-width:29rem){.input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.form-fields label,.form-fields legend{font-size:var(--text-small);font-weight:800}
.input-grid label{display:block;margin-bottom:var(--space-1)}
.registration .form-fields{--form-edge:1px solid #d3e2d598;--form-radius:.375rem;--form-surface:#ffffff16}
.input-grid input,.category-buttons .button,.mini-ticket-face{min-height:var(--control-height);border:var(--form-edge);border-radius:var(--form-radius);background:var(--form-surface);color:#f7f8f1}
.input-grid input{width:100%;padding:var(--space-2) var(--space-3)}
.input-grid input::placeholder{color:#d3e2dd}
.ticket-field{min-width:0;border:0;padding:0;margin:0}
.ticket-field legend{padding:0;margin-bottom:var(--space-2)}
.mini-tickets{display:grid;gap:var(--space-1)}
.mini-ticket{position:relative;cursor:pointer}
.mini-ticket-face{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem;align-items:stretch}
.mini-ticket-face>span,.category-buttons .button>span{display:flex;align-items:center;align-self:stretch;padding:var(--space-1) var(--space-3);border-right:1px dashed currentColor}
.mini-ticket-check{align-self:center;justify-self:center;visibility:hidden}
.mini-ticket:hover .mini-ticket-face{background:#ffffff20}
.mini-ticket input:checked+.mini-ticket-face{background:#dceabf;border-color:#dceabf;color:#203b33}
.mini-ticket input:checked+.mini-ticket-face .mini-ticket-check,.category-buttons [aria-pressed=true] .mini-ticket-check{visibility:visible}
.mini-ticket input:focus-visible+.mini-ticket-face{outline:2px solid #f0ffca;outline-offset:2px}
.ticket-field[aria-invalid=true] .mini-ticket-face{border-color:#ffbbb0}
.input-grid input[aria-invalid=true]{border-color:#ffbbb0}
.category legend{margin-bottom:var(--space-2);padding:0}
.category-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.category-buttons .button{display:grid;grid-template-columns:minmax(0,1fr) 2rem;align-items:stretch;justify-content:stretch;gap:0;padding:0;text-align:left}
.category-buttons .button>span{padding-inline:var(--space-2)}
.category-buttons .button:hover{background:#ffffff20}
.category-buttons .button[aria-pressed=true],.form-fields>.button{background:#dceabf;color:#203b33;border-color:#dceabf}
.form-fields>.button{justify-content:space-between;border-radius:var(--form-radius)}
.form-fields>.button:hover{background:#ebf4d8}
.form-fields button:disabled{opacity:.65;cursor:default}
.form-card :focus-visible{outline-color:#f0ffca}
.consent{display:flex;align-items:flex-start;gap:var(--space-2)}
.consent input{accent-color:#dceabf;width:1.1rem;height:1.1rem;margin:.13rem 0 0;flex:none}
.consent label{cursor:pointer}
.notice{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-control);background:#e7ece2;color:#214538;font-size:var(--text-small)}
.notice.good{background:#deedd6}
.notice.bad{background:#fae8e4;color:#7e261e}
.field-error{display:block;color:#ffd0c7;font-size:var(--text-caption);margin-top:var(--space-1)}
@media(min-width:58rem){.registration::before{background:linear-gradient(90deg,#102422bc,#10242222 58%,#10242255)}}
.program-list{list-style:none;padding:0;border-top:1px solid var(--line)}
.program-list li{display:grid;grid-template-columns:2.7rem 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}
.program-list li>svg{margin-top:.12rem;color:#436453}
.program-list p{color:var(--muted);font-size:var(--text-body);margin-top:var(--space-1)}
.organizers{background:var(--sky)}
.organizers .organizer-logos{grid-template-columns:minmax(0,1fr);gap:0;text-align:left}
.organizers .organizer-logos li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid #a4bcb0}
.organizers .organizer-logos .partner-logo{min-height:0;padding:0}
.organizers .organizer-logos img{width:100%;height:2.4rem}
.organizers .organizer-logos span{margin:0;max-width:none;font-weight:750;font-size:var(--text-small)}
.organizers .organizer-logos .organizer-lead{grid-template-columns:4.3rem minmax(0,1fr);gap:var(--space-3);border-top:0;padding:0 0 var(--space-3)}
.organizers .organizer-lead img{height:4.3rem}
.organizers .organizer-lead span{font-size:var(--text-subheading);font-weight:800;color:var(--pine)}
@media(min-width:48rem){
  .organizers .organizer-logos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(1rem,3vw,2.75rem)}
  .organizers .organizer-logos .organizer-lead{grid-row:span 2;grid-template-columns:6.5rem minmax(0,1fr);padding:.4rem 1rem .4rem 0;border-right:1px solid #a4bcb0}
  .organizers .organizer-lead img{height:6.5rem}
  .organizers .organizer-logos li:nth-child(2){border-top:0}
}
.partners{background:#e1ebe8}
.partner-groups{display:grid;gap:var(--space-4);margin-top:var(--space-4)}
.partner-group{min-width:0;border-top:1px solid #96b0a5;padding-top:var(--space-3)}
.partner-group h3{margin-bottom:var(--space-3)}
.partner-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);list-style:none;padding:0;text-align:center}
.partner-logos li{min-width:0}
.partner-logo{display:grid;place-items:center;min-width:0;min-height:4.25rem;padding:var(--space-2);background:#f3f5ef;border-radius:var(--radius-control)}
.partner-logo img{width:100%;height:3rem;max-width:10.5rem;object-fit:contain}
.partner-logos--emblems{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-logos--emblems .partner-logo{background:transparent;padding:.25rem}
.partner-logos--emblems img{height:clamp(3rem,13vw,5.1rem);max-width:6rem}
.partner-logos--emblems span{display:block;margin:var(--space-2) auto 0;max-width:15rem;color:var(--muted);font-size:var(--text-caption);line-height:1.3;overflow-wrap:anywhere}
.partner-logos--brands li:last-child{grid-column:1/-1;width:calc((100% - var(--space-2))/2);justify-self:center}
@media(min-width:58rem){
  .partner-logos--brands{display:flex;flex-wrap:wrap;justify-content:center}
  .partner-logos--brands li,.partner-logos--brands li:last-child{width:calc((100% - 3 * var(--space-2))/4)}
}
.venue>div{container-type:inline-size}
.venue h2{font-size:min(var(--text-heading),10cqi);white-space:nowrap}
.venue{--venue-button-gap:var(--space-4)}
.venue address{font-style:normal;margin-bottom:var(--venue-button-gap)}
.venue .button{display:flex;width:fit-content;max-width:100%}
.contact{display:grid;margin-top:var(--venue-button-gap);font-size:var(--text-caption);color:var(--muted)}
.contact-phone{font-size:var(--text-display);font-weight:800;color:var(--pine);width:max-content}
.contact-email{color:var(--pine);font-size:var(--text-body);font-weight:700;overflow-wrap:anywhere}
.contact-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.contact-actions .button svg{width:1.5rem;height:1.5rem;stroke-width:2}
.contact-actions .contact-icon-fill{fill:currentColor;stroke:none}
.map{align-self:start;overflow:hidden;border-radius:1.1rem 20% 1.1rem 1.1rem;background:#dbe8df}
.map img{width:100%;height:auto}
.map figcaption{border-top:1px solid #afc3b7;padding:var(--space-2) var(--space-4);font-size:var(--text-caption)}
footer{border-top:1px solid var(--line);padding:var(--space-4) 0 calc(6.4rem + env(safe-area-inset-bottom));font-size:var(--text-caption)}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.mobile-nav{position:fixed;z-index:3;bottom:calc(.55rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(100% - 1.15rem,27rem);display:grid;grid-template-columns:repeat(4,1fr);gap:.15rem;background:#203f35;color:white;border:1px solid #456759;border-radius:1.25rem;padding:.25rem;box-shadow:0 .25rem 1.5rem #102c2640}
.mobile-nav a{display:grid;justify-items:center;align-content:center;grid-template-rows:1.25rem auto;gap:.05rem;min-height:3rem;border-radius:.96rem;text-decoration:none;font-size:var(--text-caption);font-weight:800;line-height:1.25}
/* Center the visible outlines within their common icon row. */
.mobile-nav use[href="#i-home"],.mobile-nav use[href="#i-pin"]{transform:translateY(-.5px)}
.mobile-nav use[href="#i-form"]{transform:translate(-1.5px,-.5px)}
.mobile-nav a[aria-current]{background:#dceabf;color:#1e3e31}
.mobile-nav a:focus-visible{outline-color:#dceabf}
@media(min-width:40rem){
  .wrap{width:min(100% - 4rem,82rem)}
  .about-grid,.split{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:var(--column-gap)}
}
@media(min-width:58rem){
  .mobile-nav{display:none}
  .registration .split{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
  footer{padding:var(--space-4) 0}
}
@media(width < 58rem){.registration .split{grid-template-columns:minmax(0,1fr)}}
@media(max-width:57.99rem){html{scroll-padding-bottom:calc(4.7rem + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
