html, body{overflow-x: hidden !important;}to{ transform: translateX(-50%); }to{transform:translateX(-50%)}@media (max-width:768px){.jc-carousel{margin:0}.jc-carousel img{width:clamp(120px,42vw,260px)}}@media (prefers-reduced-motion:reduce){.jc-carousel-track{animation:none}}@media (max-width:768px){.jc-carousel img{width:clamp(120px,42vw,260px)}}html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }@supports (-webkit-touch-callout: none){

}html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }.overlay, .overlay-row{ overflow: visible !important; }@supports (-moz-appearance: none){
  
  @media (min-width: 1024px) {

    html, body { margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }
    .overlay, .overlay-row { overflow: visible !important; }
  }
}.lore{width:100%;margin:32px 0;padding:0}.lore-inner{max-width:960px;margin:0 auto;padding:0 16px;box-sizing:border-box}.lore h2{font-size:clamp(24px,4.2vw,36px);line-height:1.15;margin:0 0 10px 0;letter-spacing:1px}.lore p{font-size:clamp(14px,2.2vw,18px);line-height:1.6;margin:0}@media (max-width:768px){.lore{margin:24px 0}.lore-inner{padding:0 12px}}.lore, .lore-inner{ text-align: center !important; }.lore h2{ margin-left: auto !important; margin-right: auto !important; }.lore p{ margin-left: auto !important; margin-right: auto !important; }.lore p + p{ margin-top: 1em !important; }.lore p + p{ margin-top: 1em !important; }@media (min-width: 768px){
  .lore p + p { margin-top: 1.25em !important; }          
}@media (max-width: 768px){
  .lore, .lore-inner, .lore h2, .lore p,
  .lore::before, .lore::after, .lore-inner::before, .lore-inner::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
  .lore::before, .lore::after,
  .lore-inner::before, .lore-inner::after {
    content: none !important;
  }
}.lore h2 + p{ margin-top: 1em !important; }.lore h2 + p{ margin-top: 1em !important; }@media (min-width: 768px){
  .lore h2 + p { margin-top: 1.25em !important; }  
}100%{ transform: translateX(-100%); }html, body{ overflow-x: hidden; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }.overlay, .overlay-row, .lore, .lore-inner{ overflow: visible !important; }html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }.overlay, .overlay-row, .lore, .lore-inner{ overflow: visible !important; }@supports (-moz-appearance: none){
  
}html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }@supports (-moz-appearance: none){
  
}html, body{ margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }.overlay, .overlay-row, .lore, .lore-inner{ overflow: visible !important; }@supports (-moz-appearance: none){
  
}html, body{ overflow-x: hidden; }html, body{ overflow-x: hidden; }@media (prefers-reduced-motion: reduce){ .jc-group { animation: none !important; } }html, body{ overflow-x: hidden; }html, body{ overflow-x: hidden; }.jc-carousel-top{
  position: relative;
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  background: transparent;
  overflow: hidden;
  z-index: auto;
}.jc-carousel-top__track{
  display: flex;
  margin: 0;
  padding: 0;
  gap: 0;
  white-space: nowrap;
}.jc-carousel-top__group{
  display: flex;
  flex-shrink: 0;
  animation: jc-top-marquee 30s linear infinite;
}.jc-carousel-top__group:nth-child(2){ animation-delay: -15s; }.jc-carousel-top img{
  display: block;
  height: auto;
  flex: 0 0 auto;
  margin: 0;
  width: clamp(140px, 22vw, 320px);
}@media (prefers-reduced-motion: reduce){

}:root{ --top-carousel-h: 0px; }@media (min-width: 769px){
  .overlay { top: calc(var(--overlay-top, 0px) + var(--top-carousel-h, 0px)) !important; }
}.jc-carousel-top__group{ animation: none !important; }.jc-carousel-top__track{ will-change: transform; }.gallery{width:100%;margin:32px 0;padding:0;background:transparent}.gallery-inner{max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{display:block;width:100%;height:auto;object-fit:cover}@media(max-width:768px){
  .gallery-inner{padding:0 12px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}@media (max-width: 768px){
  
  .overlay { position: static !important; top: auto !important; margin: 0 !important; }
  .overlay-row { margin: 0 !important; padding: 0 !important; }

}@media (max-width: 768px){

  .overlay       { position: relative !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; }
  .overlay-row   { margin: 0 !important; padding: 0 !important; }
}.gallery-grid{ gap: 16px !important; }.gallery-grid img{ box-shadow: 0 8px 20px rgba(0,0,0,0.35), 0 2px 6px rgba(0,0,0,0.2); }@media (max-width: 768px){
  .gallery-grid { gap: 12px !important; }  
}.gallery-grid img{
  border-radius: 6px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.48), 0 4px 12px rgba(0,0,0,0.30) !important;
}.gallery-grid{ gap: 12px !important; }@media (max-width: 768px){
  .gallery-grid { gap: 12px !important; }
}.gallery-grid img{
  border-radius: 6px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.30), 0 2px 8px rgba(0,0,0,0.20) !important;
}.gallery-grid img{ border-radius: 12px !important; }\n\n

.gallery-grid img{
  border: 1px solid rgba(255,255,255,0.85) !important; 
  box-sizing: border-box !important;                    
  image-rendering: pixelated;                           
  image-rendering: crisp-edges;                         
}
\n

/* v45: Ensure hero sits flush at the very top */
html, body { margin: 0 !important; padding: 0 !important; }
.overlay { top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }

/* v48: Mobile margin-collapse fix for hero */
@media (max-width: 768px) {
  .overlay { display: flow-root !important; }
}


/* v50: Mobile tweaks — smaller hero buttons & tighter Lore↔Gallery gap */
@media (max-width: 768px) {
  /* Slightly smaller buttons so they don't touch the edges */
  .btn-opensea, .btn-x {
    font-size: 14px !important;
    padding: 10px 14px !important;
    max-width: calc(100% - 24px) !important; /* keep away from edges */
    display: inline-block !important;
    box-sizing: border-box !important;
  }
  /* If buttons are in a row, allow wrap and center */
  .overlay .buttons, .overlay .btn-row, .overlay-row .buttons {
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 0 8px !important;
  }
  /* Reduce space between Lore and Gallery */
  .lore { margin-bottom: 12px !important; }
  .lore + .gallery { margin-top: 8px !important; }
  .gallery { margin-top: 12px !important; }
}


/* v51: FAQ section (dropdowns) */
.faq{width:100%;margin:32px 0;background:transparent}
.faq-inner{max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.faq-title{font-size:clamp(22px, 3vw, 30px);text-align:center;margin:0 0 16px 0}
.faq-item{border-radius:10px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.02);margin:10px 0;overflow:hidden}
.faq-item[open]{background:rgba(255,255,255,0.04)}
.faq-item summary{cursor:pointer;list-style:none;padding:14px 16px;margin:0;position:relative;font-weight:600;outline:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);opacity:0.8}
.faq-item[open] summary::after{content:'−'}
.faq-answer{padding:0 16px 16px 16px;line-height:1.6}
@media(max-width:768px){
  .faq-inner{padding:0 12px}
  .faq{margin:24px 0}
  .faq-title{margin-bottom:12px}
}


/* v52: Thicker white border for FAQ items */
.faq-item { border: 2px solid rgba(255,255,255,0.9) !important; }


/* v53: FAQ border color matches text color */
.faq-item { border-color: currentColor !important; }


/* mobile-gap-fix-v1: close space between Lore and Gallery on small screens */
@media (max-width: 768px) {
  .lore { display: flow-root !important; margin-bottom: 8px !important; }
  .lore > *:first-child { margin-top: 0 !important; }
  .lore > *:last-child  { margin-bottom: 0 !important; }

  .gallery { margin-top: 8px !important; }
  .gallery > *:first-child { margin-top: 0 !important; }
}

