.pricing-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
  align-items: center;
  gap: clamp(42px, 7vw, 108px);
  min-height: 710px;
  padding-top: clamp(72px, 9vw, 126px);
  padding-bottom: clamp(78px, 9vw, 130px);
  overflow: hidden;
  border-bottom: 1px solid var(--az-line);
}

.pricing-hero::before {
  position: absolute;
  inset: 12% -5% auto 34%;
  z-index: -1;
  height: 72%;
  background: radial-gradient(ellipse, rgba(255, 83, 26, .14), transparent 66%);
  content: "";
  pointer-events: none;
}

.pricing-hero h1 {
  max-width: 790px;
  margin: 30px 0 24px;
  font-size: clamp(52px, 7.4vw, 112px);
  line-height: .94;
  letter-spacing: -.075em;
  text-wrap: balance;
}

.pricing-hero h1 em,
.pricing-heading h2 em,
.pricing-feature h3 em,
.pricing-process h2 em,
.pricing-faq h2 em,
.pricing-cta h2 em { color: var(--az-accent); font-style: normal; }

.pricing-hero-copy > p:not(.az-kicker) {
  max-width: 570px;
  color: #b7b7b7;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.7;
}

.pricing-hero .az-actions { margin-top: 32px; }
.pricing-hero .az-button { width: fit-content; }

.pricing-visual {
  position: relative;
  min-height: 480px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: #090909;
  box-shadow: 0 30px 100px rgba(0,0,0,.42), 0 0 80px rgba(255,83,26,.08);
}

.pricing-visual::after {
  position: absolute;
  inset: 28% 0 0;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.88));
  content: "";
  pointer-events: none;
}

.pricing-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.pricing-visual figcaption {
  position: absolute;
  bottom: 26px;
  left: 26px;
  z-index: 1;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}

.pricing-visual-sticker {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 2;
  display: grid;
  gap: 5px;
  min-width: 150px;
  padding: 15px 17px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(8,8,8,.78);
  color: #fff;
  backdrop-filter: blur(18px);
}

.pricing-visual-sticker span:first-child,
.pricing-visual-sticker > span:last-child {
  color: #c2c2c2;
  font: 600 9px/1.35 Geist, Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pricing-visual-sticker > span:last-child { letter-spacing: .02em; text-transform: none; }
.pricing-visual-sticker strong { font-size: 27px; letter-spacing: -.055em; }
.pricing-visual-sticker small { color: var(--az-accent); font-size: 11px; letter-spacing: .04em; }

.pricing-marquee {
  overflow: hidden;
  border-bottom: 1px solid var(--az-line);
  background: #080808;
  color: #c9c9c9;
}

.pricing-marquee div {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 24px var(--az-pad, 24px);
  font: 600 10px/1.4 "DM Mono", Consolas, monospace;
  letter-spacing: .11em;
  text-align: center;
}

.pricing-marquee i { color: var(--az-accent); font-style: normal; }
.pricing-offers { border-bottom: 1px solid var(--az-line); }
.pricing-heading { max-width: 770px; margin-bottom: 52px; }

.pricing-heading h2,
.pricing-process h2,
.pricing-faq h2,
.pricing-cta h2 {
  margin: 24px 0;
  font-size: clamp(42px, 6.6vw, 88px);
  line-height: .97;
  letter-spacing: -.07em;
  text-wrap: balance;
}

.pricing-heading > p:last-child,
.pricing-cta-panel > p:not(.az-kicker) { max-width: 640px; color: #aaa; line-height: 1.7; }

.pricing-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(270px, .85fr);
  gap: clamp(30px, 7vw, 100px);
  align-items: center;
  padding: clamp(28px, 5vw, 68px);
  border: 1px solid rgba(255,83,26,.4);
  background: radial-gradient(ellipse at 90% 0, rgba(255,83,26,.12), transparent 48%), linear-gradient(145deg, #111, #070707);
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 20px 70px rgba(0,0,0,.18);
}

.pricing-index {
  margin: 0 0 17px;
  color: var(--az-accent);
  font: 600 10px/1.4 "DM Mono", Consolas, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pricing-feature h3 { margin: 0 0 16px; font-size: clamp(44px, 5.4vw, 76px); line-height: .9; letter-spacing: -.075em; }
.pricing-feature-copy > p:not(.pricing-index) { max-width: 630px; color: #b6b6b6; line-height: 1.7; }
.pricing-inclusions { display: grid; gap: 10px; margin: 25px 0 28px; padding: 0; list-style: none; }
.pricing-inclusions li { position: relative; padding-left: 20px; color: #e1e1e1; font-size: 13px; }
.pricing-inclusions li::before { position: absolute; left: 0; color: var(--az-accent); content: "↗"; }
.pricing-values { display: grid; gap: 10px; }

.pricing-values > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 14px;
  align-items: center;
  padding: 22px;
  border: 1px solid var(--az-line-soft);
  background: rgba(255,255,255,.025);
}

.pricing-values > div:first-child { border-color: rgba(255,83,26,.38); background: rgba(255,83,26,.07); }
.pricing-values > div > span { color: #c6c6c6; font-size: 12px; }
.pricing-values strong { grid-column: 2; grid-row: 1 / span 2; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.06em; }
.pricing-values small { color: #888; font-size: 11px; }
.pricing-values > p { margin: 9px 0 0; color: #898989; font-size: 11px; line-height: 1.6; }

.pricing-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.pricing-service { display: flex; min-height: 310px; flex-direction: column; padding: clamp(22px, 3vw, 35px); border: 1px solid var(--az-line); background: rgba(255,255,255,.025); transition: transform .25s var(--az-ease), border-color .25s ease, background .25s ease; }
.pricing-service:hover { transform: translateY(-4px); border-color: rgba(255,83,26,.48); background: rgba(255,83,26,.045); }
.pricing-service h3 { margin: 28px 0 11px; font-size: clamp(22px, 2.7vw, 32px); line-height: 1.1; letter-spacing: -.04em; }
.pricing-service p:not(.pricing-index) { margin: 0 0 24px; color: #9e9e9e; font-size: 13px; line-height: 1.7; }
.pricing-service a { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--az-line); color: #fff; font-size: 12px; font-weight: 600; text-decoration: none; }
.pricing-service a span { color: var(--az-accent); font-size: 17px; }

.pricing-process { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(42px, 8vw, 120px); align-items: start; border-bottom: 1px solid var(--az-line); }
.pricing-process h2 { font-size: clamp(40px, 5.6vw, 73px); }
.pricing-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pricing-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--az-line); }
.pricing-steps li > span { color: var(--az-accent); font: 600 11px/1.6 "DM Mono", Consolas, monospace; }
.pricing-steps h3 { margin: 0 0 7px; font-size: 17px; }
.pricing-steps p { margin: 0; color: #999; font-size: 13px; line-height: 1.65; }

.pricing-faq { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 8vw, 120px); align-items: start; border-bottom: 1px solid var(--az-line); }
.pricing-faq h2 { font-size: clamp(40px, 5.7vw, 75px); }
.pricing-faq-list details { border-top: 1px solid var(--az-line); }
.pricing-faq-list details:last-child { border-bottom: 1px solid var(--az-line); }
.pricing-faq-list summary { position: relative; padding: 21px 40px 21px 0; color: #f3f3f3; font-size: 15px; font-weight: 600; line-height: 1.45; cursor: pointer; list-style: none; }
.pricing-faq-list summary::-webkit-details-marker { display: none; }
.pricing-faq-list summary::after { position: absolute; top: 18px; right: 3px; color: var(--az-accent); content: "+"; font-size: 22px; font-weight: 400; }
.pricing-faq-list details[open] summary::after { content: "−"; }
.pricing-faq-list details p { max-width: 690px; margin: 0; padding: 0 35px 23px 0; color: #9f9f9f; font-size: 13px; line-height: 1.75; }
.pricing-faq-list details a { color: #fff; text-decoration-color: var(--az-accent); text-underline-offset: 3px; }

.pricing-cta { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(220px, .6fr); gap: 50px; align-items: end; }
.pricing-cta-panel { padding: clamp(28px, 5vw, 62px); border: 1px solid var(--az-line); background: radial-gradient(ellipse at 100% 0, rgba(255,83,26,.12), transparent 55%), #0a0a0a; }
.pricing-cta h2 { max-width: 800px; font-size: clamp(42px, 6vw, 80px); }
.pricing-cta-panel .az-button { margin-top: 15px; }
.pricing-related { display: grid; align-content: end; }
.pricing-related a { display: flex; justify-content: space-between; gap: 16px; padding: 17px 0; border-top: 1px solid var(--az-line); color: #d5d5d5; font-size: 12px; text-decoration: none; }
.pricing-related a span { color: var(--az-accent); }
.pricing-related a:hover { color: #fff; }
.pricing-page .az-footer-nav a[aria-current="page"] { color: #fff; }

@media (max-width: 900px) {
  .pricing-hero { grid-template-columns: 1fr 1fr; gap: 35px; min-height: 590px; }
  .pricing-visual { min-height: 390px; }
  .pricing-service-grid { grid-template-columns: 1fr 1fr; }
  .pricing-service:last-child { grid-column: 1 / -1; min-height: 250px; }
  .pricing-process, .pricing-faq { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 640px) {
  .pricing-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 76px; }
  .pricing-hero h1 { font-size: clamp(49px, 14vw, 76px); }
  .pricing-hero .az-actions { align-items: stretch; }
  .pricing-hero .az-button { width: 100%; }
  .pricing-visual { min-height: 350px; }
  .pricing-marquee div { justify-content: flex-start; gap: 11px; font-size: 9px; }
  .pricing-heading { margin-bottom: 35px; }
  .pricing-heading h2, .pricing-process h2, .pricing-faq h2, .pricing-cta h2 { font-size: clamp(40px, 12vw, 62px); }
  .pricing-feature { grid-template-columns: 1fr; gap: 32px; padding: 26px 20px; }
  .pricing-feature h3 { font-size: 54px; }
  .pricing-service-grid { grid-template-columns: 1fr; }
  .pricing-service, .pricing-service:last-child { min-height: 250px; grid-column: auto; }
  .pricing-steps li { grid-template-columns: 30px 1fr; gap: 13px; }
  .pricing-cta { grid-template-columns: 1fr; gap: 25px; }
  .pricing-cta-panel { padding: 28px 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-service { transition-duration: .01ms; }
}
