
.page-shell,
.article-shell,
.collection-shell {
  padding: 28px;
}

.page-shell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.82fr);
  gap: 22px;
  align-items: start;
}

.page-shell-main,
.page-shell-sidebar {
  display: grid;
  gap: 18px;
}

.page-process-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.page-process-card li + li {
  margin-top: 8px;
}

.page-shell-trust {
  background: linear-gradient(180deg, rgba(18, 19, 24, 0.98), rgba(11, 12, 17, 0.97));
}

.editorial-shell {
  max-width: 980px;
}

.editorial-content,
.article-content {
  color: var(--text);
}

.editorial-content > * + *,
.article-content > * + * {
  margin-top: 1rem;
}

.editorial-content p,
.article-content p {
  color: #d7dce0;
}

.editorial-content h2,
.editorial-content h3,
.article-content h2,
.article-content h3 {
  color: var(--text-strong);
}

.editorial-content ul,
.editorial-content ol,
.article-content ul,
.article-content ol {
  padding-left: 1.2rem;
}

.osint4all-form {
  display: grid;
  gap: 16px;
}

.osint4all-form label {
  color: var(--text-strong);
}

.newsletter-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.newsletter-form > label:first-of-type,
.newsletter-form > label:has(input[type="checkbox"]),
.newsletter-form > button {
  grid-column: 1 / -1;
}

.newsletter-form > label {
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #f4f1e9;
}

.newsletter-form input[type="email"],
.newsletter-form select {
  min-height: 52px;
  border-radius: 14px;
  border-color: rgba(173, 178, 182, 0.22);
  background: rgba(9, 18, 34, 0.94);
  color: #f4f1e9;
}

.newsletter-form select option {
  color: #1f2428;
}

.newsletter-form > label:has(input[type="checkbox"]) {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-top: 2px;
  color: #d7dce0;
  font-weight: 600;
}

.newsletter-form > label:has(input[type="checkbox"]) input[type="checkbox"] {
  margin-top: 2px;
}

.osint4all-form-note {
  margin: 0;
  color: #aeb4ba;
}

.osint4all-next-steps {
  padding: 18px;
  border: 1px solid rgba(173, 178, 182, 0.16);
  border-radius: 16px;
  background: rgba(13, 14, 20, 0.82);
}

.osint4all-next-steps h2 {
  margin-bottom: 10px;
}

.osint4all-next-steps ul {
  margin: 0;
  padding-left: 1.2rem;
}

.osint4all-form button {
  width: 100%;
}
