* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; background: var(--surface-page); }
  body { font-family: var(--font-body); }
  a { color: var(--text-accent); text-decoration: none; }
  a:hover { color: var(--blue-600); }
  img { max-width: 100%; display: block; }
  section[id] { scroll-margin-top: 84px; }

  /* HOME HEADER (anchor-link variant — see 01-header-component.md §5) */
  .site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-subtle); }
  .site-header .bar { max-width: 1160px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .site-header .logo { display: flex; align-items: center; gap: 10px; }
  .site-header .wordmark { font-family: var(--font-display); font-weight: 700; font-size: 18px; letter-spacing: -0.02em; color: var(--text-primary); }
  .site-header .nav-desktop { display: flex; align-items: center; gap: 28px; }
  .site-header .nav-desktop a { font-family: var(--font-body); font-weight: 500; font-size: 14.5px; color: var(--text-secondary); transition: color 0.2s ease; }
  .site-header .nav-desktop a:hover { color: var(--blue-600); }
  .site-header .nav-burger { display: none; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--border-subtle); background: var(--white); border-radius: 10px; cursor: pointer; color: var(--text-primary); }

  @media (max-width: 900px) {
    .g-2, .g-3, .g-ba { grid-template-columns: 1fr !important; }
    .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .footer-grid { grid-template-columns: 1fr 1fr !important; }
    .ba-arrow { transform: rotate(-90deg); margin: 6px auto; }
    .divided > div { border-right: none !important; border-top: 1px solid var(--border-subtle) !important; }
    .divided > div:first-child { border-top: none !important; }
  }
  @media (max-width: 720px) {
    .nav-desktop { display: none !important; }
    .nav-burger { display: inline-flex !important; }
    .stats-grid { grid-template-columns: 1fr 1fr !important; }
    .footer-grid { grid-template-columns: 1fr !important; }
    .hero-pad { padding-right: 22px !important; padding-left: 22px !important; padding-top: 44px !important; }
  }

  /* Case studies: 4-up grid */
  @media (max-width: 1080px) {
    .g-4 { grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media (max-width: 640px) {
    .g-4 { grid-template-columns: 1fr !important; }
  }


/* Case-study cards link through to their post */
.pe-case-card{transition:transform .18s ease,box-shadow .18s ease;cursor:pointer}
.pe-case-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,24,40,.12)}
.pe-case-card:focus-visible{outline:2px solid var(--text-accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.pe-case-card{transition:none}.pe-case-card:hover{transform:none}}

/* Client dashboard section (demo video: 16:9 above 720px, 9:16 below) */
.pe-dashsec{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:52px;align-items:center}
.pe-dashsec-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;max-width:500px}
.pe-dashsec-list li{display:flex;gap:12px;align-items:flex-start;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--text-primary)}
.pe-dashsec-tick{flex-shrink:0;display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-soft-border);color:var(--text-accent);font-family:var(--font-display);font-weight:700;font-size:12px;line-height:20px;text-align:center}
.pe-dashsec-platforms{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.pe-dashsec-platforms span{padding:6px 14px;border-radius:999px;background:var(--white);border:1px solid var(--border-subtle);font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--text-secondary)}
.pe-dashsec-frame{border-radius:var(--radius-xl);overflow:hidden;background:var(--ink-50);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg)}
.pe-dashsec-frame.is-h{aspect-ratio:16/9}
.pe-dashsec-frame.is-v{aspect-ratio:9/16;max-width:340px;margin:0 auto;display:none}
.pe-dashsec-frame video{width:100%;height:100%;object-fit:cover;display:block;background:var(--ink-50)}
.pe-dashsec-note{color:var(--text-muted);text-align:center;margin-top:12px}
@media (max-width:900px){.pe-dashsec{grid-template-columns:1fr;gap:32px}}
@media (max-width:720px){.pe-dashsec-frame.is-h{display:none}.pe-dashsec-frame.is-v{display:block}}

/* Hero video. The cover (pe-hero-cover.jpg, src/Poster.tsx in the Remotion
   project) is the resting state; the whole panel is the play button, and the
   video downloads only when pressed -- 1080p is 38MB, 720p at 720px and below.
   It starts from the top with sound and returns to the cover when it ends. */
.pe-hero-media{max-width:1040px;margin:0 auto;padding:0 32px 60px}
.pe-hero-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-xl);overflow:hidden;background:#EEF5FD;border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}
.pe-hero-frame video{width:100%;height:100%;object-fit:cover;display:block;background:#EEF5FD}
.pe-hero-noscript{position:absolute;inset:0}
.pe-hero-play{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:pointer;border-radius:inherit}
.pe-hero-play[hidden]{display:none}
.pe-hero-play:focus-visible{outline:3px solid var(--text-accent);outline-offset:-3px}
.pe-hero-frame:has(.pe-hero-play:not([hidden]):hover){transform:translateY(-3px);box-shadow:0 24px 56px rgba(15,23,42,.14)}
.pe-hero-frame:has(.pe-hero-play:not([hidden]):active){transform:scale(.995)}
@media (max-width:720px){.pe-hero-media{padding:0 16px 40px}.pe-hero-frame{border-radius:var(--radius-lg)}}
@media (prefers-reduced-motion:reduce){.pe-hero-frame{transition:none}.pe-hero-frame:has(.pe-hero-play:hover){transform:none}}
/* Under the hero video: the two actions the video itself names -- "click the
   button below" for the longer how-I-work video, and the call. */
.pe-hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}
@media (max-width:720px){.pe-hero-actions{margin-top:18px}.pe-hero-actions .btn{flex:1 1 100%;justify-content:center}}
