:root {
  color-scheme:dark;
  --bg:#091321;
  --panel:#111f30;
  --line:#2c4055;
  --text:#edf3fa;
  --muted:#aebed0;
  --accent:#68e0ce;
  --error:#ffa9a9
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  background:radial-gradient(ellipse at 80% 10%,#173a43 0,transparent 45%),var(--bg);
  color:var(--text);
  line-height:1.55
}
a {
  color:var(--accent);
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
button,input,select {
  font:inherit
}
button,a,input,select {
  touch-action:manipulation
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px
}
.ch-shell {
  width:min(1180px,calc(100% - 48px));
  margin:0 auto
}
.ch-header {
  border-bottom:1px solid var(--line);
  background:#091321b8
}
.ch-nav {
  display:flex;
  align-items:center;
  gap:28px;
  min-height:92px
}
.ch-brand {
  margin-right:auto
}
.ch-brand img {
  object-fit:contain;
  display:block
}
.ch-nav nav {
  display:flex;
  gap:24px
}
.ch-nav nav a {
  color:var(--text);
  font-size:.93rem
}
.ch-language {
  display:flex;
  gap:5px;
  align-items:center
}
.ch-language select {
  padding:8px;
  width:68px
}
.ch-lang-submit {
  background:transparent;
  border:0;
  color:var(--muted);
  cursor:pointer
}
.ch-skip {
  position:absolute;
  left:-10000px
}
.ch-skip:focus {
  left:12px;
  top:12px;
  background:var(--panel);
  padding:12px;
  z-index:5
}
h1,h2,h3,p {
  margin-top:0
}
h1 {
  font-size:clamp(2.15rem,4.5vw,3.8rem);
  line-height:1.12;
  letter-spacing:-.04em;
  margin-bottom:24px;
  font-weight:650
}
h2 {
  font-size:1.55rem;
  letter-spacing:-.025em
}
h3 {
  font-size:1.5rem
}
.ch-eyebrow {
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.73rem;
  font-weight:750;
  color:var(--accent);
  margin-bottom:16px
}
.ch-lead {
  font-size:1.1rem;
  color:var(--muted);
  max-width:620px
}
.ch-muted,small {
  color:var(--muted)
}
.ch-hero {
  display:grid;
  grid-template-columns:1fr 300px;
  gap:80px;
  align-items:center;
  padding:82px 0 65px
}
.ch-hero-aside {
  border:1px solid #427775;
  border-radius:24px;
  padding:30px;
  background:linear-gradient(145deg,#1c3c40,#111f30);
  min-height:250px
}
.ch-hero-aside strong {
  display:block;
  font-size:4rem;
  letter-spacing:-.05em
}
.ch-hero-aside p {
  color:var(--muted);
  font-size:.95rem
}
.ch-dot {
  width:9px;
  height:9px;
  display:block;
  border-radius:100%;
  background:var(--accent);
  box-shadow:0 0 20px var(--accent)
}
.ch-section-heading {
  margin-bottom:26px
}
.ch-section-heading h2 {
  font-size:2rem
}
.ch-price-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px
}
.ch-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  min-width:0
}
.ch-price-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:270px
}
.ch-price-card:last-child {
  border-color:#4c8884
}
.ch-card-number {
  font-size:.75rem;
  color:var(--muted);
  margin-bottom:24px
}
.ch-price {
  font-size:1.3rem;
  letter-spacing:-.025em;
  font-weight:650;
  margin-top:auto;
  overflow-wrap:anywhere
}
.ch-text-link {
  font-weight:650;
  font-size:.9rem
}
.ch-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:13px 18px;
  background:var(--accent);
  border:1px solid var(--accent);
  border-radius:9px;
  color:#092622;
  font-weight:700;
  cursor:pointer;
  text-align:center;
  line-height:1.4
}
.ch-button:hover {
  background:#86eddf;
  text-decoration:none
}
.ch-secondary {
  color:var(--text);
  background:transparent;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:9px;
  cursor:pointer
}
.ch-page-heading {
  padding:54px 0 20px
}
.ch-page-heading h1 {
  font-size:clamp(2rem,4vw,2.9rem)
}
.ch-steps {
  display:flex;
  gap:20px;
  list-style:none;
  padding:0;
  margin:0 0 30px;
  border-bottom:1px solid var(--line)
}
.ch-steps li {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.9rem;
  padding-bottom:16px;
  color:var(--muted)
}
.ch-steps li.current {
  color:var(--accent);
  border-bottom:2px solid var(--accent)
}
.ch-steps li span {
  border:1px solid var(--line);
  border-radius:100%;
  width:26px;
  height:26px;
  text-align:center;
  flex-shrink:0
}
.ch-intake-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:24px;
  align-items:start
}
.ch-intake-grid h2 {
  font-size:1.35rem
}
.ch-position {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 26px;
  gap:12px;
  margin-bottom:18px;
  align-items:end
}
.ch-position label:first-child {
  grid-column:1/-1
}
.ch-position select:disabled {
  opacity:.6
}
.ch-position:first-child .ch-remove {
  visibility:hidden
}
.ch-remove {
  border:0;
  padding:8px 0;
  background:transparent;
  color:var(--muted);
  font-size:1.3rem;
  cursor:pointer
}
label {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:.9rem;
  font-weight:550
}
input:not([type=checkbox]):not([type=radio]),select {
  width:100%;
  background:#0a1725;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:8px;
  padding:11px 12px;
  min-height:45px
}
input[type=file] {
  font-size:.83rem
}
input::placeholder {
  color:#899fb6
}
input:disabled {
  opacity:.5
}
.ch-form-actions {
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  margin-top:28px;
  flex-wrap:wrap
}
.ch-import-card form {
  display:grid;
  gap:22px
}
.ch-file-icon {
  display:flex;
  width:46px;
  height:46px;
  justify-content:center;
  align-items:center;
  border:1px solid #4b8781;
  border-radius:12px;
  color:var(--accent);
  font-size:1.5rem;
  margin-bottom:22px
}
.ch-notice {
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#172a3b;
  color:var(--muted);
  font-size:.88rem;
  margin:24px 0
}
.ch-error {
  border-color:#915659;
  background:#391f2a;
  color:var(--error)
}
.ch-kind {
  border:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:0 0 20px
}
.ch-kind legend {
  font-size:0
}
.ch-kind label {
  flex-direction:row;
  align-items:center;
  border:1px solid var(--line);
  padding:14px 18px;
  border-radius:9px;
  cursor:pointer
}
.ch-kind input,.ch-checkbox input {
  accent-color:var(--accent);
  width:18px;
  height:18px;
  flex-shrink:0
}
.ch-mapping-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  padding:20px 0;
  border-top:1px solid var(--line)
}
.ch-mapping-row>div {
  display:flex;
  flex-direction:column;
  gap:6px
}
code {
  font-family:ui-monospace,Consolas,monospace;
  font-size:.88rem;
  overflow-wrap:anywhere;
  word-break:break-word;
  color:var(--text)
}
.ch-contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:24px;
  align-items:start
}
.ch-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:20px 0
}
.ch-full {
  grid-column:1/-1
}
.ch-checkbox {
  flex-direction:row;
  align-items:flex-start;
  margin:28px 0 16px;
  font-size:.85rem
}
.ch-checkbox input {
  margin-top:3px
}
.ch-summary h2 {
  font-size:1.2rem
}
.ch-summary-row {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 0;
  border-bottom:1px solid var(--line)
}
.ch-summary-row strong {
  color:var(--accent)
}
.ch-summary-row p {
  margin:0;
  font-size:.85rem
}
.ch-summary>.ch-muted {
  margin-top:20px;
  font-size:.88rem
}
.ch-summary .ch-notice {
  margin-bottom:0
}
.ch-editor {
  max-width:720px
}
.ch-editor>label {
  max-width:220px
}
.ch-receipt {
  max-width:740px;
  margin:70px auto;
  text-align:center;
  padding:48px
}
.ch-receipt h1 {
  font-size:2.6rem
}
.ch-receipt .ch-lead {
  margin-left:auto;
  margin-right:auto
}
.ch-success {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  background:#214941;
  border-radius:100%;
  color:var(--accent);
  font-size:2rem;
  margin-bottom:24px
}
.ch-inbox-item {
  margin-bottom:20px
}
.ch-inbox-item details {
  margin-bottom:20px
}
.ch-inbox-item summary {
  cursor:pointer;
  color:var(--accent)
}
address {
  font-style:normal
}
.ch-footer {
  border-top:1px solid var(--line);
  margin-top:68px;
  padding:26px 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.8rem;
  color:var(--muted)
}
.ch-footer>div {
  display:flex;
  flex-wrap:wrap;
  gap:20px
}
.ch-footer a {
  color:var(--muted)
}
@media(max-width:1000px) {
  .ch-price-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .ch-hero {
    gap:30px;
    grid-template-columns:1fr 240px
  }
  .ch-intake-grid {
    grid-template-columns:1fr
  }
  .ch-contact-grid {
    grid-template-columns:1fr
  }
  .ch-summary {
    order:-1
  }
  .ch-position {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px
  }
}
@media(max-width:600px) {
  .ch-shell {
    width:calc(100% - 32px)
  }
  .ch-nav {
    gap:12px;
    min-height:76px;
    flex-wrap:wrap;
    padding:12px 0
  }
  .ch-brand img {
    width:110px;
    height:43px
  }
  .ch-nav nav {
    gap:14px;
    order:3;
    width:100%;
    justify-content:space-between
  }
  .ch-hero {
    grid-template-columns:1fr;
    padding:44px 0
  }
  .ch-hero-aside {
    min-height:auto
  }
  .ch-hero-aside strong {
    font-size:2.5rem
  }
  .ch-price-grid {
    grid-template-columns:1fr
  }
  .ch-price-card {
    min-height:220px
  }
  .ch-card {
    padding:22px
  }
  .ch-steps {
    gap:12px
  }
  .ch-steps li {
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    font-size:.78rem;
    flex:1
  }
  .ch-position {
    grid-template-columns:minmax(0,1fr) 26px;
    gap:12px
  }
  .ch-position label:first-child,
  .ch-position label:nth-child(2) {
    grid-column:1/-1
  }
  .ch-mapping-row {
    grid-template-columns:1fr;
    gap:16px
  }
  .ch-fields {
    grid-template-columns:1fr
  }
  .ch-full {
    grid-column:auto
  }
  .ch-button {
    max-width:100%;
    font-size:.9rem
  }
  .ch-form-actions {
    align-items:flex-start
  }
  .ch-summary-row code {
    font-size:.8rem
  }
  .ch-page-heading {
    padding-top:34px
  }
  .ch-receipt {
    padding:26px 22px
  }
  .ch-receipt h1 {
    font-size:2rem
  }
  .ch-footer {
    flex-direction:column;
    margin-top:45px
  }
}
[hidden] {
  display:none!important
}

.ch-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ch-bot-check { margin: 1rem 0; }
button:disabled { opacity: .5; cursor: not-allowed; }
