@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--ink:#171813;--muted:#62645b;--paper:#f4f2e9;--lime:#d8f36a;--line:rgba(23,24,19,.16);--display:"Space Grotesk",Arial,sans-serif;--body:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #7d991c;outline-offset:4px}.site-header{height:86px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-logo{display:block;width:52px;height:62px;object-fit:contain;border-radius:4px}.brand-logo-footer{width:42px;height:48px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);font:700 27px var(--display)}.brand-name{display:flex;flex-direction:column;gap:3px}.brand-name strong{font:700 14px var(--display);letter-spacing:.08em}.brand-name small{font-size:9px;letter-spacing:.18em;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font-size:13px}.header-cta,.main-nav a,.social-links a{transition:opacity .2s ease}.header-cta:hover,.main-nav a:hover,.social-links a:hover{opacity:.65}.header-cta{border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;font-weight:700}.header-cta span{margin-left:10px}.hero{position:relative;min-height:630px;display:flex;align-items:center;overflow:hidden;background:#191a16;color:#f5f3eb}.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,13,.97),rgba(15,16,13,.87) 42%,rgba(15,16,13,.28)),url(/images/festival-hero.jpg) center 45% /cover;opacity:.98}.hero-content{position:relative;z-index:1;width:min(760px,78%);margin-left:10%;padding:88px 0 94px}.eyebrow{margin:0 0 25px;font-size:10px;font-weight:700;letter-spacing:.19em}.eyebrow-dot{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--lime);vertical-align:1px}h1,h2,h3,p{margin-top:0}.hero h1{max-width:700px;margin-bottom:22px;font:600 clamp(50px,7vw,92px)/.99 var(--display);letter-spacing:-.065em}.hero h1 span{color:var(--lime)}.hero-intro{max-width:490px;color:rgba(245,243,235,.77);font-size:15px;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 19px;font-size:12px;font-weight:700;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--ink)}.button-primary:hover{background:#e4ff85}.button-quiet{border:1px solid rgba(255,255,255,.35);color:#fff}.hero-note{display:flex;align-items:center;gap:12px;margin-top:66px;color:rgba(245,243,235,.62);font-size:11px}.note-line{width:34px;height:1px;background:var(--lime)}.hero-side-label{position:absolute;right:25px;bottom:35px;writing-mode:vertical-rl;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:.22em}.section-wrap{padding:105px 10%}.section-kicker{display:flex;align-items:center;gap:14px;margin-bottom:32px;font-size:10px;font-weight:700;letter-spacing:.16em}.section-kicker span{color:#777b64}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:8%;gap:8%;align-items:start}.association-copy h2,.contact-panel h2,.intro h2{margin:0;font:600 clamp(35px,4.2vw,56px)/1.08 var(--display);letter-spacing:-.055em}.intro h2 em{color:#7a8c3d;font-style:normal}.intro-copy{max-width:470px;padding-top:5px}.association-copy p,.contact-text,.intro-copy p{color:var(--muted);font-size:14px;line-height:1.9}.text-link{display:inline-flex;gap:20px;margin-top:12px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-top:65px}.feature-card{min-height:235px;padding:25px;display:flex;flex-direction:column;align-items:flex-start}.feature-card-dark{background:#20221b;color:#f4f2e9}.feature-card-lime{background:var(--lime);color:var(--ink)}.feature-card-paper{background:#e6e3d8;color:var(--ink)}.feature-number{font-size:10px;letter-spacing:.12em;opacity:.65}.feature-symbol{margin-top:22px;font:36px var(--display)}.feature-card h3{margin:12px 0 8px;font:600 22px var(--display);letter-spacing:-.04em}.feature-card p{max-width:240px;margin:0;font-size:12px;line-height:1.7;opacity:.75}.association-section{display:grid;grid-template-columns:1fr 1fr;background:#20221b;color:#f4f2e9}.association-image{min-height:520px;background:linear-gradient(0deg,rgba(10,10,8,.55),rgba(10,10,8,.12)),url(/images/association.jpg) 50% /cover;display:flex;align-items:end;padding:28px}.image-caption{display:flex;flex-direction:column;gap:6px;padding:13px 16px;background:rgba(16,17,14,.76);font-size:11px;letter-spacing:.08em}.image-caption small{color:rgba(255,255,255,.75);font-size:10px;letter-spacing:0}.association-copy{align-self:center;max-width:650px;padding:85px 12%}.section-kicker-light{color:#f4f2e9}.section-kicker-light span{color:var(--lime)}.association-copy h2{margin-bottom:24px;font-size:clamp(36px,4vw,52px)}.association-copy p{color:rgba(244,242,233,.68)}.association-copy .button{margin-top:14px}.gallery-section{padding-top:20px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.gallery-heading h2{margin:0;font:600 clamp(35px,4.2vw,56px)/1.08 var(--display);letter-spacing:-.055em}.gallery-heading p{max-width:270px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:16px;gap:16px}.gallery-grid figure{position:relative;margin:0;min-height:260px;overflow:hidden;background:#20221b}.gallery-grid img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .5s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 16px;color:white;font-size:12px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.7))}.contact-section{padding-top:80px;padding-bottom:100px}.contact-panel{display:grid;grid-template-columns:1fr 1fr;grid-gap:8%;gap:8%;padding:48px;background:#e8e5da}.contact-panel .eyebrow{margin-bottom:15px;color:#74785c}.contact-panel h2{font-size:clamp(40px,5vw,60px)}.contact-text{max-width:420px;margin:17px 0 0}.contact-links{align-self:center}.contact-email{display:inline-flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--ink);font:600 clamp(17px,2vw,24px) var(--display);overflow-wrap:anywhere}.social-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:25px}.social-links a{font-size:12px;font-weight:700}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 6.5%;border-top:1px solid var(--line)}.brand-footer .brand-mark{width:34px;height:34px;font-size:22px}.brand-footer .brand-name strong{font-size:11px}.brand-footer .brand-name small{font-size:8px}.copyright,.site-footer>p{margin:0;color:var(--muted);font-size:10px}@media (max-width:850px){.site-header{padding:0 5%}.main-nav{gap:16px}.header-cta{display:none}.hero{min-height:600px}.hero-content{width:82%;margin-left:7%}.section-wrap{padding:78px 7%}.intro-grid{grid-template-columns:1fr;gap:25px}.feature-grid{margin-top:42px}.association-copy{padding:60px 8%}.contact-panel{padding:32px;gap:28px}}@media (max-width:600px){.site-header{height:74px}.brand-logo{width:42px;height:50px}.brand-name strong{font-size:11px}.brand-name small{font-size:8px}.main-nav{gap:12px;font-size:11px}.main-nav a:nth-child(2){display:none}.hero{min-height:610px}.hero-backdrop{background-position:58%}.hero-content{width:86%;margin-left:7%;padding:70px 0}.hero h1{font-size:clamp(48px,14vw,72px)}.hero-intro{font-size:14px}.hero-note{margin-top:48px}.hero-side-label{right:10px;font-size:8px}.section-wrap{padding:68px 6%}.feature-grid{grid-template-columns:1fr;gap:10px}.feature-card{min-height:190px}.association-section{grid-template-columns:1fr}.association-image{min-height:300px}.association-copy{padding:54px 7%}.gallery-heading{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure,.gallery-grid img{min-height:230px}.contact-panel{grid-template-columns:1fr;padding:28px 22px}.site-footer{align-items:flex-start;flex-direction:column;padding:26px 6%}}