/* SipaBoards ads pages — shared base + responsive rules */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; background: var(--bg); -webkit-font-smoothing: antialiased; }
/* Stop off-screen fixed overlays (cart drawer, etc.) from causing horizontal scroll on very
   narrow screens (e.g. Z Fold 5 folded). `clip` (not `hidden`) so the sticky header still works. */
html, body { overflow-x: clip; }
/* Buttons stay slim one-line on normal phones (≥375px). Only on ultra-narrow foldable cover
   screens (≤374px, e.g. Z Fold 5 folded ~344px) do long hero CTAs wrap so they fit in bounds. */
@media (max-width: 374px) {
  .sb-btn { white-space: normal !important; text-align: center; }
}
/* Photo hero: add breathing room below the trust line before the next section on mobile
   (content is centered with paddingBottom:0, so tall content can sit flush on small screens). */
@media (max-width: 768px) {
  .sb-hero-pad { padding-bottom: 56px !important; }
}
img { display: block; max-width: 100%; }
a { text-decoration: none; }

.nav-link {
  font-family: var(--font-body); font-weight: 500; font-size: 15px;
  transition: color var(--dur) var(--ease);
}
.nav-link:hover { color: var(--teal-hover) !important; }

/* press / award logos — uniform ink silhouette in the proof bar */
.press-logo {
  filter: brightness(0) opacity(0.46);
  transition: filter var(--dur) var(--ease);
}
.press-logo:hover { filter: brightness(0) opacity(0.72); }
.press-logo-d { filter: brightness(0) invert(1) opacity(0.55); transition: filter var(--dur) var(--ease); }
.press-logo-d:hover { filter: brightness(0) invert(1) opacity(0.85); }

/* hero background video — cover the hero, sit behind the scrim, ignore pointer */
.hero-video { position: absolute; inset: 0; overflow: hidden; pointer-events: none; animation: heroVideoIn 700ms var(--ease) both; }
.hero-video iframe {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 100vw; height: 56.25vw; min-height: 100%; min-width: 177.78vh; border: 0;
}
@keyframes heroVideoIn { from { opacity: 0; } to { opacity: 1; } }

/* subtle entrance for first paint */
@media (prefers-reduced-motion: no-preference) {
  .sb-rise { animation: sbRise 600ms var(--ease) both; }
  @keyframes sbRise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

/* ---- responsive ---- */
@media (max-width: 900px) {
  .split { grid-template-columns: 1fr !important; gap: 36px !important; }
  .split > div:first-child { order: 1 !important; }
  .split > div:last-child { order: 2 !important; }
}
@media (max-width: 860px) {
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 760px) {
  nav .nav-link { display: none !important; }
  .sb-burger { display: inline-flex !important; }
  .sb-mobile-cta { display: flex !important; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr !important; }
}
