/* Archived Peptavi stylesheet. Static rules preserved; class names and asset URLs localized. */
:root {
  --paper:#fff;
  --ink:#1b2450;
  --brand:#4c63e6;
  --brand-hover:#3a4fc9;
  --brand-soft:#e7eafc;
  --tint:#eef1fd;
  --line:#e5e7f2;
  --muted:#5b6270;
  --paper-72:#ffffffb8;
  --paper-16:#ffffff29;
  --nav-bg:#ffffffd6;
  --ink-56:#1b24508f;
  --shadow-float:0 30px 70px -30px #1b245047, 0 8px 20px -12px #1b24501f;
  --shadow-vial:drop-shadow(0 24px 24px #1b245029) drop-shadow(0 4px 8px #1b24501a);
  --font-sans:var(--font-hanken), system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif:var(--font-instrument), Georgia, "Times New Roman", serif;
  --fs-body:17px;
  --fs-small:15px;
  --fs-lead:19px;
  --fs-fine:12px;
  --r-card:16px;
  --r-panel:24px;
  --r-pill:999px;
  --container:1152px;
  --container-narrow:780px;
  --gutter:32px;
  --pad-x:24px;
  --space:clamp(64px, 8.5vw, 112px);
  --nav-h:72px;
  --lightningcss-light:initial;
  --lightningcss-dark: ;
  color-scheme:light
}

@media (max-width:768px) {
  :root {
    --fs-small:16px;
    --fs-fine:13px;
    --fs-lead:18px;
    --pad-x:20px;
    --nav-h:64px
  }
}

*,:before,:after {
  box-sizing:border-box
}

html {
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth
}

body {
  background:var(--paper);
  color:var(--ink);
  font:400 var(--fs-body) / 1.55 var(--font-sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizelegibility;
  margin:0;
  overflow-x:clip
}

h1,h2,h3,h4,p,figure,ul,ol {
  margin:0
}

ul,ol {
  padding:0;
  list-style:none
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
  background:0 0;
  border:0;
  padding:0
}

img,svg,video {
  max-width:100%;
  display:block
}

img {
  height:auto
}

::selection {
  background:var(--brand-soft);
  color:var(--ink)
}

::-webkit-scrollbar {
  width:10px;
  height:10px
}

::-webkit-scrollbar-track {
  background:var(--tint)
}

::-webkit-scrollbar-thumb {
  background:var(--ink);
  border:2px solid var(--tint);
  border-radius:5px
}

[id] {
  scroll-margin-top:var(--nav-h)
}

h1,h2,h3,h4 {
  letter-spacing:-.03em;
  text-wrap:balance;
  font-weight:500;
  line-height:1.05
}

h1 {
  letter-spacing:-.035em;
  font-size:clamp(40px,5.4vw,68px);
  line-height:1.02
}

h2 {
  font-size:clamp(32px,3.7vw,46px);
  line-height:1.08
}

h3 {
  letter-spacing:-.012em;
  font-size:20px;
  font-weight:600;
  line-height:1.25
}

h4 {
  font-size:var(--fs-small);
  letter-spacing:.01em;
  font-weight:600
}

.lead {
  font-size:var(--fs-lead);
  color:var(--muted);
  max-width:58ch;
  line-height:1.5
}

.small {
  font-size:var(--fs-small);
  color:var(--muted);
  line-height:1.5
}

.fine {
  font-size:var(--fs-fine);
  color:var(--ink-56);
  line-height:1.45
}

.accent {
  font-family:var(--font-serif);
  color:var(--brand);
  letter-spacing:-.01em;
  font-size:1.06em;
  font-style:normal;
  font-weight:400
}

.whisper {
  font-family:var(--font-sans);
  color:var(--brand);
  letter-spacing:-.01em;
  margin-bottom:12px;
  font-size:clamp(18px,1.5vw,20px);
  font-style:normal;
  font-weight:500;
  line-height:1.2;
  display:block
}

.tnum {
  font-variant-numeric:tabular-nums
}

:focus {
  outline:none
}

:focus-visible {
  outline:2px solid var(--brand);
  outline-offset:3px;
  border-radius:6px
}

.skip {
  z-index:100;
  background:var(--ink);
  color:var(--paper);
  border-radius:var(--r-pill);
  padding:12px 18px;
  font-weight:600;
  transition:top .15s;
  position:absolute;
  top:-60px;
  left:16px
}

.skip:focus {
  top:12px
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .skip {
    transition:none
  }
}

@font-face {
  font-family:Hanken Grotesk;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/hanken-grotesk-cyrillic-ext.woff2")format("woff2");
  unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
  font-family:Hanken Grotesk;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/hanken-grotesk-vietnamese.woff2")format("woff2");
  unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB
}

@font-face {
  font-family:Hanken Grotesk;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/hanken-grotesk-latin-ext.woff2")format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
  font-family:Hanken Grotesk;
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url("/assets/hanken-grotesk-latin.woff2")format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
  font-family:Hanken Grotesk Fallback;
  src:local(Arial);
  ascent-override:99.07%;
  descent-override:30.02%;
  line-gap-override:0.0%;
  size-adjust:100.94%
}

.FontHankenGrotesk-className {
  font-family:Hanken Grotesk,Hanken Grotesk Fallback;
  font-style:normal
}

.FontHankenGrotesk-variable {
  --font-hanken:"Hanken Grotesk", "Hanken Grotesk Fallback"
}

@font-face {
  font-family:Instrument Serif;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/instrument-serif-latin-ext.woff2")format("woff2");
  unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
  font-family:Instrument Serif;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/assets/instrument-serif-latin.woff2")format("woff2");
  unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
  font-family:Instrument Serif Fallback;
  src:local(Times New Roman);
  ascent-override:117.94%;
  descent-override:36.93%;
  line-gap-override:0.0%;
  size-adjust:83.94%
}

.FontInstrumentSerif-className {
  font-family:Instrument Serif,Instrument Serif Fallback;
  font-style:normal;
  font-weight:400
}

.FontInstrumentSerif-variable {
  --font-instrument:"Instrument Serif", "Instrument Serif Fallback"
}

.BrandMark-brand {
  letter-spacing:-.045em;
  color:var(--brand);
  align-items:center;
  font-size:23px;
  font-weight:800;
  line-height:1;
  display:inline-flex
}
