/* Conference-inspired design tokens. Update these values to refresh the site. */
:root {
  --color-primary: #3e8391;
  --color-accent: #ffa92d;
  --color-white: #fff;
  --color-text: #151515;
  --color-muted: #555;
  --color-border: #dedede;
  --color-subtle: #f5f7f7;
  --color-footer-text: #fff;
  --font-body: "Advent Sans", "Noto Sans", Arial, sans-serif;
  --font-heading: "Noto Serif", Georgia, "Times New Roman", serif;
  --border-standard: 1px solid var(--color-border);
  --radius-small: 5px;
  --space-small: 12px;
  --space-medium: 24px;
  --space-large: 40px;
  --space-section: 80px;
  --content-width: 1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-white);color:var(--color-text);font-family:var(--font-body);line-height:1.6}a{color:inherit}button,input,select{font:inherit}.wrap,.header-inner{width:min(var(--content-width),calc(100% - 48px));margin:auto}
.site-header{background:var(--color-white);border-bottom:var(--border-standard)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-medium)}.brand{text-decoration:none;color:var(--color-primary)}.brand strong{display:block;font-family:var(--font-heading);font-size:23px;line-height:1.2}.brand small{display:block;font-size:11px;letter-spacing:.12em;margin-top:4px;font-weight:700}.conference-link{color:var(--color-primary);font-size:15px;font-weight:700;text-decoration:none}.conference-link:hover{text-decoration:underline}.conference-link span{margin-left:4px}
.intro{background:var(--color-primary);color:var(--color-white);padding:64px 0}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--color-primary);font-size:11px;letter-spacing:.13em;font-weight:700;margin:0 0 15px}.eyebrow span{width:26px;height:2px;background:currentColor}.intro .eyebrow{color:var(--color-white)}h1,h2,h3{font-family:var(--font-heading);font-weight:700}h1{font-size:clamp(36px,5vw,52px);line-height:1.15;margin:0}.intro-copy{max-width:560px;color:var(--color-white);font-size:17px;margin:18px 0 24px}.intro-link{display:inline-flex;gap:18px;align-items:center;background:var(--color-accent);color:var(--color-text);border-radius:var(--radius-small);padding:9px 20px;text-decoration:none;font-size:15px;font-weight:700}.intro-link:hover{filter:brightness(.94)}
.library{padding-top:var(--space-section);padding-bottom:var(--space-section)}.section-heading{display:flex;align-items:end;gap:var(--space-large)}.section-heading h2{font-size:34px;line-height:1.2;margin:0 0 10px}.section-heading p:not(.eyebrow){color:var(--color-muted);font-size:16px;margin:0}.heading-line{flex:1;height:1px;background:var(--color-border);margin-bottom:8px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:var(--space-large)}.filters label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.filters input,.filters select{width:100%;height:48px;border:var(--border-standard);background:var(--color-white);border-radius:var(--radius-small);color:var(--color-text);padding:0 14px}.filters input{padding-left:39px}.input-wrap{position:relative}.input-wrap span{position:absolute;left:15px;top:6px;font-size:25px;color:var(--color-muted)}.filters input::placeholder{color:var(--color-muted)}.results-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-standard);margin:30px 0 24px;color:var(--color-muted);font-size:13px}.results-bar span{font-size:10px;letter-spacing:.1em;font-weight:700}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.card{min-width:0}.card-link{text-decoration:none;display:flex;flex-direction:column;height:100%}.cover{aspect-ratio:1.5;position:relative;overflow:hidden;background:var(--color-subtle);border-radius:var(--radius-small)}.cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.card-link:hover img{transform:scale(1.025)}.fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--color-primary);color:var(--color-white)}.fallback[hidden]{display:none}.fallback:before{content:'✦';font-size:28px;color:var(--color-white);margin-bottom:var(--space-small)}.fallback span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.card-body{padding:20px 0;display:flex;flex:1;flex-direction:column}.meta{display:flex;align-items:center;gap:9px;color:var(--color-muted);font-size:12px;font-weight:700}.meta .category{color:var(--color-primary)}.card h3{font-size:23px;line-height:1.3;margin:10px 0 18px;overflow-wrap:anywhere}.view{margin-top:auto;font-size:14px;font-weight:700;color:var(--color-primary)}.view span{padding-left:7px}.card-link:hover .view{text-decoration:underline}.message{padding:var(--space-medium);background:var(--color-subtle);border:var(--border-standard);color:var(--color-text)}.message.error{border-left:4px solid var(--color-primary)}
footer{background:var(--color-primary);color:var(--color-footer-text);padding:32px 0}.footer-inner{display:flex;justify-content:space-between;gap:var(--space-medium)}footer p{font-size:13px;margin:0}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}@media(max-width:760px){.intro{padding:50px 0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.library{padding-top:56px;padding-bottom:56px}.footer-inner{flex-direction:column;gap:8px}}@media(max-width:480px){.wrap,.header-inner{width:calc(100% - 32px)}.header-inner{min-height:90px;gap:12px}.brand strong{font-size:19px}.brand small{font-size:10px}.conference-link{font-size:13px;text-align:right}.gallery-grid{grid-template-columns:1fr}.section-heading h2{font-size:30px}.card h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{transition:none}}

.brand img{display:block;width:min(260px,46vw);height:auto}

.card-description{color:var(--color-muted);font-size:14px;line-height:1.5;margin:-8px 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.card-date{display:block;color:var(--color-muted);font-size:12px;font-weight:700;margin:0 0 18px}
/* Cards stretch to their grid row; the action stays at the bottom without fixed heights. */
.gallery-grid{align-items:stretch}
.card{display:flex;flex-direction:column}
.card-link{flex:1;min-width:0}
.cover{flex:none;width:100%}
.card-body{min-width:0}
.card h3{margin:10px 0 12px}
.card-description{margin:0 0 12px}
.card-date{margin:0 0 12px}
.view{padding-top:6px}
