html,body{margin:0;background:#0a0a0b}

@font-face{font-family:EssentialsMontserrat;src:url("assets/montserrat.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:EssentialsCondensed;src:url("assets/barlow-condensed-800.woff2") format("woff2");font-style:normal;font-weight:800;font-display:swap}
#teton-splitfest{width:100%;color-scheme:dark;--ess-ink:#f6efdf;--ess-accent:#fc7f3a;--ess-muted:#bbb5ac;--ess-bg:#0a0a0b}
#teton-splitfest *{box-sizing:border-box}
#teton-splitfest .ess-stage{container-type:inline-size;width:100%;margin:auto}
#teton-splitfest .ess-stage.ess-phone{max-width:390px}
#teton-splitfest .ess-page{position:relative;isolation:isolate;overflow:hidden;background:var(--ess-bg);color:var(--ess-ink);font-family:EssentialsMontserrat,Arial,sans-serif;text-align:center;padding:66px 24px 32px}
#teton-splitfest .ess-art{position:absolute;z-index:-2;top:300px;left:0;width:100%;height:510px;object-fit:cover;object-position:50% 50%;filter:brightness(.78) contrast(1.16);mask-image:linear-gradient(transparent,#000 17%,#000 72%,transparent)}
#teton-splitfest .ess-page::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 25%,#0a0a0b22 42%,#0a0a0b77 65%,var(--ess-bg) 88%)}
#teton-splitfest .ess-title{display:block;width:min(580px,83%);height:auto;margin:0 auto}
#teton-splitfest h1{margin:46px 0 0;font:800 100px/.96 EssentialsCondensed,Impact,sans-serif;letter-spacing:-.015em;text-shadow:0 3px 16px #0009}
#teton-splitfest h1 span{display:block;white-space:nowrap}
#teton-splitfest h1 strong{display:block;margin-top:10px;font-size:62px;line-height:1;color:var(--ess-accent);font-weight:800}
#teton-splitfest .ess-venue{margin:184px 0 0;font-size:29px;line-height:1.35;font-weight:650}
#teton-splitfest .ess-venue span{display:block;margin-top:7px;color:var(--ess-muted);font-size:19px;font-weight:450}
#teton-splitfest .ess-status{font-size:16px;line-height:1.7;margin:37px auto 0;max-width:400px;color:var(--ess-muted);text-wrap:balance}
#teton-splitfest .ess-footer{margin:91px auto 0;padding-top:25px;width:min(920px,100%);border-top:1px solid #f6efdf20;display:flex;align-items:center;justify-content:center;gap:14px}
#teton-splitfest .ess-badge{display:block;width:43px;height:43px;object-fit:contain}
#teton-splitfest .ess-footer p{font-size:11px;line-height:1.5;letter-spacing:.13em;color:var(--ess-muted);margin:0;text-align:left}
@container (max-width:620px){
 #teton-splitfest .ess-page{padding:44px 22px 27px}
 #teton-splitfest .ess-title{width:min(380px,100%)}
 #teton-splitfest h1{font-size:clamp(54px,16.5cqw,88px);margin-top:37px}
 #teton-splitfest h1 strong{font-size:clamp(42px,11.5cqw,57px);margin-top:8px}
 #teton-splitfest .ess-art{top:220px;height:360px;width:180%;left:-40%;object-fit:cover}
 #teton-splitfest .ess-venue{margin-top:161px;font-size:23px}
 #teton-splitfest .ess-venue span{font-size:16px;margin-top:5px}
 #teton-splitfest .ess-status{font-size:14px;max-width:280px;margin-top:28px}
 #teton-splitfest .ess-footer{margin-top:62px;padding-top:22px;gap:12px}
 #teton-splitfest .ess-badge{width:36px;height:36px}
 #teton-splitfest .ess-footer p{font-size:11px;letter-spacing:.075em}
}
#teton-splitfest .ess-page .date-amp{display:inline;font:inherit;font-size:.58em;line-height:0;vertical-align:.13em;margin-inline:.08em}
#teton-splitfest .ess-page .update-venue{position:relative;text-align:center;margin:24px auto 0}
#teton-splitfest .ess-page .update-venue-brand{display:inline-flex;align-items:center;justify-content:center;gap:17px;color:#f6efdf;text-decoration:none;font-size:27px;font-weight:650;line-height:1.35}
#teton-splitfest .ess-page .update-venue-brand img{width:68px;height:68px;object-fit:contain;mix-blend-mode:screen}
#teton-splitfest .ess-page .update-venue-brand small{display:block;font-size:17px;color:#bbb5ac;font-weight:450;margin-top:4px;text-align:left}
#teton-splitfest .ess-page .update-venue-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:12px}
#teton-splitfest .ess-page .update-venue-links a{display:inline-block;font-size:13px;line-height:1.5;color:#d9d1c5;text-decoration:underline;text-underline-offset:4px;padding:9px 0}
#teton-splitfest .ess-page h2.update-status{margin:29px 0 28px;font-family:'Barlow Condensed',EssentialsCondensed,Impact,sans-serif;font-size:39px;line-height:1.08;letter-spacing:0;font-weight:800;text-align:center;text-transform:uppercase;color:#f6efdf}
#teton-splitfest .ess-page h2.update-status span{display:block;color:#fc7f3a;font-size:1.28em;line-height:1.15;margin-top:5px}
#teton-splitfest .ess-page .tsf-updates{position:relative;max-width:1060px;margin:0 auto;padding:0 30px;text-align:left;font-family:Montserrat,EssentialsMontserrat,Arial,sans-serif;color:#f1ede5}
#teton-splitfest .ess-page .update-benefit{padding:56px 0 58px;border-top:1px solid #f6efdf25;text-align:center}
#teton-splitfest .ess-page .update-kicker{margin:0 0 13px;font-size:11px;line-height:1.6;letter-spacing:.16em;font-family:monospace;color:#fc7f3a}
#teton-splitfest .ess-page .update-benefit h2{font-size:35px;line-height:1.18;letter-spacing:-.025em;font-weight:700;margin:0;color:#f6efdf}
#teton-splitfest .ess-page .update-benefit>p:not(.update-kicker){font-size:15px;line-height:1.8;color:#bbb5ac;max-width:500px;margin:19px auto 14px;text-wrap:balance}
#teton-splitfest .ess-page .tsf-updates a{color:#f6efdf;font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:10px 0}
#teton-splitfest .ess-page a:focus-visible{outline:2px solid #fc7f3a;outline-offset:5px}
#teton-splitfest .ess-page .update-history{padding:43px 0 18px;border-top:1px solid #f6efdf25}
#teton-splitfest .ess-page .update-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}
#teton-splitfest .ess-page .update-heading h2{font-size:36px;font-weight:700;line-height:1.2;letter-spacing:-.025em;color:#f6efdf;margin:0}
#teton-splitfest .ess-page .update-heading>p{font-size:13px;line-height:1.8;color:#bbb5ac;text-align:right;margin:0}
#teton-splitfest .ess-page .update-history-links{display:flex;gap:28px;margin:20px 0 26px;flex-wrap:wrap}
#teton-splitfest .ess-page .update-history-links a{border:1px solid #f6efdf50;border-radius:999px;padding:12px 20px;text-decoration:none}
#teton-splitfest .ess-page .update-schedule{scroll-margin-top:24px}
#teton-splitfest .ess-page .tsf-updates h3{font-size:20px;line-height:1.4;letter-spacing:0;font-weight:650;margin:0 0 20px;color:#f6efdf}
#teton-splitfest .ess-page .update-schedule dl{margin:0}
#teton-splitfest .ess-page .update-schedule dl>div{display:grid;grid-template-columns:195px 1fr;gap:28px;padding:18px 0;border-top:1px solid #f6efdf1d;font-size:14px;line-height:1.8}
#teton-splitfest .ess-page .update-schedule dt{font-weight:600}
#teton-splitfest .ess-page .update-schedule dd{margin:0;color:#bbb5ac}
#teton-splitfest .ess-page .update-archive-note{font-size:12px;line-height:1.7;color:#bbb5ac;margin:15px 0 0}
#teton-splitfest .ess-page .update-sponsors{padding-top:44px;margin-top:38px;border-top:1px solid #f6efdf25;scroll-margin-top:24px}
#teton-splitfest .ess-page .update-sponsor-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}
#teton-splitfest .ess-page .update-sponsor-heading a{padding-top:0;font-size:12px}
#teton-splitfest .ess-page .update-sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:21px 30px;margin-top:10px}
#teton-splitfest .ess-page .update-sponsor-grid a,#teton-splitfest .ess-page .update-sponsor-grid>span{display:flex;justify-content:center;align-items:center;padding:12px;height:102px;min-width:0}
#teton-splitfest .ess-page .update-sponsor-grid img{display:block;max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) invert(1) brightness(1.2);mix-blend-mode:screen}
#teton-splitfest .ess-page .update-sponsor-grid img.keep-white{filter:grayscale(1)}
#teton-splitfest .ess-title-linear{display:flex;align-items:center;justify-content:center;gap:2.5%;width:min(1100px,100%);margin:auto}
#teton-splitfest .ess-title-linear img{display:block;object-fit:contain;height:auto;min-width:0}
#teton-splitfest .ess-title-linear img:first-child{width:38.5%}
#teton-splitfest .ess-title-linear img:last-child{width:59%}
#teton-splitfest .ess-art{top:180px}
#teton-splitfest .ess-page::after{background:linear-gradient(180deg,transparent 220px,#0a0a0b22 400px,#0a0a0b99 620px,#0a0a0b 850px)}
#teton-splitfest .update-venue{margin-top:184px}
#teton-splitfest .tsf-updates{margin-top:62px;padding:0 6px}
#teton-splitfest .ess-footer{margin-top:46px}
@container (max-width:620px){
#teton-splitfest .ess-page .update-venue-brand{font-size:22px;gap:12px}
#teton-splitfest .ess-page .update-venue-brand small{font-size:15px}
#teton-splitfest .ess-page .update-venue-brand img{width:54px;height:54px}
#teton-splitfest .ess-page .update-venue-links{gap:20px;margin-top:7px}
#teton-splitfest .ess-page h2.update-status{font-size:27px;margin:22px 0 25px}
#teton-splitfest .ess-page .tsf-updates{padding:0 22px}
#teton-splitfest .ess-page .update-benefit{padding:38px 0 37px}
#teton-splitfest .ess-page .update-benefit h2{font-size:25px}
#teton-splitfest .ess-page .update-benefit>p:not(.update-kicker){font-size:14px}
#teton-splitfest .ess-page .update-history{padding-top:32px}
#teton-splitfest .ess-page .update-heading{display:block}
#teton-splitfest .ess-page .update-heading h2{font-size:31px}
#teton-splitfest .ess-page .update-heading>p{text-align:left;margin-top:12px}
#teton-splitfest .ess-page .update-history-links{gap:10px;margin:16px 0 28px}
#teton-splitfest .ess-page .update-history-links a{padding:11px 14px;font-size:12px}
#teton-splitfest .ess-page .update-schedule dl>div{grid-template-columns:1fr;gap:4px;padding:16px 0}
#teton-splitfest .ess-page .update-sponsor-heading{display:block}
#teton-splitfest .ess-page .update-sponsor-heading h3{font-size:20px;margin-bottom:8px}
#teton-splitfest .ess-page .update-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;margin-top:18px}
#teton-splitfest .ess-page .update-sponsor-grid a,#teton-splitfest .ess-page .update-sponsor-grid>span{height:82px;padding:9px}
#teton-splitfest .ess-page .update-sponsor-grid img{max-height:68px}
 #teton-splitfest .ess-art{top:140px}
 #teton-splitfest .update-venue{margin-top:161px}
 #teton-splitfest .tsf-updates{margin-top:43px;padding:0}
}

#teton-splitfest .ess-page .update-heading{display:block}
#teton-splitfest .ess-page .update-history-links{margin:19px 0 32px}
#teton-splitfest .ess-page .update-schedule dt{font-size:25px;line-height:1.2;font-weight:800;color:#f6efdf}
#teton-splitfest .ess-page .update-schedule dt small{display:block;font-size:15px;font-weight:550;line-height:1.6;margin-top:8px;color:#fc7f3a}
#teton-splitfest .ess-page .update-schedule dl>div{padding-block:23px;align-items:start}
#teton-splitfest .ess-page .update-schedule dd{font-size:15px;line-height:1.8}
#teton-splitfest .ess-page .update-sponsor-heading h3{font-size:24px}
@container(max-width:620px){
#teton-splitfest .ess-page .update-schedule dt{font-size:25px}
#teton-splitfest .ess-page .update-schedule dd{font-size:14px}
}

#teton-splitfest .ess-page .update-venue-brand{font-size:34px;gap:20px}
#teton-splitfest .ess-page .update-venue-brand img{width:96px;height:96px}
#teton-splitfest .ess-page .update-venue-brand small{font-size:22px;color:#e0d8cc;font-weight:550;margin-top:5px}
#teton-splitfest .ess-page .update-schedule dd{font-size:18px;line-height:1.8;color:#e3ddd2;font-weight:500}
#teton-splitfest .ess-page .update-schedule dt small{font-size:16px;font-weight:650}
#teton-splitfest .ess-page .update-schedule dt .schedule-start{display:block;font-size:18px;font-weight:750;color:#f6efdf;margin-top:5px;line-height:1.5}
#teton-splitfest .ess-page .update-btac-mark{display:inline-block;margin:0 auto 20px;padding:0;line-height:0}
#teton-splitfest .ess-page .update-btac-mark img{display:block;width:158px;height:auto}
#teton-splitfest .ess-art{top:0;height:650px;object-position:50% 0;mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 78%,transparent 100%)}
#teton-splitfest .ess-page::after{background:linear-gradient(180deg,#0a0a0b 0px,#0a0a0b 12px,#0a0a0b00 165px,#0a0a0b15 380px,#0a0a0b85 660px,#0a0a0b 950px)}
@container(max-width:620px){
#teton-splitfest .ess-page .update-venue-brand{font-size:26px;gap:14px}
#teton-splitfest .ess-page .update-venue-brand img{width:76px;height:76px}
#teton-splitfest .ess-page .update-venue-brand small{font-size:19px}
#teton-splitfest .ess-page .update-schedule dd{font-size:16px;line-height:1.85;color:#e3ddd2}
#teton-splitfest .ess-page .update-btac-mark img{width:140px}
 #teton-splitfest .ess-art{top:0;height:430px}
 #teton-splitfest .ess-page::after{background:linear-gradient(180deg,#0a0a0b 0px,#0a0a0b 8px,#0a0a0b00 112px,#0a0a0b25 300px,#0a0a0b 550px)}
}
@container(max-width:360px){
#teton-splitfest .ess-page .update-venue-brand{flex-direction:column;gap:10px;font-size:25px}
#teton-splitfest .ess-page .update-venue-brand small{text-align:center}
}
/* One original poster scene. Width changes uniformly; height is intrinsic. */
#teton-splitfest .ess-art{top:0;left:50%;width:max(100%,1320px);max-width:none;height:auto;transform:translateX(-50%);object-fit:contain;object-position:50% 0;filter:none;mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 80px),transparent)}
#teton-splitfest .ess-page::after{background:none}
#teton-splitfest .ess-page .update-venue{margin-top:clamp(24px,calc(25cqw - 330px),210px)}
@container(max-width:620px){
 #teton-splitfest .ess-art{top:0;left:50%;width:1000px;height:auto}
 #teton-splitfest .ess-page .update-venue{margin-top:26px}
}

/* Website behavior and supporting 2026 pages; approved hero rules above stay intact. */
.skip-link{position:absolute;left:12px;top:8px;z-index:10;padding:12px 16px;background:#0a0a0b;color:#f6efdf;font:600 16px Arial,sans-serif;transform:translateY(-200%)}
.skip-link:focus{transform:none}
#teton-splitfest a:focus-visible,.skip-link:focus-visible{outline:2px solid #fc7f3a;outline-offset:5px}
#teton-splitfest .update-venue-links a,#teton-splitfest .update-history-links a,#teton-splitfest .update-benefit>a:not(.update-btac-mark){min-height:44px}
.archive-page #teton-splitfest .ess-page{padding:48px 24px 32px}
#teton-splitfest .archive-header{max-width:1060px;margin:auto}
#teton-splitfest .archive-header .ess-title-linear{width:min(460px,100%)}
#teton-splitfest .archive-header>a{display:inline-block;width:min(460px,100%)}
#teton-splitfest .archive-header nav{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin:30px auto 0}
#teton-splitfest .archive-header nav a{display:inline-flex;align-items:center;min-height:44px;color:#f6efdf;font-size:14px;text-decoration:underline;text-underline-offset:5px}
#teton-splitfest .archive-header nav a[aria-current=page]{color:#fc7f3a;font-weight:700}
#teton-splitfest .archive-main{margin:44px auto 0;max-width:1060px;text-align:left}
#teton-splitfest h1.archive-title{font-size:48px;line-height:1.08;letter-spacing:0;margin:0 0 32px;text-shadow:none;white-space:normal}
#teton-splitfest .archive-main>.update-sponsors{padding:0;margin:0;border-top:0}
#teton-splitfest .archive-return{margin:36px 0 0}
#teton-splitfest .archive-return a{min-height:44px}
@container(max-width:620px){
 .archive-page #teton-splitfest .ess-page{padding:36px 22px 27px}
 #teton-splitfest .archive-header nav{gap:8px 20px;margin-top:22px}
 #teton-splitfest .archive-header nav a{font-size:13px}
 #teton-splitfest .archive-main{margin-top:32px;padding:0}
 #teton-splitfest h1.archive-title{font-size:38px;margin-bottom:25px}
}

/* October 30: bring venue into the sunset and registration into the peaks. */
#teton-splitfest .ess-page .update-venue-brand{ text-shadow:0 2px 12px #000b }
#teton-splitfest .ess-page h2.update-status{margin-top:clamp(70px,calc(10cqw - 60px),150px);text-shadow:0 2px 12px #000d}
.sponsors-page #teton-splitfest .archive-main{margin-top:88px;text-align:center}
.sponsors-page #teton-splitfest h1.archive-title{text-align:center;margin-bottom:46px}
@container(max-width:620px){
 #teton-splitfest .ess-page h2.update-status{margin-top:80px}
 .sponsors-page #teton-splitfest .archive-main{margin-top:56px}
 .sponsors-page #teton-splitfest h1.archive-title{margin-bottom:32px}
}
@container(max-width:360px){
 #teton-splitfest .ess-page .update-venue-brand{flex-direction:row;gap:10px;font-size:20px}
 #teton-splitfest .ess-page .update-venue-brand img{width:60px;height:60px}
 #teton-splitfest .ess-page .update-venue-brand small{text-align:left;font-size:16px}
}
