@font-face {
  font-family: "Paras Option One";
  src: url("/paras-preview-assets/fonts/Unbounded-600.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: light;
  --blue: #324b9a;
  --blue-deep: #12375f;
  --blue-dark: #0c2947;
  --blue-light: #dce9f8;
  --sky: #75b9df;
  --paper: #f6f8fb;
  --white: #fff;
  --ink: #123653;
  --line: rgb(18 54 83 / .22);
  --header: 64px;
  --edge: clamp(24px, 5.2vw, 84px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--blue-deep); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 16px;
  z-index: 100;
  padding: 10px 14px;
  color: #fff;
  background: var(--blue-deep);
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: none; }

.evidence-header {
  height: var(--header);
  position: fixed;
  inset: 0 0 auto;
  z-index: 60;
  color: var(--ink);
  background: rgb(255 255 255 / .97);
  border-bottom: 1px solid rgb(18 54 83 / .1);
}
.evidence-header-row {
  height: 100%;
  padding: 0 var(--edge);
  display: flex;
  align-items: center;
}
.evidence-brand { width: auto; height: 58px; margin-right: auto; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 10px; }
.evidence-brand img { width: 27px; height: 32px; object-fit: contain; }
.evidence-brand strong { color: var(--blue); font: 600 22px/1 "Paras Option One", sans-serif; letter-spacing: -.02em; }
.evidence-tools { display: flex; align-items: center; gap: 28px; }
.evidence-tools > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  position: relative;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.evidence-tools > a::after {
  content: "";
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 8px;
  left: 0;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--ease);
}
.evidence-tools > a:hover::after,
.evidence-tools > a:focus-visible::after { transform: scaleX(1); }
.evidence-menu-toggle {
  width: 44px;
  height: 44px;
  padding: 0;
  position: relative;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.evidence-menu-toggle span {
  width: 27px;
  height: 1px;
  position: absolute;
  right: 0;
  background: currentColor;
  transition: transform .35s var(--ease), opacity .2s ease;
}
.evidence-menu-toggle span:nth-child(1) { top: 13px; }
.evidence-menu-toggle span:nth-child(2) { top: 21px; }
.evidence-menu-toggle span:nth-child(3) { top: 29px; }
.evidence-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.evidence-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.evidence-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.evidence-menu {
  min-height: calc(100dvh - var(--header));
  padding: clamp(48px, 8vw, 120px) var(--edge);
  position: fixed;
  inset: var(--header) 0 0;
  z-index: 55;
  display: grid;
  align-items: center;
  color: #fff;
  background: var(--blue-deep);
  clip-path: inset(0 0 100% 0);
  visibility: hidden;
  transition: clip-path .7s var(--ease), visibility 0s linear .7s;
}
.evidence-menu.is-open { clip-path: inset(0); visibility: visible; transition: clip-path .7s var(--ease), visibility 0s; }
.evidence-menu nav { display: flex; flex-direction: column; align-items: flex-start; }
.evidence-menu a {
  position: relative;
  font-size: clamp(34px, 5.2vw, 76px);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -.04em;
}
.evidence-menu a::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 4px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s var(--ease);
}
.evidence-menu a:hover::after,
.evidence-menu a:focus-visible::after { transform: scaleX(1); }

.evidence-hero {
  min-height: 100dvh;
  padding: calc(var(--header) + clamp(62px, 7vw, 112px)) var(--edge) 66px;
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 24%, rgb(117 185 223 / .52), transparent 30%),
    linear-gradient(132deg, #29459a 0%, #214782 46%, #0f365b 100%);
}
.evidence-hero::before {
  content: "";
  width: min(53vw, 820px);
  aspect-ratio: 1;
  position: absolute;
  right: -15vw;
  bottom: -36vw;
  border: 1px solid rgb(255 255 255 / .18);
  border-radius: 50%;
  box-shadow: 0 0 0 9vw rgb(255 255 255 / .025), 0 0 0 18vw rgb(255 255 255 / .02);
}
.evidence-hero-copy { position: relative; z-index: 3; }
.evidence-hero-copy > p {
  margin: 0 0 34px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.evidence-hero h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(64px, 8.2vw, 126px);
  font-weight: 300;
  line-height: .86;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.evidence-hero-intro {
  width: min(360px, 29vw);
  margin: 46px 0 0;
  display: grid;
  gap: 28px;
}
.evidence-hero-intro p { margin: 0; font-size: 16px; line-height: 1.55; }
.evidence-hero-intro a {
  width: max-content;
  padding-bottom: 5px;
  border-bottom: 1px solid rgb(255 255 255 / .68);
  font-size: 13px;
}
.evidence-fan {
  width: min(45vw, 700px);
  height: min(49vw, 680px);
  position: absolute;
  right: clamp(-90px, -4vw, -20px);
  bottom: 56px;
  z-index: 2;
}
.evidence-fan figure {
  width: 35%;
  margin: 0;
  position: absolute;
  right: 15%;
  bottom: 8%;
  overflow: hidden;
  background: #fff;
  box-shadow: 16px 28px 60px rgb(3 24 46 / .26);
  transform-origin: 50% 100%;
  animation: evidence-sheet-in 1.15s var(--ease) both;
}
.evidence-fan figure:nth-child(1) { transform: translate(-122%, 8%) rotate(-15deg); animation-delay: .06s; }
.evidence-fan figure:nth-child(2) { transform: translate(-64%, -2%) rotate(-8deg); animation-delay: .12s; }
.evidence-fan figure:nth-child(3) { z-index: 3; transform: translate(-8%, -8%) rotate(-1deg); animation-delay: .18s; }
.evidence-fan figure:nth-child(4) { transform: translate(49%, -3%) rotate(8deg); animation-delay: .24s; }
.evidence-fan figure:nth-child(5) { transform: translate(104%, 7%) rotate(15deg); animation-delay: .3s; }
.evidence-fan img { width: 100%; height: auto; display: block; }
@keyframes evidence-sheet-in {
  from { opacity: 0; filter: blur(12px); translate: 0 90px; }
  to { opacity: 1; filter: blur(0); translate: 0 0; }
}
.evidence-hero-rail {
  min-height: 56px;
  padding: 0 var(--edge);
  position: absolute;
  inset: auto 0 0;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  border-top: 1px solid rgb(255 255 255 / .48);
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.evidence-hero-rail span:nth-child(2) { text-align: center; }
.evidence-hero-rail span:nth-child(3) { text-align: right; }

.scope-note {
  padding: clamp(82px, 10vw, 150px) var(--edge);
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(60px, 11vw, 170px);
  color: var(--ink);
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.scope-note > p { margin: 0; font-size: clamp(30px, 3.2vw, 48px); font-weight: 300; line-height: 1; letter-spacing: -.04em; }
.scope-note > div { max-width: 780px; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.scope-note > div p { margin: 0; font-size: 15px; line-height: 1.58; }

.document-library { padding: clamp(100px, 12vw, 180px) var(--edge); color: var(--ink); background: var(--paper); }
.library-heading { max-width: 940px; }
.library-heading > p,
.testing-heading > p:first-child,
.supporting-heading > p,
.evidence-close > div > p {
  margin: 0 0 24px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.library-heading h2,
.testing-heading h2,
.supporting-heading h2 {
  margin: 0;
  font-size: clamp(58px, 7vw, 96px);
  font-weight: 300;
  line-height: .91;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.library-heading h2 { max-width: 11ch; }
.library-layout {
  margin-top: clamp(82px, 10vw, 146px);
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: clamp(58px, 8vw, 126px);
  align-items: start;
}
.library-preview { position: sticky; top: calc(var(--header) + 40px); }
.preview-frame {
  width: min(100%, 480px);
  aspect-ratio: .78;
  padding: 30px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #e6edf5;
}
.preview-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter: drop-shadow(12px 22px 24px rgb(18 54 83 / .14));
  transition: opacity .18s ease, filter .18s ease, transform .5s var(--ease);
}
.preview-frame img.is-changing { opacity: 0; filter: blur(8px); transform: translateY(9px); }
.library-preview > p { margin: 14px 0 0; font-size: 12px; line-height: 1.45; }
.document-list { border-top: 1px solid var(--line); }
.document-row {
  min-height: 174px;
  padding: 28px 0;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 26px;
  align-items: start;
  border-bottom: 1px solid var(--line);
  transition: color .25s ease;
}
.document-row:hover,
.document-row:focus-visible,
.document-row.is-active { color: var(--blue); }
.document-index { padding-top: 6px; font-size: 11px; font-weight: 600; }
.document-copy h3 { margin: 0 0 15px; font-size: clamp(27px, 2.35vw, 38px); font-weight: 300; line-height: 1; letter-spacing: -.035em; }
.document-copy p { max-width: 66ch; margin: 0; color: var(--ink); font-size: 14px; line-height: 1.5; }
.document-copy small { margin-top: 13px; display: block; color: var(--ink); font-size: 11px; line-height: 1.45; opacity: .66; }
.document-action { padding-top: 6px; font-size: 12px; white-space: nowrap; }
.row-preview { display: none; }

.testing-library {
  padding: clamp(100px, 12vw, 180px) var(--edge);
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgb(117 185 223 / .36), transparent 34%),
    var(--blue-deep);
}
.testing-heading { display: grid; grid-template-columns: 1.18fr .82fr; gap: 38px 100px; align-items: end; }
.testing-heading > p:first-child { grid-column: 1 / -1; }
.testing-heading h2 { max-width: 10ch; }
.testing-heading > p:last-child { max-width: 48ch; margin: 0; font-size: 16px; line-height: 1.56; }
.test-reports { margin-top: clamp(80px, 10vw, 144px); border-top: 1px solid rgb(255 255 255 / .32); }
.test-report {
  min-height: 390px;
  padding: 42px 0;
  display: grid;
  grid-template-columns: minmax(230px, .52fr) minmax(0, 1.48fr);
  gap: clamp(48px, 8vw, 130px);
  align-items: center;
  border-bottom: 1px solid rgb(255 255 255 / .32);
}
.test-report figure { height: 310px; margin: 0; padding: 24px; display: grid; place-items: center; background: rgb(255 255 255 / .95); overflow: hidden; }
.test-report img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .6s var(--ease); }
.test-report:hover img,
.test-report:focus-visible img { transform: scale(1.035) rotate(-.6deg); }
.test-report > div > span { font-size: 11px; line-height: 1.45; letter-spacing: .05em; text-transform: uppercase; opacity: .72; }
.test-report h3 { max-width: 18ch; margin: 24px 0; font-size: clamp(36px, 4.2vw, 64px); font-weight: 300; line-height: .94; letter-spacing: -.04em; }
.test-report p { max-width: 66ch; margin: 0; font-size: 15px; line-height: 1.55; }
.test-report small { margin-top: 26px; display: block; font-size: 12px; }
.testing-note { max-width: 860px; margin: 82px 0 0 auto; padding-top: 24px; display: grid; grid-template-columns: 170px 1fr; gap: 34px; border-top: 1px solid rgb(255 255 255 / .32); }
.testing-note strong { font-size: 12px; text-transform: uppercase; }
.testing-note p { margin: 0; font-size: 14px; line-height: 1.55; }

.supporting-library { padding: clamp(100px, 12vw, 180px) var(--edge); color: var(--ink); background: #fff; }
.supporting-heading { display: grid; grid-template-columns: .7fr 1.3fr; align-items: end; gap: 60px; }
.supporting-heading > p { margin: 0; }
.supporting-heading h2 { max-width: 10ch; }
.supporting-documents { margin-top: clamp(76px, 9vw, 130px); display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.supporting-documents > a { min-height: 560px; padding: clamp(28px, 3.5vw, 54px); display: grid; grid-template-columns: .62fr 1fr; gap: clamp(30px, 4vw, 62px); align-items: center; background: var(--paper); }
.supporting-documents figure { height: 360px; margin: 0; display: grid; place-items: center; overflow: hidden; }
.supporting-documents img { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(10px 20px 22px rgb(18 54 83 / .14)); transition: transform .6s var(--ease); }
.supporting-documents > a:hover img,
.supporting-documents > a:focus-visible img { transform: translateY(-8px) rotate(-1deg); }
.supporting-documents span { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.supporting-documents h3 { margin: 25px 0; font-size: clamp(31px, 3.1vw, 48px); font-weight: 300; line-height: .98; letter-spacing: -.04em; }
.supporting-documents p { margin: 0; font-size: 14px; line-height: 1.55; }
.supporting-documents small { margin-top: 27px; display: block; font-size: 12px; }

.evidence-close {
  min-height: 76dvh;
  padding: clamp(90px, 12vw, 180px) var(--edge);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 60px;
  color: #fff;
  background: linear-gradient(128deg, #3652a3 0%, var(--blue) 52%, #193e78 100%);
}
.evidence-close h2 { max-width: 13ch; margin: 0; font-size: clamp(54px, 7.2vw, 96px); font-weight: 300; line-height: .9; letter-spacing: -.04em; }
.evidence-close > a {
  min-height: 56px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  border: 1px solid rgb(255 255 255 / .72);
  border-radius: 999px;
  font-size: 14px;
  white-space: nowrap;
  transition: color .3s ease, background .3s ease, transform .3s var(--ease);
}
.evidence-close > a:hover,
.evidence-close > a:focus-visible { color: var(--blue-deep); background: #fff; transform: translateY(-2px); }

.evidence-footer { padding: clamp(70px, 8vw, 120px) var(--edge) 24px; color: #fff; background: var(--blue-dark); }
.evidence-footer-main { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 60px; }
.evidence-footer-main > div img { width: 48px; }
.evidence-footer-main h2 { margin: 22px 0 0; font-size: clamp(34px, 4vw, 60px); font-weight: 300; letter-spacing: -.04em; }
.evidence-footer-main p { max-width: 34ch; margin: 22px 0 0; font-size: 13px; line-height: 1.5; opacity: .72; }
.evidence-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 14px; }
.evidence-footer nav a { transition: opacity .25s ease; }
.evidence-footer nav a:hover,
.evidence-footer nav a:focus-visible { opacity: .62; }
.evidence-footer-bottom { margin-top: 90px; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgb(255 255 255 / .2); font-size: 11px; text-transform: uppercase; }
.evidence-wa {
  min-height: 42px;
  padding: 0 17px;
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  color: var(--blue-deep);
  background: #fff;
  border: 1px solid rgb(18 54 83 / .2);
  border-radius: 999px;
  font-size: 12px;
  box-shadow: 0 12px 34px rgb(14 48 82 / .18);
}

:focus-visible { outline: 2px solid #76bce4; outline-offset: 4px; }

@media (max-width: 1080px) {
  .evidence-hero-intro { margin-left: 0; }
  .evidence-fan { right: -120px; }
  .supporting-documents > a { grid-template-columns: 1fr; }
  .supporting-documents figure { height: 280px; }
}

@media (max-width: 900px) {
  .evidence-tools > a { display: none; }
  .evidence-hero { padding-top: calc(var(--header) + 70px); }
  .evidence-hero-intro { width: min(420px, 48vw); margin-left: 0; }
  .evidence-fan { width: 57vw; right: -19vw; bottom: 78px; opacity: .72; }
  .scope-note { grid-template-columns: 1fr; gap: 45px; }
  .library-layout { grid-template-columns: 1fr; }
  .library-preview { display: none; }
  .document-row { grid-template-columns: 106px 34px 1fr auto; }
  .row-preview { width: 106px; height: 138px; display: block; object-fit: contain; grid-column: 1; grid-row: 1; background: #e6edf5; }
  .document-index { grid-column: 2; }
  .document-copy { grid-column: 3; }
  .document-action { grid-column: 4; }
  .testing-heading { grid-template-columns: 1fr; }
  .testing-heading > p:first-child { grid-column: auto; }
  .test-report { grid-template-columns: 230px 1fr; }
  .supporting-heading { grid-template-columns: 1fr; align-items: start; }
  .supporting-documents { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  :root { --header: 58px; --edge: 20px; }
  .evidence-brand img { width: 25px; height: 29px; }
  .evidence-brand strong { font-size: 20px; }
  .evidence-menu { padding-top: 42px; align-items: start; }
  .evidence-menu a { font-size: clamp(38px, 12vw, 58px); }

  .evidence-hero { min-height: 92dvh; padding: 106px 20px 76px; }
  .evidence-hero h1 { max-width: 8ch; font-size: clamp(62px, 18vw, 84px); }
  .evidence-hero-intro { width: min(330px, calc(100vw - 40px)); margin-top: 36px; }
  .evidence-fan { width: 72vw; height: 48vw; right: -25vw; bottom: 58px; opacity: .4; }
  .evidence-hero-rail { min-height: 50px; padding-inline: 20px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); font-size: 8px; }
  .evidence-hero-rail span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .evidence-hero-rail span:nth-child(2) { text-align: right; }
  .evidence-hero-rail span:nth-child(3) { display: none; }

  .scope-note { padding: 82px 20px; }
  .scope-note > div { grid-template-columns: 1fr; gap: 24px; }

  .document-library { padding: 94px 20px; }
  .library-heading h2,
  .testing-heading h2,
  .supporting-heading h2 { font-size: clamp(56px, 16vw, 76px); }
  .library-layout { margin-top: 68px; }
  .document-row { min-height: 0; padding: 30px 0; grid-template-columns: 74px 1fr auto; gap: 14px; }
  .row-preview { width: 74px; height: 96px; grid-column: 1; grid-row: 1 / span 2; }
  .document-index { display: none; }
  .document-copy { grid-column: 2 / -1; }
  .document-copy h3 { font-size: 27px; }
  .document-copy p { font-size: 13px; }
  .document-action { grid-column: 2; padding-top: 4px; }

  .testing-library { padding: 94px 20px; }
  .test-reports { margin-top: 68px; }
  .test-report { min-height: 0; padding: 38px 0 58px; grid-template-columns: 1fr; gap: 34px; }
  .test-report figure { height: 340px; }
  .test-report h3 { font-size: clamp(40px, 12vw, 54px); }
  .testing-note { margin-top: 64px; grid-template-columns: 1fr; gap: 14px; }

  .supporting-library { padding: 94px 20px; }
  .supporting-documents { margin-top: 68px; grid-template-columns: 1fr; }
  .supporting-documents > a { min-height: 0; padding: 32px 24px 44px; grid-template-columns: 1fr; }
  .supporting-documents figure { height: 330px; }

  .evidence-close { min-height: 82dvh; padding: 92px 20px 42px; grid-template-columns: 1fr; align-items: start; gap: 70px; }
  .evidence-close h2 { font-size: clamp(56px, 16vw, 76px); }
  .evidence-close > a { justify-self: start; }

  .evidence-footer { padding: 76px 20px 22px; }
  .evidence-footer-main { grid-template-columns: 1fr; gap: 54px; }
  .evidence-footer-bottom { margin-top: 70px; align-items: flex-start; flex-direction: column; }
  .evidence-wa { right: 12px; bottom: 12px; }
}

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