/* Hallmark · macrostructure: Split Studio · genre: modern-minimal · theme: Cobalt · nav: N11 Mega-menu · footer: Ft5 Statement · pre-emit critique: P4 H4 E4 S4 R5 V5 */
@import url("hallmark-tokens.css");

html,
body {
  overflow-x: clip;
}

body {
  font-family: var(--font-body);
  color: var(--color-ink);
  background: var(--color-paper);
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.sd-btn,
.sd-eyebrow {
  font-family: var(--font-display);
  font-style: normal;
  letter-spacing: 0;
}

h1,
h2,
h3 {
  color: var(--color-ink);
  overflow-wrap: anywhere;
}

a {
  color: var(--color-accent);
  text-underline-offset: var(--space-2xs);
}

a:hover {
  color: var(--color-accent-strong);
}

:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.container {
  max-width: 1180px;
}

.sd-announce {
  background: var(--color-footer);
  color: var(--color-paper);
  border-bottom: var(--rule-hair) solid var(--color-rule-strong);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0;
}

.sd-announce a {
  color: var(--color-paper);
  font-weight: 600;
}

.sd-nav {
  background: var(--color-nav);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.sd-nav .navbar-brand {
  color: var(--color-ink);
  font-weight: 700;
}

.sd-nav .navbar-brand span span,
.sd-gradient-text {
  background: none;
  color: var(--color-accent) !important;
  -webkit-text-fill-color: currentColor;
}

.sd-nav .nav-link {
  color: var(--color-ink-soft);
  border-radius: var(--radius-sm);
  font-weight: 600;
  white-space: nowrap;
  transition: color 160ms var(--ease-standard), background-color 160ms var(--ease-standard);
}

.sd-nav .nav-link:hover,
.sd-nav .nav-link:focus-visible,
.sd-nav .nav-link.active {
  color: var(--color-ink);
  background: var(--color-accent-wash);
}

.sd-nav .dropdown-menu {
  min-width: 18rem;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  background: var(--color-panel);
  box-shadow: var(--shadow-panel);
}

.sd-nav .dropdown-item {
  border-radius: var(--radius-sm);
  color: var(--color-ink-soft);
  font-weight: 500;
  transition: color 160ms var(--ease-standard), background-color 160ms var(--ease-standard);
}

.sd-nav .dropdown-item:hover,
.sd-nav .dropdown-item:focus-visible {
  color: var(--color-ink);
  background: var(--color-accent-wash);
}

.sd-nav .dropdown-header {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0;
}

.navbar-toggler {
  border-color: var(--color-rule);
  border-radius: var(--radius-sm);
}

.sd-hero {
  position: relative;
  min-height: auto;
  padding-block: var(--space-xl) var(--space-lg);
  background: var(--color-paper);
}

.sd-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: var(--rule-hair);
  background: var(--color-rule);
}

.sd-hero-bg-grid,
.sd-hero-blob {
  display: none;
}

.sd-hero .row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--space-xl);
  align-items: center;
}

.sd-hero .col-lg-7,
.sd-hero .col-lg-5 {
  width: auto;
  max-width: none;
}

.sd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-accent-strong);
  background: var(--color-accent-wash);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: none;
}

.sd-eyebrow-dot {
  background: var(--color-accent);
  box-shadow: none;
}

.sd-hero h1 {
  max-width: 20ch;
  margin-top: var(--space-sm);
  font-size: clamp(2.05rem, 3vw, 2.75rem);
  line-height: 1;
}

.sd-hero .lead {
  max-width: 54ch;
  color: var(--color-ink-soft);
  font-size: 0.95rem;
  line-height: 1.42;
  margin-bottom: var(--space-sm);
}

.sd-btn {
  min-height: 2.55rem;
  border-radius: var(--radius-sm);
  padding-inline: var(--space-md);
  font-weight: 700;
  white-space: nowrap;
  transition: transform 180ms var(--ease-out), background-color 180ms var(--ease-standard), color 180ms var(--ease-standard), border-color 180ms var(--ease-standard), box-shadow 180ms var(--ease-standard);
}

.sd-btn:hover {
  transform: translateY(-2px);
}

.sd-btn:active {
  transform: translateY(0);
}

.sd-btn-primary {
  color: var(--color-accent-ink) !important;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: none;
}

.sd-btn-primary:hover,
.sd-btn-primary:focus-visible {
  color: var(--color-accent-ink) !important;
  background: var(--color-accent-strong);
  border-color: var(--color-accent-strong);
  box-shadow: var(--shadow-lift);
}

.sd-btn:disabled,
.sd-btn[disabled],
.sd-btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.sd-btn-ghost,
.sd-btn-secondary,
.sd-btn-outline {
  color: var(--color-ink);
  background: var(--color-panel);
  border: var(--rule-hair) solid var(--color-rule);
  box-shadow: none;
}

.sd-btn-ghost:hover,
.sd-btn-secondary:hover,
.sd-btn-outline:hover {
  color: var(--color-ink);
  background: var(--color-accent-wash);
  border-color: var(--color-rule-strong);
}

.sd-hero-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
  max-width: 38rem;
  margin-top: var(--space-sm);
}

.sd-hero-trust-item {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-ink-soft);
  background: var(--color-panel);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  box-shadow: none;
  font-size: 0.82rem;
  font-weight: 600;
}

.sd-hero-trust-item svg {
  color: var(--color-success);
  flex: 0 0 auto;
}

.sd-hero-card-stack {
  padding: var(--space-sm);
  max-width: 27rem;
  margin-inline: auto;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  background: var(--color-panel-raised);
  box-shadow: var(--shadow-panel);
}

.sd-hero-card-stack svg {
  display: block;
  border-radius: var(--radius-sm);
  background: var(--color-paper-2);
}

.sd-section,
section[id] {
  padding-block: var(--space-4xl);
  background: var(--color-paper);
}

.sd-section:nth-of-type(even),
section[id]:nth-of-type(even) {
  background: var(--color-paper-2);
}

.sd-section .row.align-items-center {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: var(--space-2xl);
}

.sd-section .row.align-items-center > [class*="col-"] {
  width: auto;
  max-width: none;
}

.sd-section h2,
section[id] h2 {
  max-width: 14ch;
  font-size: clamp(2rem, 4.2vw, 4.2rem);
  line-height: 0.98;
}

.sd-section p,
section[id] p {
  color: var(--color-ink-soft);
}

.sd-card,
.sd-service-card,
.sd-feature-card,
.sd-blog-card,
.sd-form-card,
.sd-form-side,
.sd-calculator-card,
.sd-timeline-item,
.sd-process-card,
.sd-tool-card {
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  background: var(--color-panel);
  box-shadow: none;
  transition: transform 180ms var(--ease-out), border-color 180ms var(--ease-standard), box-shadow 180ms var(--ease-standard);
}

.sd-card:hover,
.sd-service-card:hover,
.sd-feature-card:hover,
.sd-blog-card:hover,
.sd-tool-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-rule-strong);
  box-shadow: var(--shadow-panel);
}

.sd-icon,
.sd-service-icon,
.sd-feature-icon {
  color: var(--color-accent);
  background: var(--color-accent-wash);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
}

.form-control,
.form-select,
.sd-footer-newsletter input {
  min-height: 2.75rem;
  color: var(--color-ink);
  background: var(--color-panel);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: border-color 160ms var(--ease-standard), box-shadow 160ms var(--ease-standard);
}

.form-control:focus,
.form-select:focus,
.sd-footer-newsletter input:focus {
  border-color: var(--color-focus);
  box-shadow: 0 0 0 0.2rem var(--color-accent-soft);
}

.sd-form-side-stat strong {
  color: var(--color-accent);
  font-family: var(--font-display);
}

.sd-footer {
  padding-block: var(--space-4xl) var(--space-xl);
  color: var(--color-paper);
  background: var(--color-footer);
}

.sd-footer .row:first-child {
  row-gap: var(--space-2xl);
}

.sd-footer-brand {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  color: var(--color-paper);
}

.sd-footer p {
  max-width: 48ch;
  color: var(--color-footer-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.sd-footer h4 {
  color: var(--color-paper);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sd-footer a,
.sd-footer li {
  color: var(--color-footer-muted);
}

.sd-footer a:hover,
.sd-footer a:focus-visible {
  color: var(--color-paper);
}

.sd-footer-social a,
.sd-footer-newsletter button {
  color: var(--color-paper);
  background: transparent;
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-sm);
  transition: transform 180ms var(--ease-out), background-color 180ms var(--ease-standard), border-color 180ms var(--ease-standard);
}

.form-control:disabled,
.form-select:disabled,
.sd-footer-newsletter input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: var(--color-paper-3);
}

.sd-footer-social a:hover,
.sd-footer-newsletter button:hover {
  transform: translateY(-2px);
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.sd-footer-newsletter {
  align-items: stretch;
}

.sd-footer-newsletter input {
  color: var(--color-paper);
  background: transparent;
  border-color: var(--color-rule-strong);
}

.sd-footer-newsletter input::placeholder {
  color: var(--color-footer-muted);
}

.sd-footer-newsletter button {
  padding-inline: var(--space-md);
  font-family: var(--font-display);
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
}

@media (max-width: 991.98px) {
  .sd-nav .navbar-collapse {
    padding-block: var(--space-md);
  }

  .sd-nav .navbar-nav {
    align-items: stretch !important;
  }

  .sd-hero .row,
  .sd-section .row.align-items-center {
    grid-template-columns: minmax(0, 1fr);
  }

  .sd-hero {
    padding-block: var(--space-2xl) var(--space-xl);
  }

  .sd-hero h1 {
    max-width: 13ch;
    font-size: clamp(2.25rem, 8vw, 3.4rem);
  }

  .sd-hero-card-stack {
    max-width: 34rem;
  }
}

@media (max-width: 575.98px) {
  .container {
    padding-inline: var(--space-md);
  }

  .sd-announce {
    text-align: left;
  }

  .sd-hero h1 {
    max-width: 100%;
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  .sd-hero-trust {
    grid-template-columns: minmax(0, 1fr);
  }

  .sd-btn {
    width: 100%;
    justify-content: center;
  }

  .sd-footer-newsletter {
    flex-direction: column;
  }
}
