/* Site footer (src/lib/footer.ts). Cobalt #1D00FE; Outfit text, IDHairline display, Poppins links. */
.ido-footer { --f-cobalt: #1D00FE; --f-pad: clamp(1rem, 5vw, 4rem); background: var(--f-cobalt); color: #fff; font-family: Outfit, sans-serif; }
.ido-footer a { color: #fff; text-decoration: none; }
.ido-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

.ido-footer__intro {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: clamp(3.5rem, 8vw, 6rem) var(--f-pad) clamp(2.5rem, 5vw, 3.5rem);
}
.ido-footer__tagline { margin: 0; font: 300 clamp(1.125rem, 1.6vw, 1.5rem)/1.3 Outfit, sans-serif; letter-spacing: .02em; }
.ido-footer__kicker { margin: .75rem 0 0; font: 400 clamp(.8125rem, 1.1vw, 1rem)/1.4 Outfit, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.ido-footer__follow {
  display: flex; flex-wrap: wrap; justify-content: center; column-gap: .3em;
  margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; font: 300 clamp(3rem, 8vw, 6.5rem)/1 IDHairline, Georgia, serif; color: #E2E2E2 !important; letter-spacing: -.01em;
}
.ido-footer__follow:hover { color: #fff !important; }
.ido-footer__social { display: flex; gap: .75rem; margin: clamp(1.5rem, 3vw, 2rem) 0 0; padding: 0; list-style: none; }
.ido-footer__icon {
  display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%;
  box-shadow: inset 0 0 0 2px #fff; transition: background-color .15s ease;
}
.ido-footer__icon svg { width: 100%; height: 100%; }
.ido-footer__icon-glyph { fill: #fff; transition: fill .15s ease; }
.ido-footer__icon-mask { fill: transparent; }
.ido-footer__icon:hover { background: #fff; }
.ido-footer__icon:hover .ido-footer__icon-glyph { fill: var(--f-cobalt); }
.ido-footer__email { margin: 1.25rem 0 0; font: 300 1rem/1.4 Outfit, sans-serif; letter-spacing: .04em; border-bottom: 1px solid rgba(255, 255, 255, .45); }
.ido-footer__email:hover { border-bottom-color: #fff; }

/* Instagram: eight across, four by two below 768px. */
.ido-ig { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ido-ig__item { margin: 0; padding: 0; }
.ido-ig__item a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }
.ido-ig__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease, opacity .2s ease; }
.ido-ig__item a:hover img { transform: scale(1.04); opacity: .9; }
.ido-ig__play {
  position: absolute; top: 50%; left: 50%; width: 0; height: 0; transform: translate(-40%, -50%);
  border-style: solid; border-width: 14px 0 14px 24px; border-color: transparent transparent transparent rgba(255, 255, 255, .92);
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .35));
}
@media (max-width: 767px) { .ido-ig { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Links: one centred row on desktop, a tidy grid below. */
.ido-footer__nav ul {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem clamp(1.5rem, 3vw, 2.75rem);
  margin: 0; padding: clamp(2rem, 4vw, 2.75rem) var(--f-pad) clamp(2.25rem, 4vw, 3rem); list-style: none;
}
.ido-footer__nav li { margin: 0; }
.ido-footer__nav a {
  display: inline-block; padding: .35rem 0; font: 500 .8125rem/1.2 Poppins, sans-serif; letter-spacing: .12em; text-transform: uppercase;
  border-bottom: 1px solid transparent; transition: border-color .15s ease;
}
.ido-footer__nav a:hover { border-bottom-color: #fff; }
@media (max-width: 1023px) {
  .ido-footer__nav ul { display: grid; grid-template-columns: repeat(4, auto); justify-content: center; column-gap: 2.5rem; }
}
@media (max-width: 599px) {
  .ido-footer__nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; text-align: center; }
  .ido-footer__nav li { border-top: 1px solid rgba(255, 255, 255, .22); }
  .ido-footer__nav li:nth-child(-n + 2) { border-top: 0; }
  .ido-footer__nav a { display: block; padding: .95rem 0; }
}
@media (prefers-reduced-motion: reduce) { .ido-ig__item img, .ido-footer__icon, .ido-footer__icon-glyph { transition: none; } }
/* Full width regardless of inherited Squarespace footer rules. */
.ido-footer, .ido-footer__intro, .ido-ig, .ido-footer__nav, .ido-footer__nav ul { box-sizing: border-box; width: 100%; max-width: none; float: none; }
.ido-footer { display: block; position: relative; left: 0; margin: 0; }
.ido-footer__intro { margin: 0; }
/* Hide alt text while a thumbnail is still loading. */
.ido-ig__item img { color: transparent; background: rgba(255, 255, 255, .08); }
