/* =====================================================================
   PANGEA CDS — MASTER STYLESHEET
   Shelf-edge communication technology
   Brand system v1.0 (Unified Marketing, Apr 2026)
   ---------------------------------------------------------------------
   Scope: BODY CONTENT ONLY. The Avada theme supplies header + footer.
   Every selector is namespaced under .pg- to avoid colliding with Avada.
   Reused across all pages. Load this once, globally.
   ===================================================================== */

/* ----------------------------------------------------------------- */
/* 1. FONTS                                                          */
/* ----------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=Fraunces:ital,opsz,wght@1,9..144,400;1,9..144,500&display=swap');

/* ----------------------------------------------------------------- */
/* 2. DESIGN TOKENS                                                  */
/* ----------------------------------------------------------------- */
.pg-scope {
  /* Color — Tier 1 anchor */
  --pg-navy:        #0a2e54;   /* Deep Aisle — dominant surface */
  --pg-navy-700:    #0d3863;
  --pg-navy-600:    #143f6e;
  --pg-navy-500:    #1c5187;
  /* Tier 2 action */
  --pg-orange:      #ff8a1e;   /* Price Tag — CTAs, key callouts */
  --pg-orange-600:  #f0700c;
  /* Tier 3 signal */
  --pg-green:       #54be26;   /* Fresh — live / verified */
  /* Supporting */
  --pg-paper:       #f1f5f9;   /* warm neutral */
  --pg-paper-2:     #e4ebf2;
  --pg-slate:       #4e6a82;   /* secondary text */
  --pg-slate-200:   #a6bacc;
  --pg-sun:         #fac208;   /* tertiary accent */
  --pg-white:       #ffffff;
  --pg-ink:         #0a2e54;

  --pg-line:        rgba(255,255,255,.12);
  --pg-line-dark:   rgba(14,42,58,.12);

  /* Type */
  --pg-display: 'Sora', system-ui, -apple-system, sans-serif;
  --pg-body:    'Inter', system-ui, -apple-system, sans-serif;
  --pg-edit:    'Fraunces', Georgia, serif;

  /* Rhythm */
  --pg-maxw: 1240px;
  --pg-gut: clamp(20px, 5vw, 64px);
  --pg-radius: 16px;
  --pg-radius-lg: 26px;
  --pg-section: clamp(72px, 11vw, 150px);

  /* Motion */
  --pg-ease: cubic-bezier(.22,1,.36,1);
  --pg-ease-out: cubic-bezier(.16,1,.3,1);

  --pg-shadow: 0 30px 70px -30px rgba(8,24,34,.55);
  --pg-shadow-sm: 0 14px 34px -18px rgba(8,24,34,.45);
}

/* ----------------------------------------------------------------- */
/* 3. BASE / RESET (scoped)                                          */
/* ----------------------------------------------------------------- */
.pg-scope, .pg-scope * { box-sizing: border-box; }
.pg-scope {
  font-family: var(--pg-body);
  color: var(--pg-navy);
  background: var(--pg-navy);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 17px;
  overflow-x: clip;
}
.pg-scope img { max-width: 100%; display: block; }
.pg-scope a { color: inherit; text-decoration: none; }
.pg-scope p { margin: 0 0 1.1em; }
.pg-scope h1,.pg-scope h2,.pg-scope h3,.pg-scope h4,.pg-scope h5,.pg-scope h6 {
  font-family: var(--pg-display) !important;
  font-weight: 800;
  line-height: 1.04 !important;
  letter-spacing: -.022em;
  margin: 0;
  /* inherit the section's text color (set on each section bg) — !important so
     Avada's theme heading colors never leak in. Dark sections set a light color;
     paper sections set navy. */
  color: inherit !important;
}
.pg-scope p { color: inherit; }
.pg-scope strong { font-weight: 700; }
/* Dark sections that aren't .pg-bg-navy still need a light text base so their
   headings (which now inherit) render light. */
.pg-hero, .pg-final { color: var(--pg-paper); }

/* ----------------------------------------------------------------- */
/* 4. LAYOUT PRIMITIVES                                              */
/* ----------------------------------------------------------------- */
.pg-wrap { width: 100%; max-width: var(--pg-maxw); margin-inline: auto; padding-inline: var(--pg-gut); }
.pg-section { padding-block: var(--pg-section); position: relative; }
.pg-bg-navy  { background: var(--pg-navy); color: var(--pg-paper); }
.pg-bg-navy2 { background: linear-gradient(180deg,#093059 0%, #0a2e54 100%); color: var(--pg-paper); }
.pg-bg-paper { background: var(--pg-paper); color: var(--pg-navy); }
.pg-bg-paper2{ background: var(--pg-paper-2); color: var(--pg-navy); }

/* Eyebrow — the recurring Pangea signature */
.pg-eyebrow {
  font-family: var(--pg-display);
  font-weight: 700;
  font-size: clamp(11px, 1vw, 12.5px);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--pg-orange);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
}
.pg-eyebrow::before {
  content: ""; width: 26px; height: 2px; background: var(--pg-orange);
  display: inline-block;
}
.pg-bg-navy .pg-eyebrow { color: var(--pg-sun); }
.pg-bg-navy .pg-eyebrow::before { background: var(--pg-sun); }

/* Section heading scale */
.pg-h-display { font-size: clamp(2.6rem, 7vw, 5.2rem); }
.pg-h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); }
.pg-h2 { font-size: clamp(1.7rem, 3.6vw, 2.7rem); }
.pg-h3 { font-size: clamp(1.15rem, 1.7vw, 1.45rem); font-weight: 700; }
.pg-lede {
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  line-height: 1.55;
  color: var(--pg-slate);
  max-width: 60ch;
}
.pg-bg-navy .pg-lede { color: var(--pg-slate-200); }
.pg-measure { max-width: 64ch; }

/* Editorial moment — Fraunces, one per page */
.pg-pullquote {
  font-family: var(--pg-edit);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.6rem, 3.4vw, 2.7rem);
  line-height: 1.28;
  letter-spacing: -.01em;
}

/* ----------------------------------------------------------------- */
/* 5. BUTTONS                                                        */
/* ----------------------------------------------------------------- */
.pg-btn {
  --b: var(--pg-orange);
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--pg-display); font-weight: 700; font-size: .98rem;
  letter-spacing: -.01em;
  padding: 16px 26px; border-radius: 999px;
  background: var(--b); color: var(--pg-navy); border: 1px solid transparent;
  cursor: pointer; position: relative; overflow: hidden;
  transition: transform .4s var(--pg-ease), box-shadow .4s var(--pg-ease), background .3s ease;
  box-shadow: 0 14px 30px -12px rgba(255,107,53,.6);
  will-change: transform;
}
.pg-btn .pg-btn__arrow { transition: transform .4s var(--pg-ease); }
.pg-btn:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -14px rgba(255,107,53,.7); background: var(--pg-orange-600); }
.pg-btn:hover .pg-btn__arrow { transform: translateX(5px); }
.pg-btn--ghost {
  background: transparent; color: inherit;
  border: 1px solid var(--pg-line); box-shadow: none;
}
.pg-bg-paper .pg-btn--ghost { border-color: var(--pg-line-dark); color: var(--pg-navy); }
.pg-btn--ghost:hover { background: rgba(255,255,255,.06); box-shadow: none; transform: translateY(-3px); }
.pg-bg-paper .pg-btn--ghost:hover { background: rgba(14,42,58,.05); }

.pg-cta-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* Text link with animated underline */
.pg-link {
  font-family: var(--pg-display); font-weight: 600; font-size: .95rem;
  color: var(--pg-orange); display: inline-flex; align-items: center; gap: 8px;
}
.pg-link span { background-image: linear-gradient(currentColor,currentColor);
  background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size .4s var(--pg-ease); padding-bottom: 3px; }
.pg-link:hover span { background-size: 100% 2px; }
.pg-link svg { transition: transform .4s var(--pg-ease); }
.pg-link:hover svg { transform: translateX(4px); }

/* ----------------------------------------------------------------- */
/* 6. SCROLL REVEAL                                                  */
/* ----------------------------------------------------------------- */
.pg-reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--pg-ease-out), transform .9s var(--pg-ease-out); }
.pg-reveal.pg-in { opacity: 1; transform: none; }
.pg-reveal[data-d="1"]{ transition-delay:.08s } .pg-reveal[data-d="2"]{ transition-delay:.16s }
.pg-reveal[data-d="3"]{ transition-delay:.24s } .pg-reveal[data-d="4"]{ transition-delay:.32s }
.pg-reveal[data-d="5"]{ transition-delay:.40s } .pg-reveal[data-d="6"]{ transition-delay:.48s }
@media (prefers-reduced-motion: reduce){
  .pg-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ----------------------------------------------------------------- */
/* 7. HERO                                                           */
/* ----------------------------------------------------------------- */
.pg-hero {
  position: relative; overflow: hidden;
  background: var(--pg-navy);
  padding-block: clamp(96px, 14vw, 168px) clamp(64px, 9vw, 120px);
}
.pg-hero__media {
  position: absolute; inset: 0; z-index: 0;
}
.pg-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%;
  transform: scale(1.08); will-change: transform; }
.pg-hero__media::after {
  content:""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(10,28,38,.78) 0%, rgba(11,30,41,.82) 45%, rgba(14,42,58,.98) 100%),
    linear-gradient(90deg, rgba(11,30,41,.97) 0%, rgba(13,38,52,.85) 38%, rgba(14,42,58,.45) 70%, rgba(14,42,58,.25) 100%);
}
.pg-hero__h, .pg-hero__sub { text-shadow: 0 2px 30px rgba(7,20,28,.5); }
.pg-hero__inner { position: relative; z-index: 2; }
.pg-hero__h {
  font-size: clamp(2.7rem, 7.1vw, 5.6rem);
  letter-spacing: -.03em; line-height: .98; color: #fff;
  max-width: 16ch;
}
.pg-hero__h em {
  font-style: normal; color: var(--pg-orange);
  position: relative; white-space: nowrap;
}
.pg-hero__sub {
  margin-top: 26px; font-size: clamp(1.08rem, 1.7vw, 1.4rem);
  color: #d7e2e8; max-width: 50ch; line-height: 1.5;
}
.pg-hero__cta { margin-top: 38px; }
.pg-hero__meta {
  margin-top: 46px; display: flex; flex-wrap: wrap; gap: 28px 46px;
  border-top: 1px solid var(--pg-line); padding-top: 28px; max-width: 760px;
}
.pg-hero__meta .pg-stat__n { font-size: clamp(1.6rem, 2.6vw, 2.3rem); }
.pg-hero__meta .pg-stat__l { font-size: .82rem; }

/* Animated shelf-tag chip that floats in the hero corner */
.pg-tagchip {
  position: absolute; z-index: 2; right: clamp(16px,4vw,70px); top: clamp(96px,13vw,150px);
  background: #fff; color: var(--pg-navy); border-radius: 12px;
  padding: 16px 18px 14px; width: 220px; box-shadow: var(--pg-shadow);
  font-family: var(--pg-display);
  animation: pg-float 6s ease-in-out infinite;
}
.pg-tagchip__top { display:flex; align-items:center; justify-content:space-between;
  font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--pg-slate); font-weight:700; }
.pg-tagchip__dot { width:8px; height:8px; border-radius:50%; background:var(--pg-green);
  box-shadow:0 0 0 4px rgba(43,182,115,.18); }
.pg-tagchip__price { font-size: 2.5rem; font-weight: 800; letter-spacing:-.04em; line-height:1; margin:8px 0 2px; }
.pg-tagchip__price sup { font-size:1.1rem; top:-.7em; }
.pg-tagchip__name { font-size:.78rem; color:var(--pg-slate); font-weight:600; }
.pg-tagchip__bar { height:24px; margin-top:12px; background:repeating-linear-gradient(90deg,var(--pg-navy) 0 2px,transparent 2px 5px); border-radius:3px; opacity:.85;}
@keyframes pg-float { 0%,100%{ transform: translateY(0) rotate(-2deg);} 50%{ transform: translateY(-14px) rotate(-2deg);} }
@media (max-width: 900px){ .pg-tagchip{ display:none; } }

/* ----------------------------------------------------------------- */
/* 8. STAT STRIP / COUNTERS                                          */
/* ----------------------------------------------------------------- */
.pg-stat { }
.pg-stat__n {
  font-family: var(--pg-display); font-weight: 800; line-height: 1;
  letter-spacing: -.04em; font-size: clamp(2.4rem, 4.4vw, 3.6rem);
  display: flex; align-items: baseline; gap: 2px;
}
.pg-stat__n .pg-unit { color: var(--pg-orange); }
.pg-stat__l { margin-top: 12px; color: var(--pg-slate-200); font-size: .92rem;
  font-weight: 500; line-height: 1.4; max-width: 22ch; }
.pg-bg-paper .pg-stat__l { color: var(--pg-slate); }

.pg-statgrid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(20px,3vw,40px);
}
.pg-statgrid > * { padding-left: 22px; border-left: 2px solid var(--pg-orange); }
@media (max-width: 820px){ .pg-statgrid { grid-template-columns: repeat(2,1fr); gap: 30px 24px; } }

/* ----------------------------------------------------------------- */
/* 9. SECTION HEADER BLOCK                                           */
/* ----------------------------------------------------------------- */
.pg-head { max-width: 760px; margin-bottom: clamp(40px,5vw,64px); }
.pg-head--center { margin-inline: auto; text-align: center; }
.pg-head--center .pg-eyebrow { justify-content: center; }
.pg-head p.pg-lede { margin-top: 22px; }

/* ----------------------------------------------------------------- */
/* 10. EXECUTION CARDS (any execution, any scale)                    */
/* ----------------------------------------------------------------- */
.pg-cards { display: grid; gap: 22px; grid-template-columns: repeat(4,1fr); }
@media (max-width: 1000px){ .pg-cards { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .pg-cards { grid-template-columns: 1fr; } }
/* Solutions pillar card rows (#productivity, #digital): break the 3-card row out
   to full viewport width (escapes the centered .pg-wrap; section bg is full-bleed).
   3 even columns so the 3 cards are balanced/centered (the base grid is 4-up). */
#productivity .pg-cards, #digital .pg-cards { width:100vw; max-width:100vw; box-sizing:border-box;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding-left:clamp(20px,5vw,64px); padding-right:clamp(20px,5vw,64px);
  grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ #productivity .pg-cards, #digital .pg-cards { grid-template-columns:1fr; } }

.pg-card {
  position: relative; background: var(--pg-navy-600); border: 1px solid var(--pg-line);
  border-radius: var(--pg-radius); padding: 28px 26px 30px; overflow: hidden;
  transition: transform .5s var(--pg-ease), border-color .4s ease, background .4s ease;
  will-change: transform;
}
.pg-bg-paper .pg-card { background: #fff; border-color: var(--pg-line-dark); box-shadow: var(--pg-shadow-sm); }
.pg-card:hover { transform: translateY(-7px); border-color: rgba(255,107,53,.55); }
.pg-card__num { font-family: var(--pg-display); font-weight: 700; font-size: .8rem;
  color: var(--pg-orange); letter-spacing: .12em; }
.pg-card__icon {
  width: 52px; height: 52px; border-radius: 13px; margin-bottom: 20px;
  display: grid; place-items: center; background: rgba(255,107,53,.12);
  color: var(--pg-orange); border: 1px solid rgba(255,107,53,.28);
}
.pg-card__icon svg { width: 26px; height: 26px; stroke-width: 1.6; }
.pg-card h3 { font-size: 1.22rem; margin-bottom: 10px; }
.pg-card p { font-size: .96rem; color: var(--pg-slate-200); margin: 0; }
.pg-bg-paper .pg-card p { color: var(--pg-slate); }
.pg-card__glow { position: absolute; inset: auto -40% -60% auto; width: 70%; height: 70%;
  background: radial-gradient(circle, rgba(255,107,53,.22), transparent 65%);
  opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.pg-card:hover .pg-card__glow { opacity: 1; }

/* ----------------------------------------------------------------- */
/* 11. SPLIT / EDITORIAL FEATURE ROWS                                */
/* ----------------------------------------------------------------- */
.pg-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px,6vw,84px); align-items: center; }
.pg-split--flip .pg-split__media { order: -1; }
@media (max-width: 900px){ .pg-split { grid-template-columns: 1fr; gap: 40px; }
  .pg-split--flip .pg-split__media { order: 0; } }
.pg-split__media { position: relative; }
.pg-split__media img { width: 100%; border-radius: var(--pg-radius-lg); box-shadow: var(--pg-shadow); }
.pg-figframe { position: relative; border-radius: var(--pg-radius-lg); overflow: hidden; }
.pg-figframe::after { content:""; position:absolute; inset:0; box-shadow: inset 0 0 0 1px var(--pg-line); border-radius: inherit; z-index:3; }
/* drifting brand-color light wash over the photo for depth */
.pg-figframe img { position:relative; z-index:0; }
.pg-figframe::before { content:""; position:absolute; inset:-25%; z-index:1; pointer-events:none; mix-blend-mode:screen;
  background:
    radial-gradient(closest-side, rgba(255,138,30,.5), transparent 70%) 18% 26%/55% 55% no-repeat,
    radial-gradient(closest-side, rgba(42,111,176,.55), transparent 70%) 82% 74%/62% 62% no-repeat,
    radial-gradient(closest-side, rgba(84,190,38,.4), transparent 70%) 62% 16%/46% 46% no-repeat;
  animation:pg-figdrift 15s ease-in-out infinite; }
.pg-figframe::after, .pg-figframe::before { will-change:transform; }
@keyframes pg-figdrift{ 0%,100%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(4%,-3%) scale(1.09); } 66%{ transform:translate(-3%,3%) scale(1.05); } }
@media (prefers-reduced-motion: reduce){ .pg-figframe::before{ animation:none; } }

/* small floating proof badge over media */
.pg-badge {
  position: absolute; bottom: -18px; left: -18px; background: #fff; color: var(--pg-navy);
  border-radius: 14px; padding: 16px 20px; box-shadow: var(--pg-shadow); max-width: 230px;
  display: flex; gap: 13px; align-items: center;
}
.pg-badge__n { font-family: var(--pg-display); font-weight: 800; font-size: 1.9rem; letter-spacing: -.04em; color: var(--pg-orange); line-height: 1; }
.pg-badge__t { font-size: .78rem; color: var(--pg-slate); font-weight: 600; line-height: 1.3; }
@media (max-width: 560px){ .pg-badge{ left: 12px; bottom: 12px; } }

/* checklist */
.pg-checks { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 14px; }
.pg-checks li { display: flex; gap: 13px; align-items: flex-start; font-size: 1rem; }
.pg-checks li::before {
  content: ""; flex: 0 0 22px; height: 22px; margin-top: 2px; border-radius: 6px;
  background: rgba(43,182,115,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2354be26' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat;
  border: 1px solid rgba(43,182,115,.3);
}

/* ----------------------------------------------------------------- */
/* 12. CAPABILITY MARQUEE (what we make)                             */
/* ----------------------------------------------------------------- */
.pg-marquee { overflow: hidden; border-block: 1px solid var(--pg-line); padding-block: 26px;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.pg-bg-paper .pg-marquee { border-color: var(--pg-line-dark); }
.pg-marquee__track { display: flex; gap: 0; width: max-content; animation: pg-marq 38s linear infinite; }
.pg-marquee:hover .pg-marquee__track { animation-play-state: paused; }
.pg-marquee__item { font-family: var(--pg-display); font-weight: 700;
  font-size: clamp(1.1rem,2.2vw,1.7rem); letter-spacing: -.02em; padding-inline: 30px;
  display: inline-flex; align-items: center; gap: 30px; color: inherit; opacity: .9; }
.pg-marquee__item::after { content:""; width: 9px; height: 9px; border-radius: 2px;
  background: var(--pg-orange); display: inline-block; }
@keyframes pg-marq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .pg-marquee__track { animation: none; } }

/* ----------------------------------------------------------------- */
/* 13. PRODUCT / "WHAT WE MAKE" TILE GRID                            */
/* ----------------------------------------------------------------- */
.pg-tiles { display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; }
.pg-tile { position: relative; border-radius: var(--pg-radius); overflow: hidden; min-height: 230px;
  display: flex; align-items: flex-end; isolation: isolate; }
.pg-tile img,
.pg-tile__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
  background-size: cover; background-position: center; transition: transform .8s var(--pg-ease); }
.pg-tile::after { content:""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(14,42,58,0) 30%, rgba(11,30,41,.92) 100%); }
.pg-tile:hover img,
.pg-tile:hover .pg-tile__bg { transform: scale(1.07); }
.pg-tile__body { padding: 22px 22px 24px; color: #fff; }
.pg-tile__k { font-family: var(--pg-display); font-weight: 700; font-size: .72rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--pg-sun); }
.pg-tile h3 { font-size: 1.3rem; margin-top: 6px; color:#fff; }
.pg-tile p { font-size: .9rem; color: #cdd9df; margin: 6px 0 0; }
.pg-tile--lg { grid-column: span 6; }
.pg-tile--sm { grid-column: span 3; }
.pg-tile--md { grid-column: span 4; }
.pg-tile--w8 { grid-column: span 8; }
@media (max-width: 900px){ .pg-tile--lg,.pg-tile--md,.pg-tile--w8 { grid-column: span 12; }
  .pg-tile--sm { grid-column: span 6; } }
@media (max-width: 540px){ .pg-tile--sm { grid-column: span 12; } }

/* ----------------------------------------------------------------- */
/* 14. PLATFORM / TECH PANEL                                         */
/* ----------------------------------------------------------------- */
.pg-panel { position: relative; border-radius: var(--pg-radius-lg); overflow: hidden;
  background: linear-gradient(135deg,#0e3a63, #0a2c50); border: 1px solid var(--pg-line);
  padding: clamp(30px,4vw,52px); }
.pg-panel__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(30px,5vw,60px); align-items: center; }
@media (max-width: 900px){ .pg-panel__grid { grid-template-columns: 1fr; } }
.pg-featlist { display: grid; gap: 18px; margin-top: 8px; }
.pg-feat { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--pg-line); }
.pg-feat__i { flex:0 0 42px; height: 42px; border-radius: 11px; display: grid; place-items: center;
  background: rgba(244,201,93,.13); color: var(--pg-sun); border: 1px solid rgba(244,201,93,.28); }
.pg-feat__i svg { width: 22px; height: 22px; stroke-width: 1.7; }
.pg-feat h4 { font-family: var(--pg-display); font-size: 1.06rem; font-weight: 700; color:#fff; margin: 0 0 3px; }
.pg-feat p { font-size: .92rem; color: var(--pg-slate-200); margin: 0; }

/* faux dashboard */
.pg-dash { background: #07223c; border: 1px solid var(--pg-line); border-radius: var(--pg-radius);
  box-shadow: var(--pg-shadow); overflow: hidden; }
.pg-dash__bar { display: flex; align-items: center; gap: 7px; padding: 13px 16px; border-bottom: 1px solid var(--pg-line); }
.pg-dash__bar i { width: 10px; height: 10px; border-radius: 50%; background: #1d3f5e; display: inline-block; }
.pg-dash__bar span { margin-left: 10px; font-family: var(--pg-display); font-size: .76rem; color: var(--pg-slate-200); letter-spacing:.04em; }
.pg-dash__body { padding: 18px; display: grid; gap: 12px; align-content: start;
  height: clamp(340px, 42vh, 392px); overflow: hidden; position: relative;
  -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 82%, transparent 100%); }
.pg-drow { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center;
  background: #0b3257; border: 1px solid var(--pg-line); border-radius: 10px; padding: 12px 14px; }
.pg-row__sku { font-family: var(--pg-display); font-weight: 600; font-size: .9rem; color: #e7eef2; }
.pg-row__sku small { display:block; color: var(--pg-slate-200); font-weight:500; font-size:.72rem; letter-spacing:.02em; }
.pg-row__price { font-family: var(--pg-display); font-weight: 800; color: var(--pg-orange); font-size: 1.05rem; letter-spacing:-.02em; }
.pg-pill { font-family: var(--pg-display); font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  padding: 5px 10px; border-radius: 999px; background: rgba(43,182,115,.16); color: var(--pg-green);
  border: 1px solid rgba(43,182,115,.3); white-space: nowrap; }
.pg-pill--queue { background: rgba(244,201,93,.14); color: var(--pg-sun); border-color: rgba(244,201,93,.3); }

/* ----------------------------------------------------------------- */
/* 15. CONTRAST / PARTNER BANNER                                     */
/* ----------------------------------------------------------------- */
.pg-contrast { display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border: 1px solid var(--pg-line-dark); border-radius: var(--pg-radius-lg); overflow: hidden; }
@media (max-width: 760px){ .pg-contrast { grid-template-columns: 1fr; } }
.pg-contrast__col { padding: clamp(26px,3.4vw,42px); }
.pg-contrast__col--them { background: #e8eef4; }
.pg-contrast__col--us { background: var(--pg-navy); color: var(--pg-paper); }
.pg-contrast__k { font-family: var(--pg-display); font-weight: 700; font-size: .74rem; letter-spacing: .16em;
  text-transform: uppercase; margin-bottom: 18px; }
.pg-contrast__col--them .pg-contrast__k { color: var(--pg-slate); }
.pg-contrast__col--us .pg-contrast__k { color: var(--pg-orange); }
.pg-contrast ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pg-contrast li { display: flex; gap: 12px; align-items: flex-start; font-size: 1.02rem; line-height: 1.4; }
.pg-contrast li svg { flex: 0 0 20px; margin-top: 3px; }
.pg-contrast__col--them li { color: #5a6b73; }

/* ----------------------------------------------------------------- */
/* 16. INDUSTRIES                                                    */
/* ----------------------------------------------------------------- */
.pg-ind { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
@media (max-width: 900px){ .pg-ind { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px){ .pg-ind { grid-template-columns: 1fr; } }
.pg-ind__item { padding: clamp(28px,2.4vw,40px) clamp(24px,2vw,32px); border-radius: var(--pg-radius); background: #fff;
  border: 1px solid var(--pg-line-dark); position: relative; transition: transform .45s var(--pg-ease), box-shadow .45s ease; }
.pg-ind__item:hover { transform: translateY(-6px); box-shadow: var(--pg-shadow-sm); }
.pg-ind__item--lead { background: var(--pg-navy); color: var(--pg-paper); border-color: transparent; }
.pg-ind__n { font-family: var(--pg-display); font-weight: 800; font-size: 1.15rem; color: var(--pg-orange); letter-spacing: -.02em; }
.pg-ind__tag { font-family: var(--pg-display); font-size: .76rem; font-weight: 800; letter-spacing: .12em;
  text-transform: uppercase; color: var(--pg-orange); }
.pg-ind__item h3 { font-size: clamp(1.4rem,1.9vw,1.85rem); font-weight: 800; letter-spacing: -.02em; margin: 14px 0 10px; }
.pg-ind__item p { font-size: 1.02rem; line-height: 1.55; color: var(--pg-slate); margin: 0; }
.pg-ind__item--lead p { color: var(--pg-slate-200); }

/* ----------------------------------------------------------------- */
/* 17. COVERAGE                                                      */
/* ----------------------------------------------------------------- */
.pg-cover { display: grid; grid-template-columns: minmax(0,0.82fr) minmax(0,1.18fr); gap: clamp(34px,5vw,70px); align-items: center; }
@media (max-width: 860px){ .pg-cover { grid-template-columns: 1fr; } }
.pg-cover__list { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px 20px; margin-top: 26px; }
.pg-cover__list span { display: flex; align-items: center; gap: 11px; font-weight: 600; font-size: 1rem; }
.pg-cover__list span::before { content:""; width: 9px; height: 9px; border-radius: 50%; background: var(--pg-green);
  box-shadow: 0 0 0 4px rgba(43,182,115,.16); }
.pg-cover__map { aspect-ratio: 1/.82; position: relative; display: grid; place-items: center; }
.pg-cover__map svg { width: 100%; height: auto; }

/* ----------------------------------------------------------------- */
/* 18. FINAL CTA                                                     */
/* ----------------------------------------------------------------- */
.pg-final { position: relative; overflow: hidden; text-align: center;
  background: radial-gradient(120% 140% at 50% 0%, #123f69 0%, #0a2e54 55%); }
.pg-final__h { font-size: clamp(2.2rem, 5.6vw, 4.2rem); color: #fff; max-width: 18ch; margin-inline: auto; }
.pg-final .pg-lede { margin: 24px auto 0; text-align: center; }
.pg-final .pg-cta-row { justify-content: center; margin-top: 40px; }
.pg-final__dots { position: absolute; inset: 0; z-index: 0; opacity: .5;
  background-image: radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(60% 60% at 50% 40%, #000, transparent 75%);
          mask-image: radial-gradient(60% 60% at 50% 40%, #000, transparent 75%);
  animation: pg-dots-drift 24s linear infinite; }
@keyframes pg-dots-drift { from { background-position: 0 0; } to { background-position: 52px 26px; } }
.pg-final > .pg-wrap { position: relative; z-index: 1; }
/* The final "Let's talk" CTA reads cleaner without the decorative floating price
   tags (only the why-pangea final section carries them). */
.pg-final .pg-ftag { display: none !important; }
/* why-pangea (page-id-64): remove ALL floating price tags, hero included. Scoped
   to this page so other pages' heroes keep their tags. */
.page-id-64 .pg-ftag { display: none !important; }

/* ----------------------------------------------------------------- */
/* 19. PREVIEW-ONLY CHROME (mock Avada header/footer for local view) */
/*     These classes are NOT used inside the WP page body.           */
/* ----------------------------------------------------------------- */
.pgx-topbar { background:#07223c; color:#cdd9df; font-family:var(--pg-body); font-size:.82rem;
  border-bottom:1px solid var(--pg-line); }
.pgx-topbar .pg-wrap { display:flex; justify-content:space-between; gap:16px; padding-block:9px; flex-wrap:wrap; }
.pgx-header { position:sticky; top:0; z-index:50; background:rgba(14,42,58,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--pg-line); }
.pgx-header .pg-wrap { display:flex; align-items:center; justify-content:space-between; padding-block:16px; gap:24px; }
.pgx-logo img { height:38px; width:auto; }
.pgx-nav { display:flex; gap:30px; align-items:center; }
.pgx-nav a { font-family:var(--pg-display); font-weight:600; font-size:.94rem; color:#dce5ea; transition:color .2s; }
.pgx-nav a:hover { color:#fff; }
@media (max-width: 860px){ .pgx-nav { display:none; } }
.pgx-footer { background:#07223c; color:#a6bacc; font-family:var(--pg-body);
  border-top:1px solid var(--pg-line); padding-block:54px 30px; }
.pgx-footer .pg-wrap { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; }
@media (max-width:760px){ .pgx-footer .pg-wrap{ grid-template-columns:1fr 1fr; } }
.pgx-footer h5 { font-family:var(--pg-display); color:#fff; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px; }
.pgx-footer a { display:block; padding:5px 0; font-size:.92rem; color:#a6bacc; }
.pgx-footer a:hover { color:#fff; }
.pgx-footer__legal { grid-column:1/-1; border-top:1px solid var(--pg-line); margin-top:18px; padding-top:22px;
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:.82rem; }
.pgx-note { background:var(--pg-sun); color:#3a2f12; font-family:var(--pg-display); font-weight:600;
  text-align:center; padding:10px 16px; font-size:.84rem; }

/* =====================================================================
   PG-FOOTER — production footer to paste into an Avada full-width container
   (wrap the markup in .pg-scope; master.css/js already load globally)
   ===================================================================== */
.pg-footer { background:linear-gradient(180deg,#07223c 0%,#06182b 100%); color:#aebfcd;
  font-family:var(--pg-body); position:relative;
  width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; }  /* full-bleed: flush, edge-to-edge */
/* The footer's own .pg-scope wrapper must NOT clip its full-bleed child. Inside Avada the
   footer sits in a constrained column; .pg-scope's global `overflow-x:clip` (line ~74) would
   otherwise clip the 100vw breakout back to the column, cutting ~30px off each side on mobile. */
.pg-scope:has(> .pg-footer) { overflow:visible; overflow-x:visible; }
.pg-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun),var(--pg-orange)); }
.pg-footer .pg-wrap { padding-block:clamp(50px,6vw,84px); position:relative; z-index:1; }
/* strong CTA band */
.pg-footer__cta { text-align:center; padding-bottom:clamp(38px,4.5vw,58px);
  margin-bottom:clamp(38px,4.5vw,56px); border-bottom:1px solid rgba(255,255,255,.10); }
.pg-footer__eyebrow { display:inline-flex; align-items:center; gap:9px; font-family:var(--pg-display);
  font-weight:700; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pg-sun); margin-bottom:18px; }
.pg-footer__eyebrow::before { content:""; width:26px; height:2px; background:var(--pg-orange); }
/* .pg-scope qualifier: out-specifies `.pg-scope h2{margin:0}` (line ~84) so the
   heading block actually centers (margin:0 auto) instead of left-aligning. */
.pg-scope .pg-footer__h { font-family:var(--pg-display); font-weight:800; letter-spacing:-.03em; line-height:1.04;
  color:#fff; font-size:clamp(2rem,4.2vw,3.3rem); max-width:22ch; margin:0 auto clamp(30px,3.6vw,46px); }
.pg-footer__cta .pg-btn { margin-top:6px; }
/* main grid — brand + 3 link groups + reach */
.pg-footer__grid { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr 1.4fr; gap:clamp(26px,3vw,48px); align-items:start; }
.pg-footer__brand img { height:clamp(54px,5vw,68px); width:auto; margin-bottom:18px; display:block; }
.pg-footer__brand p { max-width:32ch; font-size:.95rem; line-height:1.6; color:#9fb1c0; }
.pg-footer__social { display:flex; gap:10px; margin-top:22px; }
.pg-footer__social a { width:38px; height:38px; display:grid; place-items:center; border-radius:10px;
  border:1px solid rgba(255,255,255,.16); color:#bdcad6;
  transition:color .2s var(--pg-ease),border-color .2s var(--pg-ease),background .2s var(--pg-ease); }
.pg-footer__social a:hover { color:#fff; border-color:var(--pg-orange); background:rgba(255,138,30,.12); }
.pg-footer__social svg { width:18px; height:18px; }
.pg-footer__col h4 { font-family:var(--pg-display); font-weight:800; font-size:1.04rem; letter-spacing:-.01em;
  color:#fff; margin:0 0 14px; }
.pg-footer__col a, .pg-footer__col span { display:block; font-size:.96rem; color:#bdcad6; padding:5px 0; line-height:1.45;
  transition:color .2s var(--pg-ease); }
.pg-footer__col a:hover { color:var(--pg-orange); }
.pg-footer__col span { color:#8ea0b0; }
.pg-footer__office { margin-top:14px; }
.pg-footer__office b { display:block; font-family:var(--pg-display); font-weight:700; font-size:.95rem; color:#dce5ea; }
.pg-footer__office span { color:#8ea0b0; padding:1px 0; }
/* legal bar */
.pg-footer__legal { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px;
  margin-top:clamp(38px,4.5vw,58px); padding-top:24px; border-top:1px solid rgba(255,255,255,.10);
  font-size:.84rem; color:#7e94a6; }
.pg-footer__legal nav { display:flex; flex-wrap:wrap; gap:8px 22px; }
.pg-footer__legal a { color:#9fb1c0; transition:color .2s var(--pg-ease); }
.pg-footer__legal a:hover { color:var(--pg-orange); }
@media (max-width:1000px){ .pg-footer__grid { grid-template-columns:1.5fr 1fr 1fr; gap:32px; } }
@media (max-width:680px){ .pg-footer__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .pg-footer__grid { grid-template-columns:1fr; }
  .pg-footer__legal { flex-direction:column; align-items:flex-start; } }

/* ---- legal / long-form prose (Terms, Privacy) ---- */
.pg-legal { max-width:74ch; }
.pg-legal__meta { font-size:.9rem; color:var(--pg-slate); margin:0 0 28px; font-weight:600; }
.pg-legal h2 { font-family:var(--pg-display); font-weight:800; color:var(--pg-navy);
  font-size:clamp(1.3rem,2.4vw,1.62rem); letter-spacing:-.02em; margin:36px 0 12px; }
.pg-legal h3 { font-family:var(--pg-display); font-weight:700; color:var(--pg-navy); font-size:1.08rem; margin:22px 0 8px; }
.pg-legal p, .pg-legal li { font-size:1rem; line-height:1.7; color:#33485c; }
.pg-legal p { margin:0 0 14px; }
.pg-legal ul { margin:0 0 16px; padding-left:22px; }
.pg-legal li { margin:0 0 8px; }
.pg-legal a { color:var(--pg-orange); font-weight:600; }
.pg-legal strong { color:var(--pg-navy); }
.pg-legal__note { margin-top:32px; padding:16px 18px; border-left:3px solid var(--pg-orange);
  background:rgba(255,138,30,.06); border-radius:0 var(--pg-radius) var(--pg-radius) 0;
  font-size:.92rem; color:var(--pg-slate); }

/* =====================================================================
   PG-NAV — main navigation to paste into an Avada Code Block / header layout
   ===================================================================== */
.pg-nav { position:sticky; top:0; z-index:1000; background:rgba(7,34,60,.92);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,.08); }
.pg-nav__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px; }
.pg-nav__logo img { height:40px; width:auto; display:block; }
.pg-nav__links { display:flex; align-items:center; gap:clamp(18px,2vw,32px); }
/* Nav link color scoped as .pg-nav .pg-nav__links a (0,2,1) so it beats the
   base .pg-scope a{color:inherit} (0,1,1) no matter the stylesheet load order
   — without the .pg-nav prefix an inline .pg-scope a rule that loads after
   master.css makes these inherit the body navy and go dark-on-dark. */
.pg-nav .pg-nav__links a { font-family:var(--pg-display); font-weight:600; font-size:.96rem; color:#fff; transition:color .2s var(--pg-ease); }
.pg-nav .pg-nav__links a:hover { color:#fff; }
.pg-nav .pg-nav__links a.pg-btn { color:var(--pg-navy); padding:11px 20px; font-size:.92rem; }
.pg-nav .pg-nav__links a.pg-btn:hover { color:var(--pg-navy); }
.pg-nav__toggle { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; }
.pg-nav__toggle span { width:24px; height:2px; background:#fff; border-radius:2px; transition:transform .3s var(--pg-ease),opacity .3s var(--pg-ease); }
.pg-nav.is-open .pg-nav__toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.pg-nav.is-open .pg-nav__toggle span:nth-child(2) { opacity:0; }
.pg-nav.is-open .pg-nav__toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:900px){
  .pg-nav__toggle { display:flex; }
  .pg-nav__links { position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:#07223c; border-bottom:1px solid rgba(255,255,255,.1); padding:8px 0; max-height:0; overflow:hidden;
    transition:max-height .35s var(--pg-ease); }
  .pg-nav.is-open .pg-nav__links { max-height:85vh; }
  .pg-nav__links a { padding:13px clamp(18px,5vw,40px); }
  .pg-nav__links a.pg-btn { margin:10px clamp(18px,5vw,40px); justify-content:center; }
}

/* =====================================================================
   ███  ENERGETIC v2 — tech-first, kinetic, full-bleed  ███
   Loud display type · flying shelf tags · animated grid + orbs ·
   live price ticker · David-vs-Goliath story · heavy motion.
   Appended last so these rules win cascade ties.
   ===================================================================== */

/* ---- full-bleed breakout (escape any max-width parent) ---- */
.pg-fullbleed { width:100vw; position:relative; left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw; }

/* ---- scroll progress bar ---- */
.pg-progress { position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); z-index:9999;
  box-shadow:0 0 14px rgba(255,107,53,.7); transition:width .1s linear; }

/* ---- LOUDER TYPE ---- */
.pg-scope { font-feature-settings:"ss01","cv01"; }
.pg-h-display, .pg-hero__h, .pg-final__h { font-weight:800 !important; letter-spacing:-.04em !important; line-height:.92 !important; }
.pg-eyebrow { font-size:clamp(11px,1vw,13px); letter-spacing:.28em; }
.pg-eyebrow--pulse::after { content:""; width:7px; height:7px; border-radius:50%;
  background:var(--pg-green); margin-left:2px; animation:pg-pulse 1.6s ease-in-out infinite; }

/* gradient shimmer accent text */
.pg-shimmer { background:linear-gradient(100deg,var(--pg-orange) 20%,var(--pg-sun) 40%,var(--pg-orange) 60%);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; animation:pg-shimmer 4s linear infinite; }
@keyframes pg-shimmer { to { background-position:220% center; } }

/* kinetic word-rotator in hero (5 words, 17.5s loop = 3.5s each) */
.pg-rot { display:inline-grid; vertical-align:top; overflow:hidden; }
.pg-rot__w { grid-area:1/1; opacity:0; transform:translateY(.5em) rotateX(-40deg);
  transform-origin:bottom; animation:pg-rot 21s cubic-bezier(.22,1,.36,1) infinite both; color:var(--pg-orange); white-space:nowrap; }
.pg-rot__w:nth-child(1){ animation-delay:0s } .pg-rot__w:nth-child(2){ animation-delay:3.5s }
.pg-rot__w:nth-child(3){ animation-delay:7s } .pg-rot__w:nth-child(4){ animation-delay:10.5s }
.pg-rot__w:nth-child(5){ animation-delay:14s } .pg-rot__w:nth-child(6){ animation-delay:17.5s }
@keyframes pg-rot { 0%{opacity:0;transform:translateY(.45em) rotateX(-40deg)}
  1.5%,14%{opacity:1;transform:none} 17%,100%{opacity:0;transform:translateY(-.45em) rotateX(40deg)} }

/* bigger hero / final display type */
.pg-hero__h { font-size:clamp(3rem,8.4vw,7.6rem) !important; }
.pg-final__h { font-size:clamp(2.3rem,5.2vw,4.5rem) !important; }

/* =====================================================================
   HERO v2 — dark tech stage with flying tags + animated grid
   ===================================================================== */
.pg-hero--v2 { min-height:clamp(640px,96vh,1000px); display:flex; align-items:center;
  padding-block:clamp(120px,15vh,180px) clamp(80px,10vh,130px);
  background:radial-gradient(120% 90% at 80% -10%, #1a4e7e 0%, #0a2e54 50%, #07223c 100%); }
.pg-hero--v2 .pg-hero__media img { opacity:.32; mix-blend-mode:luminosity; transform:scale(1.12); }
.pg-hero--v2 .pg-hero__media::after {
  background:linear-gradient(180deg,rgba(10,28,38,.18) 0%,rgba(10,31,43,.6) 58%,#07223c 100%),
            linear-gradient(90deg,rgba(10,31,43,.85) 0%,rgba(14,42,58,.42) 55%,transparent 100%); }

/* animated perspective grid floor */
.pg-grid3d { position:absolute; inset:auto 0 0 0; height:55%; z-index:1; overflow:hidden;
  -webkit-mask-image:linear-gradient(0deg,#000,transparent); mask-image:linear-gradient(0deg,#000,transparent); opacity:.5; }
.pg-grid3d::before { content:""; position:absolute; inset:-20% -50% -2% -50%;
  background-image:linear-gradient(rgba(255,107,53,.22) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(120,180,200,.16) 1px,transparent 1px);
  background-size:48px 48px; transform:perspective(420px) rotateX(62deg);
  transform-origin:bottom; animation:pg-grid 5.5s linear infinite; }
@keyframes pg-grid { to { background-position:0 48px, 0 0; } }

/* glowing drifting orbs */
.pg-orb { position:absolute; border-radius:50%; filter:blur(60px); z-index:0; opacity:.6; pointer-events:none; }
.pg-orb--1 { width:480px;height:480px; top:-120px; right:-80px;
  background:radial-gradient(circle,rgba(255,107,53,.55),transparent 65%); animation:pg-orb1 14s ease-in-out infinite; }
.pg-orb--2 { width:420px;height:420px; bottom:-120px; left:-60px;
  background:radial-gradient(circle,rgba(43,182,115,.4),transparent 65%); animation:pg-orb2 18s ease-in-out infinite; }
@keyframes pg-orb1 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-60px,40px) scale(1.15)} }
@keyframes pg-orb2 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(50px,-30px) scale(1.1)} }

/* hero text sits ABOVE the flying tags so tags drift behind the headline */
.pg-hero--v2 .pg-hero__inner { z-index:6; }
.pg-hero--v2 .pg-hero__h { position:relative; }

/* FLYING SHELF TAGS */
.pg-flytags { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.pg-ftag { position:absolute; background:#fff; color:var(--pg-navy); border-radius:10px;
  padding:10px 13px 9px; box-shadow:0 24px 50px -18px rgba(0,0,0,.6); font-family:var(--pg-display);
  width:148px; will-change:transform; }
.pg-ftag__top { display:flex; justify-content:space-between; align-items:center;
  font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--pg-slate); font-weight:700; }
.pg-ftag__top i { width:6px;height:6px;border-radius:50%;background:var(--pg-green); animation:pg-pulse 1.6s infinite; }
.pg-ftag__p { font-size:1.7rem; font-weight:800; letter-spacing:-.04em; line-height:1; margin:5px 0 1px; }
.pg-ftag__p sup{ font-size:.8rem; top:-.6em; }
.pg-ftag__n { font-size:.62rem; color:var(--pg-slate); font-weight:600; }
.pg-ftag__bar { height:14px;margin-top:7px;border-radius:2px;
  background:repeating-linear-gradient(90deg,var(--pg-navy) 0 1.5px,transparent 1.5px 4px); opacity:.8; }
.pg-ftag--orange { background:var(--pg-orange); color:#fff; }
.pg-ftag--orange .pg-ftag__top,.pg-ftag--orange .pg-ftag__n{ color:rgba(255,255,255,.85); }
.pg-ftag--orange .pg-ftag__bar{ background:repeating-linear-gradient(90deg,#fff 0 1.5px,transparent 1.5px 4px); }
.pg-ftag--a { top:14%; right:8%; animation:pg-fly-a 13s ease-in-out infinite; }
.pg-ftag--b { top:54%; right:20%; animation:pg-fly-b 16s ease-in-out infinite; }
.pg-ftag--c { top:30%; right:40%; transform:scale(.8); animation:pg-fly-c 19s ease-in-out infinite; }
.pg-ftag--d { bottom:16%; right:6%; transform:scale(.92); animation:pg-fly-d 15s ease-in-out infinite; }
.pg-ftag--e { top:68%; left:6%; transform:scale(.7); animation:pg-fly-c 21s ease-in-out infinite reverse; }
@keyframes pg-fly-a { 0%,100%{transform:translate(0,0) rotate(-6deg)} 50%{transform:translate(-26px,34px) rotate(4deg)} }
@keyframes pg-fly-b { 0%,100%{transform:translate(0,0) rotate(5deg)} 50%{transform:translate(30px,-30px) rotate(-5deg)} }
@keyframes pg-fly-c { 0%,100%{transform:translate(0,0) scale(.8) rotate(-8deg)} 50%{transform:translate(-40px,-20px) scale(.84) rotate(6deg)} }
@keyframes pg-fly-d { 0%,100%{transform:translate(0,0) scale(.92) rotate(7deg)} 50%{transform:translate(22px,26px) scale(.96) rotate(-3deg)} }
@media (max-width:900px){ .pg-ftag--b,.pg-ftag--c,.pg-ftag--e{ display:none; } }
@media (max-width:680px){ .pg-ftag--a{ display:none; } .pg-ftag--d{ transform:scale(.8); right:4%; } }

/* hero CTA — bigger, magnetic */
.pg-btn--xl { padding:20px 34px; font-size:1.06rem; }
.pg-btn--pulse { animation:pg-cta-pulse 2.6s ease-in-out infinite; }
@keyframes pg-cta-pulse { 0%,100%{box-shadow:0 14px 30px -12px rgba(255,107,53,.6)}
  50%{box-shadow:0 14px 44px -8px rgba(255,107,53,.95)} }

/* =====================================================================
   LIVE PRICE TICKER
   ===================================================================== */
.pg-ticker { position:relative; z-index:3; background:rgba(8,22,30,.7); backdrop-filter:blur(8px);
  border-block:1px solid var(--pg-line); overflow:hidden; padding-block:13px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.pg-ticker__track { display:flex; gap:0; width:max-content; animation:pg-tick 30s linear infinite; }
.pg-ticker:hover .pg-ticker__track{ animation-play-state:paused; }
.pg-tick-item { display:inline-flex; align-items:center; gap:10px; padding-inline:26px;
  font-family:var(--pg-display); font-size:.9rem; white-space:nowrap; border-right:1px solid var(--pg-line); }
.pg-tick-item b { color:#e7eef2; font-weight:600; }
.pg-tick-item .pg-tick-p { color:var(--pg-orange); font-weight:800; }
.pg-tick-item .pg-tick-up{ color:var(--pg-green); font-size:.78rem; }
.pg-tick-item .pg-tick-dot{ width:7px;height:7px;border-radius:50%;background:var(--pg-green);animation:pg-pulse 1.6s infinite; }
@keyframes pg-tick { to{ transform:translateX(-50%);} }

/* =====================================================================
   DAVID vs GOLIATH STORY
   ===================================================================== */
.pg-vs { position:relative; overflow:hidden;
  background:linear-gradient(180deg,#07223c,#0a2e54); color:var(--pg-paper); }
.pg-vs__scan { position:absolute; inset:0; z-index:0; opacity:.5;
  background:repeating-linear-gradient(180deg,transparent 0 38px,rgba(255,255,255,.025) 38px 39px); }
.pg-vs > .pg-wrap{ position:relative; z-index:1; }
.pg-vs__big { font-family:var(--pg-display); font-weight:800; letter-spacing:-.05em; line-height:.9;
  font-size:clamp(3.2rem,11vw,9rem); }
.pg-vs__big .pg-strike { position:relative; color:var(--pg-slate-200); }
.pg-vs__big .pg-strike::after{ content:""; position:absolute; left:-2%; right:-2%; top:52%; height:.09em;
  background:var(--pg-orange); transform:scaleX(0); transform-origin:left; border-radius:2px; }
.pg-vs__big .pg-strike.pg-in-strike::after,.pg-in .pg-strike::after{ transform:scaleX(1); transition:transform 1s var(--pg-ease) .3s; }
.pg-vs__split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,46px); margin-top:clamp(40px,6vw,70px); }
@media (max-width:820px){ .pg-vs__split{ grid-template-columns:1fr; } }
.pg-vs__card { border-radius:var(--pg-radius-lg); padding:clamp(26px,3.4vw,44px); position:relative; overflow:hidden; }
.pg-vs__card--giant { background:#0c2138; border:1px solid rgba(255,255,255,.08); }
.pg-vs__card--us { background:linear-gradient(155deg,#134470,#0a2e54);
  border:1px solid rgba(255,107,53,.4); box-shadow:0 40px 90px -40px rgba(255,107,53,.4); }
.pg-vs__tag { font-family:var(--pg-display); font-weight:700; font-size:.74rem; letter-spacing:.14em;
  text-transform:uppercase; }
.pg-vs__card--giant .pg-vs__tag{ color:#7d8990; } .pg-vs__card--us .pg-vs__tag{ color:var(--pg-orange); }
.pg-vs__acct { font-family:var(--pg-display); font-weight:800; letter-spacing:-.04em; line-height:1;
  font-size:clamp(2.6rem,6vw,4.4rem); margin:14px 0 4px; }
.pg-vs__card--giant .pg-vs__acct{ color:#5b666c; }
.pg-vs__card--us .pg-vs__acct{ color:#fff; }
.pg-vs__sub { font-size:.96rem; margin:0 0 22px; }
.pg-vs__card--giant .pg-vs__sub{ color:#7d8990; } .pg-vs__card--us .pg-vs__sub{ color:var(--pg-slate-200); }
.pg-vs__list{ list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.pg-vs__list li{ display:flex; gap:12px; align-items:flex-start; font-size:1rem; line-height:1.4; }
.pg-vs__list li svg{ flex:0 0 20px; margin-top:3px; }
.pg-vs__card--giant li{ color:#8b969c; }

/* animated proof bars */
.pg-bars{ display:grid; gap:20px; margin-top:30px; }
.pg-bar__top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px;
  font-family:var(--pg-display); }
.pg-bar__lab{ font-weight:600; font-size:.94rem; color:var(--pg-paper); }
.pg-bar__val{ font-weight:800; font-size:1.3rem; color:var(--pg-orange); letter-spacing:-.02em; }
.pg-bar__track{ height:10px; border-radius:99px; background:rgba(255,255,255,.08); overflow:hidden; }
.pg-bar__fill{ height:100%; width:0; border-radius:99px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); transition:width 1.4s var(--pg-ease); }
.pg-in .pg-bar__fill{ width:var(--w,80%); }

/* ---- reveal variants ---- */
.pg-reveal[data-rev="left"]{ transform:translateX(-40px); }
.pg-reveal[data-rev="right"]{ transform:translateX(40px); }
.pg-reveal[data-rev="scale"]{ transform:scale(.9); }
.pg-reveal[data-rev="clip"]{ clip-path:inset(0 100% 0 0); opacity:1; transform:none; transition:clip-path 1s var(--pg-ease); }
.pg-reveal.pg-in[data-rev="left"],.pg-reveal.pg-in[data-rev="right"],.pg-reveal.pg-in[data-rev="scale"]{ transform:none; }
.pg-reveal.pg-in[data-rev="clip"]{ clip-path:inset(0 0 0 0); }

/* card hover tilt helper + glow already exist; add lift to more things */
.pg-tile:hover,.pg-ind__item:hover{ box-shadow:0 30px 60px -28px rgba(0,0,0,.5); }

/* pulse keyframe (shared) */
@keyframes pg-pulse { 0%,100%{ box-shadow:0 0 0 0 rgba(43,182,115,.5);} 50%{ box-shadow:0 0 0 5px rgba(43,182,115,0);} }

/* animated section eyebrow underline sweep */
.pg-section .pg-eyebrow::before{ animation:pg-eb 2.4s ease-in-out infinite; }
@keyframes pg-eb { 0%,100%{ width:26px; opacity:1 } 50%{ width:40px; opacity:.6 } }

/* floating-in stat numbers get a subtle scale pop via reveal scale */
.pg-statgrid .pg-stat{ transition:transform .5s var(--pg-ease); }
.pg-statgrid .pg-stat:hover{ transform:translateY(-4px); }

/* reduce base motion when requested (extended list at very bottom) */
@media (prefers-reduced-motion: reduce){
  .pg-grid3d::before,.pg-orb,.pg-ticker__track,.pg-shimmer,.pg-rot__w,
  .pg-btn--pulse,.pg-eyebrow--pulse::after,.pg-section .pg-eyebrow::before,
  .pg-tick-dot{ animation:none !important; }
  .pg-rot__w:first-child{ opacity:1; transform:none; }
  .pg-shimmer{ -webkit-text-fill-color:var(--pg-orange); }
}

/* =====================================================================
   ███  v3 — BIGGER TYPE · LOUDER GRID · REALISTIC FLASHING TAGS  ███
   ===================================================================== */

/* ---- 1 · TYPE SCALE UP (incl. the small fonts) ---- */
.pg-scope { font-size:18px; }
.pg-h1   { font-size:clamp(2.5rem,5.4vw,4.4rem); }
.pg-h2   { font-size:clamp(1.9rem,3.8vw,3rem); }
.pg-h3   { font-size:clamp(1.3rem,1.9vw,1.6rem); }
.pg-lede { font-size:clamp(1.18rem,1.55vw,1.5rem); line-height:1.55; }
.pg-eyebrow { font-size:clamp(13px,1.05vw,15.5px); letter-spacing:.26em; }
.pg-hero__sub { font-size:clamp(1.2rem,1.75vw,1.6rem) !important; }
/* small fonts bumped up */
.pg-stat__l { font-size:1.02rem; }
.pg-card h3 { font-size:1.42rem; }
.pg-card p  { font-size:1.06rem; }
.pg-card__num { font-size:.95rem; }
.pg-tile__k { font-size:.84rem; letter-spacing:.12em; }
.pg-tile h3 { font-size:1.5rem; }
.pg-tile p  { font-size:1.02rem; }
.pg-feat h4 { font-size:1.2rem; }
.pg-feat p  { font-size:1.02rem; }
.pg-ind__item h3 { font-size:1.4rem; }
.pg-ind__item p  { font-size:1.02rem; }
.pg-ind__tag,.pg-vs__tag { font-size:.8rem; }
.pg-checks li { font-size:1.1rem; }
.pg-tick-item { font-size:1.02rem; }
.pg-tick-item .pg-tick-up { font-size:.86rem; }
.pg-badge__t { font-size:.88rem; }
.pg-badge__n { font-size:2.1rem; }
.pg-card__icon { width:58px; height:58px; }
.pg-card__icon svg { width:29px; height:29px; }
.pgx-footer a,.pgx-footer p { font-size:1rem; }
.pgx-nav a { font-size:1rem; }

/* ---- 2 · HERO GRID — much more visible ---- */
.pg-hero--v2 .pg-grid3d { opacity:1; height:62%; }
.pg-hero--v2 .pg-grid3d::before {
  background-image:linear-gradient(rgba(255,124,74,.5) 1.4px,transparent 1.4px),
                   linear-gradient(90deg,rgba(150,205,225,.32) 1.4px,transparent 1.4px);
  background-size:54px 54px;
  filter:drop-shadow(0 0 6px rgba(255,107,53,.35)); }
.pg-hero--v2 .pg-grid3d::after { content:""; position:absolute; inset:0;
  background:radial-gradient(120% 80% at 50% 100%, rgba(255,107,53,.16), transparent 70%); }

/* ---- 3 · REALISTIC, FLASHING SHELF TAGS ---- */
.pg-ftag { width:170px; padding:0; border:1px solid rgba(14,42,58,.14); border-radius:8px;
  background:#fff; overflow:hidden; }
.pg-ftag__hd { display:flex; align-items:center; justify-content:space-between;
  background:var(--pg-navy); color:#fff; padding:5px 10px;
  font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.pg-ftag__hd i { width:6px; height:6px; border-radius:50%; background:var(--pg-green);
  box-shadow:0 0 0 0 rgba(43,182,115,.6); animation:pg-pulse 1.5s infinite; }
.pg-ftag__bd { padding:9px 11px 10px; }
.pg-ftag__p { font-size:2rem; font-weight:800; letter-spacing:-.04em; line-height:1; margin:0; color:var(--pg-navy); }
.pg-ftag__p sup { font-size:.85rem; top:-.7em; font-weight:700; }
.pg-ftag__c { font-size:1rem; vertical-align:super; font-weight:700; margin-left:1px; }
.pg-ftag__u { font-size:.66rem; color:var(--pg-slate); font-weight:600; margin-top:1px; }
.pg-ftag__n { font-size:.74rem; color:var(--pg-navy); font-weight:600; margin-top:4px; line-height:1.15; }
.pg-ftag__bar { height:17px; margin-top:9px; border-radius:2px;
  background:repeating-linear-gradient(90deg,#11294a 0 1px,transparent 1px 2px,#11294a 2px 4px,transparent 4px 5px,#11294a 5px 7px,transparent 7px 9px); }
/* orange promo + yellow sale variants */
.pg-ftag--orange .pg-ftag__hd { background:var(--pg-orange); }
.pg-ftag--orange .pg-ftag__p { color:var(--pg-orange-600); }
.pg-ftag--sale .pg-ftag__hd { background:#e11900; }
.pg-ftag--sale .pg-ftag__bd { background:var(--pg-sun); }
.pg-ftag--sale .pg-ftag__p,.pg-ftag--sale .pg-ftag__n { color:#7a1500; }
.pg-ftag--sale .pg-ftag__u { color:#9a4a16; }
/* flash = a quick "price just updated" glow, staggered per tag */
@keyframes pg-flash { 0%,86%,100%{ box-shadow:0 24px 50px -18px rgba(0,0,0,.6); }
  90%{ box-shadow:0 24px 50px -18px rgba(0,0,0,.6),0 0 0 2px var(--pg-orange),0 0 26px 5px rgba(255,107,53,.8); } }
.pg-ftag--a{ animation:pg-fly-a 13s ease-in-out infinite, pg-flash 6.5s ease-in-out .3s infinite; }
.pg-ftag--b{ animation:pg-fly-b 16s ease-in-out infinite, pg-flash 7.5s ease-in-out 2.1s infinite; }
.pg-ftag--c{ animation:pg-fly-c 19s ease-in-out infinite, pg-flash 8s ease-in-out 3.6s infinite; }
.pg-ftag--d{ animation:pg-fly-d 15s ease-in-out infinite, pg-flash 6.8s ease-in-out 1.2s infinite; }
.pg-ftag--e{ animation:pg-fly-c 21s ease-in-out infinite reverse, pg-flash 9s ease-in-out 4.4s infinite; }
.pg-ftag--f{ top:8%; left:12%; right:auto; transform:scale(.82); animation:pg-fly-b 17s ease-in-out infinite reverse, pg-flash 7.2s ease-in-out 5s infinite; }
.pg-ftag--g{ bottom:30%; left:22%; right:auto; transform:scale(.74); animation:pg-fly-d 20s ease-in-out infinite, pg-flash 8.4s ease-in-out .9s infinite; }
.pg-ftag--h{ top:44%; right:5%; transform:scale(.88); animation:pg-fly-a 18s ease-in-out infinite reverse, pg-flash 6.2s ease-in-out 3s infinite; }
@media (max-width:1100px){ .pg-ftag--f,.pg-ftag--g{ display:none; } }
@media (max-width:900px){ .pg-ftag--b,.pg-ftag--c,.pg-ftag--e,.pg-ftag--h{ display:none; } }
@media (max-width:680px){ .pg-ftag--a{ display:none; } .pg-ftag--d{ transform:scale(.78); right:4%; } }

/* ---- 4 · EXECUTION-GAP section helpers (reuses .pg-vs dark shell) ---- */
.pg-gapstats { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,3vw,36px);
  margin:clamp(36px,5vw,56px) 0; }
@media (max-width:760px){ .pg-gapstats{ grid-template-columns:1fr; gap:22px; } }
.pg-gapstat { border-left:3px solid var(--pg-orange); padding-left:20px; }
.pg-gapstat__n { font-family:var(--pg-display); font-weight:800; letter-spacing:-.04em; line-height:1;
  font-size:clamp(2.4rem,4.5vw,3.6rem); color:#fff; }
.pg-gapstat__l { color:var(--pg-slate-200); font-size:1.02rem; margin-top:10px; max-width:24ch; }
/* on LIGHT sections the white number + light label wash out — darken them */
:is(.pg-bg-paper,.pg-bg-paper2) .pg-gapstat__n { color:var(--pg-navy); }
:is(.pg-bg-paper,.pg-bg-paper2) .pg-gapstat__l { color:var(--pg-slate); }
.pg-gap-note { font-size:.86rem; color:var(--pg-slate-200); margin:16px 0 0; }
.pg-gap-src { display:block; margin-top:9px; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--pg-slate-200); opacity:.62; font-weight:600; }

/* ---- 4b · SHELF-EDGE PROOF band (light · independently sourced stats) ---- */
.pg-edge__lead { max-width:60ch; font-size:clamp(1.14rem,1.75vw,1.45rem); color:var(--pg-navy); }
.pg-edge__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(20px,2.4vw,32px);
  margin-top:clamp(42px,5.5vw,70px); }
@media (max-width:680px){ .pg-edge__grid{ grid-template-columns:1fr; } }
.pg-edge__stat { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:clamp(10px,1.3vw,16px);
  background:#fff; border:1px solid rgba(14,42,58,.07); border-radius:var(--pg-radius-lg);
  padding:clamp(26px,3vw,40px) clamp(26px,3vw,42px); box-shadow:var(--pg-shadow-sm); overflow:hidden;
  transition:transform .5s var(--pg-ease), box-shadow .5s var(--pg-ease); }
.pg-edge__n { font-variant-numeric:tabular-nums; }
.pg-edge__stat::before { content:""; position:absolute; top:0; left:0; height:100%; width:6px;
  background:linear-gradient(180deg,var(--pg-orange),var(--pg-sun));
  transform:scaleY(0); transform-origin:top; transition:transform .9s var(--pg-ease) .15s; }
.pg-edge__stat.pg-in::before { transform:scaleY(1); }
.pg-edge__stat:hover { transform:translateY(-7px); box-shadow:0 44px 88px -36px rgba(8,24,34,.5); }
.pg-edge__n { flex:0 0 auto; font-family:var(--pg-display); font-weight:800; letter-spacing:-.04em; line-height:.9;
  font-size:clamp(2.9rem,4.4vw,4.3rem); color:var(--pg-navy);
  transition:transform .5s var(--pg-ease); transform-origin:center; }
.pg-edge__stat:hover .pg-edge__n { transform:scale(1.06); }
.pg-edge__n .pg-unit { color:var(--pg-orange); font-size:.58em; }
.pg-edge__l { color:var(--pg-navy); font-weight:700; font-size:clamp(1.04rem,1.2vw,1.18rem);
  line-height:1.34; }
.pg-edge__src { display:block; margin-top:12px; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--pg-slate); opacity:.78; font-weight:600; }
.pg-scope .pg-edge__foot { margin-top:clamp(52px,6.5vw,84px); max-width:70ch; color:var(--pg-navy);
  font-weight:700; font-size:clamp(1.4rem,2.3vw,1.85rem); line-height:1.34; letter-spacing:-.01em; }
@media (prefers-reduced-motion: reduce){
  .pg-edge__stat::before{ transform:scaleY(1); }
  .pg-edge__stat:hover{ transform:none; } .pg-edge__stat:hover .pg-edge__n{ transform:none; }
}
/* band gets its own cool tint so it never blends into the paper Execution section below */
#why-shelf { background:linear-gradient(180deg,#dae5f1 0%,#eef3f8 100%) !important; }
/* product image tiles must never sit invisible (clip-reveal could leave a blank navy void
   on static/first paint before the scroll observer fires) — keep them always visible */
.pg-tiles .pg-tile { clip-path:none !important; opacity:1 !important; }
/* ---- WHAT WE MAKE: equal SQUARE tiles + image placeholders (client drops in real squares) ---- */
.pg-tiles { grid-template-columns:repeat(3,1fr) !important; gap:clamp(14px,1.6vw,20px); }
@media (max-width:760px){ .pg-tiles{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:480px){ .pg-tiles{ grid-template-columns:1fr !important; } }
.pg-tiles .pg-tile { grid-column:auto !important; aspect-ratio:1/1 !important; min-height:0 !important;
  display:flex; flex-direction:column; justify-content:flex-end; }

/* ---- sized image placeholder (drop real photo in later) ---- */
.pg-ph { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:9px; text-align:center; padding:24px; border-radius:var(--pg-radius); overflow:hidden;
  border:1.6px dashed rgba(78,106,130,.42); color:var(--pg-slate);
  background:linear-gradient(150deg, rgba(42,111,176,.07), rgba(42,111,176,.02)); }
.pg-ph::after { content:""; position:absolute; inset:14px; border:1px dashed rgba(78,106,130,.22); border-radius:12px; pointer-events:none; }
.pg-ph svg { width:42px; height:42px; opacity:.55; }
.pg-ph b { font-family:var(--pg-display); font-weight:700; font-size:.92rem; letter-spacing:-.01em; }
.pg-ph span { font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; opacity:.75; }
:is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2) .pg-ph {
  border-color:rgba(255,255,255,.26); color:var(--pg-slate-200);
  background:linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); }
:is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2) .pg-ph::after { border-color:rgba(255,255,255,.16); }
/* "What we make" photo tiles: 4 real category photos → clean 2×2 landscape grid */
#products .pg-tiles { grid-template-columns:repeat(2,1fr) !important; }
#products .pg-tiles .pg-tile { aspect-ratio:16/10 !important; }
@media (max-width:680px){ #products .pg-tiles { grid-template-columns:1fr !important; } }
.pg-tile--ph { background:linear-gradient(150deg,#11385c,#0b2b4c); }
.pg-tile__ph { position:absolute; inset:0; z-index:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; pointer-events:none; text-align:center; }
.pg-tile__ph i { position:absolute; inset:18px; border:1.5px dashed rgba(255,255,255,.18); border-radius:14px; }
.pg-tile__ph svg { width:46px; height:46px; color:rgba(255,255,255,.3); }
.pg-tile__ph b { font-family:var(--pg-display); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.46); font-weight:600; }
.pg-tile--ph .pg-tile__body { position:relative; z-index:1; }

/* ---- 5 · extended reduced-motion ---- */
@media (prefers-reduced-motion: reduce){
  .pg-ftag,.pg-ftag__hd i{ animation:none !important; }
}

/* =====================================================================
   ███  v4 — REAL PANGEA COLORS · LIVE PLATFORM · BOLDER SECTIONS  ███
   ===================================================================== */
.pg-scope { --pg-blue:#2a6fb0; --pg-blue-2:#3e86c9; --pg-section:clamp(56px,8vw,108px); }

/* tighten dead vertical space + give navy sections a living backdrop */
.pg-hero--v2 { min-height:clamp(600px,90vh,920px); }
.pg-bg-navy, .pg-bg-navy2, .pg-vs, .pg-final { position:relative; }
.pg-fx-grid::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(122,170,210,.10) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(122,170,210,.10) 1px,transparent 1px);
  background-size:60px 60px; -webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 75%);
          mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 75%); animation:pg-gridpan 22s linear infinite; }
@keyframes pg-gridpan { to{ background-position:60px 60px,60px 60px; } }
/* glowing dots travelling the grid lines — adds depth on dark tech sections */
.pg-fx-grid::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.55;
  background-image:
    radial-gradient(circle, rgba(84,190,38,.95) 1.5px, transparent 2.2px),
    radial-gradient(circle, rgba(62,134,201,.8) 1.3px, transparent 2px);
  background-size:60px 60px, 60px 60px;
  background-position:0 0, 30px 30px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 78%);
          mask-image:radial-gradient(120% 90% at 50% 0,#000,transparent 78%);
  animation:pg-griddots 7s linear infinite; }
@keyframes pg-griddots { to { background-position:0 60px, 30px 90px; } }
@media (prefers-reduced-motion: reduce){ .pg-fx-grid::after{ animation:none; } }
.pg-fx-glow::after { content:""; position:absolute; z-index:0; width:50vw; height:50vw; max-width:760px; max-height:760px;
  top:-15%; right:-10%; pointer-events:none;
  background:radial-gradient(circle,rgba(42,111,176,.28),transparent 65%); filter:blur(40px); animation:pg-orb1 16s ease-in-out infinite; }
.pg-bg-navy > .pg-wrap,.pg-bg-navy2 > .pg-wrap,.pg-vs > .pg-wrap,.pg-final > .pg-wrap{ position:relative; z-index:2; }

/* ---- HERO tags: keep clear of the headline ---- */
/* right-side tags stay vivid; tags that drift over the left text column fade back */
.pg-ftag--e,.pg-ftag--f,.pg-ftag--g,.pg-ftag--c { opacity:.4; filter:saturate(.85); }
.pg-hero--v2 .pg-flytags { z-index:2; }
.pg-ftag--c{ top:24%; right:34%; } /* nudge off the headline */

/* ---- MORE detail + MORE flash on tags ---- */
.pg-ftag__hd { font-size:.62rem; letter-spacing:.07em; padding:5px 9px; }
.pg-ftag__save { display:inline-block; background:#e11900; color:#fff; font-size:.56rem; font-weight:800;
  letter-spacing:.04em; padding:2px 5px; border-radius:3px; margin-top:5px; text-transform:uppercase; }
.pg-ftag__sku { font-family:var(--pg-body); font-size:.54rem; letter-spacing:.12em; color:#8aa0b4;
  margin-top:4px; text-align:center; }
.pg-ftag__p { transition:color .25s; }
/* brighter, more frequent flash + price-flip */
@keyframes pg-flash { 0%,70%,100%{ box-shadow:0 24px 50px -18px rgba(0,0,0,.6); }
  78%{ box-shadow:0 24px 50px -18px rgba(0,0,0,.6),0 0 0 2px var(--pg-orange),0 0 30px 7px rgba(255,138,30,.95); } }
@keyframes pg-priceflip { 0%,72%,100%{ color:var(--pg-navy); } 78%,84%{ color:var(--pg-orange); } }
.pg-ftag--orange .pg-ftag__p,.pg-ftag--sale .pg-ftag__p{ animation:none; }
.pg-ftag--a .pg-ftag__p,.pg-ftag--c .pg-ftag__p,.pg-ftag--d .pg-ftag__p,.pg-ftag--e .pg-ftag__p,.pg-ftag--h .pg-ftag__p{
  animation:pg-priceflip 6.5s ease-in-out infinite; }
.pg-ftag--a{ animation:pg-fly-a 13s ease-in-out infinite, pg-flash 4.5s ease-in-out .2s infinite; }
.pg-ftag--b{ animation:pg-fly-b 16s ease-in-out infinite, pg-flash 5.2s ease-in-out 1.1s infinite; }
.pg-ftag--c{ animation:pg-fly-c 19s ease-in-out infinite, pg-flash 5.8s ease-in-out 2.3s infinite; }
.pg-ftag--d{ animation:pg-fly-d 15s ease-in-out infinite, pg-flash 4.8s ease-in-out .7s infinite; }
.pg-ftag--e{ animation:pg-fly-c 21s ease-in-out infinite reverse, pg-flash 6s ease-in-out 3.1s infinite; }
.pg-ftag--f{ animation:pg-fly-b 17s ease-in-out infinite reverse, pg-flash 5.5s ease-in-out 2.6s infinite; }
.pg-ftag--g{ animation:pg-fly-d 20s ease-in-out infinite, pg-flash 5.1s ease-in-out .4s infinite; }
.pg-ftag--h{ animation:pg-fly-a 18s ease-in-out infinite reverse, pg-flash 4.2s ease-in-out 1.8s infinite; }

/* ---- LIVE PLATFORM dashboard (animated, looping) ---- */
.pg-dash__bar span .pg-dash__live{ color:var(--pg-green); }
.pg-dash__metrics{ display:flex; gap:18px; padding:12px 16px; border-bottom:1px solid var(--pg-line); flex-wrap:wrap; }
.pg-dmetric{ font-family:var(--pg-display); }
.pg-dmetric b{ display:block; font-size:1.25rem; font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1; }
.pg-dmetric span{ font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--pg-slate-200); }
.pg-drow{ transition:background .4s, border-color .4s, transform .4s var(--pg-ease); }
.pg-drow.pg-drow--new{ animation:pg-rowin .55s var(--pg-ease); }
@keyframes pg-rowin{ from{ opacity:0; transform:translateY(-18px) } to{ opacity:1; transform:none } }
.pg-drow.pg-drow--flash{ border-color:rgba(255,138,30,.6); box-shadow:0 0 18px -2px rgba(255,138,30,.4); }
.pg-pill{ transition:background .3s,color .3s,border-color .3s; }
.pg-pill--print{ background:rgba(42,111,176,.18); color:var(--pg-blue-2); border-color:rgba(42,111,176,.4); }
.pg-row__price{ transition:color .3s,transform .3s; }
.pg-row__price.pg-row__price--up{ color:var(--pg-green); }

/* ---- PRODUCT SHOWCASE (real example products) ---- */
.pg-show{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; margin-top:8px; }
@media(max-width:1000px){ .pg-show{ grid-template-columns:repeat(3,1fr);} }
@media(max-width:560px){ .pg-show{ grid-template-columns:repeat(2,1fr);} }
.pg-show__item{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:22px 14px;
  background:var(--pg-navy-600); border:1px solid var(--pg-line); border-radius:var(--pg-radius);
  transition:transform .5s var(--pg-ease),border-color .4s,background .4s; }
.pg-show__item:hover{ transform:translateY(-7px); border-color:rgba(255,138,30,.5); background:var(--pg-navy-500); }
.pg-show__lab{ font-family:var(--pg-display); font-weight:700; font-size:.92rem; color:#fff; text-align:center; }
.pg-show__lab small{ display:block; font-weight:500; font-size:.74rem; color:var(--pg-slate-200); margin-top:3px; }
/* a static, detailed sample tag used inside the showcase + larger flash-free */
.pg-sample{ width:100%; max-width:150px; background:#fff; border-radius:8px; overflow:hidden;
  border:1px solid rgba(255,255,255,.15); box-shadow:0 18px 36px -16px rgba(0,0,0,.6); }
.pg-sample__hd{ background:var(--pg-navy); color:#fff; font-family:var(--pg-display); font-weight:700;
  font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; padding:5px 9px; display:flex; justify-content:space-between; }
.pg-sample__hd i{ width:6px;height:6px;border-radius:50%;background:var(--pg-green); }
.pg-sample--orange .pg-sample__hd{ background:var(--pg-orange); }
.pg-sample--sale .pg-sample__hd{ background:#e11900; }
.pg-sample--blue .pg-sample__hd{ background:var(--pg-blue); }
.pg-sample__bd{ padding:10px 11px 11px; color:var(--pg-navy); font-family:var(--pg-display); }
.pg-sample--sale .pg-sample__bd{ background:var(--pg-sun); }
.pg-sample__p{ font-size:1.85rem; font-weight:800; letter-spacing:-.04em; line-height:1; }
.pg-sample__p sup{ font-size:.8rem; top:-.7em; } .pg-sample__p .c{ font-size:.95rem; vertical-align:super; }
.pg-sample__u{ font-size:.64rem; color:var(--pg-slate); font-weight:600; margin-top:2px; }
.pg-sample__n{ font-size:.72rem; font-weight:600; margin-top:4px; line-height:1.15; }
.pg-sample__bar{ height:16px;margin-top:8px;border-radius:2px;
  background:repeating-linear-gradient(90deg,#11294a 0 1px,transparent 1px 2px,#11294a 2px 4px,transparent 4px 5px,#11294a 5px 7px,transparent 7px 9px); }
.pg-sample--strip{ max-width:100%; }
.pg-sample--strip .pg-sample__bd{ display:flex; align-items:center; gap:12px; }
.pg-sample--strip .pg-sample__p{ font-size:1.5rem; }
.pg-sample--talker .pg-sample__bd{ text-align:center; }
.pg-sample--esl{ background:#10243d; border-color:rgba(122,170,210,.3); }
.pg-sample--esl .pg-sample__bd{ background:#0c1f33; color:#dbe7f2; }
.pg-sample--esl .pg-sample__p{ color:#fff; }
.pg-sample--esl .pg-sample__u,.pg-sample--esl .pg-sample__n{ color:#a6bacc; }
.pg-sample--esl .pg-sample__bar{ background:repeating-linear-gradient(90deg,#5a9fd4 0 1px,transparent 1px 3px); }

/* ---- BOLDER PARTNER (dark, huge 1991) ---- */
.pg-partner2{ overflow:hidden; }
.pg-partner2 .pg-split{ align-items:center; }
.pg-bignum{ font-family:var(--pg-display); font-weight:800; letter-spacing:-.05em; line-height:.85;
  font-size:clamp(3.4rem,8vw,6rem); background:linear-gradient(160deg,#fff 25%,var(--pg-slate-200));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pg-partner2 .pg-checks li{ font-weight:500; }
.pg-partner2 .pg-checks li::before{ background-color:rgba(84,190,38,.16); border-color:rgba(84,190,38,.35); }

/* ---- BOLDER INDUSTRIES ---- */
.pg-ind{ gap:18px; }
.pg-ind__item{ padding:30px 26px 28px; overflow:hidden; }
.pg-ind__item::after{ content:""; position:absolute; inset:auto -30% -40% auto; width:60%; height:60%;
  background:radial-gradient(circle,rgba(255,138,30,.16),transparent 65%); opacity:0; transition:opacity .5s; }
.pg-ind__item:hover::after{ opacity:1; }
.pg-ind__n{ display:block; font-family:var(--pg-display); font-weight:800; font-size:1.15rem; color:var(--pg-slate);
  opacity:.45; margin-bottom:6px; } .pg-ind__item--lead .pg-ind__n{ color:var(--pg-orange); opacity:1; }
.pg-ind__item h3{ font-size:1.7rem; margin:10px 0 10px; }
.pg-ind__item--lead{ grid-row:span 2; display:flex; flex-direction:column; }
.pg-ind__item--lead h3{ font-size:clamp(2rem,3vw,2.8rem); }
.pg-ind__item--lead p{ font-size:1.1rem; }
@media(min-width:901px){ .pg-ind{ grid-template-columns:1.3fr 1fr 1fr; grid-auto-rows:1fr; }
  .pg-ind__item--lead{ grid-column:1; grid-row:1/3; }
  .pg-ind__item:last-child{ grid-column:2/4; } }

/* ---- BOLDER COVERAGE ---- */
.pg-cover__list span{ font-size:1.08rem; }
.pg-cover__big{ font-family:var(--pg-display); font-weight:800; font-size:clamp(2.4rem,4.6vw,3.8rem);
  letter-spacing:-.03em; line-height:1; color:#fff; margin:26px 0 4px; }
.pg-cover__big .pg-unit{ color:var(--pg-orange); }

/* shadows recolored to blue */
.pg-scope{ --pg-shadow:0 30px 70px -30px rgba(6,28,48,.6); --pg-shadow-sm:0 14px 34px -18px rgba(6,28,48,.5); }
.pg-btn{ box-shadow:0 14px 30px -12px rgba(255,138,30,.55); }
.pg-btn:hover{ box-shadow:0 22px 44px -14px rgba(255,138,30,.7); }

@media (prefers-reduced-motion: reduce){
  .pg-fx-grid::before,.pg-fx-glow::after,.pg-ftag .pg-ftag__p{ animation:none !important; }
}

/* =====================================================================
   ███  v5 — BIGGER HERO STATS · NO WIGGLE · BOLD + CTA EVERYWHERE  ███
   ===================================================================== */

/* ---- bigger, bolder hero stat bar ---- */
/* hero stat bar — redesigned as a glass panel with cell dividers */
.pg-hero__meta { margin-top:clamp(30px,4vw,46px) !important; display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0 !important; max-width:none; width:100%; padding:0 !important;
  border:1px solid rgba(255,255,255,.16) !important; border-radius:18px; overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
.pg-hero__meta .pg-stat { padding:clamp(16px,1.6vw,24px) clamp(14px,1.5vw,24px);
  border-right:1px solid rgba(255,255,255,.1);
  display:flex; flex-direction:column; align-items:flex-start; }
.pg-hero__meta .pg-stat:last-child { border-right:0; }
.pg-hero__meta .pg-stat__i { color:var(--pg-orange); margin-bottom:14px; line-height:0;
  filter:drop-shadow(0 2px 8px rgba(247,148,29,.28)); }
.pg-hero__meta .pg-stat__i svg { width:clamp(36px,3.6vw,50px); height:clamp(36px,3.6vw,50px);
  stroke-width:1.6; display:block; }
.pg-hero__meta .pg-stat__n { font-size:clamp(2.3rem,3.9vw,3.5rem) !important; letter-spacing:-.04em; }
.pg-hero__meta .pg-stat__n .pg-unit { font-size:.64em; }
.pg-hero__meta .pg-stat__l { font-size:clamp(.88rem,1.05vw,1.02rem) !important; max-width:22ch; margin-top:11px; color:#cdd9df; line-height:1.32; }
@media (max-width:680px){
  .pg-hero__meta { grid-template-columns:repeat(2,1fr); }
  .pg-hero__meta .pg-stat:nth-child(2){ border-right:0; }
  .pg-hero__meta .pg-stat:nth-child(1),.pg-hero__meta .pg-stat:nth-child(2){ border-bottom:1px solid rgba(255,255,255,.1); }
}

/* ---- clean hover (no magnetic wiggle); buttons just lift ---- */
.pg-btn{ transition:transform .35s var(--pg-ease), box-shadow .35s var(--pg-ease), background .3s ease !important; }

/* ---- animated heading accent: a bar that grows in under section H1/H2 ---- */
.pg-accent{ position:relative; padding-bottom:.36em; }
.pg-accent::after{ content:""; position:absolute; left:0; bottom:0; height:5px; width:0; border-radius:3px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); }
.pg-reveal.pg-in .pg-accent::after,.pg-in.pg-accent::after,.pg-accent.pg-in::after{ width:88px; transition:width .9s var(--pg-ease) .25s; }
.pg-head.pg-in .pg-accent::after{ width:88px; transition:width .9s var(--pg-ease) .25s; }

/* ---- section CTA band (runs the story + a button through every section) ---- */
.pg-sectioncta{ display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; margin-top:clamp(34px,4vw,52px);
  padding-top:clamp(26px,3vw,38px); border-top:1px solid var(--pg-line-dark); }
.pg-bg-navy .pg-sectioncta,.pg-bg-navy2 .pg-sectioncta,.pg-vs .pg-sectioncta,.pg-final .pg-sectioncta,.pg-partner2 .pg-sectioncta{ border-top-color:var(--pg-line); }
.pg-sectioncta__t{ font-family:var(--pg-display); font-weight:700; font-size:clamp(1.15rem,1.8vw,1.6rem);
  letter-spacing:-.02em; flex:1 1 320px; line-height:1.2; }
.pg-bg-navy .pg-sectioncta__t,.pg-bg-navy2 .pg-sectioncta__t,.pg-vs .pg-sectioncta__t,.pg-partner2 .pg-sectioncta__t{ color:#fff; }
.pg-sectioncta__t b{ color:var(--pg-orange); font-weight:700; }

/* ---- a touch bolder headings ---- */
.pg-h1{ font-size:clamp(2.7rem,5.8vw,4.8rem); letter-spacing:-.035em; }
.pg-head .pg-lede{ font-size:clamp(1.2rem,1.6vw,1.5rem); }

/* ---- big section number watermark (storytelling) ---- */
.pg-secnum{ position:absolute; top:clamp(10px,2vw,26px); right:clamp(14px,4vw,54px); z-index:0;
  font-family:var(--pg-display); font-weight:800; font-size:clamp(5rem,12vw,11rem); line-height:1;
  color:currentColor; opacity:.05; pointer-events:none; letter-spacing:-.05em; }

@media (prefers-reduced-motion: reduce){
  .pg-accent::after{ width:88px !important; transition:none !important; }
}

/* =====================================================================
   ███  v6 — ACCENT-BAR FIX · BIG PROOF · LIVE DASH · CTA POLISH  ███
   ===================================================================== */

/* ---- 1 · ACCENT FIX: kill the underline-on-span (it bled over the next line);
        use a standalone bar that sits BELOW the whole heading ---- */
.pg-accent{ padding-bottom:0; }
.pg-accent::after{ display:none !important; }
.pg-accent-bar{ height:6px; width:0; border-radius:3px; margin-top:22px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); }
.pg-in .pg-accent-bar{ width:104px; transition:width 1s var(--pg-ease) .2s; }
@media (prefers-reduced-motion: reduce){ .pg-accent-bar{ width:104px !important; transition:none !important; } }

/* ---- 2 · separate consecutive DARK sections: breathing room + a hairline divider ---- */
:is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2) +
:is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2){
  padding-top:clamp(44px,6vw,84px) !important; border-top:1px solid rgba(255,255,255,.07); }
/* ---- 2b · same for consecutive LIGHT sections: keep the boundary visible ---- */
:is(.pg-bg-paper,.pg-bg-paper2) + :is(.pg-bg-paper,.pg-bg-paper2){
  padding-top:clamp(44px,6vw,84px) !important; border-top:1px solid rgba(10,46,84,.09); }

/* ---- 3 · BIG full-width animated PROOF bars ---- */
.pg-proof{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,56px);
  margin-top:clamp(40px,5vw,64px); }
@media(max-width:760px){ .pg-proof{ grid-template-columns:1fr; gap:30px; } }
.pg-proof__v{ font-family:var(--pg-display); font-weight:800; letter-spacing:-.04em; line-height:.9;
  font-size:clamp(3.4rem,7vw,6rem); color:#fff; display:flex; align-items:baseline; }
.pg-proof__v .pg-proof__dir{ color:var(--pg-orange); font-size:.7em; margin-right:.04em; }
.pg-proof__v .pg-unit{ color:var(--pg-orange); font-size:.6em; }
.pg-proof__cap{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pg-slate-200);
  font-weight:700; font-family:var(--pg-display); margin:2px 0 14px; }
.pg-proof__l{ font-size:1.12rem; color:var(--pg-paper); font-weight:600; margin-bottom:16px; line-height:1.25; }
.pg-proof__track{ height:12px; border-radius:99px; background:rgba(255,255,255,.09); overflow:hidden; }
.pg-proof__fill{ height:100%; width:0; border-radius:99px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); position:relative; }
.pg-in .pg-proof__fill{ width:var(--w,80%); transition:width 1.5s var(--pg-ease) .2s; }
.pg-proof__fill::after{ content:""; position:absolute; inset:0; border-radius:99px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); background-size:60% 100%;
  background-repeat:no-repeat; animation:pg-sheen 2.6s linear infinite; }
@keyframes pg-sheen{ 0%{background-position:-60% 0} 100%{background-position:160% 0} }
.pg-scope .pg-proof__note{ font-size:.72rem; color:var(--pg-slate-200); margin:clamp(46px,6vw,74px) auto 0; max-width:none; text-align:center; white-space:nowrap; }
@media (max-width:680px){ .pg-proof__note{ white-space:normal; max-width:64ch; } }

/* ---- 4 · rescue the PULLQUOTE (was lost): big, centered, framed ---- */
.pg-vs .pg-pullquote{ max-width:none !important; margin:clamp(48px,7vw,84px) auto 0 !important;
  text-align:center; font-size:clamp(1.35rem,2.8vw,2.3rem) !important; line-height:1.2; position:relative;
  white-space:nowrap; }
@media (max-width:720px){ .pg-vs .pg-pullquote{ white-space:normal; max-width:22ch !important; font-size:clamp(1.6rem,6vw,2rem) !important; } }
.pg-pullquote .pg-q{ color:var(--pg-orange); }
/* animated orange underline (draws in on reveal; re-fires on scroll) */
.pg-uline{ position:relative; white-space:nowrap; }
.pg-uline::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; border-radius:2px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); transform:scaleX(0); transform-origin:left;
  transition:transform 1s var(--pg-ease) .25s; }
.pg-in .pg-uline::after,.pg-uline.pg-in::after{ transform:scaleX(1); }
@media (prefers-reduced-motion:reduce){ .pg-uline::after{ transform:scaleX(1); } }
/* small product photo on a floating shelf tag */
.pg-ftag__img{ margin:0 0 7px; border-radius:5px; overflow:hidden; height:50px; background:#fff; }
.pg-ftag__img img{ width:100%; height:100%; object-fit:cover; display:block; }
/* coverage map disclaimer */
.pg-map-note{ display:block; margin-top:10px; font-size:.7rem; color:var(--pg-slate-200); opacity:.6; text-align:right; letter-spacing:.02em; }

/* ---- CONTACT page form (folded in from contact.html so the live form is styled) ---- */
.pg-scope .pg-form{display:grid;gap:18px}
.pg-scope .pg-field{display:flex;flex-direction:column;gap:7px}
.pg-scope .pg-field--row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-scope .pg-field label{font-family:var(--pg-display);font-weight:700;font-size:.82rem;letter-spacing:.01em;color:var(--pg-navy)}
.pg-scope .pg-field label .pg-req{color:var(--pg-orange)}
.pg-scope .pg-form input,.pg-scope .pg-form select,.pg-scope .pg-form textarea{font-family:var(--pg-body);font-size:1rem;color:var(--pg-navy);background:#fff;border:1.5px solid var(--pg-line-dark);border-radius:var(--pg-radius);padding:14px 16px;width:100%;transition:border-color .2s var(--pg-ease),box-shadow .2s var(--pg-ease)}
.pg-scope .pg-form textarea{min-height:120px;resize:vertical}
.pg-scope .pg-form input::placeholder,.pg-scope .pg-form textarea::placeholder{color:var(--pg-slate)}
.pg-scope .pg-form input:focus,.pg-scope .pg-form select:focus,.pg-scope .pg-form textarea:focus{outline:none;border-color:var(--pg-orange);box-shadow:0 0 0 4px rgba(255,138,30,.16)}
.pg-scope .pg-form__note{font-size:.86rem;color:var(--pg-slate);margin-top:2px}
.pg-scope .pg-form button{margin-top:4px}
@media(max-width:540px){.pg-scope .pg-field--row{grid-template-columns:1fr}}
/* honeypot — visually & a11y hidden, still in the DOM for bots */
.pg-scope .pg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* submit status + success state */
.pg-scope .pg-form__status{margin:0;font-size:.9rem;font-weight:600;min-height:1px}
.pg-scope .pg-form__status[data-state="err"]{color:#c0392b}
.pg-scope .pg-form__status[data-state="ok"]{color:var(--pg-green)}
.pg-scope .pg-form__ok{display:flex;flex-direction:column;gap:8px;padding:26px 24px;border-radius:var(--pg-radius);
  border:1.5px solid rgba(84,190,38,.4);background:linear-gradient(150deg,rgba(84,190,38,.10),rgba(84,190,38,.03))}
.pg-scope .pg-form__ok b{font-family:var(--pg-display);font-weight:800;font-size:1.12rem;color:var(--pg-navy)}
.pg-scope .pg-form__ok span{font-size:.94rem;color:var(--pg-slate)}
.pg-scope .pg-form__ok a{color:var(--pg-orange);font-weight:600}

/* ---- INNER-PAGE HERO — distinct from the homepage (calm/editorial, no flying tags or rotator) ---- */
.pg-hero--page{ background:linear-gradient(120deg,#0c3361,#0a2e54 45%,#06203a) !important;
  min-height:920px !important; display:flex; align-items:center;
  padding-block:96px 64px !important; }
.pg-hero--page .pg-hero__inner{ width:100%; }
.pg-hero--page .pg-flytags,.pg-hero--page .pg-hero__media,.pg-hero--page .pg-grid3d,.pg-hero--page .pg-orb{ display:none !important; }
/* homepage hero — remove the floating shelf tags */
.pg-hero--v2 .pg-flytags{ display:none !important; }
.pg-hero--page::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(48% 60% at 86% 4%, rgba(255,138,30,.20), transparent 62%),
    radial-gradient(44% 64% at 4% 96%, rgba(42,111,176,.26), transparent 62%),
    linear-gradient(rgba(122,170,210,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(122,170,210,.08) 1px,transparent 1px);
  background-size:100% 100%,100% 100%,56px 56px,56px 56px;
  -webkit-mask-image:radial-gradient(135% 100% at 50% 0,#000,transparent 82%); mask-image:radial-gradient(135% 100% at 50% 0,#000,transparent 82%);
  animation:pg-subgrid 24s linear infinite; }
@keyframes pg-subgrid{ to{ background-position:0 0,0 0,56px 56px,56px 56px; } }
.pg-hero--page .pg-hero__inner{ position:relative; z-index:2; }
.pg-hero--page .pg-hero__h{ font-size:clamp(2.2rem,4.6vw,3.7rem) !important; max-width:20ch; letter-spacing:-.025em; }
/* utility/legal page titles (h1.pg-h1 in a section header) match the sub-page hero size */
.pg-scope .pg-section .pg-head h1.pg-h1{ font-size:clamp(2.2rem,4.6vw,3.7rem) !important; }
.pg-hero--page .pg-hero__sub{ max-width:70ch; font-size:1.02rem; line-height:1.5; }
.pg-hero--page .pg-eyebrow::before{ content:""; display:inline-block; width:30px; height:2px; background:var(--pg-orange); vertical-align:middle; margin-right:12px; }
@media (prefers-reduced-motion: reduce){ .pg-hero--page::after{ animation:none; } }

/* ---- ODOMETER repricing tag — a distinct animated pricing model for inner pages ---- */
.pg-odo{ position:absolute; top:clamp(112px,16vh,182px); right:clamp(24px,6vw,86px); z-index:4; width:248px;
  background:linear-gradient(180deg,#0e3a66,#0a2c50); border:1px solid rgba(255,255,255,.15); border-radius:18px;
  padding:18px 22px 22px; box-shadow:0 34px 80px -34px rgba(0,0,0,.65); }
@media (max-width:1040px){ .pg-odo{ display:none; } }
.pg-odo__hd{ display:flex; align-items:center; gap:9px; font-family:var(--pg-display); font-weight:700;
  font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--pg-green); }
.pg-odo__dot{ width:8px; height:8px; border-radius:50%; background:var(--pg-green); animation:pg-odo-pulse 1.6s infinite; }
@keyframes pg-odo-pulse{ 0%{ box-shadow:0 0 0 0 rgba(84,190,38,.55);} 70%{ box-shadow:0 0 0 9px rgba(84,190,38,0);} 100%{ box-shadow:0 0 0 0 rgba(84,190,38,0);} }
.pg-odo__lab{ margin-top:15px; font-size:.78rem; color:var(--pg-slate-200); font-weight:500; }
.pg-odo__price{ display:flex; align-items:flex-start; font-family:var(--pg-display); font-weight:800; color:#fff;
  font-size:3.4rem; line-height:1; letter-spacing:-.03em; margin-top:5px; }
.pg-odo__cur{ font-size:1.5rem; margin-top:.18em; margin-right:2px; color:var(--pg-sun); }
.pg-odo__sep{ }
.pg-odo__r{ display:inline-block; height:1em; overflow:hidden; vertical-align:top; }
.pg-odo__col{ display:flex; flex-direction:column; }
.pg-odo__col i{ height:1em; display:flex; align-items:center; font-style:normal; }
.pg-odo__col.reelD{ animation:reelD 9s cubic-bezier(.85,0,.15,1) infinite; }
.pg-odo__col.reelT{ animation:reelT 9s cubic-bezier(.85,0,.15,1) infinite; }
@keyframes reelD{ 0%,28%{transform:translateY(-3em)} 33%,61%{transform:translateY(-2em)} 66%,94%{transform:translateY(-4em)} 100%{transform:translateY(-3em)} }
@keyframes reelT{ 0%,28%{transform:translateY(-4em)} 33%,61%{transform:translateY(-9em)} 66%,94%{transform:translateY(-2em)} 100%{transform:translateY(-4em)} }
.pg-odo__bar{ margin-top:18px; height:6px; border-radius:99px; background:rgba(255,255,255,.1); overflow:hidden; }
.pg-odo__bar i{ display:block; height:100%; width:10%; border-radius:99px; background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun)); animation:pg-odo-sync 3s ease-in-out infinite; }
@keyframes pg-odo-sync{ 0%{width:8%} 78%{width:100%} 100%{width:100%} }
.pg-odo__sync{ margin-top:9px; font-size:.68rem; color:var(--pg-slate-200); letter-spacing:.02em; }
@media (prefers-reduced-motion: reduce){ .pg-odo__col,.pg-odo__dot,.pg-odo__bar i{ animation:none; } .pg-odo__col.reelD{transform:translateY(-3em)} .pg-odo__col.reelT{transform:translateY(-4em)} }

/* ============ HOMEPAGE HERO SLIDER — angled photo + white card + dots ============ */
.pg-hs{ position:relative; min-height:clamp(540px,86vh,840px); overflow:hidden; background:#06203a; isolation:isolate; }
.pg-hs__track{ display:grid; min-height:inherit; }
.pg-hs__slide{ position:relative; grid-area:1/1; opacity:0; visibility:hidden; transition:opacity 1s var(--pg-ease); }
.pg-hs__slide.is-on{ opacity:1; visibility:visible; }
.pg-hs__photo{ position:absolute; inset:0; background-size:cover; background-position:center 28%; }
.pg-hs__slide.is-on .pg-hs__photo{ animation:pg-hs-zoom 9s ease-out both; transform-origin:center top; }
@keyframes pg-hs-zoom{ from{ transform:scale(1.02); } to{ transform:scale(1.06); } }
.pg-hs__scrim{ position:absolute; inset:0; background:linear-gradient(165deg,rgba(7,32,58,.93),rgba(7,32,58,.8));
  clip-path:polygon(0 0,46% 0,30% 100%,0 100%); }
.pg-hs .pg-wrap{ position:relative; z-index:2; height:100%; display:flex; align-items:center; min-height:inherit; }
.pg-hs__slide .pg-wrap{ padding-top:clamp(40px,6vh,60px); padding-bottom:clamp(56px,9vh,88px); }
.pg-hs__card{ max-width:470px; background:#fff; padding:clamp(26px,3vw,44px); border-radius:7px;
  box-shadow:0 50px 110px -45px rgba(0,0,0,.7); opacity:0; transform:translateY(18px); }
.pg-hs__slide.is-on .pg-hs__card{ animation:pg-hs-card .85s var(--pg-ease) .15s both; }
@keyframes pg-hs-card{ to{ opacity:1; transform:none; } }
.pg-hs__ey{ font-family:var(--pg-display); font-weight:700; font-size:.74rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--pg-orange); margin-bottom:14px; }
.pg-hs__h{ font-family:var(--pg-display); font-weight:800; font-size:clamp(2.1rem,3.9vw,3.4rem) !important;
  line-height:1.04; letter-spacing:-.02em; color:var(--pg-navy); margin:0; }
.pg-hs__sub{ margin:16px 0 0; font-size:clamp(1rem,1.15vw,1.16rem); line-height:1.55; color:var(--pg-slate); max-width:42ch; }
.pg-hs__card .pg-btn{ margin-top:24px; }
/* slide 1 carries the full positioning paragraph — wider card, slightly tighter type */
.pg-hs__slide:first-child .pg-hs__card{ max-width:560px; }
.pg-hs__slide:first-child .pg-hs__sub{ font-size:clamp(.95rem,1.05vw,1.06rem); line-height:1.52; max-width:56ch; }
.pg-hs__dotswrap{ position:absolute; left:0; right:0; bottom:clamp(22px,5vh,48px); z-index:3; }
.pg-hs__dotswrap .pg-wrap{ justify-content:flex-end; }  /* push dots to the right, off the white card */
.pg-hs__dots{ display:flex; gap:13px; }
.pg-hs__dots button{ width:13px; height:13px; border-radius:50%; border:0; padding:0; cursor:pointer;
  background:rgba(255,255,255,.6); transition:background .3s,transform .3s,box-shadow .3s;
  box-shadow:0 0 0 1.5px rgba(6,32,58,.4), 0 2px 7px rgba(0,0,0,.35); }
.pg-hs__dots button:hover{ background:rgba(255,255,255,.85); }
.pg-hs__dots button.is-on{ background:var(--pg-orange); transform:scale(1.16);
  box-shadow:0 0 0 1.5px rgba(255,255,255,.65), 0 2px 10px rgba(255,138,30,.55); }
@media (max-width:820px){
  .pg-hs__scrim{ clip-path:none; background:linear-gradient(180deg,rgba(6,32,58,.4),rgba(6,32,58,.72)); }
  .pg-hs__card{ max-width:none; }
  .pg-hs__sub{ max-width:none; }
  .pg-hs__h{ font-size:clamp(1.7rem,7.5vw,2.4rem) !important; }
}
@media (prefers-reduced-motion:reduce){
  .pg-hs__slide.is-on .pg-hs__photo,.pg-hs__slide.is-on .pg-hs__card{ animation:none; }
  .pg-hs__card{ opacity:1; transform:none; }
}
/* stat band under the slider (keeps the 2M+ / 30+ / 50K / 24-7 panel) */
.pg-statband{ background:var(--pg-navy); padding:clamp(26px,4vw,46px) 0; position:relative; }
.pg-statband .pg-hero__meta{ margin:0 auto !important; }
.pg-statband .pg-stat__n{ color:#fff; }
.pg-statband .pg-stat__n .pg-unit{ color:var(--pg-orange); }
/* value bar — Easy · Fast · Efficient · Affordable */
.pg-vbar{ background:var(--pg-paper); padding:clamp(26px,4vw,46px) 0; }
.pg-vbar__row{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,2vw,30px); }
@media (max-width:680px){ .pg-vbar__row{ grid-template-columns:repeat(2,1fr); gap:26px 18px; } }
.pg-vbar__i{ display:flex; align-items:center; justify-content:center; gap:14px; padding:4px 6px;
  border-right:1px solid var(--pg-line-dark); transition:transform .4s var(--pg-ease); }
.pg-vbar__i:last-child{ border-right:0; }
@media (max-width:680px){ .pg-vbar__i:nth-child(2){ border-right:0; } }
.pg-vbar__i:hover{ transform:translateY(-3px); }
.pg-vbar__i svg{ width:50px; height:50px; color:var(--pg-orange); flex:0 0 auto; }
.pg-vbar__i span{ font-family:var(--pg-display); font-weight:800; font-size:clamp(1.45rem,2.7vw,2.3rem); letter-spacing:-.02em; color:var(--pg-navy); }
.pg-vbar__tag{ text-align:center; margin:clamp(24px,3.2vw,38px) 0 0; font-family:var(--pg-display); font-weight:800;
  font-size:clamp(1.4rem,2.6vw,2.15rem); letter-spacing:-.02em; color:var(--pg-navy); }
.pg-vbar__tag span{ color:var(--pg-orange); }

/* ---- 5 · SECTION CTA — make it a real, unmissable band (not lost) ---- */
.pg-sectioncta{ border-top:0; margin-top:clamp(40px,5vw,64px); padding:clamp(26px,3vw,40px) clamp(24px,3vw,42px);
  border-radius:var(--pg-radius-lg); background:#fff; border:1px solid var(--pg-line-dark);
  box-shadow:var(--pg-shadow-sm); position:relative; overflow:hidden; }
.pg-bg-navy .pg-sectioncta,.pg-bg-navy2 .pg-sectioncta,.pg-vs .pg-sectioncta,.pg-partner2 .pg-sectioncta{
  background:linear-gradient(120deg,rgba(255,138,30,.12),rgba(42,111,176,.10)); border-color:rgba(255,255,255,.16); box-shadow:none; }
.pg-sectioncta::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
  background:linear-gradient(180deg,var(--pg-orange),var(--pg-sun)); }
.pg-sectioncta__t{ font-size:clamp(1.3rem,2.1vw,1.85rem); }

/* ---- 6 · BIGGER, more-animated LIVE DASHBOARD ---- */
.pg-panel__grid{ grid-template-columns:1fr 1.12fr; }
.pg-dash__bar{ padding:15px 18px; }
.pg-dash__bar span{ font-size:.86rem; }
.pg-dash__metrics{ padding:16px 18px; gap:26px; }
.pg-dmetric b{ font-size:1.7rem; }
.pg-dmetric span{ font-size:.72rem; }
.pg-dash__body{ padding:14px; gap:11px; }
.pg-drow{ padding:15px 16px; gap:16px; }
.pg-row__sku{ font-size:1rem; }
.pg-row__sku small{ font-size:.76rem; }
.pg-row__price{ font-size:1.25rem; }
.pg-pill{ font-size:.74rem; padding:6px 12px; }
/* live throughput bar at the bottom of the dash */
.pg-dash__through{ padding:12px 18px 16px; border-top:1px solid var(--pg-line); }
.pg-dash__through .lab{ display:flex; justify-content:space-between; font-family:var(--pg-display);
  font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--pg-slate-200); margin-bottom:8px; }
.pg-dash__through .lab b{ color:var(--pg-green); }
.pg-through__track{ height:7px; border-radius:99px; background:rgba(255,255,255,.09); overflow:hidden; }
.pg-through__fill{ height:100%; width:40%; border-radius:99px;
  background:linear-gradient(90deg,var(--pg-blue-2),var(--pg-green)); animation:pg-through 3.2s ease-in-out infinite; }
@keyframes pg-through{ 0%{width:18%} 50%{width:86%} 100%{width:18%} }
@media (prefers-reduced-motion: reduce){ .pg-through__fill{ animation:none; width:64%; } .pg-proof__fill::after{ animation:none; } }

/* =====================================================================
   ███  v7 — ANIMATED NA MAP · REALISTIC TAGS · GAP/DEDUP FIXES  ███
   ===================================================================== */

/* ---- partner: caption under the big 1991, kill old badge spacing ---- */
.pg-bignum__cap{ font-family:var(--pg-display); font-weight:600; font-size:.86rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--pg-slate-200); margin-top:10px; }

/* ---- coverage map sizing (new wide NA map) ---- */
.pg-cover__map{ aspect-ratio:auto !important; position:relative; }
.pg-cover__map::before{ content:""; position:absolute; inset:-8%; z-index:0; pointer-events:none;
  background:radial-gradient(closest-side,rgba(42,111,176,.34),transparent 72%);
  filter:blur(34px); animation:pg-mapglow 7s ease-in-out infinite; }
.pg-namap{ position:relative; z-index:1; width:100%; height:auto; display:block; border-radius:22px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.6); border:1px solid var(--pg-line);
  transform-origin:center; animation:pg-mapbreath 9s ease-in-out infinite; }
@keyframes pg-mapbreath{ 0%,100%{ transform:scale(1); box-shadow:0 40px 90px -40px rgba(0,0,0,.6); }
  50%{ transform:scale(1.014); box-shadow:0 50px 120px -38px rgba(42,111,176,.55); } }
@keyframes pg-mapglow{ 0%,100%{ opacity:.5; transform:scale(1); } 50%{ opacity:.95; transform:scale(1.06); } }
@media (prefers-reduced-motion: reduce){
  .pg-namap{ animation:none; } .pg-cover__map::before{ animation:none; opacity:.6; } }

/* ---- collapse dead space between consecutive DARK sections (both sides) ---- */
:is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2):has(+ :is(.pg-bg-navy,.pg-bg-navy2,.pg-vs,.pg-final,.pg-partner2)){
  padding-bottom:clamp(40px,5vw,64px) !important; }

/* ---- REALISTIC, DATA-COMPLETE SAMPLE TAGS (bigger, 3-up) ---- */
.pg-show{ grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:900px){ .pg-show{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .pg-show{ grid-template-columns:1fr; } }
.pg-show__item{ padding:26px 20px; gap:18px; }
.pg-show__lab{ font-size:1rem; } .pg-show__lab small{ font-size:.82rem; }

.pg-sample{ max-width:300px; width:100%; border-radius:9px; }
.pg-sample__hd{ font-size:.66rem; padding:6px 11px; }
.pg-sample__bd{ padding:12px 13px 13px; }
.pg-sample__brand{ font-family:var(--pg-display); font-weight:700; font-size:.66rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pg-slate); }
.pg-sample--sale .pg-sample__brand{ color:#9a4a16; } .pg-sample--esl .pg-sample__brand{ color:#7da6c8; }
.pg-sample__n{ font-size:1rem !important; font-weight:700; margin-top:3px; line-height:1.12; }
.pg-sample__size{ font-size:.72rem; color:var(--pg-slate); font-weight:500; margin-top:3px; }
.pg-sample--esl .pg-sample__size{ color:#9fb6cc; }
.pg-sample__promo{ display:inline-block; font-family:var(--pg-display); font-weight:800; font-size:.66rem;
  letter-spacing:.03em; text-transform:uppercase; color:#fff; background:#e11900; padding:3px 8px;
  border-radius:4px; margin-top:9px; }
.pg-sample--orange .pg-sample__promo{ background:var(--pg-orange-600); }
.pg-sample__prow{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:9px; }
.pg-sample__price{ font-family:var(--pg-display); font-weight:800; letter-spacing:-.03em; line-height:.9;
  color:var(--pg-navy); }
.pg-sample__price .d{ font-size:2.5rem; } .pg-sample__price .c{ font-size:1.3rem; }
.pg-sample__price .s{ font-size:1.1rem; vertical-align:.5em; margin-right:1px; }
.pg-sample--orange .pg-sample__price{ color:var(--pg-orange-600); }
.pg-sample--sale .pg-sample__price{ color:#b81400; }
.pg-sample--esl .pg-sample__price{ color:#fff; }
.pg-sample__unit{ text-align:right; font-family:var(--pg-display); line-height:1.1; }
.pg-sample__unit b{ display:block; font-size:.95rem; font-weight:800; color:var(--pg-navy); }
.pg-sample--esl .pg-sample__unit b{ color:#fff; }
.pg-sample__unit span{ font-size:.6rem; letter-spacing:.04em; text-transform:uppercase; color:var(--pg-slate); }
.pg-sample--esl .pg-sample__unit span{ color:#9fb6cc; }
.pg-sample__bar{ height:22px; margin-top:11px; }
.pg-sample__foot{ display:flex; justify-content:space-between; gap:8px; margin-top:6px;
  font-family:var(--pg-body); font-size:.56rem; letter-spacing:.06em; color:#8094a6; }
.pg-sample--esl .pg-sample__foot{ color:#6f8aa3; }
.pg-sample--sale .pg-sample__foot{ color:#9a6a3a; }

/* =====================================================================
   MOTION PASS (2026-06) — site-wide kinetic layer. GPU-cheap
   (transform/opacity only); fully gated by prefers-reduced-motion.
   ===================================================================== */
/* (1) Headline word reveal — words rise + fade with stagger. master.js splits
   text nodes into .pg-w spans; accent children (.pg-shimmer/.pg-strike/<br>)
   are left intact so their own effects survive. */
.pg-wq .pg-w{ display:inline-block; opacity:0; transform:translateY(.9em) rotate(4deg);
  transition:opacity .55s var(--pg-ease-out), transform .55s var(--pg-ease-out); will-change:transform,opacity; }
.pg-wq.pg-wq-in .pg-w{ opacity:1; transform:none; }
.pg-wq.pg-reveal{ opacity:1 !important; transform:none !important; }  /* words own the entrance */

/* (2) Accent-word shimmer — bolder: brighter sheen band + faster sweep.
   Use background-IMAGE (not the background shorthand) so background-clip:text is
   preserved — the shorthand resets clip to border-box and fills the whole box. */
.pg-shimmer{ background-image:linear-gradient(100deg,var(--pg-orange) 16%,#fff 33%,var(--pg-sun) 47%,var(--pg-orange) 64%) !important;
  background-size:240% auto !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  animation:pg-shimmer 2.4s linear infinite !important; }

/* (3) Ambient drift — intensify the existing orb layers site-wide (new section
   orbs would collide with .pg-fx-grid's ::before/::after). */
.pg-orb{ opacity:.78; filter:blur(54px); }
.pg-orb--1{ animation-duration:11s; }
.pg-orb--2{ animation-duration:14s; }

/* (4) Card & link micro-motion. */
.pg-card{ transition:transform .42s var(--pg-ease), border-color .42s var(--pg-ease), box-shadow .42s var(--pg-ease); }
.pg-card:hover{ transform:translateY(-9px) scale(1.015); box-shadow:0 32px 64px -26px rgba(0,0,0,.55); }
.pg-feat,.pg-tile{ transition:transform .42s var(--pg-ease), box-shadow .42s var(--pg-ease); }
.pg-feat:hover,.pg-tile:hover{ transform:translateY(-6px); }
.pg-footer__col a,.pg-footer__legal a,.pg-legal a{
  background-image:linear-gradient(currentColor,currentColor); background-size:0 1.5px;
  background-position:0 100%; background-repeat:no-repeat; padding-bottom:2px;
  transition:background-size .35s var(--pg-ease), color .2s var(--pg-ease); }
.pg-footer__col a:hover,.pg-footer__legal a:hover,.pg-legal a:hover{ background-size:100% 1.5px; }

@media (prefers-reduced-motion: reduce){
  .pg-wq .pg-w{ opacity:1 !important; transform:none !important; }
}

/* =====================================================================
   REVIEW FIXES (2026-06) — contrast, sizing, footer bar.
   ===================================================================== */
/* Headings obey `.pg-scope h*{color:inherit !important}`, so a component's text
   color must be set on its CONTAINER. Dark cards/panels were inheriting dark
   section text → navy-on-navy headers. Set container colors explicitly. */
.pg-card{ color:#fff; }                          /* dark navy cards → light text */
.pg-bg-paper .pg-card{ color:var(--pg-navy); }   /* white cards (paper) → navy text */
.pg-panel{ color:var(--pg-paper); }              /* dark rollout panel → light step h4/text */

/* Footer "Let's talk" eyebrow was 0.8rem — bump for presence. */
.pg-footer__eyebrow{ font-size:1.02rem; }

/* Stat symbol units (+, %, K, M) match the number size instead of ~0.64em. */
.pg-stat__n .pg-unit{ font-size:1em !important; }

/* Coverage #rollout — make the section noticeably wider. */
#rollout .pg-wrap{ max-width:min(1500px, 94vw); }

/* Animated footer accent bar — colors roll across the screen. Prominent: taller
   bar, richer multi-stop gradient, faster sweep. */
.pg-footer::before{ height:8px !important; background:linear-gradient(90deg,
  var(--pg-orange),var(--pg-sun),var(--pg-green),var(--pg-blue,#2a6fb0),var(--pg-sun),var(--pg-orange)) !important;
  background-size:300% 100% !important; animation:pg-footer-roll 3.2s linear infinite; }
@keyframes pg-footer-roll{ to{ background-position:300% 0; } }
@media (prefers-reduced-motion: reduce){ .pg-footer::before{ animation:none !important; } }

/* Contrast (full-site scan): .pg-feat body text is slate-200 (for dark panels);
   on LIGHT sections (industries "at a glance", why-pangea "two homes") it was
   too faint. Use dark slate there. */
.pg-bg-paper .pg-feat p, .pg-bg-paper2 .pg-feat p{ color:var(--pg-slate); }

/* The white .pg-sectioncta box (e.g. inside the dark rollout panel) was inheriting
   the panel's light text → light-on-white. Pin its base text navy; dark-section
   variants keep their #fff override. */
.pg-sectioncta__t{ color:var(--pg-navy); }

/* Contact (page-id-66): replace the eyebrow's pulsing left dash with an animated
   underline that sweeps below the label. Non-pulse eyebrows only (the CTA pulse
   eyebrows keep their treatment). */
.page-id-66 .pg-eyebrow:not(.pg-eyebrow--pulse){ position:relative; padding-bottom:10px; }
.page-id-66 .pg-eyebrow:not(.pg-eyebrow--pulse)::before{ display:none !important; }
.page-id-66 .pg-eyebrow:not(.pg-eyebrow--pulse)::after{
  content:""; position:absolute; left:0; bottom:0; height:3px; width:100%; border-radius:3px;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun),var(--pg-orange),var(--pg-sun));
  background-size:200% 100%; animation:pg-eb-line 2.6s linear infinite; }
@keyframes pg-eb-line{ to{ background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce){ .page-id-66 .pg-eyebrow:not(.pg-eyebrow--pulse)::after{ animation:none; } }

/* Media pillar (#media): the 3 sub-items make the text column tall, leaving the
   16:10 image stranded at top. Let the image fill the column height instead. */
@media (min-width:901px){
  #media .pg-split{ align-items:stretch; }
  #media .pg-figframe{ height:100%; }
  #media .pg-figframe > .pg-ph{ height:100% !important; aspect-ratio:auto !important; }
}

/* ============================================================
   Rewrite v3 — Philosophy manifesto (.pg-mani) + Why-Pangea litany (.pg-why2)
   ============================================================ */
.pg-scope .pg-mani{
  list-style:none; margin:clamp(38px,5vw,60px) 0 0; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.pg-scope .pg-mani li{
  position:relative; padding:26px 22px 24px;
  background:var(--pg-white);
  border:1px solid var(--pg-line-dark);
  border-radius:var(--pg-radius);
  box-shadow:var(--pg-shadow-sm);
  display:flex; flex-direction:column; gap:8px;
  overflow:hidden;
}
.pg-scope .pg-mani li::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--pg-orange),var(--pg-orange-600));
}
.pg-scope .pg-mani__if{
  font-family:var(--pg-body); font-weight:600; font-size:.98rem;
  color:var(--pg-slate); letter-spacing:.01em;
}
.pg-scope .pg-mani__do{
  font-family:var(--pg-display); font-weight:800;
  font-size:clamp(1.28rem,2vw,1.7rem); line-height:1.05;
  color:var(--pg-navy);
}
.pg-scope .pg-mani__foot{
  margin-top:clamp(30px,4vw,44px);
  font-family:var(--pg-display); font-weight:600;
  font-size:clamp(1.15rem,1.9vw,1.5rem); line-height:1.35;
  color:var(--pg-slate); max-width:46ch;
}
.pg-scope .pg-mani__foot strong{ color:var(--pg-navy); }

.pg-scope .pg-why2{
  margin-top:clamp(38px,5vw,58px);
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.pg-scope .pg-why2__card{
  padding:30px 24px; border-radius:var(--pg-radius);
  background:linear-gradient(160deg,var(--pg-navy),var(--pg-navy-700));
  color:var(--pg-slate-200); box-shadow:var(--pg-shadow-sm);
  border:1px solid rgba(255,255,255,.06);
}
.pg-scope .pg-why2__k{
  display:block; font-family:var(--pg-display); font-weight:800;
  font-size:clamp(1.6rem,2.4vw,2.15rem); line-height:1; color:#fff;
  background:linear-gradient(90deg,var(--pg-orange),var(--pg-sun));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  margin-bottom:8px;
}
.pg-scope .pg-why2__card p{ margin:0; font-size:1rem; line-height:1.45; }

/* Why-Pangea litany — the 5 promises, called out big with a brand-color
   highlight that travels down the list (readable navy at rest). */
.pg-scope .pg-litany{
  list-style:none; margin:clamp(26px,3.4vw,44px) 0 0; padding:0;
  display:flex; flex-direction:column; gap:clamp(4px,1vw,12px);
}
.pg-scope .pg-litany li{
  position:relative; padding-left:clamp(20px,2vw,30px);
  font-family:var(--pg-display); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(1.55rem,4vw,3rem); line-height:1.08;
  color:var(--pg-navy); will-change:color,transform;
  animation:pg-lit 11s cubic-bezier(.4,0,.2,1) infinite both;
}
.pg-scope .pg-litany li::before{
  content:""; position:absolute; left:0; top:.22em; bottom:.22em; width:5px;
  border-radius:3px; background:var(--c);
  transform:scaleY(.55); transform-origin:center; transition:transform .5s;
}
.pg-scope .pg-litany li:nth-child(1){ --c:var(--pg-orange);     animation-delay:0s;   }
.pg-scope .pg-litany li:nth-child(2){ --c:var(--pg-blue,#2a6fb0); animation-delay:2.2s; }
.pg-scope .pg-litany li:nth-child(3){ --c:var(--pg-green);      animation-delay:4.4s; }
.pg-scope .pg-litany li:nth-child(4){ --c:var(--pg-sun);        animation-delay:6.6s; }
.pg-scope .pg-litany li:nth-child(5){ --c:var(--pg-orange-600); animation-delay:8.8s; }
@keyframes pg-lit{
  0%,100% { color:var(--pg-navy); transform:none; }
  6%,17%  { color:var(--c);       transform:translateX(10px); }
  28%     { color:var(--pg-navy); transform:none; }
}
/* pop the accent bar in sync with each line's active window */
.pg-scope .pg-litany li:nth-child(1)::before{ animation:pg-lit-bar 11s ease-in-out infinite both; animation-delay:0s; }
.pg-scope .pg-litany li:nth-child(2)::before{ animation:pg-lit-bar 11s ease-in-out infinite both; animation-delay:2.2s; }
.pg-scope .pg-litany li:nth-child(3)::before{ animation:pg-lit-bar 11s ease-in-out infinite both; animation-delay:4.4s; }
.pg-scope .pg-litany li:nth-child(4)::before{ animation:pg-lit-bar 11s ease-in-out infinite both; animation-delay:6.6s; }
.pg-scope .pg-litany li:nth-child(5)::before{ animation:pg-lit-bar 11s ease-in-out infinite both; animation-delay:8.8s; }
@keyframes pg-lit-bar{
  0%,100% { transform:scaleY(.55); }
  6%,17%  { transform:scaleY(1); }
  28%     { transform:scaleY(.55); }
}
@media (prefers-reduced-motion:reduce){
  .pg-scope .pg-litany li{ animation:none; color:var(--c); }
  .pg-scope .pg-litany li::before{ animation:none; transform:scaleY(1); }
}

@media (max-width:900px){
  .pg-scope .pg-mani{ grid-template-columns:repeat(2,1fr); }
  .pg-scope .pg-why2{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .pg-scope .pg-mani{ grid-template-columns:1fr; }
  .pg-scope .pg-why2{ grid-template-columns:1fr; }
}

/* ============================================================
   INSIGHTS HUB  (/insights/)  — added 2026-08-12
   Editorial article cards + abstract shelf-tag art.
   ============================================================ */
.pg-chip{display:inline-block;font-family:var(--pg-display);font-weight:700;font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--pg-orange-600);
  background:rgba(255,138,30,.12);border:1px solid rgba(255,138,30,.28);
  padding:5px 11px;border-radius:999px;line-height:1;}
.pg-dot{color:var(--pg-slate-200);margin:0 8px;}

/* — featured lead — */
.pg-ins-lead{display:grid;grid-template-columns:minmax(0,44%) 1fr;gap:0;align-items:stretch;
  background:var(--pg-white);border:1px solid var(--pg-line-dark);border-radius:var(--pg-radius-lg);
  overflow:hidden;box-shadow:var(--pg-shadow-sm);text-decoration:none;color:inherit;
  transition:transform .5s var(--pg-ease),box-shadow .5s var(--pg-ease);margin-top:26px;}
.pg-ins-lead:hover{transform:translateY(-6px);box-shadow:var(--pg-shadow);}
.pg-ins-lead__art{position:relative;min-height:280px;overflow:hidden;
  background:linear-gradient(150deg,#0d3863 0%,#0a2e54 60%,#082749 100%);}
.pg-ins-lead__body{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:14px;}
.pg-ins-lead__title{font-family:var(--pg-display);font-weight:800;color:var(--pg-navy);
  font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.12;letter-spacing:-.01em;margin:0;}
.pg-ins-lead:hover .pg-ins-lead__title{color:var(--pg-navy-500);}
.pg-ins-lead__dek{color:var(--pg-slate);font-size:1.05rem;line-height:1.6;margin:0;}
.pg-ins-lead__meta{font-size:.92rem;color:var(--pg-slate);display:flex;align-items:center;flex-wrap:wrap;}
.pg-ins-author{font-weight:600;color:var(--pg-navy);}
.pg-ins-more{color:var(--pg-orange-600);font-weight:600;}

/* — abstract shelf-tag art (CSS-drawn, no photos) — */
.pg-tagart{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;
  justify-content:center;padding:34px;}
.pg-tagart__tag{background:#fff;border-radius:10px;padding:12px 14px;width:min(78%,240px);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:3px;
  transform:rotate(-3deg);border-left:5px solid var(--pg-green);}
.pg-tagart__tag--orange{align-self:flex-end;transform:rotate(3deg);border-left-color:var(--pg-orange);}
.pg-tagart__k{font-family:var(--pg-display);font-weight:700;font-size:9px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--pg-green);}
.pg-tagart__tag--orange .pg-tagart__k{color:var(--pg-orange-600);}
.pg-tagart__p{font-family:var(--pg-display);font-weight:800;color:var(--pg-navy);font-size:1.9rem;line-height:1;}
.pg-tagart__p sup{font-size:.9rem;top:-.7em;margin-right:1px;}
.pg-tagart__p b{font-size:.95rem;vertical-align:super;font-weight:800;}
.pg-tagart__n{font-size:.72rem;color:var(--pg-slate);font-weight:500;}
.pg-tagart__bar{height:14px;margin-top:4px;border-radius:2px;
  background:repeating-linear-gradient(90deg,#0a2e54 0 2px,#fff 2px 4px,#0a2e54 4px 5px,#fff 5px 8px);}

/* — library grid — */
.pg-artgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:clamp(20px,2.4vw,30px);margin-top:30px;}
.pg-artcard{display:flex;flex-direction:column;background:var(--pg-white);
  border:1px solid var(--pg-line-dark);border-radius:var(--pg-radius);overflow:hidden;
  box-shadow:var(--pg-shadow-sm);text-decoration:none;color:inherit;
  transition:transform .45s var(--pg-ease),box-shadow .45s var(--pg-ease);}
.pg-artcard:hover{transform:translateY(-7px);box-shadow:var(--pg-shadow);}
.pg-artcard__art{position:relative;height:132px;overflow:hidden;display:flex;
  align-items:center;justify-content:center;}
.pg-artcard__art--esl{background:linear-gradient(135deg,#143f6e,#0a2e54);}
.pg-artcard__art--reset{background:linear-gradient(135deg,#1c5187,#0d3863);}
.pg-artcard__art--media{background:linear-gradient(135deg,#0a2e54,#093059);}
.pg-artcard__glow{position:absolute;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,138,30,.42),transparent 70%);
  top:-40px;right:-40px;filter:blur(6px);}
.pg-artcard__motif{position:relative;font-family:var(--pg-display);font-weight:800;
  font-size:1.35rem;letter-spacing:.01em;color:rgba(255,255,255,.94);
  text-shadow:0 2px 18px rgba(0,0,0,.35);}
.pg-artcard__body{padding:22px 22px 24px;display:flex;flex-direction:column;
  align-items:flex-start;gap:11px;flex:1;}
.pg-artcard__title{font-family:var(--pg-display);font-weight:700;color:var(--pg-navy);
  font-size:1.16rem;line-height:1.22;letter-spacing:-.01em;margin:0;}
.pg-artcard:hover .pg-artcard__title{color:var(--pg-navy-500);}
.pg-artcard__dek{color:var(--pg-slate);font-size:.95rem;line-height:1.55;margin:0;flex:1;}
.pg-artcard__meta{font-size:.85rem;color:var(--pg-slate);font-weight:500;
  display:flex;align-items:center;margin-top:2px;}

/* — topics — */
.pg-topics{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.pg-topic{font-family:var(--pg-display);font-weight:600;font-size:.92rem;color:var(--pg-paper);
  background:rgba(255,255,255,.05);border:1px solid var(--pg-line);border-radius:999px;
  padding:10px 18px;transition:background .3s var(--pg-ease),border-color .3s var(--pg-ease),color .3s;}
.pg-topic:hover{background:rgba(255,138,30,.16);border-color:rgba(255,138,30,.5);color:#fff;}

/* — final CTA inner — */
.pg-final__inner{max-width:760px;}

@media (max-width:760px){
  .pg-ins-lead{grid-template-columns:1fr;}
  .pg-ins-lead__art{min-height:200px;}
}

/* ============================================================
   INSIGHTS ARTICLES (/insights/<slug>/) — added 2026-08-12
   Reading column, TOC, prose, key-takeaways, FAQ, author box.
   ============================================================ */
/* center the Insights hub final CTA (scoped: .pg-final__inner only exists there) */
.pg-final__inner{margin-inline:auto;text-align:center;}
.pg-final__inner .pg-cta-row{justify-content:center;}
.pg-final__inner .pg-eyebrow::before,.pg-final__inner .pg-eyebrow::after{display:none;}

/* article hero */
.pg-arthero{padding-block:clamp(120px,15vw,190px) clamp(40px,6vw,70px);}
.pg-arthero .pg-wrap{max-width:860px;}
.pg-arthero__cat{margin-bottom:14px;}
.pg-arthero__h{font-family:var(--pg-display);font-weight:800;color:#fff;
  font-size:clamp(2rem,4.6vw,3.4rem)!important;line-height:1.08;letter-spacing:-.015em;margin:0 0 18px;}
.pg-arthero__dek{color:var(--pg-slate-200);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55;max-width:720px;margin:0 0 22px;}
.pg-artmeta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--pg-slate-200);font-size:.95rem;}
.pg-artmeta__by{color:#fff;font-weight:600;}

/* reading column */
.pg-article{max-width:760px;margin-inline:auto;}
.pg-article .pg-wrap{max-width:760px;}

/* table of contents */
.pg-toc{background:var(--pg-white);border:1px solid var(--pg-line-dark);border-left:4px solid var(--pg-orange);
  border-radius:var(--pg-radius);padding:22px 26px;margin:0 0 40px;box-shadow:var(--pg-shadow-sm);}
.pg-toc__t{font-family:var(--pg-display);font-weight:700;font-size:.8rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--pg-slate);margin:0 0 12px;}
.pg-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;}
.pg-toc li{counter-increment:toc;margin:0 0 8px;padding-left:30px;position:relative;line-height:1.4;}
.pg-toc li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:1px;
  font-family:var(--pg-display);font-weight:700;font-size:.78rem;color:var(--pg-orange-600);}
.pg-toc a{color:var(--pg-navy);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s;}
.pg-toc a:hover{border-bottom-color:var(--pg-orange);}

/* prose */
.pg-prose{color:#26384a;font-size:1.09rem;line-height:1.72;}
.pg-prose h2{font-family:var(--pg-display);font-weight:800;color:var(--pg-navy);
  font-size:clamp(1.5rem,2.6vw,2rem)!important;line-height:1.18;letter-spacing:-.01em;
  margin:52px 0 16px;scroll-margin-top:100px;}
.pg-prose h3{font-family:var(--pg-display);font-weight:700;color:var(--pg-navy);
  font-size:1.25rem!important;line-height:1.28;margin:34px 0 12px;scroll-margin-top:100px;}
.pg-prose p{margin:0 0 20px;}
.pg-prose a{color:var(--pg-navy-500);font-weight:600;text-decoration:underline;text-decoration-color:rgba(28,81,135,.35);text-underline-offset:3px;}
.pg-prose a:hover{text-decoration-color:var(--pg-orange);}
.pg-prose ul,.pg-prose ol{margin:0 0 22px;padding-left:24px;}
.pg-prose li{margin:0 0 10px;}
.pg-prose ul li::marker{color:var(--pg-orange);}
.pg-prose strong{color:var(--pg-navy);font-weight:700;}
.pg-prose blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:4px solid var(--pg-orange);
  font-family:var(--pg-edit);font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--pg-navy);}

/* comparison table */
.pg-tablewrap{overflow-x:auto;margin:26px 0;border:1px solid var(--pg-line-dark);border-radius:var(--pg-radius);}
.pg-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:520px;}
.pg-table th,.pg-table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--pg-line-dark);vertical-align:top;}
.pg-table thead th{background:var(--pg-navy);color:#fff;font-family:var(--pg-display);font-weight:700;font-size:.9rem;}
.pg-table tbody tr:nth-child(even){background:var(--pg-paper);}
.pg-table td:first-child{font-weight:600;color:var(--pg-navy);}

/* key takeaways callout */
.pg-key{background:linear-gradient(180deg,#0d3863,#0a2e54);color:var(--pg-paper);
  border-radius:var(--pg-radius-lg);padding:26px 30px;margin:34px 0;}
.pg-key__t{font-family:var(--pg-display);font-weight:800;color:#fff;font-size:1.1rem;letter-spacing:.02em;margin:0 0 12px;
  display:flex;align-items:center;gap:9px;}
.pg-key__t::before{content:"";width:20px;height:3px;background:var(--pg-orange);border-radius:2px;}
.pg-key ul{margin:0;padding-left:20px;}
.pg-key li{margin:0 0 9px;color:var(--pg-slate-200);}
.pg-key li::marker{color:var(--pg-orange);}
.pg-key strong{color:#fff;}

/* FAQ */
.pg-faq{margin:44px 0 0;}
.pg-faq__item{border-top:1px solid var(--pg-line-dark);padding:22px 0;}
.pg-faq__q{font-family:var(--pg-display);font-weight:700;color:var(--pg-navy);font-size:1.15rem!important;margin:0 0 10px;line-height:1.3;}
.pg-faq__a{margin:0;color:#26384a;line-height:1.68;}

/* author box */
.pg-author{display:flex;gap:20px;align-items:flex-start;margin:48px 0 0;padding:26px 28px;
  background:var(--pg-paper);border:1px solid var(--pg-line-dark);border-radius:var(--pg-radius-lg);}
.pg-author__av{flex:none;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--pg-display);font-weight:800;font-size:1.3rem;color:#fff;
  background:linear-gradient(135deg,#1c5187,#0a2e54);box-shadow:var(--pg-shadow-sm);}
.pg-author__name{font-family:var(--pg-display);font-weight:800;color:var(--pg-navy);font-size:1.1rem;margin:0;}
.pg-author__role{color:var(--pg-orange-600);font-weight:600;font-size:.9rem;margin:2px 0 10px;}
.pg-author__bio{color:var(--pg-slate);font-size:.96rem;line-height:1.6;margin:0 0 8px;}
.pg-author__link{color:var(--pg-navy-500);font-weight:600;font-size:.9rem;text-decoration:none;}
.pg-author__link:hover{color:var(--pg-orange-600);}

/* prev/next + back to insights */
.pg-artnav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:40px 0 0;}
.pg-artnav a{font-family:var(--pg-display);font-weight:600;color:var(--pg-navy);text-decoration:none;
  font-size:.95rem;border:1px solid var(--pg-line-dark);border-radius:999px;padding:10px 18px;transition:border-color .2s,color .2s;}
.pg-artnav a:hover{border-color:var(--pg-orange);color:var(--pg-orange-600);}

@media (max-width:600px){
  .pg-author{flex-direction:column;gap:14px;}
}

/* ===== Insights article: wider column + accordion FAQ (2026-08-12) ===== */
.pg-article, .pg-article .pg-wrap{max-width:900px;}
.pg-arthero .pg-wrap{max-width:920px;}

/* FAQ as accordions (native <details>) */
.pg-faq__item{border-top:1px solid var(--pg-line-dark);margin:0;padding:0;}
.pg-faq__item:last-child{border-bottom:1px solid var(--pg-line-dark);}
summary.pg-faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:20px 2px;margin:0;line-height:1.32;}
summary.pg-faq__q::-webkit-details-marker{display:none;}
summary.pg-faq__q::marker{content:"";}
summary.pg-faq__q::after{content:"+";flex:none;font-family:var(--pg-display);font-weight:700;color:var(--pg-orange);
  font-size:1.6rem;line-height:.8;transition:transform .3s var(--pg-ease);}
details[open]>summary.pg-faq__q::after{content:"\2013";}
summary.pg-faq__q:hover{color:var(--pg-navy-500);}
details.pg-faq__item .pg-faq__a{padding:0 2px 22px;margin:0;}
details.pg-faq__item .pg-faq__a p{margin:0 0 12px;}
details.pg-faq__item .pg-faq__a p:last-child{margin-bottom:0;}

/* related insights heading spacing when it reuses hub cards */
#related .pg-artgrid{margin-top:28px;}

/* ============================================================
   SCROLL CUE — "Scroll" + animated double-chevron on the top hero
   (injected by master.js into the first .pg-hs/.pg-hero). Bottom-center,
   clear of the slider card (left/center) and dots (bottom-right).
   ============================================================ */
.pg-scrollcue{position:fixed; left:50%; bottom:clamp(16px,3vh,26px); transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:5px; z-index:60;
  background:rgba(10,46,84,.34); border:1px solid rgba(255,255,255,.16); border-radius:24px;
  backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
  padding:9px 16px 7px; cursor:pointer; color:#fff;
  opacity:.96; transition:opacity .45s var(--pg-ease), transform .45s var(--pg-ease), background .3s ease;
  -webkit-tap-highlight-color:transparent;}
.pg-scrollcue:hover{background:rgba(10,46,84,.5); border-color:rgba(255,138,30,.5);}
.pg-scrollcue__t{font-family:var(--pg-display); font-weight:700; font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; text-shadow:0 2px 12px rgba(0,0,0,.6);}
.pg-scrollcue__chev{display:block; width:22px; height:24px; color:#fff;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.5)); animation:pg-scrollbob 1.5s var(--pg-ease-out) infinite;}
.pg-scrollcue__chev svg{display:block; width:100%; height:100%; stroke:currentColor;}
.pg-scrollcue:hover{opacity:1;}
.pg-scrollcue:focus-visible{outline:2px solid var(--pg-orange); outline-offset:4px; border-radius:8px;}
.pg-scrollcue.is-hidden{opacity:0; pointer-events:none; transform:translateX(-50%) translateY(12px);}
@keyframes pg-scrollbob{0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.pg-scrollcue__chev{animation:none}}
@media (max-width:600px){.pg-scrollcue{bottom:12px; padding:4px 10px} .pg-scrollcue__t{font-size:10px}
  .pg-scrollcue__chev{width:20px; height:22px}}
