.pricing-page{
  background:#f6f1eb;
  color:var(--ink);
}

.pricing-intro{
  position:relative;
  display:grid;
  min-height:clamp(32rem,72vh,47rem);
  place-items:center;
  padding:calc(var(--nav-h) + 5rem) 0 5rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 12%,rgba(228,24,27,.14),transparent 29rem),
    linear-gradient(145deg,#fff 0%,#f5eee8 68%,#efe3da 100%);
  text-align:center;
}

.pricing-intro::before,
.pricing-intro::after{
  content:"";
  position:absolute;
  border:1px solid rgba(228,24,27,.18);
  border-radius:50%;
  pointer-events:none;
}

.pricing-intro::before{width:28rem;height:28rem;right:-9rem;top:-8rem;}
.pricing-intro::after{width:13rem;height:13rem;left:-5rem;bottom:-5rem;}
.pricing-intro-inner{position:relative;z-index:1;}
.pricing-kicker{
  display:block;
  margin-bottom:1.4rem;
  color:var(--red);
  font-family:'Archivo',sans-serif;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.pricing-intro h1{
  font-family:'Jost',sans-serif;
  font-size:clamp(4.5rem,14vw,10.5rem);
  font-weight:700;
  letter-spacing:-.055em;
  line-height:.76;
  text-transform:uppercase;
}

.pricing-intro p{
  max-width:38rem;
  margin:2.3rem auto 0;
  color:var(--ink-soft);
  font-size:clamp(1rem,1.7vw,1.18rem);
  line-height:1.7;
}

.pricing-skip{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  margin-top:2.2rem;
  padding-bottom:.35rem;
  border-bottom:1px solid currentColor;
  color:var(--ink);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.pricing-menu-section{padding:clamp(5rem,10vw,9rem) 0;background:#fff;}
.pricing-menu-shell{max-width:1040px;}
.pricing-menu-heading{
  display:grid;
  grid-template-columns:3.5rem 1fr;
  gap:1.5rem;
  align-items:start;
  margin-bottom:2.2rem;
}

.pricing-menu-heading-spaced{margin-top:clamp(5rem,9vw,8rem);}
.pricing-menu-heading>span{
  padding-top:.45rem;
  color:var(--red);
  font-family:'Archivo',sans-serif;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
}

.pricing-menu-heading p{
  margin-bottom:.55rem;
  color:var(--red);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.pricing-menu-heading h2{
  font-family:'Jost',sans-serif;
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:.95;
  text-transform:uppercase;
}

.pricing-list{border-top:1px solid var(--ink);}
.pricing-item{
  display:grid;
  grid-template-columns:minmax(17rem,auto) minmax(2rem,1fr) 5rem 7rem;
  gap:1.15rem;
  align-items:end;
  padding:1.6rem 0;
  border-bottom:1px solid var(--grey-line);
  color:var(--ink);
}

a.pricing-item{transition:color .25s ease,padding .3s ease;}
a.pricing-item:hover{padding-inline:.75rem;color:var(--red);}
.pricing-item-copy{display:flex;flex-direction:column;gap:.45rem;min-width:0;}
.pricing-item-copy strong{
  font-family:'Jost',sans-serif;
  font-size:clamp(1.35rem,2.5vw,2rem);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.05;
  text-transform:uppercase;
}

.pricing-item-copy strong em{
  display:inline;
  color:var(--ink-soft);
  font-family:inherit;
  font-size:.62em;
  font-style:normal;
  font-weight:400;
  text-transform:none;
}

.pricing-item-copy>small{max-width:38rem;color:var(--ink-soft);font-size:.84rem;line-height:1.5;}
.pricing-leader{height:1px;margin-bottom:.48rem;border-bottom:1px dotted rgba(22,17,15,.32);}
.pricing-duration{
  color:var(--ink-soft);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
  white-space:nowrap;
}

.pricing-price{
  font-family:'Jost',sans-serif;
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
  text-align:right;
  white-space:nowrap;
}
.pricing-member-price{grid-column:1/-1;justify-self:end;margin-top:-.6rem;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}

.pricing-price small{font-family:'Archivo',sans-serif;font-size:.55rem;letter-spacing:.1em;}
.pricing-list-addons .pricing-item-copy strong{font-size:clamp(1.2rem,2.2vw,1.65rem);}
.pricing-note{
  display:flex;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-top:2rem;
  color:var(--ink-soft);
  font-size:.76rem;
}

.pricing-cta{
  padding:clamp(5rem,11vw,9rem) 0;
  background:var(--ink);
  color:#fff;
  text-align:center;
}

.pricing-cta>div{max-width:760px;}
.pricing-cta>div>span{color:#ff5b5e;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;}
.pricing-cta h2{margin-top:1rem;font-family:'Jost',sans-serif;font-size:clamp(2.7rem,7vw,5.5rem);font-weight:600;letter-spacing:-.04em;line-height:.92;text-transform:uppercase;}
.pricing-cta p{max-width:35rem;margin:1.5rem auto 2rem;color:rgba(255,255,255,.7);line-height:1.7;}
.pricing-cta .btn{background:var(--red);color:#fff;}

@media(max-width:760px){
  .pricing-intro{min-height:35rem;padding-top:calc(var(--nav-h) + 4rem);}
  .pricing-menu-heading{grid-template-columns:2rem 1fr;gap:.8rem;}
  .pricing-item{grid-template-columns:1fr auto;gap:.8rem 1rem;align-items:start;padding:1.35rem 0;}
  .pricing-item-copy{grid-column:1/-1;}
  .pricing-leader{display:none;}
  .pricing-duration{grid-column:1;text-align:left;}
  .pricing-price{grid-column:2;}
  a.pricing-item:hover{padding-inline:0;}
  .pricing-note{flex-direction:column;}
}

@media(max-width:420px){
  .pricing-intro h1{font-size:clamp(3.8rem,21vw,5.3rem);}
  .pricing-item-copy>small{font-size:.79rem;}
  .pricing-price{font-size:1.18rem;}
}
