/* Layout concept: engineered spec-sheet grid. Navy "rack" bands carry circuit traces from the logo;
   light sections read like clean product documentation with mono labels and status LEDs. */
:root {
  --bg: #F5F7FB;
  --surface: #FFFFFF;
  --surface-2: #EDF1F7;
  --ink: #0C1A2E;
  --ink-2: #46556B;
  --ink-3: #6B7A90;
  --line: #D8DFEA;
  --line-2: #C5CFDD;
  --brand: #1F5FD1;
  --brand-hover: #174DB0;
  --brand-ink: #123F96;
  --brand-soft: #E4ECFB;
  --on-brand: #FFFFFF;
  --signal: #E8940C;
  --led: #1FB866;
  --navy: #0A1628;
  --navy-2: #102240;
  --navy-line: #1F3556;
  --on-navy: #EAF0F8;
  --on-navy-2: #A3B4CC;
  --trace: rgba(110, 160, 255, .30);
  --pulse: #8FB5FF;
  --shadow: 0 1px 2px rgba(12, 26, 46, .06), 0 8px 24px -12px rgba(12, 26, 46, .14);
  --mark-bg: transparent;

  --f-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-body: "IBM Plex Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --fs-hero: clamp(2.35rem, 1.3rem + 3.6vw, 4rem);
  --fs-h1: clamp(2.1rem, 1.3rem + 2.8vw, 3.4rem);
  --fs-h2: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem);
  --fs-h3: 1.2rem;
  --fs-lead: clamp(1.06rem, 1rem + .3vw, 1.2rem);
  --fs-body: 1rem;
  --fs-sm: .9rem;
  --fs-xs: .75rem;

  --r-sm: 6px;
  --r: 10px;
  --r-lg: 16px;
  --gutter-l: max(20px, env(safe-area-inset-left, 0px));
  --gutter-r: max(20px, env(safe-area-inset-right, 0px));
  --section: clamp(64px, 8vw, 112px);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0A111D; --surface: #101A2A; --surface-2: #142135; --ink: #E7EDF6; --ink-2: #A2B0C4; --ink-3: #7F8EA5;
    --line: #20304A; --line-2: #2A3D5C; --brand: #5C8DFF; --brand-hover: #7AA2FF; --brand-ink: #A6C0FF; --brand-soft: #14254A;
    --on-brand: #06122A; --signal: #F5A93A; --led: #34D27F; --navy: #060D19; --navy-2: #0C1A31; --navy-line: #1B2E4D;
    --on-navy: #EAF0F8; --on-navy-2: #A3B4CC; --trace: rgba(110, 160, 255, .26); --pulse: #9DBEFF;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -14px rgba(0, 0, 0, .6); --mark-bg: #EAF0F8;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0A111D; --surface: #101A2A; --surface-2: #142135; --ink: #E7EDF6; --ink-2: #A2B0C4; --ink-3: #7F8EA5;
  --line: #20304A; --line-2: #2A3D5C; --brand: #5C8DFF; --brand-hover: #7AA2FF; --brand-ink: #A6C0FF; --brand-soft: #14254A;
  --on-brand: #06122A; --signal: #F5A93A; --led: #34D27F; --navy: #060D19; --navy-2: #0C1A31; --navy-line: #1B2E4D;
  --on-navy: #EAF0F8; --on-navy-2: #A3B4CC; --trace: rgba(110, 160, 255, .26); --pulse: #9DBEFF;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -14px rgba(0, 0, 0, .6); --mark-bg: #EAF0F8;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--f-body); font-size: var(--fs-body); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--brand-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--brand); }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--f-display); font-stretch: 112%; color: var(--ink); line-height: 1.12; letter-spacing: -.015em; margin: 0; text-wrap: balance; }
h1 { font-size: var(--fs-h1); font-weight: 700; }
h2 { font-size: var(--fs-h2); font-weight: 700; }
h3 { font-size: var(--fs-h3); font-weight: 650; letter-spacing: -.005em; line-height: 1.25; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.ic { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--brand); color: var(--on-brand); padding: 10px 14px; border-radius: var(--r-sm); }
.skip:focus { top: 12px; }

.wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-left: var(--gutter-l); padding-right: var(--gutter-r); }
.section { padding-block: var(--section); }
.section--tint { background: var(--surface-2); }
.section--tight { padding-block: clamp(48px, 6vw, 80px); }
.stack { display: grid; gap: 16px; }
.lead { font-size: var(--fs-lead); color: var(--ink-2); max-width: 62ch; }
.muted { color: var(--ink-2); }

/* Labels */
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-mono); font-size: var(--fs-xs); font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--brand-ink); }
.eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--led); box-shadow: 0 0 0 3px color-mix(in srgb, var(--led) 22%, transparent); }
.on-dark .eyebrow { color: var(--on-navy-2); }
.tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: .7rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; background: var(--brand-soft); color: var(--brand-ink); }
.tag--new { background: var(--signal); color: #1B1204; }
.code { font-family: var(--f-mono); font-size: var(--fs-xs); letter-spacing: .06em; color: var(--ink-3); text-transform: uppercase; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: var(--r-sm); font-family: var(--f-body); font-weight: 600; font-size: .98rem; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .15s, border-color .15s, color .15s, transform .15s; white-space: nowrap; }
.btn .ic { width: 18px; height: 18px; transition: transform .15s; }
.btn:hover .ic { transform: translateX(3px); }
.btn--primary { background: var(--brand); color: var(--on-brand); }
.btn--primary:hover { background: var(--brand-hover); color: var(--on-brand); }
.btn--ghost { border-color: var(--line-2); color: var(--ink); background: var(--surface); }
.btn--ghost:hover { border-color: var(--brand); color: var(--brand-ink); }
.btn--light { border-color: rgba(234, 240, 248, .28); color: var(--on-navy); background: transparent; }
.btn--light:hover { border-color: var(--on-navy); color: var(--on-navy); background: rgba(234, 240, 248, .06); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; color: var(--brand-ink); }
.link-arrow .ic { width: 18px; height: 18px; transition: transform .15s; }
.link-arrow:hover .ic { transform: translateX(3px); }

/* Header */
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--surface); }
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: color-mix(in srgb, var(--surface) 92%, transparent); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; gap: 24px; height: 72px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); margin-right: auto; }
.brand img { width: 40px; height: 40px; border-radius: 50%; background: var(--mark-bg); }
.brand-text { display: grid; line-height: 1; }
.brand-text b { font-family: var(--f-display); font-stretch: 118%; font-weight: 700; font-size: 1.08rem; letter-spacing: .06em; color: var(--brand-ink); }
.brand-text span { font-family: var(--f-mono); font-size: .62rem; letter-spacing: .3em; color: var(--ink-2); margin-top: 4px; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav > a, .nav-item > button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: var(--r-sm); font: 500 .94rem var(--f-body); color: var(--ink); text-decoration: none; background: none; border: 0; cursor: pointer; }
.nav > a:hover, .nav-item > button:hover, .nav > a[aria-current="page"], .nav-item.is-current > button { color: var(--brand-ink); background: var(--brand-soft); }
.nav .tag--new { padding: 1px 5px; font-size: .6rem; }
.nav-item { position: relative; }
.nav-item > button .ic { width: 16px; height: 16px; transition: transform .15s; }
.dropdown { position: absolute; top: calc(100% + 10px); left: -12px; width: 340px; padding: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); display: grid; gap: 2px; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s; }
.dropdown::before { content: ""; position: absolute; inset: -12px 0 auto; height: 12px; }
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown, .nav-item.open .dropdown { opacity: 1; visibility: visible; transform: none; }
.nav-item:hover > button .ic, .nav-item.open > button .ic { transform: rotate(180deg); }
.dropdown a { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: start; padding: 10px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); }
.dropdown a:hover { background: var(--surface-2); color: var(--ink); }
.dropdown a .ic { width: 20px; height: 20px; margin: 8px; color: var(--brand); }
.dropdown a b { display: block; font-weight: 600; font-size: .94rem; }
.dropdown a span { display: block; font-size: .82rem; color: var(--ink-2); line-height: 1.4; }
.dropdown hr { border: 0; border-top: 1px solid var(--line); margin: 6px 4px; }
.header-cta { min-height: 42px; padding: 0 16px; font-size: .92rem; }
.menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface); color: var(--ink); cursor: pointer; }
.menu-btn .ic-close { display: none; }
.nav-open .menu-btn .ic-close { display: block; }
.nav-open .menu-btn .ic-menu { display: none; }
@media (max-width: 1040px) {
  .menu-btn { display: inline-flex; }
  .header-cta { display: none; }
  .nav { position: fixed; inset: calc(72px + env(safe-area-inset-top, 0px)) 0 0; flex-direction: column; align-items: stretch; gap: 0; padding: 12px var(--gutter-r) 32px var(--gutter-l); background: var(--surface); overflow-y: auto; display: none; border-top: 1px solid var(--line); }
  .nav-open .nav { display: flex; }
  .nav > a, .nav-item > button { width: 100%; justify-content: space-between; padding: 14px 8px; font-size: 1.05rem; border-bottom: 1px solid var(--line); border-radius: 0; }
  .nav-item .dropdown { position: static; width: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 4px 0 8px; display: none; }
  .nav-item.open .dropdown { display: grid; }
  .nav-item:hover .dropdown { display: none; }
  .nav-item.open:hover .dropdown { display: grid; }
  .nav .nav-cta { margin-top: 20px; justify-content: center; border: 0; border-radius: var(--r-sm); background: var(--brand); color: var(--on-brand); }
}
@media (min-width: 1041px) { .nav .nav-cta { display: none; } }

/* Hero */
.on-dark { background: var(--navy); color: var(--on-navy); }
.on-dark h1, .on-dark h2, .on-dark h3 { color: var(--on-navy); }
.on-dark .lead, .on-dark .muted { color: var(--on-navy-2); }
.hero { position: relative; overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--navy-line); }
.hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 15% 40%, var(--navy) 30%, transparent 75%); pointer-events: none; }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-block: clamp(56px, 8vw, 104px); }
.hero h1 { font-size: var(--fs-hero); font-weight: 700; margin-block: 20px 22px; letter-spacing: -.025em; }
.hero h1 em { font-style: normal; color: var(--pulse); }
.hero .lead { margin-bottom: 32px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 28px; font-size: var(--fs-sm); color: var(--on-navy-2); }
.hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
.hero-meta .ic { width: 18px; height: 18px; color: var(--led); }
@media (max-width: 900px) { .hero .wrap { grid-template-columns: minmax(0, 1fr); } }

/* Lifecycle panel (rack unit) */
.rack { background: color-mix(in srgb, var(--navy-2) 88%, transparent); border: 1px solid var(--navy-line); border-radius: var(--r-lg); padding: 8px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.rack-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px 14px; font-family: var(--f-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--on-navy-2); }
.rack-head i { display: inline-flex; gap: 5px; }
.rack-head i::before, .rack-head i::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--led); }
.rack-head i::after { background: var(--signal); }
.rack ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rack li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 14px; border-radius: var(--r-sm); background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .05); }
.rack li .n { font-family: var(--f-mono); font-size: .78rem; color: var(--pulse); }
.rack li b { display: block; font-weight: 600; color: var(--on-navy); font-size: .98rem; }
.rack li span { display: block; font-size: .84rem; color: var(--on-navy-2); line-height: 1.4; }
.rack li .led { width: 8px; height: 8px; border-radius: 50%; background: var(--led); box-shadow: 0 0 8px var(--led); animation: blink 3.2s infinite; }
.rack li:nth-child(2) .led { animation-delay: .5s; } .rack li:nth-child(3) .led { animation-delay: 1s; } .rack li:nth-child(4) .led { animation-delay: 1.5s; } .rack li:nth-child(5) .led { animation-delay: 2s; } .rack li:nth-child(6) .led { animation-delay: 2.5s; }
@keyframes blink { 0%, 86%, 100% { opacity: 1; } 90% { opacity: .25; } }

/* Section heading */
.sec-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 20px 40px; margin-bottom: clamp(32px, 4vw, 52px); }
.sec-head > div { display: grid; gap: 14px; max-width: 720px; min-width: 0; }

/* Sector photo tiles */
.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tile { position: relative; border-radius: var(--r-lg); overflow: hidden; min-height: 340px; display: flex; align-items: end; color: #fff; background: var(--navy); }
.tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.tile:hover img { transform: scale(1.04); }
.tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 13, 25, .05) 25%, rgba(6, 13, 25, .88) 100%); }
.tile div { position: relative; z-index: 1; padding: 24px; display: grid; gap: 8px; }
.tile .code { color: rgba(255, 255, 255, .7); }
.tile h3 { color: #fff; font-size: 1.35rem; }
.tile p { color: rgba(255, 255, 255, .82); font-size: .95rem; }
@media (max-width: 860px) { .tiles { grid-template-columns: minmax(0, 1fr); } .tile { min-height: 260px; } }

/* Capability rows */
.caps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.cap { padding: 28px 28px 32px 0; border-bottom: 1px solid var(--line); display: grid; gap: 12px; align-content: start; }
.cap:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--line); }
.cap .ic { width: 28px; height: 28px; color: var(--brand); }
.cap p { color: var(--ink-2); font-size: .96rem; }
@media (max-width: 900px) { .caps { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .cap:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; } .cap:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); } }
@media (max-width: 600px) { .caps { grid-template-columns: minmax(0, 1fr); } .cap:nth-child(even) { padding-left: 0; border-left: 0; } .cap { padding-right: 0; } }

/* Cards */
.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: minmax(0, 1fr); } }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 14px; min-width: 0; transition: border-color .2s, box-shadow .2s, transform .2s; }
a.card { text-decoration: none; color: inherit; }
a.card:hover, .card--hover:hover { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); box-shadow: var(--shadow); }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.icon-box { width: 48px; height: 48px; border-radius: var(--r); display: grid; place-items: center; background: var(--brand-soft); color: var(--brand-ink); }
.card p { color: var(--ink-2); font-size: .96rem; }
.card .link-arrow { margin-top: auto; padding-top: 6px; }
.ticks { display: grid; gap: 8px; }
.ticks li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; font-size: .94rem; color: var(--ink); line-height: 1.45; }
.ticks li::before { content: ""; width: 14px; height: 14px; margin-top: 3px; border-radius: 3px; background: var(--brand-soft); box-shadow: inset 0 0 0 4px var(--brand-soft); border: 1.5px solid var(--brand); }
.ticks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
@media (max-width: 520px) { .ticks--2 { grid-template-columns: minmax(0, 1fr); } }
.on-dark .ticks li { color: var(--on-navy); }
.on-dark .ticks li::before { background: transparent; box-shadow: none; border-color: var(--pulse); }

/* Spec cards (products) */
.spec { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.spec-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px dashed var(--line-2); background: var(--surface-2); }
.spec-head .status { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.spec-head .status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--led); }
.spec-body { padding: 24px 20px; display: grid; gap: 14px; flex: 1; align-content: start; }
.spec-body .ic { width: 34px; height: 34px; color: var(--brand); stroke-width: 1.4; }
.spec-body p { color: var(--ink-2); font-size: .95rem; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips li { font-size: .8rem; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-2); background: var(--bg); }
.spec-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--line); font-family: var(--f-mono); font-size: .78rem; color: var(--ink); }
.spec-foot span { color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; }

/* AI studio band */
.studio { position: relative; overflow: hidden; isolation: isolate; }
.studio .wrap { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 960px) { .studio .wrap { grid-template-columns: minmax(0, 1fr); } }
.studio-copy { display: grid; gap: 20px; align-content: start; }
.formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.formats div { border: 1px solid var(--navy-line); border-radius: var(--r); padding: 14px; display: grid; gap: 6px; background: rgba(255, 255, 255, .02); min-width: 0; }
.formats .ic { color: var(--pulse); width: 22px; height: 22px; }
.formats b { font-size: .95rem; color: var(--on-navy); }
.formats span { font-family: var(--f-mono); font-size: .7rem; color: var(--on-navy-2); letter-spacing: .04em; }


/* Device mockups */
.devices { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 150px; grid-template-rows: auto auto; gap: 16px; align-items: end; }
.dev { border-radius: 14px; border: 1px solid var(--navy-line); background: var(--navy-2); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); min-width: 0; }
.dev-label { display: flex; justify-content: space-between; gap: 8px; padding: 8px 12px; font-family: var(--f-mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--on-navy-2); border-bottom: 1px solid var(--navy-line); }
.dev-label i { font-style: normal; color: var(--signal); }
.screen { position: relative; background: linear-gradient(135deg, #12346E 0%, #1F5FD1 55%, #3E86F0 100%); overflow: hidden; }
.screen::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 28px 28px; }
.yt .screen { aspect-ratio: 16 / 9; }
.yt-title { position: absolute; left: 18px; top: 18px; right: 18px; display: grid; gap: 6px; }
.yt-title b { font-family: var(--f-display); font-stretch: 112%; font-size: clamp(1rem, .7rem + 1.2vw, 1.5rem); color: #fff; line-height: 1.1; max-width: 16ch; }
.yt-title span { font-family: var(--f-mono); font-size: .66rem; letter-spacing: .1em; color: rgba(255, 255, 255, .75); text-transform: uppercase; }
.play { position: absolute; left: 50%; top: 56%; transform: translate(-50%, -50%); width: 58px; height: 58px; border-radius: 50%; background: rgba(255, 255, 255, .95); display: grid; place-items: center; color: #12346E; }
.play .ic { fill: currentColor; stroke: none; width: 22px; height: 22px; margin-left: 3px; }
.scrub { position: absolute; left: 14px; right: 14px; bottom: 12px; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .25); display: flex; gap: 3px; }
.scrub i { flex: 1; border-radius: 2px; }
.scrub i:first-child { background: var(--signal); flex: 1.3; }
.chapters { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px 12px; }
.chapters span { font-family: var(--f-mono); font-size: .64rem; padding: 3px 7px; border-radius: 4px; background: rgba(255, 255, 255, .05); color: var(--on-navy-2); }
.phone { grid-row: span 2; border-radius: 22px; padding: 6px; background: #050B16; }
.phone .screen { aspect-ratio: 9 / 16; border-radius: 17px; background: linear-gradient(170deg, #0E2A5A 0%, #1F5FD1 60%, #E8940C 140%); }
.reel-cap { position: absolute; left: 10px; right: 34px; bottom: 16px; display: grid; gap: 5px; }
.reel-cap b { font-size: .72rem; color: #fff; line-height: 1.3; }
.reel-cap span { height: 5px; border-radius: 3px; background: rgba(255, 255, 255, .45); }
.reel-cap span + span { width: 60%; }
.reel-side { position: absolute; right: 8px; bottom: 18px; display: grid; gap: 10px; }
.reel-side i { width: 16px; height: 16px; border-radius: 50%; background: rgba(255, 255, 255, .7); }
.reel-tag { position: absolute; top: 12px; left: 10px; font-family: var(--f-mono); font-size: .58rem; letter-spacing: .1em; color: #fff; background: rgba(0, 0, 0, .3); padding: 3px 6px; border-radius: 4px; }
.reel-big { position: absolute; left: 10px; right: 10px; top: 34%; font-family: var(--f-display); font-stretch: 112%; font-weight: 700; font-size: 1.05rem; line-height: 1.1; color: #fff; }
.course { display: grid; grid-template-columns: 38% minmax(0, 1fr); }
.course ol { list-style: none; margin: 0; padding: 10px; display: grid; gap: 4px; border-right: 1px solid var(--navy-line); align-content: start; }
.course li { font-size: .7rem; color: var(--on-navy-2); padding: 6px 8px; border-radius: 5px; display: flex; gap: 6px; align-items: center; line-height: 1.25; }
.course li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--on-navy-2); flex: none; }
.course li.done::before { background: var(--led); border-color: var(--led); }
.course li.now { background: rgba(92, 141, 255, .16); color: var(--on-navy); }
.course li.now::before { border-color: var(--pulse); background: var(--pulse); }
.course-main { padding: 12px; display: grid; gap: 10px; align-content: start; }
.course-main .screen { aspect-ratio: 16 / 8; border-radius: 8px; }
.course-main .screen .ic { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 30px; height: 30px; color: #fff; }
.quiz { display: grid; gap: 5px; }
.quiz b { font-size: .7rem; color: var(--on-navy); font-weight: 600; }
.quiz span { font-size: .66rem; color: var(--on-navy-2); padding: 5px 8px; border: 1px solid var(--navy-line); border-radius: 5px; }
.quiz span.ok { border-color: var(--led); color: var(--on-navy); }
@media (max-width: 520px) { .devices { grid-template-columns: minmax(0, 1fr) 110px; } .course { grid-template-columns: minmax(0, 1fr); } .course ol { border-right: 0; border-bottom: 1px solid var(--navy-line); } }

/* Page hero (interior) */
.page-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--navy); color: var(--on-navy); border-bottom: 1px solid var(--navy-line); }
.page-hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--navy) 35%, transparent 95%); }
.page-hero .wrap { padding-block: clamp(48px, 7vw, 92px); display: grid; gap: 18px; }
.page-hero h1 { color: var(--on-navy); max-width: 20ch; }
.page-hero .lead { color: var(--on-navy-2); }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--on-navy-2); }
.crumbs a { color: var(--on-navy-2); text-decoration: none; }
.crumbs a:hover { color: var(--on-navy); }
.crumbs span[aria-hidden] { opacity: .5; }
.page-hero .btn-row { margin-top: 10px; }

/* Split layouts */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.split--top { align-items: start; }
@media (max-width: 900px) { .split { grid-template-columns: minmax(0, 1fr); } }
.photo { border-radius: var(--r-lg); overflow: hidden; background: var(--surface-2); }
.photo img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }

/* Process steps (real sequences only) */
.steps { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 0; counter-reset: s; position: relative; }
.step { position: relative; padding: 0 20px 0 0; display: grid; gap: 10px; align-content: start; }
.step .n { display: flex; align-items: center; gap: 12px; font-family: var(--f-mono); font-size: .75rem; color: var(--brand-ink); letter-spacing: .08em; margin-bottom: 6px; }
.step .n::before { content: ""; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--brand); background: var(--bg); flex: none; position: relative; z-index: 1; }
.step .n::after { content: ""; height: 2px; flex: 1; background: repeating-linear-gradient(90deg, var(--line-2) 0 6px, transparent 6px 10px); }
.step:last-child .n::after { background: none; }
.step p { color: var(--ink-2); font-size: .94rem; }
.section--tint .step .n::before { background: var(--surface-2); }
@media (max-width: 860px) { .steps { grid-template-columns: minmax(0, 1fr); gap: 24px; } .step .n::after { display: none; } }

/* Industries */
.industries { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.industry { display: grid; gap: 12px; justify-items: start; padding: 20px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); min-width: 0; }
.industry .ic { color: var(--brand); width: 26px; height: 26px; }
.industry b { font-weight: 600; font-size: .95rem; line-height: 1.3; }
@media (max-width: 1000px) { .industries { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .industries { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Values strip */
.values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.value { padding: 24px; display: flex; gap: 14px; align-items: center; min-width: 0; }
.value + .value { border-left: 1px solid var(--line); }
.value .ic { color: var(--brand); }
.value b { font-weight: 600; line-height: 1.3; }
@media (max-width: 900px) { .values { grid-template-columns: repeat(2, minmax(0, 1fr)); } .value:nth-child(3) { border-left: 0; } .value:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (max-width: 480px) { .values { grid-template-columns: minmax(0, 1fr); } .value + .value { border-left: 0; border-top: 1px solid var(--line); } }

/* Category rows (software) */
.cat { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); padding-block: 48px; border-top: 1px solid var(--line); }
.cat:first-child { border-top: 0; padding-top: 0; }
.cat-intro { display: grid; gap: 14px; align-content: start; }
.cat-intro p { color: var(--ink-2); }
.cat-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.item { padding: 22px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); display: grid; gap: 10px; align-content: start; min-width: 0; }
.item .ic { color: var(--brand); }
.item p { color: var(--ink-2); font-size: .94rem; }
@media (max-width: 860px) { .cat { grid-template-columns: minmax(0, 1fr); } }

/* CTA band */
.cta { border-radius: var(--r-lg); background: var(--navy); color: var(--on-navy); position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: clamp(32px, 5vw, 56px); }
.cta canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; opacity: .9; }
.cta h2 { color: var(--on-navy); }
.cta .lead { color: var(--on-navy-2); margin-top: 14px; }
.cta-side { display: grid; gap: 16px; justify-items: start; }
.cta-contacts { display: grid; gap: 10px; font-size: .95rem; }
.cta-contacts a, .cta-contacts span { display: inline-flex; align-items: center; gap: 10px; color: var(--on-navy); text-decoration: none; }
.cta-contacts .ic { width: 18px; height: 18px; color: var(--pulse); }
@media (max-width: 860px) { .cta { grid-template-columns: minmax(0, 1fr); } }

/* FAQ */
.faq { display: grid; gap: 10px; max-width: 860px; }
.faq details { border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.faq summary { list-style: none; cursor: pointer; padding: 18px 20px; font-weight: 600; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ic { width: 18px; height: 18px; color: var(--brand); transition: transform .2s; }
.faq details[open] summary .ic { transform: rotate(180deg); }
.faq details p { padding: 0 20px 20px; color: var(--ink-2); max-width: 70ch; }

/* Callout / list cards */
.note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; padding: 20px 22px; border-radius: var(--r); background: var(--brand-soft); color: var(--ink); align-items: start; }
.note .ic { color: var(--brand-ink); }
.note p { color: var(--ink-2); font-size: .95rem; }

/* Contact */
.contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
.contact-list { display: grid; gap: 4px; border-top: 1px solid var(--line); }
.contact-list > * { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.contact-list .icon-box { width: 44px; height: 44px; }
.contact-list small { display: block; font-family: var(--f-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.contact-list b { font-weight: 600; overflow-wrap: anywhere; }
.form { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 4vw, 36px); display: grid; gap: 18px; box-shadow: var(--shadow); }
.form-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 560px) { .form-row { grid-template-columns: minmax(0, 1fr); } }
.field { display: grid; gap: 7px; }
.field label { font-weight: 600; font-size: .9rem; }
.field label span { font-weight: 400; color: var(--ink-3); }
.field input, .field select, .field textarea { width: 100%; font: inherit; font-size: 1rem; color: var(--ink); background: var(--bg); border: 1px solid var(--line-2); border-radius: var(--r-sm); padding: 12px 14px; transition: border-color .15s, box-shadow .15s; }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent); }
.form-status { font-size: .95rem; padding: 12px 14px; border-radius: var(--r-sm); }
.form-status.ok { background: color-mix(in srgb, var(--led) 14%, var(--surface)); color: var(--ink); border: 1px solid color-mix(in srgb, var(--led) 50%, transparent); }
.form-status.err { background: color-mix(in srgb, #E5484D 12%, var(--surface)); color: var(--ink); border: 1px solid color-mix(in srgb, #E5484D 50%, transparent); }
.form small { color: var(--ink-3); font-size: .82rem; }
.btn[disabled] { opacity: .6; cursor: progress; }

/* Footer */
.site-footer { background: var(--navy); color: var(--on-navy-2); padding-block: 64px 32px; margin-top: var(--section); border-top: 1px solid var(--navy-line); }
.site-footer.flush { margin-top: 0; }
.foot-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
@media (max-width: 900px) { .foot-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 520px) { .foot-grid { grid-template-columns: minmax(0, 1fr); } }
.site-footer .brand { color: var(--on-navy); margin: 0 0 16px; }
.site-footer .brand img { background: #EAF0F8; }
.site-footer .brand-text b { color: var(--on-navy); }
.site-footer .brand-text span { color: var(--on-navy-2); }
.site-footer h4 { font-family: var(--f-mono); font-stretch: 100%; font-weight: 500; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--on-navy); margin-bottom: 16px; }
.site-footer ul { display: grid; gap: 10px; }
.site-footer a { color: var(--on-navy-2); text-decoration: none; font-size: .94rem; }
.site-footer a:hover { color: var(--on-navy); }
.site-footer p { font-size: .94rem; max-width: 36ch; }
.foot-contact li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; font-size: .94rem; align-items: start; }
.foot-contact .ic { width: 18px; height: 18px; color: var(--pulse); margin-top: 2px; }
.social { display: flex; gap: 10px; margin-top: 20px; }
.social a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--navy-line); border-radius: var(--r-sm); color: var(--on-navy); }
.social a:hover { border-color: var(--on-navy-2); }
.social .ic { width: 20px; height: 20px; }
.foot-bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--navy-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .84rem; }

/* 404 */
.nf { min-height: 60vh; display: grid; place-items: center; text-align: center; }
.nf .code { font-size: .9rem; }

/* ---- refinements ---- */
.ticks li::before { width: 16px; height: 16px; margin-top: 3px; border: 0; border-radius: 0; box-shadow: none; background: var(--brand);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.5 4.5 10.5-10.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.5 4.5 10.5-10.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.on-dark .ticks li::before { background: var(--pulse); }
.cta .eyebrow { color: var(--on-navy-2); }
.cta::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--navy) 50%, color-mix(in srgb, var(--navy) 40%, transparent) 100%); pointer-events: none; }
.site-footer { margin-top: 0; }
.spec-foot { text-align: right; }
.spec-foot span { text-align: left; }
.caps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.caps--4 .cap, .caps--4 .cap:not(:nth-child(3n+1)) { padding: 28px 24px 32px; border-left: 1px solid var(--line); }
.caps--4 .cap:nth-child(4n+1) { padding-left: 0; border-left: 0; }
@media (max-width: 900px) {
  .caps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .caps--4 .cap:nth-child(odd) { padding-left: 0; border-left: 0; }
  .caps--4 .cap:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
}
@media (max-width: 600px) { .caps--4 { grid-template-columns: minmax(0, 1fr); } .caps--4 .cap:nth-child(n) { padding-left: 0; padding-right: 0; border-left: 0; } }
@media (max-width: 900px) { .hero canvas, .page-hero canvas, .studio canvas { opacity: .45; } .hero::after { background: linear-gradient(180deg, color-mix(in srgb, var(--navy) 70%, transparent), color-mix(in srgb, var(--navy) 40%, transparent)); } }
@media (max-width: 640px) {
  .devices { grid-template-columns: minmax(0, 1fr); }
  .devices .phone { display: none; }
  .play { width: 44px; height: 44px; top: auto; left: auto; right: 14px; bottom: 26px; transform: none; }
  .play .ic { width: 18px; height: 18px; }
  .formats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .formats div { padding: 12px 10px; }
  .formats span { font-size: .62rem; }
}
@media (max-width: 380px) { .formats { grid-template-columns: minmax(0, 1fr); } }
.page-hero .eyebrow, .studio .eyebrow { color: var(--on-navy-2); }
@media (max-width: 1040px) {
  .nav-open .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--surface); }
  .nav-open body { overflow: hidden; }
  .nav { height: calc(100dvh - 72px - env(safe-area-inset-top, 0px)); inset: calc(72px + env(safe-area-inset-top, 0px)) 0 auto; }
}

/* Original Upward logo (circuit mark + wordmark) */
.brand img, .brand .brand-text { display: none; }
.brand::before { content: ""; display: block; width: 112px; height: 68px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAADcCAMAAABqF8swAAAAwFBMVEUAAAAPYLEEHXMeW64fYqYfXK4MbHMIMJ/2+fhYZ61lkchomMtub3KSrtQAAP6p0d9gmLJHdroA//8CO55FeLtCdLpue+SLq9URZMJYh8MNeu///wCdp7N3CHdLfMFRhL789LYHPZ549fT/AP8EeAQjpqoA/wD/AACwabB/fwBhsGFPgb4vntj//388e8FGfMA3c8J//3/mrKyaZMmwsG5/ABVbN5u4cXGq/6r/Kn/faKTdp93/f3//Vf8/v38A/3/WupRTAAAAQHRSTlMA+wSgDWIDDgcRZCUCHgEWFFsBXpzIDkn/kwkBCwJWXgSGAwECCAEBBAIDmAwCnpxWAgUHBAIHAwMDBAYCAwQCmQ/D1QAAINtJREFUeNrtXQdj46qyxoAQqMvxetM3J9vLqbe39/7/v3qigyqyZUd517PZxHFklY9hmA4Aq6cthPwHTfENQhuPELqJUyqOirOwsxFWVYxhh4j7Cy7A66GMSGiWIIj5qSiLWhB7cNe/leLYAJDI9BVfC8zEu2HIv6AAXv6cNQZ7fnA+BrIBO0rFsHwbPyEGeSLoXV3XUYfqJKqa+/z6OtgZUE7HMJU+EAairLHOwcQ4xgBPnOQa/Ql8/PQa+BmCnRKfQxQINWYApMEoK6yZQHNYKrCAc+SfyfpxhuB+EhsE4uknyRrOZDNhFlRTLiAGbq4MGq0/rV9ONyIwRJ6CeDstNOpDYOYUUSFAOoPJAA2cF3kj6R/WvQ6mQU+ym2AZPF9otLm6Kz9IQUPPif6xWojfy6mJA59kNzS71RTPj4GZE+uI6gICddKkURe5ygjMgs3XbrmCRwrpL2yWhrW05TAuniGoNUfguI8wjrF62GiYp5s/RJujCeUAEk8YPZlL42/V4FNopDEg2YutiaNAE6zUDf4ow0TN4/Y/RoaPZ2clP4Sk1/ycAnPhuBibTJHRX2C2RtnRPBMyTxgLsxby/xDKV42lcgth8+j7UZ5upkWyWYjQk7kEhBZnPLE8REb3WNf6F8ckLZonMitNMrLScVFeGb6/JWIYBPEX3HKn0WY5YiCOIZdZDs7jPpG75uavtJx2HoQQsn1pRpZ8oOHb4EkllI1ImH+hzZJU6/PaaTQpD2LD05XmfvkDZy8pS9IdQklu1Y1qYmry+zVIR0mS3AhKHus6aph6WZy1fbpDWoHH03z5YOT0JgeZ5CbKYtz8Ur2cfaJuSd8ZoiArph+k2rwIIQBp2DS1SHOxpn5FCvcXxNk+CQCfJzmG2+kvgjOFQQrbBw9p4Gib+V9exDbHRd2WiIEaUWORvADQNNy+sCzUiDbkDBV+mYXQl6jJiN+ss+AkZ+fnWRMf9xtNjaZ0fpxpy0eD5/i8mgdpe09PCPL3ZsV+nmcvw16k0Uv49TLf6YjD+bnXS3BKoN8dEKKKe5F+GVvF9YYhMFN8NdZJDDlxLwik6KRyA4P5wrUXafDiMhr9Ay8n7ZenvJqvmWFQ/4J2b26WFh2zPd1bUrrWbnYEztHpVbt49m39G3aEWrWEJj0/pEBsCG7E7QkKyljGiZDmPyxAUQA3isoCwwVHGiv48wEcwEVb7igdL6Le8cklAyHcpzgWLhm3DzA9h3pXy1sUGQ/iB0dRrBLc71RsRxb9ynhKPr6QCZ6JfACeUQFHuOI+l5Sq7/vqfr9nnL78pTlHdnrBIe0VemCspPnTI9c/K/CC0fFMsgkeCQfUm5XQm97kB5k5w0A1PA5bxUZLRAKK4nCoxzwI8ZHs2tgxbyRt0JiHTh9zoPZyjf50P+rZ5QGMo/lZRnxgj5Q6OjXqWH0CKRtUxFGHlWRLB1v26G/wxEYfbebDPeT+Q7b0qe+PDrOifxuTDg6qJtGDjVg9Hn4pBk8rgpkKhkYU7BeW38SEa4/wIBvhNujws6olPGZBQHF1Wp42D4ChyBKAo9aPSgxtlCLAlSOhJ0FtSkMZouPfMGbQ4JykUstgrPmZsn3VEKuqtPnaB4gOQZ/yCcVNAD3O0ejqKmq+JF1d8d/4Kx1/eXpYFumiwRObNbZ0Hba+UJFpJofTr+q8KRhOz5yQLX0M0QUam9lZB5/OpZ2WHg9LTmro/fD8FWKkh72WaIw4j/jJxshY57ggpCBbWDR2YaOk8JBytm1EYganQi3UKrP5dILZpC4ZxcpEcQmbqYfu8WJy+hsENGlQyPUbJ1dfq2H/6aRMfUOtfTYCdDzurncHjvTafgZpShYKwDYGRKJzLmOWnQFo9nnQmoFkyvgOAvrG4eip5D/W6xFocPhu4opioSKmvoUQ9dMreiH2lbTh1eokiK9X2GqaOwofTg90PqI1wmlv0jygySTQA37OzDhqEV1IdNC2WnRi7+SYdh7ghqaOFjoMNA4GelN+yvqR1qEHtAT95C9y9Lbwln10JXQeofcI9ScaoN8iWXHzNnn7VvyQP0UNjnPYVaObZ4GjPgX0PgzoeDJLHcKi4EuydOMVhXI+EPJ0uuBDyvNDnSSskwQWPVtfJO9CzAUfl3JRONDVQkCjrsKaKQPh55MhjUHhKHiobBQdqGS5sD2gfCkTm7F4E/NlgqcmMpwyzLimhitCqoo4yYqxUZ9Ij145KyAbwtG/Gq0jAOgN81K2IbcomHb5oFNydAMG13hRPZVofrytX87PMAiR0RZoGAB03zUqpZH9E51opRI8lmFlBJ4W5z2gB4Gg6DlEjz4MaIs0eIrUMmUtdLNmzSF+fI/p2ijXjYg6bQIfPAhnV3S8PRnQm1LFThZ1dURdy/UMdH8Yzps/W9FxQqAbIapWE75MYTiPYvERwk0Xz65PpuPWi9MW0jfHAf18UqA31fJxV1701BAFS/VLKBpl7TZjz9mWjOCslpndzbxsu79b9e7tsMY2C+hI1uq1QjLV8nxH4PLyyHNgfGwmEhDlKWJakdiW6uw8NSSI06aB3jn+6DhEB2h0+Ir7KT42s90gjZfP2dhyIbQUP2Ow5yURaVlSS0MLA2qGASpFHcchYadseY5uu90t0muuAB/sF2Dkw253892UkDjV9iTIPMjs4YsB7XsBiHHVrhlpMqccBXm1rHge0AtydO4tT1nx4khnBBIywc/pLJy95wjK1E1PAHTSksbxUkhnMcQEnmDNJEHrWT/OgYYiO4HoiMCP9nNE5nLx4TjHShmYKxRAmURJOZKVhmfgfI0Ahr5FHtSkBJ4E6Bb3bK0f+wiexjwNMWJgnvbyoGc2okNF/jgzxcY0xbjbygBHdV0/qpLN+9aAFWHSHZ9AdPSYarYBBi+wPsQZkZmkrFkaeYZzdK0e4w+c7kV+MzHfMp6mUd2bGz9IXYlfSnSg3tuxSOMMt/gGdl+bMKF8AZ24MJ6RderqXmgoPOLUV2eEEGjSaYj4jRDpN2ju+kffogo3c7SO/RjQswyWfiePi/RB5MTzaTBLk62rTbxLOVUis6hiFX+ZpkmyOcpnEsjRZZDomAf0m747JlZOf09MJlMYicM92YSDUQhOTjzUNxUINJ0lOkjYSWfaXsdkDE4uoKFAH+xrDQT66QQyejNwz2yxZgAzNJUoeOwOBZouxtGz3aTDK1N6Zo4OtUQOxzm0oxg9gT/6zSAOC9XhzSjeIkFmG6LHWKxsFtD75WKGg+LO4vxmoyo6dGFHD6GNl+LpOBQo3R6idtSyQxz3ln8eyEw9iKPLWUCPpIR9n6l1DK3ftkOYdPT2JYeNlHahzSHWpU0XjEDsToSHrQGYHJPiWoT5OmwPwJDcu6OAtjiHc4uqWISi/1mtcWbzOI7WfErkx7hZxldDNAdoQH6eBi4U6Lh3XYrmLmVtxKo6ihI69+PkaOkw5euaBzSkw/4QOEuPrvvWKuhGgQ56ILVgzZ/n3Lca45NVKuGgSqI/AmZAauYqCSoWyscU2iMUKfDnCscHtcfbLtVUj/SaB4+zVN5h1cvqPljnk4e5Xp0Qhx4h9Ip6/HcjCDD7COFhpqFthER+T4eUeWLPOU8c2c8lnXMttBLFQqD5Kyg+SUVjoZWitrc9qFOYoyF8oJPmQdACizoZLcTivHBiHGxrhBlTXSEXT3Tk2otyWmftvwSgElHYDTgNSQ4Ing+x27CDM8yo9uZ9YTz5Y79387wYhAxzLzCpKljJJiSi8vIDj2HBgvCWJHBfMcbgnpE9KPkzohqQzAhRltwkDCzdq5CQVEUQ0C3wYzVhaoc7MtUEbjjIV5HEWGXHiSpUaCPMbgPCZSR1YmxoosyuUgWuyuY1Ec1itlv+v1kPxQBuzTf13f62HRM42E7mxmCvpAz4BD59CHUspFZq9pZrum6A2UPn+wKoHTJSAVqWeZoaVzzG+CP+gfnLhnjjkebvDVGfSkG8LUmaMoyd25T8nI+sFIcpFZovHGzq/8R64xsA/vK3J1rONON6hgZ59kGQsdlJZjbrriODFi+zSKQLyQ1c+SPEB0n9KOV3yv+pt8V7dNhZFR9freB2qeyIaS90jI/yvaUqG11cZvnucGhuutHcKMvRd+ydHJr+RuLmI8+6gPQonIkdsBM0eULgyOYLJkZ/KqCbJarw9KVUVauLVk5bsAxDY0A+EM3Pp+hQi8Qd3hx7miHX0wKiQ/qAtq7DrJVMdUAaYA/O9pYXCmj5CeDoaNmm8y9gv0OjPv6OU38NILqYgbViFUFjiq5khFv3YhDfa3cd1KpCrbSLvOyjXPxPmy9xVKmboMmjVe4y8pMIb5cI/w74YJkj7lKPmhtL8rAWSCF+HhI4d8b1pjvrh6+Pt9Vg6UzLtuWKtNLj5upcReqnk++F8e0tdqpfWa+W54QGexNTQkOTE770IrQbWSTziqCbfsSby3duF3NvKfFIpAkJ28LSFjqWhTUw6HZbCGnv7zpTMGwSwPLZA2eQJl5xiF3CZbPHFMCMCVOIyOaZPK9sG4WuJKM8jYOjqv2JcdsenJfw+1SqNaFR0clXk9JIRa22qTc2xqrctcb8kJZ/Y/rfWgn/1zvY71fJMd73QrUtAhcedD+yfwqMg/Xe8eiJTY9dKiWdtNr98Dfy30Tvy9kDSWwM6K+90TI4EmAM10qa2d2/CyKJZ2wVl449H3bKWRZrTccLDr0bP7xU65uNAolyrL4pNLSaQRqss3KhxvsimM/+jVR/F7sI58FK02h+RDy/bIgcsnEZOdwf7SA9d6jwDEUbpfITBMeYkGYxE9eas/FhSn8E8HMaOq0LCMB5Gx3bXY/u5w4vm2OGoYh5Ti+6j+YYRIjydSc2rZGIbZXkLDXBcX/erKCk5419WZ7+10zxNj8La6cV0NltImmI8lSG8iiUe+KO9s4+JdL38yZTEZ9v75uRvg9mg9vJXXHIvsIpxB+Z9eqfGem6x0McsMTC9TSYFjhD/+aa9Q5zs4Txpe8DISYz3onmnLV/AbFyenbsAK0FZtTBuUP/uM/zt0nip/jnpHgJ6fFqqY0zCXVMn7nk9rUj3U4GIyTU4Lw5824W8YqR5tX/b94AlfUcgjMMl2nJqTJBXx9Ph9RC+t2j4YxtpfDZ92eB61nY2tyqG4yb3uKg1dvYb2EC5zwKPbmIZlCml3l3aFukq9ZOse04CFXrQmj8wbxXIdunp9XxaDwzMcjinOzTxKE0xTy+wyqa9gXCTsbANr9O5ZYdeKYPJ50Ks7UCB2fwbdAEP4/OIQaRG6Eooia1jN+j6KtaaOdo84totcpZv2hmJy9CgOItfqR6WWxJDE7Zg3WmCLVdjmsA/4eRZtY1lKUVhmxfcMYqxFboPB7/GwUnbhnoFtewbMXiPZmLM3T2a8fT85mcb+FDdN7FiOkx6y5HJ9o8MjlAbuyCbOsCc1/t6XG2qtx1PUuRhFMetJfl51jXDUQvuQuZI6N9MQhn4Iwjb4MMXRSJopPgTGTsk0c7s7sQN3NtMnfWUGYBPaDxNvie8Dm3qm47x4uA2zuyDO60QEfBS+9ZrcdEd8TXfmcw1VnRZNAgYSSsDujQctPizP6Q646JiP8cxM9vKHwGKwE6avsYyeS+fAS8tDcEAXI39lCmzOLEfctn0JZ2s4BIqCGAosfHOqrfJc1XM7PlBG/n4J+EdiNaiO1vn+P9WnDuyYufssAyELitTH5KezwaVEUz8Fd1TByi2H09I9iRzLdAVpfKxtZEs6kMT5fztkSyJDb6C+uacrDnAyttvuDygch0QF7Ipu+vWn4TzaOIb1EaQx6u3Fnlgwzzs8V5ojKdcD/CMUyb4hjHzuilVZqXlNqMry/ZSPAyWRnOQLXj5B6letjBLp2/3AdjcJ5WBRkB5aFQoxQMrHdaAu/Bl//8M//nF72Rtkoht44ksD4S97S1+a5IJLvrslzaKzeKAJWb83weHQYzH3oo3IjCmagUSxjczuMWrJewrfxAAxt7mUBmYM8EPg2eogNgHs5axwGyfzc7LPX1zEiHqQo3M7y3W/7I+xlZkBEF42UY000EEYVbsGoKqza9mekl55nclKEglHmyKWzMkc+jdznuaEF/EAJWTozQ3dI4q7AkoPt6FGxUMwCCesfE40jnr6EvSjZpX9duzGuGWBLKTZkmfUm6KEpS0Q4k0AMPG/tUBR1wDNtb/eqjPrw8nO/HAicgfztCOThc/qlqEAryRG0YFkVJWQq95hPAM3o/BekUK5DTxfiSeFhoJVBrh+DjbVsJ5HsrzlxNIFFJiVBGhwWbZ8XA5jR3qxQf7LmSDVoYE/tKsjxnjIh/1TI7QWe8CbiImWByDgPuAVzoQhe60IUudKH/Vnq/wnv6ehmWtRO5QHChC13oQhe60IXOSnf/DQ85Evy6OO8udKELXehCF7qQRxfXzIUudKGLtXahC13oQhe60IUmCKaYpThrb2OXYca/zBsZ4x2r+BeuSCutWfyhId8ckdsV+Afyplds77dQw3gv692699YcjDMmKCV9udTZ3il6ZBD+P7SBTriz7chFJ5FcLdYE1KpnWeW8+4npRmayhRgEzG1vhmORry/b4GfbSr/v9hvDaSo2t7NdwAtQdg8snDPnoPJd9rl7UYZlkYBzjYx4XdcSjGUZwSoFB5CbjFy7/Wh4bZ981zSCitvNHdCjqkf8CKk62NmYxnYIrUwWPASJPMe1t29kpE98Hfk7aGSAdi7aDIbjImHg5rrbfx2ANXK17WblNf6JN62OW31VlZFokE1sy/9724SL2rY9+qnj93377Hi7BXpAb3v75qLS1iKz3iIiVIOzd8OcB3QxCHR/+eo1qrgMwE6tM9TMmNoawLhzKdutcutthJrTZ0+q0YH6ezIK9Nk7y88EuvJFRwtoONQGML2zjUkMqPCzLfWyuJVdzvU7tfgd6wY7QRuks8GyuPrcrXQP4+gO0MVQQbbYk9s2v9MIuI0HcxWUJqbU2OlMFz/5FbAfnVsrBltu56pCiAzXHzY3fve6OFpuzGXrsZG/5V8kdqPdmcFiHYg0rFaUl87WwqoaHejPk14Zjfyr6lM6oqN1W5vNu5XxdBhHu0IbePXHqHke3ObVW7dOXguK2PK9vbru8IF7Gs1Y0SGbbOW2ue+TVlkSs+Ty20rdGvQ0nqN7PJwT6BCtI5KbKlvRWoKCkJb09Xe1lO9ZER3ZrX/hnV4ee5o6Qwv0FyjMo7zVUdOKjoSX1vG3UjSgw7yWxTB2mxvxBjtu9+G2PuH3JU9V3Wvqyxcx9ZkGpadfjwO0uDVix0/NnMzh6OY+txk343ebznVej+hw34C+tiCANj1+Kl5+rHfaVVJTnoOZT/zhmDCmQW7dZcNtC2hAspaIwj7QDX3F9oEQhSvl6GJwMbTqnX7jsws0A++MWnXLgWZSzb4yYtzhcuf5jVmT4rwrO0gH6PZwpx2gve4e96BYuegAw3q0egMbKy/mH/v0h226aNkdvdPgcWv9yYwFNua3xsSqJGwLgzga+6LjnTlpYaXaqmRH2GLYI0uQZz147KqZN2LW4t4bEW3tbys5qBk4ZPUO0pXRTgs50is6gKvVR2vS8ALVO+rJEsisipsLf4cRwJCfRekXVWkf2C5kem/2r+Y43uSQGNlRwS7QX3jBPjACSqt3jtZhFXDbryZak94xKaMl0L/D1s0j1zRsDkrNE1dm2SvNprjYXseyrN3ZTAyl7cPSsQylHp1Gbc2N9HG0bX62Wwylu3MBXXyyb1AKygR5vSzp3irJINYzHJnhuAdbs+5FzrKFrIsE004H6JZl6CqMyg+K+4Fmm45l9HrUOzjkdhBdZorYaUSoeydHd5q1U4flrZVN9eA88q1STWu4e33AdsjXYXxzvUAXDtDwtWkdZAjoyOx+aETwN23AJcZGiZy/W5d1ZvbX5H0EodZKosJgRgc8cwyAYdGxtfb/65PRbADoRkI/KN7ChmM1pvSz5m3kignYkRziGrCnezzt70bohGe66p3jJVyt6IB29nXcpHBgNyvNRo4M1iKa2q1Rfo7pprWpBDWei0g0AMOQdYVL3z4LDpsOyOjYLIbDHP1+FUBDgEMiLLXjp3dYVmvRvEmYEdLM+qD6XP6eOLrDLV9H2wFuo4q9QCcBevT7lYgOPBkzFK0unfMYm1wLZq4cb8tBX8bIpkQdp9LG6bjuRmF6ZfSPItoEbDH0ckAzC3TlMIW817vY4CtIRv6d89zaRvtYDxznvZZ3zjDZrRcsbGkVP7O2Ce5o7ul7Mgq0cyRYTyv65rmvjC3tcMpj+wHiVq9pErM7r7GIEdK3kY0fwju9MKKW+2FsIwylyjgGS4wxvDcMjz+NyGi2NS2E6bqcSvqBHwtmQWsJbkcNwbx5HX4enhoJsmgZliuNiCZKutLJPR19pxJpO6P7tQ4ar9RN6m1JruZkgQ0KWQfoIblngLjRkmjPP6dUi7j17GOSQ2/w4ANdQGf0cfvmFUeT2FljU5CtCOjM2lEN9/LURgKdm1UeoACgjXWi4KDkk+OFrlsi2ljcm8Tp6h8ZXuwC7RiXjVSCba0DYxnMonU3oWQdZLl3Y5aOd23Dz/Xe4SEZ9NSjYhM1kUGLF/fUClKHvDfbblLrJdU3QfzgrBe/babUurrRE2dVQlGa59jpQ1zqxqttx3+Xnv1AYUQV0KwrfHloxHDnE+dFDG8xJtB0DY/ew67j/4fliaodytrVdX3TyoNYG8XDez/avQHv4ikjgBBQe2KW+bFvz0UKO8wpRW7q6nNFC+jM4Qkab8FEAs3qksKIjeIPWtgATALtWDly8n9RahzqS/ly4gbUWS+8cIIrOuSAQ+qPz/Dmf9Eak3eh3bxiaCuIwhEdQ0B/grRnX7lbl8/zLWzp6f6KZRmdb6vS5mhPV2EFGU5ybLS9VeZIs97NKyLQ7zeNh20f1J253uYe3SN9kW/VHQ4t7QDtXoLL8AGgUTm/W/5Zuqk/YEcr0jd777ecxyrZHA0DDW1OuaPDMpNNfq21aNIwpnqvfM68py0dGW8S0a+NYznD+mziZKSbiL5Bv+Vgfbs5WekI6N4u2qhO27nc7Ce1x+ywHt1oGPwIfqDjcGrg17vnaPubAPyTPDBqbSBQgCt1Bsa32Cmjn+Tp3IVAXOOnn1D+v7wupHkpfpOUYL4JGCTZOZe4ueKDL1GYbwdRivqU1lz6dsDpAu6kmnvbk7IX4gKsm9RurXcDG/2IPTni8bVc7tYRx7FX9Sb28mg+6vJZLHf76OLKPx03Rh7RJxRHds8Wx+qm5S/ywgSTPXgFlPGUDQKXnCgHUjhTLqRdXFoiXOhCF7rQhS50oQtd6ELrJL4xm78FI4TqrcIzbbFjzNjtGol96X6i8My5LSTY76ThbvjoXaPHJoKkSh1b09lar4Ck4GcihXMww2vfgXaEsPZTHmKJmfGJyZhBZ/Kmce/bQWlH5kp0ZQDC3yssNpiPbbedSgelY11OTTDvupNI35hwMWC98+O9/lTxgb+JS/moldO5h8emMW9bYh+eUH6s52PLmsP2/BqpNwzNaSjb87epcXFjrMKuv4vbjvm3Sryxb670mDBMV8eprVRDEQEq23GSBpBH5DRogGBv0sGZjTTFyke/VQUrVH/a7MmOdL0mBiZd1/KrDgqjR/OHZi6UJh9mR+UdIx1CIKBVnmuDimhdSR2+s160holtCQ/38ksM7E7L1xwdmVOPZThfbLPMgbmT0a7qM/SA9kOJWNcttoH2RtwJ4uJ2rbNMOlAvnRgl4ZGuyAkO79fK0aj5ZzkaiTcU49TXso5ERU1llYjkO47ur/yVzqnmYScXaFUnrotQcrGqQfDGj/2q+9C1KhFgFNicGfm2nELQAi05Wt4pzQApcnMlRG/XJjxoQ/zeEY/RUQ7YvYCLyl8buZdVOkWF3orQiUzWkNnRzFZxxqYSDVqgFYI5ULWISKHlA60qWEQajAgDpg985n+kSgwAnhujizh8jv4unoBfS/a64NEYmqZgdUADBYF+7EJwNBK+dIfZGl4ntm6Ny+ga3/IVrXn1iwQaqurvHMcO0FTmNsZ8VVOlF12gZdC1lvpdZJPAxMtmFcRWscQtGb3jNxoDM/45FMvwGpuyZQA4QEvRgdxVSmY9c/YF5BvQBWYqWuUBvUkUg2ugZUGJlLmxHrEu0JJNc65EbkU+kvibhD8FkMEYa6xxS3TsHPEjrvXEldFVZhsABXTscPTmkctFXocpq1PkwvVeP5EQGO92DSV2VYM6D7oCLaCjIgY6C+NGXsfLz1GZM1Rxt85tlvBT+NEImB6O3tQIRUgssipFO2qU0PtXA7RJ4qhEIpOXYUWE6HCVBAN0mssylkjVEctcIllADJ9LXcEDfaALcQ31OxQ6Dm+6psUxrWWMu+STr1e9k530TL15s5J8WyPM0AXaUe82V7wBgbh7D2jYSm7+xS6GqRIPmqMxuJF1y/xzz7lWultAy7VQ5ebIDk2lUM/42e9Uy6ZrmcXuAI2Br5eKhBGtRhfrXQw9jv7eiIVfWPMsmfh999kDWogOLjl+/VVztFTv0oKaOhbqcDRneVnwdiNHpSU6cpulLtv/0AZoWabIkb+25QId9e5md/P9hklLiAH6KAeFwrUDDdqLYUb97g4a6MpfDBXQSuHDvowW9T2sqIcWQy2jrRlixTElf0+Tt1KHz8YWQ7WwS33yHfixcqCV1iG7BRsrrnncPSgK5uhRtXSH+Hp0qjjOLoapHKb9NpO6CLZAb8lWeeKUfsEw2WJoBIzElInpcKWBVhwdEzUkO+FiMVUtGYauHFo/0G3jUWdl3ZnFUHT1ESVQSnRgCbTtvCHNd2QS8iv57gfD0a1rILMyi2xS1YsTUf330qIvUslu2xzNZFEeXTnQ0BUdsXHmweJeKk2UpgnCRnSIxhoZsRwNZYsE0wJFAi0tvTqlZW3TTAXQG2w8hmp0UNpcA+nOJw+qAAOlpVRjcjkZfK1Dzj38Rerp0Z7SMmpV9a4ZaNd7h90UZ6FaK6AhIM/EcjRUddw6T1r5Ojz/INKepjd+0THxvEfa94T9woycqxKOjIbAywgmqkOzKuL4sEagN7169LXuF0jfeRAQy9E06wKtB4Ya/6eDs7TZYuC07BWgesUu2PY4xR7Qvq8j84AunFbUm4qukaELbiLYfNxn1LJEGk22Uh0LohjqFU61MULqo1KepFaMKuYFFdbtFZFpTWC7mTrdH6l0evOcX8c2L5WbGiH2O7FKv99wSMy9DOb62HIhb/T/AclSc0spalSeAAAAAElFTkSuQmCC") center / contain no-repeat; }
.site-header .wrap { height: 76px; }
@media (max-width: 1040px) { .nav { inset: calc(76px + env(safe-area-inset-top, 0px)) 0 auto; height: calc(100dvh - 76px - env(safe-area-inset-top, 0px)); } }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .site-header .brand::before { background-color: #EAF0F8; border-radius: 8px; background-origin: content-box; padding: 4px 8px; box-sizing: content-box; height: 50px; width: 90px; } }
:root[data-theme="dark"] .site-header .brand::before { background-color: #EAF0F8; border-radius: 8px; background-origin: content-box; padding: 4px 8px; box-sizing: content-box; height: 50px; width: 90px; }
.site-footer .brand::before { width: 130px; height: 72px; background-color: #EAF0F8; border-radius: 10px; background-origin: content-box; padding: 8px 12px; box-sizing: content-box; }
