:root {
  --trench: #031126;
  --navy: #06255a;
  --blue: #0757c8;
  --electric: #18bdf4;
  --coral: #ff6a58;
  --gold: #ffbf37;
  --pearl: #f1fbff;
  --ice: #bfeaff;
  --ink: #061933;
  --muted-ink: #31506b;
  --gutter: clamp(26px, 6vw, 92px);
  --content: 1280px;
  --header: 80px;
  --lift: 0 28px 70px rgb(0 12 36 / 34%);
}

* { box-sizing: border-box; }

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header) + 22px);
}

body {
  min-width: 0;
  margin: 0;
  padding-top: var(--header);
  overflow-x: hidden;
  color: var(--pearl);
  background: var(--trench);
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
button, summary { font: inherit; }

:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

.shell {
  width: min(var(--content), calc(100% - (var(--gutter) * 2)));
  margin-inline: auto;
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: var(--header);
  border-bottom: 1px solid rgb(191 234 255 / 24%);
  background: rgb(3 17 38 / 93%);
  box-shadow: 0 10px 32px rgb(0 10 28 / 22%);
  backdrop-filter: blur(16px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 100%;
  gap: 22px;
}

.wordmark {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
}

.wordmark img {
  width: auto;
  height: 50px;
  object-fit: contain;
}

.header-play,
.cta-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--gold);
  color: var(--trench);
  background: var(--gold);
  box-shadow: 5px 5px 0 rgb(24 189 244 / 34%);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  touch-action: manipulation;
}

.header-play:hover,
.cta-action:hover {
  background: var(--coral);
  box-shadow: 8px 8px 0 rgb(24 189 244 / 28%);
  transform: translate(-2px, -2px);
}

h1, h2, h3, h4, p { margin-top: 0; }

h1, h2, h3, h4, .wordmark {
  font-family: Bahnschrift, "Arial Narrow", "Segoe UI", sans-serif;
  font-weight: 700;
}

h1 {
  max-width: 15ch;
  margin-bottom: 24px;
  font-size: clamp(2.35rem, 4.4vw, 4.9rem);
  line-height: .98;
  letter-spacing: -.048em;
}

h2 {
  max-width: 18ch;
  margin-bottom: 18px;
  font-size: clamp(2rem, 3.25vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -.042em;
}

h3 {
  margin-bottom: 12px;
  font-size: clamp(1.28rem, 1.9vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -.026em;
}

h4 {
  margin: 38px 0 12px;
  font-size: clamp(1.12rem, 1.6vw, 1.42rem);
  line-height: 1.25;
}

p { margin-bottom: 0; }
.site-section { position: relative; }

.section-hero {
  isolation: isolate;
  overflow: hidden;
  padding: clamp(38px, 6vw, 92px) 0 clamp(76px, 11vw, 156px);
  background:
    radial-gradient(circle at 84% 16%, rgb(24 189 244 / 22%), transparent 19%),
    linear-gradient(122deg, #031126 0 48%, #062c6c 100%);
}

.section-hero::before,
.section-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  border: 1px solid rgb(191 234 255 / 24%);
  border-radius: 50%;
  pointer-events: none;
}

.section-hero::before { top: -64vw; right: -23vw; width: 94vw; aspect-ratio: 1; }
.section-hero::after { right: 8%; bottom: -32vw; width: 62vw; aspect-ratio: 1; border-color: rgb(255 191 55 / 28%); }

.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(460px, 1.07fr);
  align-items: center;
  gap: clamp(34px, 6vw, 110px);
}

.hero-grid > div:first-child { position: relative; z-index: 2; }

.lead {
  max-width: 58ch;
  color: rgb(241 251 255 / 86%);
  font-size: clamp(1rem, 1.35vw, 1.14rem);
}

.section-hero .media-slot {
  position: relative;
  min-height: min(59vw, 620px);
  overflow: hidden;
  clip-path: polygon(8% 0, 100% 0, 100% 88%, 91% 100%, 0 100%, 0 9%);
  box-shadow: var(--lift);
}

.section-hero .media-slot::after {
  position: absolute;
  inset: 18px;
  content: "";
  border: 1px solid rgb(241 251 255 / 55%);
  pointer-events: none;
}

.section-hero .media-slot img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

.section-trust {
  z-index: 1;
  padding: clamp(76px, 10vw, 146px) 0;
  color: var(--ink);
  background: var(--pearl);
}

.section-trust .shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: clamp(34px, 5vw, 74px) clamp(22px, 4vw, 54px);
}

.section-heading p { max-width: 66ch; }
.section-trust .section-heading { grid-column: 1 / span 5; }
.section-trust .section-heading h2 { max-width: 12ch; }
.section-trust .section-heading p,
.section-feature .section-heading p,
.section-guide .section-heading p,
.section-article .section-heading p { color: var(--muted-ink); }

.inline-media { grid-column: 7 / span 6; min-height: 360px; }

.inline-media .media-slot {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  clip-path: polygon(9% 0, 100% 0, 100% 91%, 92% 100%, 0 100%, 0 10%);
}

.inline-media .media-slot::after { position: absolute; inset: 14px; content: ""; border: 1px solid rgb(6 37 90 / 42%); }
.inline-media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }

.section-trust .item-grid {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(34px, 6vw, 92px);
  border-top: 1px solid rgb(6 37 90 / 22%);
}

.section-trust .item-card { padding: 32px 0 38px; border-bottom: 1px solid rgb(6 37 90 / 22%); }
.section-trust .item-card h3 { color: var(--blue); }
.section-trust .item-card p { color: var(--muted-ink); }

#category-grid-2 {
  overflow: hidden;
  padding: clamp(82px, 11vw, 158px) 0;
  background:
    radial-gradient(circle at 88% 12%, rgb(24 189 244 / 24%), transparent 18%),
    linear-gradient(138deg, #021735 0 45%, #063b8c 100%);
}

#category-grid-2::before { position: absolute; inset: auto 0 0; height: 42%; content: ""; background: linear-gradient(0deg, rgb(1 15 35 / 68%), transparent); pointer-events: none; }
#category-grid-2 .shell { position: relative; }

#category-grid-2 .section-heading {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(300px, 1.15fr);
  align-items: end;
  max-width: none;
  gap: clamp(28px, 7vw, 120px);
  margin-bottom: clamp(42px, 7vw, 82px);
}

#category-grid-2 .section-heading h2 { max-width: 11ch; }
#category-grid-2 .section-heading p { color: rgb(241 251 255 / 82%); }

#category-grid-2 .item-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 54px) clamp(20px, 3.4vw, 46px);
}

#category-grid-2 .item-card {
  position: relative;
  display: grid;
  align-items: center;
  gap: clamp(20px, 3vw, 38px);
  min-width: 0;
  padding-bottom: 28px;
  border-bottom: 1px solid rgb(191 234 255 / 28%);
}

#category-grid-2 .item-card:nth-child(1),
#category-grid-2 .item-card:nth-child(4) { grid-template-columns: minmax(230px, .86fr) minmax(0, 1.14fr); }

#category-grid-2 .item-card:nth-child(1) { grid-column: 1 / span 7; }
#category-grid-2 .item-card:nth-child(2) { grid-column: 8 / span 5; }
#category-grid-2 .item-card:nth-child(3) { grid-column: 1 / span 5; }
#category-grid-2 .item-card:nth-child(4) { grid-column: 6 / span 7; }
#category-grid-2 .item-card:nth-child(5) { grid-column: 1 / span 6; }
#category-grid-2 .item-card:nth-child(6) { grid-column: 7 / span 6; }

#category-grid-2 .item-card:nth-child(2),
#category-grid-2 .item-card:nth-child(3),
#category-grid-2 .item-card:nth-child(5),
#category-grid-2 .item-card:nth-child(6) { grid-template-columns: 1fr; align-content: start; }

.item-card-media { position: relative; min-height: 250px; overflow: hidden; clip-path: polygon(0 0, 100% 0, 95% 100%, 0 91%); }
#category-grid-2 .item-card:nth-child(even) .item-card-media { clip-path: polygon(5% 0, 100% 8%, 100% 100%, 0 100%); }
.item-card-media::after { position: absolute; inset: 12px; content: ""; border: 1px solid rgb(241 251 255 / 58%); pointer-events: none; }
.item-card-media img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }

#category-grid-2 .item-card:nth-child(2) .item-card-media,
#category-grid-2 .item-card:nth-child(3) .item-card-media,
#category-grid-2 .item-card:nth-child(5) .item-card-media,
#category-grid-2 .item-card:nth-child(6) .item-card-media { min-height: 238px; }

#category-grid-2 .item-card h3 { color: var(--gold); }
#category-grid-2 .item-card p { color: rgb(241 251 255 / 80%); }

.section-cta { padding: clamp(44px, 6vw, 88px) 0; color: var(--trench); background: var(--coral); }
.cta-box { display: grid; grid-template-columns: minmax(0, 1.45fr) auto; align-items: end; gap: 34px; }
.cta-box h2 { max-width: 17ch; }
.cta-box p { max-width: 70ch; color: rgb(3 17 38 / 85%); }
.cta-box .cta-action { color: var(--pearl); background: var(--trench); border-color: var(--trench); box-shadow: 5px 5px 0 rgb(255 191 55 / 86%); }
.cta-box .cta-action:hover { color: var(--trench); background: var(--pearl); border-color: var(--pearl); }

.section-feature { padding: clamp(80px, 11vw, 158px) 0; color: var(--pearl); background: var(--navy); }
.feature-grid { display: grid; grid-template-columns: minmax(280px, .94fr) minmax(0, 1.06fr); align-items: center; gap: clamp(42px, 8vw, 132px); }

.feature-grid > .media-slot {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  clip-path: polygon(0 0, 94% 0, 100% 90%, 8% 100%, 0 82%);
}

.feature-grid > .media-slot::after { position: absolute; inset: 16px; content: ""; border: 1px solid rgb(255 191 55 / 70%); }
.feature-grid > .media-slot img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.section-feature .section-heading h2 { max-width: 13ch; }
.section-feature .section-heading p { color: rgb(241 251 255 / 84%); }

#category-grid-10 {
  overflow: hidden;
  padding: clamp(82px, 11vw, 158px) 0;
  color: var(--pearl);
  background:
    linear-gradient(105deg, rgb(3 17 38 / 96%) 0 45%, rgb(3 17 38 / 78%) 100%),
    url("../uploads/media-374a8f5b-04a8-43f8-86f5-95baf385762a.webp") center / cover no-repeat;
}

#category-grid-10 .section-heading { max-width: 830px; margin-bottom: clamp(40px, 6vw, 72px); }
#category-grid-10 .section-heading p { color: rgb(241 251 255 / 82%); }
#category-grid-10 .item-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(34px, 7vw, 118px); border-top: 1px solid rgb(191 234 255 / 38%); }
#category-grid-10 .item-card { padding: 34px 0 40px; border-bottom: 1px solid rgb(191 234 255 / 38%); }
#category-grid-10 .item-card h3 { color: var(--ice); }
#category-grid-10 .item-card p { color: rgb(241 251 255 / 78%); }

.section-guide { padding: clamp(80px, 10vw, 146px) 0; color: var(--ink); background: var(--ice); }
.section-guide .section-heading { max-width: 840px; margin-bottom: clamp(40px, 6vw, 76px); }
.section-guide .item-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(22px, 4vw, 52px); }
.section-guide .item-card { position: relative; min-height: 100%; padding-top: 72px; border-top: 2px solid var(--blue); }

.section-guide .item-card::before {
  position: absolute;
  top: 15px;
  left: 0;
  color: var(--coral);
  font-family: Bahnschrift, "Arial Narrow", sans-serif;
  font-size: 2.55rem;
  font-weight: 700;
  line-height: 1;
}

.section-guide .item-card:nth-child(1)::before { content: "01"; }
.section-guide .item-card:nth-child(2)::before { content: "02"; }
.section-guide .item-card:nth-child(3)::before { content: "03"; }
.section-guide .item-card:nth-child(4)::before { content: "04"; }
.section-guide .item-card h3 { color: var(--navy); }
.section-guide .item-card p { color: var(--muted-ink); }

.section-faq {
  padding: clamp(82px, 11vw, 152px) 0;
  color: var(--pearl);
  background:
    linear-gradient(105deg, rgb(3 17 38 / 96%), rgb(3 17 38 / 78%)),
    url("../uploads/media-4a9ea03a-4dbb-44fd-aa1a-452b7d109efb.webp") center / cover no-repeat;
}

.section-faq .content-width { max-width: 980px; }
.section-faq .section-heading { max-width: 760px; margin-bottom: 42px; }
.section-faq .section-heading p { color: rgb(241 251 255 / 82%); }
.faq-list { border-top: 1px solid rgb(191 234 255 / 45%); }
.faq-list details { border-bottom: 1px solid rgb(191 234 255 / 45%); }

.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 78px;
  padding: 20px 0;
  cursor: pointer;
  color: var(--pearl);
  font-family: Bahnschrift, "Arial Narrow", sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.3;
  list-style: none;
}

.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { flex: 0 0 auto; content: "+"; color: var(--gold); font-size: 2rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 70ch; margin: 0 0 30px; color: rgb(241 251 255 / 80%); }

.section-article { padding: clamp(82px, 11vw, 160px) 0; color: var(--ink); background: var(--pearl); }
.section-article .shell { max-width: 990px; }
.section-article .section-heading { max-width: 780px; margin-bottom: 48px; padding-bottom: 28px; border-bottom: 3px solid var(--coral); }
.section-article .section-heading h2 { max-width: 15ch; }
.longform-copy { max-width: 75ch; }
.longform-copy h3 { margin: 46px 0 20px; color: var(--blue); font-size: clamp(1.6rem, 2.6vw, 2.45rem); }

.longform-copy p {
  margin: 0 0 20px;
  color: var(--muted-ink);
  font-size: 1rem;
  line-height: 1.72;
}

.section-footer {
  min-height: 360px;
  display: flex;
  align-items: end;
  padding: 72px 0;
  color: var(--pearl);
  background:
    linear-gradient(90deg, rgb(3 17 38 / 96%), rgb(3 17 38 / 62%)),
    url("../uploads/media-2f8334db-7e81-4d17-85db-4b2f282b33d6.webp") center / cover no-repeat;
}

.footer-content { max-width: 790px; }
.footer-content strong { display: block; margin-bottom: 16px; font-family: Bahnschrift, "Arial Narrow", sans-serif; font-size: clamp(1.4rem, 2.4vw, 2.2rem); line-height: 1.15; }
.footer-content p { color: rgb(241 251 255 / 80%); }

@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr; }
  .section-hero .media-slot { min-height: min(74vw, 590px); }
  .section-trust .section-heading { grid-column: 1 / span 6; }
  .inline-media { grid-column: 7 / span 6; min-height: 330px; }
  #category-grid-2 .section-heading { grid-template-columns: 1fr; gap: 20px; }
  #category-grid-2 .section-heading h2 { max-width: 14ch; }
  #category-grid-2 .item-card,
  #category-grid-2 .item-card:nth-child(1),
  #category-grid-2 .item-card:nth-child(4) { grid-template-columns: minmax(190px, .78fr) minmax(0, 1.22fr); }
  #category-grid-2 .item-card:nth-child(1),
  #category-grid-2 .item-card:nth-child(3),
  #category-grid-2 .item-card:nth-child(5) { grid-column: 1 / span 7; }
  #category-grid-2 .item-card:nth-child(2),
  #category-grid-2 .item-card:nth-child(4),
  #category-grid-2 .item-card:nth-child(6) { grid-column: 8 / span 5; }
  #category-grid-2 .item-card:nth-child(2) .item-card-media,
  #category-grid-2 .item-card:nth-child(3) .item-card-media,
  #category-grid-2 .item-card:nth-child(5) .item-card-media,
  #category-grid-2 .item-card:nth-child(6) .item-card-media { min-height: 100%; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid > .media-slot { min-height: min(72vw, 560px); }
  .section-guide .item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 46px; }
}

@media (max-width: 700px) {
  :root { --header: 76px; }
  .header-inner { gap: 8px; }
  .wordmark img { height: 42px; }
  .header-play { max-width: 145px; min-height: 48px; padding-inline: 10px; font-size: .68rem; }
  h1 { max-width: none; font-size: clamp(1.92rem, 8.4vw, 2.55rem); }
  h2 { max-width: none; font-size: clamp(1.8rem, 7.7vw, 2.35rem); }
  .section-hero { padding-top: 28px; padding-bottom: 74px; }
  .section-hero::before { top: -52vw; right: -56vw; width: 132vw; }
  .section-hero::after { display: none; }
  .hero-grid { gap: 32px; }
  .section-hero .media-slot { min-height: 320px; }
  .section-hero .media-slot::after { inset: 10px; }
  .section-trust,
  #category-grid-2,
  .section-feature,
  #category-grid-10,
  .section-guide,
  .section-faq,
  .section-article { padding-block: 72px; }
  .section-trust .shell { display: block; }
  .section-trust .section-heading { margin-bottom: 34px; }
  .section-trust .section-heading h2 { max-width: none; }
  .inline-media { min-height: 260px; margin-bottom: 38px; }
  .section-trust .item-grid,
  #category-grid-10 .item-grid { grid-template-columns: 1fr; gap: 0; }
  #category-grid-2 .section-heading { margin-bottom: 42px; }
  #category-grid-2 .section-heading h2 { max-width: none; }
  #category-grid-2 .item-grid { grid-template-columns: 1fr; gap: 44px; }
  #category-grid-2 .item-card,
  #category-grid-2 .item-card:nth-child(n) { grid-column: auto; grid-template-columns: 1fr; gap: 22px; }
  #category-grid-2 .item-card .item-card-media { min-height: 220px; }
  .cta-box { grid-template-columns: 1fr; gap: 28px; }
  .cta-box h2 { max-width: none; }
  .cta-box .cta-action { width: 100%; min-height: 52px; }
  .feature-grid { gap: 38px; }
  .feature-grid > .media-slot { min-height: 300px; }
  .section-feature .section-heading h2 { max-width: none; }
  #category-grid-10 .section-heading { margin-bottom: 40px; }
  .section-guide .section-heading { margin-bottom: 46px; }
  .section-guide .item-grid { grid-template-columns: 1fr; gap: 0; }
  .section-guide .item-card { min-height: 0; padding: 64px 0 36px; border-top-width: 1px; }
  .section-guide .item-card::before { top: 16px; font-size: 2.35rem; }
  .section-faq { background-position: 66% center; }
  .section-faq .section-heading { margin-bottom: 34px; }
  .faq-list summary { min-height: 70px; font-size: 1.14rem; }
  .section-article .section-heading { margin-bottom: 38px; padding-bottom: 24px; }
  .section-article .section-heading h2 { max-width: none; }
  .longform-copy h3 { margin-top: 40px; }
  .section-footer { min-height: 320px; padding-block: 56px; }
}

@media (max-width: 300px) {
  .wordmark img { height: 38px; }
  .header-play { max-width: 124px; padding-inline: 7px; font-size: .61rem; }
  .section-hero .media-slot { min-height: 270px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
