.product {
  --product-navy: #12305f;
  --product-soft: #5b6f8c;
  --product-blue: #1d74f5;
  --product-cream: #fffaf3;
  --product-sky: #e8f5ff;
  --product-green: #2f9e5f;
  --product-card: #ffffff;
  --product-shadow: 0 10px 28px rgba(18, 48, 95, 0.08);
  --product-radius: 1.15rem;
  --reveal-distance: 2rem;
  --reveal-ease-in: cubic-bezier(0.22, 0.61, 0.36, 1);
  --reveal-ease-out: cubic-bezier(0.4, 0, 0.68, 0.2);
  --reveal-fade: 720ms;
  --reveal-slide: 820ms;
  --reveal-leave: 480ms;
  background: #ffffff;
  color: var(--product-navy);
}

.product a {
  color: var(--product-blue);
}

.product a:focus-visible,
.product button:focus-visible,
.product summary:focus-visible,
.product .cta:focus-visible {
  outline: 0.2rem solid var(--product-blue);
  outline-offset: 0.25rem;
}

.product .brand {
  color: var(--product-navy);
}

.product-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(18, 48, 95, 0.08);
}

.product-header__bar {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
  min-height: 3.65rem;
  padding-block: 0.4rem;
}

.product-header .brand {
  flex-shrink: 0;
  margin-right: auto;
}

.product-nav--desktop {
  display: none;
}

.product-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  color: var(--product-soft);
  font-weight: 700;
  text-decoration: none;
}

.product-nav a:hover,
.product-nav a[aria-current="page"] {
  color: var(--product-navy);
  text-decoration: underline;
}

.product-menu {
  position: static;
}

.product-menu summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0 0.7rem;
  border-radius: 0.7rem;
  background: var(--product-sky);
  color: var(--product-navy);
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.product-menu summary::-webkit-details-marker {
  display: none;
}

.product-menu nav {
  position: absolute;
  top: calc(100% - 0.15rem);
  right: 0;
  left: 0;
  z-index: 40;
  width: auto;
  margin-top: 0;
  padding: 0.55rem 0.85rem 0.85rem;
  border-radius: var(--product-radius);
  background: #fff;
  box-shadow: var(--product-shadow);
}

.product-menu .product-nav__links {
  flex-direction: column;
}

.cta,
.product a.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.75rem 1.2rem;
  border-radius: 999px;
  background: var(--product-blue);
  color: #ffffff;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(29, 116, 245, 0.22);
}

.cta:hover,
.product a.cta:hover {
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-1px);
}

.cta--header {
  flex: 0 0 auto;
  min-height: 2.5rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.86rem;
}

.product-footer {
  background: #fff;
  border-top-color: rgba(18, 48, 95, 0.08);
}

.product-footer .footer-brand {
  color: var(--product-navy);
}

@media (min-width: 48rem) {
  .product-menu {
    display: none;
  }

  .product-nav--desktop {
    display: block;
  }
}

html {
  scroll-padding-top: 4.75rem;
}

.js [data-reveal] {
  --reveal-x: 0px;
  --reveal-y: var(--reveal-distance);
  opacity: 0;
  transform: translate3d(var(--reveal-x), var(--reveal-y), 0);
  transition:
    opacity var(--reveal-fade) var(--reveal-ease-in),
    transform var(--reveal-slide) var(--reveal-ease-in);
}

.js [data-reveal="fade"] {
  --reveal-x: 0px;
  --reveal-y: 0px;
}

.js [data-reveal="left"] {
  --reveal-x: calc(var(--reveal-distance) * -1);
  --reveal-y: 0px;
}

.js [data-reveal="right"] {
  --reveal-x: var(--reveal-distance);
  --reveal-y: 0px;
}

.js [data-reveal="image"] {
  --reveal-y: 2.25rem;
}

.js [data-reveal].is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.js [data-reveal].is-out {
  opacity: 0;
  transform: translate3d(
    calc(var(--reveal-x) * 0.4),
    calc(var(--reveal-y) * 0.4),
    0
  );
  transition-duration: var(--reveal-leave), var(--reveal-leave);
  transition-timing-function: var(--reveal-ease-out), var(--reveal-ease-out);
}

@media (max-width: 47.99rem) {
  .js [data-reveal="left"],
  .js [data-reveal="right"] {
    --reveal-x: 0px;
    --reveal-y: var(--reveal-distance);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .js [data-reveal],
  .js [data-reveal].is-out,
  .js [data-reveal].is-in {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .cta:hover,
  .support-topic:hover {
    transform: none;
  }
}

.support-hero {
  overflow: hidden;
  padding: clamp(2.2rem, 6vw, 4.5rem) 0 clamp(2.4rem, 6vw, 4rem);
  background:
    radial-gradient(circle at 82% 20%, #cfeeff 0 18%, transparent 42%),
    linear-gradient(180deg, #f7fbff, #ffffff);
}

.support-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(10rem, 0.55fr);
  align-items: center;
  gap: 1.5rem;
}

.support-hero .eyebrow {
  color: var(--product-blue);
}

.support-hero h1 {
  max-width: 14ch;
  margin-bottom: 0.8rem;
  color: var(--product-navy);
  font-size: clamp(2.1rem, 6vw, 4rem);
}

.support-hero p {
  max-width: 34rem;
  color: var(--product-soft);
}

.support-hero__art img {
  width: min(100%, 13rem);
  height: auto;
  margin-inline: auto;
}

.support-section {
  padding: clamp(2.4rem, 6vw, 4.5rem) 0;
}

.support-section h2 {
  color: var(--product-navy);
  font-size: clamp(1.7rem, 4vw, 2.6rem);
}

.support-section__intro {
  max-width: 38rem;
  margin-bottom: 1.8rem;
}

.support-section__intro p {
  color: var(--product-soft);
}

.support-topics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-topic {
  padding: 1.2rem 1.15rem;
  border-radius: var(--product-radius);
  background: var(--product-card);
  box-shadow: var(--product-shadow);
  transition: transform 180ms var(--reveal-ease-in);
}

.support-topic:hover {
  transform: translateY(-2px);
}

.support-topic h3 {
  margin-bottom: 0.45rem;
  font-size: 1.05rem;
}

.support-topic p {
  margin: 0;
  color: var(--product-soft);
  font-size: 0.95rem;
}

.support-account {
  background: var(--product-cream);
}

.support-account details {
  margin-bottom: 0.8rem;
  padding: 0.35rem 1rem 1rem;
  border-radius: var(--product-radius);
  background: #fff;
  box-shadow: var(--product-shadow);
}

.support-account summary {
  display: flex;
  align-items: center;
  min-height: 3rem;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.support-account summary::-webkit-details-marker {
  display: none;
}

.support-account summary::after {
  margin-left: auto;
  color: var(--product-blue);
  content: "+";
}

.support-account details[open] summary::after {
  content: "–";
}

.support-contact {
  background: var(--product-sky);
}

.support-contact .cta {
  margin-top: 0.4rem;
}

.support-note,
.support-safety p {
  max-width: 42rem;
  color: var(--product-soft);
}

.support-safety {
  max-width: 42rem;
  padding: 1.3rem 1.4rem;
  border-left: 0.35rem solid var(--product-navy);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: var(--product-shadow);
}

.support-safety h2 {
  margin-bottom: 0.7rem;
}

.product .page-hero {
  padding: 1.75rem 0 1.25rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(74, 163, 224, 0.16), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(247, 183, 49, 0.12), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fff8ee 100%);
}

.product .page-hero .eyebrow {
  color: var(--product-navy);
}

.product .page-hero h1 {
  max-width: 18ch;
  margin-bottom: 0.75rem;
  color: var(--product-navy);
  font-size: clamp(2.1rem, 6vw, 3.4rem);
}

.product .page-hero p {
  max-width: 40rem;
}

.product .page-hero .document-meta {
  color: var(--product-navy);
}

.product .page-hero-copy > * {
  animation: legal-enter 0.7s ease both;
}

.product .page-hero-copy > *:nth-child(2) { animation-delay: 0.06s; }
.product .page-hero-copy > *:nth-child(3) { animation-delay: 0.12s; }
.product .page-hero-copy > *:nth-child(4) { animation-delay: 0.18s; }

@keyframes legal-enter {
  from {
    transform: translateY(0.55rem);
  }
  to {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product .page-hero-copy > * {
    animation: none;
  }
}

.product .document {
  background: linear-gradient(180deg, #fff8ee 0%, #ffffff 42%);
}

.product .document-layout {
  gap: 1.5rem;
}

.product .document-nav {
  top: 5.1rem;
  max-height: calc(100vh - 6.4rem);
  overflow: auto;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 0;
  box-shadow: var(--product-shadow);
}

.product .document-nav li + li {
  margin-top: 0.28rem;
}

.product .document-nav a {
  display: inline-block;
  line-height: 1.35;
}

.product .document-nav h2,
.product .document-nav strong {
  color: var(--product-navy);
}

.product .document-nav a:focus-visible {
  outline: 0.18rem solid var(--product-navy);
  outline-offset: 0.18rem;
  border-radius: 0.25rem;
}

.product .document-content {
  max-width: 42rem;
}

.product .document-content section {
  margin-top: 1rem;
  padding: 1.35rem 1.25rem 1.4rem;
  border-top: 0;
  border-radius: var(--product-radius);
  background: #fff;
  box-shadow: var(--product-shadow);
  scroll-margin-top: 5.4rem;
}

.product .document-content section + section {
  margin-top: 1rem;
  padding-top: 1.35rem;
}

.product .document-content h2 {
  color: var(--product-navy);
}

.product .document-content h3 {
  margin-top: 1.15rem;
  color: var(--product-navy);
}

.product .document-content a {
  color: var(--product-blue);
  text-underline-offset: 0.16em;
}

.product .document-content a:hover {
  color: var(--product-navy);
}

.product .document-content a:focus-visible {
  outline: 0.18rem solid var(--product-navy);
  outline-offset: 0.18rem;
  border-radius: 0.25rem;
}

.product address {
  padding: 1rem 1.05rem;
  border-left: 0.28rem solid var(--product-sky);
  background: var(--product-cream);
  border-radius: 0 0.85rem 0.85rem 0;
}

@media (min-width: 40rem) {
  .support-topics {
    grid-template-columns: 1fr 1fr;
  }

  .product .document-content section {
    padding: 1.5rem 1.5rem 1.55rem;
  }
}

@media (min-width: 64rem) {
  .support-topics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 47.99rem) {
  .product-header .cta.cta--header {
    display: none;
  }

  .support-hero {
    padding: 1.35rem 0 1.6rem;
  }

  .support-hero__grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .support-hero h1 {
    max-width: none;
    margin-bottom: 0.55rem;
    font-size: clamp(1.9rem, 8vw, 2.5rem);
  }

  .product .page-hero h1 {
    max-width: none;
    font-size: clamp(1.9rem, 8vw, 2.5rem);
  }

  .support-hero__art {
    order: -1;
  }

  .support-hero__art img {
    width: min(100%, 7.25rem);
  }

  .support-section {
    padding: 1.7rem 0;
  }

  .support-section h2 {
    font-size: clamp(1.45rem, 6vw, 2rem);
  }

  .support-section__intro {
    margin-bottom: 1rem;
  }

  .support-topics {
    gap: 0.7rem;
  }

  .support-topic {
    padding: 0.95rem 1rem;
  }

  .support-account details {
    margin-bottom: 0.6rem;
    padding: 0.2rem 0.9rem 0.85rem;
  }
}
