@charset "UTF-8";
body {
  padding: 0;
  margin: 0;
  font-family: 'Courier New', monospace;
  background-color: #000000;
  color: white;
  min-height: 100vh;
  display: flex;
  flex-direction: column; }

main {
  flex: 1; }

ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

button {
  font-family: 'Courier New', monospace; }

.diagonal-stripes-background {
  background-image: linear-gradient(45deg, #000000 25%, #110000 25%, #110000 50%, #000000 50%, #000000 75%, #110000 75%, #110000 100%);
  background-size: 56.57px 56.57px; }

footer {
  padding: 2rem;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.1); }

.github-link, .footer-text {
  color: #cc032c;
  font-size: 0.9rem;
  opacity: 0.6; }

.github-link {
  text-decoration: none; }
  .github-link:hover {
    text-decoration: underline; }

/* Music Section - Fixed Bottom Center */
.music-section {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 900; }

.close-music {
  position: absolute;
  top: -8px;
  right: -8px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  z-index: 901;
  display: flex;
  align-items: center;
  justify-content: center; }
  .close-music:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: scale(1.1); }

.spotify-container {
  width: 100%;
  height: 80px;
  /* Minimal track height */
  border-radius: 12px;
  overflow: hidden; }

.spotify-track {
  width: 300px;
  /* Minimal track width */
  height: 80px;
  border: none; }

.spotify-playlist {
  width: 300px;
  height: 152px;
  /* Compact playlist height */
  border: none; }

.soundcloud-container {
  width: 100%;
  border-radius: 8px;
  overflow: hidden; }

.soundcloud-track {
  width: 300px;
  height: 166px;
  /* SoundCloud's visual player height */
  border: none; }

.soundcloud-playlist {
  width: 300px;
  height: 300px;
  /* SoundCloud playlist height */
  border: none; }

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .music-section {
    bottom: 10px;
    left: 10px;
    right: 10px;
    transform: none;
    width: auto; }

  .spotify-track,
  .spotify-playlist,
  .soundcloud-track,
  .soundcloud-playlist {
    width: 100%; } }
body.has-music {
  padding-bottom: 80px; }

.gallery-item-viewer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center; }
  .gallery-item-viewer.active {
    opacity: 1;
    visibility: visible; }
  .gallery-item-viewer__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .gallery-item-viewer__content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .gallery-item-viewer__content img, .gallery-item-viewer__content video {
      max-width: 100%;
      max-height: 85vh;
      object-fit: contain;
      cursor: pointer; }
      .gallery-item-viewer__content img:focus, .gallery-item-viewer__content video:focus {
        outline: none;
        border: none; }
    .gallery-item-viewer__content .viewer-caption {
      display: none;
      margin-top: 20px;
      text-align: center;
      color: white;
      font-size: 16px;
      max-width: 600px; }
      .gallery-item-viewer__content .viewer-caption a {
        color: #007acc;
        text-decoration: none; }
        .gallery-item-viewer__content .viewer-caption a:hover {
          text-decoration: underline; }
    .gallery-item-viewer__content .loading-indicator {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 40px;
      height: 40px;
      border: 3px solid rgba(255, 255, 255, 0.3);
      border-top: 3px solid rgba(255, 255, 255, 0.8);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      z-index: 10;
      display: none; }
      .gallery-item-viewer__content .loading-indicator.active {
        display: block; }
  .gallery-item-viewer .viewer-close,
  .gallery-item-viewer .viewer-prev,
  .gallery-item-viewer .viewer-next {
    position: absolute;
    background: transparent;
    border: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    cursor: pointer;
    padding: 10px;
    color: #ff0000;
    opacity: 0.6; }
    .gallery-item-viewer .viewer-close:hover, .gallery-item-viewer .viewer-close:focus,
    .gallery-item-viewer .viewer-prev:hover,
    .gallery-item-viewer .viewer-prev:focus,
    .gallery-item-viewer .viewer-next:hover,
    .gallery-item-viewer .viewer-next:focus {
      outline: none;
      opacity: 0.3; }
  .gallery-item-viewer .viewer-close {
    top: 20px;
    right: 20px;
    font-size: 32px;
    font-weight: bold; }
  .gallery-item-viewer .viewer-prev {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 48px;
    font-weight: bold; }
  .gallery-item-viewer .viewer-next {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 48px;
    font-weight: bold; }

@media (max-width: 768px) {
  .gallery-item-viewer .viewer-prev,
  .gallery-item-viewer .viewer-next {
    display: none; } }
@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    transform: translate(-50%, -50%) rotate(360deg); } }
.gallery-link-tile {
  background: rgba(255, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  color: #ff0000;
  font-size: 36px;
  text-transform: uppercase;
  font-weight: 600; }

.gallery-lock-icon {
  width: 64px;
  height: 64px;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 10V8C6 5.79086 7.79086 4 10 4H14C16.2091 4 18 5.79086 18 8V10H19C19.5523 10 20 10.4477 20 11V19C20 19.5523 19.5523 20 19 20H5C4.44772 20 4 19.5523 4 19V11C4 10.4477 4.44772 10 5 10H6ZM8 10H16V8C16 6.89543 15.1046 6 14 6H10C8.89543 6 8 6.89543 8 8V10Z' fill='%23ff0000'/%3E%3C/svg%3E"); }

.gallery-access-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(20, 0, 0, 0.95);
  backdrop-filter: blur(5px);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center; }
  .gallery-access-overlay.active {
    opacity: 1;
    visibility: visible; }
  .gallery-access-overlay__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .gallery-access-overlay__content {
    position: relative;
    width: 333px;
    height: 360px;
    box-sizing: border-box;
    max-height: 90vh;
    border: 2px solid #ff0000;
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.3);
    background: #000;
    padding: 3rem;
    overflow-y: auto;
    background-image: linear-gradient(45deg, #000000 25%, #110000 25%, #110000 50%, #000000 50%, #000000 75%, #110000 75%, #110000 100%);
    background-size: 56.57px 56.57px; }
  .gallery-access-overlay__close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 32px;
    font-weight: bold;
    cursor: pointer;
    padding: 10px;
    transition: color 0.3s ease;
    z-index: 10; }
    .gallery-access-overlay__close:hover {
      color: white; }

.gallery-access {
  text-align: center;
  color: #fff; }
  .gallery-access__title {
    color: #ff0000;
    text-shadow: 0 0 30px rgba(255, 0, 0, 0.5);
    font-size: 2rem;
    margin-top: 0;
    margin-bottom: 2rem; }
  .gallery-access__form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch; }
  .gallery-access__label {
    color: #cccccc;
    font-size: 1.1rem;
    margin-bottom: 0.5rem; }
  .gallery-access__input {
    padding: 0.8rem 1.2rem;
    border-width: 2px;
    border-style: inset;
    border-color: light-dark(#767676, #858585);
    border-radius: 0;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    letter-spacing: 2px; }
    .gallery-access__input:focus {
      outline: none; }
    .gallery-access__input::placeholder {
      color: #666;
      letter-spacing: normal; }
  .gallery-access__submit {
    padding: 0.8rem 1.5rem;
    border: 2px solid #ff0000;
    border-radius: 5px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    background: #000000;
    color: #ff0000; }
    .gallery-access__submit::before {
      content: 'Enter 🔒'; }
    .gallery-access__submit:hover {
      background: #ff0000;
      color: #000000;
      box-shadow: 0 0 15px rgba(255, 0, 0, 0.5); }
    .gallery-access__submit:disabled {
      opacity: 0.5;
      cursor: not-allowed; }
      .gallery-access__submit:disabled:hover {
        background: #000000;
        color: #ff0000;
        box-shadow: none; }
    .gallery-access__submit--success {
      background: #00ff00;
      color: #000000;
      border-color: #00ff00;
      text-shadow: 0 0 5px rgba(0, 255, 0, 0.3); }
      .gallery-access__submit--success::before {
        content: 'Enter 🔓'; }
  .gallery-access__message {
    margin-top: 1.5rem;
    min-height: 1.5rem;
    color: #ff4444;
    font-size: 0.9rem;
    opacity: 0;
    transition: opacity 0.3s ease; }
    .gallery-access__message.show {
      opacity: 1; }
    .gallery-access__message--error {
      color: #ff0000;
      text-shadow: 0 0 30px rgba(255, 0, 0, 0.5); }
    .gallery-access__message--success {
      color: #00ff00;
      text-shadow: 0 0 5px rgba(0, 255, 0, 0.3); }
    .gallery-access__message--love {
      font-size: 2rem;
      margin-top: 2rem;
      text-shadow: 0 0 30px rgba(255, 0, 0, 0.4); }
      .gallery-access__message--love.show {
        opacity: 0.9; }

/* Social Media Tile Styling */
.social-tile {
  font-family: Arial, Helvetica, sans-serif;
  background: rgba(255, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  position: relative; }

.social-tile-header {
  margin-bottom: 8px; }
  @media (min-width: 920px) {
    .social-tile-header {
      margin-bottom: 12px; } }
  .social-tile-header h3 {
    margin: 0;
    font-size: 12px;
    color: #ff4444;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px; }

.social-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr); }
  @media (min-width: 920px) {
    .social-links {
      gap: 4px; } }
  @media (min-width: 1300px) {
    .social-links {
      gap: 8px; } }

.social-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #ffffff;
  font-size: 10px;
  padding: 4px;
  transition: all 0.1s ease-in-out; }
  .social-link:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px); }

.social-icon {
  width: 24px;
  height: 24px;
  margin-bottom: 4px;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
  @media (min-width: 920px) {
    .social-icon {
      width: 32px;
      height: 32px; } }

.social-name {
  font-size: 7px;
  text-align: center;
  opacity: 0.8;
  line-height: 1; }

/* Social Media Icons */
.social-icon-x-twitter {
  background-image: url("data:image/svg+xml,%3Csvg width='1200' height='1227' viewBox='0 0 1200 1227' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z' fill='white'/%3E%3C/svg%3E"); }

.social-icon-instagram {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132.004' height='132' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3ClinearGradient id='b'%3E%3Cstop offset='0' stop-color='%233771c8'/%3E%3Cstop stop-color='%233771c8' offset='.128'/%3E%3Cstop offset='1' stop-color='%2360f' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='a'%3E%3Cstop offset='0' stop-color='%23fd5'/%3E%3Cstop offset='.1' stop-color='%23fd5'/%3E%3Cstop offset='.5' stop-color='%23ff543e'/%3E%3Cstop offset='1' stop-color='%23c837ab'/%3E%3C/linearGradient%3E%3CradialGradient id='c' cx='158.429' cy='578.088' r='65' xlink:href='%23a' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0 -1.98198 1.8439 0 -1031.402 454.004)' fx='158.429' fy='578.088'/%3E%3CradialGradient id='d' cx='147.694' cy='473.455' r='65' xlink:href='%23b' gradientUnits='userSpaceOnUse' gradientTransform='matrix(.17394 .86872 -3.5818 .71718 1648.348 -458.493)' fx='147.694' fy='473.455'/%3E%3C/defs%3E%3Cpath fill='url(%23c)' d='M65.03 0C37.888 0 29.95.028 28.407.156c-5.57.463-9.036 1.34-12.812 3.22-2.91 1.445-5.205 3.12-7.47 5.468C4 13.126 1.5 18.394.595 24.656c-.44 3.04-.568 3.66-.594 19.188-.01 5.176 0 11.988 0 21.125 0 27.12.03 35.05.16 36.59.45 5.42 1.3 8.83 3.1 12.56 3.44 7.14 10.01 12.5 17.75 14.5 2.68.69 5.64 1.07 9.44 1.25 1.61.07 18.02.12 34.44.12 16.42 0 32.84-.02 34.41-.1 4.4-.207 6.955-.55 9.78-1.28 7.79-2.01 14.24-7.29 17.75-14.53 1.765-3.64 2.66-7.18 3.065-12.317.088-1.12.125-18.977.125-36.81 0-17.836-.04-35.66-.128-36.78-.41-5.22-1.305-8.73-3.127-12.44-1.495-3.037-3.155-5.305-5.565-7.624C116.9 4 111.64 1.5 105.372.596 102.335.157 101.73.027 86.19 0H65.03z' transform='translate(1.004 1)'/%3E%3Cpath fill='url(%23d)' d='M65.03 0C37.888 0 29.95.028 28.407.156c-5.57.463-9.036 1.34-12.812 3.22-2.91 1.445-5.205 3.12-7.47 5.468C4 13.126 1.5 18.394.595 24.656c-.44 3.04-.568 3.66-.594 19.188-.01 5.176 0 11.988 0 21.125 0 27.12.03 35.05.16 36.59.45 5.42 1.3 8.83 3.1 12.56 3.44 7.14 10.01 12.5 17.75 14.5 2.68.69 5.64 1.07 9.44 1.25 1.61.07 18.02.12 34.44.12 16.42 0 32.84-.02 34.41-.1 4.4-.207 6.955-.55 9.78-1.28 7.79-2.01 14.24-7.29 17.75-14.53 1.765-3.64 2.66-7.18 3.065-12.317.088-1.12.125-18.977.125-36.81 0-17.836-.04-35.66-.128-36.78-.41-5.22-1.305-8.73-3.127-12.44-1.495-3.037-3.155-5.305-5.565-7.624C116.9 4 111.64 1.5 105.372.596 102.335.157 101.73.027 86.19 0H65.03z' transform='translate(1.004 1)'/%3E%3Cpath fill='%23fff' d='M66.004 18c-13.036 0-14.672.057-19.792.29-5.11.234-8.598 1.043-11.65 2.23-3.157 1.226-5.835 2.866-8.503 5.535-2.67 2.668-4.31 5.346-5.54 8.502-1.19 3.053-2 6.542-2.23 11.65C18.06 51.327 18 52.964 18 66s.058 14.667.29 19.787c.235 5.11 1.044 8.598 2.23 11.65 1.227 3.157 2.867 5.835 5.536 8.503 2.667 2.67 5.345 4.314 8.5 5.54 3.054 1.187 6.543 1.996 11.652 2.23 5.12.233 6.755.29 19.79.29 13.037 0 14.668-.057 19.788-.29 5.11-.234 8.602-1.043 11.656-2.23 3.156-1.226 5.83-2.87 8.497-5.54 2.67-2.668 4.31-5.346 5.54-8.502 1.18-3.053 1.99-6.542 2.23-11.65.23-5.12.29-6.752.29-19.788 0-13.036-.06-14.672-.29-19.792-.24-5.11-1.05-8.598-2.23-11.65-1.23-3.157-2.87-5.835-5.54-8.503-2.67-2.67-5.34-4.31-8.5-5.535-3.06-1.187-6.55-1.996-11.66-2.23-5.12-.233-6.75-.29-19.79-.29zm-4.306 8.65c1.278-.002 2.704 0 4.306 0 12.816 0 14.335.046 19.396.276 4.68.214 7.22.996 8.912 1.653 2.24.87 3.837 1.91 5.516 3.59 1.68 1.68 2.72 3.28 3.592 5.52.657 1.69 1.44 4.23 1.653 8.91.23 5.06.28 6.58.28 19.39s-.05 14.33-.28 19.39c-.214 4.68-.996 7.22-1.653 8.91-.87 2.24-1.912 3.835-3.592 5.514-1.68 1.68-3.275 2.72-5.516 3.59-1.69.66-4.232 1.44-8.912 1.654-5.06.23-6.58.28-19.396.28-12.817 0-14.336-.05-19.396-.28-4.68-.216-7.22-.998-8.913-1.655-2.24-.87-3.84-1.91-5.52-3.59-1.68-1.68-2.72-3.276-3.592-5.517-.657-1.69-1.44-4.23-1.653-8.91-.23-5.06-.276-6.58-.276-19.398s.046-14.33.276-19.39c.214-4.68.996-7.22 1.653-8.912.87-2.24 1.912-3.84 3.592-5.52 1.68-1.68 3.28-2.72 5.52-3.592 1.692-.66 4.233-1.44 8.913-1.655 4.428-.2 6.144-.26 15.09-.27zm29.928 7.97c-3.18 0-5.76 2.577-5.76 5.758 0 3.18 2.58 5.76 5.76 5.76 3.18 0 5.76-2.58 5.76-5.76 0-3.18-2.58-5.76-5.76-5.76zm-25.622 6.73c-13.613 0-24.65 11.037-24.65 24.65 0 13.613 11.037 24.645 24.65 24.645C79.617 90.645 90.65 79.613 90.65 66S79.616 41.35 66.003 41.35zm0 8.65c8.836 0 16 7.163 16 16 0 8.836-7.164 16-16 16-8.837 0-16-7.164-16-16 0-8.837 7.163-16 16-16z'/%3E%3C/svg%3E"); }

.social-icon-reddit {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 800 800' xmlns='http://www.w3.org/2000/svg' width='2500' height='2500'%3E%3Ccircle cx='400' cy='400' fill='%23ff4500' r='400'/%3E%3Cpath d='M666.8 400c.08 5.48-.6 10.95-2.04 16.24s-3.62 10.36-6.48 15.04c-2.85 4.68-6.35 8.94-10.39 12.65s-8.58 6.83-13.49 9.27c.11 1.46.2 2.93.25 4.4a107.268 107.268 0 0 1 0 8.8c-.05 1.47-.14 2.94-.25 4.4 0 89.6-104.4 162.4-233.2 162.4S168 560.4 168 470.8c-.11-1.46-.2-2.93-.25-4.4a107.268 107.268 0 0 1 0-8.8c.05-1.47.14-2.94.25-4.4a58.438 58.438 0 0 1-31.85-37.28 58.41 58.41 0 0 1 7.8-48.42 58.354 58.354 0 0 1 41.93-25.4 58.4 58.4 0 0 1 46.52 15.5 286.795 286.795 0 0 1 35.89-20.71c12.45-6.02 25.32-11.14 38.51-15.3s26.67-7.35 40.32-9.56s27.45-3.42 41.28-3.63L418 169.6c.33-1.61.98-3.13 1.91-4.49.92-1.35 2.11-2.51 3.48-3.4 1.38-.89 2.92-1.5 4.54-1.8 1.61-.29 3.27-.26 4.87.09l98 19.6c9.89-16.99 30.65-24.27 48.98-17.19s28.81 26.43 24.71 45.65c-4.09 19.22-21.55 32.62-41.17 31.61-19.63-1.01-35.62-16.13-37.72-35.67L440 186l-26 124.8c13.66.29 27.29 1.57 40.77 3.82a284.358 284.358 0 0 1 77.8 24.86A284.412 284.412 0 0 1 568 360a58.345 58.345 0 0 1 29.4-15.21 58.361 58.361 0 0 1 32.95 3.21 58.384 58.384 0 0 1 25.91 20.61A58.384 58.384 0 0 1 666.8 400zm-396.96 55.31c2.02 4.85 4.96 9.26 8.68 12.97 3.71 3.72 8.12 6.66 12.97 8.68A40.049 40.049 0 0 0 306.8 480c16.18 0 30.76-9.75 36.96-24.69 6.19-14.95 2.76-32.15-8.68-43.59s-28.64-14.87-43.59-8.68c-14.94 6.2-24.69 20.78-24.69 36.96 0 5.25 1.03 10.45 3.04 15.31zm229.1 96.02c2.05-2 3.22-4.73 3.26-7.59.04-2.87-1.07-5.63-3.07-7.68s-4.73-3.22-7.59-3.26c-2.87-.04-5.63 1.07-7.94 2.8a131.06 131.06 0 0 1-19.04 11.35 131.53 131.53 0 0 1-20.68 7.99c-7.1 2.07-14.37 3.54-21.72 4.39-7.36.85-14.77 1.07-22.16.67-7.38.33-14.78.03-22.11-.89a129.01 129.01 0 0 1-21.64-4.6c-7.08-2.14-13.95-4.88-20.56-8.18s-12.93-7.16-18.89-11.53c-2.07-1.7-4.7-2.57-7.38-2.44s-5.21 1.26-7.11 3.15c-1.89 1.9-3.02 4.43-3.15 7.11s.74 5.31 2.44 7.38c7.03 5.3 14.5 9.98 22.33 14s16 7.35 24.4 9.97 17.01 4.51 25.74 5.66c8.73 1.14 17.54 1.53 26.33 1.17 8.79.36 17.6-.03 26.33-1.17A153.961 153.961 0 0 0 476.87 564c7.83-4.02 15.3-8.7 22.33-14zm-7.34-68.13c5.42.06 10.8-.99 15.81-3.07 5.01-2.09 9.54-5.17 13.32-9.06s6.72-8.51 8.66-13.58A39.882 39.882 0 0 0 532 441.6c0-16.18-9.75-30.76-24.69-36.96-14.95-6.19-32.15-2.76-43.59 8.68s-14.87 28.64-8.68 43.59c6.2 14.94 20.78 24.69 36.96 24.69z' fill='%23fff'/%3E%3C/svg%3E"); }

.social-icon-youtube {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='external-icon' viewBox='0 0 28.57 20' focusable='false' style='display: block; width: 100%25; height: 100%25;'%3E%3Csvg viewBox='0 0 28.57 20' preserveAspectRatio='xMidYMid meet' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042 0 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z' fill='%23FF0000'%3E%3C/path%3E%3Cpath d='M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z' fill='white'%3E%3C/path%3E%3C/g%3E%3C/svg%3E%3C/svg%3E"); }

.social-icon-tiktok {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); }

.social-icon-kofi {
  background-image: url("data:image/svg+xml,%3Csvg width='241' height='194' viewBox='0 0 241 194' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_1_219' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='-1' y='0' width='242' height='194'%3E%3Cpath d='M240.469 0.958984H-0.00585938V193.918H240.469V0.958984Z' fill='white'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_1_219)'%3E%3Cpath d='M96.1344 193.911C61.1312 193.911 32.6597 178.256 15.9721 149.829C1.19788 124.912 -0.00585938 97.9229 -0.00585938 67.7662C-0.00585938 49.8876 5.37293 34.3215 15.5413 22.7466C24.8861 12.1157 38.1271 5.22907 52.8317 3.35378C70.2858 1.14271 91.9848 0.958984 114.545 0.958984C151.259 0.958984 161.63 1.4088 176.075 2.85328C195.29 4.76026 211.458 11.932 222.824 23.5955C234.368 35.4428 240.469 51.2624 240.469 69.3627V72.9994C240.469 103.885 219.821 129.733 191.046 136.759C188.898 141.827 186.237 146.871 183.089 151.837L183.006 151.964C172.869 167.632 149.042 193.918 103.401 193.918H96.1281L96.1344 193.911Z' fill='white'/%3E%3Cpath d='M174.568 17.9772C160.927 16.6151 151.38 16.1589 114.552 16.1589C90.908 16.1589 70.9008 16.387 54.7644 18.4334C33.3949 21.164 15.2058 37.5285 15.2058 67.7674C15.2058 98.0066 16.796 121.422 29.0741 142.107C42.9425 165.751 66.1302 178.707 96.1412 178.707H103.414C140.242 178.707 160.25 159.156 170.253 143.698C174.574 136.874 177.754 130.058 179.801 123.234C205.947 120.96 225.27 99.3624 225.27 72.9941V69.3577C225.27 40.9432 206.631 21.164 174.574 17.9772H174.568Z' fill='white'/%3E%3Cpath d='M15.1975 67.7674C15.1975 37.5285 33.3866 21.164 54.7559 18.4334C70.8987 16.387 90.906 16.1589 114.544 16.1589C151.372 16.1589 160.919 16.6151 174.559 17.9772C206.617 21.1576 225.255 40.937 225.255 69.3577V72.9941C225.255 99.3687 205.932 120.966 179.786 123.234C177.74 130.058 174.559 136.874 170.238 143.698C160.235 159.156 140.228 178.707 103.4 178.707H96.1264C66.1155 178.707 42.9277 165.751 29.0595 142.107C16.7814 121.422 15.1912 98.4563 15.1912 67.7674' fill='%23202020'/%3E%3Cpath d='M32.2469 67.9899C32.2469 97.3168 34.0654 116.184 43.6127 133.689C54.5225 153.924 74.3018 161.653 96.8117 161.653H103.857C133.411 161.653 147.736 147.329 155.693 134.829C159.558 128.462 162.966 121.417 164.784 112.547L166.147 106.864H174.332C192.521 106.864 208.208 92.09 208.208 73.2166V69.8082C208.208 48.6669 195.024 37.5228 172.058 34.7987C159.102 33.6646 151.372 33.2084 114.538 33.2084C89.7602 33.2084 72.0272 33.4364 58.6152 35.4828C39.7483 38.2134 32.2407 48.8951 32.2407 67.9899' fill='white'/%3E%3Cpath d='M166.158 83.6801C166.158 86.4107 168.204 88.4572 171.841 88.4572C183.435 88.4572 189.802 81.8619 189.802 70.9523C189.802 60.0427 183.435 53.2195 171.841 53.2195C168.204 53.2195 166.158 55.2657 166.158 57.9963V83.6866V83.6801Z' fill='%23202020'/%3E%3Cpath d='M54.5321 82.3198C54.5321 95.732 62.0332 107.326 71.5807 116.424C77.9478 122.562 87.9515 128.93 94.7685 133.022C96.8147 134.157 98.8611 134.841 101.136 134.841C103.866 134.841 106.134 134.157 107.959 133.022C114.782 128.93 124.779 122.562 130.919 116.424C140.694 107.332 148.195 95.7383 148.195 82.3198C148.195 67.7673 137.286 54.8115 121.599 54.8115C112.28 54.8115 105.912 59.5882 101.136 66.1772C96.8147 59.582 90.2259 54.8115 80.9001 54.8115C64.9855 54.8115 54.5256 67.7673 54.5256 82.3198' fill='%23FF5A16'/%3E%3C/g%3E%3C/svg%3E"); }

.thumbnail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(32%, 120px), 1fr));
  gap: 2px;
  justify-content: center; }
  @media screen and (min-width: 920px) {
    .thumbnail-grid {
      grid-template-columns: repeat(auto-fill, minmax(max(120px, 14%), 1fr));
      gap: 4px; } }

.thumbnail {
  width: 100%;
  height: 100%; }

.gallery-item {
  position: relative;
  text-decoration: none;
  line-height: 0; }
  .gallery-item:hover {
    opacity: 0.8;
    transition: all 0.1s ease-in-out; }
  .gallery-item .video-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 30px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    pointer-events: none;
    z-index: 10; }
  .gallery-item__label {
    position: absolute;
    margin: 0;
    padding: 18px 12px;
    left: 0;
    bottom: 0;
    color: #cc032c;
    background-color: rgba(0, 0, 0, 0.6); }

.consent-dialog {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  overflow-y: auto;
  z-index: 10000;
  box-sizing: border-box;
  border: 2px solid #ff0000;
  cursor: not-allowed; }
  @media (min-width: 680px) and (min-height: 680px) {
    .consent-dialog {
      border: none;
      background-image: none;
      background: rgba(20, 0, 0, 0.95);
      backdrop-filter: blur(5px); } }
  .consent-dialog__content-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media (min-width: 680px) and (min-height: 680px) {
      .consent-dialog__content-container {
        padding: 2rem 0;
        margin-top: calc(calc(100vh - 680px) / 4); } }
  .consent-dialog__content {
    max-width: 680px;
    padding: 2rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    cursor: default; }
    @media (min-width: 680px) and (min-height: 680px) {
      .consent-dialog__content {
        padding: 3rem;
        border: 2px solid #ff0000;
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.3); } }
    .consent-dialog__content h1 {
      color: #ff0000;
      text-align: center;
      text-shadow: 0 0 10px rgba(255, 0, 0, 0.5);
      font-size: 2rem;
      margin-top: 0; }
    .consent-dialog__content li {
      color: #cccccc;
      line-height: 1.6; }
    .consent-dialog__content ul {
      padding-left: 1.5rem;
      list-style-type: square;
      align-self: center; }

.adult-content {
  text-align: center;
  max-width: 520px;
  margin-bottom: 1rem; }

.content-descriptions {
  margin-bottom: 1rem; }

.first-amendment {
  max-width: 520px;
  text-align: center; }

.viewer-discretion {
  text-align: center;
  color: #ff4444;
  font-size: 1.1rem;
  margin-bottom: 2rem; }

.consent-actions {
  display: flex;
  gap: 1rem;
  flex-direction: column; }
  @media (min-width: 680px) and (min-height: 680px) {
    .consent-actions {
      align-items: stretch;
      justify-content: center;
      flex-direction: row; } }

.btn-leave,
.btn-continue {
  padding: 0.8rem 1.5rem;
  border: 2px solid;
  border-radius: 5px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  text-transform: uppercase; }

.btn-leave {
  background: #000000;
  color: #ff0000;
  border-color: #ff0000;
  box-shadow: 0 0 15px rgba(255, 0, 0, 0.5); }
  .btn-leave:hover {
    background: #ff0000;
    color: #000000; }

.btn-continue {
  background: #00ff00;
  color: #000000;
  border-color: #00ff00;
  box-shadow: 0 0 15px rgba(0, 255, 0, 0.5); }
  .btn-continue:hover {
    background: #000000;
    color: #00ff00; }

.age-disclaimer {
  margin-top: 2rem;
  margin-bottom: 0;
  max-width: 520px;
  font-size: 0.9rem;
  color: #888888;
  text-align: center;
  font-style: italic; }
