/* ETG inner pages — motion layer (GSAP + ScrollTrigger + Lenis). Everything degrades to a static page. */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

/* Scroll progress */
.pg-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 3px; pointer-events: none; }
.pg-progress span { display: block; height: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #1D3F8F, #00A3D9, #00B2A9, #FFB81C); }

/* Side dots */
.pg-dots { position: fixed; right: 22px; top: 50%; z-index: 40; transform: translateY(-50%); display: grid; gap: 10px; margin: 0; padding: 10px 8px; list-style: none; border-radius: 999px; background: rgba(255,255,255,.7); backdrop-filter: blur(10px); box-shadow: 0 10px 30px -18px rgba(8,34,56,.5); opacity: 0; transition: opacity 300ms; }
.pg-dots.is-on { opacity: 1; }
.pg-dots a { position: relative; display: block; width: 10px; height: 10px; border-radius: 50%; background: #CFE2EE; transition: background 250ms, transform 250ms; }
.pg-dots a.is-active { background: #00A3D9; transform: scale(1.35); }
.pg-dots a span { position: absolute; right: 22px; top: 50%; transform: translate(6px, -50%); padding: 5px 10px; border-radius: 8px; background: #082238; color: #fff; font: 600 12px/1 var(--f-body); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 200ms, transform 200ms; }
.pg-dots a:hover span, .pg-dots a:focus-visible span, .pg-dots a.is-active span.is-flash { opacity: 1; transform: translate(0, -50%); }
.pg-dots.on-dark { background: rgba(8,34,56,.55); }
@media (max-width: 1180px) { .pg-dots { display: none; } }

/* Stats strip */
.pg-stats { position: relative; z-index: 2; margin-top: -40px; }
.pg-stats__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 auto; padding-block: 22px; list-style: none; border-radius: 22px; background: #082238; box-shadow: 0 40px 70px -40px rgba(8,34,56,.7); max-width: calc(var(--wrap, 1280px) - 2 * var(--gutter, 40px)); }
.pg-stats__list li { padding: 6px 22px; text-align: center; border-left: 1px solid rgba(255,255,255,.1); }
.pg-stats__list li:first-child { border-left: 0; }
.pg-stats strong { display: block; font: 800 clamp(28px, 1rem + 1.6vw, 40px)/1.05 var(--f-display); letter-spacing: -.03em; background: linear-gradient(90deg, #5FD3F3, #2ED3C6, #9BE3A6); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pg-stats li > span { font: 500 13.5px/1.35 var(--f-body); color: #9FC0D8; }
@media (max-width: 860px) { .pg-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; margin-inline: var(--gutter, 16px); width: auto; max-width: calc(100% - 2 * var(--gutter, 16px)); } .pg-stats__list li { border-left: 0; } .pg-stats__list li:last-child { grid-column: 1 / -1; } }

/* Ghost words */
.pg-sec[data-ghost] { position: relative; overflow: hidden; }
.pg-ghost { position: absolute; z-index: -1; right: -2%; top: 18px; white-space: nowrap; pointer-events: none; user-select: none;
  font: 800 clamp(90px, 13vw, 210px)/1 var(--f-display); letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1.5px rgba(10,111,168,.10); will-change: transform; }
.pg-flow .pg-ghost { -webkit-text-stroke-color: rgba(95,211,243,.14); }
.pg-sec[data-ghost] > .wrap { position: relative; z-index: 1; }

/* Hero word reveal */
.pg-word { display: inline-block; will-change: transform; }

/* Pains: complaint gets crossed out */
.pg-pain { position: relative; display: inline; background: linear-gradient(#A62D19, #A62D19) no-repeat 0 58% / 0% 2px; transition: background-size 700ms cubic-bezier(.65,.05,.2,1) 300ms; }
.pg-pains__grid li.is-struck .pg-pain { background-size: 100% 2px; }
.pg-pains__grid li > p.pg-pain { display: block; }
.pg-pains__grid li .pg-pain { -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* Flow connector line drawn by scroll */
.pg-flow .wrap { position: relative; }
.pg-flow__line { position: absolute; left: calc(var(--gutter, 40px) + 4%); right: calc(var(--gutter, 40px) + 4%); height: 3px; border-radius: 3px; background: rgba(95,211,243,.15); pointer-events: none; }
.pg-flow__line span { display: block; height: 100%; border-radius: 3px; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, #5FD3F3, #2ED3C6, #FFB81C); box-shadow: 0 0 16px rgba(46,211,198,.7); }
.pg-flow__track::before { display: none; }
.pg-flow__track li img { transition: transform 400ms cubic-bezier(.2,.7,.1,1), box-shadow 400ms; }
.pg-flow__track li { opacity: .45; transition: opacity 400ms; }
.pg-flow__track li.is-lit { opacity: 1; }
.pg-flow__track li.is-lit img { box-shadow: 0 0 0 4px rgba(46,211,198,.35), 0 18px 34px -16px rgba(0,0,0,.7); transform: translateY(-4px); }
html:not(.pg-motion) .pg-flow__track li { opacity: 1; }
.pg-dash { transform-origin: 50% 100%; }
.pg-flow { perspective: 1400px; }

/* Tilt + magnetic */
.pg-tilt { transform-style: preserve-3d; will-change: transform; }
.pg-magnet { will-change: transform; }

/* Compare rows tick pop */
.pg-motion .pg-table--compare td.yes::before { display: inline-block; }

/* When GSAP runs, it owns reveals */
.pg-motion .pg-rv { opacity: 1 !important; transform: none !important; transition: none !important; }

@media (max-width: 1023px) { .pg-flow__line { display: none; } .pg-flow__track li { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pg-ghost { display: none; } .pg-pain { background-size: 100% 2px; transition: none; } }
.pg-dots { right: 10px; padding: 8px 6px; gap: 8px; }
.pg-dots a { width: 8px; height: 8px; }
@media (max-width: 1360px) { .pg-dots { display: none; } }
.pg-pains__grid li > p.pg-pain { display: block; background: none; }
.pg-pain__t { background: linear-gradient(#A62D19, #A62D19) no-repeat 0 58% / 0% 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size 700ms cubic-bezier(.65,.05,.2,1) 300ms; }
.pg-pains__grid li.is-struck .pg-pain__t { background-size: 100% 2px; }
html, body.pg { overflow-x: clip; } .pg-hero { overflow: clip; }
