:root{--paper:#faf3e5;--cream:#fffaf1;--ink:#172f27;--muted:#515f52;--green:#18382e;--red:#9e402a;--gold:#f1ab49;--line:#d8cdb8;--pale:#eee2cd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ae522e;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3{line-height:1.06;letter-spacing:-.045em}h1,h2{font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(3rem,7vw,6.8rem)}h2{font-size:clamp(2.4rem,5vw,4.5rem)}h3{font-size:1.48rem}em{color:var(--red);font-weight:400}.wrap{width:min(1220px,calc(100% - 68px));margin:auto}.skip{position:absolute;left:12px;top:-80px;background:white;padding:10px;z-index:4}.skip:focus{top:10px}.top{background:var(--green);color:var(--cream);font-size:.73rem;text-transform:uppercase;letter-spacing:.17em}.top .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:8px}.top a{text-decoration:none}.head{background:var(--cream);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:81px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand b{font-size:2rem;line-height:1;letter-spacing:-.1em}.brand small{font-size:.7rem;font-weight:750;line-height:1.25;max-width:135px}.diamond{width:11px;height:11px;background:var(--red);transform:rotate(45deg);display:inline-block;flex:none}.nav nav{display:flex;align-items:center;gap:24px}.nav nav a{text-decoration:none;font-weight:680;font-size:.89rem;white-space:nowrap}.nav nav a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:6px}.menu{display:none}.btn{background:var(--red);color:white;border:1px solid var(--red);padding:12px 19px;font:inherit;font-weight:700;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:8px;justify-content:center;cursor:pointer}.btn:hover{background:#7c3323;color:white}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.secondary:hover{background:var(--pale)}.btn.light{background:var(--gold);color:var(--ink);border-color:var(--gold)}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:11px;margin-bottom:20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:580px}.hero-copy{align-self:center;padding:64px 44px 58px 0}.hero h1{font-size:clamp(3.7rem,7.7vw,7.4rem);margin-bottom:.23em}.lede{font-size:1.15rem;max-width:58ch;color:var(--muted)}.hero-art{background:var(--green) url(assets/landscape.svg) center/cover no-repeat;min-height:490px;display:flex;align-items:end;padding:24px;position:relative}.hero-art span{color:var(--cream);font-size:.74rem;font-weight:720;letter-spacing:.13em;text-transform:uppercase}.facts{background:var(--pale);border-block:1px solid var(--line)}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr)}.fact-grid div{padding:20px;border-left:1px solid var(--line)}.fact-grid div:last-child{border-right:1px solid var(--line)}.fact-grid strong{display:block;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.fact-grid small{color:var(--muted)}.section{padding:76px 0}.section.tight{padding:50px 0}.section:nth-of-type(odd) .panel{background:var(--cream)}.intro{margin-bottom:29px}.intro h1,.intro h2{margin-bottom:.28em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:26px;background:var(--cream);border:1px solid var(--line);border-top:4px solid var(--red);display:flex;flex-direction:column}.card:nth-child(2){border-top-color:#b16a1e}.card:nth-child(3){border-top-color:#466447}.card p,.panel p{color:var(--muted)}.card .link{margin-top:auto;padding-top:12px}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:820;color:var(--red);margin-bottom:16px;display:block}.link{font-weight:750;text-underline-offset:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.panel{background:var(--cream);border:1px solid var(--line);padding:28px}.dark{background:var(--green);color:var(--cream)}.dark p{color:#f0dfc4}.wordmark{width:min(100%,380px);padding:10px;background:white;align-self:center;justify-self:center}.wordmark img{width:100%;height:auto}.brand-logo{width:46px;height:46px;flex:none;border-radius:5px}@media(max-width:370px){.brand b{display:none}}.timeline{border-top:1px solid var(--line)}.event{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.event time{font:2.5rem/1 Georgia,serif;color:var(--red)}.event p{margin-bottom:.35em}.badge{display:inline-block;border:1px solid var(--line);padding:3px 9px;font-size:.78rem;font-weight:700}.page-top{background:var(--pale);border-bottom:1px solid var(--line);padding:60px 0 48px}.page-top h1{margin-bottom:.22em;font-size:clamp(3.2rem,7vw,6rem)}.comparison{overflow:auto;border:1px solid var(--line)}table{width:100%;min-width:680px;border-collapse:collapse;background:var(--cream);text-align:left}caption{text-align:left;padding:16px;font-weight:750}th,td{padding:13px 17px;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--green);color:var(--cream)}tbody th{width:14%}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:750}details p{margin:10px 0 0}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{padding:9px 0;border-bottom:1px solid var(--line)}label{font-weight:700;display:block;margin-top:10px}input,select,textarea{width:100%;font:inherit;padding:9px;border:1px solid #9a917c;color:var(--ink);background:white;margin-bottom:8px}textarea{resize:vertical}.fine{font-size:.88rem;color:var(--muted)}.foot{border-top:1px solid #607267;padding:32px 0;background:var(--green);color:var(--cream)}.foot .wrap{display:flex;align-items:start;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot p{margin:0}.foot a{margin-right:14px}.social{display:flex;gap:14px;flex-wrap:wrap}.social a{font-weight:700;text-underline-offset:4px}.note{background:var(--pale);padding:15px;border-left:4px solid var(--red)}[id]{scroll-margin-top:20px}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.nav{flex-wrap:wrap;min-height:66px}.nav nav{gap:14px}.hero{min-height:0}.hero-copy{padding-right:22px}.hero-art{min-height:420px}.cards{gap:10px}.card{padding:17px}}
@media(max-width:690px){.wrap{width:calc(100% - 32px)}.top .wrap{font-size:.63rem}.top .social{gap:7px}.nav{gap:10px;padding-block:11px}.menu{display:inline-block;background:transparent;border:1px solid var(--line);padding:7px 10px;font:inherit;color:inherit}.nav nav{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:8px 0}.js .nav nav[hidden]{display:none}.hero,.split,.cards{grid-template-columns:1fr}.hero-copy{padding:43px 0 30px}.hero-art{min-height:340px;aspect-ratio:1.13}.section{padding:53px 0}.fact-grid div{padding:10px 7px}.fact-grid strong{font-size:1.12rem}.fact-grid small{font-size:.75rem;line-height:1.25;display:block}.event{grid-template-columns:75px 1fr;gap:12px}.event time{font-size:1.85rem}.page-top{padding:44px 0 30px}.panel{padding:19px}}
.languages{margin:0;padding:0;border:0;position:relative;flex:none}
.languages summary{list-style:none;border:1px solid var(--line);padding:7px 10px;font-size:.83rem;white-space:nowrap}
.languages summary::-webkit-details-marker{display:none}
.languages summary::after{content:" ▾"}
.language-links{position:absolute;right:0;top:calc(100% + 4px);z-index:3;min-width:145px;background:var(--cream);border:1px solid var(--line);box-shadow:0 7px 18px #172f2720}
.language-links a{display:block;padding:8px 14px;text-decoration:none;font-size:.87rem}
.language-links a:hover,.language-links a[aria-current=true]{background:var(--pale);text-decoration:underline}
@media(max-width:1080px){.nav{gap:12px}.nav nav{gap:12px}.nav nav a{font-size:.82rem}.brand small{display:none}}
@media(max-width:750px){.nav{flex-wrap:wrap;justify-content:start}.nav .brand{margin-right:auto}.nav nav{order:1;width:100%;padding:6px 0;justify-content:space-between;flex-wrap:wrap}}
@media(max-width:690px){.nav nav{justify-content:initial}.languages summary{padding:7px 8px}.brand b{font-size:1.7rem}}

/* The festival poster palette and lettering follow the uploaded FIDT logo. */
:root{
  --paper:#fff9ed;
  --cream:#fffdf7;
  --ink:#181a14;
  --muted:#494d3e;
  --green:#10451d;
  --red:#ad201e;
  --gold:#f6b024;
  --line:#d8ceb7;
  --pale:#f6e9c9;
  --display:Impact,"Arial Narrow","Franklin Gothic Heavy",system-ui,sans-serif;
}
body{font-family:system-ui,sans-serif}
h1,h2{font-family:var(--display);font-weight:900;letter-spacing:-.047em}
h1{color:var(--green);text-transform:uppercase;font-style:italic;line-height:.99}
h2{color:var(--green);line-height:1.07}
h1 em{font-weight:inherit;color:inherit}
.top{background:var(--green);border-bottom:3px solid var(--gold)}
.head{border-bottom:2px solid var(--ink)}
.brand b{font-family:var(--display);font-style:italic;font-weight:950;color:var(--green);letter-spacing:-.045em}
.brand-logo{border-radius:0}
.nav nav a[aria-current=page]{color:var(--green);text-decoration-color:var(--red);text-decoration-thickness:3px}
.languages summary,.menu{border-color:var(--green);color:var(--green);font-weight:760}
.eyebrow{color:var(--green)}
.diamond{background:var(--red);box-shadow:3px -3px 0 var(--gold)}
.btn{background:var(--green);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:#1c5a2a;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn.light{background:var(--gold);border-color:var(--ink)}
.btn.light:hover{color:var(--ink);background:#ffc95a}
.hero{padding-block:30px;gap:28px;align-items:stretch}
.hero-copy{padding:40px 0 44px}
.hero h1{font-size:clamp(3.5rem,6.8vw,6.65rem);margin-bottom:.36em}
.hero h1 em{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:.11em;text-underline-offset:.09em;text-decoration-skip-ink:none}
.hero-art{
  isolation:isolate;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  background:repeating-linear-gradient(135deg,#10451d 0 11px,#174e23 11px 12px);
  border:2px solid var(--ink);
  box-shadow:7px 7px 0 var(--gold);
  padding:24px;
  overflow:hidden;
}
.hero-art::before,.hero-art::after{content:"";position:absolute;z-index:-1;width:120%;height:18%;background:var(--gold);transform:rotate(-16deg);left:-10%}
.hero-art::before{top:24%}
.hero-art::after{bottom:21%;height:4%;background:#cf322a}
.hero-logo{width:min(91%,420px);height:auto;border:2px solid var(--ink);box-shadow:6px 6px 0 #101e11;transform:rotate(-3deg)}
.hero-art span{position:relative;background:var(--green);border:1px solid #f8da89;padding:5px 11px;text-align:center}
.facts{background:var(--gold);border-color:var(--ink)}
.fact-grid div,.fact-grid div:last-child{border-color:#181a1445}
.fact-grid strong,.event time{font-family:var(--display);font-weight:800;letter-spacing:-.025em}
.fact-grid small{color:#332708}
.card{border-color:var(--ink);border-top:6px solid var(--green);box-shadow:4px 4px 0 var(--pale)}
.card:nth-child(2){border-top-color:#cc8707}
.card:nth-child(3){border-top-color:var(--red)}
.tag,.event time{color:var(--red)}
.card h3,.panel h3{color:var(--green)}
.dark,.foot{background:var(--green)}
.dark h2,.dark .eyebrow{color:var(--cream)}
.wordmark{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--gold)}
.page-top{background:var(--pale);border-bottom:2px solid var(--ink);box-shadow:inset 0 -6px var(--gold)}
.page-top h1{overflow-wrap:anywhere}
input,select,textarea{border-color:#766f5d}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:var(--red)}
.dark a:focus-visible,.foot a:focus-visible,.top a:focus-visible{outline-color:var(--gold)}
@media(max-width:900px){.hero{gap:19px}.hero-art{padding:18px}}
@media(max-width:690px){
  .hero{padding-block:0 24px;gap:0}
  .hero-copy{padding:42px 0 29px}
  .hero h1{font-size:clamp(2.85rem,11vw,5rem)}
  .hero-art{aspect-ratio:auto;min-height:0;padding:22px 16px}
  .hero-logo{width:min(82%,360px)}
  .page-top h1{font-size:clamp(2.55rem,9vw,4.5rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
.hero-copy{min-width:0}
.hero h1{overflow-wrap:anywhere}
