/* Confirmation-page composition. The shared shell keeps ownership of the header and footer. */
.success-page {
  --success-ink: #211b2c;
  --success-muted: #625b6d;
  --success-violet: #7430ea;
  --success-magenta: #e51b7a;
  --success-lilac: #f0e9ff;
  --success-paper: #fff;
  color: var(--success-ink);
  background: #f7f5fa;
  font-family: Onest, Arial, sans-serif;
  line-height: 1.6;
}
.gg-header { background-color: #fff; box-shadow: 0 1px 0 rgb(34 24 46 / 8%); }
.success-page *, .success-page *::before, .success-page *::after { box-sizing: border-box; }
.success-page h1, .success-page h2, .success-page h3, .success-page p { margin-top: 0; }
.success-wrap { width: min(1120px, calc(100% - 56px)); margin-inline: auto; }
.success-hero { position: relative; overflow: hidden; padding: clamp(66px, 8vw, 116px) 0 clamp(72px, 9vw, 132px); background: #ede5ff; }
.success-hero::before, .success-hero::after { position: absolute; content: ""; border-radius: 50%; pointer-events: none; }
.success-hero::before { width: 520px; height: 520px; top: -295px; right: -110px; border: 1px solid rgb(116 48 234 / 16%); box-shadow: 0 0 0 38px rgb(116 48 234 / 4%), 0 0 0 78px rgb(116 48 234 / 3%); }
.success-hero::after { width: 10px; height: 10px; right: 19%; bottom: 20%; background: var(--success-magenta); box-shadow: 24px 24px 0 #7430ea, -16px 32px 0 #bd96ff; }
.success-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(190px, .8fr); align-items: center; gap: 48px; }
.success-copy { max-width: 690px; }
.success-eyebrow, .success-kicker { margin-bottom: 14px; color: #7430ea; font-size: 12px; font-weight: 800; letter-spacing: .14em; line-height: 1.3; text-transform: uppercase; }
.success-hero h1 { max-width: 660px; margin-bottom: 20px; font-size: clamp(42px, 6vw, 72px); font-weight: 800; letter-spacing: -.055em; line-height: 1.03; }
.success-lede { max-width: 600px; margin-bottom: 24px; color: #494153; font-size: clamp(17px, 2vw, 20px); line-height: 1.65; }
.success-note { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #382749; font-size: 14px; font-weight: 700; }
.success-note-dot { width: 9px; height: 9px; border-radius: 50%; background: #d91878; box-shadow: 0 0 0 5px rgb(217 24 120 / 13%); }
.success-mark { position: relative; display: grid; width: clamp(190px, 23vw, 280px); aspect-ratio: 1; place-items: center; justify-self: center; }
.success-mark-ring { position: absolute; inset: 8%; border: 1px solid rgb(116 48 234 / 28%); border-radius: 50%; box-shadow: 0 0 0 16px rgb(116 48 234 / 5%), 0 0 0 34px rgb(116 48 234 / 4%); }
.success-mark-check { display: grid; width: 46%; aspect-ratio: 1; place-items: center; border-radius: 50%; background: #7430ea; color: white; font-size: clamp(54px, 8vw, 88px); font-weight: 400; line-height: 1; box-shadow: 0 20px 44px rgb(83 38 151 / 25%); }
.success-spark { position: absolute; color: #e51b7a; font-size: 30px; }
.success-spark-one { top: 10%; right: 12%; }
.success-spark-two { bottom: 13%; left: 9%; color: #7430ea; font-size: 21px; }
.success-section { padding: clamp(64px, 8vw, 104px) 0; }
.success-next { background: #f7f5fa; }
.success-two-col { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px, 8vw, 110px); }
.success-section h2 { max-width: 520px; margin-bottom: 16px; font-size: clamp(30px, 4vw, 46px); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; }
.success-section h3 { margin-bottom: 7px; font-size: 21px; letter-spacing: -.02em; line-height: 1.3; }
.success-section p { color: var(--success-muted); }
.success-section-intro > p:last-child { max-width: 440px; margin-bottom: 0; }
.success-detail { display: flex; align-items: flex-start; gap: 24px; padding: 28px 0; border-top: 1px solid #d9d2e1; border-bottom: 1px solid #d9d2e1; }
.success-detail p { margin-bottom: 0; }
.success-step { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: #7430ea; color: #fff; font-size: 14px; font-weight: 800; }
.success-inbox { padding-top: 8px; background: #f7f5fa; }
.success-inbox-card { display: grid; grid-template-columns: 74px 1fr; align-items: start; gap: 28px; padding: clamp(28px, 5vw, 54px); border: 1px solid #e5dff0; border-radius: 24px; background: #fff; box-shadow: 0 18px 46px rgb(41 28 60 / 6%); }
.success-inbox-card h2 { margin-bottom: 10px; }
.success-inbox-card p:last-child { max-width: 680px; margin-bottom: 0; }
.success-inbox-icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; background: #f0e9ff; color: #7430ea; font-size: 32px; font-weight: 800; }
.success-review { background: #211b2c; color: white; }
.success-review .success-kicker { color: #d6baff; }
.success-review .success-section-intro > p:last-child { color: #d5cddf; }
.success-review-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(44px, 8vw, 112px); }
.success-review h2 { color: #fff; }
.success-review-list { border-top: 1px solid #51495e; }
.success-review-list p { display: flex; align-items: center; gap: 18px; margin: 0; padding: 20px 0; border-bottom: 1px solid #51495e; color: #f4eff8; font-weight: 600; }
.success-review-list span { color: #d6baff; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.success-privacy { background: #f7f5fa; }
.success-privacy-card { position: relative; display: grid; grid-template-columns: 72px 1fr; align-items: center; gap: 26px; overflow: hidden; padding: clamp(28px, 5vw, 48px); border-radius: 22px; background: #f0e9ff; }
.success-privacy-symbol { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 50%; background: #7430ea; color: #fff; font-size: 26px; }
.success-privacy-card h2 { margin-bottom: 8px; }
.success-privacy-card p:last-child { max-width: 650px; margin-bottom: 0; }
.success-privacy-accent { position: absolute; right: -26px; bottom: -62px; width: 170px; height: 170px; border: 1px solid rgb(116 48 234 / 22%); border-radius: 50%; box-shadow: 0 0 0 16px rgb(116 48 234 / 5%), 0 0 0 32px rgb(116 48 234 / 4%); }
.success-close { padding-bottom: clamp(78px, 10vw, 130px); }
.success-close-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(42px, 9vw, 120px); }
.success-close-copy > p:last-child { max-width: 570px; margin-bottom: 0; }
.success-faq { padding: 24px 26px; border: 1px solid #ded7e8; border-radius: 16px; background: #fff; }
.success-faq summary { color: #30253d; font-weight: 800; cursor: pointer; }
.success-faq summary::marker { color: #7430ea; }
.success-faq p { margin: 14px 0 0; }
.success-page :focus-visible { outline: 3px solid #e51b7a; outline-offset: 4px; }
.success-page.reveal-ready [data-product-contract="TZ_2"] { opacity: 0; transform: translateY(18px); transition: opacity 500ms ease, transform 500ms cubic-bezier(.2,.7,.25,1); }
.success-page.reveal-ready [data-product-contract="TZ_2"].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .success-page.reveal-ready [data-product-contract="TZ_2"] { opacity: 1; transform: none; transition: none; } }
@media (max-width: 760px) {
  .success-wrap { width: min(100% - 40px, 600px); }
  .success-hero { padding: 56px 0 66px; }
  .success-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .success-mark { width: 154px; grid-row: 1; justify-self: start; margin-left: 10px; }
  .success-copy { grid-row: 2; }
  .success-hero h1 { max-width: 520px; font-size: clamp(42px, 12vw, 58px); }
  .success-two-col, .success-review-layout, .success-close-grid { grid-template-columns: 1fr; gap: 32px; }
  .success-section { padding-block: 62px; }
  .success-inbox { padding-top: 0; }
  .success-inbox-card { grid-template-columns: 54px 1fr; gap: 18px; padding: 26px 22px; }
  .success-inbox-icon { width: 52px; height: 52px; border-radius: 15px; font-size: 25px; }
  .success-privacy-card { grid-template-columns: 52px 1fr; gap: 18px; padding: 26px 22px; }
  .success-privacy-symbol { width: 50px; height: 50px; }
  .success-faq { padding: 21px; }
}
@media (max-width: 380px) {
  .success-wrap { width: calc(100% - 32px); }
  .success-hero h1 { font-size: 40px; }
  .success-lede { font-size: 16px; }
  .success-inbox-card, .success-privacy-card { grid-template-columns: 1fr; }
}
