.shop-page main{
  position:relative;
  isolation:isolate;
}

.shop-page .section-heading p{
  max-width:720px;
  margin-inline:auto;
}

.living-aura{
  position:fixed;
  inset:-20vh -10vw auto;
  z-index:0;
  height:55vh;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%,rgba(122,243,255,.12),transparent 28%),
    radial-gradient(circle at 78% 22%,rgba(243,201,122,.16),transparent 24%),
    radial-gradient(circle at 52% 100%,rgba(255,122,61,.12),transparent 32%);
  filter:blur(32px);
  opacity:.9;
}

.shop-hero{
  padding-top:clamp(2.5rem,7vw,5.5rem);
}

.shop-hero-grid,
.tensor-feature{
  display:grid;
  gap:clamp(1.4rem,3vw,2.2rem);
  align-items:start;
}

.shop-hero-grid > *,
.tensor-feature > *,
.artifact-grid > *,
.archive-grid > *,
.order-steps > *,
.process-grid > *{
  min-width:0;
}

.living-sigil{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:1rem;
  border:1px solid var(--line-gold);
  border-radius:18px;
  color:var(--gold);
  background:linear-gradient(180deg,rgba(243,201,122,.18),rgba(255,255,255,.04));
  box-shadow:0 18px 44px rgba(243,201,122,.12);
  font-size:1.9rem;
}

.launch-ribbon,
.artifact-status,
.archive-grid span{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  width:fit-content;
  max-width:100%;
  padding:.45rem .8rem;
  border:1px solid rgba(243,201,122,.18);
  border-radius:999px;
  color:var(--gold);
  background:rgba(243,201,122,.08);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.shop-hero .hero-line,
.shop-hero .hero-copy,
.tensor-copy,
.contact-forge > p,
.shop-note,
.pair-notice,
.series-note,
.customer-reflection p,
.registry-table td,
.registry-table th{
  color:var(--muted);
}

.shop-proof-row{
  display:grid;
  gap:.8rem;
  margin-top:1.4rem;
}

.shop-proof-row span{
  padding:1rem 1.05rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);
  box-shadow:var(--shadow-soft,0 18px 56px rgba(0,0,0,.34));
}

.shop-proof-row strong{
  display:block;
  margin-bottom:.2rem;
  color:var(--text);
}

.shop-hero-card,
.tensor-copy,
.order-steps article,
.process-grid article,
.customer-reflection,
.archive-grid article,
.contact-forge,
.shop-note,
.registry-table-wrap,
.artifact-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-md);
  background:
    radial-gradient(circle at 20% 0%,rgba(243,201,122,.10),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow:var(--shadow-soft,0 18px 56px rgba(0,0,0,.34));
}

.shop-hero-card,
.tensor-copy,
.contact-forge,
.shop-note,
.customer-reflection,
.archive-grid article,
.artifact-card{
  padding:clamp(1rem,2vw,1.35rem);
}

.shop-hero-card img,
.tensor-media img,
.artifact-media img,
.archive-grid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center top;
}

.shop-hero-card img{
  aspect-ratio:4 / 5;
  border-radius:calc(var(--radius-md) - 8px);
  background:rgba(255,255,255,.02);
}

.shop-hero-card > div{
  display:grid;
  gap:.25rem;
  margin-top:1rem;
}

.shop-hero-card strong{
  color:var(--text);
  font-size:clamp(1.25rem,2.7vw,1.65rem);
}

.shop-hero-card span{
  color:var(--muted);
}

.shop-intro,
.feature-release{
  position:relative;
}

.order-steps,
.process-grid,
.artifact-grid,
.archive-grid,
.price-grid{
  display:grid;
  gap:1rem;
}

.order-steps article,
.process-grid article{
  display:grid;
  gap:.55rem;
  min-height:100%;
}

.order-steps article b,
.process-grid article b{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#120803;
  background:linear-gradient(135deg,var(--gold),var(--ember));
  box-shadow:0 10px 30px rgba(255,122,61,.18);
  font-size:1rem;
}

.order-steps article strong,
.process-grid article strong,
.artifact-card h3,
.archive-grid h3,
.tensor-copy h3,
.customer-reflection h3{
  color:var(--text);
}

.shop-note,
.pair-notice,
.series-note{
  line-height:1.7;
}

.pair-notice,
.series-note{
  padding:1rem 1.1rem;
  border:1px solid rgba(122,243,255,.16);
  border-radius:var(--radius-sm);
  background:rgba(122,243,255,.05);
}

.series-note{
  border-color:rgba(243,201,122,.16);
  background:rgba(243,201,122,.05);
}

.tensor-feature{
  padding:clamp(1rem,2vw,1.25rem);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
  background:
    radial-gradient(circle at 0 0,rgba(122,243,255,.08),transparent 28%),
    radial-gradient(circle at 100% 0,rgba(243,201,122,.12),transparent 28%),
    rgba(9,14,25,.75);
  box-shadow:var(--shadow);
}

.tensor-media,
.artifact-media{
  overflow:hidden;
  border-radius:calc(var(--radius-md) - 6px);
  background:rgba(4,8,14,.88);
}

.tensor-media{
  aspect-ratio:4 / 5;
  border:1px solid rgba(122,243,255,.16);
}

.artifact-media{
  aspect-ratio:4 / 5;
  border:1px solid rgba(255,255,255,.08);
}

.tensor-copy{
  display:grid;
  gap:.9rem;
}

.artifact-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
}

.artifact-card{
  display:flex;
  flex-direction:column;
  gap:.9rem;
  grid-column:span 4;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.artifact-card:first-child{
  grid-column:span 6;
}

.artifact-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(243,201,122,.82),transparent);
  opacity:0;
  transition:opacity .22s ease;
}

.artifact-card:hover,
.artifact-card:focus-within{
  transform:translateY(-3px);
  border-color:rgba(243,201,122,.28);
  box-shadow:0 28px 72px rgba(0,0,0,.46);
}

.artifact-card:hover::before,
.artifact-card:focus-within::before{
  opacity:1;
}

.artifact-list{
  margin:0;
  padding-left:1.1rem;
  color:var(--muted);
}

.artifact-list li + li{
  margin-top:.35rem;
}

.artifact-price{
  margin:0;
  display:grid;
  gap:.2rem;
  color:var(--text);
  font-size:1.15rem;
  font-weight:900;
}

.artifact-price span,
.artifact-lead{
  color:var(--muted);
}

.artifact-price span{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.artifact-actions,
.hero-actions.center{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.artifact-actions .btn{
  flex:1 1 11rem;
}

.customer-reflection{
  display:grid;
  gap:1rem;
  margin-top:1.25rem;
  border-color:rgba(122,243,255,.18);
}

.reflection-mark{
  color:rgba(243,201,122,.24);
  font-size:clamp(4rem,14vw,7rem);
  line-height:.8;
}

.customer-reflection blockquote{
  margin:.35rem 0;
  color:var(--text);
  font-size:clamp(1.2rem,2.8vw,1.7rem);
  font-weight:700;
}

.archive-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.archive-grid article{
  display:grid;
  gap:.85rem;
}

.archive-grid img{
  aspect-ratio:4 / 5;
  border-radius:calc(var(--radius-md) - 8px);
  background:rgba(4,8,14,.88);
}

.registry-table-wrap{
  padding:.35rem;
  background:rgba(9,14,25,.85);
}

.registry-table-wrap{
  overflow:auto;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.registry-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
}

.registry-table thead{
  background:rgba(243,201,122,.08);
}

.registry-table th,
.registry-table td{
  padding:.95rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:top;
}

.registry-table th{
  color:var(--gold);
  font-size:.84rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.registry-table tbody tr:hover{
  background:rgba(255,255,255,.025);
}

.registry-table td:first-child{
  color:var(--text);
  font-weight:800;
  white-space:nowrap;
}

.contact-forge{
  max-width:820px;
  margin-inline:auto;
  text-align:center;
}

.shop-email{
  display:inline-block;
  margin:.3rem 0 1rem;
  color:var(--cyan);
  font-size:clamp(1.05rem,2.4vw,1.35rem);
  font-weight:800;
  text-decoration:none;
  word-break:break-word;
}

.shop-email:hover{
  color:var(--gold);
}

.shop-disclaimer{
  max-width:64ch;
  margin:1rem auto 0;
  color:var(--dim);
  font-size:.95rem;
}

.price-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.price-grid > div{
  padding:1rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);
}

.price-grid span{
  display:block;
  color:var(--muted);
  font-size:.88rem;
}

.price-grid strong{
  display:block;
  margin-top:.25rem;
  color:var(--text);
  font-size:1.2rem;
}

.feature-release > .section-heading{
  margin-bottom:1.5rem;
}

@media (min-width: 680px){
  .shop-proof-row,
  .order-steps,
  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .customer-reflection{
    grid-template-columns:auto 1fr;
    align-items:start;
  }
}

@media (min-width: 900px){
  .shop-hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
    gap:1.8rem;
  }

  .tensor-feature{
    grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
    gap:1.6rem;
  }

  .shop-proof-row,
  .order-steps,
  .process-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width: 899px){
  .artifact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .artifact-card,
  .artifact-card:first-child{
    grid-column:auto;
  }

  .archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .shop-hero-card{
    max-width:680px;
    margin-inline:auto;
  }

  .tensor-media{
    aspect-ratio:auto;
  }

  .tensor-media img,
  .shop-hero-card img{
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
  }
}

@media (max-width: 760px){
  .launch-ribbon,
  .artifact-status,
  .archive-grid span{
    font-size:.76rem;
  }

  /* Fix mobile artifact image sizing and override artifact-mobile.css hard caps */
  .artifact-grid,
  [data-artifact-grid]{
    grid-template-columns:1fr !important;
    gap:.9rem !important;
  }

  .artifact-card .artifact-media,
  [data-artifact-card] .artifact-media{
    aspect-ratio:4 / 5;
  }

  .artifact-card .artifact-media img,
  [data-artifact-card] .artifact-media img,
  .artifact-card img[data-artifact-image],
  [data-artifact-card] img[data-artifact-image]{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    background:transparent !important;
  }

  /* Restore portrait fill for the feature image and hero card —
     higher specificity (0,2,1) overrides artifact-mobile.css (0,1,1) */
  .tensor-media{
    aspect-ratio:4 / 5;
  }

  .tensor-media img[data-artifact-image]{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:center !important;
    padding:0 !important;
    background:transparent !important;
  }

  .shop-hero-card img[data-artifact-image]{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
    object-position:center !important;
    padding:0 !important;
    background:rgba(255,255,255,.02) !important;
  }

  .artifact-actions .btn,
  .hero-actions.center .btn,
  .contact-forge .hero-actions .btn{
    flex:1 1 100%;
  }

  .registry-table{
    min-width:560px;
  }

  .archive-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 560px){
  .living-sigil{
    width:52px;
    height:52px;
    font-size:1.65rem;
  }

  .shop-proof-row{
    gap:.7rem;
  }

  .price-grid{
    grid-template-columns:1fr;
  }

  .shop-hero-card,
  .tensor-copy,
  .contact-forge,
  .shop-note,
  .customer-reflection,
  .archive-grid article,
  .artifact-card{
    padding:1rem;
  }

  .registry-table th,
  .registry-table td{
    padding:.85rem .75rem;
  }
}
