/* Weddings — stacked commission tiers (full width, one card per row) */
.commission--stack{
  background:var(--pearl,#eef0f2);
  padding:clamp(56px,8vh,96px) 0 clamp(64px,9vh,104px);
}
.commission--stack .comm-head{
  margin-bottom:clamp(2.8rem,5.5vh,4rem);
}
.commission--stack .comm-head .eyebrow{
  margin-bottom:1rem;
  color:var(--purple);
}
.commission--stack .comm-head .eyebrow::before{
  background:var(--purple);
}

.commission--stack .wrap{
  max-width:var(--maxw,1280px);
  width:100%;
}

.commission--stack .comm-stack{
  display:flex;
  flex-direction:column;
  gap:clamp(1.15rem,2.2vw,1.75rem);
  width:100%;
}

.commission--stack .comm-stack-card{
  display:grid;
  grid-template-columns:minmax(0,0.34fr) minmax(0,1fr);
  align-items:stretch;
  width:100%;
  background:#fff;
  border:1px solid rgba(23,21,26,.08);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 14px 40px -24px rgba(23,21,26,.28);
  transition:box-shadow .4s var(--ease,cubic-bezier(.22,1,.36,1));
}
.commission--stack .comm-stack-card:hover{
  box-shadow:0 22px 48px -22px rgba(23,21,26,.32);
}
.commission--stack .comm-stack-card.is-featured{
  border-color:rgba(212,175,55,.55);
  box-shadow:0 20px 52px -20px rgba(114,49,118,.22),0 0 0 1px rgba(212,175,55,.2);
}
.commission--stack .comm-stack-card.is-featured .comm-stack-body{
  background:linear-gradient(180deg,#fbf7ef 0%,#fff 42%);
}

.commission--stack .comm-stack-media{
  position:relative;
  min-height:100%;
  background:var(--pearl-2,#e6e8eb);
}
.commission--stack .comm-stack-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
}
.commission--stack .comm-stack-flag{
  position:absolute;
  top:.85rem;
  left:.85rem;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.4rem .72rem;
  border-radius:999px;
  background:var(--gold,#d4af37);
  color:#fff;
  font-family:var(--font-sans);
  font-size:.56rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1;
  box-shadow:0 6px 16px rgba(23,21,26,.2);
}
.commission--stack .comm-stack-flag .comm-badge-star{
  font-size:.72rem;
  line-height:1;
}
.commission--stack .comm-stack-card.is-featured .comm-stack-flag{
  left:auto;
  right:.85rem;
}

.commission--stack .comm-stack-body{
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.4vw,2rem) clamp(1.25rem,2.2vw,1.85rem);
  min-width:0;
}
.commission--stack .comm-stack-num{
  font-family:var(--font-serif);
  font-style:italic;
  font-size:.95rem;
  color:var(--gold,#d4af37);
  letter-spacing:.06em;
  margin-bottom:.35rem;
}
.commission--stack .comm-stack-title{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(1.35rem,2.2vw,1.85rem);
  line-height:1.15;
  color:var(--ink);
  margin:0;
}
.commission--stack .comm-stack-lead{
  margin:.65rem 0 0;
  color:var(--ink);
  font-size:clamp(.92rem,1.05vw,1rem);
  line-height:1.55;
  font-weight:500;
}
.commission--stack .comm-stack-copy{
  margin:.75rem 0 0;
  color:var(--muted,#4b4a50);
  font-size:.88rem;
  line-height:1.7;
  font-weight:300;
}
.commission--stack .comm-stack-label{
  margin:1.15rem 0 .65rem;
  font-family:var(--font-sans);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
}
.commission--stack .comm-stack-list{
  list-style:none;
  margin:0 0 .25rem;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem 1.35rem;
}
.commission--stack .comm-stack-list li{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  font-size:.82rem;
  line-height:1.5;
  color:var(--ink);
  font-weight:300;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
}
.commission--stack .comm-stack-list li::before{
  content:"";
  flex:0 0 5px;
  width:5px;
  height:5px;
  margin-top:.48em;
  background:var(--gold,#d4af37);
  transform:rotate(45deg);
}
.commission--stack .comm-stack-card.is-featured .comm-stack-list li::before{
  background:var(--purple,#723176);
}
.commission--stack .comm-stack-handles{
  margin:1rem 0 0;
  font-size:.82rem;
  line-height:1.65;
  color:var(--muted);
  font-weight:300;
}
.commission--stack .comm-stack-handles strong{
  color:var(--ink);
  font-weight:500;
}

.commission--stack .comm-stack-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  margin-top:clamp(1.5rem,2.5vw,2rem);
  align-self:flex-start;
  min-width:min(100%,14rem);
  padding-inline:1.35em;
  padding-block:.85em;
  border-radius:6px;
  font-family:var(--font-sans);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}
.commission--stack .comm-stack-card.is-featured .comm-stack-cta.btn-primary{
  background:var(--purple)!important;
  border-color:var(--purple)!important;
  color:var(--pearl)!important;
}
.commission--stack .comm-stack-card.is-featured .comm-stack-cta.btn-primary:hover,
.commission--stack .comm-stack-card.is-featured .comm-stack-cta.btn-primary:focus-visible{
  background:var(--pearl)!important;
  border-color:var(--pearl)!important;
  color:var(--velvet)!important;
}
.commission--stack .comm-stack-cta.btn-gold-line{
  background:transparent!important;
  color:var(--gold)!important;
  border:1px solid var(--gold)!important;
}
.commission--stack .comm-stack-cta.btn-gold-line:hover,
.commission--stack .comm-stack-cta.btn-gold-line:focus-visible{
  background:var(--gold)!important;
  color:var(--velvet)!important;
}

@media(max-width:820px){
  .commission--stack .comm-stack-card{
    grid-template-columns:1fr;
  }
  .commission--stack .comm-stack-media img{
    min-height:200px;
    max-height:240px;
  }
  .commission--stack .comm-stack-list{
    grid-template-columns:1fr;
  }
  .commission--stack .comm-stack-cta{
    align-self:stretch;
    min-width:0;
  }
}
