/* Hallmark · pre-emit critique: P5 H5 E5 S5 R4 V4 */
html,
body {
  overflow-x: clip;
}

.temple-pricing {
  --pricing-surface: var(--color-paper-deep);
  --pricing-card: var(--color-paper-2);
  --pricing-card-raised: var(--color-paper-3);
  --pricing-ink: var(--color-hero-ink);
  --pricing-muted: var(--color-hero-muted);
  --pricing-rule: var(--color-hero-rule);
  --pricing-accent: var(--color-accent);
  --pricing-accent-strong: var(--color-accent-strong);
  --pricing-accent-ink: var(--color-accent-ink);
  --pricing-success: var(--color-success);
  isolation: isolate;
  position: relative;
  overflow: clip;
  padding: clamp(var(--space-2xl), 7vw, var(--space-4xl)) var(--page-gutter);
  border-block: var(--rule-hair) solid var(--pricing-rule);
  background:
    radial-gradient(circle at 50% 21%, color-mix(in oklch, var(--pricing-accent) 13%, transparent), transparent 32%),
    var(--pricing-surface);
  color: var(--pricing-ink);
  font-family: var(--font-home-ui);
}

.temple-pricing__temples {
  position: absolute;
  inset: 0 0 auto;
  z-index: var(--z-base);
  height: 26rem;
  opacity: .2;
  pointer-events: none;
  background: url(../images/temple-hero-corners-v3.webp) center top / cover no-repeat;
  mask-image: linear-gradient(var(--color-black), transparent 92%);
}

.temple-pricing__inner {
  position: relative;
  z-index: var(--z-raised);
  width: min(100%, var(--page-max));
  margin-inline: auto;
}

.temple-pricing__header {
  min-width: 0;
  max-width: 66rem;
  margin-inline: auto;
  text-align: center;
}

.temple-pricing__eyebrow {
  display: grid;
  grid-template-columns: minmax(2rem, 4.5rem) auto minmax(2rem, 4.5rem);
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  color: var(--pricing-accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: var(--text-sm);
}

.temple-pricing__eyebrow span {
  height: var(--rule-hair);
  background: var(--pricing-accent);
}

.temple-pricing__header h2 {
  min-width: 0;
  margin: var(--space-md) 0 var(--space-xs);
  color: var(--pricing-ink);
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.2vw, 3.7rem);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.temple-pricing__header h2 em {
  color: var(--pricing-accent);
  font-style: normal;
}

.temple-pricing__header > p {
  margin: 0;
  color: var(--pricing-muted);
  font-size: clamp(.95rem, 1.7vw, 1.12rem);
  text-wrap: balance;
}

.temple-pricing__switch {
  width: fit-content;
  margin: var(--space-lg) auto 0;
  padding: var(--space-2xs);
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  border: var(--rule-hair) solid var(--pricing-rule);
  border-radius: var(--radius-pill);
  background: var(--pricing-surface);
}

.temple-pricing__switch button {
  min-width: 7rem;
  min-height: 2.65rem;
  padding-inline: var(--space-md);
  border-radius: var(--radius-pill);
  color: var(--pricing-muted);
  cursor: pointer;
  font-weight: 750;
  transition: color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);
}

.temple-pricing__switch button.is-active {
  background: var(--pricing-accent);
  color: var(--pricing-accent-ink);
  box-shadow: 0 .25rem 1rem color-mix(in oklch, var(--pricing-accent) 26%, transparent);
}

.temple-pricing__switch button:focus-visible,
.pricing-card__cta:focus-visible,
.temple-pricing__retry:focus-visible {
  outline: .13rem solid var(--color-focus);
  outline-offset: .18rem;
}

.temple-pricing__switch button:active,
.pricing-card__cta:active,
.temple-pricing__retry:active {
  transform: translateY(.08rem);
}

.temple-pricing__switch > span {
  padding-inline: var(--space-sm);
  color: var(--pricing-accent);
  white-space: nowrap;
  font-size: var(--text-xs);
  font-weight: 750;
}

.temple-pricing__status {
  margin: var(--space-2xl) auto;
  color: var(--pricing-muted);
  text-align: center;
}

.temple-pricing__retry {
  display: block;
  min-height: 2.75rem;
  margin: var(--space-md) auto 0;
  padding-inline: var(--space-lg);
  border: var(--rule-hair) solid var(--pricing-accent);
  border-radius: var(--radius-md);
  color: var(--pricing-accent);
  cursor: pointer;
}

.temple-pricing__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
  margin-block-start: var(--space-xl);
}

.pricing-card {
  position: relative;
  min-width: 0;
  min-height: 38rem;
  padding: clamp(var(--space-lg), 2.5vw, var(--space-xl));
  display: flex;
  flex-direction: column;
  border: var(--rule-hair) solid var(--pricing-rule);
  border-radius: var(--radius-xl);
  background: color-mix(in oklch, var(--pricing-card) 88%, transparent);
  box-shadow: 0 1rem 2.5rem color-mix(in oklch, var(--color-black) 23%, transparent);
}

.pricing-card[data-featured="true"] {
  border-color: var(--pricing-accent);
  background:
    radial-gradient(circle at 50% 28%, color-mix(in oklch, var(--pricing-accent) 20%, transparent), transparent 45%),
    var(--pricing-card);
  box-shadow: 0 0 1.2rem color-mix(in oklch, var(--pricing-accent) 28%, transparent), inset 0 0 2.5rem color-mix(in oklch, var(--pricing-accent) 8%, transparent);
}

.pricing-card__badge {
  position: absolute;
  inset-block-start: var(--space-md);
  inset-inline-end: var(--space-md);
  max-width: 10rem;
  padding: .35rem .75rem;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  border-radius: var(--radius-pill);
  background: var(--pricing-accent);
  color: var(--pricing-accent-ink);
  text-transform: uppercase;
  white-space: nowrap;
  font-size: .67rem;
  font-weight: 850;
}

.pricing-card__crown {
  font-size: var(--text-sm);
}

.pricing-card__icon {
  width: 3.4rem;
  height: 3.4rem;
  display: inline-grid;
  place-items: center;
  color: var(--pricing-accent);
}

.pricing-card:first-child .pricing-card__icon {
  color: var(--pricing-success);
}

.pricing-card__icon svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

.pricing-card__name {
  margin-block-start: var(--space-xs);
  color: var(--pricing-ink);
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.3vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.035em;
}

.pricing-card__tagline {
  min-height: 2.6rem;
  color: var(--pricing-muted);
  line-height: 1.35;
}

.pricing-card__price {
  min-height: 7.25rem;
  margin-block-start: var(--space-md);
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.pricing-card__price strong {
  color: var(--pricing-ink);
  font-size: clamp(2.45rem, 3.8vw, 3.55rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: 1;
}

.pricing-card__price strong.pricing-card__custom {
  font-size: clamp(1.8rem, 2.7vw, 2.4rem);
  letter-spacing: -.025em;
}

.pricing-card__price span {
  color: var(--pricing-muted);
  white-space: nowrap;
}

.pricing-card__price .pricing-card__tax {
  padding: .22rem .5rem;
  border: var(--rule-hair) solid color-mix(in oklch, var(--pricing-accent) 55%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in oklch, var(--pricing-accent) 11%, transparent);
  color: var(--pricing-accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.pricing-card__price small {
  flex-basis: 100%;
  color: var(--pricing-accent);
  font-size: var(--text-xs);
}

.pricing-card__description {
  min-height: 4.6rem;
  margin: 0 0 var(--space-md);
  color: var(--pricing-muted);
  line-height: 1.45;
}

.pricing-card__features {
  margin: 0 0 var(--space-lg);
  padding: 0;
  display: grid;
  gap: .58rem;
  list-style: none;
  color: var(--pricing-muted);
  font-size: .91rem;
}

.pricing-card__features li {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: start;
  gap: var(--space-sm);
}

.pricing-card__check {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-items: center;
  border: var(--rule-hair) solid var(--pricing-success);
  border-radius: 50%;
  background: color-mix(in oklch, var(--pricing-success) 18%, transparent);
  color: var(--pricing-ink);
  font-size: .73rem;
  font-weight: 900;
}

.pricing-card__cta {
  min-height: 3.2rem;
  margin-block-start: auto;
  padding-inline: var(--space-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--rule-hair) solid var(--pricing-ink);
  border-radius: var(--radius-md);
  color: var(--pricing-ink);
  white-space: nowrap;
  font-weight: 800;
  text-decoration: none;
  transition: background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);
}

.pricing-card[data-featured="true"] .pricing-card__cta {
  border-color: var(--pricing-accent);
  background: var(--pricing-accent);
  color: var(--pricing-accent-ink);
}

.pricing-card__microcopy {
  min-height: 1.2rem;
  margin-block-start: var(--space-xs);
  color: var(--pricing-muted);
  text-align: center;
  font-size: .7rem;
}

.pricing-card__footer {
  min-height: 2.65rem;
  margin: var(--space-md) 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  color: var(--pricing-accent);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .62rem;
  font-weight: 800;
}

.pricing-card__footer .pricing-card__icon {
  width: 1.8rem;
  height: 1.8rem;
  flex: none;
}

.temple-pricing__assurances {
  margin-block-start: var(--space-lg);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border: var(--rule-hair) solid var(--pricing-rule);
  border-radius: var(--radius-xl);
  background: color-mix(in oklch, var(--pricing-card) 80%, transparent);
}

.temple-pricing__assurances > div {
  min-width: 0;
  padding: var(--space-md);
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-md);
  border-block-start: var(--rule-hair) solid var(--pricing-rule);
}

.temple-pricing__assurances > div:first-child {
  border-block-start: 0;
}

.temple-pricing__assurance-icon {
  width: 3.1rem;
  height: 3.1rem;
  display: grid;
  place-items: center;
  border: var(--rule-hair) solid var(--pricing-accent);
  border-radius: 50%;
  color: var(--pricing-accent);
  font-size: var(--text-xl);
  font-weight: 750;
}

.temple-pricing__assurance-icon--document::before { content: "▤"; }
.temple-pricing__assurance-icon--cycle::before { content: "↻"; }
.temple-pricing__assurance-icon--shield::before { content: "◆"; }

.temple-pricing__assurances p {
  min-width: 0;
  margin: 0;
  display: grid;
  gap: var(--space-2xs);
}

.temple-pricing__assurances strong {
  color: var(--pricing-ink);
  font-size: .9rem;
}

.temple-pricing__assurances small {
  color: var(--pricing-muted);
  font-size: .74rem;
}

.temple-pricing__signature {
  width: min(100%, 28rem);
  margin: var(--space-xl) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-sm);
  color: var(--pricing-accent);
  text-align: center;
}

.temple-pricing__signature span {
  height: var(--rule-hair);
  background: var(--pricing-accent);
}

.temple-pricing__signature b {
  font-size: var(--text-xl);
}

.temple-pricing__signature small {
  grid-column: 1 / -1;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .58rem;
}

@media (min-width: 40rem) {
  .temple-pricing__grid,
  .temple-pricing__assurances {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .temple-pricing__assurances > div:nth-child(2) {
    border-block-start: 0;
  }

  .temple-pricing__assurances > div:nth-child(even) {
    border-inline-start: var(--rule-hair) solid var(--pricing-rule);
  }
}

@media (min-width: 72rem) {
  .temple-pricing__grid,
  .temple-pricing__assurances {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .temple-pricing__assurances > div {
    border-block-start: 0;
    border-inline-start: var(--rule-hair) solid var(--pricing-rule);
  }

  .temple-pricing__assurances > div:first-child {
    border-inline-start: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .pricing-card__cta:hover {
    background: var(--pricing-ink);
    color: var(--pricing-surface);
  }

  .pricing-card[data-featured="true"] .pricing-card__cta:hover,
  .temple-pricing__switch button:hover {
    background: var(--pricing-accent-strong);
  }
}

@media (max-width: 31rem) {
  .temple-pricing__switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .temple-pricing__switch button {
    min-width: 0;
  }

  .temple-pricing__switch > span {
    grid-column: 1 / -1;
    padding-block: var(--space-xs);
  }

  .pricing-card__badge {
    position: static;
    align-self: flex-start;
    margin-block-end: var(--space-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .temple-pricing__switch button,
  .pricing-card__cta {
    transition-duration: var(--dur-micro);
  }
}
