
    :root {
      --header-bg:    rgb(128, 0, 255);
      --nav-col-bg:   rgb(0, 0, 128);
      --nav-pill-bg:  rgb(110, 22, 226);
      --nav-drop-bg:  #0080ff;
      --s1-bg:        rgb(110, 22, 226);
      --s2-bg:        rgb(61, 155, 233);
      --s3-bg:        rgb(146, 0, 107);
      --s4-bg:        rgb(61, 155, 233);
      --footer-bg:    rgb(70, 0, 162);
      --btn-xquad:    #4600A2;
      --btn-media:    #007AFF;
      --btn-support:  #DB00A1;
      --btn-hover:    rgb(237, 21, 102);
      --font:         'Coolvetica', 'Fredoka', system-ui, sans-serif;
    }

        @font-face {
      font-family: 'Coolvetica';
      src: url('fonts/Coolvetica Rg.woff2') format('woff2');
      font-weight: normal;
      font-style: normal;
      font-display: swap;
    }
    @font-face {
      font-family: 'ChelseaMarket';
      src: url('fonts/ChelseaMarket-Regular') format('woff2');
      font-weight: normal;
      font-style: normal;
      font-display: swap;
    }

    
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font);
      color: #fff;
      overflow-x: hidden;
      cursor: url('icons/cursors/zenezine-cursor.png'), auto;
    }
    a { color: inherit; text-decoration: none; cursor: url('icons/cursors/zenezine-cursor2.png'), pointer; }
    button { font-family: var(--font); cursor: url('icons/cursors/zenezine-cursor2.png'), pointer; }
    img { display: block; }

    /* ── HEADER ── */
    .site-header {
      width: 100%;
      background: var(--header-bg);
      padding: 18px 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
    }
    .header-icon     { width: 84px; height: 84px; object-fit: cover; color:#fff}
    .header-wordmark { height: 100px; width: auto; }
    .header-logo-link {
      display: flex;
      align-items: center;
      gap: 16px;
      text-decoration: none;
    }

    /* ── NAV ── */
    .site-nav {
      width: 100%;
      background: var(--nav-col-bg);
      display: flex;
      justify-content: center;
    }
    .nav-inner {
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 8px 10px 9px;
    }
    .nav-pill {
      display: inline-block;
      background: var(--nav-pill-bg);
      border-radius: 100px;
      padding: 8px 24px;
      font-size: 21px;
      font-family: 'Coolvetica' ;
      color: #fff;
      transition: background 0.3s;
    }
    .nav-pill:hover { background: rgb(56, 74, 211); }

    .nav-dropdown { position: relative; display: inline-block; }
    .nav-dropdown-btn {
      background: var(--nav-pill-bg);
      border: none;
      border-radius: 100px;
      padding: 8px 24px;
      font-size: 21px;
      color: #fff;
      transition: background 0.3s;
    }
    .nav-dropdown-btn:hover,
    .nav-dropdown-btn[aria-expanded="true"] { background: rgb(56, 74, 211); }
    .nav-dropdown-btn.active { background:#ff00ff;color: #00ffff; }

    .dropdown-panel {
      position: absolute;
      top: calc(100% + 7px);
      left: 50%;
      transform: translateX(-50%);
      background: var(--nav-drop-bg);
      border-radius: 10px;
      box-shadow: 0 4px 14px rgba(0,0,0,0.55);
      min-width: 180px;
      padding: 12px 0 0;
      z-index: 200;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.18s;
    }
    .dropdown-panel.open { opacity: 1; pointer-events: auto; }
    .dropdown-panel a {
      display: block;
      padding: 9px 18px;
      font-size: 16px;
      color: #fff;
      font-family: 'Coolvetica' ;
      white-space: nowrap;
    }
    .dropdown-panel a:hover { color: rgb(0, 255, 255); }
    .dropdown-panel .all-chars {
      border-top: 1px solid rgba(255,255,255,0.3);
      margin-top: 4px;
      padding: 10px 18px;
      font-weight: 700;
    }





    /* ── SECTION 1: Purple Hero ── */
    .s1 {
      width: 100%;
      min-height: 506px;
      background-color: var(--s1-bg);
      background-image: url('images/group/zene-zine-xquad-group-image-zeza-derec-fath-pointa-shana-ally-nazaya-ryme-thorn-cartoon-art_edited.jpg');
      background-size: cover;
      background-position: center;
      position: relative;
      z-index: 1;
      overflow: visible;
    }
    .s1-sparkle {
      position: absolute;
      width: 192px;
      height: 192px;
      object-fit: cover;
      top: 50%;
      transform: translateY(-50%);
    }
    .s1-sparkle.left  { left: 9%; width: 40px; height: auto;}
    .s1-sparkle.right { right: 9%; width: 40px;height: auto;}

    /* ── SECTION 2: Blue Chibi / Meet the Xquad ── */
    .s2 {
      width: 100%;
      background-color: var(--s2-bg);
      background-image: url('images/group/zzxquad-01.jpg');
      background-size: cover;
      background-position: center;
      padding: 31px 20px 28px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 19px;
      position: relative;
      z-index: 2;
      overflow: visible;
    }

    /* ── SECTION 3: Dark Magenta / View Media ── */
    .s3 {
      width: 100%;
      background-color: var(--s3-bg);
      background-image: url('images/characterbgs/IMG-8443_bleu2.PNG');
      background-repeat: repeat;
      background-size: 600px 220px;
      position: relative;
      z-index: 3;
      overflow: visible;
    }
    .s3-inner {
      display: flex;
      align-items: flex-end;
      max-width: 980px;
      margin: 0 auto;
      padding: 22px 20px 70px;
      min-height: 280px;
    }
    .s3-left {
      display: flex;
      flex-direction: column;
      gap: 15px;
      flex: 0 0 280px;
      padding-top: 14px;
    }
    .s3-right {
      flex: 1;
      display: flex;
      justify-content: flex-end;
      align-items: flex-end;
    }
    .zeza-char {
      width: 350px;
      height: auto;
      position: relative;
      top: -72px;
      margin-bottom: -72px;
      flex-shrink: 0;
    }

    /* ── SECTION 4: Blue Hearts / Support Us ── */
    .s4 {
      width: 100%;
      background-color: var(--s4-bg);
      background-image: url('images/characterbgs/IMG-8445.PNG');
      background-repeat: repeat;
      background-size: 916px 335px;
      position: relative;
      z-index: 4;
      overflow: visible;
    }
    .s4-inner {
      display: flex;
      align-items: flex-end;
      max-width: 980px;
      margin: 0 auto;
      padding: 22px 20px 38px;
      min-height: 280px;
    }
    .s4-left {
      flex-shrink: 0;
      display: flex;
      align-items: flex-end;
    }
    .fath-char {
      width: 585px;
      max-width: 58vw;
      height: auto;
      position: relative;
      top: -77px;
      margin-bottom: -77px;
    }
    .s4-right {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 15px;
      align-items: flex-start;
      padding-top: 50px;
      min-width: 0;
    }

    /* ── SPARKLE IMAGES ── */
    .sparkle-lg { width: 135px; height: 155px; object-fit: cover; }
    .sparkle-sm { width:  27px; height:  47px; object-fit: cover; }

    /* ── CTA BUTTONS ── */
    .cta-pill {
      display: inline-block;
      border: none;
      border-radius: 100px;
      padding: 16px 32px;
      font-family: lulo-clean-w01-one-bold, lulo-clean-w05-one-bold, 'Coolvetica', 'Fredoka', sans-serif;
      font-size: 24px;
      font-weight: 700;
      letter-spacing: 0.05em;
      color: #fff;
      box-shadow: 2.83px 2.83px 11px #000;
      text-transform: uppercase;
      transition: background 0.18s;
      text-align: center;
      white-space: nowrap;
    }
    .cta-pill:hover { background: var(--btn-hover) !important; }
    .cta-xquad  { background: var(--btn-xquad); width: 512px; max-width: 90vw; }
    .cta-media   { background: var(--btn-media);  width: 338px; max-width: 100%; }
    .cta-support { background: var(--btn-support); width: 338px; max-width: 100%; }

    /* ── SECTION TEXT ── */
    .sec-text {
      font-size: 20px;
      line-height: 1.35;
      color: #fff;
      text-shadow:
        -1px -1px 0 rgba(0,0,0,0.5),
        -1px  1px 0 rgba(0,0,0,0.5),
         1px  1px 0 rgba(0,0,0,0.5),
         1px -1px 0 rgba(0,0,0,0.5);
      max-width: 280px;
    }


      .back-btn{
    display:inline-block;
    background:linear-gradient(180deg,#8000ff,#8000ff);
    color:#fff;
    font-family:'Coolvetica', var(--display-font);
    font-weight:550;
    font-size:1.35rem;
    padding:12px 34px;
    border-radius:999px;
    border:0px solid #ffffffaa;
    box-shadow:0 4px 0 #3d0a93, 0 8px 16px rgba(0,0,0,.35);
    transition:transform .15s ease, box-shadow .15s ease;
    z-index: 999;
  }
  .back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 #3d0a93,0 10px 20px rgba(0,0,0,.3);}
  .back-btn:active{transform:translateY(1px);box-shadow:0 2px 0 #3d0a93,0 4px 10px rgba(0,0,0,.2);}
  .back-btn:focus-visible{outline:3px solid #7a2bf0;outline-offset:3px;}
    .m-back-btn{margin-top:8px;}


    /* ── FOOTER ── */
    .site-footer {
      width: 100%;
      background: var(--footer-bg);
      font-family: 'Coolvetica';
      box-shadow: 0 0 5px rgba(0,0,0,0.7);
      padding: 24px 20px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      position: relative;
    z-index: 100;
    overflow:hidden;
  }

.social-row { 
  display: flex; 
  gap: 10px; 
  flex-wrap: wrap; 
  justify-content: center; 
  align-items: center; 
}

.social-row a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  transition: background 0.15s, transform 0.15s;
  flex-shrink: 0;
  color: #4600a2;
}


.social-row svg {
  width: 30px;
  height: 30px;
}
    
.social-row a:hover {
  background: #ff00ff;
  transform: translateY(-2px);
}


  .copyright {
    font-family: 'Coolvetica', 'Fredoka', system-ui, sans-serif;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.75);
    text-align: center;
    line-height: 1.5;
  }



      /* ── NAV/FOOTER RESPONSIVE ── */
  @media (max-width: 700px) {
    .header-icon     { width: 56px; height: 56px; }
    .header-wordmark { height: 60px; }
    .nav-pill, .nav-dropdown-btn { font-size: 16px; padding: 7px 16px; }
  }
  @media (max-width: 480px) {
    .nav-pill, .nav-dropdown-btn { font-size: 13px; padding: 6px 12px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .nav-pill, .nav-dropdown-btn, .social-row a { transition: none; }
  }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .zeza-char { width: 260px; }
      .fath-char { width: 380px; }
      .s3-left { flex-basis: 220px; }
    }
    @media (max-width: 700px) {
      .header-icon     { width: 56px; height: 56px; }
      .header-wordmark { height: 60px; }
      .nav-pill, .nav-dropdown-btn { font-size: 16px; padding: 7px 16px; }
      .s1 { min-height: 300px; }
      .s1-sparkle { width: 100px; height: 100px; }
      .cta-pill { font-size: 16px; padding: 12px 22px; }
      .cta-xquad { width: 90vw; }
      .cta-media, .cta-support { width: 220px; }
      .zeza-char { width: 180px; }
      .fath-char { width: 260px; max-width: 50vw; }
      .s3-left { flex-basis: 170px; }
      .sec-text { font-size: 16px; }
      .sparkle-lg { width: 80px; height: 80px; }
      .sparkle-sm { width: 30px; height: 30px; }
    }
    @media (max-width: 480px) {
      .nav-pill, .nav-dropdown-btn { font-size: 13px; padding: 6px 12px; }
      .zeza-char { width: 130px; top: -40px; margin-bottom: -40px; }
      .fath-char { width: 190px; top: -40px; margin-bottom: -40px; }
      .cta-pill { font-size: 13px; padding: 10px 16px; }
      .sec-text { font-size: 14px; max-width: 160px; }
      .sparkle-lg { width: 60px; height: 60px; }
      .sparkle-sm { display: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      .nav-pill, .nav-dropdown-btn, .cta-pill, .social-row img { transition: none; }
    }

.error404{
    position:fixed;
    top:90px;
    left:50%;
    transform:translateX(-50%);
    background:rgba(92, 0, 28, 0.9);
    color:#fff;
    padding:12px 24px;
    border:2px solid #8c6cff;
    border-radius:54px;
    box-shadow:0 0 15px rgba(140,108,255,.6);
    font-size:16px;
    z-index:9999;
	text-align: center;

    animation:fadeOut 5s forwards;
}

@keyframes fadeOut{

    0%{
        opacity:0;
        transform:translateX(-50%) translateY(-20px);
    }

    10%{
        opacity:1;
        transform:translateX(-50%) translateY(0);
    }

    80%{
        opacity:1;
    }

    100%{
        opacity:0;
        transform:translateX(-50%) translateY(-20px);
        visibility:hidden;
    }

}




.notice-popup{
    display:none;
    position:fixed;
    top:90px;
    left:50%;
    transform:translateX(-50%);
    width:max-content;
    max-width:90vw;
    background:#0080ffcb;
    color:#fff;
    padding:22px 40px 20px;
    border:2px solid #8c6cff;
    border-radius:28px;
    box-shadow:0 0 15px rgba(140,108,255,.6);
    font-size:22px;
    text-align:center;
    z-index:9999;
}
.notice-popup.open{
    display:block;
    animation:popIn .3s ease forwards;
}
@keyframes popIn{
    from{ opacity:0; transform:translateX(-50%) translateY(-20px); }
    to  { opacity:1; transform:translateX(-50%) translateY(0); }
}

.notice-close{
    position:absolute;
    top:8px;
    right:14px;
    background:none;
    border:none;
    color:#fff;
    font-size:44px;
    line-height:1;
}
.notice-close:hover{ color:rgb(0, 255, 255); }

.notice-img-btn img{
    width:100%;
    max-width:220px;
    height:auto;
    margin:14px auto 0;
    border-radius:16px;
    transition:transform .15s;
}
.notice-img-btn:hover img{ transform:scale(1.05); }



/* ── CURRENT PAGE IN MENU ── */
.nav-pill.current,
.nav-dropdown-btn.current {
  background: #ff00ff; 
  color: #00ffff;
}
.nav-pill.current {
  pointer-events: none;   
  cursor: default;
}
.dropdown-panel a.current {
  color: rgb(0, 255, 255); 
  pointer-events: none;
  cursor: default;
}