:root {
  --navy: #063b59;
  --deep: #10202a;
  --blue: #087ca3;
  --aqua: #69c9d0;
  --foam: #e4f0ee;
  --paper: #f3ecdf;
  --sun: #efad42;
  --ink: #15191b;
  --line: rgba(6, 59, 89, .2);
  --display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue Condensed", Impact, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
a { color: inherit; }
img { display: block; max-width: 100%; }

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  padding: 0 5vw;
  color: white;
  background: rgba(6, 27, 37, .94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 750; letter-spacing: .01em; }
.brand img { width: 45px; height: 45px; border-radius: 50%; object-fit: cover; }
.site-header nav { display: flex; align-items: center; gap: 24px; }
.site-header nav a { text-decoration: none; font-size: .88rem; font-weight: 650; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--aqua); }
.menu-toggle { display: none; border: 1px solid rgba(255,255,255,.4); color: white; background: transparent; padding: 8px 12px; font: inherit; }

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: center;
  min-height: 690px;
  padding: 90px 8vw 120px;
  color: white;
  background: linear-gradient(135deg, var(--deep) 0%, #07475e 58%, #0a8091 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background: radial-gradient(circle at 75% 25%, rgba(93,192,196,.35), transparent 35%), radial-gradient(circle at 10% 90%, rgba(240,165,58,.16), transparent 30%);
}
.hero-copy { max-width: 760px; }
.eyebrow { margin: 0 0 18px; color: var(--blue); font-size: .78rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.hero .eyebrow { color: #9de1df; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 850px; margin-bottom: 28px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.8rem, 8vw, 7.8rem); font-weight: 500; line-height: .91; letter-spacing: -.055em; }
.hero-intro { max-width: 680px; margin-bottom: 36px; color: rgba(255,255,255,.82); font-size: 1.18rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.button { display: inline-block; padding: 13px 19px; border: 1px solid transparent; text-decoration: none; font-weight: 800; font-size: .9rem; }
.button-primary { color: var(--deep); background: var(--sun); }
.button-quiet { color: white; border-color: rgba(255,255,255,.42); }
.button-light { color: var(--deep); background: white; }
.hero-image { position: relative; justify-self: end; width: min(35vw, 470px); margin: 0; transform: rotate(2deg); filter: drop-shadow(0 24px 50px rgba(0,0,0,.28)); }
.hero-image::before { content: ""; position: absolute; inset: -13px; border: 1px solid rgba(255,255,255,.35); }
.hero-image img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 28% center; }
.hero-image figcaption { position: absolute; right: -10px; bottom: -42px; max-width: 240px; padding: 12px 15px; color: var(--deep); background: var(--sun); font-size: .78rem; font-weight: 800; line-height: 1.35; transform: rotate(-2deg); }
.wave { position: absolute; z-index: -2; left: -10%; width: 120%; height: 130px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: rotate(-3deg); }
.wave-one { bottom: 35px; }
.wave-two { bottom: -10px; left: -3%; }

.attend-section { scroll-margin-top: 76px; color: white; background: var(--deep); }
.attend-section .eyebrow { color: var(--aqua); }
.attend-section .section-heading > p { color: rgba(255,255,255,.72); }
.attend-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.attend-card { display: flex; min-height: 430px; padding: clamp(30px, 4vw, 50px); flex-direction: column; justify-content: space-between; color: var(--ink); background: var(--paper); }
.attend-card-primary { color: white; background: var(--blue); }
.attend-label { margin-bottom: 44px; font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.attend-card h3 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.4rem, 4.5vw, 4.6rem); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
.attend-date { margin-top: 14px; font-size: 1.08rem; font-weight: 850; }
.attend-card > p, .attend-card address { max-width: 580px; margin: 24px 0 0; opacity: .78; font-style: normal; }
.attend-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 34px; }
.attend-link { font-weight: 850; text-underline-offset: 5px; }
.attend-card:not(.attend-card-primary) .attend-link { color: var(--blue); }

section { padding: 110px 8vw; }
.section-heading { max-width: 780px; margin-bottom: 54px; }
.section-heading h2, .about-copy h2, .submit-section h2, .contact-section h2 { margin-bottom: 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 5.2vw, 5.2rem); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.section-heading > p:last-child, .split-heading > p { color: #46606a; font-size: 1.08rem; }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; max-width: none; align-items: end; }

.festival-section { background: var(--foam); }
.featured-topic { margin: 10px 0 18px; color: var(--blue); font-size: .92rem; letter-spacing: .02em; }
.featured-topic strong { font-weight: 850; }
.festival-section .featured-topic { margin-top: -4px; }
.location-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 20px; }
.location-card { min-height: 270px; padding: 36px; background: white; border: 1px solid var(--line); }
.location-primary { color: white; background: var(--blue); border-color: var(--blue); }
.location-card .date { margin-bottom: 62px; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.location-card h3 { margin-bottom: 0; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.location-card p:last-child { max-width: 590px; margin-top: 18px; opacity: .8; }
.location-card .curator-credit { max-width: 590px; margin-top: 22px; color: var(--deep); opacity: 1; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stats div { padding: 30px 22px; border-right: 1px solid var(--line); }
.stats div:last-child { border-right: 0; }
.stats strong, .stats span { display: block; }
.stats strong { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 500; line-height: 1; }
.stats span { margin-top: 8px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.program-section { background: var(--paper); }
.program-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.program-grid article { min-height: 310px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.program-grid span { color: var(--blue); font-family: Georgia, serif; font-size: 2rem; }
.program-grid h3 { margin-top: 80px; font-size: 1.1rem; }
.program-grid p { color: #526871; font-size: .92rem; }
.text-link { display: inline-block; margin-top: 32px; color: var(--blue); font-weight: 850; text-underline-offset: 5px; }
.program-directory { margin-top: 50px; border-top: 1px solid var(--line); }
.program-directory details { border-bottom: 1px solid var(--line); }
.program-directory summary { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 25px 4px; cursor: pointer; list-style: none; }
.program-directory summary::-webkit-details-marker { display: none; }
.program-directory summary::before { content: "+"; grid-column: 2; grid-row: 1 / span 2; color: var(--blue); font-size: 1.8rem; font-weight: 400; }
.program-directory details[open] summary::before { content: "−"; }
.program-directory summary span { font-family: Georgia, serif; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.program-directory summary small { grid-column: 1; color: #5c7077; font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.special-screening { display: grid; grid-template-columns: minmax(230px, .7fr) 1.3fr; gap: clamp(35px, 6vw, 80px); align-items: center; margin-top: 70px; padding: clamp(28px, 5vw, 58px); color: white; background: var(--deep); }
.special-screening figure { margin: 0; }
.special-screening img { display: block; width: 100%; height: auto; box-shadow: 0 22px 55px rgba(0,0,0,.3); }
.special-screening h3 { margin: 8px 0 24px; font-family: Georgia, serif; font-size: clamp(2.2rem, 4.5vw, 4.5rem); font-weight: 500; line-height: 1; }
.special-screening > div > p:not(.eyebrow) { max-width: 650px; margin-top: 15px; color: rgba(255,255,255,.74); }
.special-screening .curator-credit { color: white; }
.trailer-embed { max-width: 650px; margin-top: 26px; }
.special-screening .trailer-embed .trailer-label { margin: 0 0 10px; color: white; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.trailer-embed iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #071b25; }
.trailer-embed a { display: inline-block; margin-top: 10px; color: white; font-size: .84rem; font-weight: 800; text-underline-offset: 3px; }
.film-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin: 0; padding: 4px 4px 32px 32px; }
.film-list li { padding: 15px 12px 15px 4px; border-bottom: 1px solid rgba(14,63,76,.12); }
.film-list strong, .film-list span { display: block; }
.film-list strong { margin-bottom: 5px; font-family: Georgia, serif; font-size: 1.05rem; font-weight: 600; }
.film-detail { margin-top: 12px; color: #405960; font-size: .9rem; line-height: 1.6; }
.film-detail summary { display: inline-flex; cursor: pointer; color: var(--blue); font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.film-detail summary:hover, .film-detail summary:focus-visible { color: var(--sun-deep); }
.film-detail p { margin: 10px 0 0; }
.film-detail .film-detail-facts { color: #687b81; font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.film-detail-links a { color: var(--blue); font-weight: 800; text-underline-offset: 3px; }
.film-detail-media { width: min(240px, 100%); margin: 14px 0 12px; }
.film-detail-media img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; object-position: left center; background: #eef4f2; }
.film-social-links::before { content: "Project links: "; color: #687b81; font-weight: 750; }
.film-list span { color: #5c7077; font-size: .82rem; line-height: 1.45; }
.program-directory .film-list:not(.art-list) li { color: #526871; font-size: .9rem; line-height: 1.5; }
.program-directory .film-list:not(.art-list) li strong { display: inline; color: var(--ink); }

.experience-section { color: white; background: #073c4f; }
.experience-section .section-heading > p:last-child { color: rgba(255,255,255,.7); }
.experience-section .eyebrow { color: var(--aqua); }
.experience-grid { display: grid; grid-template-columns: 1.35fr .825fr .825fr; gap: 18px; }
.experience-card { position: relative; min-height: 480px; margin: 0; overflow: hidden; background: var(--deep); }
.experience-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.experience-card:hover img { transform: scale(1.025); }
.experience-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(2,28,39,.92)); }
.experience-card figcaption { position: absolute; z-index: 1; right: 26px; bottom: 24px; left: 26px; }
.experience-card strong, .experience-card span { display: block; }
.experience-card strong { margin-bottom: 7px; font-family: Georgia, serif; font-size: 1.65rem; font-weight: 500; }
.experience-card span { color: rgba(255,255,255,.76); font-size: .9rem; }

.about-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10vw; align-items: center; color: white; background: var(--navy); }
.about-identity { position: relative; }
.about-identity::before { content: ""; position: absolute; inset: -30px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.about-identity img { border-radius: 50%; }
.about-copy .eyebrow { color: var(--aqua); }
.about-copy p { max-width: 720px; color: rgba(255,255,255,.75); }

.team-section { background: var(--paper); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.team-card { min-height: 300px; padding: 34px; background: white; }
.team-card-lead { color: white; background: var(--blue); }
.team-card span { display: block; min-height: 46px; color: var(--blue); font-size: .75rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.team-card-lead span { color: #b8efec; }
.team-card h3 { margin: 60px 0 16px; font-family: Georgia, serif; font-size: clamp(1.7rem, 2.6vw, 2.6rem); font-weight: 500; line-height: 1.05; }
.team-card p { margin: 0; color: #5c7077; }
.team-card-lead p { color: rgba(255,255,255,.78); }
.bio-details { margin-top: 24px; border-top: 1px solid var(--line); }
.team-card-lead .bio-details { border-color: rgba(255,255,255,.22); }
.bio-details summary { position: relative; padding: 15px 28px 8px 0; color: var(--blue); font-size: .76rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; list-style: none; }
.bio-details summary::-webkit-details-marker { display: none; }
.bio-details summary::after { position: absolute; top: 13px; right: 2px; content: "+"; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.bio-details[open] summary::after { content: "−"; }
.team-card-lead .bio-details summary { color: #b8efec; }
.bio-copy { padding: 4px 0 2px; }
.bio-copy p { font-size: .94rem; line-height: 1.62; }
.bio-copy a { display: inline-flex; gap: 5px; align-items: center; margin-top: 16px; color: var(--blue); font-size: .82rem; font-weight: 800; text-decoration: none; border-bottom: 1px solid currentColor; }
.bio-copy a span { display: inline; min-height: 0; color: inherit; font-size: inherit; letter-spacing: 0; }
.team-card-lead .bio-copy a { color: white; }
.bio-copy a:hover, .bio-copy a:focus-visible { opacity: .72; }

.archive-section { background: #dcecea; }
.archive-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.edition { min-height: 230px; padding: 24px; display: flex; flex-direction: column; justify-content: flex-end; text-decoration: none; background: rgba(255,255,255,.62); border: 1px solid var(--line); transition: transform .2s ease, background .2s ease; }
.edition:hover, .edition:focus-visible { transform: translateY(-5px); background: white; }
.edition span { margin-bottom: auto; color: var(--blue); font-family: Georgia, serif; font-size: 2.2rem; }
.edition strong { font-size: .95rem; }
.edition small { margin-top: 5px; color: #66777d; }
.edition-featured { color: white; background: var(--blue); }

.archive-hero { min-height: 72vh; padding-top: 150px; color: white; background: linear-gradient(135deg, var(--deep), #075a70); }
.archive-hero h1 { max-width: 1050px; }
.archive-hero > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.76); font-size: 1.12rem; }
.year-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 45px; }
.year-jump a { padding: 10px 18px; color: white; border: 1px solid rgba(255,255,255,.35); text-decoration: none; font-weight: 800; }
.programs-hero { min-height: 68vh; padding-top: 150px; color: white; background: radial-gradient(circle at 80% 20%, rgba(93,192,196,.28), transparent 30%), var(--deep); }
.programs-hero h1 { max-width: 1050px; }
.programs-hero > p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.76); font-size: 1.12rem; }
.year-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 44px; }
.year-tabs a { min-width: 78px; padding: 12px 18px; text-align: center; color: white; border: 1px solid rgba(255,255,255,.35); text-decoration: none; font-weight: 850; }
.year-tabs a:hover, .year-tabs a:focus-visible { color: var(--deep); background: var(--sun); border-color: var(--sun); }
.program-year { scroll-margin-top: 76px; background: var(--paper); }
.program-year-alt { background: var(--foam); }
.program-year-heading { max-width: 820px; margin-bottom: 45px; }
.program-year-heading h2 { margin-bottom: 18px; font-family: Georgia, serif; font-size: clamp(4rem, 8vw, 8rem); font-weight: 500; line-height: .82; letter-spacing: -.05em; }
.program-year-heading > p:last-child { color: #526871; font-size: 1.1rem; }
.program-year-heading p.featured-topic, .archive-year-head p.featured-topic { color: var(--blue); font-size: .92rem; }
.program-year-heading .curator-line, .archive-copy .curator-line { margin-top: 18px; color: var(--blue); font-size: .88rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.schedule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 30px; }
.schedule-grid article { min-height: 220px; padding: 30px; background: white; border: 1px solid var(--line); }
.schedule-grid h3 { font-family: Georgia, serif; font-size: 1.7rem; font-weight: 500; }
.schedule-grid p { color: #526871; }
.program-list { background: white; border-top: 1px solid var(--line); }
.program-list:last-of-type { border-bottom: 1px solid var(--line); }
.program-list summary { padding: 22px 26px; cursor: pointer; color: var(--blue); font-family: Georgia, serif; font-size: 1.35rem; font-weight: 600; }
.program-list ul, .program-list > p { margin: 0; padding: 0 46px 28px; }
.program-list ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 42px; list-style-position: inside; }
.program-list > p { color: #526871; }
.screening-calendar { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 36px; padding: 0 46px 28px; }
.screening-calendar p { padding: 14px 0; border-bottom: 1px solid var(--line); color: #526871; }
.source-note { margin-top: 24px; color: #66777d; font-size: .9rem; font-style: italic; }
.catalog-hero { padding-top: 150px; color: white; background: radial-gradient(circle at 82% 20%, rgba(93,192,196,.3), transparent 32%), var(--deep); }
.catalog-hero h1 { max-width: 1050px; }
.catalog-hero > p:last-child { max-width: 760px; color: rgba(255,255,255,.76); font-size: 1.12rem; }
.catalog-section { background: var(--paper); }
.catalog-controls { display: grid; grid-template-columns: 1fr 220px; gap: 18px; margin-bottom: 20px; }
.catalog-controls label { color: #526871; font-size: .78rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.catalog-controls input, .catalog-controls select { width: 100%; margin-top: 8px; padding: 13px 14px; border: 1px solid var(--line); background: white; color: var(--ink); font: inherit; text-transform: none; }
.catalog-count { color: #66777d; font-size: .9rem; }
.catalog-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: white; }
.catalog-table { width: 100%; border-collapse: collapse; }
.catalog-table th, .catalog-table td { padding: 17px 20px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.catalog-table th { color: #526871; font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; }
.catalog-table td:first-child { width: 95px; color: var(--blue); font-family: Georgia, serif; font-size: 1.25rem; }
.catalog-table tbody tr:hover { background: var(--foam); }
.statistics-content { background: var(--paper); }
.stats-table-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); }
.stats-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.stats-table th, .stats-table td { padding: 18px 22px; border-bottom: 1px solid var(--line); text-align: right; }
.stats-table th:first-child, .stats-table td:first-child { text-align: left; }
.stats-table thead th { color: #526871; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.stats-table tbody th { color: var(--blue); font-family: Georgia, serif; font-size: 1.4rem; }
.stats-table .stats-current { background: var(--foam); }
.stats-table tfoot { font-weight: 850; background: var(--deep); color: white; }
.statistics-split { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 42px; }
.statistics-split article { padding: 34px; background: white; border: 1px solid var(--line); }
.statistics-split h3 { font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.selection-overview { display: grid; grid-template-columns: 240px 1fr; gap: clamp(35px, 7vw, 90px); align-items: center; margin-top: 42px; padding: 38px; background: white; border: 1px solid var(--line); }
.selection-overview h3 { margin-bottom: 12px; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.selection-overview p:not(.eyebrow) { color: #526871; }
.pie-chart { width: min(100%, 230px); aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(8,42,58,.08); }
.selection-pie { display: grid; place-items: center; background: conic-gradient(var(--blue) 0 21.8%, #dce7e5 21.8% 100%); }
.selection-pie::before { content: ""; grid-area: 1 / 1; width: 64%; aspect-ratio: 1; border-radius: 50%; background: white; }
.selection-pie span { z-index: 1; grid-area: 1 / 1; color: #526871; text-align: center; font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.selection-pie strong { display: block; color: var(--blue); font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; letter-spacing: 0; }
.compact-legend, .chart-legend { margin: 22px 0 0; padding: 0; list-style: none; }
.compact-legend li, .chart-legend li { display: grid; grid-template-columns: 12px 1fr auto; gap: 10px; align-items: center; padding: 7px 0; color: #526871; }
.compact-legend i, .chart-legend i { width: 10px; height: 10px; border-radius: 50%; background: var(--blue); }
.compact-legend li:nth-child(2) i { background: #dce7e5; }
.pie-layout { display: grid; grid-template-columns: minmax(160px, .8fr) 1.2fr; gap: 28px; align-items: center; }
.region-pie { background: conic-gradient(#0c899a 0 36.6%, #5dc0c4 36.6% 63.2%, #f0a53a 63.2% 75%, #c76b38 75% 82.2%, #6a8d73 82.2% 89.1%, #8f6d9c 89.1% 95.3%, #082a3a 95.3% 100%); }
.format-pie { background: conic-gradient(#0c899a 0 36.4%, #5dc0c4 36.4% 55.4%, #f0a53a 55.4% 74.1%, #c76b38 74.1% 85.8%, #6a8d73 85.8% 96.7%, #8f6d9c 96.7% 98.6%, #082a3a 98.6% 100%); }
.chart-legend { margin-top: 0; }
.chart-legend li:nth-child(1) i { background: #0c899a; }
.chart-legend li:nth-child(2) i { background: #5dc0c4; }
.chart-legend li:nth-child(3) i { background: #f0a53a; }
.chart-legend li:nth-child(4) i { background: #c76b38; }
.chart-legend li:nth-child(5) i { background: #6a8d73; }
.chart-legend li:nth-child(6) i { background: #8f6d9c; }
.chart-legend li:nth-child(7) i { background: #082a3a; }
.chart-legend strong, .compact-legend strong { color: var(--blue); }
.data-bars { display: grid; gap: 15px; padding: 0; list-style: none; }
.data-bars li { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; }
.data-bars strong { color: var(--blue); }
.data-bars li::after { content: ""; grid-column: 1 / -1; height: 7px; background: linear-gradient(to right, var(--aqua) var(--value), #dce7e5 var(--value)); }
.archive-overview { background: white; }
.stats-visuals { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.stats-visuals figure { margin: 0; padding: 12px; background: #f4f1ea; border: 1px solid var(--line); }
.stats-visuals img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: white; }
.stats-visuals figcaption, .archive-data-card figcaption { padding: 10px 3px 2px; color: #66777d; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-year { scroll-margin-top: 75px; background: var(--paper); }
.archive-year-alt { background: var(--foam); }
.archive-year-head { display: grid; grid-template-columns: auto 1fr; gap: 35px; align-items: start; margin-bottom: 52px; }
.archive-year-head > span { color: var(--sun); font-family: Georgia, serif; font-size: clamp(4.5rem, 9vw, 9rem); line-height: .8; }
.archive-year-head h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(3rem, 6vw, 6rem); font-weight: 500; line-height: .85; }
.archive-date { margin: 14px 0 0; color: #526871; font-weight: 700; }
.archive-story { display: grid; grid-template-columns: minmax(260px, .72fr) 1.28fr; gap: 8vw; align-items: center; }
.poster-placeholder { position: relative; display: grid; place-content: center; aspect-ratio: 13 / 19; min-height: 470px; padding: 30px; text-align: center; color: white; background: linear-gradient(155deg, var(--blue), var(--deep)); box-shadow: 0 24px 50px rgba(5,41,52,.18); }
.poster-placeholder::before, .poster-placeholder::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.poster-placeholder::before { inset: 12% -18% 38%; }
.poster-placeholder::after { inset: 48% -28% 8%; }
.poster-placeholder strong, .poster-placeholder span { position: relative; z-index: 1; display: block; }
.poster-placeholder strong { font-family: Georgia, serif; font-size: clamp(4rem, 8vw, 7rem); font-weight: 500; }
.poster-placeholder span { margin-top: 14px; color: var(--sun); font-size: .75rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.archive-poster { margin: 0; }
.archive-poster img { width: 100%; box-shadow: 0 24px 50px rgba(5,41,52,.18); }
.archive-poster figcaption { margin-top: 10px; color: #66777d; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-copy h3 { margin-bottom: 18px; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 4rem); font-weight: 500; line-height: 1; }
.archive-copy > p { color: #526871; font-size: 1.08rem; }
.archive-intro { margin-bottom: 28px; }
.archive-intro p { color: #526871; font-size: 1.08rem; }
.archive-intro p + p { margin-top: 15px; }
.archive-photo { margin: 30px 0 0; }
.archive-photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.archive-photo figcaption { margin-top: 9px; color: #66777d; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-photo-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 14px; margin: 30px 0 0; }
.archive-photo-grid figure { margin: 0; overflow: hidden; }
.archive-photo-grid .archive-photo-wide { grid-column: 1 / -1; }
.archive-photo-grid-pair { grid-template-columns: 1fr 1fr; }
.archive-photo-grid img { width: 100%; height: 270px; object-fit: cover; }
.archive-photo-grid .archive-photo-speaker img { object-position: center 18%; }
.archive-photo-grid .archive-photo-wide img { height: 360px; }
.archive-photo-grid figcaption { padding-top: 8px; color: #66777d; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-gallery { margin: 22px 0 30px; border: 1px solid rgba(15,58,75,.2); border-radius: 12px; background: #fff; overflow: hidden; }
.archive-gallery summary { padding: 16px 18px; cursor: pointer; color: #0f3a4b; font-size: .82rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.archive-gallery[open] summary { border-bottom: 1px solid rgba(15,58,75,.14); }
.archive-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 10px; }
.archive-gallery-grid figure { position: relative; margin: 0; overflow: hidden; border-radius: 8px; background: #e9efef; }
.archive-gallery-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.archive-gallery-grid figure:hover img { transform: scale(1.025); }
.archive-gallery-grid figcaption { position: absolute; inset: auto 0 0; padding: 22px 10px 9px; color: #fff; background: linear-gradient(transparent,rgba(2,22,31,.82)); font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.archive-data-card { margin: 0 0 32px; padding: 10px; background: white; border: 1px solid var(--line); }
.archive-data-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.archive-event-poster { width: min(100%, 390px); margin: 30px 0; }
.archive-event-poster img { display: block; width: 100%; height: auto; box-shadow: 0 18px 42px rgba(5,41,52,.16); }
.archive-event-poster figcaption { margin-top: 10px; color: #66777d; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.archive-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 35px 0; padding: 0; list-style: none; background: var(--line); border: 1px solid var(--line); }
.archive-facts li { padding: 22px 17px; background: white; }
.archive-facts strong, .archive-facts span { display: block; }
.archive-facts strong { font-family: Georgia, serif; font-size: 1.9rem; font-weight: 500; }
.archive-facts span { margin-top: 5px; color: #66777d; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.archive-copy details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.archive-copy summary { padding: 18px 0; cursor: pointer; color: var(--blue); font-weight: 850; }
.archive-copy details p { padding-bottom: 18px; color: #526871; }
.archive-media-call { text-align: center; color: white; background: linear-gradient(135deg, #b86126, var(--sun)); }
.archive-media-call .eyebrow { color: var(--deep); }
.archive-media-call h2 { max-width: 850px; margin: 0 auto 24px; font-family: Georgia, serif; font-size: clamp(2.8rem, 5vw, 5.2rem); font-weight: 500; line-height: 1; }
.archive-media-call > p:not(.eyebrow) { max-width: 690px; margin: 0 auto 30px; }
.impact-hero { padding-top: 150px; color: white; background: radial-gradient(circle at 82% 20%, rgba(12,137,154,.42), transparent 32%), var(--deep); }
.impact-hero h1 { max-width: 1050px; }
.impact-hero > p:not(.eyebrow) { max-width: 780px; margin-top: 28px; color: rgba(255,255,255,.78); font-size: 1.15rem; }
.impact-highlights { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 65px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.impact-highlights div { padding: 28px 24px; border-right: 1px solid rgba(255,255,255,.2); }
.impact-highlights div:first-child { padding-left: 0; }
.impact-highlights div:last-child { border-right: 0; }
.impact-highlights strong, .impact-highlights span { display: block; }
.impact-highlights strong { color: var(--sun); font-family: Georgia, serif; font-size: clamp(2.4rem, 5vw, 4.8rem); font-weight: 500; line-height: 1; }
.impact-highlights span { margin-top: 8px; color: rgba(255,255,255,.7); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.impact-intro { background: var(--paper); }
.impact-document { display: grid; gap: 70px; padding-top: 40px; background: #e8eeee; }
.impact-document figure { width: min(100%, 1120px); margin: 0 auto; }
.impact-document img { display: block; width: 100%; height: auto; border: 1px solid rgba(15,55,65,.1); box-shadow: 0 24px 65px rgba(9,43,52,.16); background: white; }
.impact-document figcaption { margin-top: 14px; color: #587079; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.impact-next { text-align: center; color: white; background: linear-gradient(135deg, #b86126, var(--sun)); }
.impact-next .eyebrow { color: var(--deep); }
.impact-next h2 { max-width: 850px; margin: 0 auto 24px; }
.impact-next > p:not(.eyebrow) { max-width: 680px; margin: 0 auto 30px; }
.about-narrative { display: grid; gap: 20px; color: #526871; }
.mission-section { background: white; }
.mission-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 48px; background: var(--line); border: 1px solid var(--line); }
.mission-grid article { min-height: 310px; padding: 38px; background: white; }
.mission-grid article span { color: var(--sun); font-size: .78rem; font-weight: 850; letter-spacing: .1em; }
.mission-grid h3 { margin-top: 70px; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.mission-grid p { margin-top: 16px; color: #5c7077; }
.text-link { display: inline-block; margin-top: 24px; color: var(--blue); font-weight: 800; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.edition-featured span, .edition-featured small { color: white; }
.edition-featured:hover { color: white; background: #07526a; }

.voices-section { color: white; background: var(--deep); }
.voices-section .section-heading > p { color: rgba(255,255,255,.7); }
.voices-section .eyebrow, .voices-section .text-link { color: var(--sun); }
.voices-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 46px; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.16); }
.voices-grid figure { display: flex; min-height: 310px; margin: 0; padding: 38px; flex-direction: column; justify-content: space-between; background: #103e4a; }
.voices-grid blockquote { margin: 0; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.35; }
.voices-grid figcaption { display: grid; gap: 5px; margin-top: 36px; }
.voices-grid figcaption strong { color: var(--sun); }
.voices-grid figcaption span { color: rgba(255,255,255,.68); font-size: .84rem; }

.partners-section { background: white; }
.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.partner-grid a { display: flex; align-items: center; justify-content: center; min-height: 210px; padding: 42px; border: 1px solid var(--line); background: white; }
.partner-grid img { width: 100%; max-width: 330px; max-height: 110px; object-fit: contain; }
.partner-grid a:last-child img { max-height: 125px; }

.submit-section { text-align: center; color: white; background: linear-gradient(135deg, #b86126, var(--sun)); }
.submit-section .eyebrow { color: var(--deep); }
.submit-section h2 { max-width: 900px; margin-right: auto; margin-left: auto; }
.submit-section > p:not(.eyebrow) { max-width: 660px; margin: 0 auto 30px; }
.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; background: var(--paper); }
.contact-details { align-self: end; padding-bottom: 10px; }
.contact-details a { font-family: Georgia, serif; font-size: clamp(1.7rem, 3vw, 3rem); text-underline-offset: 6px; }
.contact-details p { max-width: 480px; margin-top: 16px; color: #596d74; }

footer { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 30px; padding: 34px 5vw; color: rgba(255,255,255,.72); background: var(--deep); font-size: .78rem; }
.footer-brand { display: flex; align-items: center; gap: 10px; color: white; font-weight: 750; }
.footer-brand img { width: 34px; height: 34px; border-radius: 50%; }
footer p { margin: 0; }
.footer-actions { display: grid; justify-items: end; gap: 8px; }
.social-links { display: flex; flex-wrap: wrap; gap: 18px; }
.social-links a { color: white; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.social-links a:hover, .social-links a:focus-visible { color: var(--sun); }

@media (max-width: 900px) {
  .menu-toggle { display: block; }
  .site-header nav { position: absolute; top: 78px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 5vw 24px; background: var(--deep); }
  .site-header nav.open { display: flex; }
  .site-header nav a { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .hero { grid-template-columns: 1fr; min-height: 760px; padding-top: 74px; }
  .hero-image { position: absolute; right: -38px; bottom: 55px; width: 290px; opacity: .22; }
  .hero-image figcaption { display: none; }
  .split-heading, .about-section, .contact-section { grid-template-columns: 1fr; gap: 35px; }
  .attend-grid { grid-template-columns: 1fr; }
  .archive-story { grid-template-columns: .72fr 1.28fr; gap: 45px; }
  .location-grid { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .impact-highlights { grid-template-columns: repeat(2, 1fr); }
  .impact-highlights div:nth-child(2) { border-right: 0; }
  .impact-highlights div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .stats div:nth-child(2) { border-right: 0; }
  .stats div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .program-grid { grid-template-columns: repeat(2, 1fr); }
  .film-list { grid-template-columns: 1fr; }
  .experience-grid { grid-template-columns: 1fr 1fr; }
  .experience-wide { grid-column: 1 / -1; }
  .experience-card { min-height: 410px; }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-grid { grid-template-columns: 1fr; }
  .mission-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .voices-grid { grid-template-columns: 1fr; }
  .mission-grid article { min-height: 0; }
  .mission-grid h3 { margin-top: 35px; }
  .statistics-split { grid-template-columns: 1fr; }
  .selection-overview { grid-template-columns: 190px 1fr; gap: 30px; }
  .pie-layout { grid-template-columns: minmax(170px, .7fr) 1.3fr; }
  .about-identity { max-width: 330px; }
  footer { grid-template-columns: 1fr; }
  .footer-actions { justify-items: start; }
}

@media (max-width: 540px) {
  .brand span { font-size: .88rem; }
  h1 { font-size: 3.5rem; }
  section { padding: 80px 6vw; }
  .hero { padding-right: 6vw; padding-left: 6vw; }
  .program-grid, .archive-grid, .experience-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .archive-story { grid-template-columns: 1fr; }
  .stats-visuals { grid-template-columns: 1fr; }
  .selection-overview { grid-template-columns: 1fr; padding: 28px; }
  .selection-overview .pie-chart, .pie-layout .pie-chart { width: min(100%, 210px); }
  .pie-layout { grid-template-columns: 1fr; }
  .impact-highlights { grid-template-columns: 1fr; }
  .impact-highlights div, .impact-highlights div:first-child { padding-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .impact-highlights div:last-child { border-bottom: 0; }
  .impact-document { gap: 38px; padding-right: 4vw; padding-left: 4vw; }
  .archive-photo-grid { grid-template-columns: 1fr; }
  .archive-photo-grid .archive-photo-wide { grid-column: auto; }
  .archive-photo-grid img, .archive-photo-grid .archive-photo-wide img { height: auto; aspect-ratio: 4 / 3; }
  .archive-photo-grid .archive-photo-speaker img { object-position: center 14%; }
  .archive-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .poster-placeholder { width: min(100%, 360px); min-height: 0; }
  .archive-year-head { gap: 18px; }
  .archive-facts { grid-template-columns: 1fr; }
  .program-directory summary { grid-template-columns: 1fr auto; }
  .special-screening { grid-template-columns: 1fr; }
  .special-screening figure { width: min(100%, 360px); }
  .experience-wide { grid-column: auto; }
  .experience-card { min-height: 380px; }
  .program-grid article { min-height: 240px; }
  .program-grid h3 { margin-top: 44px; }
  .stats strong { font-size: 2rem; }
  .location-card { padding: 28px; }
  .schedule-grid, .program-list ul, .screening-calendar { grid-template-columns: 1fr; }
  .program-list ul, .program-list > p, .screening-calendar { padding-right: 24px; padding-left: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
.language-switcher{display:flex;align-items:center;gap:.35rem;margin-left:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;white-space:nowrap}.language-switcher a{color:inherit;text-decoration:none;opacity:.62}.language-switcher a:hover,.language-switcher a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:.25rem}.language-switcher span{opacity:.35}@media(max-width:900px){.language-switcher{margin-left:auto;margin-right:3.5rem}.site-header.nav-open .language-switcher{position:absolute;right:1rem;top:1.15rem;margin:0}}

/* Grant-application visual system */
h1,.section-heading h2,.about-copy h2,.submit-section h2,.contact-section h2,.attend-card h3,.location-card h3,.special-screening h3,.team-card h3,.stats strong,.program-grid span,.program-directory summary span,.edition span,.experience-card strong,.archive-year h2{font-family:var(--display);font-weight:800;letter-spacing:-.025em}
h1,.section-heading h2,.about-copy h2,.submit-section h2,.contact-section h2{text-transform:uppercase;line-height:.88}
.eyebrow{color:var(--blue);letter-spacing:.2em}
.site-header{min-height:72px;background:rgba(16,32,42,.97);border-bottom:4px solid var(--blue)}
.brand{font-family:var(--display);font-size:1.08rem;text-transform:uppercase;letter-spacing:.05em}
.hero,.archive-hero,.page-hero{background:linear-gradient(125deg,#10202a 0%,#063b59 60%,#087ca3 100%)}
.hero h1{font-size:clamp(3.8rem,6vw,5.8rem)}
.hero-copy h1{max-width:600px}
.button{border-radius:999px;text-transform:uppercase;letter-spacing:.055em}
.section-heading{position:relative;padding-top:22px}
.section-heading::before{position:absolute;top:0;left:0;width:74px;height:6px;content:"";background:var(--blue)}
.attend-section .section-heading::before,.experience-section .section-heading::before,.about-section .section-heading::before,.submit-section .section-heading::before{background:var(--aqua)}
.festival-section,.archive-section{background:var(--paper)}
.program-section,.team-section,.partners-section,.voices-section{background:#fffaf1}
.stats{gap:clamp(12px,2vw,28px);padding:32px 0;border-bottom:0}
.stats div{display:grid;place-content:center;min-width:0;aspect-ratio:1;padding:22px;text-align:center;background:#fffaf1;border:2px solid var(--blue);border-radius:50%}
.stats div:last-child{border-right:2px solid var(--blue)}
.stats strong{color:var(--blue)}
.team-grid,.program-grid{gap:12px;background:transparent;border:0}
.team-card,.program-grid article,.location-card,.edition{border:1px solid var(--line);box-shadow:0 12px 35px rgba(16,32,42,.06)}
.team-card-lead,.location-primary,.edition-featured{background:var(--blue)}

.galveston-section{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(250px,.65fr) minmax(320px,1.35fr);gap:clamp(45px,8vw,120px);color:white;background:var(--blue)}
.galveston-section::after{position:absolute;right:-12%;bottom:-170px;width:72%;height:280px;content:"";border:2px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(-7deg)}
.galveston-lockup{align-self:start;padding:clamp(28px,4vw,54px);color:var(--deep);background:var(--paper);border-top:12px solid var(--deep)}
.galveston-lockup span,.galveston-lockup strong,.galveston-lockup small{display:block;font-family:var(--display);text-transform:uppercase}
.galveston-lockup span{color:var(--blue);font-size:clamp(2.4rem,5vw,5.4rem);font-weight:800;line-height:.82}
.galveston-lockup strong{font-size:clamp(3.4rem,7vw,7.5rem);line-height:.85}
.galveston-lockup small{margin-top:24px;padding-top:16px;font-size:.82rem;letter-spacing:.13em;border-top:2px solid var(--blue)}
.galveston-intro{max-width:760px}
.galveston-intro .eyebrow{color:#bcecf0}
.galveston-intro h2{margin-bottom:28px;font-family:var(--display);font-size:clamp(3rem,6vw,6.4rem);font-weight:800;line-height:.87;letter-spacing:-.03em;text-transform:uppercase}
.galveston-intro>p:last-child{max-width:690px;color:rgba(255,255,255,.82);font-size:1.1rem}
.galveston-pillars{z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35)}
.galveston-pillars article{min-height:270px;padding:30px 24px;border-right:1px solid rgba(255,255,255,.28)}
.galveston-pillars article:last-child{border-right:0}
.galveston-pillars span{color:#bcecf0;font-family:var(--display);font-size:2rem;font-weight:800}
.galveston-pillars h3{margin:52px 0 14px;font-family:var(--display);font-size:1.65rem;line-height:1;text-transform:uppercase}
.galveston-pillars p{color:rgba(255,255,255,.74);font-size:.92rem}
.galveston-note{z-index:1;grid-column:1/-1;margin:0;padding-top:22px;border-top:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.72);font-size:.86rem}
@media(max-width:900px){.galveston-section{grid-template-columns:1fr}.galveston-pillars{grid-template-columns:repeat(2,1fr)}.stats div{aspect-ratio:auto;min-height:160px;border-radius:100px}}
@media(max-width:540px){.galveston-pillars{grid-template-columns:1fr}.galveston-pillars article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}.stats{grid-template-columns:repeat(2,1fr)}.stats div{min-height:130px}h1,.hero h1{font-size:clamp(3.3rem,17vw,5.2rem)}}
