@charset "utf-8";

/* Cross-page adaptive overlay. Last stylesheet on every SNK page. */

html { overflow-x: clip; }
body.home-v4,
body.home-v5,
body.home-v6,
body.home-v7,
body.inner-page-v2 { overflow-x: clip; max-width: 100%; }

img, video, canvas, svg { max-width: 100%; height: auto; }
iframe { max-width: 100%; }

.home-v4 .v6-two-line-title,
.inner-page-v2 h1,
.inner-page-v2 h2,
.inner-page-v2 .company-film-head h2 span,
.footer-v2 .footer-v2-opening h2 {
  white-space: normal;
}

/* ---------- tablet + phone: one header pattern ---------- */
@media (max-width: 1080px) {
  :root { --shell: min(100% - 36px, 1000px); --nav-height: 72px; }

  .home-v4 .header-inner,
  .home-v5 .header-inner,
  .home-v6 .header-inner,
  .inner-page-v2 .header-inner,
  .header-inner {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    grid-template-columns: none !important;
  }

  .home-v4 .site-header .brand,
  .home-v5 .site-header .brand,
  .home-v6 .site-header .brand,
  .inner-page-v2 .site-header .brand,
  .inner-page-v2 .site-header.is-scrolled .brand,
  .site-header .brand {
    width: min(148px, 46vw) !important;
    min-width: 0 !important;
    flex: 0 1 auto;
  }

  .home-v4 .header-cta,
  .inner-page-v2 .header-cta,
  .header-cta { display: none !important; }

  .home-v4 .nav-toggle,
  .inner-page-v2 .nav-toggle,
  .nav-toggle {
    position: relative;
    z-index: 6;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: auto;
    width: auto;
    min-width: 58px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(41, 38, 39, .16);
    border-radius: 999px;
    color: #2c2928;
    background: rgba(255, 255, 255, .88);
    cursor: pointer;
  }

  .home-v4 .site-nav,
  .inner-page-v2 .site-nav,
  .site-nav {
    position: fixed !important;
    top: 76px;
    right: 18px;
    left: 18px;
    z-index: 20;
    display: none;
    width: auto;
    height: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 2px;
    padding: 16px;
    border: 0;
    border-radius: 22px;
    color: rgba(255, 255, 255, .78);
    background: rgba(32, 43, 48, .98);
    box-shadow: 0 28px 70px rgba(20, 31, 36, .28);
    white-space: normal;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .home-v4 .site-nav.is-open,
  .inner-page-v2 .site-nav.is-open,
  .site-nav.is-open { display: flex !important; }
  .home-v4 .site-nav a,
  .inner-page-v2 .site-nav a,
  .site-nav a {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 12px;
    color: rgba(255, 255, 255, .78);
    white-space: normal;
  }
  .site-nav a::after,
  .site-nav a::before { display: none !important; }

  /* stack two-column heroes */
  .inner-page-v2 .inner-hero-layout,
  .inner-page-v2 .inner-hero > .shell.inner-hero-grid,
  .inner-hero-grid {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    gap: 36px !important;
  }

  .inner-page-v2 .inner-hero h1,
  .home-v4 .v4-hero h1,
  .home-v4 .v6-two-line-title {
    font-size: clamp(32px, 6.4vw, 46px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.04em !important;
    white-space: normal !important;
  }

  .inner-page-v2 .hero-actions,
  .inner-page-v2 .inner-hero-actions,
  .home-v4 .v4-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .inner-page-v2 .button,
  .home-v4 .v4-hero-actions .button { width: 100%; }

  .inner-page-v2 .inner-proof-card,
  .inner-page-v2 .agent-page-visual {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  .inner-page-v2 .split-heading,
  .inner-page-v2 .section-lead,
  .inner-page-v2 .process-intro,
  .inner-page-v2 .focus-layout,
  .inner-page-v2 .growth-room-layout,
  .inner-page-v2 .about-identity,
  .inner-page-v2 .faq-layout,
  .inner-page-v2 .contact-layout,
  .inner-page-v2 .page-cta > .shell,
  .inner-page-v2 .wide-statement,
  .inner-page-v2 .company-film-head,
  .inner-page-v2 .rich-section-head,
  .inner-page-v2 .douyin-proof-layout,
  .inner-page-v2 .audience-layout {
    grid-template-columns: 1fr !important;
  }

  .footer-v2-directory {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 24px !important;
  }
}

@media (max-width: 720px) {
  :root { --shell: calc(100vw - 32px); --nav-height: 64px; }

  .inner-page-v2 .inner-hero h1,
  .home-v4 .v4-hero h1,
  .home-v4 .v6-two-line-title {
    font-size: clamp(28px, 8.4vw, 38px) !important;
  }

  .inner-page-v2 .process-list,
  .inner-page-v2 .process-grid,
  .inner-page-v2 .capability-grid,
  .inner-page-v2 .company-timeline,
  .inner-page-v2 .audience-grid,
  .inner-page-v2 .field-photo-grid,
  .home-v4 .v4-case-grid,
  .home-v4 .v4-case-grid > .v4-case,
  .home-v4 .v6-result-grid article {
    grid-template-columns: 1fr !important;
  }

  .inner-page-v2 .inner-proof-card,
  .inner-page-v2 .agent-page-visual,
  .inner-page-v2 .inner-proof-ai,
  .inner-page-v2 .inner-proof-site,
  .inner-page-v2 .inner-proof-data {
    min-height: 0 !important;
    overflow: hidden;
  }

  .buyer-query-card,
  .answer-preview-card,
  .v5-buyer-query,
  .v5-buyer-query p,
  .snk-ai-answer,
  .inner-proof-ai,
  .live-demo,
  [class*="buyer"] {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal !important;
  }

  .footer-v2-directory { grid-template-columns: 1fr !important; }

  .footer-v2 .footer-v2-logo img {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
  }
}

@media (max-width: 390px) {
  :root { --shell: calc(100vw - 28px); }
  .inner-page-v2 .inner-hero h1,
  .home-v4 .v4-hero h1 {
    font-size: 26px !important;
    white-space: normal !important;
  }
}

