.evening-arc{display:grid;gap:clamp(2rem,1.5rem + 2vw,3.5rem)}
.evening-arc__title{justify-self:center;text-align:center;max-width:14em}
.evening-arc__band{
  position:relative;
  border-radius:var(--r-plate);
  background:
    linear-gradient(180deg,rgb(194 24 91 / .5),rgb(107 18 56 / .2) 45%,rgb(11 10 12 / .75));
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .12),0 1.5rem 3rem -1.5rem rgb(0 0 0 / .5);
}
.evening-arc__band::before{
  content:"";
  position:absolute;
  top:2.25rem;
  bottom:2.25rem;
  left:1.75rem;
  width:3px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--c-blush),var(--c-ruby) 70%,rgb(143 168 162 / .8));
  translate:-50% 0;
}
.evening-arc__curve{display:none}
.evening-arc__phases{display:grid;padding-block:1.25rem}
.evening-arc__phase{
  position:relative;
  display:grid;
  align-content:start;
  gap:.5rem;
  padding:1rem 1.5rem 1rem 3.5rem;
  border-radius:var(--r-panel);
  transition:background-color .4s ease;
}
.evening-arc__dot{
  position:absolute;
  left:1.75rem;
  top:1.55rem;
  width:1.1rem;
  height:1.1rem;
  border-radius:50%;
  background:var(--dot,var(--c-blush));
  box-shadow:0 0 0 .3rem var(--c-night),0 0 0 .5rem var(--dot,var(--c-blush)),0 0 1.4rem var(--dot,var(--c-blush));
  translate:-50% 0;
  transition:scale .4s ease,box-shadow .4s ease;
}
.evening-arc__word{font-family:var(--f-wide);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.5rem);line-height:1.05;letter-spacing:-.03em}
.evening-arc__moment{font-size:.9375rem;font-weight:500;color:var(--c-rose)}
.evening-arc__text{max-width:30em;font-size:1.0625rem;line-height:1.5;color:rgb(255 255 255 / .85)}
.evening-arc__phase:hover{background-color:rgb(255 255 255 / .06)}
.evening-arc__phase:hover .evening-arc__dot{scale:1.25}
.evening-arc__phase:nth-child(1){--dot:var(--c-blush)}
.evening-arc__phase:nth-child(2){--dot:var(--c-rose)}
.evening-arc__phase:nth-child(3){--dot:var(--c-ruby)}
.evening-arc__phase:nth-child(4){--dot:#8FA8A2}

@container sub-section (min-width:62rem){
  .evening-arc__band{
    background:linear-gradient(90deg,rgb(194 24 91 / .55),rgb(107 18 56 / .15) 45%,rgb(11 10 12 / .8));
  }
  .evening-arc__band::before{content:none}
  .evening-arc__curve{
    display:block;
    position:absolute;
    top:1.75rem;
    left:0;
    width:100%;
    height:4.5rem;
    overflow:visible;
    stroke:rgb(255 228 236 / .85);
    stroke-width:3.5;
    stroke-linecap:round;
    filter:drop-shadow(0 0 .45rem rgb(194 24 91 / .9));
  }
  .evening-arc__phases{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:.75rem;padding:7.75rem 1.5rem 1.5rem}
  .evening-arc__phase{
    grid-row:span 3;
    grid-template-rows:subgrid;
    justify-items:center;
    row-gap:.6rem;
    padding:1.25rem 1.5rem 1.5rem;
    text-align:center;
  }
  .evening-arc__phase:nth-child(1),.evening-arc__phase:nth-child(4){--arc-y:.5625}
  .evening-arc__phase:nth-child(2),.evening-arc__phase:nth-child(3){--arc-y:.0625}
  .evening-arc__dot{left:50%;top:calc(-6rem + 4.5rem * var(--arc-y));translate:-50% -50%}
  .evening-arc__text{max-width:17em}
}

.venue-needs{display:grid;gap:2rem}
.venue-needs__photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-plate);box-shadow:0 1.5rem 3rem -1.5rem rgb(0 0 0 / .5)}
.venue-needs__body{display:grid;align-content:start;gap:1.25rem}
.venue-needs__title{max-width:11em}
.venue-needs__lead,.venue-needs__tail{max-width:36em;font-size:1.0625rem;line-height:1.6;color:rgb(255 255 255 / .88)}
.venue-needs__list{display:grid;gap:.75rem;margin-block:.75rem}
.venue-needs__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:.85rem;
  row-gap:.85rem;
  padding:1.1rem 1.2rem 1.25rem;
  border-radius:var(--r-panel);
  background:
    radial-gradient(80% 90% at 0% 0%,rgb(194 24 91 / .28),transparent 70%),
    rgb(255 255 255 / .07);
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .12);
}
.venue-needs__icon{
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:var(--r-thumb);
  background:linear-gradient(160deg,rgb(255 255 255 / .42),rgb(255 255 255 / .12));
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .55),inset 0 1px 10px rgb(255 255 255 / .35);
  color:var(--c-white);
}
.venue-needs__name{font-family:var(--f-wide);font-size:1.125rem;line-height:1.2;letter-spacing:-.02em}
.venue-needs__text{grid-column:1 / -1;align-self:start;font-size:1rem;line-height:1.55;color:rgb(255 255 255 / .85)}

@container sub-section (min-width:46rem){
  .venue-needs__list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);gap:0 .75rem}
  .venue-needs__item{grid-row:span 2;grid-template-rows:subgrid;margin-bottom:.75rem}
}
@container sub-section (min-width:62rem){
  .venue-needs{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2rem,1rem + 3vw,5rem);align-items:stretch}
  .venue-needs__photo{aspect-ratio:auto;height:100%;min-height:36rem}
}

.table-count{
  container:table-count / inline-size;
  padding-block:var(--s-section);
  background:
    radial-gradient(40% 60% at 50% 110%,rgb(194 24 91 / .35),transparent 70%),
    var(--c-night);
  color:var(--c-white);
}
.table-count__frame{
  display:grid;
  gap:2rem;
  width:min(100% - 2 * var(--s-gutter),var(--w-frame));
  margin-inline:auto;
  padding:clamp(1.5rem,1rem + 2vw,3rem);
  border-radius:var(--r-plate);
  background:rgb(255 255 255 / .05);
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .14);
}
.table-count__form{display:grid;justify-items:start;gap:1.5rem}
.table-count__field{display:grid;gap:1rem;margin:0;padding:0;border:0;min-width:0}
.table-count__legend{margin-bottom:1rem;padding:0;font-size:1.0625rem;line-height:1.5;color:rgb(255 255 255 / .85)}
.table-count__aside{max-width:30em;font-size:1.0625rem;line-height:1.6;color:rgb(255 255 255 / .8)}
@container table-count (min-width:62rem){
  .table-count__frame{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:4rem;align-items:end}
  .table-count__aside{justify-self:end;padding-bottom:.4rem}
}

