@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap);
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

:root{--bg: #f7f6f2;--surface: #ffffff;--ink: #101418;--muted: #5d646c;--line: #e3e1da;--accent: #4f28a8;--accent-soft: #ece7f7;--radius: 14px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.6}h1,h2,h3,p,ul,ol{margin:0}h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-0.01em;line-height:1.08}h1{font-size:clamp(2.6rem,6vw,4.4rem)}h1 em{font-style:italic;color:var(--accent)}h2{font-size:clamp(2rem,4vw,3rem);max-width:20ch}h3{font-size:1.05rem;font-weight:600;line-height:1.3}a{color:inherit}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.lead,.section__intro{color:var(--muted);max-width:54ch}.section__intro{margin-top:20px}.section__cta{margin-top:56px}.btn{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:500;text-decoration:none;color:#fff;background:var(--ink);padding:15px 28px;border-radius:999px;transition:background .2s ease,transform .2s ease}.btn:hover{background:var(--accent);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-link{font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s ease}.btn-link:hover{border-color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nav{position:sticky;top:0;z-index:20;background:rgba(247,246,242,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav__right{display:flex;align-items:center;gap:28px}.nav__link{font-size:.9rem;color:var(--muted);text-decoration:none}.nav__link:hover{color:var(--ink)}@media(max-width: 640px){.nav__link{display:none}}.brand{display:flex;align-items:center;gap:10px;font-weight:600;text-decoration:none}.brand img{width:28px;height:28px}.lang select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);cursor:pointer;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 fill=%27none%27 stroke=%27%23101418%27 stroke-width=%271.5%27%3E%3Cpath d=%27M1 1l4 4 4-4%27/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--line);border-radius:999px;padding:6px 28px 6px 14px;transition:border-color .2s ease}.lang select:hover{border-color:var(--ink)}.hero{padding:72px 0 96px}.hero__grid{display:grid;gap:56px;align-items:center}@media(min-width: 900px){.hero__grid{grid-template-columns:1.15fr .85fr}}.hero .lead{margin-top:28px;font-size:1.15rem}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px}.diagram{margin:0;display:flex;flex-direction:column;gap:14px}.diagram__outside{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted);padding:12px 18px;border:1px dashed var(--line);border-radius:var(--radius)}.diagram__blocked{color:#b3402c;font-weight:600}.diagram__network{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:24px;background:var(--accent-soft);border:1.5px solid var(--accent);border-radius:20px}.diagram__label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.diagram__row{display:flex;align-items:center;gap:12px}.diagram__row .node{flex:1}.diagram__arrow{color:var(--accent);text-align:center}.diagram__arrow--down{line-height:1}.node{display:flex;flex-direction:column;padding:14px 16px;background:var(--surface);border-radius:10px;border:1px solid var(--line)}.node__title{font-weight:600;font-size:.95rem}.node__sub{font-size:.8rem;color:var(--muted)}.node--accent{background:var(--ink);border-color:var(--ink);color:#fff}.node--accent .node__sub{color:rgba(255,255,255,.65)}.section{padding:96px 0;border-top:1px solid var(--line)}@media(max-width: 640px){.section{padding:64px 0}}.risk{background:var(--ink);color:#fff;border-top:0}.risk .eyebrow{color:#b9a4f0}.risk .section__intro{color:rgba(255,255,255,.7)}.risk__grid{display:grid;gap:32px;margin-top:56px;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}.risk__item{padding-top:24px;border-top:1px solid rgba(255,255,255,.25)}.risk__item p{margin-top:10px;font-size:.95rem;color:rgba(255,255,255,.7)}.risk__closing{margin-top:56px;max-width:60ch;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.4rem,2.5vw,1.8rem);line-height:1.3}.risk__closing a{display:inline-block;margin-left:6px;font-family:"Inter",system-ui,sans-serif;font-size:.95rem;color:#b9a4f0;text-decoration:none;border-bottom:1px solid rgba(185,164,240,.4)}.risk__closing a:hover{border-color:#b9a4f0}.principles{padding:56px 0}.principles__grid{display:grid;gap:40px 32px;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr))}.principle__no{display:block;font-size:.8rem;font-weight:600;color:var(--accent);margin-bottom:14px}.principle p{margin-top:10px;color:var(--muted);font-size:.95rem}.features{background:var(--surface)}.features__grid{display:grid;gap:40px 32px;margin-top:56px;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.feature{padding-top:24px;border-top:1px solid var(--line)}.feature h3::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--accent);vertical-align:1px}.feature p{margin-top:10px;font-size:.95rem;color:var(--muted)}.cases{display:grid;gap:20px;margin-top:56px;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}.case{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s ease,transform .2s ease}.case:hover{border-color:var(--accent);transform:translateY(-2px)}.case p{font-size:.95rem;color:var(--muted)}.case__why{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:.85rem;color:var(--accent)}.steps{list-style:none;padding:0;display:grid;gap:32px;margin-top:56px;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr))}.steps li{padding-top:24px;border-top:2px solid var(--ink)}.steps p{margin-top:10px;color:var(--muted);font-size:.95rem}.steps__no{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:2rem;line-height:1;margin-bottom:14px;color:var(--accent)}.models__grid{display:grid;gap:56px}@media(min-width: 900px){.models__grid{grid-template-columns:1fr 1fr}}.about__grid{display:grid;gap:56px}@media(min-width: 900px){.about__grid{grid-template-columns:1fr 1fr}}.skills{list-style:none;padding:0}.skills li{padding:20px 0;border-top:1px solid var(--line)}.skills li:last-child{border-bottom:1px solid var(--line)}.skills p{margin-top:4px;color:var(--muted);font-size:.95rem}.contact{background:var(--surface)}.contact__grid{display:grid;gap:56px}@media(min-width: 900px){.contact__grid{grid-template-columns:.9fr 1.1fr}}.form{display:flex;flex-direction:column;gap:18px}.form .btn{align-self:flex-start}.form__trap{position:absolute;left:-9999px}.form__status{font-size:.95rem;color:var(--accent)}.form__status.is-error{color:#b3402c}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;font-weight:500}.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s ease,background .2s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--surface)}.field textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--muted)}.consent input{margin-top:5px;accent-color:var(--accent)}.footer{padding:40px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}.footer__inner{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between}.footer__brand{font-weight:600;color:var(--ink)}.footer__links{display:flex;gap:24px}.footer__links a:hover{color:var(--ink)}.footer__copy{width:100%;font-size:.8rem}
