/* ══════════════════════════════════════════
   AVAV.CO.ZA — Shared Styles (PeopleStack-aligned)
   ══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  /* PEOPLESTACK-ALIGNED PALETTE */
  --bg:           #f5f2ee;       /* warm cream — dominant */
  --bg-elev:      #ffffff;       /* card white on cream */
  --bg-soft:      #ebe7df;       /* subtle cream section */
  --bg-tan:       #e3ddd1;

  --ink:          #080d14;       /* deep navy-black */
  --ink-2:        #0d1520;       /* dark surface */
  --ink-3:        #1a1f2b;       /* dark border */

  --text:         #080d14;
  --text-mid:     #5a6478;
  --text-dim:     #8c93a3;

  --on-dark:      #f5f2ee;
  --on-dark-mid:  #a8aebb;
  --on-dark-dim:  #5a6478;

  --accent:       #48BC87;       /* AVAV ORANGE — from new logo */
  --accent-2:     #c95421;
  --accent-soft:  rgba(72,188,135,.10);
  --accent-bord:  rgba(72,188,135,.32);

  --rule:         rgba(8,13,20,.08);
  --rule-strong:  rgba(8,13,20,.14);
  --rule-d:       rgba(245,242,238,.10);

  /* LEGACY ALIASES — keep existing markup working with new palette */
  --black:        #080d14;
  --dark:         #0d1520;
  --surface:      #0d1520;
  --surface2:     #1a1f2b;
  --surface3:     #232838;
  --cream:        #f5f2ee;
  --cream2:       #ebe7df;
  --cream3:       #e3ddd1;
  --gold:         #48BC87;        /* gold is now ORANGE — AVAV logo */
  --gold2:        #f08a4f;
  --gold-dim:     #c95421;
  --gold-bg:      rgba(72,188,135,.10);
  --gold-border:  rgba(72,188,135,.32);
  --violet:       #48BC87;
  --violet2:      #f08a4f;
  --violet-dim:   #c95421;
  --violet-bg:    rgba(72,188,135,.10);
  --violet-border:rgba(72,188,135,.32);
  --terra:        #48BC87;
  --navy:         #48BC87;
  --sage:         #48BC87;
  --ink:          #080d14;
  --text-d:       #f5f2ee;
  --text-d-mid:   #a8aebb;
  --text-d-dim:   #5a6478;
  --text-l:       #080d14;
  --text-l-mid:   #5a6478;
  --text-l-dim:   #8c93a3;
  --rule-l:       rgba(8,13,20,.08);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body {
  background:var(--bg);
  color:var(--text);
  font-family:'Plus Jakarta Sans', sans-serif;
  font-weight:400;
  line-height:1.55;
  overflow-x:hidden;
}

/* Custom cursor — disabled (PeopleStack uses system cursor) */
.cursor, .cursor-ring { display:none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  .reveal,.reveal-left,.reveal-right { opacity:1 !important; transform:none !important; }
}

:focus { outline:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:2px solid var(--accent); outline-offset:3px; border-radius:6px;
}

/* ────────── NAV ────────── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  display:flex; align-items:stretch; justify-content:space-between;
  padding:0 60px;
  background:rgba(245,242,238,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .3s, border-bottom-color .3s;
}
nav.light-nav { background:rgba(245,242,238,.92); }
nav.scrolled, nav.light-nav.scrolled { border-bottom-color:var(--rule); }
nav.dark-nav { background:rgba(8,13,20,.88); }
nav.dark-nav.scrolled { border-bottom-color:rgba(245,242,238,.08); }

.nav-logo { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:22px; letter-spacing:-.02em; text-decoration:none; padding:20px 0; display:flex; align-items:center; color:var(--ink); }
nav.dark-nav .nav-logo, nav.dark-nav.scrolled .nav-logo { color:var(--on-dark); }
.nav-logo em { color:var(--accent); font-style:normal; font-weight:700; }

.nav-links { display:flex; align-items:stretch; gap:0; }
.nav-links a { font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:500; letter-spacing:0; text-decoration:none; padding:0 18px; display:flex; align-items:center; transition:color .2s; color:var(--text-mid); }
.nav-links a:hover, .nav-links a.active { color:var(--ink); }
nav.dark-nav .nav-links a, nav.dark-nav.scrolled .nav-links a { color:rgba(245,242,238,.6); }
nav.dark-nav .nav-links a:hover { color:var(--on-dark); }
nav.dark-nav .nav-links a.active { color:var(--accent) !important; }

.nav-cta { background:var(--accent) !important; color:var(--ink) !important; font-weight:600 !important; padding:0 22px !important; margin:14px 0 14px 8px !important; border-radius:999px !important; height:auto; transition:background .2s, transform .2s, box-shadow .2s !important; }
.nav-cta:hover { background:var(--accent-2) !important; transform:translateY(-1px); box-shadow:0 10px 26px -8px rgba(72,188,135,.5); }

.nav-dropdown { position:relative; }
.nav-dropdown > a { gap:6px; }
.nav-dropdown > a::after { content:'▾'; font-size:9px; opacity:.5; }
.dropdown-menu { position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--rule); border-radius:14px; padding:10px; min-width:220px; opacity:0; pointer-events:none; transform:translateY(8px); transition:all .25s; z-index:900; box-shadow:0 20px 50px -20px rgba(8,13,20,.18); }
.nav-dropdown:hover .dropdown-menu { opacity:1; pointer-events:all; transform:translateY(0); }
.dropdown-menu a { display:flex !important; align-items:center; gap:10px; padding:10px 14px !important; border-radius:8px; color:var(--text-mid) !important; font-size:14px !important; transition:background .15s, color .15s !important; }
.dropdown-menu a:hover { background:var(--accent-soft); color:var(--ink) !important; }
.dropdown-menu a .d-dot { width:8px !important; height:8px !important; border-radius:50% !important; flex-shrink:0; background:var(--accent) !important; }

/* ────────── LAYOUT ────────── */
.wrap { max-width:1280px; margin:0 auto; padding:0 60px; }
.section-pad { padding:120px 0; }
.section-pad-sm { padding:72px 0; }

/* ────────── TYPE — PeopleStack: clean sans, no italic serif gold ────────── */
.eyebrow { font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:20px; display:inline-flex; align-items:center; gap:8px; }
.eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.eyebrow-gold, .eyebrow-dim, .eyebrow-d-dim { color:var(--accent); }
.eyebrow-d-dim { color:var(--accent); }

.display-xl { font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; font-size:clamp(36px,5vw,72px); line-height:1.04; letter-spacing:-.03em; color:var(--ink); }
.display-lg { font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; font-size:clamp(28px,3.6vw,52px); line-height:1.08; letter-spacing:-.024em; color:var(--ink); }
.display-md { font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; font-size:clamp(24px,2.8vw,40px); line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.display-sm { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:clamp(20px,2vw,30px); line-height:1.25; letter-spacing:-.012em; color:var(--ink); }

/* serif-italic is now just clean Jost geometric accent — green, NOT italic serif */
.serif-italic { font-family:'Plus Jakarta Sans',sans-serif; font-style:normal; font-weight:500; color:var(--accent); letter-spacing:-.02em; }
.mono { font-family:'Plus Jakarta Sans',sans-serif; font-size:.9em; letter-spacing:0; }

.text-gold, .text-accent { color:var(--accent); }
.text-white { color:var(--on-dark); }
.text-d-mid { color:var(--on-dark-mid); }
.text-l-mid { color:var(--text-mid); }

/* ────────── BUTTONS — pill-shaped, green primary ────────── */
.btn { display:inline-flex; align-items:center; gap:8px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:15px; padding:14px 28px; border-radius:999px; text-decoration:none; border:none; cursor:pointer; transition:all .2s; white-space:nowrap; letter-spacing:-.005em; }
.btn-gold, .btn-accent { background:var(--accent); color:var(--ink); }
.btn-gold:hover, .btn-accent:hover { background:var(--accent-2); transform:translateY(-2px); box-shadow:0 14px 32px -10px rgba(72,188,135,.5); }
.btn-dark { background:var(--ink); color:var(--on-dark); }
.btn-dark:hover { background:#1a1f2b; transform:translateY(-1px); }
.btn-ghost-dark { background:transparent; color:var(--on-dark); border:1px solid rgba(245,242,238,.22); }
.btn-ghost-dark:hover { border-color:var(--accent); color:var(--accent); }
.btn-ghost-light { background:transparent; color:var(--ink); border:1px solid var(--rule-strong); }
.btn-ghost-light:hover { border-color:var(--ink); background:rgba(8,13,20,.03); }
.btn-sm { font-size:13px; padding:10px 22px; }
.btn-lg { font-size:16px; padding:18px 34px; }
/* kill old gold sheen — PeopleStack buttons are clean */
.btn-gold::before, .btn-accent::before { content:none !important; }

/* ────────── CARDS — rounded soft cards ────────── */
.card { background:#fff; border:1px solid var(--rule); padding:32px 30px; border-radius:18px; transition:transform .3s, box-shadow .3s, border-color .3s; }
.card:hover { transform:translateY(-4px); box-shadow:0 24px 48px -20px rgba(8,13,20,.12); border-color:var(--accent-bord); }
.card-dark { background:var(--ink-2); border:1px solid var(--ink-3); padding:32px 28px; border-radius:18px; transition:transform .3s, border-color .3s; }
.card-dark:hover { transform:translateY(-4px); border-color:var(--accent-bord); }

/* ────────── PILL CHIPS — PeopleStack signature ────────── */
.pill { display:inline-flex; align-items:center; gap:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:8px 16px; border-radius:999px; background:#fff; border:1px solid var(--rule); color:var(--text); white-space:nowrap; }
.pill::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.pill-dark { background:rgba(245,242,238,.04); border-color:rgba(245,242,238,.12); color:var(--on-dark); }
.badge { display:inline-flex; align-items:center; gap:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:6px 14px; border-radius:999px; background:#fff; border:1px solid var(--rule); color:var(--text); }
.badge-gold, .badge-terra, .badge-navy, .badge-sage { color:var(--accent); border-color:var(--accent-bord); background:var(--accent-soft); }
.badge-d-gold, .badge-d-terra, .badge-d-navy, .badge-d-sage { color:var(--accent); border-color:var(--accent-bord); background:rgba(72,188,135,.10); }

/* ────────── MARQUEE — dark with green ────────── */
.marquee-wrap { background:var(--ink); padding:18px 0; overflow:hidden; border-top:1px solid rgba(245,242,238,.06); border-bottom:1px solid rgba(245,242,238,.06); }
.marquee-track { display:flex; white-space:nowrap; animation:marquee 32s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-item { font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--on-dark); padding:0 28px; display:inline-flex; align-items:center; gap:14px; flex-shrink:0; }
.marquee-item::after { content:'•'; font-size:14px; color:var(--accent); opacity:.7; }

/* ────────── DIVIDERS ────────── */
.rule-gold, .rule-accent { border:none; border-top:1px solid var(--accent-bord); }
.rule-dark { border:none; border-top:1px solid rgba(245,242,238,.08); }
.rule-light { border:none; border-top:1px solid var(--rule); }

/* ────────── REVEAL ────────── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.08s; }
.reveal-delay-2 { transition-delay:.16s; }
.reveal-delay-3 { transition-delay:.24s; }
.reveal-delay-4 { transition-delay:.32s; }
.reveal-left { opacity:0; transform:translateX(-28px); transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(28px); transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal-right.visible { opacity:1; transform:translateX(0); }

.hero-in { opacity:0; transform:translateY(18px); animation:heroIn .9s cubic-bezier(.2,.7,.2,1) forwards; }
.hero-in-1 { animation-delay:.05s; }
.hero-in-2 { animation-delay:.18s; }
.hero-in-3 { animation-delay:.32s; }
.hero-in-4 { animation-delay:.46s; }
.hero-in-5 { animation-delay:.60s; }
@keyframes heroIn { to { opacity:1; transform:translateY(0); } }

/* card lift */
.prod-card, .feat-card, .sector-card, .testi-card { transition:transform .3s, box-shadow .3s, border-color .3s; }
.prod-card:hover, .feat-card:hover { transform:translateY(-4px); box-shadow:0 24px 50px -20px rgba(8,13,20,.18); }
.sector-card:hover, .testi-card:hover { transform:translateY(-3px); }

/* ────────── MODAL ────────── */
.modal-overlay { position:fixed; inset:0; background:rgba(8,13,20,.6); z-index:2000; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; padding:20px; backdrop-filter:blur(8px); }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-box { background:#fff; max-width:540px; width:100%; padding:48px; border-radius:24px; position:relative; transform:translateY(20px); transition:transform .35s; max-height:90vh; overflow-y:auto; }
.modal-overlay.open .modal-box { transform:translateY(0); }
.modal-close { position:absolute; top:18px; right:20px; background:none; border:none; font-size:26px; cursor:pointer; color:var(--text-dim); line-height:1; }
.modal-close:hover { color:var(--ink); }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:600; letter-spacing:.02em; color:var(--text-mid); margin-bottom:6px; text-transform:none; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:14px 18px; border:1px solid var(--rule-strong); background:#fff; border-radius:12px; font-family:'Plus Jakarta Sans',sans-serif; font-size:15px; color:var(--ink); outline:none; transition:border-color .2s, box-shadow .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.form-group textarea { min-height:100px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-submit { width:100%; background:var(--accent); color:var(--ink); font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:16px; padding:16px; border:none; border-radius:999px; cursor:pointer; transition:background .2s, transform .2s, box-shadow .2s; margin-top:8px; }
.form-submit:hover { background:var(--accent-2); transform:translateY(-1px); box-shadow:0 12px 30px -10px rgba(72,188,135,.5); }

/* ────────── FOOTER (unified — every page shares the .site-footer markup) ────────── */
.site-footer { background:var(--ink); color:var(--on-dark-mid); padding:0; }
.footer-social { display:flex; gap:8px; }
.social-link { width:36px; height:36px; border:1px solid rgba(245,242,238,.12); border-radius:999px; display:inline-flex; align-items:center; justify-content:center; color:var(--on-dark-mid); text-decoration:none; transition:all .2s; }
.social-link:hover { background:var(--accent); color:var(--ink); border-color:var(--accent); }

/* footer-mark-band / footer-col-new markup, identical on all pages */
.site-footer .footer-mark-band { position:relative; padding:88px 60px 48px; border-bottom:1px solid rgba(245,242,238,.06); }
.footer-coord { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,238,.45); font-weight:600; line-height:1.9; margin-bottom:22px; }
.footer-coord b { color:rgba(245,242,238,.85); font-weight:700; }
.footer-wordmark { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:clamp(48px,8vw,104px); letter-spacing:-.045em; line-height:.85; color:var(--on-dark); margin:0 0 24px; }
.footer-wordmark em { color:var(--accent); font-style:normal; font-weight:800; }
.footer-statement { max-width:760px; font-size:clamp(17px,1.6vw,22px); line-height:1.5; color:rgba(245,242,238,.58); font-weight:400; margin:0; letter-spacing:-.005em; }
.footer-statement b { color:var(--on-dark); font-weight:600; }

.site-footer .footer-mark-band ~ .footer-cols { position:relative; display:grid; grid-template-columns:minmax(300px,1.35fr) minmax(150px,.85fr) minmax(160px,.9fr) minmax(210px,1.1fr); gap:56px 44px; padding:64px 60px; border-bottom:1px solid rgba(245,242,238,.06); }
.footer-col-new { display:flex; flex-direction:column; align-items:flex-start; gap:11px; min-width:0; }
.footer-col-new h4 { font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin:0 0 10px; font-weight:700; }
.footer-col-new a { color:rgba(245,242,238,.72); font-size:14px; font-weight:400; text-decoration:none; transition:color .25s; letter-spacing:-.005em; }
.footer-col-new a:hover { color:var(--on-dark); }
.footer-col-new span { color:rgba(245,242,238,.5); font-size:13px; font-weight:400; line-height:1.5; letter-spacing:-.005em; }
.footer-contact-lg { font-size:15px !important; font-weight:600 !important; color:var(--on-dark) !important; letter-spacing:-.01em; }
.footer-contact-lg:hover { color:var(--accent) !important; }
.footer-phone { font-size:15px !important; color:rgba(245,242,238,.85) !important; font-weight:500; }
.footer-loc { margin-top:4px; }

.site-footer .footer-final { position:relative; padding:24px 60px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.footer-final p { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; letter-spacing:.05em; color:rgba(245,242,238,.45); margin:0; font-weight:400; }
.footer-final p strong { color:var(--on-dark); font-weight:600; }
.footer-final p a { color:rgba(245,242,238,.55); text-decoration:none; transition:color .25s; margin-right:10px; }
.footer-final p a:hover { color:var(--accent); }
.footer-final .footer-social { display:flex; gap:8px; }
.footer-final .social-link { width:42px; height:42px; border:1px solid rgba(245,242,238,.10); background:rgba(245,242,238,.02); display:inline-flex; align-items:center; justify-content:center; color:rgba(245,242,238,.6); transition:transform .4s cubic-bezier(.2,.7,.2,1),background .35s,color .35s,border-color .35s,box-shadow .4s; text-decoration:none; border-radius:50%; }
.footer-final .social-link:hover { background:var(--accent); color:var(--ink); border-color:var(--accent); transform:translateY(-3px) scale(1.06); box-shadow:0 12px 24px -12px rgba(72,188,135,.55); }

@media(max-width:960px) {
  .site-footer .footer-mark-band { padding:56px 24px 36px; }
  .site-footer .footer-mark-band ~ .footer-cols { grid-template-columns:1fr 1fr; gap:36px 24px; padding:44px 24px; }
  .footer-col-contact { grid-column:1 / -1; }
  .site-footer .footer-final { padding:20px 24px; flex-direction:column-reverse; align-items:flex-start; gap:18px; }
}
@media(max-width:560px) {
  .site-footer .footer-mark-band ~ .footer-cols { grid-template-columns:1fr; }
}
/* Footer ornament markup — visible (was previously hidden during a transition; restored when new index.html and product pages converged on the cinematic-footer markup). */

/* numbers */
.stat-number { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:var(--ink); line-height:1; letter-spacing:-.03em; }

/* demo shell */
.demo-shell { background:#fff; border:1px solid var(--rule); border-radius:18px; overflow:hidden; box-shadow:0 40px 80px -32px rgba(8,13,20,.25); }
.demo-chrome { background:var(--bg-soft); padding:12px 16px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--rule); }
.demo-dot { width:10px; height:10px; border-radius:50%; }
.demo-dot-r { background:#FF5F57; }
.demo-dot-y { background:#FFBD2E; }
.demo-dot-g { background:#28CA41; }
.demo-url-bar { flex:1; background:rgba(8,13,20,.04); border-radius:999px; padding:6px 16px; font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; color:var(--text-dim); text-align:center; margin:0 8px; }

/* ────────── RESPONSIVE ────────── */
@media(max-width:960px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .wrap { padding:0 24px; }
  .section-pad { padding:80px 0; }
}
@media(max-width:600px) {
  .form-row { grid-template-columns:1fr; }
}

/* ────────── SELECTED WORK GRID ────────── */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.work-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--rule);text-decoration:none;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;}
.work-card:hover{transform:translateY(-6px);border-color:var(--accent-bord);box-shadow:0 24px 50px -24px rgba(8,13,20,.18);}
.work-thumb{aspect-ratio:16/10;background:var(--bg-soft);overflow:hidden;position:relative;border-bottom:1px solid var(--rule);}
.work-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .9s cubic-bezier(.2,.8,.2,1);filter:none;}
.work-card:hover .work-thumb img{transform:scale(1.045);}
.work-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:8px;}
.work-tag{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}
.work-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:22px;color:var(--ink);letter-spacing:-.015em;line-height:1.2;}
.work-desc{font-size:14px;color:var(--text-mid);font-weight:400;line-height:1.6;}
.work-link{margin-top:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:0;color:var(--accent);display:inline-flex;align-items:center;gap:8px;transition:gap .3s;text-transform:none;}
.work-card:hover .work-link{gap:14px;}
@media(max-width:960px){.work-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr;}}

/* linked client cards */
.cf-card-linked{text-decoration:none;display:flex;flex-direction:column;padding:0;overflow:hidden;background:#fff;border:1px solid var(--rule);border-radius:18px;transition:transform .4s,border-color .3s,box-shadow .3s;}
.cf-card-linked:hover{transform:translateY(-5px);border-color:var(--accent-bord);box-shadow:0 18px 50px -24px rgba(8,13,20,.18);}
.cf-card-linked .cf-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft);}
.cf-card-linked .cf-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .9s cubic-bezier(.2,.8,.2,1);}
.cf-card-linked:hover .cf-thumb img{transform:scale(1.045);}
.cf-card-linked .cf-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:6px;}
.cf-visit{margin-top:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:8px;transition:gap .3s;}
.cf-card-linked:hover .cf-visit{gap:14px;}

.client-card-linked{text-decoration:none;transition:transform .4s,border-color .3s;}
.client-card-linked:hover{transform:translateY(-4px);border-color:var(--accent-bord);}
.cc-arrow{font-size:.85em;color:var(--accent);margin-left:6px;transition:transform .3s;display:inline-block;}
.client-card-linked:hover .cc-arrow{transform:translateX(3px);}

/* clients roster */
.clients-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.client-roster-card{background:#fff;border:1px solid var(--rule);border-radius:18px;padding:28px;transition:border-color .3s,transform .4s,box-shadow .3s;display:flex;flex-direction:column;text-decoration:none;min-height:180px;}
.client-roster-card:hover{border-color:var(--accent-bord);transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(8,13,20,.14);}
.client-roster-card.no-link{cursor:default;}
.client-roster-card.no-link:hover{transform:none;border-color:var(--rule);box-shadow:none;}
.crc-tag{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.crc-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:20px;color:var(--ink);letter-spacing:-.01em;margin-bottom:10px;line-height:1.2;}
.crc-desc{font-size:14px;color:var(--text-mid);font-weight:400;line-height:1.6;flex:1;}
.crc-link{margin-top:14px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:8px;transition:gap .3s;}
.client-roster-card:hover .crc-link{gap:14px;}
.client-roster-card-light{background:#fff;}
.client-roster-card-light .crc-name{color:var(--ink);}
.client-roster-card-light .crc-desc{color:var(--text-mid);}
@media(max-width:960px){.clients-roster{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.clients-roster{grid-template-columns:1fr;}}

/* ════════════════════════════════════════════
   PEOPLESTACK HERO OVERRIDES — applied to all inner pages
   Morphs the legacy cinematic dark photo heroes (.product-hero,
   .about-hero, .contact-hero) into clean cream PeopleStack heroes.
   ════════════════════════════════════════════ */
.product-hero, .about-hero, .contact-hero {
  background:var(--bg) !important;
  padding:140px 60px 88px !important;
  position:relative;
  min-height:auto !important;
  height:auto !important;
  overflow:hidden;
  display:block !important;
}
.product-hero::before, .about-hero::before, .contact-hero::before {
  content:'';
  position:absolute;
  top:-200px;
  right:-200px;
  width:600px;
  height:600px;
  background:radial-gradient(circle, var(--accent-soft) 0%, transparent 65%);
  pointer-events:none;
  z-index:0;
}
/* hide all the dark photo backgrounds + overlays from old cinematic heroes */
.product-hero .ph-bg,
.product-hero .ph-img,
.product-hero .ph-overlay,
.about-hero .ah-img,
.about-hero .ah-overlay,
.contact-hero .ch-bg,
.contact-hero .ch-grid {
  display:none !important;
}
.product-hero .ph-content,
.about-hero .ah-content,
.contact-hero .ch-content {
  position:relative !important;
  z-index:2;
  max-width:1280px;
  margin:0 auto;
  padding:0 !important;
  text-align:left !important;
}

/* badge becomes a pill chip with green dot */
.ph-badge {
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid var(--rule) !important;
  color:var(--text) !important;
  margin-bottom:32px !important;
}
.ph-badge::before {
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  flex-shrink:0;
}

/* hero titles — dark navy on cream, Plus Jakarta Sans */
.ph-title, .about-hero .display-xl, .contact-hero .display-xl {
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-weight:500 !important;
  font-size:clamp(36px,5vw,68px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  color:var(--ink) !important;
  margin-bottom:24px !important;
}
.ph-title em,
.about-hero .serif-italic,
.contact-hero .serif-italic,
.product-hero .serif-italic {
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-style:normal !important;
  font-weight:500 !important;
  color:var(--accent) !important;
}

/* hero subhead — steel grey */
.ph-sub,
.about-hero .ah-content p,
.contact-hero .ch-content p {
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:clamp(15px,1.15vw,18px) !important;
  font-weight:400 !important;
  line-height:1.55 !important;
  color:var(--text-mid) !important;
  max-width:580px !important;
  margin-bottom:32px !important;
}

/* hero eyebrow */
.about-hero .eyebrow, .contact-hero .eyebrow {
  color:var(--accent) !important;
}

/* actions row */
.ph-actions {
  display:flex !important;
  gap:14px !important;
  align-items:center;
  flex-wrap:wrap;
  margin-top:8px !important;
}
/* on cream, ghost-dark button needs to become ghost-light */
.product-hero .btn-ghost-dark,
.about-hero .btn-ghost-dark,
.contact-hero .btn-ghost-dark {
  color:var(--ink) !important;
  border-color:var(--rule-strong) !important;
}
.product-hero .btn-ghost-dark:hover,
.about-hero .btn-ghost-dark:hover,
.contact-hero .btn-ghost-dark:hover {
  border-color:var(--ink) !important;
  color:var(--ink) !important;
  background:rgba(8,13,20,.03) !important;
}

@media(max-width:960px) {
  .product-hero, .about-hero, .contact-hero {
    padding:110px 24px 64px !important;
  }
  .ph-title, .about-hero .display-xl, .contact-hero .display-xl {
    font-size:clamp(32px,7vw,52px) !important;
  }
}

/* ════════════════════════════════════════════
   ONE-FONT LOCKDOWN — Plus Jakarta Sans only.
   No italics anywhere.
   ════════════════════════════════════════════ */
*, *::before, *::after {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-style: normal !important;
}
/* Monospace exceptions — small technical labels, coordinates, code, timestamps */
code, pre, kbd, samp, tt,
.mono,
.marquee-item,
.demo-url-bar,
.footer-coord,
.ci-status,
.ci-label,
.crc-tag,
[class*="-tag"],
[class*="-mono"],
[class*="mono-"] {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
/* Hard-kill italics regardless of element or inline style */
em, i, .serif-italic, [style*="italic"] {
  font-style: normal !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
/* Preserve the green accent treatment that the old italic-serif class used to provide */
em, .serif-italic { color: var(--accent); font-weight: 600; }
/* But keep brand-logo <em> with its own colour rule */
.nav-logo em, .footer-logo em { color: var(--accent); font-weight: 700; }

/* Hide marquee site-wide per design request */
.marquee-wrap, .marquee-track, .marquee-item { display: none !important; }

/* Mono numeral labels replace icons — home .prod-num + product .feat-icon */
.feat-icon{
  display:block !important;
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
  color:var(--accent) !important;
  background:none !important;
  width:auto !important; height:auto !important;
  margin-bottom:18px !important;
  padding:0 !important;
}

/* Contact human-promise card */
.human-promise{display:flex;gap:14px;align-items:flex-start;padding:16px;background:rgba(72,188,135,.10);border:1px solid rgba(72,188,135,.20);border-radius:10px;margin-bottom:28px;}
.hp-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:700;font-size:14px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;}
.hp-name{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:2px;}
.hp-line{font-size:13px;color:var(--text-mid);line-height:1.5;font-weight:400;}

/* Contact product mini-cards (unified accent) */
.prod-mini{display:block;background:rgba(72,188,135,.07);border:1px solid rgba(72,188,135,.16);padding:16px;text-decoration:none;border-radius:2px;transition:background .2s;}
.prod-mini:hover{background:rgba(72,188,135,.16);}
.pm-code{font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
.pm-name{font-weight:600;font-size:16px;color:#fff;}

/* PS hero (shared) */

.ps-hero { background:var(--bg); padding:140px 60px 80px; position:relative; overflow:hidden; }
.ps-hero::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; background:radial-gradient(circle, var(--accent-soft) 0%, transparent 65%); pointer-events:none; }
.ps-hero-grid { max-width:1440px; margin:0 auto; display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center; position:relative; }
.ps-hero-pills { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.ps-hero-h1 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; font-size:clamp(34px,4.6vw,64px); line-height:1.05; letter-spacing:-.03em; color:var(--ink); margin:0 0 26px 0; max-width:720px; }
.ps-hero-sub { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(15px,1.15vw,18px); font-weight:400; line-height:1.55; color:var(--text-mid); max-width:540px; margin-bottom:32px; }
.ps-hero-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-bottom:48px; }
.ps-hero-actions .btn { padding:16px 30px; font-size:15px; }
.ps-hero-meta { display:flex; gap:48px; flex-wrap:wrap; padding-top:32px; border-top:1px solid var(--rule); }
.ps-hero-meta-item { display:flex; flex-direction:column; gap:4px; }
.ps-hero-meta-item b { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:28px; color:var(--ink); letter-spacing:-.02em; line-height:1; }
.ps-hero-meta-item b em { font-style:normal; color:var(--accent); font-weight:500; }
.ps-hero-meta-item span { font-size:12px; color:var(--text-mid); font-weight:500; letter-spacing:.02em; }
/* Sticky-nav offset for in-page anchors */
section[id], div[id] { scroll-margin-top:88px; }

/* Relief grid — "What you stop doing on Monday" */
.relief-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.relief-card { background:#fff; border:1px solid var(--rule); border-radius:18px; padding:32px 28px; display:flex; flex-direction:column; gap:14px; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.relief-card:hover { transform:translateY(-3px); box-shadow:0 30px 60px -30px rgba(8,13,20,.18); border-color:rgba(72,188,135,.4); }
.relief-num { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; letter-spacing:.18em; color:var(--accent); font-weight:600; }
.relief-stop { font-family:'Plus Jakarta Sans',sans-serif; font-size:19px; font-weight:600; line-height:1.3; color:var(--ink); letter-spacing:-.012em; }
.relief-start { font-size:14px; line-height:1.6; color:var(--text-l-mid); font-weight:400; }
.relief-start b { color:var(--ink); font-weight:600; font-size:13px; letter-spacing:.01em; display:inline-block; margin-top:2px; padding:2px 8px; background:var(--accent-soft); border-radius:6px; }
@media(max-width:960px) { .relief-grid { grid-template-columns:1fr; gap:16px; } .relief-card { padding:26px 22px; } }

.ps-hero-visual { position:relative; aspect-ratio:16/11; border-radius:20px; overflow:hidden; background:var(--ink); box-shadow:0 50px 100px -40px rgba(8,13,20,.35); border:1px solid rgba(8,13,20,.06); }
.ps-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.ps-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(8,13,20,.65) 100%); pointer-events:none; }
.ps-hero-caption { position:absolute; left:24px; right:24px; bottom:24px; color:var(--on-dark); font-family:'Plus Jakarta Sans',sans-serif; z-index:2; }
.ps-hero-caption .ps-cap-tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.ps-hero-caption .ps-cap-tag::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.ps-hero-caption h3 { font-size:20px; font-weight:600; letter-spacing:-.01em; line-height:1.25; color:var(--on-dark); margin:0; }
.ps-hero-caption p { font-size:13px; color:rgba(245,242,238,.7); font-weight:400; margin-top:6px; line-height:1.5; }
.ps-scroll-hint { text-align:center; padding:32px 0 0; }
.ps-scroll-hint .dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-right:10px; vertical-align:middle; }
.ps-scroll-hint span { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mid); }
@media(max-width:960px) {
  .ps-hero { padding:110px 24px 56px; }
  .ps-hero-grid { grid-template-columns:1fr; gap:48px; }
  .ps-hero-visual { aspect-ratio:16/11; max-width:560px; margin:0 auto; }
  .ps-hero-meta { gap:24px; }
  .ps-hero-meta-item b { font-size:22px; }
}


/* Demo band (home) */
.demo-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.demo-band-card{display:block;background:var(--surface,#0e1620);padding:32px 26px;text-decoration:none;color:inherit;transition:background .2s,transform .2s;border-top:2px solid transparent;}
.demo-band-card:hover{background:var(--surface2,#131e2c);border-top-color:var(--accent);transform:translateY(-2px);}
.dbc-tag{font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;}
.dbc-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:26px;color:#fff;letter-spacing:-.02em;margin-bottom:10px;}
.dbc-line{font-size:13px;color:rgba(245,242,238,.6);font-weight:400;line-height:1.55;margin-bottom:22px;min-height:42px;}
.dbc-cta{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;}
@media(max-width:960px){.demo-band-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.demo-band-grid{grid-template-columns:1fr;}}


/* ══════════════════════════════════════════
   NEW PAGES — Blog / Resources / Partners / Articles
   ══════════════════════════════════════════ */

/* ── Dark editorial hero (blog, resources, partners) ── */
.dark-hero { position:relative; background:var(--ink); color:var(--on-dark); padding:180px 60px 96px; overflow:hidden; }
.dark-hero::before { content:''; position:absolute; left:-12%; bottom:-40%; width:60%; height:120%; background:radial-gradient(circle at center, rgba(72,188,135,.16), transparent 62%); pointer-events:none; }
.dark-hero .wrap { position:relative; max-width:1180px; margin:0 auto; }
.dark-hero .hero-pill { display:inline-flex; align-items:center; gap:10px; padding:7px 8px 7px 7px; border-radius:999px; background:rgba(245,242,238,.05); border:1px solid rgba(245,242,238,.12); font-size:13px; color:var(--on-dark-mid); margin-bottom:30px; }
.dark-hero .hero-pill b { font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); background:var(--accent); padding:4px 10px; border-radius:999px; }
.dark-hero .eyebrow { color:var(--accent); margin-bottom:22px; }
.dark-hero h1 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; font-size:clamp(40px,6.2vw,92px); line-height:.98; letter-spacing:-.035em; color:var(--on-dark); max-width:14ch; }
.dark-hero h1 em { color:var(--accent); font-style:normal; font-weight:800; }
.dark-hero .sub { max-width:600px; margin-top:28px; font-size:clamp(16px,1.5vw,20px); font-weight:300; line-height:1.65; color:rgba(245,242,238,.6); }
.dark-hero .hero-tag { display:inline-flex; align-items:center; gap:16px; margin-top:36px; font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,238,.45); }
.dark-hero .hero-tag::before { content:''; width:42px; height:1px; background:var(--accent); }

/* ── Generic light section ── */
.page-section { background:var(--bg); padding:90px 60px 110px; }
.page-section.alt { background:var(--bg-soft); }
.page-section .wrap { max-width:1180px; margin:0 auto; }
.section-head { max-width:680px; margin:0 0 48px; }
.section-head .eyebrow { margin-bottom:16px; }
.section-head h2 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(28px,3.4vw,44px); letter-spacing:-.025em; line-height:1.06; color:var(--ink); }
.section-head h2 em { color:var(--accent); font-style:normal; font-weight:700; }
.section-head p { margin-top:14px; font-size:17px; color:var(--text-mid); font-weight:300; line-height:1.65; }

/* ── Blog ── */
.blog-feature { display:grid; grid-template-columns:1.05fr .95fr; background:var(--bg-elev); border:1px solid var(--rule); border-radius:24px; overflow:hidden; margin-bottom:56px; text-decoration:none; transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .3s; }
.blog-feature:hover { transform:translateY(-5px); border-color:var(--accent-bord); box-shadow:0 30px 70px -34px rgba(8,13,20,.28); }
.blog-feature .bf-thumb { overflow:hidden; background:var(--bg-soft); min-height:340px; }
.blog-feature .bf-thumb img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.blog-feature:hover .bf-thumb img { transform:scale(1.04); }
.blog-feature .bf-body { padding:clamp(32px,4vw,56px); display:flex; flex-direction:column; justify-content:center; }
.bf-flag { display:flex; align-items:center; gap:12px; font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:20px; }
.bf-flag .dot { color:var(--text-dim); }
.blog-feature h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(26px,2.6vw,38px); letter-spacing:-.025em; line-height:1.08; color:var(--ink); margin-bottom:16px; }
.blog-feature .bf-excerpt { font-size:16px; color:var(--text-mid); font-weight:400; line-height:1.65; margin-bottom:24px; max-width:46ch; }
.blog-feature .bf-meta { font-size:13px; color:var(--text-dim); display:flex; gap:12px; align-items:center; }
.bf-readmore { margin-top:26px; font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:8px; transition:gap .3s; }
.blog-feature:hover .bf-readmore { gap:14px; }

.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.post-card { background:var(--bg-elev); border:1px solid var(--rule); border-radius:18px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .3s; }
.post-card:hover { transform:translateY(-6px); border-color:var(--accent-bord); box-shadow:0 24px 50px -24px rgba(8,13,20,.2); }
.post-thumb { aspect-ratio:16/10; overflow:hidden; background:var(--bg-soft); }
.post-thumb img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .9s cubic-bezier(.2,.8,.2,1); }
.post-card:hover .post-thumb img { transform:scale(1.045); }
.post-body { padding:24px 26px 26px; display:flex; flex-direction:column; gap:10px; flex:1; }
.post-cat { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.post-title { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:20px; color:var(--ink); letter-spacing:-.015em; line-height:1.25; }
.post-excerpt { font-size:14px; color:var(--text-mid); font-weight:400; line-height:1.6; }
.post-meta { margin-top:auto; padding-top:14px; font-size:12px; color:var(--text-dim); display:flex; gap:10px; align-items:center; }
.post-meta .sep { color:var(--rule-strong); }

/* ── Article (individual post) ── */
.article-head { max-width:820px; margin:0 auto; padding:148px 24px 36px; text-align:center; }
.article-back { display:inline-flex; align-items:center; gap:7px; font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; color:var(--text-mid); text-decoration:none; margin-bottom:28px; transition:color .2s, gap .3s; }
.article-back:hover { color:var(--accent); gap:11px; }
.article-cat { font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; display:block; }
.article-head h1 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(30px,4.2vw,52px); letter-spacing:-.03em; line-height:1.06; color:var(--ink); margin-bottom:22px; }
.article-meta { font-size:14px; color:var(--text-dim); display:inline-flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:center; }
.article-meta .sep { color:var(--rule-strong); }
.article-cover { max-width:1040px; margin:24px auto 0; padding:0 24px; }
.article-cover img { width:100%; aspect-ratio:16/8; object-fit:cover; border-radius:22px; border:1px solid var(--rule); }
.article-body { max-width:720px; margin:0 auto; padding:56px 24px 40px; font-size:17px; line-height:1.8; color:#26303d; font-weight:400; }
.article-body > p:first-child { font-size:20px; line-height:1.65; color:var(--ink); font-weight:400; }
.article-body h2 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:26px; letter-spacing:-.02em; color:var(--ink); margin:46px 0 16px; }
.article-body h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:19px; color:var(--ink); margin:32px 0 10px; }
.article-body p { margin-bottom:20px; }
.article-body ul, .article-body ol { padding-left:22px; margin-bottom:22px; }
.article-body li { margin-bottom:10px; }
.article-body strong { color:var(--ink); font-weight:600; }
.article-body a { color:var(--accent-2); text-decoration:underline; text-underline-offset:2px; }
.article-body blockquote { margin:32px 0; padding:6px 0 6px 26px; border-left:3px solid var(--accent); font-family:'Plus Jakarta Sans',sans-serif; font-size:22px; line-height:1.45; letter-spacing:-.01em; color:var(--ink); font-weight:500; }
.article-body .key-takeaway { background:var(--bg-soft); border:1px solid var(--rule); border-radius:16px; padding:26px 30px; margin:36px 0; }
.article-body .key-takeaway h4 { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.article-body .key-takeaway p:last-child { margin-bottom:0; }
.article-cta { max-width:840px; margin:0 auto 110px; padding:0 24px; }
.article-cta-inner { background:var(--ink); border-radius:22px; padding:clamp(36px,5vw,56px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.article-cta-inner h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(22px,2.4vw,30px); letter-spacing:-.02em; color:var(--on-dark); line-height:1.15; max-width:18ch; }
.article-cta-inner p { color:rgba(245,242,238,.6); font-size:15px; font-weight:300; margin-top:8px; max-width:40ch; }

/* ── Resources ── */
.res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.res-card { display:flex; flex-direction:column; background:var(--bg-elev); border:1px solid var(--rule); border-radius:18px; padding:32px 30px 30px; text-decoration:none; transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .3s; }
.res-card:hover { transform:translateY(-5px); border-color:var(--accent-bord); box-shadow:0 24px 50px -26px rgba(8,13,20,.18); }
.res-icon { width:48px; height:48px; border-radius:13px; background:var(--accent-soft); color:var(--accent); display:inline-flex; align-items:center; justify-content:center; margin-bottom:22px; }
.res-icon svg { width:23px; height:23px; }
.res-type { font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:10px; }
.res-card h3 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:20px; letter-spacing:-.015em; color:var(--ink); line-height:1.25; margin-bottom:10px; }
.res-card p { font-size:14px; color:var(--text-mid); font-weight:400; line-height:1.6; margin-bottom:20px; }
.res-link { margin-top:auto; font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; color:var(--accent); display:inline-flex; align-items:center; gap:8px; transition:gap .3s; }
.res-card:hover .res-link { gap:13px; }

/* ── Partners ── */
.partner-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.partner-card { background:var(--bg-elev); border:1px solid var(--rule); border-radius:18px; padding:34px 34px 32px; display:flex; flex-direction:column; }
.partner-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.partner-logo { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:22px; letter-spacing:-.02em; color:var(--ink); }
.partner-status { font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:6px 12px; border-radius:999px; white-space:nowrap; }
.partner-status.live { color:var(--accent); background:var(--accent-soft); border:1px solid var(--accent-bord); }
.partner-status.motion { color:#b6822e; background:rgba(201,146,42,.1); border:1px solid rgba(201,146,42,.28); }
.partner-cat { font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.partner-card p { font-size:15px; color:var(--text-mid); font-weight:400; line-height:1.65; }
.partner-band { background:var(--ink); border-radius:24px; padding:clamp(40px,5vw,68px); text-align:center; max-width:1180px; margin:0 auto; }
.partner-band .eyebrow { justify-content:center; color:var(--accent); margin-bottom:18px; }
.partner-band h2 { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:clamp(28px,3.4vw,46px); letter-spacing:-.025em; line-height:1.06; color:var(--on-dark); max-width:18ch; margin:0 auto 18px; }
.partner-band p { color:rgba(245,242,238,.6); font-size:17px; font-weight:300; line-height:1.6; max-width:52ch; margin:0 auto 30px; }
.partner-band .btn-row { display:inline-flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* ── New pages responsive ── */
@media(max-width:960px) {
  .dark-hero { padding:130px 24px 64px; }
  .page-section { padding:64px 24px 80px; }
  .blog-feature { grid-template-columns:1fr; }
  .blog-feature .bf-thumb { min-height:220px; aspect-ratio:16/9; }
  .post-grid { grid-template-columns:1fr 1fr; }
  .res-grid { grid-template-columns:1fr 1fr; }
  .partner-grid { grid-template-columns:1fr; }
  .article-cta-inner { flex-direction:column; align-items:flex-start; }
}
@media(max-width:600px) {
  .post-grid, .res-grid { grid-template-columns:1fr; }
}

/* ════════════ UNIFIED PREMIUM CONTACT FOOTER ════════════ */
.footer-col-contact { gap:14px; }
.footer-org { color:var(--on-dark) !important; font-weight:600 !important; font-size:14px !important; letter-spacing:-.01em; margin-bottom:2px; }
.footer-contact-list { display:flex; flex-direction:column; gap:13px; width:100%; }
.footer-contact-row { display:flex; align-items:flex-end; gap:10px; min-width:0; }
.footer-contact-row > a { display:flex !important; flex-direction:column; gap:2px; line-height:1.2; min-width:0; overflow-wrap:anywhere; }
@media(max-width:1200px) and (min-width:961px){
  .site-footer .footer-mark-band ~ .footer-cols { grid-template-columns:repeat(3,1fr); gap:48px 36px; }
  .footer-col-contact { grid-column:1 / -1; padding-bottom:44px; border-bottom:1px solid rgba(245,242,238,.06); }
  .footer-contact-list { flex-direction:row; flex-wrap:wrap; gap:16px 48px; width:auto; }
}
.footer-contact-tag { font-family:'Plus Jakarta Sans',sans-serif; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,238,.4); font-weight:700; }
.footer-whatsapp .footer-wa-num { display:inline-flex; align-items:center; font-size:inherit !important; color:inherit !important; }
.footer-whatsapp svg { width:13px; height:13px; margin-left:6px; color:var(--accent); transition:transform .3s; }
.footer-whatsapp:hover svg { transform:scale(1.15); }
.footer-copy { width:30px; height:30px; flex-shrink:0; border:1px solid rgba(245,242,238,.12); background:rgba(245,242,238,.02); border-radius:8px; color:rgba(245,242,238,.5); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:color .25s, border-color .25s, background .25s, transform .25s; padding:0; }
.footer-copy:hover { color:var(--accent); border-color:var(--accent); background:rgba(72,188,135,.08); transform:translateY(-2px); }
.footer-copy.copied { color:var(--ink); background:var(--accent); border-color:var(--accent); }
.footer-copy svg { width:13px; height:13px; }
.footer-loc { display:inline-flex !important; align-items:center; gap:7px; margin-top:2px; }
.footer-loc svg { width:13px; height:13px; color:var(--accent); flex-shrink:0; }
.footer-status { display:inline-flex !important; align-items:center; gap:9px; margin-top:6px; padding:8px 13px; border:1px solid rgba(72,188,135,.22); background:rgba(72,188,135,.06); border-radius:999px; font-size:11px !important; color:rgba(245,242,238,.72) !important; letter-spacing:.005em !important; line-height:1.35; }
.footer-status-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); flex-shrink:0; box-shadow:0 0 0 0 rgba(72,188,135,.5); animation:footerPulse 2.4s infinite; }
@keyframes footerPulse { 0%{box-shadow:0 0 0 0 rgba(72,188,135,.55);} 70%{box-shadow:0 0 0 8px rgba(72,188,135,0);} 100%{box-shadow:0 0 0 0 rgba(72,188,135,0);} }
.footer-col-new .footer-cred { display:inline-flex; align-items:center; gap:9px; color:rgba(245,242,238,.62); font-size:14px; font-weight:400; letter-spacing:-.005em; }
.footer-col-new .footer-cred .tick { width:16px; height:16px; border-radius:50%; background:rgba(72,188,135,.15); color:var(--accent); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.footer-col-new .footer-cred .tick svg { width:10px; height:10px; }
/* Copy toast */
.copy-toast { position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--accent); color:var(--ink); font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:600; letter-spacing:-.01em; padding:11px 20px; border-radius:999px; z-index:9999; opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; box-shadow:0 16px 40px -12px rgba(72,188,135,.65); }
.copy-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
@media(max-width:600px){ .footer-status { font-size:10.5px !important; } }

/* Product photo band */
.photo-band { display:grid; grid-template-columns:1fr 1fr; gap:3px; margin-top:52px; }
.photo-card { position:relative; overflow:hidden; background:var(--dark); }
.photo-card img { width:100%; height:100%; min-height:340px; max-height:440px; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.photo-card:hover img { transform:scale(1.04); }
.photo-card .pb-caption { position:absolute; left:0; right:0; bottom:0; padding:26px 28px 22px; background:linear-gradient(to top, rgba(10,8,16,.82), rgba(10,8,16,0)); }
.photo-card .pb-tag { font-family:'Plus Jakarta Sans',sans-serif; font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; }
.photo-card .pb-line { font-family:'Plus Jakarta Sans',sans-serif; font-size:15px; font-weight:600; letter-spacing:-.01em; color:#fff; line-height:1.4; }
@media(max-width:760px){ .photo-band { grid-template-columns:1fr; } .photo-card img { min-height:240px; } }

/* Proven-in-production strip */
.proof-strip { background:var(--cream2); padding:56px 0; }
.proof-strip .ps-inner { display:flex; flex-wrap:wrap; gap:28px 48px; align-items:flex-start; justify-content:space-between; }
.proof-strip .ps-head { max-width:340px; }
.proof-strip .ps-items { display:flex; flex-wrap:wrap; gap:3px; flex:1; min-width:280px; }
.proof-item { background:var(--cream); padding:22px 24px; flex:1; min-width:220px; text-decoration:none; display:block; transition:background .3s; }
.proof-item:hover { background:#fff; }
.proof-item .pi-name { font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:15px; letter-spacing:-.01em; color:var(--black); }
.proof-item .pi-name span { color:var(--accent); }
.proof-item .pi-desc { font-family:'Plus Jakarta Sans',sans-serif; font-size:12.5px; font-weight:300; color:var(--text-l-mid); line-height:1.55; margin-top:6px; }
.proof-item .pi-stat { font-family:'Plus Jakarta Sans',sans-serif; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-top:10px; }

/* ════════════════════════════════════════════
   PRODUCT HERO PHOTO — two-column light hero
   ════════════════════════════════════════════ */
.product-hero .ph-content{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:64px;align-items:center;}
.product-hero .ph-copy{min-width:0;}
.product-hero .ph-photo{position:relative;z-index:2;border-radius:20px;overflow:hidden;border:1px solid var(--rule);box-shadow:0 24px 60px -24px rgba(8,13,20,.28);}
.product-hero .ph-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
@media(max-width:1100px){.product-hero .ph-content{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:40px;}}
@media(max-width:960px){.product-hero .ph-content{grid-template-columns:1fr !important;gap:36px;}.product-hero .ph-photo{max-width:560px;}.product-hero .ph-photo img{aspect-ratio:16/10;}}

/* ════════════════════════════════════════════
   AVAV CHAT WIDGET
   ════════════════════════════════════════════ */
.avav-chat{position:fixed;right:22px;bottom:22px;z-index:9000;font-family:'Plus Jakarta Sans',sans-serif;}
.ac-launch{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px -8px rgba(72,188,135,.55);transition:transform .2s,box-shadow .2s;position:relative;}
.ac-launch:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px rgba(72,188,135,.65);}
.ac-launch svg{width:26px;height:26px;}
.ac-ic-x{display:none;font-size:30px;line-height:1;font-weight:300;}
.avav-chat.open .ac-ic-chat{display:none;}
.avav-chat.open .ac-ic-x{display:block;}
.ac-panel{position:absolute;right:0;bottom:74px;width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid var(--rule);border-radius:20px;box-shadow:0 32px 80px -20px rgba(8,13,20,.35);overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .22s,transform .22s;display:flex;flex-direction:column;}
.avav-chat.open .ac-panel{opacity:1;transform:none;pointer-events:auto;}
.ac-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--ink,#080d14);color:#fff;}
.ac-head-info{display:flex;align-items:center;gap:12px;}
.ac-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}
.ac-title{font-weight:600;font-size:15px;}
.ac-status{font-size:11.5px;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:6px;margin-top:2px;}
.ac-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;}
.ac-close{background:none;border:none;color:rgba(255,255,255,.7);font-size:26px;line-height:1;cursor:pointer;padding:0 2px;}
.ac-close:hover{color:#fff;}
.ac-tabs{display:flex;border-bottom:1px solid var(--rule);background:#fff;}
.ac-tab{flex:1;padding:11px 0;border:none;background:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-mid,#5a6472);border-bottom:2px solid transparent;}
.ac-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.ac-body{display:flex;flex-direction:column;}
.ac-msgs{height:320px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#faf8f4;}
.ac-msg{max-width:85%;padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;}
.ac-bot{background:#fff;border:1px solid var(--rule);color:var(--ink,#080d14);align-self:flex-start;border-bottom-left-radius:4px;}
.ac-user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;}
.ac-typing{display:flex;gap:4px;align-items:center;padding:14px;}
.ac-typing span{width:6px;height:6px;border-radius:50%;background:#b9c0c9;animation:acblink 1.2s infinite;}
.ac-typing span:nth-child(2){animation-delay:.2s;}
.ac-typing span:nth-child(3){animation-delay:.4s;}
@keyframes acblink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}
.ac-input{display:flex;border-top:1px solid var(--rule);background:#fff;}
.ac-input input{flex:1;border:none;outline:none;padding:14px 16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:var(--ink,#080d14);background:none;}
.ac-input button{border:none;background:none;color:var(--accent);font-size:20px;padding:0 18px;cursor:pointer;font-weight:600;}
.ac-note{font-size:10.5px;color:var(--text-mid,#5a6472);text-align:center;padding:7px 10px 10px;background:#fff;}
.ac-note a{color:var(--accent);text-decoration:underline;}
.ac-wa{padding:26px 22px 30px;text-align:center;}
.ac-wa p{font-size:13.5px;line-height:1.6;color:var(--text-mid,#5a6472);margin-bottom:18px;}
.ac-wa-btn{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-weight:600;font-size:14px;padding:13px 22px;border-radius:999px;text-decoration:none;box-shadow:0 10px 26px -8px rgba(37,211,102,.5);transition:transform .2s;}
.ac-wa-btn:hover{transform:translateY(-1px);}
.ac-wa-alt{margin-top:16px;font-size:12.5px;}
.ac-wa-alt a{color:var(--accent);}
@media(max-width:600px){.avav-chat{right:14px;bottom:14px;}.ac-msgs{height:44vh;}}
