@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101113;--panel:#17191c;--line:#33363b;--text:#faf8f7;--muted:#bdbbbd;--red:#ff6b70;--button:#b92331}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a,button,input,textarea{outline-offset:5px}:focus-visible{outline:3px solid #fff}button{color:var(--text)}.skip{position:absolute;left:16px;top:-90px;z-index:20;background:white;color:black;padding:12px}.skip:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.red,.eyebrow{color:var(--red)}.header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5%;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:18px;line-height:1.05;letter-spacing:1px}.brand strong{font-size:24px}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px;padding:10px 0}nav a:hover,nav a[aria-current]{color:var(--red)}.button,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--button);border:1px solid transparent;border-radius:4px;color:white;text-decoration:none;font-size:14px;font-weight:700;min-height:48px;padding:12px 23px}.button:hover{background:#a01b29}.small{padding:10px 16px;gap:8px}.secondary{background:transparent;border-color:#62646a}.secondary:hover{background:#303237}.text-link{font-size:14px;text-underline-offset:6px}.hero{position:relative;isolation:isolate;overflow:hidden;max-width:1440px;margin:auto;padding:80px 5% 26px;min-height:650px;background:radial-gradient(ellipse at 85% 45%,#381d22 0,transparent 58%)}.hero-copy{position:relative;z-index:2;max-width:590px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;margin:0 0 17px}.hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(70px,8.5vw,126px);text-transform:uppercase;line-height:.94;letter-spacing:-1.5px;margin:22px 0 28px}.hero h1 span{color:var(--red)}.intro{max-width:450px;color:#ded9db;font-size:16px;line-height:1.8}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.content-layout{max-width:1440px;margin:auto;padding:0 5%;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:55px}.section{padding:55px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}h2{font-family:'Barlow Condensed',Arial,sans-serif;font-size:38px;line-height:1.15;margin:0;font-weight:600}h3{font-size:18px;line-height:1.4}.section-description,.subtle{color:var(--muted);font-size:14px}.video-grid,.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.empty{grid-column:1/-1;border:1px solid var(--line);border-radius:6px;padding:38px;background:linear-gradient(135deg,#202125,#151619)}.empty-symbol{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid #744148;border-radius:50%;color:var(--red);font-size:24px;margin-bottom:22px}.empty h3{margin:0 0 8px}.empty p{color:var(--muted);max-width:420px;font-size:14px}.video-card{min-width:0}.video-card h3{margin-bottom:5px}.video-screen{aspect-ratio:16/9;background:#101113;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden;width:100%;padding:0}.video-screen img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;grid-area:1/1}.video-screen span{grid-area:1/1;background:#a91f2c;padding:10px 18px;border-radius:4px;z-index:1}.video-screen iframe{border:0;width:100%;height:100%}.photo-tile{border:0;background:var(--panel);padding:0;text-align:left;border-radius:6px;overflow:hidden}.photo-tile img{display:block;width:100%;height:230px;object-fit:cover}.photo-tile span{display:block;padding:14px 16px;font-size:14px}.about{padding-bottom:60px}.about h2{max-width:480px}.about>p:not(.eyebrow){color:#ded9db;white-space:pre-line;max-width:650px}.sidebar{padding-top:55px}.side-card{border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:24px;margin-bottom:25px}.side-card h2{font-size:26px}.side-card p{font-size:13px;color:var(--muted)}.side-card .eyebrow{font-size:9px;color:var(--red)}.side-card label{font-size:12px}.input-row{display:flex;gap:8px}.input-row input{min-width:0;width:100%}.side-card .button{font-size:12px;padding:9px}.x-placeholder{padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.x-placeholder .button{margin-top:12px}.sponsor-card a{display:block;font-weight:700;font-size:20px;text-underline-offset:5px}.sponsor-label{font-size:10px;color:var(--muted);letter-spacing:2px}.field-note{padding:18px 22px}.field-note>span{color:var(--red);font-size:28px}.field-note p{font-weight:600}.field-note small{color:var(--muted);font-size:12px}footer{max-width:1440px;margin:auto;padding:38px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer .brand{font-size:15px}footer p{color:var(--muted);font-size:12px}.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding:12px;font-size:12px;min-height:44px}dialog{background:var(--panel);color:var(--text);border:1px solid #62646a;border-radius:10px;padding:28px;width:min(760px,calc(100% - 32px));max-height:90dvh}dialog::backdrop{background:#000c}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.icon-button{border:1px solid #62646a;background:#25272c;border-radius:5px;min-width:44px;min-height:44px;flex-shrink:0}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}#lightbox{width:min(1100px,calc(100% - 32px))}#lightbox-image{width:100%;height:65dvh;object-fit:contain}label{display:block;font-size:14px;margin:16px 0 7px}input,textarea{border:1px solid #74747a;border-radius:4px;background:#101113;color:white;padding:10px;width:100%;min-height:44px}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:6px;margin:24px 0;padding:18px;min-width:0}legend{padding:0 8px;font-weight:700}.edit-row{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.row-actions{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.row-actions label{margin:0;display:flex;align-items:center;gap:8px}.row-actions input{width:20px;min-height:20px}.row-actions button{font-size:12px}.error{color:var(--red)}@media(max-width:1000px){.content-layout{gap:28px;grid-template-columns:minmax(0,1fr) 260px}.header{gap:20px}nav{gap:18px}footer{flex-wrap:wrap}}@media(max-width:760px){.header{flex-wrap:wrap;padding:20px 6%}.header nav{order:3;width:100%;justify-content:space-between;gap:12px}.hero{padding:50px 6% 22px;min-height:570px}.hero h1{font-size:82px}.content-layout{display:block;padding:0 6%}.sidebar{padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.side-card{margin:0}.field-note{grid-column:1/-1}.section-top{align-items:flex-start;flex-wrap:wrap}footer{padding:30px 6%}.video-grid,.photo-grid{gap:14px}.photo-tile img{height:180px}}@media(max-width:460px){.sidebar,.video-grid,.photo-grid{grid-template-columns:1fr}.hero h1{font-size:70px}.header>.button{font-size:12px}.empty{padding:25px}dialog{padding:18px}.actions{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}@media(forced-colors:active){.button,.secondary,.photo-tile,.video-screen{border:1px solid ButtonText}}

/* Simple, configurable hero. Images never sit behind text. */
.admin-main{max-width:900px;margin:40px auto;padding:0 24px 60px}
.admin-main h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:44px;margin:0 0 12px}
.admin-main #login-panel{max-width:440px;margin-top:24px}
.admin-main #admin-content{margin-top:28px}
.content-import{border:1px solid var(--line);border-radius:6px;padding:18px;margin-top:20px}
.content-import summary{cursor:pointer;min-height:44px}
.content-import .secondary{margin-top:16px}
.admin-main #editor-form>.actions{position:sticky;bottom:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:6px}
.admin-page .header{max-width:1100px}
.admin-page #editor-status{white-space:pre-line}
.content-status{max-width:1300px;margin:20px auto;padding:0 5%}
.media-section{min-width:0;padding-top:40px}
.media-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line)}
.media-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:14px 24px;min-height:48px;color:var(--muted);font-weight:600}
.media-tabs button[aria-selected="true"]{color:var(--red);border-bottom-color:var(--red)}
.media-tabs button:hover{background:var(--panel);color:var(--text)}
.media-panel{padding-top:32px}
.hero-about{margin-top:24px}
.hero-about h2{font-size:24px}
.hero-about p{color:var(--muted);white-space:pre-line;margin:10px 0 0}
@media(max-width:460px){.media-tabs button{padding:12px 18px}.header nav{flex-wrap:wrap}}
[hidden]{display:none!important}
.header .brand,footer .brand{font-family:'DM Sans',Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.6px}
.hero{display:grid;grid-template-columns:1fr;align-items:center;gap:48px;padding:65px 5%;min-height:330px;background:var(--bg);border-bottom:1px solid var(--line)}
.hero.has-image{grid-template-columns:1fr 1fr}
.hero-copy{max-width:620px}
.hero h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(38px,4.2vw,62px);line-height:1.08;letter-spacing:-.5px;text-transform:none;margin:0 0 20px;overflow-wrap:anywhere}
.hero .intro{white-space:pre-line;margin:0;max-width:550px}
#hero-picture{width:100%;min-width:0}
#hero-image{display:block;width:100%;max-height:500px;object-fit:contain;border-radius:6px}
@media(max-width:760px){.hero,.hero.has-image{grid-template-columns:1fr;gap:28px;padding:40px 6%;min-height:260px}.header .brand{font-size:20px}.hero h1{font-size:52px}#hero-image{max-height:380px}}
/* The hero keeps About on the right, with an optional image below it. */
.hero,.hero.has-image{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:64px}
.hero-right{min-width:0;border-left:1px solid var(--line);padding-left:40px}
.hero-right .hero-about{margin-top:0}
.hero-right .hero-about h2{font-size:30px}
.hero-right .hero-about p{margin-bottom:24px}
.hero-right #hero-image{max-height:330px}
@media(max-width:760px){.hero,.hero.has-image{grid-template-columns:1fr;gap:32px}.hero-right{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}}
#x-profile{display:flex;flex-direction:column;align-items:flex-start;gap:16px} #x-profile a{overflow-wrap:anywhere}
/* Compact hero with an optional second photo below the left-side buttons. */
.hero{padding-top:44px;padding-bottom:44px;gap:44px}
.hero-copy .actions{margin-top:20px}
.hero-left-image{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:left center;border-radius:6px;margin-top:24px}
.hero-right{padding-left:32px}
.hero-right .hero-about p{margin-bottom:20px}
@media(max-width:760px){.hero{gap:24px;padding-top:32px;padding-bottom:32px}.hero-right{padding-left:0}.hero-left-image{max-height:260px}}
.admin-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);margin-top:28px;margin-bottom:24px}
.admin-tabs button{min-height:48px;padding:12px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:600}
.admin-tabs button[aria-selected="true"]{color:var(--red);border-bottom-color:var(--red)}
.admin-tabs button:hover{background:var(--panel);color:var(--text)}
#editor-form [role="tabpanel"]{min-height:260px}
.admin-photo-preview { display: block; max-width: 100%; width: 240px; max-height: 180px; object-fit: contain; margin: 12px 0; border-radius: 6px; }
.admin-photo-preview[hidden] { display: none; }
.hero-upload { margin-bottom: 20px; }
input[type="file"] { max-width: 100%; }
.header { flex-wrap: wrap; }
.header nav { flex-wrap: wrap; }
.partners-main { max-width: 1300px; margin: 0 auto; padding: 48px 5% 64px; min-height: 60vh; }
.partners-main h1 { font-family: 'Barlow Condensed', Arial, sans-serif; font-size: clamp(36px, 5vw, 56px); margin: 0; }
.partners-intro { color: var(--muted); margin-bottom: 32px; }
.partners-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.partner-card { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 24px; overflow-wrap: anywhere; }
.partner-card img { width: 100%; height: 180px; object-fit: contain; margin-bottom: 16px; }
.partner-card h2 { margin: 0 0 12px; font-size: 26px; }
.partner-card p { color: var(--muted); white-space: pre-line; }
.partner-card a { display: inline-block; color: var(--red); padding: 10px 0; }
.partner-card { display: flex; flex-direction: column; }
.partner-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: auto; padding-top: 12px; }
.partner-card .partner-subscribe { color: #fff; padding: 12px 20px; }
.partner-socials { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; padding: 12px 0 0; margin: 16px 0 0; border-top: 1px solid var(--line); }
.partner-socials a { min-height: 44px; }
.partner-social-row { padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.sponsor-logo { display: block; width: 100%; height: auto; max-height: 160px; object-fit: contain; margin: 16px 0; }
.sponsor-card a.sponsor-quote { display: inline-flex; width: fit-content; max-width: 100%; font-size: 14px; font-weight: 700; line-height: 1.65; min-height: 48px; padding: 12px 23px; }
.legal-main { max-width: 900px; margin: 0 auto; padding: 44px 24px 64px; overflow-wrap: anywhere; }
.legal-main h1 { font-size: clamp(32px, 5vw, 48px); line-height: 1.2; }
.legal-main h2 { font-size: 36px; }
.legal-main h3 { margin-top: 32px; font-size: 22px; }
.legal-main section { padding-top: 32px; margin-top: 32px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.legal-main a { color: var(--red); text-underline-offset: 4px; }
.legal-navigation, .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.legal-navigation a, .footer-legal a { display: inline-block; padding: 10px 0; min-height: 44px; }
footer { flex-wrap: wrap; }
.copyright-notice { flex-basis: 100%; color: var(--muted); font-size: 13px; }

/* Separate media pages and a shared divider above the full-width footer. */
.content-layout .section, .home-layout .hero { border-bottom: 0; }
footer { border-top: 1px solid var(--line); }
.collection-page { min-width: 0; padding: 44px 0 56px; }
.collection-page h1 { font-family: 'Barlow Condensed', Arial, sans-serif; font-size: clamp(32px, 4vw, 48px); line-height: 1.15; margin: 0; }
.home-layout .hero { width: 100%; padding: 44px 0; min-width: 0; gap: 24px; }
.home-layout .hero h1 { font-size: clamp(26px, 2.5vw, 38px); }
.home-layout .hero-right { padding-left: 24px; }
@media (max-width: 760px) {
  .home-layout .hero-right { padding-left: 0; }
  .home-layout .hero h1 { font-size: clamp(30px, 7vw, 38px); }
}

.home-layout .hero { align-self: start; margin: 0; }

.photo-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 28px; }
.photo-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; text-decoration: none; }
.photo-pagination [aria-current="page"] { background: var(--red); color: #101113; font-weight: 700; }

/* Homepage introduction and About each occupy the main column's full width. */
.home-layout .hero {
  grid-template-columns: minmax(0, 1fr);
  gap: 36px;
}
.home-layout .hero-copy {
  width: 100%;
  max-width: none;
}
.home-layout .hero-right {
  width: 100%;
  padding: 0;
  border: 0;
}

/* Keep homepage photographs aligned with the full-width text column. */
.home-layout .hero h1 {
  margin: 0 0 20px;
}
.home-layout #hero-left-image,
.home-layout #hero-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  border-radius: 6px;
}
.home-layout #hero-picture {
  display: block;
  width: 100%;
  margin-top: 24px;
}
.home-layout .hero-about p {
  margin: 12px 0 0;
  line-height: 1.75;
}

.community-main { max-width: 1000px; }
.community-post { padding: 32px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.community-post p { white-space: pre-line; line-height: 1.75; }
.community-images { display: grid; gap: 20px; }
.community-images img { display: block; width: 100%; height: auto; border-radius: 6px; }
.post-image-row { padding: 16px 0; border-bottom: 1px solid var(--line); margin-bottom: 16px; }

.member-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.account-main { max-width: 900px; padding: 44px 24px 64px; margin: auto; }
.account-main h1 { font-family: 'Barlow Condensed', Arial, sans-serif; font-size: clamp(32px, 5vw, 48px); line-height: 1.15; }
.account-main h2 { font-size: 30px; }
.account-main p, .account-main a { overflow-wrap: anywhere; }
.account-options { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.account-options [aria-pressed="true"] { border-color: var(--red); }
.account-form { max-width: 600px; margin: 24px 0; }
.account-form > button, #recovery-saved { margin-top: 20px; }
.account-check { display: flex; align-items: flex-start; gap: 12px; }
.account-check input { width: 22px; min-width: 22px; height: 22px; min-height: 22px; margin-top: 3px; }
.account-check a { text-decoration: underline; }
.updates-heading, .account-settings { margin-top: 40px; }
.account-settings summary { cursor: pointer; min-height: 44px; }
#member-updates article { padding: 20px 0; border-bottom: 1px solid var(--line); }
#member-updates p { white-space: pre-line; }
@media(max-width: 760px) { .member-entry { width: 100%; } .account-main { padding: 32px 6%; } }

/* Consistent, touch-friendly links in the Updates sidebar. */
#x-profile { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 20px; }
#x-profile .social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 11px 14px;
  border: 1px solid #62646a;
  border-radius: 6px;
  background: transparent;
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#x-profile .social-link:hover { background: #25272c; border-color: var(--red); }
#x-profile .social-link-primary { background: var(--button); border-color: var(--button); }
#x-profile .social-link-primary:hover { background: #a01b29; border-color: #a01b29; }

.community-event-link { display: flex; width: fit-content; max-width: 100%; margin-top: 20px; overflow-wrap: anywhere; }

.community-link-group { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.community-link-group .community-event-link { margin-top: 0; }

.community-video { width: 100%; min-width: 0; }
.community-video h3 { margin: 0 0 12px; }
.community-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 6px; background: #000; margin-bottom: 12px; }

/* Keyboard-accessible archive folders. */
#archive-search { margin: 0 0 20px; }
.archive-folder { margin: 12px 0; border: 1px solid var(--line); border-radius: 6px; padding: 0 16px; min-width: 0; }
.archive-folder > summary { cursor: pointer; min-height: 52px; padding: 14px 0; overflow-wrap: anywhere; }
.archive-folder > summary:hover { color: var(--red); }
.folder-icon { display: inline-block; width: 22px; height: 16px; margin: 0 10px 0 4px; vertical-align: middle; border: 2px solid var(--red); border-radius: 2px; position: relative; }
.folder-icon::before { content: ''; position: absolute; top: -6px; left: -2px; width: 10px; height: 5px; border: 2px solid var(--red); border-bottom: 0; border-radius: 2px 2px 0 0; }
.folder-count { display: inline-block; margin-left: 10px; padding: 0 8px; border-radius: 12px; background: #303237; color: var(--text); font-size: 12px; }
.archive-event .community-post:last-child { border-bottom: 0; }
@media(max-width: 600px) { .archive-folder { padding: 0 10px; } .archive-event { margin-left: 0; margin-right: 0; } }

/* Compact header with native, keyboard-accessible dropdown navigation. */
.header:has(.site-menu) { position: relative; gap: 16px 24px; padding-top: 20px; padding-bottom: 20px; }
.header .brand { flex-shrink: 0; }
.site-menu { position: relative; margin-left: auto; }
.site-menu summary { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 10px 18px; border: 1px solid #62646a; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 600; list-style: none; }
.site-menu summary::-webkit-details-marker { display: none; }
.site-menu summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.site-menu[open] summary::after { transform: rotate(225deg); margin-top: 4px; }
.site-menu summary:hover { border-color: var(--red); }
.header .site-menu nav { position: absolute; top: calc(100% + 10px); right: 0; z-index: 30; display: flex; flex-direction: column; gap: 0; width: 240px; max-width: calc(100vw - 32px); padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: 0 12px 32px #0008; }
.header .site-menu nav a { display: block; padding: 12px 16px; min-height: 46px; border-radius: 4px; }
.header .site-menu nav a:hover, .header .site-menu nav a:focus-visible { background: #303237; }
.header .member-entry { width: auto; gap: 8px 12px; }
.header #member-entry-link { min-height: 46px; padding: 10px 14px; border-radius: 6px; }
@media(max-width: 600px) {
  .header:has(.site-menu) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
  .header .brand { font-size: 20px; line-height: 1.2; min-width: 0; overflow-wrap: anywhere; }
  .site-menu { margin-left: 0; }
  .header .member-entry { grid-column: 1 / -1; flex-wrap: wrap; }
  .header #member-entry-link { font-size: 13px; }
}

select { font: inherit; color: var(--text); background: var(--bg); border: 1px solid #74747a; border-radius: 4px; padding: 10px; width: 100%; min-height: 44px; }
select:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.event-type-icon { width: 28px; height: 28px; flex-shrink: 0; color: var(--red); vertical-align: middle; }
.event-type-preview, .event-type-badge { display: inline-flex; align-items: center; gap: 8px; }
.event-type-preview { margin-top: 12px; }
.event-type-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.event-type-badge { border: 1px solid var(--line); background: var(--panel); border-radius: 6px; padding: 5px 10px; font-size: 13px; color: var(--text); }

/* Contact and licensing */
.contact-main { max-width: 1200px; margin: auto; padding: 54px 5% 64px; }
.contact-intro { max-width: 760px; margin-bottom: 38px; }
.contact-intro h1 { font: 700 clamp(40px, 6vw, 68px)/1.05 'Barlow Condensed', sans-serif; margin: 14px 0 22px; }
.contact-intro > p:not(.eyebrow) { font-size: 22px; margin: 12px 0; }
.contact-intro .contact-description { font-size: 16px !important; color: var(--muted); }
.contact-email { display: inline-block; color: var(--red); padding: 10px 0; overflow-wrap: anywhere; text-underline-offset: 5px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.contact-card { display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 28px; }
.contact-card svg { width: 32px; height: 32px; color: var(--red); margin-bottom: 20px; }
.contact-card h2, .contact-details h2 { font-size: 28px; margin: 0 0 12px; }
.contact-card p { color: var(--muted); margin: 0 0 24px; }
.contact-card .secondary { margin-top: auto; min-height: 44px; }
.contact-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; padding-top: 36px; margin-top: 36px; border-top: 1px solid var(--line); }
.contact-details p { color: var(--muted); }
.contact-details a { text-underline-offset: 4px; }
@media(max-width: 600px) { .contact-main { padding: 32px 6% 44px; } .contact-grid, .contact-details { grid-template-columns: 1fr; } .contact-card { padding: 24px; } }

.broadcast-main{max-width:1440px;margin:auto;padding:36px 5% 60px}.broadcast-main h1{font:700 clamp(40px,6vw,64px)/1.1 'Barlow Condensed',sans-serif;margin:12px 0}.broadcast-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:28px;margin-top:28px}.broadcast-player{aspect-ratio:16/9;min-height:200px;background:#000;border:1px solid var(--line);border-radius:8px;overflow:hidden}.broadcast-player iframe{display:block;width:100%;height:100%;border:0}.broadcast-queue{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px;max-height:720px;overflow:auto}.broadcast-queue h2{margin:0}.broadcast-choice{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px;margin:10px 0}.broadcast-choice[aria-current=true]{border-color:var(--red);background:#302025}.broadcast-choice img{width:96px;aspect-ratio:16/9;object-fit:cover}.broadcast-choice span{min-width:0;overflow-wrap:anywhere}.broadcast-main h2{overflow-wrap:anywhere}.broadcast-player>p{padding:24px}@media(max-width:760px){.broadcast-layout{grid-template-columns:1fr}.broadcast-main{padding:28px 6%}.broadcast-queue{max-height:480px}}
.broadcast-main #broadcast-title{font-size:clamp(24px,3vw,34px);line-height:1.2}.broadcast-queue h2{font-size:30px}

.broadcast-heading{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.live-now-badge{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid #ff6b70;border-radius:6px;background:#801c27;color:#fff;font-size:14px;font-weight:700;letter-spacing:1px;white-space:nowrap}.live-now-badge[hidden]{display:none}.live-now-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff20;animation:live-now-pulse 1.8s ease-in-out infinite}@keyframes live-now-pulse{0%,100%{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.live-now-dot{animation:none}}

.event-type-options{display:flex;flex-wrap:wrap;gap:10px}.event-type-option{display:flex;align-items:center;gap:10px;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.event-type-option input{width:20px;min-height:20px;flex-shrink:0}.event-type-option:has(input:checked){border-color:var(--red);background:#302025}

.support-main{max-width:760px;margin:auto;padding:42px 6% 60px}.support-main h1{font:700 48px/1.1 "Barlow Condensed",sans-serif;margin:14px 0 20px}.support-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.support-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid var(--line);border-radius:6px;background:var(--panel);text-decoration:none;font-weight:700;overflow-wrap:anywhere}.support-links a:hover{border-color:var(--red)}@media(max-width:480px){.support-links{grid-template-columns:1fr}}

.broadcast-support{display:flex;flex-wrap:nowrap;gap:8px;margin:12px 0 20px;overflow-x:auto;padding:2px}.broadcast-support[hidden]{display:none}.broadcast-support a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.broadcast-support a:hover{border-color:var(--red)}@media(max-width:480px){.broadcast-support{gap:6px}.broadcast-support a{font-size:12px;padding:8px 9px}}

.support-main{max-width:960px}.support-story{display:grid;gap:24px;align-items:center;margin:24px 0}.support-story:has(img:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.support-story img{width:100%;max-height:320px;object-fit:contain;border-radius:8px;background:var(--panel)}.support-story h2,.support-main section>h2{font-size:30px;margin:0 0 12px}.support-story p{color:var(--muted);margin:10px 0}.support-costs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 32px}.support-costs>div{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.support-costs svg{width:30px;height:30px;color:var(--red)}.support-costs h3{font-size:21px;margin:8px 0}.support-costs p{font-size:13px;color:var(--muted);margin:0}.support-thanks{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.support-thanks>a{display:inline-block;margin:0 20px 12px 0;text-underline-offset:4px}@media(max-width:600px){.support-story:has(img:not([hidden])){grid-template-columns:1fr}.support-costs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.support-costs>div{padding:12px}.support-costs h3{font-size:18px}}@media(max-width:380px){.support-costs{grid-template-columns:1fr}.support-costs>div{display:grid;grid-template-columns:32px 1fr;column-gap:12px}.support-costs svg{grid-row:span 2}.support-costs h3{margin:0 0 4px}}

.photo-dropzone{border:2px dashed var(--line);border-radius:8px;padding:24px;text-align:center;margin:16px 0}.photo-dropzone.drag-over{border-color:var(--red);background:var(--panel)}.photo-dropzone p{margin:10px 0}.photo-dropzone button{min-height:44px}#photo-upload-progress{width:100%;margin:12px 0}#upload-status{overflow-wrap:anywhere}

.archive-photo{margin:0;min-width:0}.archive-photo img{width:100%}.archive-photo figcaption{padding:8px 0;color:var(--muted);overflow-wrap:anywhere}.photo-event-details input{max-width:100%}
.location-search{margin:0 0 14px}.location-results{display:grid;gap:6px;margin:8px 0}.location-results button{text-align:left;white-space:normal;overflow-wrap:anywhere}.location-search small{display:block;margin-top:8px}.archive-map-section{margin:24px 0 32px}.archive-map-section h2{font-size:28px}.archive-map-section>.text-link{margin-left:16px}#archive-map{height:440px;width:100%;border:1px solid var(--line);border-radius:8px;isolation:isolate;background:#d8e2e8}#archive-map .leaflet-control a{color:#111}#archive-map .leaflet-control-attribution{color:#222;background:rgba(255,255,255,.95)}.chase-map-pin:focus{outline:3px solid #161616;outline-offset:3px}.archive-map-popup{color:#171717;min-width:180px;overflow-wrap:anywhere}.archive-map-popup>div+div{border-top:1px solid #ccc;margin-top:12px;padding-top:12px}.archive-map-popup p{margin:6px 0}.archive-map-popup a{display:inline-block;padding:8px 0;color:#a20e22;text-decoration:underline}.archive-event{scroll-margin-top:20px}@media(max-width:600px){#archive-map{height:330px}.archive-map-section>.text-link{display:inline-block;margin:12px 0}}

.chase-map-pin{background:transparent;border:0;border-radius:0;box-shadow:none}.map-pin-years{display:flex;gap:2px;align-items:center}.map-pin-year{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:46px;color:white;border:2px solid white;border-radius:7px;box-shadow:0 2px 5px #0008}.map-pin-icons{display:flex;align-items:center;justify-content:center;height:23px}.map-pin-icons .event-type-icon{width:18px;height:18px;flex:none;color:white}.map-pin-icons b{font-size:10px}.map-pin-label{font-size:11px;font-weight:700;line-height:14px}.map-pin-more{background:#333;color:white;padding:4px;border-radius:4px}.map-year-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.map-year-key{display:inline-flex;align-items:center;gap:6px;font-size:13px}.map-year-key>span{width:16px;height:16px;border-radius:3px;border:1px solid white}.map-event-types{display:flex;gap:6px;flex-wrap:wrap}.map-event-types>span{display:inline-flex;align-items:center;gap:4px;font-size:12px}.map-event-types svg{width:20px;height:20px}.archive-photo-editor{border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}.archive-photo-editor>summary{cursor:pointer;font-weight:700}.archive-photo-editor>div{padding-top:12px}.archive-photo-edit{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.archive-photo-edit img{max-height:160px}.archive-upload progress{width:100%}

#archive-map{background:#15191d}.osm-dark .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.75) saturate(.3)}.map-weather-symbol{display:flex;align-items:center;justify-content:center;width:36px;height:36px;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 1px #000)}.map-weather-symbol .event-type-icon{width:32px;height:32px;stroke-width:2.2;color:inherit}.chase-map-pin:focus{outline:2px solid white;border-radius:50%}#archive-map .leaflet-popup-content-wrapper,#archive-map .leaflet-popup-tip{background:#1b2027;color:#f1f3f5}.archive-map-popup{color:#f1f3f5}.archive-map-popup a{color:#9fcaff}.archive-map-popup>div+div{border-color:#48525e}.mapbox-logo-link{display:block;width:88px;height:23px}.mapbox-logo-link img{display:block;width:88px;height:23px}

.map-settings{border:1px solid var(--line);border-radius:8px;padding:14px;margin:14px 0}.map-settings>summary{cursor:pointer;font-weight:700}

.coverage-link-bio{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:10px 0 18px}.coverage-link{min-width:0}.coverage-link .community-event-link{white-space:normal;overflow-wrap:anywhere}

details.edit-row{border:1px solid var(--line);border-radius:7px;padding:12px;margin:10px 0}details.edit-row>summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere;min-height:32px;padding:4px}details.edit-row[open]>summary{border-bottom:1px solid var(--line);padding-bottom:12px}.editor-toolbar{padding:12px 0 16px}.editor-toolbar .row-actions{margin-top:0}.editor-toolbar p{margin:8px 0}.compact-uploader{border:1px solid var(--line);border-radius:7px;padding:14px;margin:16px 0}.compact-uploader>summary{cursor:pointer;font-weight:600}.editor-publish-bar{position:sticky;bottom:0;z-index:10;background:var(--bg,#101113);border-top:1px solid var(--line);padding:12px;box-shadow:0 -5px 18px #0005;flex-wrap:wrap}.editor-publish-bar #editor-status{flex-basis:100%;margin:0}.editor-publish-bar #editor-status:empty{display:none}.admin-page details{scroll-margin-top:18px}.admin-page input,.admin-page textarea{scroll-margin-bottom:160px}@media(max-width:600px){.editor-publish-bar{gap:8px}.editor-publish-bar button{font-size:12px;padding:10px}.editor-toolbar .row-actions{gap:6px}}

.archive-folder-picker{width:100%;min-height:44px;background:#101113;color:white;border:1px solid #74747a;border-radius:4px;padding:10px}

.photo-individual-options{border:1px solid var(--line);border-radius:6px;padding:12px;margin:12px 0}.photo-individual-options>summary{cursor:pointer;font-weight:600}
.photo-metadata,.photo-image-controls{border:1px solid var(--line);border-radius:6px;padding:10px;margin:10px 0}.photo-metadata>summary,.photo-image-controls>summary{cursor:pointer;font-weight:600;min-height:30px}#photo-fields>.edit-row>.admin-photo-preview{max-height:180px;object-fit:contain}.photo-review-actions{position:sticky;bottom:110px;background:var(--bg,#101113);padding:8px 0;z-index:2}
.lightroom-import{border:1px solid var(--line);border-radius:7px;padding:16px;margin:16px 0}.lightroom-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.lightroom-thumbnails button{padding:4px;min-width:0}.lightroom-thumbnails img{width:100%;height:80px;object-fit:cover;display:block}#lightroom-review input{max-width:100%}
.engagement-panel{border-top:1px solid var(--line);margin-top:16px;padding:12px;text-align:left;min-width:0}.engagement-panel summary{cursor:pointer;padding:12px 0;font-weight:600}.engagement-panel input,.engagement-panel textarea{width:100%;max-width:100%;box-sizing:border-box}.engagement-panel label{display:block;margin:10px 0}.visitor-comment{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.comment-text{white-space:pre-wrap}#lightbox{max-height:90vh;overflow:auto}.comment-moderation{width:min(700px,90vw);max-height:85vh;overflow:auto}.comment-moderation article{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}
.archive-media-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.archive-media-label{font-size:12px;color:var(--muted);margin-right:4px}.archive-media-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#d4dce5;padding:3px 8px;border-radius:4px;background:#222a32}.archive-media-icon{width:20px;height:20px;flex-shrink:0}

.coverage-x-post { width:100%; max-width:550px; margin:0 auto 12px; }
.coverage-x-post iframe { aspect-ratio:auto; background:transparent; }
