*,:after,:before{box-sizing:inherit}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2rem;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 2rem}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:600;font-variation-settings: 'wght' 600}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}canvas,iframe,img,select,svg,textarea,video{max-width:100%;height:auto;}.--overflow{overflow-x:auto}.--aspect{height:0;padding-top:56.25%;position:relative}.--aspect-object{height:100%;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}

/* :root { color-scheme: light dark; } */

:root {
  --font-display: "Quicksand", sans-serif;
  --font-body: "Quicksand", sans-serif;
  --font-code: "Inconsolata", monospace;

  --color-white: hsl(0, 0%, 100%);
  --color: hsl(138, 33%, 24%);
  --color-black: hsl(0, 0%, 0%);
  --hue-primary: 138;
  --hue-accent: 38;
  --color: hsl(38, 78%, 73%);
  --color-primary: hsl(var(--hue-primary), 33%, 24%);
  --color-primary-dark: hsl(var(--hue-primary), 22%, 12%);
  --color-primary-dark-faded: hsla(var(--hue-primary), 37%, 5%, .5);
  --color-light: #d4d195; /* hsl(var(--hue-accent), 78%, 73%); */
  --color-light-faded: hsla(0, 100%, 100%, .5);
  --glow: hsl(var(--hue-primary), 100%, 55%);

  --gradient: linear-gradient(to right top, var(--color-primary-dark) 0%, var(--color-primary) 100%);

  --color-canvas-text: var(--color-dark);
  --color-canvas: var(--color-light);
  --color-canvas-text-faded: var(--color-dark-faded);
  --color-canvas-faded: var(--color-light-faded);

  --color-anchor: hsl(var(--hue-primary), 80%, 36%);
  --color-anchor-canvas: hsl(var(--hue-primary), 80%, 58%);
  --color-anchor-focus: hsl(var(--hue-primary), 80%, 11%);
  --color-anchor-active: hsl(var(--hue-primary), 80%, 11%);
  --color-anchor-visited: hsl(var(--hue-primary), 80%, 11%);

  --icon-profile: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' height='15' width='15' viewBox='0,0 10,10' fill='%23000'%3e%3ccircle cx='5' cy='3' r='3' /%3e%3cpath d='M 0 10 A 5 5 180 0 1 10 10' /%3e%3c/svg%3e");
  --icon-tech: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' height='15' width='15' viewBox='0,0 10,10' fill='%23000'%3e%3cpath d='M0,3h10M0,5h10M0,7h10M3,0v10M5,0v10M7,0v10' fill='none' stroke='%23000' stroke-width='1' /%3e%3crect x='2' y='2' height='6' width='6' fill='%23fff' stroke='%23000' stroke-width='1' /%3e%3crect x='3' y='3' height='4' width='4' /%3e%3c/svg%3e");
  --icon-calendar: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' height='15' width='15' viewBox='0,0 9,9' fill='%23000'%3e%3crect y='1' width='9' rx='1' ry='1' height='7' /%3e%3cg fill='%23fff'%3e%3crect height='1' width='7' x='1' y='2' /%3e%3crect height='1' width='1' x='3' y='4' /%3e%3crect height='1' width='1' x='5' y='4' /%3e%3crect height='1' width='1' x='7' y='4' /%3e%3crect height='1' width='1' x='1' y='6' /%3e%3crect height='1' width='1' x='3' y='6' /%3e%3crect height='1' width='1' x='5' y='6' /%3e%3c/g%3e%3c/svg%3e");
  --icon-star: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='%23fff' d='M49.31 3.25 63.19 36.4l35.92 1.75-27.16 23.44 9.34 34.75-30.7-18.77-30 19.72 8.17-34.97L.73 39.83l35.81-2.99z'/></svg>");
  --icon-star-spark-dark: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='hsl(138, 33%, 24%)'><path class='st0' d='m11.6 23.62 64.53 64.5c3.21 3.22 8.35 3.22 11.54 0a8.136 8.136 0 0 0 0-11.57L23.21 12.03c-3.21-3.17-8.38-3.17-11.61 0-3.19 3.19-3.19 8.4 0 11.59zM76.13 12.03 11.6 76.54c-3.19 3.21-3.19 8.38 0 11.57a8.184 8.184 0 0 0 11.61 0l64.47-64.5a8.16 8.16 0 0 0 0-11.59c-3.19-3.17-8.34-3.17-11.55.01zM99.17 50.11c0 5.22-4.27 9.51-9.54 9.51-5.26 0-9.53-4.29-9.53-9.51 0-5.29 4.27-9.57 9.53-9.57 5.27 0 9.54 4.28 9.54 9.57zM20.14 50.11c0 5.22-4.29 9.51-9.57 9.51s-9.56-4.29-9.56-9.51c0-5.29 4.27-9.57 9.56-9.57s9.57 4.28 9.57 9.57zM50.09 1c5.24 0 9.56 4.29 9.56 9.54 0 5.29-4.32 9.54-9.56 9.54s-9.53-4.25-9.53-9.54C40.57 5.29 44.85 1 50.09 1zM50.09 80.08c5.24 0 9.56 4.27 9.56 9.57 0 5.26-4.32 9.51-9.56 9.51s-9.53-4.25-9.53-9.51c.01-5.3 4.29-9.57 9.53-9.57z'/></svg>");
}

html {
  background-color: var(--color-canvas);
  color: var(--color-primary);
  box-sizing: border-box;
  font-family: var(--font-body);
  font-size: 16px;
  font-variation-settings: 'wght' 500;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01rem;
  scroll-behavior: smooth;
  transition: background-color 500ms ease-in, color 500ms ease-in;
  word-spacing: 0.05rem;
}
*, *:after, *:before { box-sizing: inherit; }
body {
  margin: 0;
  padding-top: 2.5rem;
}
main {
  margin: 0 auto;
  max-width: 1600px;
}
h1 {
  font-family: var(--font-display);
  font-variation-settings: 'wght' 300;
  font-weight: 300;
  letter-spacing: -0.02rem;
  margin: 0;
  word-spacing: 0.025rem;
}
h2 {
  font-family: var(--font-display);
  font-variation-settings: 'wght' 600;
  font-weight: 600;
  letter-spacing: -0.02rem;
  margin: 0;
  word-spacing: 0.025rem;
}
h3, h4 {
  font-variation-settings: 'wght' 500;
  font-weight: 500;
  letter-spacing: -0.02rem;
  margin: 0;
  word-spacing: 0.025rem;
}
h1 {
  font-size: 1.5rem;
}
h2 {
  font-size: 1.33rem;
}
h3 {
  font-size: 1.22rem;
}
h4 {
  font-size: 1.18rem;
}
p {
  margin: 0 0 1rem;
}

a {
  color: var(--color-anchor);
  text-decoration: none;
  transition: 0.2s color;
}
a:hover, a:focus {
  color: var(--color-anchor-focus);
}

li > a {
  text-decoration: underline;
}

dt:not(:first-of-type) {
  padding-top: 1rem;
}

pre,
code,
kbd,
samp {
  font-family: var(--font-code);
  font-size: var(--size-base);
}

/* ACCESSIBILITY */
.vh {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  width: 1px;
}

@media (prefers-reduced-motion) {
  *, ::before, ::after {
    animation: none !important;
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}

.no-motion * {
  animation: none !important;
  animation-delay: -1ms !important;
  animation-duration: 1ms !important;
  animation-iteration-count: 1 !important;
  background-attachment: initial !important;
  scroll-behavior: auto !important;
  transition: none !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}

@media (min-width: 960px) {
  :root { font-size: 1.62vw; }
  .page-head {
    margin: 0 calc(50% - 50vw);
    padding-bottom: 4rem;
  }
  .banner > img {
    background-color: var(--color-primary);
    border-bottom: 6px double #fff;
    margin: 0 0 -2rem;
    width: 100%;
  }
  h1 {
    font-size: 2.6rem;
    font-variation-settings: 'wght' 333;
  }
  h2 {
    font-size: 1.6rem;
  }
  h3 {
    font-size: 1.4rem;
  }
  h4 {
    font-size: 1.2rem;
  }
}

input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.3;
  margin: 0;
}

fieldset {
  border: .05rem solid var(--color-canvas-text);
  margin: 1rem 0;
  padding: .5rem 1rem;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  font-size: var(--size-small);
  font-weight: 500;
  letter-spacing: .1rem;
  max-width: 100%;
  padding: 0 .5rem;
  text-transform: uppercase;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  border: .05rem solid var(--color-canvas-text);
  letter-spacing: .025rem;
  line-height: 1.6;
  overflow: auto;
  padding: .75rem 1rem;
  width: 100%;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label {
  cursor: pointer;
  display: block;
  font-size: var(--size-small);
  font-weight: 500;
  letter-spacing: .1rem;
  margin: 0.5rem 0 0;
  padding: 0 0 0.5rem;
  text-transform: uppercase;
  user-select: none;
}

input:focus {
  border: .05rem solid var(--color-anchor-focus);
}

input[type=text],
input[list],
select {
  background-color: var(--color-canvas);
  border: .05rem solid var(--color-canvas-text);
  color: var(--color-canvas-text);
  display: block;
  font-size: 1rem;
  padding: .5rem;
  width: 100%;
}

input[list] {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50' width='25' height='25'%3e%3cpath d='M0,0 50,50 100,0' /%3e%3c/svg%3e");
  background-position: calc(100% - .6rem);
  background-size: .5rem .5rem;
  background-repeat: no-repeat;
  box-sizing: border-box;
  margin: 0;
  padding-right: 1.5rem;
  transition: background-color .1s ease-in, color .1s ease-in;
}

input[list]::-webkit-calendar-picker-indicator {
  opacity: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: var(--color-canvas);
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50' width='25' height='25'%3e%3cpath d='M0,0 50,50 100,0' /%3e%3c/svg%3e");
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50' width='25' height='25' stroke='%23000' stroke-width='20' fill='%23fff'%3e%3cpath d='M0,0 50,50 100,0' /%3e%3c/svg%3e");
  background-position: calc(100% - .6rem) .8rem;
  background-size: .5rem .5rem;
  background-repeat: no-repeat;
  box-sizing: border-box;
  color: var(--color-canvas-text);
  margin: 0;
  padding-right: 1.5rem;
  transition: background-color .1s ease-in, color .1s ease-in;
}

input[list]:hover,
input[list]:focus,
select:hover,
select:focus {
  background-position: calc(100% - .6rem) .8rem;
  background-size: .5rem .5rem;
  background-repeat: no-repeat;
  outline: 0;
}

input[list]:-moz-focusring,
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

/* Check Boxes */
input[type='checkbox'] {
  cursor: pointer;
  height: 1rem;
  margin-right: .5rem;
  transform: translateY(.125rem);
  padding: .125rem;
  position: relative;
  width: 1rem;
}

input[type='checkbox']::after {
  background-color: var(--color-white);
  border: .1rem solid var(--color-canvas);
  border-radius: .125rem;
  content: '';
  display: block;
  height: 1rem;
  position: absolute;
  top: 0;
  width: 1rem;
}

input[type='checkbox']:checked::after {
  background-color: var(--color-canvas);
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='28' height='28'><path fill='none' stroke='%23fff' stroke-width='7' d='m7,20 8,8 18,-18' /></svg>");
  background-size: cover;
  background-position: center;
}

/* Radio buttons */
input[type='radio'] {
  cursor: pointer;
  height: 1rem;
  margin-right: .5rem;
  transform: translateY(.125rem);
  padding: .125rem;
  position: relative;
  width: 1rem;
}

input[type='radio']::after {
  background-color: var(--color-white);
  border: .1rem solid var(--color-canvas);
  border-radius: 100%;
  content: '';
  display: block;
  height: 1rem;
  position: absolute;
  top: 0;
  width: 1rem;
}

input[type='radio']:checked::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' width='28' height='28'><circle fill='hsl(355, 94%, 22%)' cx='25' cy='25' r='16' /></svg>");
  background-size: cover;
  background-position: center;
}

/* basic button */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button {
  background-color: var(--color-black);
  border: .15rem solid var(--color-black);
  color: var(--color-white);
  cursor: pointer;
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--size-base);
  letter-spacing: .1rem;
  padding: .75rem 2rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 167ms ease-in-out, border-color 167ms ease-in-out, outline 167ms ease-in-out, transform 83ms ease;
}

button:hover,
button:focus {
  color: var(--color-white);
}

button:active {
  transform: scale(0.98);
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: .05rem dotted ButtonText;
}

button + button {
  margin-left: 2rem;
}

table {
  border: .1rem solid var(--color-black);
  border-collapse: collapse;
  margin-bottom: 1rem;
  width: 100%;
}

table[class=dataTable] {
  table-layout: fixed;
}

table[class=dataTable] td {
  font-family: var(--font-numbers);
  text-align: right;
}

caption {
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--size-0);
  font-weight: 700;
  margin: 0;
  padding: 1rem;
  text-align: left;
  text-transform: uppercase;
}

thead, tfoot {
  border: .1rem solid var(--color-black);
  background-color: #e1e1e1;
  font-weight: 700;
}

th,
td {
  border: 1px solid var(--color-black);
  padding: .5rem;
}

tr {
  background-color: #fff;
}

tr:nth-child(2n) {
  background-color: #e1e1e1;
}

.schedule th {
  width: 33%;
}

/* header */
.subhead {
  font-size: 1.2rem;
  font-variation-settings: 'wght' 400;
}


/* sections */
.dark {
  background-color: var(--color-primary);
  background-image: var(--gradient);
  border-bottom: 6px double #fff;
  border-top: 6px double #fff;
  color: #fff;
  margin: 0 calc(50% - 50vw);
  padding: 2rem;
}

/* aside */
aside {
  border: 4px double var(--color-primary);
  padding: 1rem; 
}
aside > p:last-of-type {
  margin: 0;
}
#footnote {
  padding: 4rem 0 0;
}

/* navigation */
.menu {
  display: flex;
  justify-content: space-between;
}
.menu_nav {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-primary);
  background-image: var(--gradient);
  border-bottom: 2px solid #fff;
  border-top: 2px solid #fff;
  box-shadow: 0 0 1rem #000;
  font-size: .9rem;
  font-variation-settings: 'wght' 700;
  position: fixed;
  text-transform: uppercase;
  top: 0;
  width: 100%;
  z-index: 10000;
}
.menu_list {
  display: none;
  margin: 0;
  padding: 0;
}
.menu_item {
  display: inline-block;
  padding: .5rem 1rem;
}
.menu_link {
  color: #fff;
}
.menu_link:hover, .menu_link:focus {
  color: #aaa;
}
.menu_item.active {
  background-image: var(--icon-star);
  background-size: .5rem;
  background-position: 50% 88%;
  background-repeat: no-repeat;
  color: #fff;
  text-shadow: 0 0 5px #FFF, 0 0 10px #FFF, 0 0 15px #FFF, 0 0 20px #3b18ff, 0 0 30px #3b18ff, 0 0 40px #3b18ff, 0 0 55px #3b18ff, 0 0 75px #3b18ff;
}
.menu_item.active > .menu_link {
  color: #fff;
}
.menu button {
  background-color: transparent;
  border: none;
  padding: .5rem 1rem;
}

@media (max-width: 768px) {
  /* nav control */
  body.fixed {
    overflow: hidden;
  }
  .menu_list.open {
    background-color: var(--color-primary);
    display: block;
    height: 100vh;
    position:absolute;
    width: 100%;
  }
  .menu_list.open .menu_item {
    display: block;
    padding: 1rem;
    text-align: center;
  }
  .menu_list.open .menu_close {
    font-size: 2rem;
    font-variation-settings: 'wght' 300;
    padding: 0;
    text-align: right;
  }
}

/* content */
article {
  padding: 0 0 4rem;
}
.home-head {
  background-image: url("/images/2025/star_bar_dark.svg"), url("/images/2025/star_bar_dark.svg");
  background-position: 0% 102%, 0% -2%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100%, 100%;
  padding: 1rem 0 2rem;
}
.page-head {
  background-image: url("/images/2025/star_bar_dark.svg");
  background-position: 0% -2%;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 1rem 0 0;
}
.banner > img {
  background-color: var(--color-primary);
  border-bottom: 6px double #fff;
  margin: 0 0 -.5rem;
  width: 100%;
}
article section {
  margin: 2rem 1rem 2rem;
}

.snapshot {
  border: 4px solid var(--color-canvas);
  box-shadow: 0 .5rem 1rem #0009;
  margin: 0;
  transform: rotate(-6deg);
}
.snapshot.right {
  transform: rotate(6deg);
}
.snapshot.right.stacked.top {
  transform: rotate(-6deg);
}
.snapshot.right.stacked.bottom {
  margin-top: -6rem;
}

/* form */
.registration {
  border: 4px double var(--color-primary);
  margin: 0 0 1rem;
  padding: 1rem;
}
.registration_submit {
  display: block;
  margin: 1rem 0 0 calc(100% - 150px);
  text-align: right;
}

article::after {
  content: var(--icon-star-spark-dark);
  color: var(--color-primary);
  display: block;
  height: 4rem;
  font-size: 4rem;
  margin: 3rem auto;
  text-align: center;
  width: 4rem;
}

.welcome {
  padding: 1rem 1rem;
  border-left: 6px double var(--color-primary);
  border-right: 6px double var(--color-primary);
}
.snapshot {
  float: left;
  margin: 0 3rem 1rem 0;
  width: 50%;
}
.snapshot.right {
  float: right;
  margin: 0 0 1rem 3rem;
  width: 50%;
}
.snapshot.right.stacked.top {
  transform: rotate(-9deg);
  margin-top: -2rem;
}
.snapshot.right.stacked.bottom {
  margin-top: -8rem;
}

.cta {
  background-color: var(--color-primary);
  outline: 6px double var(--color-primary);
  outline-offset: 2px;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-variation-settings: 'wght' 600;
  padding: 1rem;
  text-align: center;
  text-transform: uppercase;
}
.cta:hover,
.cta:focus {
  color: #fff;
  background-color: #24162e;
}

.gallery {
  /* border: 4px double var(--color-primary); */
  border-image-slice: 67 67 67 67;
  border-image-width: 24px;
  border-image-outset: 24px;
  border-image-repeat: round round;
  border-image-source: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' width='200' height='200' style='color:hsl(138, 33%, 24%);' fill='none' stroke='currentColor'><rect x='2%' y='2%' width='20%' height='20%' fill='currentColor' stroke-width='3%'/><rect x='76%' y='2%' width='20%' height='20%' fill='currentColor' stroke-width='3%'/><rect x='76%' y='76%' width='20%' height='20%' fill='currentColor' stroke-width='3%'/><rect x='2%' y='76%' width='20%' height='20%' fill='currentColor' stroke-width='3%'/><rect x='30%' y='8%' width='38%' height='84%' stroke='currentColor' stroke-width='3%'/><rect x='8%' y='30%' width='84%' height='38%' stroke='currentColor' stroke-width='3%'/></svg>");
  display: block;
  padding: 1rem;
}

.gallery-stage {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
}
.gallery-stage > li {
  display: block;
  margin: 0;
  padding: 0;
}
.gallery-stage > li > img {
  height: auto;
  width: 100%;
}

/* page foot */
.page-foot {
  background-color: var(--color-primary);
  background-image: url("/images/2025/star_bar.svg"), var(--gradient);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: contain;
  border-top: 6px double #fff;
  color: #fff;
  display: grid;
  grid-gap: 2rem;
  margin: 3rem calc(50% - 50vw) 0;
  padding: 2rem 2rem 4rem;
}
.page-foot h2 {
  color: #fff;
  line-height: 1;
}
.page-foot a {
  color: #fff;
  text-decoration: underline;
}
.page-foot a:hover, .page-foot a:focus {
  color: #aaa;
}
.foot-connect {
  background-color: var(--color-primary-dark);
  border: 6px double #fff;
  padding: 1rem;
}
.foot-connect > ul {
  padding: 0 0 0 1rem; 
}


@media (min-width: 768px) {
  .home-head {
    background-position: 0% 107%, 0% -9%;
    padding: 3rem 0 4rem;
  }
  .page-head {
    background-position: 0% -19%;
    padding: 3rem 0 0;
  }
  article section {
    margin: 4rem 3rem 4rem;
  }
  .subhead {
    font-size: 2rem;
  }
  .welcome {
    padding: 1rem 4rem;
  }
  .snapshot {
    float: left;
    margin: 0 3rem 1rem 0;
    width: 50%;
  }
  .snapshot.medium {
    width: 40%;
  }
  .snapshot.small {
    width: 25%;
  }
  .snapshot.right {
    float: right;
    margin: 0 0 1rem 3rem;
  }
  .snapshot.right.stacked.top {
    transform: rotate(-9deg);
    margin-top: -2rem;
  }
  .snapshot.right.stacked.bottom {
    margin-top: -8rem;
  }
  .helm {
    background-image: url("/images/2025/helm.svg");
    background-position: 86%;
    background-repeat: no-repeat;
    background-size: 33%;
    margin: 0;
    padding: 4rem 50% 6rem 3rem;
  }
  .pretties {
    float: right;
    margin: 0 3% 0 7%;
    width: 40%;
  }
  .pretties .snapshot {
    width: 100%;
  }
  .menu_nav button {
    display: none;
  }
  .menu_list {
    display: block;
  }
  .page-foot {
    background-position: 0% 107%;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 3fr 1fr;
  }
  .foot-connect {
    grid-area: 1 / 1 / 2 / 2;
  }
  .foot-disclaimer {
    grid-area: 1 / 2 / 2 / 4;
  }
  .foot-copyright {
    grid-area: 2 / 1 / 3 / 4;
  }
}


.image-string {
  display: flex;
  justify-content: space-between;
}
.image-string > img {
  width: 30%;
}

.marquee {
  --gap: .555rem;
  display: flex;
  gap: var(--gap);
  margin: 0 -1rem 1rem;
  overflow: hidden;
  user-select: none;
}

.marquee__content {
  animation: marquee 55s linear infinite;
  display: flex;
  flex-shrink: 0;
  gap: var(--gap);
  justify-content: space-around;
  list-style: none;
  min-width: 100%;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__content {
    animation-play-state: paused !important;
  }
}