/* Framework v1.7: compact layout, interaction states and responsive safeguards. */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(210,220,236,.9);
  backdrop-filter: blur(14px) saturate(150%);
}

.header-inner { height: var(--header-height); }
.brand-v3 { gap: 10px; min-width: 0; }
.brand-v3 img { width: 40px !important; height: 40px !important; object-fit: contain; }
.brand-v3 b { color: var(--color-ink); font-size: 19px; line-height: 1; letter-spacing: -.025em; white-space: nowrap; }
.brand-v3 b span { color: var(--color-brand); }
.site-footer .brand-v3 b { color: #fff; }
.site-footer .brand-v3 b span { color: #62c8ff; }

.button {
  min-height: 42px;
  padding: 10px 17px;
  border-radius: var(--radius-control);
  line-height: 1;
  box-shadow: var(--shadow-control);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(23,103,232,.24); }
.button:active { transform: translateY(1px) scale(.985); box-shadow: 0 6px 14px rgba(23,103,232,.18); }
.button:focus-visible { outline: 3px solid #8ebaff; outline-offset: 3px; }
.button[aria-disabled="true"], .button[aria-busy="true"], button:disabled {
  cursor: not-allowed;
  opacity: .52;
  transform: none;
  box-shadow: none;
  pointer-events: none;
}
.button[aria-busy="true"]::after {
  content: "";
  width: 13px;
  height: 13px;
  margin-left: 8px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: button-spin .7s linear infinite;
}
@keyframes button-spin { to { transform: rotate(360deg); } }

.section { padding-block: var(--space-section); }
.ai-tools,.case-stories,.gallery-section,.stats-section,.faq-section { padding-block: var(--space-section); }
.section-heading { margin-bottom: 28px; }
.section-heading h2 { margin-bottom: 10px; }
.section-heading p { margin-bottom: 0; }

.hero {
  min-height: 860px;
  padding-block: 48px 58px;
}
.hero::after { display: none !important; }
.hero-copy { padding-top: 8px; }
.hero h1 {
  max-width: 880px;
  margin-inline: auto;
  font-size: clamp(40px,4.15vw,56px);
  line-height: 1.04;
}
.hero-copy > p { max-width: 760px; }
.hero-editor-wrap { margin-top: 28px; }

.audience-grid article { min-height: 300px !important; padding: 24px !important; }
.pain-grid article { min-height: 320px !important; }
.steps article { min-height: 315px !important; }
.result-section { padding-block: var(--space-section); }
.result-showcase { min-height: 540px; }
.result-intro { padding: 52px 44px; }
.blue-section .center { margin-top: 44px; }
.seo-section { padding-bottom: var(--space-section); }

.free-cta {
  min-height: 540px;
}
.free-content { padding-top: 42px; }
.site-footer { padding-block: 76px 36px; }

img, video, svg { max-width: 100%; height: auto; }
.grid > *, [class*="-grid"] > *, .tool-card > *, .case-card > * { min-width: 0; }
h1,h2,h3,p,a,span { overflow-wrap: break-word; }

@media (max-width: 1000px) {
  .hero { min-height: auto; }
  .result-showcase { min-height: 0; }
}

@media (max-width: 700px) {
  .section,.ai-tools,.case-stories,.gallery-section,.stats-section,.faq-section {
    padding-block: var(--space-section-mobile);
  }
  .hero { padding-block: 34px 50px; }
  .brand-v3 { gap: 7px; }
  .brand-v3 img { width: 32px !important; height: 32px !important; }
  .brand-v3 b { font-size: 16px; }
  .brand-v3 b span { display: inline !important; }
  .hero h1 { font-size: clamp(32px,9.4vw,36px); line-height: 1.08; }
  .hero-copy > p { font-size: 15px; }
  .hero-editor-wrap { margin-top: 24px; }
  .audience-grid article,.pain-grid article,.steps article { min-height: 0 !important; }
  .result-section { padding-block: var(--space-section-mobile); }
  .result-intro { padding: 34px 24px; }
  .free-cta { min-height: 560px; }
  .site-footer { padding-block: 64px 28px; }
}

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