:root{
  --c-orange:#eb6f2c;
  --c-blue:#4475b5;

  --g-900:#222;
  --g-800:#333;
  --g-700:#444;
  --g-600:#555;
  --g-500:#666;
  --g-400:#777;
  --g-300:#888;
  --g-200:#999;

  --white:#fff;
  --black:#000;

  --radius:0px; /* square */
  --shadow:0 10px 30px rgba(0,0,0,.12);

  --maxw:1100px;
  --pad:16px;
  --pad-lg:22px;

  --border:2px solid var(--g-800);
}*{ box-sizing:border-box; }html, body{ margin:0; padding:0; }body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--g-900);
  background: #f6f6f6;
}h1{ font-family: "Pacifico", cursive; margin:0 0 8px 0; font-weight: 400; }a{ color: inherit; text-decoration: none; }a:hover{ text-decoration: underline; }.wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}.site-header{
  background: linear-gradient(90deg, var(--g-900), var(--g-800));
  border-bottom: 3px solid var(--c-orange);
  color: var(--white);
}.nav a.active{
  border-color: rgba(255,255,255,.35);
}.nav .lang{
  border-color: rgba(255,255,255,.18);
  font-weight: 700;
  padding: 8px 8px;
}.nav .lang.active{
  background: rgba(255,255,255,.12);
}.nav .admin-link{
  border-color: rgba(235,111,44,.55);
}.site-main{ padding: 22px 0 34px; }.tile{
  border-radius: var(--radius);
  border: var(--border);
  background: #f2f2f2;
  box-shadow: var(--shadow);
}.pad{ padding: var(--pad-lg); }.mt{ margin-top: 18px; }.mt-sm{ margin-top: 10px; }.grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}.grid-3{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}@media (max-width: 900px){.grid-2, .grid-3{ grid-template-columns: 1fr; }}.hero{ overflow:hidden; }.hero-inner{ padding: 18px; }.lead{ font-size: 16px; color: var(--g-700); margin:0; }.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: var(--radius);
  border: 2px solid var(--g-900);
  background: var(--c-blue);
  color: #fff;
  font-weight: 800;
  text-decoration:none;
  cursor:pointer;
}.btn:hover{ filter: brightness(1.05); text-decoration:none; }.btn:active{ transform: translateY(1px); }.btn-ghost{
  background: transparent;
  color: var(--g-900);
}.btn-mini{
  padding: 7px 10px;
  font-weight: 800;
  font-size: 13px;
}.btn-danger{
  background: #b3261e;
}.chip-square.active{ background: rgba(68,117,181,.12); }.note{ padding: 14px; }.section-title{
  font-weight: 1000;
  letter-spacing: .3px;
  margin-bottom: 10px;
  padding-left: 10px;
  border-left: 6px solid var(--c-orange);
}.muted{ color: var(--g-600); }.page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
  flex-wrap: wrap;
}.page-title{
  display:flex;
  align-items:flex-start;
  gap: 14px;
}.page-actions{ margin-left:auto; }.list{ display:flex; flex-direction:column; gap: 10px; }.list-row{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  justify-content:space-between;
  border: 2px solid var(--g-300);
  padding: 12px;
  border-radius: var(--radius);
  background: #fff;
}.time{ display:flex; align-items:center; gap: 6px; min-width: 120px; }.time-box{
  border: 2px solid var(--g-900);
  background: #fff;
  padding: 6px 8px;
  font-weight: 900;
}.time-to{ color: var(--g-500); font-weight: 900; }.meta{ flex:1; min-width: 0; }.meta-title{ font-weight: 900; margin-bottom: 4px; }.meta-venue{ color: var(--c-blue); font-weight: 900; }.meta-desc{ color: var(--g-700); }.tag{
  border: 2px solid var(--g-900);
  background: rgba(68,117,181,.12);
  padding: 6px 10px;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
  align-self:flex-start;
}.day-block{ margin-top: 12px; }.day-title{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 1000;
  margin: 10px 0;
}.form-card{ max-width: 520px; margin: 0 auto; }.form label{ display:block; font-weight: 900; margin: 10px 0 6px; }.form input, .form textarea, .form select{
  width:100%;
  padding: 10px 10px;
  border: 2px solid var(--g-900);
  border-radius: var(--radius);
  background: #fff;
  font: inherit;
}.form textarea{ resize: vertical; }.check{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 12px;
}.check input{ width:auto; }.alert{
  border: 2px solid #b3261e;
  background: rgba(179,38,30,.08);
  padding: 12px;
  font-weight: 900;
  margin-bottom: 12px;
}.admin-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}.admin-actions{ display:flex; gap:10px; flex-wrap:wrap; }.row{ display:flex; gap: 12px; align-items:flex-end; flex-wrap:wrap; }.inline{ display:inline; }.row-actions{ display:flex; gap: 8px; align-items:center; flex-wrap:wrap; }.pill{
  display:inline-block;
  padding: 4px 8px;
  border: 2px solid var(--g-900);
  background: rgba(235,111,44,.12);
  font-weight: 900;
  font-size: 12px;
  margin-left: 8px;
}.tabs{ display:flex; gap: 8px; margin-top: 14px; }.tab{
  border: 2px solid var(--g-900);
  background: #fff;
  padding: 8px 10px;
  font-weight: 1000;
  border-radius: var(--radius);
  cursor:pointer;
}.tab.active{
  background: rgba(68,117,181,.12);
}.pane{ display:none; }.pane.active{ display:block; }.site-footer{
  border-top: 3px solid var(--c-blue);
  background: var(--g-900);
  color: #fff;
  padding: 22px 0;
}.footer-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 18px;
}@media (max-width: 900px){.footer-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 18px;
}}.footer-title{ font-weight: 1000; margin-bottom: 8px; }.cards{ display:flex; flex-direction:column; gap: 12px; }.card{
  border: 2px solid var(--g-300);
  background: var(--paper);
  border-radius: var(--radius);
  padding: 12px;
  box-shadow: none;
  text-decoration:none;
  display:block;
}.card:hover{ background: #f7f7f7; text-decoration:none; }.card.plain:hover{ background: #fff; }.card-top{ display:flex; gap: 12px; align-items:flex-start; }.card-square{
  width: 52px; height: 52px;
  background: var(--c-orange);
  border: 2px solid var(--g-900);
  color: #fff;
  font-weight: 1000;
  display:flex; align-items:center; justify-content:center;
}.card-meta{ flex:1; min-width:0; }.card-title{ font-weight: 1000; }.card-sub{ font-size: 13px; margin-top: 2px; }.card-hint{ margin-top: 10px; font-weight: 1000; color: var(--c-blue); }.card-body{ margin-top: 10px; }.list-row.hover:hover{ background:#f7f7f7; text-decoration:none; }.media-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}@media (max-width: 900px){.media-grid{ grid-template-columns: repeat(2, 1fr); }}@media (max-width: 520px){.media-grid{ grid-template-columns: 1fr; }}.media-item{
  border: 2px solid var(--g-900);
  background: #fff;
  border-radius: var(--radius);
  overflow:hidden;
  display:block;
}.media-item img{
  width:100%;
  height: 210px;
  object-fit: cover;
  display:block;
}.media-item.video{
  padding:0;
}.media-item.video iframe{
  width:100%;
  height: 210px;
  display:block;
}.day-nav{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin: 12px 0 16px;
}.day-chip{
  display:flex;
  align-items:center;
  gap: 8px;
  border: 2px solid var(--g-900);
  background:#fff;
  border-radius: var(--radius);
  padding: 8px 10px;
  text-decoration:none;
}.day-chip:hover{ background:#f7f7f7; }.day-chip-text{
  font-weight: 1000;
  font-size: 13px;
  color: var(--g-900);
}.day-block{ scroll-margin-top: 90px; }.thumb-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
}.thumb{
  border: 2px solid var(--g-900);
  border-radius: var(--radius);
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  text-decoration:none;
  display:block;
}.thumb:hover{ background:#f7f7f7; }.thumb img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}.thumb .thumb-meta{
  padding: 8px 10px;
  font-size: 12px;
  color: var(--g-700);
  display:flex;
  justify-content:space-between;
  gap:8px;
}.thumb .thumb-id{
  font-weight: 1000;
  color: var(--g-900);
}.modal-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,0.65);
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
  z-index: 9999;
}.modal{
  width:min(980px, 96vw);
  max-height: 92vh;
  background:#fff;
  border: 3px solid var(--g-900);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 14px;
  border-bottom: 2px solid var(--g-900);
}.modal-title{
  font-weight: 1000;
}.modal-close{
  border:2px solid var(--g-900);
  background:#fff;
  border-radius: var(--radius);
  padding: 6px 10px;
  cursor:pointer;
}.modal-close:hover{ background:#f7f7f7; }.modal-body{
  padding: 14px;
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 14px;
}@media (max-width: 820px){.modal-body{ grid-template-columns: 1fr; }}.modal-preview{
  border:2px solid var(--g-900);
  border-radius: var(--radius);
  overflow:hidden;
  background:#fff;
}.modal-preview img{
  width:100%;
  height: auto;
  display:block;
}.modal-meta{
  border:2px solid var(--g-900);
  border-radius: var(--radius);
  padding: 12px;
}.modal-meta .row{ margin-bottom: 8px; }.modal-meta .key{ font-weight: 1000; color: var(--g-900); }.modal-meta .val{ color: var(--g-700); word-break: break-word; }.thumb-select-grid .thumb{
  position:relative;
}.thumb-select-grid .thumb-select.assigned{
  outline: 4px solid var(--c-orange);
  outline-offset: -4px;
}.thumb-select-grid .thumb-select.assigned .thumb-badge{
  background: var(--c-orange);
  color: #fff;
}#mediaFilter{ margin-top: 10px; }.modal-arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 2px solid var(--g-900);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.92);
  font-size: 30px;
  line-height: 36px;
  font-weight: 1000;
  cursor:pointer;
}.modal-arrow:hover{ background:#fff; }.modal-arrow:disabled{
  opacity:0.35;
  cursor: default;
}.modal-arrow.prev{ left: 10px; }.modal-arrow.next{ right: 10px; }.dropbox{
  position:relative;
  border: 3px dashed var(--g-900);
  border-radius: var(--radius);
  background:#fff;
  padding: 18px;
  cursor:pointer;
}.dropbox.is-drag{
  background: #f7f7f7;
}.dropbox-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 10px;
  text-align:center;
}.dropbox-square{
  width: 44px;
  height: 44px;
  border: 3px solid var(--g-900);
  background: var(--c-orange);
}.dropbox-title{
  font-weight: 1000;
  color: var(--g-900);
}.dropbox input[type=file]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}.thumb{ position:relative; }.thumb-x{
  position:absolute;
  top:6px;
  right:6px;
  width:28px;
  height:28px;
  border:2px solid var(--g-900);
  border-radius: var(--radius);
  background: rgba(255,255,255,0.92);
  font-size: 18px;
  line-height: 22px;
  font-weight: 1000;
  cursor:pointer;
}.thumb-x:hover{ background:#fff; }.nav-main a.n2{ background:#333 !important; }.nav-main a.n3{ background:#444 !important; }.nav-main a.n4{ background:#555 !important; }.nav-main a.n5{ background:#666 !important; }.logo-tile{ background:#fff; }.tile-logo{ width:100px; height:100px; object-fit:contain; padding:0; display:block; }.date-tile{ background:#4475b5; color:#fff; }.tile-date{
  font-family:"Pacifico", cursive;
  font-size:26px;
  line-height:1.05;
  text-align:center;
  padding:8px;
}.nav-tile{
  color:#fff;
  font-weight:500; /* no bold */
  letter-spacing:.02em;
}.nav-tile.n2{ background:#333; }.nav-tile.n3{ background:#444; }.nav-tile.n4{ background:#555; }.nav-tile.n5{ background:#666; }.nav-tile.n6{ background:#777; }.nav-tile:hover{ filter:brightness(1.12); }.tile.active{ outline:4px solid #eb6f2c; outline-offset:-4px; }.langs{ display:flex; gap:6px; align-items:center; }.langs .lang{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 10px;
  border:2px solid #222;
  border-radius:0;
  text-decoration:none;
  font-weight:900;
  color:#222;
  background:#fff;
}.langs .lang.active{ background:#eb6f2c; border-color:#eb6f2c; color:#fff; }.admin-actions{ display:flex; gap:6px; align-items:center; }.admin-actions .admin-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 12px;
  border:2px solid #222;
  border-radius:0;
  text-decoration:none;
  font-weight:900;
  color:#222;
  background:#fff;
}.admin-actions .admin-link:hover, .langs .lang:hover{ background:#f6f6f6; }:root{
  --c-orange:#eb6f2c;
  --c-blue:#4475b5;
  --g-950:#111;
  --g-900:#222;
  --g-800:#333;
  --g-700:#444;
  --g-600:#555;
  --g-500:#666;
  --g-400:#777;
  --g-300:#888;
  --g-200:#999;

  --bg:#fafafa;
  --card:#ffffff;
  --line:#e9e9e9;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --shadow-sm: 0 6px 18px rgba(0,0,0,.06);

  --radius:14px;
  --radius-sm:10px;
}html,body{ height:100%; }body{
  margin:0;
  background:var(--bg);
  color:var(--g-900);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}a{ color:var(--c-blue); text-decoration:none; }a:hover{ text-decoration:underline; }.wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}h1{ font-family:"Pacifico", cursive; font-weight:400; letter-spacing:.01em; margin: 0 0 10px; }h2,h3{ margin: 0 0 10px; letter-spacing:.01em; }p{ margin: 0 0 12px; color: var(--g-700); }.card, .panel, .tile{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}.pad{ padding: 16px; }.mt{ margin-top: 14px; }.mt-sm{ margin-top: 10px; }.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--c-orange);
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
}.btn:hover{ filter:brightness(1.05); text-decoration:none; }.btn:disabled{ opacity:.55; cursor:not-allowed; }.btn-mini{ height:34px; padding: 0 12px; border-radius: 999px; }input[type=text], input[type=email], input[type=number], input[type=password], textarea, select{
  width:100%;
  padding: 11px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background:#fff;
  outline:none;
}input:focus, textarea:focus, select:focus{
  border-color: rgba(68,117,181,.55);
  box-shadow: 0 0 0 4px rgba(68,117,181,.15);
}label > span{ display:block; font-weight:800; margin: 0 0 6px; color: var(--g-800); }.alert{
  border-radius: var(--radius);
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: #fff;
}.alert.warn{ border-color: rgba(235,111,44,.35); background: rgba(235,111,44,.08); }.alert.ok{ border-color: rgba(68,117,181,.35); background: rgba(68,117,181,.08); }.site-header{
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  position: sticky;
  top:0;
  z-index: 20;
  border-bottom: 1px solid var(--line);
}.header-tiles{ padding: 10px 0; }.hdr-row{
  display:flex;
  align-items:center;
  gap:0; /* no margins between tiles */
  flex-wrap:nowrap;
}.hdr-tile{
  width:100px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 0; /* square motif */
  border: 0;
  text-decoration:none;
  flex:0 0 100px;
}.logo-tile{ background:#fff; }.tile-logo{ width:100px; height:100px; object-fit:contain; display:block; }.date-tile{ background: var(--c-blue); color:#fff; }.tile-date{ font-family:"Pacifico", cursive; font-size:24px; line-height:1.05; text-align:center; padding: 8px; }.nav-tile{
  color:#fff;
  font-weight:500; /* no bold */
  letter-spacing:.02em;
}.nav-tile.n2{ background:#333; }.nav-tile.n3{ background:#444; }.nav-tile.n4{ background:#555; }.nav-tile.n5{ background:#666; }.nav-tile.n6{ background:#777; }.hdr-tile.active{
  outline:0;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
}.hdr-aux{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap: 10px;
}.langs, .admin-actions{ display:flex; gap: 6px; align-items:center; }.langs .lang, .admin-actions .admin-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background:#fff;
  color: var(--g-900);
  font-weight:900;
  text-decoration:none;
}.langs .lang.active{ background: var(--c-orange); color:#fff; border-color: transparent; }.langs .lang:hover, .admin-actions .admin-link:hover{ background:#f6f6f6; text-decoration:none; }.thumb-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}.thumb{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow: var(--shadow-sm);
}.thumb img{ width:100%; height:140px; object-fit:cover; display:block; }.thumb-meta{
  display:flex;
  justify-content:space-between;
  padding: 8px 10px;
  font-size: 12px;
  color: var(--g-600);
}.dropbox{
  border: 2px dashed rgba(68,117,181,.35);
  border-radius: var(--radius);
  background: rgba(68,117,181,.06);
  padding: 16px;
  cursor:pointer;
}.dropbox.is-drag{ background: rgba(68,117,181,.12); border-color: rgba(68,117,181,.6); }.modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.55);
  z-index: 60;
  align-items:center;
  justify-content:center;
  padding: 16px;
}.modal{
  width: min(980px, 96vw);
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}.modal-title{ font-weight:900; }.modal-close{ background:#fff; border:1px solid var(--line); border-radius:999px; padding: 6px 10px; cursor:pointer; }.modal-body{ padding: 14px; }.main{ padding: 22px 0 40px; }.nav-tile:hover{
  text-decoration:none;
  filter:none;
}.list,
.list-item,
.list-group,
.list-group-item,
ul.list,
ol.list{
  border:0 !important;
  box-shadow:none !important;
}.list li,
.list-group-item{
  border:0 !important;
  border-bottom:0 !important;
}.list li + li{
  margin-top:10px;
}.btn,
.btn-secondary,
.btn-mini{
  border:0 !important;
}.list-row,
.list-row > *,
.list-row-item{
  border:0 !important;
  box-shadow:none !important;
}.list-row + .list-row{
  margin-top:10px;
}.time-box,
.day-chip,
.tag{
  border:0 !important;
  box-shadow:none !important;
}.time-box{
  background: rgba(68,117,181,.08);
  border-radius: 999px;
  padding: 4px 10px;
}.day-chip{
  background: rgba(0,0,0,.05);
  border-radius: 999px;
  padding: 4px 10px;
}.tag{
  background: rgba(0,0,0,.06);
  border-radius: 999px;
  padding: 4px 10px;
  font-weight:500;
}.site-2col{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  align-items:start;
}@media (max-width: 900px){.site-2col{ grid-template-columns: 1fr; }}.section-title{ font-weight:900; margin-bottom:10px; color: var(--g-900); }.muted{ color: var(--g-700); }.footer-years{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }.footer-year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  color: var(--g-900);
  text-decoration:none;
}.footer-year:hover{ background: rgba(0,0,0,.10); text-decoration:none; }.site-2col{
  width:100%;
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
}.col-main{ min-width:0; }.col-side{ min-width:0; }@media (max-width: 900px){.site-2col{
    grid-template-columns: 1fr;
  }}.wrap-inner{ width:100%; }.site-footer{
  margin-top: 28px;
  padding: 22px 0 26px;
  background: rgba(255,255,255,.9);
  border-top: 1px solid var(--line);
}.footer-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 18px;
}@media (max-width: 900px){.footer-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 18px;
}}.footer-col{
  background: transparent;
}.footer-title{
  font-weight: 900;
  color: var(--g-900);
  margin: 0 0 10px;
}.footer-col a{
  display:block;
  padding: 6px 0;
  color: var(--g-700);
}.footer-col a:hover{ color: var(--g-900); text-decoration:none; }.contact-block{ margin-top: 12px; }.contact-name{ font-weight: 900; color: var(--g-900); margin-bottom: 6px; }.contact-item{ color: var(--g-700); font-size: 14px; }.contact-item span{ color: var(--g-600); font-weight: 800; margin-right: 6px; }.footer-bottom{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--g-600);
  font-size: 14px;
}:root{
  --orange:#eb6f2c;
  --blue:#4475b5;
  --g900:#222;
  --g800:#333;
  --g700:#444;
  --g600:#555;
  --g500:#666;
  --g400:#777;
  --g300:#888;
  --g200:#999;

  --bg:#f4f3f0;
  --paper:#f2f2f2;
  --card:#ffffff;
  --line:#e7e2d9;

  --radius:6px;
  --radius-sm:4px;
  --shadow-soft: 0 8px 24px rgba(0,0,0,.05);

  --display: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}html, body{
  background: var(--bg) !important;
  color: var(--g900);
  font-family: var(--body) !important;
}body{ line-height: 1.5; }.wrap{
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
}.main, .site-main{
  padding: 28px 0 42px !important;
}h1, h2, h3, h4, h5, h6{
  font-family: var(--display) !important;
  color: var(--g900);
  margin: 0 0 10px 0;
}h1{ font-size: 48px !important; line-height: .95 !important; letter-spacing: -.055em !important; font-weight: 700 !important; }h2{ font-size: 34px !important; line-height: 1 !important; letter-spacing: -.04em !important; font-weight: 700 !important; }h3{ font-size: 24px !important; line-height: 1.08 !important; letter-spacing: -.03em !important; font-weight: 600 !important; }h4{ font-size: 19px !important; line-height: 1.2 !important; letter-spacing: -.015em !important; font-weight: 600 !important; }h5{ font-size: 15px !important; line-height: 1.25 !important; font-weight: 600 !important; }h6{
  font-size: 12px !important; line-height: 1.35 !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .16em !important; color: var(--g500) !important;
}p{ color: var(--g700) !important; font-size: 16px !important; line-height: 1.68 !important; }.lead{ font-size: 19px !important; line-height: 1.55 !important; color: var(--g600) !important; }.muted, .meta-desc, .caption, .footer-note{ color: var(--g500) !important; }.section-title{
  font-family: var(--display) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}.card, .tile, .panel, .hero, .note, .typo-card, .compare-card, .contract, .mock, .news-card, .side-card, .footer-col{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: var(--card) !important;
  box-shadow: var(--shadow-soft) !important;
}.pad{ padding: 18px !important; }.hero{ overflow: hidden; }.hero-inner, .hero-top, .hero-bottom{ gap: 18px !important; }.hero-copy h1{ margin-bottom: 12px !important; }.btn, .btn-secondary, .btn-ghost, .btn-mini{
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 3px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.btn{ background: var(--orange) !important; color: #fff !important; }
.btn:hover{ filter: brightness(1.03); }
.btn-ghost, .btn-secondary{ background: var(--g-400) !important; color: var(--paper) !important; }
.btn-ghost:hover, .btn-secondary:hover{ background: var(--g-700) !important; }.chip, .pill, .tag, .day-chip, .time-box{
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  padding: 6px 10px !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}.tag{ background: #f0efec !important; color: var(--g700) !important; }.pill{ background: rgba(68,117,181,.10) !important; color: var(--blue) !important; }.day-chip{ background: #efefef !important; }.time-box{ background: rgba(68,117,181,.09) !important; color: var(--blue) !important; }.list, .list-row, .list-item, .list-group, .list-group-item{
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}.list-row{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  text-decoration: none !important;
}.list-row:last-child{ border-bottom: 0 !important; }.list-row:hover{ background: transparent !important; }.meta-title{
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: var(--g900) !important;
}input[type=text], input[type=email], input[type=password], input[type=number], textarea, select{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-sm) !important;
  background: #fff !important;
  padding: 11px 12px !important;
  box-shadow: none !important;
  font-size: 15px !important;
}input:focus, textarea:focus, select:focus{
  border-color: rgba(68,117,181,.48) !important;
  box-shadow: 0 0 0 4px rgba(68,117,181,.12) !important;
  outline: none !important;
}label > span{
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  color: var(--g500) !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
}.alert{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
}.alert.ok{
  background: rgba(68,117,181,.07) !important;
  border-color: rgba(68,117,181,.20) !important;
}.alert.warn{
  background: rgba(235,111,44,.08) !important;
  border-color: rgba(235,111,44,.22) !important;
}.thumb, .thumb-select{
  border-radius: 0 !important;
  border: 1px solid var(--line) !important;
}.thumb img{ border-radius: 0 !important; }.thumb-meta{ font-size: 12px !important; color: var(--g500) !important; }.dropbox{
  border-radius: 0 !important;
  border: 1px dashed rgba(68,117,181,.35) !important;
  background: rgba(68,117,181,.04) !important;
}.dropbox.is-drag{ background: rgba(68,117,181,.09) !important; }.dropbox-square{ border-radius: 0 !important; }.site-2col{
  display:grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 22px !important;
  align-items: start !important;
}@media (max-width: 960px){.site-2col{ grid-template-columns: 1fr !important; }}.site-header{
  background: rgba(255,255,255,.88) !important;
  border-bottom: 1px solid var(--line) !important;
  backdrop-filter: blur(8px);
}.hdr-row{ gap: 0 !important; }.hdr-tile, .logo-tile, .date-tile, .nav-tile{
  width: 100px !important;
  height: 100px !important;
  flex: 0 0 100px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}.tile-logo{
  width: 100px !important;
  height: 100px !important;
  object-fit: contain !important;
}.date-tile{ background: var(--blue) !important; }.tile-date{
  font-family: var(--display) !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}.nav-tile{
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
}.nav-tile.n2{ background:#333 !important; }.nav-tile.n3{ background:#444 !important; }.nav-tile.n4{ background:#555 !important; }.nav-tile.n5{ background:#666 !important; }.nav-tile.n6{ background:#777 !important; }.hdr-tile.active{ box-shadow: 0 8px 18px rgba(0,0,0,.16) !important; }.nav-tile:hover{ filter: none !important; text-decoration: none !important; }.hdr-aux .lang, .hdr-aux .admin-link{
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}.site-footer{
  background: rgba(255,255,255,.9) !important;
  border-top: 1px solid var(--line) !important;
}.footer-grid{ gap: 20px !important; }.footer-title{
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  color: var(--g500) !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}.footer-col a{
  color: var(--g700) !important;
  font-size: 14px !important;
  padding: 5px 0 !important;
}.footer-year{
  border: 0 !important;
  border-radius: 2px !important;
  background: #efeeea !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
}.footer-bottom{
  border-top: 1px solid var(--line) !important;
  color: var(--g500) !important;
}.news-card, .side-card, .card.pad{
  background: var(--paper) !important;
}html, body{
  background:#fff !important;
}.hdr-tile, .logo-tile, .date-tile, .nav-tile{
  width: 120px !important;
  height: 120px !important;
  flex: 0 0 120px !important;
}.tile-logo{
  width: 120px !important;
  height: 120px !important;
}.tile-date{
  font-size: 18px !important;
}.card,
.tile,
.panel,
.hero,
.note,
.typo-card,
.compare-card,
.contract,
.mock,
.news-card,
.side-card,
.footer-col{
  background:#fff !important;
  border: 1px solid #ece7df !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.04) !important;
}.card h1, .card h2, .card h3, .card h4,
.tile h1, .tile h2, .tile h3, .tile h4,
.panel h1, .panel h2, .panel h3, .panel h4{
  font-family: var(--display) !important;
  letter-spacing: -.035em !important;
}.card p, .tile p, .panel p{
  color: var(--g700) !important;
}.card.pad, .tile.pad, .panel.pad{
  padding: 18px !important;
}.card .list-row, .tile .list-row, .panel .list-row{
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}.site-main, .main{
  overflow-x: hidden !important;
}.site-main > .wrap,
.main > .wrap,
.wrap{
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}.site-2col,
.grid,
.grid-2,
.hero,
.hero-inner,
.hero-bottom,
.footer-grid{
  max-width: 100% !important;
}.card,
.tile,
.panel,
.note,
.hero,
.mock,
.contract,
.typo-card,
.compare-card,
.news-card,
.side-card,
.footer-col{
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
}.site-header{
  border-bottom: 0 !important;
  box-shadow: none !important;
}.card,
.tile,
.panel,
.note,
.hero,
.mock,
.contract,
.typo-card,
.compare-card,
.news-card,
.side-card{
  font-family: var(--body) !important;
  color: var(--g900) !important;
}.card *,
.tile *,
.panel *,
.note *,
.hero *,
.mock *,
.contract *,
.typo-card *,
.compare-card *,
.news-card *,
.side-card *{
  font-family: inherit;
}.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.tile h1, .tile h2, .tile h3, .tile h4, .tile h5, .tile h6,
.panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6,
.note h1, .note h2, .note h3, .note h4, .note h5, .note h6{
  font-family: var(--display) !important;
  color: var(--g900) !important;
  letter-spacing: -.03em !important;
}.card h1, .tile h1, .panel h1, .note h1{
  font-size: 42px !important;
  line-height: .98 !important;
  font-weight: 700 !important;
}.card h2, .tile h2, .panel h2, .note h2{
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}.card h3, .tile h3, .panel h3, .note h3{
  font-size: 22px !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
}.card h4, .tile h4, .panel h4, .note h4{
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}.card p, .tile p, .panel p, .note p,
.card li, .tile li, .panel li, .note li,
.card .muted, .tile .muted, .panel .muted, .note .muted,
.card .meta-desc, .tile .meta-desc, .panel .meta-desc, .note .meta-desc{
  color: var(--g700) !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
}.card .section-title,
.tile .section-title,
.panel .section-title,
.note .section-title{
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  color: var(--g900) !important;
}.card .tag,
.tile .tag,
.panel .tag,
.note .tag,
.card .pill,
.tile .pill,
.panel .pill,
.note .pill,
.card .chip,
.tile .chip,
.panel .chip,
.note .chip{
  font-size: 11px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}.card a, .tile a, .panel a, .note a{
  color: inherit;
}.card .btn, .tile .btn, .panel .btn, .note .btn,
.card .btn-ghost, .tile .btn-ghost, .panel .btn-ghost, .note .btn-ghost,
.card .btn-secondary, .tile .btn-secondary, .panel .btn-secondary, .note .btn-secondary{
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}.card .list-row,
.tile .list-row,
.panel .list-row,
.note .list-row{
  grid-template-columns: 1fr auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}.card .list-row:last-child,
.tile .list-row:last-child,
.panel .list-row:last-child,
.note .list-row:last-child{
  border-bottom: 0 !important;
}.site-footer,
.site-footer *,
.footer-col,
.footer-grid,
.footer-bottom{
  border: 0 !important;
  box-shadow: none !important;
}.footer-col{
  background: transparent !important;
}.wrap-inner{
  width: 100%;
  max-width: 100%;
}.home-hero-copy{
  margin-top: 6px;
}.meta-title{
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--g900) !important;
}.contact-name{
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--g900) !important;
}.card,
.tile,
.panel,
.note,
.news-home-card,
.about-home-card,
.news-card,
.side-card{
  background: var(--paper) !important;
  border: 1px solid #ece7df !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.04) !important;
  padding: 18px !important;
}.card .section-title,
.tile .section-title,
.panel .section-title,
.note .section-title{
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: -.035em !important;
  color: var(--g900) !important;
  margin-bottom: 12px !important;
}.card .meta,
.tile .meta,
.panel .meta,
.note .meta{
  min-width: 0;
}.card .meta-desc,
.tile .meta-desc,
.panel .meta-desc,
.note .meta-desc{
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--g500) !important;
}.card .list,
.tile .list,
.panel .list,
.note .list{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}.card .list-row,
.tile .list-row,
.panel .list-row,
.note .list-row{
  grid-template-columns: 1fr auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
  text-decoration: none !important;
}.card .list-row .tag,
.tile .list-row .tag,
.panel .list-row .tag,
.note .list-row .tag{
  align-self: center;
}.card p,
.tile p,
.panel p,
.note p{
  font-size: 16px !important;
  line-height: 1.68 !important;
  color: var(--g700) !important;
}.card img,
.tile img,
.panel img,
.note img{
  max-width: 100%;
}.card a:hover,
.tile a:hover,
.panel a:hover,
.note a:hover{
  text-decoration: none !important;
}.page-head,
.grid-2,
.cards,
.day-block,
.day-nav{
  max-width: 100% !important;
}.page-head{
  margin-bottom: 20px !important;
}.page-title h1{
  margin-bottom: 10px !important;
}.page-actions .strip-items{
  gap: 8px !important;
}.page-actions .chip-square{
  border: 0 !important;
  border-radius: 2px !important;
  background: #efeeea !important;
  box-shadow: none !important;
}.page-actions .chip-square.active{
  background: var(--orange) !important;
  color: #fff !important;
}.grid-2 > .tile,
.grid-2 > .card,
.day-block .tile,
.day-block .card{
  /*background: var(--paper) !important;*/
  background: #f2f2f2 !important;
  border: 1px solid #ece7df !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.04) !important;
}.page-head .lead,
.grid-2 .lead{
  color: var(--g600) !important;
}.grid-2 .tile .section-title,
.grid-2 .card .section-title{
  font-size: 28px !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  font-weight: 700 !important;
}.grid-2 .tile p,
.grid-2 .card p,
.grid-2 .tile .content,
.grid-2 .card .content{
  font-size: 16px !important;
  line-height: 1.68 !important;
  color: var(--g700) !important;
}.day-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}.day-chip{
  background:#efeeea !important;
  color: var(--g700) !important;
  border:0 !important;
  border-radius:2px !important;
}.day-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin: 0 0 10px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--g500);
  font-weight: 600;
}.day-block{
  margin-top: 16px;
}.day-block .list-row{
  grid-template-columns: 150px 1fr auto !important;
  gap: 16px !important;
  align-items: start !important;
}.time{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:2px;
}.time-to{
  color: var(--g500);
}.time-box{
  min-width: 52px;
  text-align:center;
}.cards{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}.cards .card.plain{
  /*background: var(--paper) !important;*/
  border: 1px solid #ece7df !important;
  border-radius: 4px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.04) !important;
  padding: 16px !important;
}.card-top{
  display:grid;
  grid-template-columns: 150px 1fr;
  gap: 16px;
  align-items:start;
}.card-square{
  width:150px !important;
  height:150px !important;
  border:0 !important;
  border-radius:0 !important;
  background: #efeeea !important;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:none !important;
}.card-square img{
  width:150px;
  height:150px;
  object-fit:cover;
  display:block;
}.card-square-fallback{
  font-size: 48px;
  line-height:1;
  font-weight:700;
  color: var(--g500);
}.card-title{
  font-size: 22px !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: -.03em !important;
  color: var(--g900) !important;
  margin-bottom: 6px;
}.card-sub{
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--g500) !important;
}.card-body{
  margin-top: 12px;
  font-size: 16px !important;
  line-height: 1.68 !important;
  color: var(--g700) !important;
}.grid-2 .list .list-row .meta-title{
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}@media (max-width: 900px){.day-block .list-row{
    grid-template-columns: 1fr !important;
  }.card-top{
    grid-template-columns: 1fr;
  }}.page-title,
.page-actions,
.hero-title{
  display: contents;
}.page-head,
.strip-items{
  display: contents;
}.day-title{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  margin: 0 0 10px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  color: var(--g500) !important;
  font-weight: 600 !important;
}.day-title .day-square{
  display:none !important;
}.time-box{
  background: rgba(235,111,44,.12) !important;
  color: var(--orange) !important;
  border: 0 !important;
  box-shadow: none !important;
}.meta-venue,
.meta-venue a{
  font-size: 11px !important;
  line-height: 1.45 !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  color: var(--g500) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}.day-chip{
  background: rgba(235,111,44,.12) !important;
  color: var(--orange) !important;
  border: 0 !important;
  box-shadow: none !important;
}.day-chip-text{
  color: var(--orange) !important;
}body[data-page="news"] .tile,
body[data-page="news_view"] .tile,
.news-page .tile,
.news-view-page .tile,
.news-page .card,
.news-view-page .card{
  background: var(--paper) !important;
}.card-hint{
  display: none !important;
}body[data-page="news"] .card,
body[data-page="news_view"] .card{
  background: var(--paper) !important;
}body[data-page="galleries"] .tile,
body[data-page="gallery_view"] .tile,
body[data-page="galleries"] .card,
body[data-page="gallery_view"] .card{
  background: var(--paper) !important;
}body[data-page="galleries"] .card-square{
  overflow: hidden !important;
}body[data-page="galleries"] .card-square img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
}body[data-page="maraton_signup"] .hero{
  border: 0 !important;
  box-shadow: none !important;
}body[data-page="maraton_signup"] .tile{
  background: var(--paper) !important;
}body[data-page="venues"] .tile,
body[data-page="venues"] .card{
  background: var(--paper) !important;
}.venues-grid{
  align-items: start !important;
}.venue-group + .venue-group{
  margin-top: 18px;
}.venue-group-title{
  margin: 0 0 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--g500);
  font-weight: 600;
}.venue-map{
  width: 100%;
  min-height: 520px;
  border-radius: 4px;
  background: #efece6;
  overflow: hidden;
}.meta-time{
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--g500) !important;
}body[data-page="admin_program"] .meta-title{
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}body[data-page="admin_program"] .meta-desc{
  color: var(--g600) !important;
}body[data-page="admin_program"] .meta-time .pill{
  margin-left: 8px;
  vertical-align: middle;
}.admin-media-panel .thumb-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap:12px;
}.media-thumb{
  position:relative;
  background:#fff !important;
  border:1px solid #ece7df !important;
  border-radius:4px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.04) !important;
  overflow:hidden;
}.media-thumb img,
.media-thumb .thumb-fallback{
  width:100%;
  height:140px;
  object-fit:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#efeeea;
}.media-thumb-badges{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
}.media-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 8px;
  border-radius:2px;
  background:rgba(34,34,34,.84);
  color:#fff;
  font-size:12px;
  font-weight:700;
}.media-badge.assigned{
  background:rgba(68,117,181,.92);
}.media-thumb-actions{
  display:flex;
  gap:6px;
  padding:8px;
}.media-thumb-actions form{
  flex:1 1 auto;
}.media-thumb-actions .btn{
  width:100%;
  justify-content:center;
}.media-dropbox{
  cursor:pointer;
  text-align:center;
  padding:18px !important;
}.dropbox-title{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--g700);
  font-weight:600;
  margin-bottom:6px;
}.admin-media-tile{
  align-self:start;
}.dropbox-preview{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(88px,1fr));
  gap:8px;
  margin-top:14px;
}.dropbox-preview-item .name{
  display:block;
  padding:4px 6px;
  font-size:11px;
  line-height:1.3;
  color:var(--g500);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#fff;
}.media-thumb-actions{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:6px !important;
  padding:8px !important;
}.media-thumb-actions .btn{
  min-height: 30px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
}.media-thumb-actions .btn-mini{
  min-height: 30px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
}.sortable-thumb{
  cursor: move;
}.sortable-thumb.dragging{
  opacity: .55;
}.media-badge.drag{
  background: rgba(34,34,34,.68);
}.cover-picker{
  padding: 0 8px 8px;
}.cover-label{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--g500);
  font-weight:600;
}.cover-label input{
  margin:0;
}body[data-page="gallery_view"] .thumb,
body[data-page="gallery_view"] .thumb img,
body[data-page="gallery_view"] .gallery-grid img,
body[data-page="gallery_view"] .gallery-item img,
body[data-page="gallery_view"] .modal img,
body[data-page="gallery_view"] #galleryModal img,
body[data-page="gallery_view"] .modal-media img{
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}body[data-page="gallery_view"] .thumb,
body[data-page="gallery_view"] .gallery-item,
body[data-page="gallery_view"] .gallery-grid a,
body[data-page="gallery_view"] .gallery-grid .card-square{
  border: 0 !important;
  box-shadow: none !important;
}body[data-page="news"] .card-square{
  overflow: hidden !important;
}body[data-page="news"] .card-square img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
}.gallery-modal[hidden]{
  display: none !important;
}.gallery-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}.gallery-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
}.gallery-modal-dialog{
  position: relative;
  z-index: 2;
  width: min(1100px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  margin: 16px auto;
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}.gallery-modal-close{
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  border: 0;
  background: rgba(0,0,0,.7);
  color: #fff;
  width: 36px;
  height: 36px;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}.gallery-modal-media{
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
}.gallery-modal-media img{
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 140px);
  width: auto;
  height: auto;
  border: 0 !important;
  box-shadow: none !important;
}.gallery-modal-caption{
  padding: 14px 18px;
  background: #fff;
}.gallery-modal-title{
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--g600);
  font-weight: 600;
}.gallery-modal-alt{
  margin-top: 6px;
  font-size: 14px;
}.gallery-modal-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  border: 0;
  background: rgba(0,0,0,.7);
  color: #fff;
  width: 44px;
  height: 44px;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}.gallery-modal-nav.prev{ left: 8px; }.gallery-modal-nav.next{ right: 8px; }.gallery-modal-nav[hidden]{ display:none !important; }body[data-page="guest_view"] .gallery-modal-media img{
  border: 0 !important;
  box-shadow: none !important;
}.program-venue-link{
  text-decoration: none !important;
  cursor: pointer;
}.program-venue-link:hover,
.program-venue-link:focus{
  text-decoration: underline !important;
}.program-modal[hidden]{ display:none !important; }.program-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}.program-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.72);
}.program-modal-dialog{
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100vw - 32px));
  height: 60vh;
  margin: 20vh auto 0;
  background:#fff;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px;
}.program-modal-close{
  position:absolute;
  top:8px;
  right:8px;
  z-index:3;
  border:0;
  background: rgba(0,0,0,.7);
  color:#fff;
  width:36px;
  height:36px;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}.program-modal-head{
  padding-right: 46px;
}.program-open{
  text-decoration:none !important;
}.program-open:hover,
.program-open:focus{
  text-decoration: underline !important;
}.guest-modal-grid{
  display:grid;
  grid-template-columns: 1.35fr .9fr;
  gap:16px;
}@media (max-width: 900px){.guest-modal-grid{
    grid-template-columns: 1fr;
  }}.guest-open{
  text-decoration:none !important;
}.guest-open:hover,
.guest-open:focus{
  text-decoration: underline !important;
}body[data-page="home"] .card-square{
  overflow:hidden !important;
}body[data-page="home"] .card-square img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border:0 !important;
}.home-news-row{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}.home-news-row .meta{
  flex:1 1 auto;
}.home-news-thumb{
  width:84px;
  min-width:84px;
  height:84px;
  overflow:hidden;
  flex:0 0 84px;
}.home-news-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:0 !important;
  box-shadow:none !important;
}.page-heading-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}.heading-year-back{
  margin-left: 0;
}.year-btn{
  background: var(--c-orange) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: default;
}.year-btn:hover,
.year-btn:active,
.year-btn:focus{
  background: var(--c-orange) !important;
  color: #fff !important;
  filter: none !important;
  transform: none !important;
  text-decoration: none !important;
}.status-switch-block{
  margin: 8px 0 14px;
}.status-switch-block .field-label{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
}.status-switch{
  display: inline-flex;
  border: 1px solid #ddd;
  background: #fff;
}.status-option{
  position: relative;
  margin: 0;
}.status-option input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}.status-option span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 10px 14px;
  cursor: pointer;
  font-size: 14px;
}.status-option + .status-option span{
  border-left: 1px solid #ddd;
}.status-option input:checked + span{
  background: var(--c-orange);
  color: #fff;
}.field-help{
  margin-top: 6px;
  font-size: 13px;
}
.tabpanes .pane{ display:none; }
.tabpanes .pane.active{ display:block; }
body[data-page="guests"] .tile.pad.mt{
  background: #f2f2f2 !important;
}body[data-page="guests"] .cards,
body[data-page="guests"] .cards .card,
body[data-page="guests"] .cards .card.plain{
  border: 0 !important;
  box-shadow: none !important;
}body[data-page="guests"] .cards{
  background: transparent !important;
}
