/* Variant 04: seal-led advisory direction inspired by the supplied reference. */
.theme-seal {
  --seal-paper: #ece8dc;
  --seal-paper-deep: #dfd8c9;
  --seal-ink: #08162e;
  --seal-muted: #485160;
  --seal-line: rgba(8, 22, 46, 0.15);
  --seal-gold: #a77535;
  background: var(--seal-paper);
  color: var(--seal-ink);
}

.theme-seal .shell,
.theme-seal .section:not(.statement),
.theme-seal .soft,
.theme-seal .content-hero + .section,
.theme-seal .section.rich-section {
  background: var(--seal-paper);
}

.theme-seal .topbar {
  min-height: 86px;
  border-bottom: 1px solid var(--seal-line);
  background: rgba(236, 232, 220, 0.96);
}

.theme-seal .brand {
  gap: 14px;
}

.theme-seal .brand-mark {
  width: 54px;
  height: 54px;
  border: 1px solid var(--seal-ink);
  border-radius: 50%;
  background: transparent;
  color: var(--seal-gold);
  font-size: 15px;
  box-shadow: inset 0 0 0 7px var(--seal-paper), inset 0 0 0 8px var(--seal-line);
}

.theme-seal .brand strong {
  color: var(--seal-ink);
  font-family: var(--serif);
  font-size: 17px;
  letter-spacing: 0;
}

.theme-seal .brand small {
  margin-top: 4px;
  color: var(--seal-muted);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.theme-seal .nav {
  gap: clamp(18px, 2.1vw, 32px);
  color: var(--seal-muted);
  font-size: 13px;
  font-weight: 700;
}

.theme-seal .nav .cta {
  min-height: 46px;
  border: 1px solid var(--seal-ink);
  border-radius: 0;
  background: transparent;
  color: var(--seal-ink);
  padding: 0 24px;
}

.theme-seal .nav a.active {
  color: var(--seal-gold);
}

.theme-seal .hero,
.theme-seal .content-hero {
  position: relative;
  overflow: hidden;
  min-height: 610px;
  border-bottom: 1px solid var(--seal-line);
  background:
    url("data:image/svg+xml,%3Csvg width='1440' height='520' viewBox='0 0 1440 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2308162e' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M0 110c180 48 300-18 496-24 251-8 344 84 574 68 152-10 252-55 370-48'/%3E%3Cpath d='M0 260c210 40 360-8 548-24 226-18 348 65 560 68 118 2 206-18 332-48'/%3E%3Cpath d='M0 410c180 36 330-10 516-30 236-26 354 58 584 68 142 6 222-12 340-38'/%3E%3C/g%3E%3C/svg%3E") center 44px / cover no-repeat,
    var(--seal-paper);
}

.theme-seal .hero::after,
.theme-seal .content-hero::after {
  content: "IB";
  position: absolute;
  right: clamp(56px, 10vw, 150px);
  bottom: clamp(46px, 7vw, 92px);
  display: grid;
  width: 116px;
  height: 116px;
  place-items: center;
  border: 1px solid var(--seal-gold);
  border-radius: 50%;
  color: var(--seal-gold);
  font-family: var(--serif);
  font-size: 24px;
  opacity: 0.82;
  pointer-events: none;
  box-shadow: inset 0 0 0 13px var(--seal-paper), inset 0 0 0 14px rgba(167, 117, 53, 0.22);
}

.theme-seal h1,
.theme-seal h2,
.theme-seal h3 {
  color: var(--seal-ink);
}

.theme-seal .hero h1,
.theme-seal .content-hero h1,
.theme-seal.claims-home .hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 5.1vw, 76px);
  line-height: 0.98;
}

.theme-seal .hero p,
.theme-seal .content-hero p,
.theme-seal p {
  color: var(--seal-muted);
}

.theme-seal .label {
  color: var(--seal-gold);
  letter-spacing: 0.24em;
}

.theme-seal .button,
.theme-seal .button-like,
.theme-seal .mock-form button,
.theme-seal .lead-form .button {
  min-height: 50px;
  border: 1px solid var(--seal-ink);
  border-radius: 0;
  background: var(--seal-ink);
  color: var(--seal-paper);
  padding: 0 28px;
  font-size: 13px;
}

.theme-seal .button.secondary,
.theme-seal .lead-route .button.secondary,
.theme-seal .lead-form .button.secondary {
  border-color: var(--seal-line);
  background: transparent;
  color: var(--seal-ink);
}

.theme-seal .whatsapp-button {
  border-color: #1f7a4f;
  background: #1f7a4f;
  color: #fff;
}

.theme-seal .hero-card,
.theme-seal .brief-card,
.theme-seal .content-card,
.theme-seal .route-card,
.theme-seal .lead-route,
.theme-seal .lead-form,
.theme-seal .contact-panel,
.theme-seal .calendar,
.theme-seal .proof-card,
.theme-seal .why-grid article,
.theme-seal .founder-card,
.theme-seal .form-panel,
.theme-seal .mock-form,
.theme-seal .journal article {
  border: 1px solid var(--seal-line);
  border-radius: 0;
  background: rgba(246, 243, 235, 0.74);
  box-shadow: none;
}

.theme-seal .hero-card {
  align-self: end;
  min-height: 350px;
  padding: clamp(28px, 3vw, 42px);
}

.theme-seal .claim-panel strong {
  color: var(--seal-ink);
  font-size: clamp(27px, 2.5vw, 36px);
}

.theme-seal .trust-strip {
  background: var(--seal-ink);
  border: 0;
}

.theme-seal .trust-strip span {
  border-color: rgba(236, 232, 220, 0.18);
  color: rgba(236, 232, 220, 0.82);
}

.theme-seal .statement,
.theme-seal .cta-band {
  background: var(--seal-ink);
}

.theme-seal .statement h2,
.theme-seal .statement blockquote,
.theme-seal .cta-band h2,
.theme-seal .cta-band p {
  color: var(--seal-paper);
}

.theme-seal .feature-list,
.theme-seal .protocol-rows,
.theme-seal .timeline,
.theme-seal .index-list,
.theme-seal .research-list {
  border-color: var(--seal-line);
  background: var(--seal-line);
}

.theme-seal .feature-list div,
.theme-seal .protocol-rows span,
.theme-seal .timeline-step,
.theme-seal .index-list a,
.theme-seal .research-row {
  background: rgba(246, 243, 235, 0.82);
}

.theme-seal .module {
  border-color: var(--seal-line);
}

.theme-seal .module-number {
  color: var(--seal-gold);
  font-size: clamp(38px, 4vw, 62px);
}

.theme-seal .module-meta span,
.theme-seal .more-from-ib span {
  border-color: var(--seal-line);
  border-radius: 0;
  background: transparent;
}

.theme-seal .lead-form input,
.theme-seal .lead-form select,
.theme-seal .lead-form textarea,
.theme-seal .rich-form input,
.theme-seal .rich-form select,
.theme-seal .rich-form textarea,
.theme-seal .mock-form input,
.theme-seal .mock-form select,
.theme-seal .mock-form textarea {
  border-color: var(--seal-line);
  border-radius: 0;
  background: rgba(255, 253, 247, 0.72);
}

.theme-seal .footer {
  border-top: 1px solid var(--seal-line);
  background: var(--seal-paper-deep);
}

@media (max-width: 1080px) {
  .theme-seal .hero,
  .theme-seal .content-hero {
    min-height: auto;
  }

  .theme-seal .hero::after,
  .theme-seal .content-hero::after {
    right: 24px;
    bottom: 24px;
    width: 82px;
    height: 82px;
    font-size: 18px;
  }
}

@media (max-width: 680px) {
  .theme-seal .topbar {
    align-items: start;
  }

  .theme-seal .brand-mark {
    width: 46px;
    height: 46px;
  }

  .theme-seal .hero h1,
  .theme-seal .content-hero h1,
  .theme-seal.claims-home .hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.02;
  }

  .theme-seal .hero::after,
  .theme-seal .content-hero::after {
    opacity: 0.28;
  }
}
