/*
 * EOTLS 071 — Brand Guide v0.3.10 Adoption + JAZS Chapter 1 release curation
 * Parent engineering baseline: 070-r2. This layer deliberately overrides presentation only.
 * Brand principles: Art leads. Studio frames. Frame the cluster. Mark the moment. Let the work breathe.
 */
@import url("../../assets/fonts/eotls-brand-v0310.css");
:root{
  --e071-black:#000000;
  --e071-white:#F1F5F5;
  --e071-purple:#7631A0;
  --e071-silver:#BDBDBD;
  --e071-yellow:#E9C116;
  --e071-body:"EOTLS Poppins","Poppins",Arial,sans-serif;
  --e071-display:"EOTLS Bangers","Bangers",Impact,sans-serif;
  --e071-comic:"EOTLS Classic Comic",Georgia,serif;
  --e071-play:"EOTLS Luckiest Guy","Luckiest Guy",sans-serif;
  --e071-jazs:"JAZS",var(--e071-display);
  --e071-max:1440px;
}

body.eotls-071{
  font-family:var(--e071-body);
  background:var(--e071-black);
  color:var(--e071-white)
}

body.eotls-071 p,body.eotls-071 button,body.eotls-071 input,body.eotls-071 select,body.eotls-071 textarea,body.eotls-071 a{
  font-family:var(--e071-body)
}

body.eotls-071 :is(h1,h2,h3,.project-title,.story-title,.release-title,.card-title,.footer-brand,.e062-feature-strip strong,.e062-tier-grid .tier-body h3,.e062-shop-grid-section .product-card h3){
  font-family:var(--e071-display)!important;
  font-weight:400!important;
  letter-spacing:.055em!important;
  line-height:.98!important
}

body.eotls-071 .e062-kicker,body.eotls-071 .e062-meta{
  font-family:var(--e071-body)!important;
  font-weight:700;
  letter-spacing:.12em
}

/* Publisher frame: black/white structure, purple signature, yellow signal. */
body.eotls-071 .e062-header{
  background:rgba(0,0,0,.98)!important;
  border-bottom:0!important;
  box-shadow:0 1px 0 rgba(255,255,255,.10)
}

body.eotls-071 .e062-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--e071-purple);
  pointer-events:none
}

body.eotls-071 .e062-brand{
  width:clamp(150px,15vw,230px);
  height:66px
}

body.eotls-071 .e062-brand img{
  object-fit:contain
}

body.eotls-071 .e062-nav .nav-links a::after{
  background:var(--e071-purple)
}

body.eotls-071 .e062-utility a:hover,body.eotls-071 .e062-cart em{
  color:var(--e071-yellow)
}

body.eotls-071 .e070-nav-toggle:focus-visible,body.eotls-071 a:focus-visible,body.eotls-071 button:focus-visible,body.eotls-071 input:focus-visible,body.eotls-071 select:focus-visible{
  outline:3px solid var(--e071-yellow)!important;
  outline-offset:3px
}

body.eotls-071 .e067-footer-home{
  max-width:min(290px,70vw)
}

body.eotls-071 .e062-footer{
  border-top:3px solid var(--e071-purple)
}

body.eotls-071 .e062-footer-nav a:hover,body.eotls-071 .e062-footer-bottom a:hover{
  color:var(--e071-yellow)
}

/* Reduce old purple-field saturation: signature rather than wallpaper. */
body.eotls-071 :is(.e062-join,.e062-brand-pull,.e062-campaign-cta){
  position:relative;
  background:#090909!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10)
}

body.eotls-071 :is(.e062-join,.e062-brand-pull,.e062-campaign-cta)::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:clamp(5px,.7vw,10px);
  background:var(--e071-purple)
}

body.eotls-071 .e062-news-hero{
  position:relative;
  background:#090909!important;
  border-bottom:1px solid rgba(255,255,255,.12)
}

body.eotls-071 .e062-news-hero::before{
  content:"";
  position:absolute;
  left:var(--e062-pad);
  right:var(--e062-pad);
  top:0;
  height:5px;
  background:var(--e071-purple)
}

/* Buttons: purple is signature; yellow is signal, used for preorder/high-attention only. */
body.eotls-071 .e062-btn-primary,body.eotls-071 .e062-btn-purple{
  background:var(--e071-purple);
  border-color:var(--e071-purple);
  color:#fff
}

body.eotls-071 .e062-btn-primary:hover,body.eotls-071 .e062-btn-purple:hover{
  background:#8a3cb4;
  border-color:#8a3cb4
}

body.eotls-071 .e071-signal-action,body.eotls-071 [data-preorder-add]{
  background:var(--e071-yellow)!important;
  border-color:var(--e071-yellow)!important;
  color:#000!important
}

body.eotls-071 .e071-signal-action:hover,body.eotls-071 [data-preorder-add]:hover{
  background:#f4d33c!important;
  border-color:#f4d33c!important;
  color:#000!important
}

/* Home: release art leads; property type may own the release title. */
body.eotls-071 .e062-home-hero{
  min-height:clamp(650px,78svh,880px)
}

body.eotls-071 .e062-home-hero-art img{
  filter:none;
  object-position:center 55%
}

body.eotls-071 .e062-home-hero-shade{
  background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 30%,rgba(0,0,0,.16) 68%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 45%)
}

body.eotls-071 .e062-home-hero h1{
  font-family:var(--e071-jazs)!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  line-height:.88!important;
  font-size:clamp(4rem,8vw,8.8rem)!important;
  max-width:10ch
}

body.eotls-071 .e062-home-hero .e062-kicker,body.eotls-071 .e062-jazs-hero .e062-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:.42rem .65rem;
  background:var(--e071-yellow);
  color:#000!important;
  letter-spacing:.11em
}

body.eotls-071 .e062-feature-strip{
  box-shadow:0 24px 70px rgba(0,0,0,.35)
}

body.eotls-071 .e062-feature-strip a:first-child{
  background:#111;
  border-top:5px solid var(--e071-purple)
}

body.eotls-071 .e062-news-grid figure,body.eotls-071 .e062-cover-rail figure{
  border-radius:0
}

/* JAZS Chapter 1: property freedom inside publisher framing. */
body.eotls-071.e062-jazs .e062-property-hero{
  min-height:clamp(700px,84svh,960px)
}

body.eotls-071.e062-jazs .e062-property-bg{
  filter:none;
  object-position:center center
}

body.eotls-071.e062-jazs .e062-property-gradient{
  background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 36%,rgba(0,0,0,.10) 72%),linear-gradient(0deg,rgba(0,0,0,.86),transparent 54%)
}

body.eotls-071.e062-jazs .e062-property-copy h1{
  font-family:var(--e071-jazs)!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  line-height:.86!important;
  font-size:clamp(4rem,8.4vw,9rem)!important;
  max-width:10ch
}

body.eotls-071.e062-jazs .e062-property-copy{
  padding-bottom:clamp(4.5rem,8vw,7rem)
}

body.eotls-071 .e071-release-status{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin:1.25rem 0 0
}

body.eotls-071 .e071-release-status span{
  padding:.4rem .6rem;
  border:1px solid rgba(255,255,255,.35);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase
}

body.eotls-071 .e071-release-status .is-signal{
  background:var(--e071-yellow);
  border-color:var(--e071-yellow);
  color:#000
}

body.eotls-071 .e071-story-duet{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  background:#000;
  color:#fff
}

body.eotls-071 .e071-story-duet figure{
  position:relative;
  margin:0;
  min-height:clamp(420px,52vw,720px);
  overflow:hidden
}

body.eotls-071 .e071-story-duet img{
  width:100%;
  height:100%;
  object-fit:cover
}

body.eotls-071 .e071-story-duet figure:first-child img{
  object-position:center
}

body.eotls-071 .e071-story-duet figure:last-child img{
  object-position:42% center
}

body.eotls-071 .e071-story-duet figcaption{
  position:absolute;
  left:1rem;
  bottom:1rem;
  max-width:28rem;
  padding:.6rem .75rem;
  background:rgba(0,0,0,.86);
  border-left:4px solid var(--e071-purple);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}

body.eotls-071 .e071-story-duet figure:first-child figcaption{
  border-left-color:var(--e071-yellow)
}

body.eotls-071 .e071-page-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.8rem,1.6vw,1.4rem);
  width:min(var(--e071-max),100%);
  margin:auto
}

body.eotls-071 .e071-page-preview figure{
  margin:0;
  background:#0b0b0b;
  overflow:hidden;
  box-shadow:0 18px 36px rgba(0,0,0,.12)
}

body.eotls-071 .e071-page-preview img{
  width:100%;
  aspect-ratio:1103/1426;
  object-fit:cover;
  transition:transform .22s ease
}

body.eotls-071 .e071-page-preview figure:hover img{
  transform:scale(1.012)
}

body.eotls-071 .e071-page-preview figcaption{
  padding:.8rem .9rem;
  background:#000;
  color:rgba(255,255,255,.72);
  font-size:.67rem;
  line-height:1.45
}

body.eotls-071 .e071-preview-note{
  width:min(var(--e071-max),100%);
  margin:1rem auto 0;
  color:rgba(0,0,0,.58)!important;
  font-size:.75rem!important
}

/* Preorder: art-led product cards, explicit signal action, benefits remain commerce authority. */
body.eotls-071 .e062-preorder{
  background:#080808
}

body.eotls-071 .e062-tier-grid{
  gap:clamp(1rem,2vw,1.6rem)
}

body.eotls-071 .e062-tier-grid .preorder-tier{
  border:1px solid rgba(255,255,255,.12)!important;
  background:#111!important;
  box-shadow:none!important
}

body.eotls-071 .e062-tier-grid .tier-media{
  aspect-ratio:4/5!important;
  background:#050505!important
}

body.eotls-071 .e062-tier-grid .tier-media img{
  object-fit:cover!important;
  object-position:center!important
}

body.eotls-071 .e062-tier-grid .tier-media figcaption{
  display:block!important;
  padding:.55rem .7rem!important;
  background:#050505!important;
  color:rgba(255,255,255,.52)!important;
  font-size:.62rem!important;
  line-height:1.4!important
}

body.eotls-071 .e062-tier-grid .tier-number-pill{
  background:var(--e071-yellow)!important;
  color:#000!important;
  font-family:var(--e071-body)!important;
  font-weight:700!important
}

body.eotls-071 .e062-tier-grid .tier-body h3{
  font-family:var(--e071-jazs)!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  line-height:.96!important;
  font-size:2.15rem!important
}

body.eotls-071 .e062-tier-grid .tier-price{
  color:var(--e071-yellow)!important;
  font-weight:700
}

body.eotls-071 .e062-tier-grid .eyebrow{
  color:var(--e071-silver)!important;
  letter-spacing:.09em!important
}

body.eotls-071 .e062-tier-grid .preorder-fund-field{
  border:1px solid rgba(255,255,255,.10)!important
}

/* Shop: studio release catalog, not marketplace chrome. Preserve 3/2/1 from 070-r2. */
body.eotls-071 .e062-shop-hero{
  position:relative;
  background:#070707
}

body.eotls-071 .e062-shop-hero::before{
  content:"";
  position:absolute;
  left:var(--e062-pad);
  top:clamp(2rem,5vw,4rem);
  width:min(190px,28vw);
  height:5px;
  background:var(--e071-purple)
}

body.eotls-071 .e062-shop-grid-section{
  background:var(--e071-white)
}

body.eotls-071 .e062-shop-grid-section .product-grid>.product{
  border-top:4px solid #111!important;
  background:#fff!important;
  transition:transform .18s ease,box-shadow .18s ease
}

body.eotls-071 .e062-shop-grid-section .product-grid>.product:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(0,0,0,.10)!important
}

body.eotls-071 .e062-shop-grid-section .product__img{
  background:#0b0b0b!important
}

body.eotls-071 .e062-shop-grid-section .product__img img{
  width:100%;
  height:100%;
  object-fit:cover
}

body.eotls-071 .e062-shop-grid-section .product__meta{
  padding:1rem 1rem 1.15rem!important
}

body.eotls-071 .e062-shop-grid-section .product__row-top h3{
  font-size:clamp(1.55rem,2.1vw,2.25rem)!important
}

body.eotls-071 .e062-shop-grid-section .merch-filter.is-active{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important
}

body.eotls-071 .e062-shop-grid-section .merch-filter[data-filter="preorders"]{
  border-color:var(--e071-yellow)!important
}

body.eotls-071 .e062-shop-grid-section .merch-filter[data-filter="preorders"].is-active{
  background:var(--e071-yellow)!important;
  color:#000!important
}

/* Property marks stay transparent; no arbitrary plates. */
body.eotls-071 .e063-property-mark,body.eotls-071 .e067-footer-home{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important
}

body.eotls-071 .e063-property-mark img{
  background:transparent!important
}

/* Utility/account/checkout/admin remain quieter and conventional. */
body.eotls-071 :is([data-page="cart"],[data-page="checkout"],[data-page="account"],[data-page="admin"]) :is(h1,h2,h3){
  letter-spacing:.04em!important
}

body.eotls-071 :is(.cart-shell,.checkout-shell,.account-shell,.admin-shell,.legal-shell){
  font-family:var(--e071-body)
}

/* New Moreland remains provisional property typography: preserve current optical scale. */
body.eotls-071.e062-newmoreland .e062-property-copy h1{
  font-family:"New Moreland",var(--e071-display)!important;
  font-size:clamp(2.8rem,5.6vw,5.6rem)!important;
  line-height:.95!important;
  letter-spacing:normal!important;
  text-transform:none!important
}

@media(max-width:980px){
  body.eotls-071 .e071-story-duet{
    grid-template-columns:1fr
  }
  body.eotls-071 .e071-story-duet figure{
    min-height:420px
  }
  body.eotls-071 .e071-page-preview{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:620px){
  body.eotls-071 .e062-home-hero h1,body.eotls-071.e062-jazs .e062-property-copy h1{
    font-size:clamp(3.2rem,16vw,5.4rem)!important
  }
  body.eotls-071 .e071-story-duet figure{
    min-height:340px
  }
  body.eotls-071 .e071-page-preview{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:.7rem
  }
  body.eotls-071 .e071-page-preview figure{
    min-width:82vw;
    scroll-snap-align:start
  }
  body.eotls-071 .e062-tier-grid .tier-media{
    aspect-ratio:4/5!important
  }
}

@media(prefers-reduced-motion:reduce){
  body.eotls-071 *,body.eotls-071 *::before,body.eotls-071 *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
}
