/* A bold festival identity, comfortable reading, and direct visitor paths. */
:root{--navy:#102441;--deep:#091b31;--blue:#1e4565;--gold:#ffc047;--ink:#102441;--muted:#526176;--line:#d7dce2;--paper:#fffefb;--soft:#f3f5f6;--radius:5px}
html{scroll-padding-top:105px}body{font-size:1rem;line-height:1.75}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
*{min-width:0}a{ text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #1975b4;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{width:min(1260px,calc(100% - 80px));margin-inline:auto}.section{padding-block:74px}.eyebrow{font-size:.8125rem;letter-spacing:1.6px;line-height:1.6;font-weight:700}.section-note,.action-note,.small,.section-aside{font-size:.875rem;line-height:1.75}.lead{font-size:1.125rem;line-height:1.8}h2{font-size:clamp(2.8rem,4.1vw,4.25rem);line-height:1.02}h3{line-height:1.15}em{font-style:normal}.button{border-radius:4px;min-height:48px;font-size:.9375rem;line-height:1.4;padding:14px 22px;text-align:center;justify-content:center;white-space:normal}.button.line{border-color:#102441}.button:hover{transform:translateY(-2px)}.actions{gap:14px;flex-wrap:wrap}
.topbar{font-size:.75rem;line-height:1.4;letter-spacing:1.4px;padding:8px 0;background:#091b31}.topbar .wrap{gap:20px}.topbar .wrap>span:last-child{display:inline;color:#ccd7e4;font-size:.6875rem}
.site-header{background:#fffefbf7;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:88px;gap:24px}.brand{gap:11px;flex-shrink:0;text-decoration:none}.brand img{width:75px;height:57px;object-fit:contain}.brand span{font:1.55rem/1 Expo,sans-serif;letter-spacing:.4px;color:#102441}.nav{gap:24px}.nav>a{font-size:.9375rem;white-space:nowrap}.nav-ticket{margin-left:2px;padding-inline:18px}.festival-menu{position:relative;border:0;padding:0;margin:0;background:transparent;overflow:visible;flex-shrink:0}.festival-menu summary{font-size:.9375rem;padding:12px 0;line-height:1.5}.festival-menu>div{top:calc(100% + 15px);right:0;border-radius:4px;background:#fffefb;padding:10px;min-width:260px;box-shadow:0 14px 35px #10244121}.festival-menu a{font-size:1rem;padding:11px 14px}.festival-menu a:hover{background:#fff1cc}.mobile-ticket,.menu-toggle{display:none}
.best-hero{background:#091b31}.best-hero:before{background:linear-gradient(90deg,#081a30ed 0%,#081a30ca 37%,#081a3061 72%,#081a3040 100%)}.best-hero:after{background:linear-gradient(0deg,#091b31eb 0%,transparent 55%)}.best-hero .hero-atmosphere{object-position:center 43%}.best-hero .hero-inner{grid-template-columns:1.3fr .85fr;gap:64px;padding:60px 0 46px}.best-hero .hero-copy>.eyebrow{font-size:.8125rem;letter-spacing:2px;margin-bottom:12px}.best-hero .hero-copy>.hero-date{font:1.5rem/1.2 Expo,sans-serif;letter-spacing:2px;color:#ffd178;margin:0 0 20px}.best-hero .hero-copy h1{font-size:clamp(5rem,8.5vw,8.2rem);line-height:.86;letter-spacing:-.4px;margin:0 0 28px;text-wrap:nowrap}.best-hero .hero-copy h1 em{font-size:1.12em;line-height:1;color:#ffc047;display:inline;margin:0}.best-hero .hero-tagline{font-family:Arial,Helvetica,sans-serif;font-size:1.5rem;font-weight:700;margin:0 0 15px;line-height:1.35;color:#fffefb}.best-hero .hero-copy>.hero-description{font-size:1.0625rem;line-height:1.8;color:#e0e7ef;max-width:520px;margin-bottom:24px}.best-hero .actions{margin-top:0;flex-direction:row;align-items:center}.best-hero .hero-copy>.hero-small{font-size:.875rem;line-height:1.7;color:#d2dce8;margin:18px 0 0}.best-hero .pour-experience{padding:0;max-width:380px;justify-self:end;width:100%}.best-hero .pour-scene{aspect-ratio:.98;border-radius:130px 130px 7px 7px;background:linear-gradient(150deg,#234765a6,#102b448f);border:1px solid #f0c47875;box-shadow:0 20px 65px #0004}.best-hero .pour-topline{font-size:.75rem;line-height:1.4;letter-spacing:1.3px;color:#e3e9ee;margin-bottom:15px}.best-hero .scene-caption{font-size:.625rem;line-height:1.55;letter-spacing:1px;top:10%}.best-hero .hero-logo{top:23%;width:90%}.best-hero .scene-bottom{font-size:1.2rem;line-height:1.2;letter-spacing:1px;bottom:7%}.best-hero .pour-controls{gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}.best-hero .pour-meter{width:100%;flex-basis:100%;margin:0}.best-hero .pour-meter>span{font-size:.8125rem;max-width:none;text-align:center;display:block;line-height:1.5}.best-hero .level-track{margin:7px auto 3px;max-width:200px}.best-hero .motion-toggle,.best-hero .reset-pour{font-size:.875rem;min-height:44px;line-height:1.4;padding:9px 14px}.best-hero .pour-hint{font-size:.8125rem;line-height:1.5;text-align:center;color:#d8e1eb;margin:10px 0 0}
.event-facts{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:30px;border-top:1px solid #ffffff35;padding:27px 0 32px}.event-facts>div+div{padding-left:30px;border-left:1px solid #ffffff35}.event-facts span{display:block;font-size:.6875rem;letter-spacing:1.8px;color:#e7c891;font-weight:700;margin-bottom:7px}.event-facts strong{display:block;font-size:1.0625rem;line-height:1.5;color:#fffefb}.event-facts small,.event-facts a{display:block;font-size:.875rem;line-height:1.65;margin-top:5px;color:#d6e0eb}.event-facts a{color:#fff0ce}
.weekend-section{padding:84px 0;background:#fffefb}.weekend-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:64px;align-items:center}.weekend-photo{margin:0;position:relative}.weekend-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:52% center;display:block;border-radius:4px}.weekend-photo figcaption{padding:15px 0 0;font-size:.875rem;line-height:1.6;color:#526176}.weekend-copy h2{font-size:clamp(2.8rem,3.75vw,3.8rem);line-height:1.03;margin:0 0 22px}.weekend-copy h2 em{color:#986216}.weekend-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:560px}.weekend-links{margin-top:27px;border-top:1px solid var(--line)}.weekend-links>a{display:flex;gap:18px;align-items:start;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none}.weekend-links>a>span{font:1.8rem/1.1 Expo,sans-serif;color:#986216;padding-top:2px}.weekend-links strong{font-size:1.0625rem;line-height:1.5}.weekend-links small{display:block;font-size:.9375rem;line-height:1.65;color:#526176;margin-top:3px}.weekend-links>a:hover strong{text-decoration:underline}
.home-producers{background:#f2f5f7;padding:74px 0}.home-producers .section-head{align-items:end;gap:30px;margin-bottom:22px}.home-producers .section-head h2{margin:0;font-size:clamp(2.8rem,4.1vw,4rem)}.lineup-note{font-size:.9375rem;line-height:1.7;padding:14px 18px;background:#fff5de;border-left:3px solid #d79625;color:#3c4658;margin:0 0 27px}.lineup-note strong{color:#102441}.home-producer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.discovery-card{border:1px solid #d7dce2;background:#fffefb;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}.discovery-card:hover{box-shadow:0 8px 25px #10244112;transform:translateY(-3px)}.discovery-image{position:relative;aspect-ratio:1.45;background:#fff;overflow:hidden;flex-shrink:0}.discovery-image>a{display:block;width:100%;height:100%}.discovery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.discovery-image.is-logo img{object-fit:contain;padding:24px}.discovery-card:hover .discovery-image:not(.is-logo) img{transform:scale(1.035)}.discovery-copy{display:flex;flex-direction:column;flex:1;padding:21px 20px 17px}.brewery-location{font-size:.8125rem;line-height:1.5;color:#566477;margin:0 0 10px;letter-spacing:.1px}.discovery-copy h3{font:2rem/1.07 Expo,sans-serif;margin:0 0 16px;overflow-wrap:anywhere}.discovery-copy h3 a{text-decoration:none;color:#102441}.discovery-copy h3 a:hover{text-decoration:underline}.official-link{font-size:.875rem;line-height:1.5;margin-top:auto;padding:13px 0 0;border-top:1px solid #d7dce2;color:#284d6c;font-weight:700}.discovery-status{font-size:.875rem;line-height:1.65;color:#526176}.discovery-prompt{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:25px}.discovery-prompt p{font-size:.9375rem;line-height:1.7;max-width:650px;margin:0;color:#526176}.discovery-prompt>a{font-size:.9375rem;line-height:1.6;font-weight:bold;flex-shrink:0}
.home-planning{padding:82px 0;background:#fffefb}.planning-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:96px;align-items:start}.planning-grid h2{margin-bottom:30px}.planning-grid h2 em{color:#986216}.planning-steps{list-style:none;padding:0;margin:0}.planning-steps li{display:flex;gap:24px;padding:0 0 28px}.planning-steps li>span{font:2.2rem/1 Expo;color:#956011;border-bottom:2px solid #e2b058;align-self:start;padding-bottom:10px}.planning-steps h3{font-size:1.9rem;line-height:1.2;margin:0 0 9px}.planning-steps p{font-size:1rem;line-height:1.8;color:#526176;margin:0}.planning-links{display:flex;flex-wrap:wrap;gap:13px 24px;border-top:1px solid var(--line);padding-top:24px;font-size:.9375rem;font-weight:700;line-height:1.6}.weekend-planner{border:1px solid #cfd7e1;border-radius:6px;overflow:hidden;box-shadow:0 12px 35px #10244109;background:#fff}.planner-heading{padding:31px 27px;text-align:center;background:#102441;color:#fff}.planner-heading>p{font-size:.75rem;letter-spacing:1.7px;color:#e3c488;line-height:1.5;margin:0}.planner-heading h3{font:4.5rem/1 Expo,sans-serif;color:#ffc047;margin:13px 0 10px}.planner-heading>span{font-size:.8125rem;letter-spacing:2px}.planner-content{padding:30px}.planner-content h4{font:1.8rem/1.2 Expo,sans-serif;margin:0 0 14px}.planner-content>p{font-size:1rem;line-height:1.75;margin:0 0 12px;color:#526176}.planner-content>a{font-size:.9375rem;font-weight:bold}.planner-actions{display:grid;gap:12px;margin:25px 0 20px}.planner-content>.planner-note{font-size:.875rem;line-height:1.7;margin:0;color:#526176}
.home-community{padding:78px 0;background:#102441;color:#fffefb}.community-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;align-items:center}.home-community .eyebrow{color:#e9c586}.home-community h2{color:#fffefb;font-size:clamp(3.2rem,5vw,5rem);margin-bottom:24px}.home-community h2 em{color:#ffc047}.home-community p{font-size:1rem;line-height:1.85;color:#d9e2ef;max-width:600px}.home-community .actions{margin-top:25px}.home-community .text-link{font-size:.9375rem;color:#fff0d0;padding:12px 0;line-height:1.6}.community-facts>div+div{margin-top:26px;padding-top:26px;border-top:1px solid #ffffff35}.community-facts strong{font:clamp(2.1rem,3.2vw,3.3rem)/1.1 Expo,sans-serif;color:#ffd079;display:block}.community-facts p{font-size:.9375rem;line-height:1.75;margin:11px 0 0}
.home-supporters{padding:60px 0;background:#fffefb}.supporters-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px}.supporters-heading h2{font-size:2.8rem;margin:0}.supporters-heading>a{font-size:.9375rem;font-weight:700;flex-shrink:0}.home-sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;align-items:center}.home-sponsor-grid>a{display:flex;align-items:center;justify-content:center;padding:17px;border:1px solid #e0e3e8;border-radius:4px;min-height:130px}.home-sponsor-grid img{width:100%;height:105px;object-fit:contain}.home-supporters .section-note{margin-top:22px}
.page-hero{padding-block:55px}.page-heading h1{font-size:clamp(3.25rem,5.6vw,5.7rem);line-height:.96;text-wrap:balance;overflow-wrap:anywhere}.page-heading p{font-size:1.0625rem;line-height:1.8}.page-opening{gap:64px;grid-template-columns:1.05fr 1fr}.page-people{height:370px;border-radius:5px}.page-people figcaption{font-size:.875rem;line-height:1.6;max-width:100%;padding:17px 20px}.page-overline .eyebrow{font-size:.8125rem}.subnav{display:flex;flex-wrap:wrap;gap:12px 22px}.subnav a{font-size:.9375rem;line-height:1.6;min-height:35px;display:inline-flex;align-items:center}.notice{font-size:1rem;line-height:1.8}.sponsor-card span,.vendor-role,.contact-card p,.ticket-card p,.arrival-steps p,.rule-list span,.copy-email,.email-address{font-size:1rem}.email-address{overflow-wrap:anywhere}.copy-email{font-size:.875rem;min-height:42px}.contact-card h3{font-size:2rem}.contact-card .button{font-size:.9375rem}.site-footer{padding-top:55px;background:#091b31}.footer-grid{padding:0 0 35px;gap:42px}.footer-brand .brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.footer-brand .brand img{width:78px;height:61px;background:#fffefb;border-radius:4px;padding:5px}.footer-brand .brand span{color:#fffefb;font-size:1.7rem}.footer-brand p{font-size:.9375rem;line-height:1.75;color:#d2ddeb;margin-top:14px}.site-footer h3{font-size:1.7rem;line-height:1.3;margin-bottom:16px}.site-footer a{font-size:.9375rem;line-height:1.6;min-height:35px}.footer-legal{padding:23px 0;gap:12px 24px}.footer-legal a,.footer-legal span{font-size:.875rem}.footer-bottom{font-size:.8125rem;line-height:1.7;padding-block:22px;gap:20px}.policy-copy,.profile-biography{font-size:1rem}.policy-copy{max-width:880px}.profile-layout{gap:60px}.profile-mark{border-radius:5px}.profile-biography strong{font-weight:inherit}.archive-year-card{border-radius:5px}.archive-year-card:hover{background:#1c3c5d}.archive-table-wrap:focus-visible{outline-offset:-3px}.lodging-card{border-radius:4px}.cause-grid .cause{font-size:1rem}.directory-section{background:#f2f5f7}.directory-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:26px}.directory-heading h2{margin:0}.directory-heading>p{font-size:1rem;line-height:1.8;color:#526176;margin:0}.discovery-toolbar{display:flex;gap:25px;justify-content:space-between;align-items:end;margin:28px 0 18px}.discover-search-wrap{flex:1;max-width:450px}.discover-search-wrap label{font-size:.9375rem;line-height:1.5;font-weight:700;display:block;margin-bottom:8px}.discover-search-wrap input{width:100%;height:50px;padding:12px 15px;border:1px solid #9eaaba;border-radius:4px;background:#fff;font-size:1rem;line-height:1.5}.discovery-filters{display:flex;gap:7px;flex-wrap:wrap}.discovery-filters button{border:1px solid #b8c2ce;background:#fffefb;color:#102441;padding:12px 15px;min-height:48px;border-radius:4px;font-size:.875rem;line-height:1.4;font-weight:700;cursor:pointer}.discovery-filters button[aria-pressed=true]{background:#102441;border-color:#102441;color:#fff}.discovery-filters button:hover:not([aria-pressed=true]){background:#fff1cc}.discovery-filters #saved-count{background:#dfe7ed;border-radius:15px;padding:2px 7px;color:#102441;margin-left:4px}.discovery-results{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;font-size:.875rem;color:#526176}.discovery-results p{margin:0}.discovery-results button{font:inherit;color:#102441;border:0;background:none;text-decoration:underline;min-height:40px;font-weight:700}.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.save-brewery{position:absolute;top:13px;right:13px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d2dbe5;border-radius:50%;background:#fffefbf5;cursor:pointer;color:#102441;box-shadow:0 2px 6px #1024410d}.save-brewery svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.save-brewery[aria-pressed=true]{background:#ffc047;border-color:#ffc047}.save-brewery[aria-pressed=true] svg{fill:#102441}.discovery-bottom{text-align:center;padding-top:30px}.discovery-bottom p{font-size:.875rem;margin:17px 0 0;color:#526176}.discovery-empty{padding:48px 25px;text-align:center;border:1px dashed #a0aebe;border-radius:4px}.discovery-empty h3{font-size:2.2rem;margin-bottom:15px}.discovery-empty p{font-size:1rem;color:#526176;margin-bottom:24px}.photo-credits{border:0;border-top:1px solid #d7dce2;background:none;margin:27px 0 0;border-radius:0}.photo-credits summary{padding:20px 0;font-size:.875rem;font-weight:700}.photo-credits>p{font-size:.875rem;line-height:1.8;max-width:900px;padding:0 0 18px;margin:0;color:#526176}.directory-next h2{font-size:2.6rem}.directory-next>div{padding-right:30px}.directory-next>div+div{border-left:1px solid #cdd3db;padding-left:40px;padding-right:0}.directory-next .inquiry-action{margin-top:20px}.discovery-card[hidden],[hidden]{display:none!important}
@media(min-width:1600px){.best-hero .hero-inner{padding-block:74px 55px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-inner{height:80px;gap:15px}.brand img{width:67px;height:51px}.brand span{font-size:1.45rem}.menu-toggle{display:block;min-height:44px;font-size:.875rem;padding:10px 13px}.mobile-ticket{display:inline-flex;margin-left:auto;min-height:44px;padding:10px 15px;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;border-radius:4px}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 28px 25px;background:#fffefb;border-bottom:1px solid #cdd3db;box-shadow:0 20px 30px #10244115;max-height:calc(100dvh - 110px);overflow:auto}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav>a{padding:14px 4px;border-bottom:1px solid #d7dce2;font-size:1rem;white-space:normal}.nav .nav-ticket{margin:16px 0 0;padding:14px 22px;align-self:stretch;border:0}.festival-menu{border-bottom:1px solid #d7dce2}.festival-menu summary{font-size:1rem;padding:14px 4px}.festival-menu>div{position:static;box-shadow:none;border:0;background:#f3f5f6;padding:6px 10px;margin-bottom:13px}.best-hero .hero-inner{gap:40px;grid-template-columns:1.2fr .8fr}.best-hero .hero-copy h1{font-size:8vw}.best-hero .hero-copy>.hero-description{font-size:1rem}.best-hero .hero-tagline{font-size:1.3rem}.best-hero .pour-topline{font-size:.6875rem}.best-hero .pour-scene{border-radius:100px 100px 6px 6px}.best-hero .scene-caption{font-size:.5625rem}.event-facts{gap:22px}.event-facts>div+div{padding-left:22px}.event-facts strong{font-size:1rem}.event-facts small,.event-facts a{font-size:.8125rem}.weekend-grid{gap:40px}.weekend-photo img{aspect-ratio:.95}.home-producer-grid{gap:18px}.discovery-copy{padding:19px 16px 16px}.discovery-copy h3{font-size:1.75rem}.planning-grid{gap:55px}.community-grid{gap:55px}.home-sponsor-grid{gap:16px}.page-opening{gap:40px}.page-people{height:330px}.discovery-toolbar{flex-direction:column;align-items:stretch;gap:16px}.discover-search-wrap{max-width:none}.discovery-grid{gap:22px}.directory-heading{gap:35px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:2/4;display:flex;gap:10px 24px;flex-wrap:wrap}.footer-grid>div:last-child h3{flex-basis:100%;margin-bottom:0}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.section{padding-block:52px}.topbar{padding:7px 0;font-size:.625rem;letter-spacing:.7px}.topbar .wrap{gap:10px}.topbar .wrap>span:last-child{font-size:.5625rem;white-space:nowrap;letter-spacing:.6px}.header-inner{height:73px;gap:10px}.brand{gap:8px}.brand img{width:53px;height:42px}.brand span{font-size:1.2rem}.mobile-ticket{font-size:.8125rem;padding:10px 12px}.menu-toggle{font-size:.8125rem;padding:10px 11px}.nav{padding-inline:20px}.best-hero .hero-inner{grid-template-columns:1fr;gap:32px;padding:39px 0 28px;align-items:center}.best-hero .hero-copy h1{font-size:clamp(4.8rem,12.5vw,6.5rem);line-height:.87;letter-spacing:0;margin-bottom:22px}.best-hero .hero-copy h1 em{font-size:1.12em}.best-hero .hero-copy>.eyebrow{font-size:.75rem;letter-spacing:1.5px;margin-bottom:8px}.best-hero .hero-copy>.hero-date{font-size:1.45rem;margin-bottom:20px;letter-spacing:1.8px}.best-hero .hero-tagline{font-size:1.25rem;margin-bottom:13px}.best-hero .hero-copy>.hero-description{font-size:1rem;line-height:1.8;max-width:490px;margin-bottom:21px}.best-hero .actions{gap:10px;flex-direction:row;align-items:stretch}.best-hero .actions .button{min-width:0;padding:14px 17px;flex:1;max-width:260px;font-size:.875rem}.best-hero .hero-copy>.hero-small{font-size:.8125rem;margin-top:15px;line-height:1.6}.best-hero:before{background:linear-gradient(90deg,#081a30e8,#081a30b0 65%,#081a3080)}.best-hero .hero-atmosphere{object-position:58% 35%}.best-hero .pour-experience{max-width:270px;justify-self:center;width:100%}.best-hero .pour-topline{font-size:.625rem;margin-bottom:10px}.best-hero .pour-scene{aspect-ratio:1.03;border-radius:90px 90px 6px 6px}.best-hero .scene-caption{font-size:.5rem;letter-spacing:1px;top:10%}.best-hero .scene-bottom{font-size:1rem;letter-spacing:.7px;bottom:8%}.best-hero .pour-controls{margin-top:12px;gap:10px;flex-wrap:wrap}.best-hero .pour-meter{display:none}.best-hero .motion-toggle,.best-hero .reset-pour{font-size:.8125rem;min-height:42px;padding:8px 12px}.best-hero .pour-hint{font-size:.75rem;margin-top:8px}.event-facts{grid-template-columns:1fr;gap:0;padding:7px 0 22px}.event-facts>div{padding:17px 0!important;border-left:0!important}.event-facts>div+div{border-top:1px solid #ffffff25}.event-facts span{font-size:.625rem;margin-bottom:3px}.event-facts strong{font-size:1rem}.event-facts small,.event-facts a{font-size:.8125rem;margin-top:3px}.weekend-section{padding:51px 0}.weekend-grid{grid-template-columns:1fr;gap:30px}.weekend-photo img{aspect-ratio:1.5;object-position:center}.weekend-photo figcaption{font-size:.8125rem;padding-top:11px}.weekend-copy h2{font-size:clamp(2.75rem,8vw,3.8rem);margin-bottom:20px}.weekend-copy>p:not(.eyebrow){font-size:1rem}.weekend-links{margin-top:20px}.weekend-links>a{padding:17px 0}.weekend-links small{font-size:.875rem}.home-producers{padding:50px 0}.home-producers .section-head{align-items:start;flex-direction:column;gap:20px}.home-producers .section-head h2{font-size:clamp(2.65rem,8vw,3.75rem)}.lineup-note{font-size:.875rem;line-height:1.75;padding:12px 14px}.home-producer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.discovery-image{aspect-ratio:1.25}.discovery-image.is-logo img{padding:20px}.discovery-copy{padding:17px 14px 15px}.discovery-copy h3{font-size:1.75rem;margin-bottom:15px;line-height:1.13}.brewery-location{font-size:.75rem;margin-bottom:8px}.official-link{font-size:.8125rem;padding-top:12px}.discovery-prompt{flex-direction:column;align-items:start;gap:15px;padding-top:24px}.discovery-prompt p,.discovery-prompt>a{font-size:.9375rem}.home-planning{padding:51px 0}.planning-grid{grid-template-columns:1fr;gap:35px}.planning-grid h2{font-size:clamp(2.75rem,8vw,3.8rem);margin-bottom:28px}.planning-steps li{gap:20px;padding-bottom:24px}.planning-steps h3{font-size:1.8rem}.planning-steps p{font-size:.9375rem;line-height:1.8}.planning-links{gap:12px 20px;font-size:.875rem;padding-top:21px}.planner-heading{padding:26px}.planner-heading h3{font-size:4.25rem}.planner-content{padding:26px}.home-community{padding:53px 0}.community-grid{grid-template-columns:1fr;gap:34px}.home-community h2{font-size:clamp(3.5rem,10vw,4.5rem)}.home-community p{font-size:1rem}.community-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #ffffff35;padding-top:29px}.community-facts>div+div{padding:0;margin:0;border:0}.community-facts strong{font-size:1.85rem;line-height:1.1}.community-facts p{font-size:.875rem;line-height:1.75}.home-supporters{padding:47px 0}.supporters-heading{flex-direction:column;align-items:start;gap:17px;margin-bottom:24px}.supporters-heading h2{font-size:2.5rem}.home-sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-sponsor-grid>a{min-height:105px;padding:13px}.home-sponsor-grid img{height:85px}.home-supporters .section-note{font-size:.8125rem}.page-hero{padding-block:36px}.page-opening{grid-template-columns:1fr;gap:27px}.page-heading{grid-template-columns:1fr;gap:24px}.page-heading h1{font-size:clamp(3.1rem,9.5vw,4.5rem);line-height:.98;max-width:100%;text-wrap:balance}.page-heading p{font-size:1rem;line-height:1.8}.page-people{height:auto;aspect-ratio:1.52}.page-people figcaption{font-size:.8125rem;line-height:1.6;padding:13px 16px}.subnav{gap:9px 18px}.subnav a{font-size:.875rem;min-height:35px}.directory-heading{grid-template-columns:1fr;gap:19px}.directory-heading h2{font-size:3rem}.directory-heading>p{font-size:.9375rem}.discovery-toolbar{margin-top:24px}.discovery-filters{gap:7px}.discovery-filters button{padding:11px 13px;font-size:.8125rem;flex:1;min-height:46px;white-space:nowrap}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.discovery-results{font-size:.875rem}.save-brewery{width:42px;height:42px;top:9px;right:9px}.directory-next>div{padding:0}.directory-next>div+div{border-left:0;border-top:1px solid #cdd3db;padding:30px 0 0}.directory-next h2{font-size:2.5rem}.photo-credits summary,.photo-credits>p{font-size:.8125rem}.site-footer{padding-top:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px;padding-bottom:25px}.footer-brand{grid-column:1/-1}.footer-brand .brand img{width:71px;height:54px}.footer-brand .brand span{font-size:1.6rem}.footer-brand p{font-size:.875rem;max-width:410px}.footer-grid>div:last-child{grid-column:1/-1}.site-footer h3{font-size:1.65rem;margin-bottom:14px}.site-footer a{font-size:.875rem;min-height:36px}.footer-bottom{font-size:.75rem;flex-direction:column;align-items:start;gap:6px}.footer-legal{gap:10px 18px}.footer-legal a,.footer-legal span{font-size:.8125rem}.profile-layout{gap:25px}.profile-mark{max-width:240px}.archive-year-grid{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.brand span{font-size:1.075rem}.brand img{width:46px;height:36px}.header-inner{gap:8px}.mobile-ticket{padding-inline:10px}.menu-toggle{padding-inline:10px}.best-hero .hero-copy h1{font-size:12.5vw}.best-hero .hero-tagline{font-size:1.15rem}.best-hero .actions .button{font-size:.8125rem;padding-inline:12px}.home-producer-grid,.discovery-grid{gap:12px}.discovery-copy{padding:15px 12px}.discovery-copy h3{font-size:1.6rem}.discovery-filters button{flex:1 1 40%;font-size:.875rem}.community-facts{grid-template-columns:1fr}.home-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-year-card{padding:23px 17px}.archive-year-card strong{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.discovery-card,.discovery-image img{transition:none!important}.button:hover,.discovery-card:hover,.discovery-card:hover .discovery-image img{transform:none}}
@media print{.topbar,.site-header,.site-footer,.best-hero,.save-brewery,.discovery-toolbar,.discovery-bottom{display:none!important}.section{padding:20px 0}.wrap{width:100%}.page-people{max-height:250px}.discovery-card{break-inside:avoid}.weekend-planner{break-inside:avoid;box-shadow:none}}
/* Detail pages use the same clear rhythm as the homepage. */
.weekend-photo img{aspect-ratio:1.6}.photo-opening .page-heading h1{font-size:clamp(3.25rem,5.3vw,5.4rem);line-height:1.02}.photo-opening .page-heading>p{font-size:1.0625rem;line-height:1.8}.page-people figcaption{font-family:Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:600;line-height:1.6;letter-spacing:0;left:0;right:0;bottom:0;padding:18px 22px}.footer-brand .brand img{margin:0}.travel-summary{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start;margin-bottom:45px}.travel-summary h3{font-size:2rem;margin-bottom:18px}.travel-summary p{font-size:1rem;line-height:1.85}.past-shuttle{background:#fff;border:1px solid #cdd3db;border-radius:4px}.past-shuttle summary{font-size:1rem;font-weight:700;padding:18px}.past-shuttle>div{padding:0 20px 20px}.lodging-heading{padding-top:30px;margin-bottom:25px;border-top:1px solid #cdd3db}.lodging-heading h3{font-size:2.2rem;margin-bottom:12px}.lodging-heading p{font-size:.9375rem;max-width:850px;line-height:1.8}.lodging-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lodging-card{padding:23px;align-content:start}.lodging-card h4{font-size:1.75rem;line-height:1.2}.lodging-card p{font-size:.9375rem;line-height:1.75}.lodging-card>a{font-size:.875rem;min-height:40px}.ticket-release{display:flex;gap:60px;align-items:center;justify-content:space-between}.ticket-release>div{max-width:750px}.ticket-release h2{font-size:3.4rem;margin-bottom:18px}.ticket-release p{font-size:1rem;line-height:1.85;margin-bottom:0}.ticket-release .eyebrow{font-size:.8125rem;margin-bottom:12px}.ticket-release>.button{max-width:260px;flex-shrink:0}.admission-cards{gap:30px}.admission-cards article{padding:35px;background:#fffefb;border:1px solid #cdd3db;border-top:5px solid #d79625;border-radius:4px;display:flex;flex-direction:column}.admission-cards h3{font-size:2.6rem;margin:0 0 18px}.admission-cards p,.admission-cards li{font-size:1rem;line-height:1.8}.admission-cards ul{padding-left:20px;margin:3px 0 24px}.admission-cards li{margin-bottom:8px}.admission-cards .admission-kicker{font-size:.75rem;letter-spacing:1.3px;font-weight:700;color:#75501a;margin-bottom:17px}.admission-cards .admission-footnote{font-size:.9375rem;line-height:1.75;color:#526176;padding-top:23px;border-top:1px solid #d7dce2;margin-top:auto;margin-bottom:0}.ticket-faq{max-width:950px}.faq summary{font-size:1rem;line-height:1.7;min-height:56px}.faq details>div{font-size:1rem;line-height:1.85}.volunteer-intro{display:grid;grid-template-columns:1.3fr .9fr;gap:70px;align-items:start}.volunteer-intro h2{font-size:clamp(2.8rem,3.9vw,4rem);margin-bottom:23px}.volunteer-intro p{font-size:1rem;line-height:1.85}.volunteer-intro aside{background:#fff4d7;border-left:4px solid #d79625;padding:29px}.volunteer-intro aside h3{font-size:2rem;margin-bottom:15px}.volunteer-intro aside ul{padding-left:20px;font-size:1rem;margin:0 0 15px}.volunteer-intro aside li{margin-bottom:8px}.volunteer-intro aside a{font-size:.9375rem;font-weight:bold}.volunteer-roles{gap:32px}.volunteer-roles article{padding-right:20px}.volunteer-roles h3{font-size:2rem;margin-bottom:15px}.volunteer-roles p{font-size:1rem;line-height:1.8}.volunteer-roles .eyebrow{font-size:.75rem}.volunteer-benefits{border-top:1px solid #cdd3db;margin-top:30px;padding-top:30px;max-width:1000px}.volunteer-benefits h3{font-size:2rem;margin-bottom:18px}.volunteer-benefits p{font-size:1rem;line-height:1.85}.volunteer-contact-heading{max-width:820px}.volunteer-contact-heading h2{margin-bottom:20px}.volunteer-contact-heading p{font-size:1rem;line-height:1.85}.volunteer-contact-heading .eyebrow{font-size:.8125rem}.volunteer-interest{margin-top:30px;max-width:100%;padding:38px}.volunteer-interest h2{font-size:2.5rem}.interest-fields{gap:25px 32px}.interest-fields input,.interest-fields select{height:50px}.profile-biography{line-height:1.9}.profile-layout .button{margin-top:12px}
@media(max-width:1100px){.lodging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-summary,.volunteer-intro{gap:40px}.ticket-release{gap:30px}.admission-cards article{padding:28px}.volunteer-roles{gap:24px}.weekend-photo img{aspect-ratio:1.3}}
@media(max-width:760px){.photo-opening .page-heading h1{font-size:clamp(3rem,9vw,4.2rem);line-height:1.02}.photo-opening .page-heading>p{font-size:1rem;line-height:1.8}.weekend-photo img{aspect-ratio:1.6}.travel-summary,.volunteer-intro{grid-template-columns:1fr;gap:26px}.travel-summary{margin-bottom:32px}.lodging-grid{gap:16px}.lodging-card{padding:20px}.lodging-heading h3{font-size:2rem}.ticket-release{flex-direction:column;align-items:start;gap:25px}.ticket-release>.button{max-width:100%}.admission-cards article{padding:28px 25px}.admission-cards h3{font-size:2.35rem}.volunteer-intro h2{font-size:2.9rem}.volunteer-roles{grid-template-columns:1fr;gap:24px}.volunteer-roles article{padding:0}.volunteer-roles article+article{padding-top:24px;border-top:1px solid #d7dce2}.volunteer-interest{padding:25px}.volunteer-interest h2{font-size:2.1rem}.volunteer-benefits p,.travel-summary p{font-size:1rem}.interest-fields{gap:20px}.ticket-release h2{font-size:3.1rem}}
@media(max-width:550px){.lodging-grid{grid-template-columns:1fr}.lodging-card{padding:23px}.volunteer-interest{padding:23px 18px}}
@media(max-width:390px){.best-hero .hero-copy h1{font-size:clamp(3.9rem,18.5vw,4.6rem)}}
/* Festival benchmark review: clear next steps and usable controls. */
.release-actions{display:flex;flex-direction:column;gap:12px;flex:0 0 280px;max-width:100%}
.release-actions .button{width:100%;min-height:50px}
.release-actions p{font-size:.875rem;line-height:1.6;color:#526176;margin:2px 0 0}
.ticket-release h2{font-size:clamp(2.5rem,3.8vw,3.4rem);line-height:1.04}
.access-guide{scroll-margin-top:28px}
.access-guide h3{margin-bottom:20px}
.access-guide p{font-size:1rem;line-height:1.85}
.access-guide a{overflow-wrap:anywhere}
.access-rules{border-top:1px solid #d7dce2;padding-top:22px;margin-top:25px}
.planner-note a{display:inline-block;margin-top:9px;line-height:1.65;color:#102441;font-weight:700}
.archive-body thead th{background:#102441;color:#fffefb;font-family:Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:700;line-height:1.5;padding:13px 16px;border-bottom:0}
.archive-body table:has(thead) tbody tr:first-child td{border-top:1px solid #dde1e6}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #9c5e00;outline-offset:4px;scroll-margin-top:115px}
.photo-opening-navy :where(a,button,summary):focus-visible,.home-community :where(a,button):focus-visible,.best-hero :where(a,button):focus-visible,.site-footer a:focus-visible{outline-color:#ffc047}
.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.interest-fields input,.interest-fields textarea,.interest-fields select,.draft-result textarea{font-size:1rem}
.interest-check{padding-block:8px;cursor:pointer}
.interest-check input{width:24px;min-width:24px;height:24px;flex:0 0 24px}
.save-brewery{width:44px;height:44px;min-width:44px;min-height:44px}
.copy-email{min-height:44px;padding-inline:10px}
.discover-search-wrap input,.site-search-form input{font-size:1rem}
.subnav a{min-height:44px;display:inline-flex;align-items:center}
.header-inner,.page-opening-copy,.directory-heading>div,.planning-grid>div,.ticket-release>div,.contact-card,.discovery-copy{min-width:0}
.page-heading h1,.discovery-copy h3,.contact-card h3,.lodging-card h4{overflow-wrap:anywhere}
.site-footer a,.subnav a,.official-link{font-size:clamp(.875rem,1em,1rem)}
.eyebrow,.page-overline .eyebrow,.brewery-location{font-size:.875rem}
.best-hero .pour-topline,.best-hero .scene-caption{font-size:.75rem;line-height:1.4;letter-spacing:.9px}
.best-hero .pour-hint{font-size:.875rem;line-height:1.6}
.topbar,.topbar .wrap>span:last-child{font-size:.75rem;line-height:1.5}
.sponsor-card,.vendor-card a,.vendor-role,.action-note,.copy-status{font-size:.875rem;line-height:1.65}
@media(min-width:1101px) and (max-width:1200px){.header-inner{gap:18px}.nav{gap:16px}.nav>a,.festival-menu summary{font-size:.875rem}.nav-ticket{padding-inline:14px}.brand img{width:67px;height:51px}.brand span{font-size:1.4rem}}
@media(max-width:1100px){.nav{max-height:calc(100dvh - 100px)}.festival-menu summary,.nav>a{min-height:48px}.release-actions{flex-basis:260px}.nav .button{width:100%}}
@media(max-width:760px){.release-actions{flex:auto;width:100%;max-width:420px}.ticket-release h2{font-size:clamp(2.4rem,8vw,3.1rem)}.discovery-filters button{font-size:.875rem;min-height:48px}.brewery-location{font-size:.8125rem}.topbar{font-size:.75rem;letter-spacing:.5px}.best-hero .motion-toggle,.best-hero .reset-pour{min-height:44px;font-size:.875rem}.best-hero .scene-caption{font-size:.75rem;letter-spacing:.5px}.best-hero .hero-small{font-size:.875rem}.official-link{font-size:.875rem}.page-people figcaption{font-size:.875rem}.interest-fields label{font-size:1rem}}
@media(max-width:550px){.topbar .wrap>span:last-child{display:none}.topbar .wrap>span:first-child{font-size:.75rem}.subnav{gap:8px 18px}.subnav a{font-size:.875rem}.footer-bottom{font-size:.8125rem}.footer-legal a{font-size:.875rem}.event-facts span{font-size:.75rem}.event-facts small,.event-facts a{font-size:.875rem}.home-producer-grid .discovery-copy{padding-inline:12px}.best-hero .hero-copy>.eyebrow{font-size:.8125rem}.best-hero .hero-copy>.hero-small{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
@media(forced-colors:active){.save-brewery{border:2px solid ButtonText}.save-brewery[aria-pressed=true]{outline:3px solid Highlight}.discovery-filters button[aria-pressed=true]{outline:3px solid Highlight}.button{border:2px solid ButtonText}.nav a[aria-current=page]{outline:2px solid Highlight}}
