:root {
  --structo-shell-ink: #152033;
  --structo-shell-muted: #667085;
  --structo-shell-line: #dfe6ef;
  --structo-shell-paper: #ffffff;
  --structo-shell-soft: #f3f7fb;
  --structo-shell-blue: #27679c;
  --structo-shell-blue-dark: #184d79;
  --structo-shell-width: 1180px;
}

/* Structo Pro preview */
.structo-shell-pro-trigger{display:inline-flex;min-height:34px;align-items:center;padding:6px 12px;border:1px solid #b9cce0;border-radius:999px;background:#f5f9fd;color:var(--structo-shell-blue-dark);font:inherit;font-size:13px;font-weight:800;line-height:1;cursor:pointer}
.structo-shell-pro-trigger:hover,.structo-shell-pro-trigger:focus-visible{border-color:var(--structo-shell-blue);background:#e9f2fa;outline:none}
.structo-pro-open{overflow:hidden}
.structo-pro-modal[hidden]{display:none}
.structo-pro-modal{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:24px;background:rgba(15,29,47,.56);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.structo-pro-dialog{position:relative;width:min(820px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:34px;border:1px solid var(--structo-shell-line);border-radius:20px;background:var(--structo-shell-paper);box-shadow:0 24px 70px rgba(15,29,47,.25);color:var(--structo-shell-ink)}
.structo-pro-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--structo-shell-line);border-radius:50%;background:#fff;color:var(--structo-shell-ink);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.structo-pro-close:hover,.structo-pro-close:focus-visible{border-color:var(--structo-shell-blue);outline:3px solid rgba(39,103,156,.18)}
.structo-pro-kicker{margin:0 48px 8px 0;color:var(--structo-shell-blue);font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.structo-pro-title{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.08;letter-spacing:-.035em}
.structo-pro-subtitle{max-width:610px;margin:12px 0 24px;color:var(--structo-shell-muted);font-size:16px;line-height:1.55}
.structo-pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.structo-pro-card{padding:22px;border:1px solid var(--structo-shell-line);border-radius:16px;background:#fff}
.structo-pro-card-accent{border-color:#b9cce0;background:#f7faff}
.structo-pro-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.structo-pro-card h3{margin:0;font-size:20px}
.structo-pro-status,.structo-pro-planned{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2}
.structo-pro-status{padding:5px 8px;background:#eaf6ee;color:#22643a}
.structo-pro-status-planned{background:#e9f2fa;color:var(--structo-shell-blue-dark)}
.structo-pro-list{margin:0;padding:0;display:grid;gap:11px;list-style:none}
.structo-pro-list li{position:relative;padding-left:20px;color:#405168;font-size:14px;line-height:1.45}
.structo-pro-list li::before{content:"✓";position:absolute;left:0;color:var(--structo-shell-blue);font-weight:850}
.structo-pro-list-planned li{display:grid;gap:5px}
.structo-pro-list-planned li::before{content:"•"}
.structo-pro-planned{padding:3px 7px;background:#e9f2fa;color:var(--structo-shell-blue-dark)}
.structo-pro-footer{margin-top:18px;padding-top:18px;border-top:1px solid var(--structo-shell-line);display:flex;align-items:center;justify-content:space-between;gap:18px}
.structo-pro-footer p{max-width:510px;margin:0;color:#405168;font-size:14px;line-height:1.5}
.structo-pro-interest{flex:0 0 auto;display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;background:var(--structo-shell-blue);color:#fff;font-size:14px;font-weight:750;text-decoration:none}
.structo-pro-interest:hover,.structo-pro-interest:focus-visible{background:var(--structo-shell-blue-dark);color:#fff;outline:3px solid rgba(39,103,156,.18)}
@media (max-width:680px){.structo-shell-nav-secondary .structo-shell-pro-trigger{display:inline-flex}.structo-pro-modal{align-items:end;padding:12px}.structo-pro-dialog{max-height:calc(100vh - 24px);padding:26px 18px 20px;border-radius:18px}.structo-pro-grid{grid-template-columns:1fr}.structo-pro-card{padding:18px}.structo-pro-footer{align-items:stretch;flex-direction:column}.structo-pro-interest{width:100%}}

.structo-shell-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--structo-shell-line);
  background: rgba(255, 255, 255, 0.96);
  color: var(--structo-shell-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.structo-shell-header-inner {
  width: min(calc(100% - 40px), var(--structo-shell-width));
  min-height: 70px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
}

.structo-shell-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--structo-shell-ink);
  font-size: 22px;
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1;
  text-decoration: none;
}

.structo-shell-logo::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  background: url("/assets/structo-shield-64.png") center / contain no-repeat;
}

.structo-shell-logo-mark {
  color: var(--structo-shell-blue);
}

.structo-shell-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.structo-shell-nav-primary {
  flex: 1 1 auto;
}

.structo-shell-nav-secondary {
  flex: 0 0 auto;
  margin-left: auto;
}

.structo-shell-link {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 9px;
  color: #405168;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}

.structo-shell-link:hover,
.structo-shell-link:focus-visible {
  background: var(--structo-shell-soft);
  color: var(--structo-shell-blue-dark);
  outline: none;
}

.structo-shell-link[aria-current="page"] {
  background: #e9f2fa;
  color: var(--structo-shell-blue-dark);
}

.structo-shell-link-cta {
  padding-inline: 14px;
  background: var(--structo-shell-blue);
  color: #ffffff;
}

.structo-shell-link-cta:hover,
.structo-shell-link-cta:focus-visible {
  background: var(--structo-shell-blue-dark);
  color: #ffffff;
}

.structo-shell-footer {
  border-top: 1px solid var(--structo-shell-line);
  background: var(--structo-shell-paper);
  color: var(--structo-shell-muted);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.structo-shell-footer-inner {
  width: min(calc(100% - 40px), var(--structo-shell-width));
  margin: 0 auto;
  padding: 34px 0 38px;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(0, 2fr);
  gap: 32px;
}

.structo-shell-footer-brand {
  display: grid;
  align-content: start;
  gap: 10px;
}

.structo-shell-footer-note {
  max-width: 360px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.structo-shell-footer-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
}

.structo-shell-footer-group {
  display: grid;
  align-content: start;
  gap: 8px;
}

.structo-shell-footer-title {
  color: var(--structo-shell-ink);
  font-size: 13px;
  font-weight: 800;
}

.structo-shell-footer-link,
.structo-shell-footer-placeholder {
  color: var(--structo-shell-muted);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}

.structo-shell-footer-link:hover,
.structo-shell-footer-link:focus-visible {
  color: var(--structo-shell-blue-dark);
  text-decoration: underline;
  outline: none;
}

.structo-shell-footer-meta {
  grid-column: 1 / -1;
  padding-top: 20px;
  border-top: 1px solid var(--structo-shell-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
  font-size: 12px;
}

@media (max-width: 980px) {
  .structo-shell-header-inner {
    min-height: 0;
    padding: 14px 0 10px;
    flex-wrap: wrap;
    gap: 10px 18px;
  }

  .structo-shell-nav {
    order: 3;
    width: 100%;
    padding-bottom: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .structo-shell-nav-secondary {
    order: 2;
    width: auto;
    margin-left: auto;
    overflow: visible;
  }
}

@media (max-width: 680px) {
  .structo-shell-header-inner,
  .structo-shell-footer-inner {
    width: min(calc(100% - 28px), var(--structo-shell-width));
  }

  .structo-shell-header-inner {
    padding-top: 12px;
  }

  .structo-shell-nav-secondary .structo-shell-link:not(.structo-shell-link-cta) {
    display: none;
  }

  .structo-shell-link {
    min-height: 36px;
    padding-inline: 9px;
    font-size: 13px;
  }

  .structo-shell-footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .structo-shell-footer-groups {
    grid-template-columns: 1fr;
  }

  .structo-shell-footer-meta {
    grid-column: 1;
    display: grid;
  }
}
