:root {
  --pppc-blue: #5b7890;
  --pppc-blue-dark: #395873;
  --pppc-blue-deep: #233f56;
  --pppc-blue-soft: #89a3b7;
  --pppc-orange: #db8741;
  --pppc-cream: #d9cdbc;
  --pppc-paper: #ffffff;
  --pppc-ink: #263e51;
}

html.pppc-menu-open,
body.pppc-menu-open { overflow: hidden !important; }

.pppc-root,
.pppc-root * { box-sizing: border-box; }

.pppc-root {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  overflow: clip;
  background: var(--pppc-blue);
  color: #fff;
  font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.pppc-root img { max-width: 100%; }
.pppc-root a { color: inherit; text-decoration: none; }
.pppc-root button,
.pppc-root input,
.pppc-root textarea { font: inherit; }
.pppc-root button { color: inherit; }

.pppc-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pppc-noise {
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
  opacity: .11;
  mix-blend-mode: soft-light;
  background: url("../images/grain.png") repeat;
}

/* HERO */
.pppc-hero-scroll {
  position: relative;
  height: 280svh;
  background: var(--pppc-blue);
}

.pppc-hero-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  background: var(--pppc-blue);
}

.pppc-hero-scene {
  --hero-y: 0px;
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform: translate3d(0, var(--hero-y), 0);
  transform-origin: 50% 0;
  will-change: transform, opacity;
  background: #162936;
}

.pppc-mosaic-wrap {
  --mosaic-rotation: -6deg;
  --mosaic-scale: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 126vw;
  height: 126svh;
  transform: translate(-50%, -50%) rotate(var(--mosaic-rotation)) scale(var(--mosaic-scale));
  transform-origin: center;
  will-change: transform;
  pointer-events: none;
}

.pppc-mosaic {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: repeat(5, minmax(0, 1fr));
  gap: clamp(6px, .62vmin, 11px);
  padding: clamp(6px, .62vmin, 11px);
}

.pppc-tile {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: clamp(5px, .55vmax, 11px);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 1.2vmax 3vmax rgba(1,15,25,.29);
  background: #506b80;
  transform: translateZ(0);
}

.pppc-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(255,255,255,.08), transparent 40%, rgba(11,30,45,.18));
  pointer-events: none;
}

.pppc-tile img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.91) contrast(1.02);
  transform: scale(1.025);
}

.pppc-hero-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 47%, rgba(10,25,36,.02) 0 20%, rgba(8,22,32,.18) 60%, rgba(4,12,18,.58) 100%),
    linear-gradient(to bottom, rgba(8,20,29,.12), rgba(8,20,29,.1) 55%, rgba(8,20,29,.42));
  pointer-events: none;
}

.pppc-hero-brand {
  --brand-scale: 1;
  --brand-y: 0px;
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 43%;
  width: min(44vw, 620px);
  transform: translate(-50%, -50%) translateY(var(--brand-y)) scale(var(--brand-scale));
  transform-origin: center;
  will-change: transform, opacity;
  filter: drop-shadow(0 14px 28px rgba(2,10,17,.35));
  pointer-events: none;
}

.pppc-hero-brand img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
}

.pppc-menu-trigger {
  --menu-opacity: 0;
  --menu-y: 18px;
  position: absolute;
  z-index: 12;
  left: 50%;
  bottom: clamp(92px, 13svh, 128px);
  display: grid;
  place-items: center;
  gap: 3px;
  min-width: 82px;
  padding: 7px 14px;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: var(--menu-opacity);
  transform: translateX(-50%) translateY(var(--menu-y));
  pointer-events: none;
  transition: color .25s ease;
}

.pppc-menu-trigger.is-ready { pointer-events: auto; }
.pppc-menu-trigger span { font-size: 14px; font-weight: 800; letter-spacing: .03em; }
.pppc-menu-trigger i { width: 30px; height: 1px; background: currentColor; position: relative; opacity: .82; }
.pppc-menu-trigger i::before,
.pppc-menu-trigger i::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 18px;
  height: 1px;
  background: currentColor;
  transform: translateX(-50%);
}
.pppc-menu-trigger i::before { top: -5px; }
.pppc-menu-trigger i::after { top: 5px; }
.pppc-menu-trigger:hover { color: #ffb46f; }

/* Dock becomes viewport-fixed once revealed and remains visible to the end. */
.pppc-social-dock {
  --social-opacity: 0;
  --social-y: 26px;
  position: fixed;
  z-index: 9500;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  display: flex;
  gap: clamp(8px, .8vw, 12px);
  transform: translateX(-50%) translateY(var(--social-y));
  opacity: var(--social-opacity);
  pointer-events: none;
  will-change: transform, opacity;
}

.pppc-social-dock.is-ready { pointer-events: auto; }
.pppc-social-dock a,
.pppc-footer-socials a {
  display: grid;
  place-items: center;
  width: clamp(39px, 3.8vw, 50px);
  aspect-ratio: 1;
  border-radius: 999px;
  background: rgba(255,255,255,.97);
  color: #10212d;
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 10px 26px rgba(6,16,24,.2);
  transition: transform .3s cubic-bezier(.2,.7,.2,1), background .3s ease, color .3s ease;
}

.pppc-social-dock a:hover { transform: translateY(-6px) scale(1.05); background: var(--pppc-orange); color: #fff; }
.pppc-social-dock svg,
.pppc-footer-socials svg { width: 46%; height: 46%; fill: currentColor; }
.pppc-scroll-meter { display: none; }

/* MENU OVERLAY */
.pppc-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 9997;
  display: grid;
  place-items: center;
  visibility: hidden;
  opacity: 0;
  background: rgba(28,53,72,.975);
  backdrop-filter: blur(18px);
  transition: opacity .45s cubic-bezier(.2,.7,.2,1), visibility .45s;
}
.pppc-menu-overlay.is-open { visibility: visible; opacity: 1; }
.pppc-menu-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 48%, rgba(255,255,255,.045) 48.1% 61%, transparent 61.1%);
}
.pppc-menu-close {
  position: absolute;
  right: clamp(20px, 4vw, 60px);
  top: clamp(18px, 4vw, 50px);
  z-index: 2;
  width: 52px;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  background: transparent;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}
.pppc-menu-overlay nav { position: relative; z-index: 2; display: grid; gap: 4px; }
.pppc-menu-overlay nav a {
  display: flex;
  align-items: baseline;
  gap: clamp(20px, 3vw, 52px);
  font-size: clamp(42px, 8vw, 112px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.04em;
  transition: color .25s ease, transform .25s ease;
}
.pppc-menu-overlay nav a span { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: var(--pppc-orange); }
.pppc-menu-overlay nav a:hover { color: #ffc089; transform: translateX(14px); }
.pppc-menu-orbit {
  position: absolute;
  width: min(76vw, 780px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: inset 0 0 0 16vw rgba(255,255,255,.018);
  animation: pppc-orbit 18s linear infinite;
}
.pppc-menu-orbit::after {
  content: "";
  position: absolute;
  left: 50%; top: -7px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--pppc-orange);
}
@keyframes pppc-orbit { to { transform: rotate(360deg); } }

/* FOX CINEMATIC ASSEMBLY */
.pppc-fox-scroll {
  position: relative;
  height: 190svh;
  margin-top: -1px;
  background: var(--pppc-blue);
}

.pppc-fox-stage {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 64%, rgba(255,189,105,.09), transparent 29%),
    linear-gradient(180deg, #5d7b92 0%, var(--pppc-blue) 54%, #58758d 100%);
}

.pppc-fox-stage::before,
.pppc-fox-stage::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: .22;
  filter: blur(.2px);
}
.pppc-fox-stage::before {
  width: 42vw;
  height: 42vw;
  left: -22vw;
  top: 16vh;
  border: 1px solid rgba(255,255,255,.2);
  transform: rotate(45deg);
}
.pppc-fox-stage::after {
  width: 28vw;
  height: 28vw;
  right: -17vw;
  bottom: 10vh;
  border: 1px solid rgba(29,62,85,.35);
  transform: rotate(45deg);
}
.pppc-fox-geometry { display: none; }

.pppc-fox-copy {
  --fox-copy-opacity: 0;
  --fox-copy-y: 22px;
  position: absolute;
  z-index: 6;
  left: 50%;
  top: clamp(16vh, 19vh, 190px);
  width: min(92vw, 1050px);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .28em .52em;
  opacity: var(--fox-copy-opacity);
  transform: translateX(-50%) translateY(var(--fox-copy-y));
  text-align: center;
  font-size: clamp(20px, 2vw, 34px);
  font-weight: 500;
  letter-spacing: .04em;
  white-space: nowrap;
}
.pppc-fox-copy b { color: var(--pppc-orange); font-weight: 700; }
.pppc-fox-copy em { color: var(--pppc-orange); font-style: normal; }

.pppc-fox-art {
  --fox-clip: 84%;
  --fox-scale: .72;
  --fox-top: 7%;
  --fox-split: 70px;
  --fox-rotate: 8deg;
  --fox-final-opacity: 0;
  --fox-nose-opacity: 1;
  --fox-slice-opacity: 0;
  --fox-blur: 8px;
  --fox-glow: 0;
  --fox-scan-y: 84%;
  position: absolute;
  z-index: 4;
  left: 50%;
  top: var(--fox-top);
  width: min(54vw, 650px);
  aspect-ratio: 1.08;
  transform: translate(-50%, -50%) scale(var(--fox-scale));
  transform-origin: 50% 88%;
  will-change: transform, top;
}

.pppc-fox-halo {
  position: absolute;
  z-index: -2;
  left: 50%;
  top: 58%;
  width: 78%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(calc(.7 + var(--fox-glow) * .3));
  background: radial-gradient(circle, rgba(255,173,77,.34), rgba(255,173,77,.08) 42%, transparent 68%);
  filter: blur(18px);
  opacity: var(--fox-glow);
}

.pppc-fox-nose,
.pppc-fox-slice,
.pppc-fox-final {
  position: absolute;
  inset: 0;
}
.pppc-fox-nose {
  z-index: 5;
  width: 100%;
  height: 100%;
  object-fit: contain;
  clip-path: inset(82% 34% 0 34%);
  opacity: var(--fox-nose-opacity);
  filter: drop-shadow(0 12px 16px rgba(23,45,61,.34));
  transform: scale(.88);
  transform-origin: 50% 100%;
  will-change: opacity, transform;
}
.pppc-fox-slice { overflow: hidden; opacity: var(--fox-slice-opacity); }
.pppc-fox-slice img,
.pppc-fox-final {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  clip-path: inset(var(--fox-clip) 0 0 0);
  filter: blur(var(--fox-blur)) drop-shadow(0 28px 38px rgba(23,45,61,.28));
  will-change: clip-path, filter, transform, opacity;
}
.pppc-fox-slice--left {
  clip-path: polygon(0 0, 52% 0, 52% 100%, 0 100%);
  transform: translateX(calc(var(--fox-split) * -1)) rotate(calc(var(--fox-rotate) * -1));
  transform-origin: 72% 80%;
}
.pppc-fox-slice--right {
  clip-path: polygon(48% 0, 100% 0, 100% 100%, 48% 100%);
  transform: translateX(var(--fox-split)) rotate(var(--fox-rotate));
  transform-origin: 28% 80%;
}
.pppc-fox-slice--left img { filter: saturate(1.08) blur(var(--fox-blur)) drop-shadow(0 28px 38px rgba(23,45,61,.28)); }
.pppc-fox-slice--right img { filter: hue-rotate(-5deg) saturate(.96) blur(var(--fox-blur)) drop-shadow(0 28px 38px rgba(23,45,61,.28)); }
.pppc-fox-final { opacity: var(--fox-final-opacity); }

.pppc-fox-scan {
  position: absolute;
  z-index: 8;
  left: 8%;
  right: 8%;
  top: var(--fox-scan-y);
  height: 2px;
  opacity: calc(.25 + var(--fox-glow) * .75);
  background: linear-gradient(90deg, transparent, rgba(255,211,155,.95) 35%, #fff 50%, rgba(255,211,155,.95) 65%, transparent);
  box-shadow: 0 0 16px rgba(255,176,84,.8);
  transform: translateY(-50%);
}

.pppc-fox-caption { display: none; }

/* SHARED */
.pppc-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .75s cubic-bezier(.2,.72,.2,1) var(--delay, 0ms), transform .75s cubic-bezier(.2,.72,.2,1) var(--delay, 0ms);
}
.pppc-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* SERVICES — square panels with moving triangles */
.pppc-services {
  position: relative;
  z-index: 2;
  padding: clamp(46px, 6vw, 82px) clamp(16px, 3vw, 42px) clamp(32px, 5vw, 68px);
  background: var(--pppc-paper);
  color: var(--pppc-ink);
}
.pppc-section-head { display: none; }
.pppc-service-grid {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.65vw, 24px);
  perspective: 1400px;
}
.pppc-service-card {
  --pointer-x: 0px;
  --pointer-y: 0px;
  position: relative;
  min-width: 0;
  aspect-ratio: .84;
  overflow: hidden;
  background: #a9c3c1;
  box-shadow: 0 18px 42px rgba(31,51,66,.12);
  transform-origin: 50% 70%;
}
.pppc-service-card:nth-child(2) { background: #c5d5df; }
.pppc-service-card:nth-child(3) { background: #cdbfb1; }
.pppc-service-card > a { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; }
.pppc-service-index { display: none; }
.pppc-service-title {
  position: absolute;
  z-index: 6;
  left: 10px;
  right: 10px;
  top: 10px;
  margin: 0;
  text-align: center;
  color: rgba(255,255,255,.96);
  font-size: clamp(12px, 1.15vw, 17px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .01em;
  text-shadow: 0 2px 12px rgba(29,48,62,.22);
}
.pppc-service-visual {
  position: absolute;
  inset: 14% 6% 3%;
  display: grid;
  place-items: center;
  transform: translate3d(var(--pointer-x), var(--pointer-y), 0);
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.pppc-service-triangle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72%;
  aspect-ratio: 1;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform-origin: 50% 62%;
  will-change: transform;
}
.pppc-service-triangle--back {
  width: 75%;
  background: linear-gradient(150deg, rgba(255,255,255,.92), rgba(79,113,134,.22) 58%, rgba(52,80,100,.38));
  transform: translate(-49%, -45%) rotate(-18deg) scale(.95);
  animation: pppc-triangle-back 7s ease-in-out infinite alternate;
  opacity: .72;
}
.pppc-service-card:nth-child(2) .pppc-service-triangle--back { transform: translate(-53%, -48%) rotate(18deg) scale(.92); animation-delay: -1.8s; }
.pppc-service-card:nth-child(3) .pppc-service-triangle--back { transform: translate(-48%, -44%) rotate(28deg) scale(.9); animation-delay: -3.1s; }
.pppc-service-triangle--front {
  transform: translate(-50%, -48%) rotate(-4deg);
  animation: pppc-triangle-front 6.2s ease-in-out infinite alternate;
  filter: drop-shadow(0 16px 18px rgba(31,54,70,.24));
}
.pppc-service-card:nth-child(2) .pppc-service-triangle--front { transform: translate(-50%, -47%) rotate(5deg); animation-delay: -1.5s; }
.pppc-service-card:nth-child(3) .pppc-service-triangle--front { transform: translate(-50%, -48%) rotate(-5deg); animation-delay: -2.7s; }
.pppc-service-triangle--front img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.14);
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}
.pppc-service-card:hover .pppc-service-triangle--front img { transform: scale(1.24); filter: saturate(1.08) contrast(1.03); }
.pppc-service-glint {
  position: absolute;
  z-index: 5;
  width: 36%;
  height: 55%;
  left: 50%;
  top: 50%;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: linear-gradient(145deg, rgba(255,255,255,.58), rgba(255,255,255,.02));
  transform: translate(1%, -54%) rotate(17deg);
  mix-blend-mode: screen;
  opacity: .36;
  animation: pppc-glint 5.6s ease-in-out infinite alternate;
}
.pppc-service-card:hover .pppc-service-triangle--front { animation-play-state: paused; transform: translate(-50%, -50%) rotate(1deg) scale(1.045); }
.pppc-service-card:hover .pppc-service-triangle--back { animation-play-state: paused; transform: translate(-48%, -46%) rotate(-25deg) scale(1.02); }
.pppc-service-content { display: none; }
.pppc-more-link {
  width: fit-content;
  margin: clamp(18px, 2.5vw, 34px) auto 0;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #536c80;
  font-size: 14px;
  font-weight: 500;
}
.pppc-more-link span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.pppc-more-link:hover span { transform: translateX(4px); background: var(--pppc-blue); color: #fff; }
@keyframes pppc-triangle-front { from { translate: 0 -3px; rotate: -1deg; } to { translate: 0 7px; rotate: 2deg; } }
@keyframes pppc-triangle-back { from { margin-left: -7px; margin-top: 4px; } to { margin-left: 8px; margin-top: -7px; } }
@keyframes pppc-glint { from { opacity: .18; translate: -8px 8px; } to { opacity: .46; translate: 7px -8px; } }

/* ABOUT */
.pppc-about {
  position: relative;
  min-height: 76svh;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(330px, 1.08fr);
  align-items: center;
  gap: clamp(34px, 5vw, 84px);
  padding: clamp(72px, 8vw, 120px) clamp(24px, 6vw, 100px);
  background: linear-gradient(180deg, #58758d 0%, #395873 100%);
  color: #fff;
}
.pppc-about::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.11);
}
.pppc-about-copy { max-width: 650px; }
.pppc-about-copy .pppc-eyebrow,
.pppc-stat-row { display: none; }
.pppc-about-copy h2,
.pppc-team-copy h2,
.pppc-contact-inner h2 {
  margin: 0 0 18px;
  font-size: clamp(28px, 3.4vw, 54px);
  line-height: .98;
  letter-spacing: -.035em;
}
.pppc-about-copy > p:not(.pppc-eyebrow),
.pppc-team-copy > p:not(.pppc-eyebrow) {
  margin: 0;
  color: rgba(255,255,255,.9);
  font-family: Arial, sans-serif;
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.72;
}
.pppc-dual-fox {
  position: relative;
  width: min(100%, 610px);
  aspect-ratio: 1.05;
  justify-self: end;
  filter: drop-shadow(0 24px 42px rgba(7,19,30,.28));
}
.pppc-dual-fox::before {
  content: "";
  position: absolute;
  left: 50%; bottom: 4%;
  width: 76%; height: 24%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse, rgba(6,19,29,.4), transparent 70%);
  filter: blur(12px);
}
.pppc-dual-fox-half { position: absolute; inset: 0; overflow: hidden; }
.pppc-dual-fox-half img { width: 100%; height: 100%; display: block; object-fit: contain; }
.pppc-dual-fox-left { clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%); }
.pppc-dual-fox-right { clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%); }
.pppc-dual-fox-right img { filter: grayscale(.2) hue-rotate(158deg) saturate(.52) brightness(.84) contrast(1.14); transform: scaleX(-1); }
.pppc-dual-line { position: absolute; z-index: 3; left: 50%; top: 18%; width: 1px; height: 64%; background: linear-gradient(to bottom, transparent, rgba(255,255,255,.72), transparent); }

/* TEAM — thin portrait/text columns like the supplied composition */
.pppc-team {
  min-height: 72svh;
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(500px, 1.15fr);
  align-items: center;
  gap: clamp(36px, 5vw, 80px);
  padding: clamp(64px, 7vw, 110px) clamp(24px, 6vw, 100px);
  background:
    linear-gradient(135deg, rgba(255,255,255,.025) 0 18%, transparent 18.1%),
    #395873;
}
.pppc-team-copy { max-width: 570px; }
.pppc-team-copy .pppc-eyebrow { display: none; }
.pppc-team-rail {
  min-width: 0;
  height: min(58svh, 520px);
  display: grid;
  grid-template-columns: repeat(4, minmax(82px, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(27,51,69,.18);
}
.pppc-team-member {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-rows: 1fr 1fr;
  overflow: hidden;
  outline: 0;
  cursor: pointer;
  border-right: 1px solid rgba(255,255,255,.14);
  transition: transform .55s cubic-bezier(.2,.72,.2,1), background .35s ease;
}
.pppc-team-member:last-child { border-right: 0; }
.pppc-team-member:nth-child(even) .pppc-team-image { grid-row: 1; }
.pppc-team-member:nth-child(even) .pppc-team-meta { grid-row: 2; }
.pppc-team-member:nth-child(odd) .pppc-team-image { grid-row: 2; }
.pppc-team-member:nth-child(odd) .pppc-team-meta { grid-row: 1; }
.pppc-team-member:hover,
.pppc-team-member:focus-visible,
.pppc-team-member.is-active { transform: translateY(-7px); background: rgba(255,255,255,.035); }
.pppc-team-image {
  position: relative;
  min-height: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  filter: grayscale(.72) saturate(.55) brightness(.74);
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease;
}
.pppc-team-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(16,36,51,.04), rgba(16,36,51,.2)); }
.pppc-team-member:hover .pppc-team-image,
.pppc-team-member:focus-visible .pppc-team-image,
.pppc-team-member.is-active .pppc-team-image { transform: scale(1.11); filter: grayscale(.2) saturate(.82) brightness(.83); }
.pppc-team-shade { display: none; }
.pppc-team-meta {
  position: relative;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 9px;
  background: rgba(43,75,99,.7);
  overflow: hidden;
}
.pppc-team-meta::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 3px;
  height: 0;
  background: var(--pppc-orange);
  transition: height .45s ease;
}
.pppc-team-member:hover .pppc-team-meta::before,
.pppc-team-member:focus-visible .pppc-team-meta::before,
.pppc-team-member.is-active .pppc-team-meta::before { height: 100%; }
.pppc-team-meta > span { display: none; }
.pppc-team-meta h3,
.pppc-team-meta p {
  margin: 0;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
}
.pppc-team-meta h3 { font-size: clamp(13px, 1.15vw, 18px); letter-spacing: .02em; font-weight: 800; }
.pppc-team-meta p { color: rgba(255,255,255,.78); font-size: clamp(10px, .78vw, 12px); font-family: Arial, sans-serif; }

/* CONTACT */
.pppc-contact {
  position: relative;
  min-height: 78svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(76px, 9vw, 130px) 20px;
  background: #7390a7;
}
.pppc-contact-shapes { position: absolute; inset: 0; pointer-events: none; }
.pppc-contact-shapes i { position: absolute; display: block; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: rgba(255,255,255,.13); }
.pppc-contact-shapes i:nth-child(1) { width: 48vw; height: 60vh; left: -14vw; top: -8vh; transform: rotate(22deg); }
.pppc-contact-shapes i:nth-child(2) { width: 42vw; height: 55vh; left: 7vw; bottom: -28vh; transform: rotate(72deg); background: rgba(35,71,97,.3); }
.pppc-contact-shapes i:nth-child(3) { width: 36vw; height: 48vh; right: -8vw; top: 12vh; transform: rotate(-18deg); background: rgba(255,255,255,.07); }
.pppc-contact-shapes i:nth-child(4) { width: 24vw; height: 32vh; right: 20vw; bottom: -8vh; transform: rotate(156deg); background: rgba(35,71,97,.24); }
.pppc-contact-inner { position: relative; z-index: 2; width: min(100%, 540px); text-align: center; }
.pppc-contact-inner .pppc-eyebrow { display: none; }
.pppc-contact-inner h2 { margin-bottom: 24px; font-size: clamp(28px, 3.2vw, 48px); }
.pppc-contact-form { display: grid; grid-template-columns: 1fr; gap: 8px; text-align: left; }
.pppc-contact-form label { position: relative; display: block; }
.pppc-contact-form input,
.pppc-contact-form textarea {
  width: 100%;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: rgba(255,255,255,.98);
  color: #284256;
  padding: 10px 12px;
  box-shadow: 0 7px 18px rgba(29,53,72,.12);
  transition: box-shadow .2s ease, transform .2s ease;
  font-family: Arial, sans-serif;
  font-size: 12px;
}
.pppc-contact-form input { height: 40px; }
.pppc-contact-form textarea { min-height: 132px; resize: vertical; }
.pppc-contact-form input:focus,
.pppc-contact-form textarea:focus { box-shadow: 0 0 0 2px var(--pppc-orange), 0 12px 25px rgba(29,53,72,.13); transform: translateY(-1px); }
.pppc-contact-form button {
  justify-self: center;
  min-width: 88px;
  margin-top: 8px;
  padding: 9px 18px;
  border: 0;
  background: rgba(104,135,158,.96);
  box-shadow: 0 8px 18px rgba(31,57,75,.17);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: background .25s ease, transform .25s ease;
}
.pppc-contact-form button i { display: none; }
.pppc-contact-form button:hover { background: var(--pppc-orange); transform: translateY(-2px); }
.pppc-contact-form button[disabled] { opacity: .6; cursor: wait; }
.pppc-form-status { min-height: 20px; text-align: center; font-family: Arial, sans-serif; font-size: 12px; }
.pppc-form-status.is-error { color: #ffe1da; }
.pppc-form-status.is-success { color: #e2ffea; }
.pppc-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* FOOTER */
.pppc-footer {
  min-height: 250px;
  padding: 38px clamp(22px, 5vw, 74px) 28px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto 1fr auto;
  align-items: end;
  gap: 18px;
  background: var(--pppc-cream);
  color: #536b7c;
  font-size: 11px;
}
.pppc-footer-links {
  grid-column: 1 / -1;
  grid-row: 1;
  justify-self: center;
  align-self: start;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(22px, 4vw, 48px);
  font-weight: 700;
  text-align: center;
}
.pppc-footer p { grid-column: 1; grid-row: 3; margin: 0; opacity: .72; text-align: left; }
.pppc-footer-socials { grid-column: 3; grid-row: 3; justify-self: end; display: flex; gap: 8px; }
.pppc-footer-socials a { width: 26px; color: #536b7c; background: transparent; box-shadow: none; border-color: transparent; }
.pppc-footer-socials a:hover { color: var(--pppc-orange); transform: translateY(-3px); }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .pppc-mosaic-wrap { width: 130vw; height: 130svh; }
  .pppc-hero-brand { width: min(54vw, 590px); }
  .pppc-about { grid-template-columns: 1fr 1fr; }
  .pppc-team { grid-template-columns: 1fr; }
  .pppc-team-copy { max-width: 720px; }
  .pppc-team-rail { width: min(100%, 760px); justify-self: end; height: 500px; }
}

@media (max-width: 767px) {
  .pppc-noise { opacity: .08; }
  .pppc-hero-scroll { height: 255svh; }
  .pppc-mosaic-wrap { width: 132vw; height: 132svh; }
  .pppc-mosaic { gap: 5px; padding: 5px; }
  .pppc-tile { border-radius: 5px; }
  .pppc-hero-brand { top: 42%; width: 67vw; }
  .pppc-menu-trigger { bottom: 88px; }
  .pppc-social-dock { width: 100%; justify-content: center; gap: 7px; bottom: max(12px, env(safe-area-inset-bottom)); }
  .pppc-social-dock a { width: 40px; }
  .pppc-menu-overlay nav { width: 86vw; }
  .pppc-menu-overlay nav a { font-size: clamp(40px, 15vw, 68px); }

  .pppc-fox-scroll { height: 175svh; }
  .pppc-fox-copy { top: 19vh; white-space: normal; font-size: clamp(17px, 5.2vw, 24px); line-height: 1.16; padding: 0 13px; }
  .pppc-fox-art { width: min(88vw, 520px); }

  .pppc-services { padding-inline: 16px; }
  .pppc-service-grid { grid-template-columns: 1fr; gap: 14px; }
  .pppc-service-card { aspect-ratio: 1.05; }
  .pppc-service-title { font-size: 14px; }

  .pppc-about { grid-template-columns: 1fr; min-height: auto; padding-inline: 24px; }
  .pppc-about-copy { order: 1; }
  .pppc-dual-fox { order: 0; width: 108%; justify-self: center; margin-inline: -4%; }

  .pppc-team { min-height: auto; padding-inline: 20px; }
  .pppc-team-rail {
    width: 100%;
    height: 430px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
  }
  .pppc-team-member { scroll-snap-align: start; }
  .pppc-team-meta { gap: 5px; padding: 8px 3px; }
  .pppc-team-meta h3 { font-size: 11px; }
  .pppc-team-meta p { font-size: 8.5px; }

  .pppc-contact { min-height: 72svh; }
  .pppc-contact-inner { width: min(100%, 360px); }
  .pppc-footer { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto auto; min-height: 300px; text-align: center; justify-items: center; }
  .pppc-footer-links { grid-column: 1; }
  .pppc-footer p { grid-column: 1; grid-row: 3; text-align: center; }
  .pppc-footer-socials { grid-column: 1; grid-row: 4; justify-self: center; }
}

@media (hover: none) {
  .pppc-service-card:hover .pppc-service-triangle--front,
  .pppc-service-card:hover .pppc-service-triangle--back { animation-play-state: running; }
}

@media (prefers-reduced-motion: reduce) {
  .pppc-root *,
  .pppc-root *::before,
  .pppc-root *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .pppc-hero-scroll,
  .pppc-fox-scroll { height: 100svh; }
  .pppc-mosaic-wrap { --mosaic-rotation: -6deg !important; --mosaic-scale: 1 !important; }
  .pppc-menu-trigger { --menu-opacity: 1 !important; --menu-y: 0px !important; pointer-events: auto; }
  .pppc-social-dock { --social-opacity: 1 !important; --social-y: 0px !important; pointer-events: auto; }
  .pppc-fox-art { --fox-clip: 0% !important; --fox-scale: 1 !important; --fox-top: 61% !important; --fox-split: 0px !important; --fox-rotate: 0deg !important; --fox-final-opacity: 1 !important; --fox-nose-opacity: 0 !important; --fox-slice-opacity: 0 !important; --fox-blur: 0px !important; --fox-glow: 1 !important; --fox-scan-y: 0% !important; }
  .pppc-fox-copy { --fox-copy-opacity: 1 !important; --fox-copy-y: 0px !important; }
  .pppc-reveal { opacity: 1 !important; transform: none !important; }
}


/* ===== v1.2.0 refinement overrides ===== */
.pppc-services, .pppc-about, .pppc-team, .pppc-contact { scroll-margin-top: 36px; }

/* HERO: enforce square tiles and a less abrupt handoff */
.pppc-hero-scroll { height: 248svh; }
.pppc-mosaic-wrap {
  width: min(128vmax, 1660px);
  height: min(128vmax, 1660px);
  aspect-ratio: 1;
}
.pppc-mosaic { gap: clamp(8px, .68vmin, 12px); padding: clamp(8px, .68vmin, 12px); }
.pppc-tile { aspect-ratio: 1 / 1; }
.pppc-tile img { aspect-ratio: 1 / 1; }
.pppc-hero-scene { transition: opacity .2s linear; }

/* Floating menu trigger */
.pppc-menu-trigger {
  position: fixed;
  z-index: 9502;
  bottom: max(84px, calc(env(safe-area-inset-bottom) + 84px));
  gap: 8px;
  min-width: 102px;
  padding: 10px 14px;
}
.pppc-menu-trigger span:first-child { font-size: 13px; letter-spacing: .14em; }
.pppc-menu-glyph {
  position: relative;
  width: 16px;
  height: 30px;
  display: block;
  transform: rotate(-90deg);
  transition: transform .42s cubic-bezier(.22,.84,.27,1);
}
.pppc-menu-trigger:hover .pppc-menu-glyph { transform: rotate(-90deg) scale(1.06); }
.pppc-menu-glyph__arc { position: absolute; top: 0; height: 30px; border-radius: 0 999px 999px 0; }
.pppc-menu-glyph__arc--outer { left: 0; width: 15px; border: 1.75px solid rgba(255,255,255,.55); border-left: 0; }
.pppc-menu-glyph__arc--inner { left: 1px; width: 15px; background: #171717; box-shadow: inset 0 0 0 0 #171717; }
.pppc-menu-glyph__dot {
  position: absolute;
  left: 6px;
  top: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #171717;
  transform-origin: 50% 50%;
  transition: transform .42s cubic-bezier(.22,.84,.27,1);
}
.pppc-menu-trigger:hover .pppc-menu-glyph__dot { transform: translateX(1px) scale(1.08); }

/* Dock motion inspired by animated dock */
.pppc-social-dock { gap: clamp(10px, .95vw, 14px); }
.pppc-social-dock a { transition: transform .18s ease, background .25s ease, color .25s ease, box-shadow .25s ease; transform-origin: 50% 100%; }

/* Smoother bridge from hero to fox */
.pppc-fox-scroll { margin-top: -13svh; height: 172svh; z-index: 3; }
.pppc-fox-stage {
  background:
    linear-gradient(180deg, rgba(91,120,144,.25) 0%, rgba(91,120,144,.85) 8%, rgba(91,120,144,.98) 14%, #5d7b92 24%, var(--pppc-blue) 58%, #58758d 100%),
    radial-gradient(circle at 50% 64%, rgba(255,189,105,.09), transparent 29%);
}
.pppc-fox-art {
  --fox-follow-x: 0px;
  --fox-follow-y: 0px;
  --fox-follow-rotate: 0deg;
  transform: translate(-50%, -50%) translate3d(var(--fox-follow-x), var(--fox-follow-y), 0) rotate(var(--fox-follow-rotate)) scale(var(--fox-scale));
  transition: transform .22s ease-out;
}
.pppc-fox-final { filter: blur(var(--fox-blur)) drop-shadow(0 28px 38px rgba(23,45,61,.28)); }

/* Services cards: keep design, enhance background motion */
.pppc-service-card { aspect-ratio: 1 / 1.12; }
.pppc-service-card::before,
.pppc-service-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.pppc-service-card::before {
  background:
    radial-gradient(circle at calc(50% + var(--pointer-x)) calc(40% + var(--pointer-y)), rgba(255,255,255,.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.1), transparent 48%, rgba(57,88,115,.18));
  mix-blend-mode: screen;
  opacity: .9;
}
.pppc-service-card::after {
  inset: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 45%),
    linear-gradient(transparent 94%, rgba(255,255,255,.07) 94%),
    linear-gradient(90deg, transparent 94%, rgba(255,255,255,.07) 94%);
  background-size: auto, 18px 18px, 18px 18px;
  opacity: .45;
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
}
.pppc-service-visual { inset: 14% 8% 7%; }

/* About / Team body copy justify */
.pppc-about-copy > p:not(.pppc-eyebrow),
.pppc-team-copy > p:not(.pppc-eyebrow) { text-align: justify; text-align-last: auto; }

/* Team columns: keep mobile look on larger screens */
.pppc-team { grid-template-columns: minmax(260px, .92fr) minmax(300px, 420px); }
.pppc-team-rail {
  justify-self: end;
  width: min(100%, 410px);
  height: min(58svh, 520px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pppc-team-member { transform-origin: 50% 100%; }
.pppc-team-meta { padding: 10px 4px; gap: 6px; }
.pppc-team-meta h3 { font-size: clamp(11px, .9vw, 14px); }
.pppc-team-meta p { font-size: clamp(9px, .7vw, 11px); }

/* Contact spotlight motion */
.pppc-contact-inner {
  --spot-x: 50%;
  --spot-y: 50%;
  --spot-opacity: .72;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(115,144,167,.16), rgba(115,144,167,.06));
  border-radius: 18px;
  box-shadow: 0 24px 58px rgba(33,56,72,.18);
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.pppc-contact-inner::before, .pppc-contact-inner::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; }
.pppc-contact-inner::before {
  background: radial-gradient(340px circle at var(--spot-x) var(--spot-y), rgba(255,255,255,.24), transparent 55%);
  opacity: var(--spot-opacity);
}
.pppc-contact-inner::after {
  inset: 1px;
  border: 1px solid rgba(255,255,255,.12);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
}
.pppc-contact-form input, .pppc-contact-form textarea { font-size: 13px; }

/* Footer sizing */
.pppc-footer { font-size: 12px; }
.pppc-footer-links { font-size: 12.5px; }
.pppc-footer p { font-size: 12px; }
.pppc-footer-socials { gap: 11px; }
.pppc-footer-socials a { width: 30px; }

@media (max-width: 1024px) {
  .pppc-mosaic-wrap { width: min(134vmax, 1460px); height: min(134vmax, 1460px); }
  .pppc-team { grid-template-columns: 1fr minmax(280px, 380px); }
  .pppc-team-rail { width: min(100%, 360px); height: 500px; }
}

@media (max-width: 767px) {
  .pppc-hero-scroll { height: 238svh; }
  .pppc-mosaic-wrap { width: 132vmax; height: 132vmax; }
  .pppc-menu-trigger { bottom: max(74px, calc(env(safe-area-inset-bottom) + 74px)); }
  .pppc-menu-trigger span:first-child { font-size: 12px; }
  .pppc-fox-scroll { margin-top: -7svh; height: 166svh; }
  .pppc-service-card { aspect-ratio: 1 / 1.02; }
  .pppc-team { grid-template-columns: 1fr; }
  .pppc-team-rail { width: 100%; height: 430px; }
  .pppc-contact-inner { width: min(100%, 390px); padding: 16px 14px; }
  .pppc-footer { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .pppc-menu-trigger { position: absolute; bottom: 88px; }
  .pppc-contact-inner::before { opacity: .18 !important; }
}


/* ===== v1.3.0 final tuning ===== */
.pppc-mosaic-wrap { width: min(112vmax, 1480px); height: min(112vmax, 1480px); }
.pppc-mosaic { gap: clamp(9px, .72vmin, 14px); padding: clamp(9px, .72vmin, 14px); }
.pppc-tile { border-radius: 12px; border: 0; box-shadow: 0 18px 34px rgba(1,15,25,.33); }
.pppc-tile::after { background: linear-gradient(145deg, rgba(255,255,255,.06), transparent 42%, rgba(5,15,21,.12)); }
.pppc-hero-brand { top: 47%; width: min(42vw, 760px); }
.pppc-hero-brand img { filter: brightness(0) invert(1) drop-shadow(0 10px 26px rgba(0,0,0,.22)); }
.pppc-menu-trigger { bottom: max(92px, calc(env(safe-area-inset-bottom) + 92px)); color: #fff; }
.pppc-menu-trigger span:first-child { font-size: 15px; letter-spacing: .05em; }
.pppc-social-dock { bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px)); gap: 12px; }
.pppc-social-dock a { width: 52px; height: 52px; background: rgba(255,255,255,.98); color: #141414; box-shadow: 0 14px 24px rgba(0,0,0,.20); }
.pppc-social-dock svg { width: 21px; height: 21px; }

.pppc-fox-copy { top: 13.2vh; font-size: clamp(25px, 3.1vw, 46px); letter-spacing: .07em; }
.pppc-fox-copy span { padding-inline: .12em; }
.pppc-fox-scroll { margin-top: -16svh; }
.pppc-fox-art .pppc-fox-halo { filter: blur(30px); opacity: calc(.35 + var(--fox-glow, .2) * .55); }

.pppc-dual-fox { overflow: visible; }
.pppc-dual-fox-composite { width: 100%; height: auto; display: block; filter: drop-shadow(0 24px 40px rgba(19,43,61,.22)); }
.pppc-dual-fox-half { display: none; }

.pppc-team-rail { direction: rtl; }
.pppc-team-member { direction: ltr; }

@media (max-width: 1200px) {
  .pppc-mosaic-wrap { width: min(116vmax, 1380px); height: min(116vmax, 1380px); }
  .pppc-hero-brand { width: min(54vw, 690px); }
  .pppc-fox-copy { top: 14.4vh; font-size: clamp(22px, 2.8vw, 38px); }
}

@media (max-width: 767px) {
  .pppc-mosaic-wrap { width: 124vmax; height: 124vmax; }
  .pppc-tile { border-radius: 10px; }
  .pppc-hero-brand { top: 44%; width: 72vw; }
  .pppc-social-dock { gap: 8px; }
  .pppc-social-dock a { width: 44px; height: 44px; }
  .pppc-social-dock svg { width: 18px; height: 18px; }
  .pppc-menu-trigger { bottom: max(78px, calc(env(safe-area-inset-bottom) + 78px)); }
  .pppc-fox-copy { top: 15.4vh; font-size: clamp(16px, 5vw, 24px); }
}


/* ===== v1.3.1 smoothing + fox line + team remap ===== */
.pppc-fox-line {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 4.9vh;
  width: min(78vw, 760px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(238,182,116,0) 0%, rgba(238,182,116,.92) 12%, rgba(238,182,116,.96) 50%, rgba(238,182,116,.92) 88%, rgba(238,182,116,0) 100%);
  box-shadow: 0 0 18px rgba(238,182,116,.22);
  opacity: .96;
  pointer-events: none;
}
.pppc-fox-copy { top: 8.6vh; font-size: clamp(24px, 2.8vw, 42px); }
.pppc-fox-copy span { transition: transform .45s ease, opacity .45s ease; }
.pppc-hero-scene, .pppc-hero-brand, .pppc-mosaic-wrap, .pppc-fox-art, .pppc-fox-copy { backface-visibility: hidden; }
@media (max-width: 1200px) {
  .pppc-fox-line { top: 5.6vh; width: min(82vw, 680px); }
  .pppc-fox-copy { top: 10.2vh; font-size: clamp(21px, 2.6vw, 34px); }
}
@media (max-width: 767px) {
  .pppc-fox-line { top: 8.6vh; width: 84vw; }
  .pppc-fox-copy { top: 12.2vh; font-size: clamp(15px, 4.5vw, 22px); }
}


/* ===== v1.3.2 verified demo + cinematic scroll smoothing ===== */
.pppc-hero-scroll { height: 360svh; }
.pppc-fox-scroll { height: 232svh; margin-top: -12svh; }
.pppc-fox-scan { display: none !important; }
.pppc-fox-line {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 25.5vh;
  width: min(74vw, 720px);
  height: 2px;
  transform: translate3d(-50%,0,0) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(232,170,91,.85) 11%, rgba(247,194,119,1) 50%, rgba(232,170,91,.85) 89%, transparent 100%);
  box-shadow: 0 0 12px rgba(240,183,105,.28);
  opacity: .98;
  pointer-events: none;
  will-change: auto;
}
.pppc-fox-copy { top: 9vh; }
.pppc-fox-art { transition: transform .34s cubic-bezier(.22,.61,.36,1); }
.pppc-dual-fox-composite {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.pppc-team-image { background-color: rgba(255,255,255,.05); }
@media (max-width: 1024px) {
  .pppc-hero-scroll { height: 340svh; }
  .pppc-fox-scroll { height: 218svh; margin-top: -10svh; }
  .pppc-fox-copy { top: 10vh; }
  .pppc-fox-line { top: 25vh; width: min(78vw, 650px); }
}
@media (max-width: 767px) {
  .pppc-hero-scroll { height: 318svh; }
  .pppc-fox-scroll { height: 205svh; margin-top: -7svh; }
  .pppc-fox-copy { top: 11vh; }
  .pppc-fox-line { top: 25vh; width: 82vw; }
}
/* آیکون اختصاصی وسط منوی پایین */
.pppc-social-dock .pppc-center-symbol {
    width: 21px;
    height: 21px;
    overflow: visible;
    transform: rotate(-90deg);
    transform-origin: center;
    transition:
        transform 0.5s cubic-bezier(0.22, 0.8, 0.22, 1);
}

/* لایه کم‌رنگ پشت آیکون */
.pppc-center-symbol-outline {
    fill: none;
    stroke: currentColor;
    stroke-width: 0.8;
    opacity: 0.25;
}

/* فرم اصلی */
.pppc-center-symbol-shape {
    fill: currentColor;
    transform-box: fill-box;
    transform-origin: center;
    transition:
        transform 0.5s cubic-bezier(0.22, 0.8, 0.22, 1);
}

/* دایره مرکزی */
.pppc-center-symbol-dot {
    fill: currentColor;
    transform-box: fill-box;
    transform-origin: center;
    transition:
        transform 0.5s cubic-bezier(0.22, 0.8, 0.22, 1),
        opacity 0.35s ease;
}

/* موشن هنگام قرارگرفتن موس */
.pppc-social-dock a:hover .pppc-center-symbol {
    transform: rotate(-90deg) scale(1.1);
}

.pppc-social-dock a:hover .pppc-center-symbol-shape {
    transform: translateX(1.5px);
}

.pppc-social-dock a:hover .pppc-center-symbol-dot {
    transform: translateX(-1.5px) scale(0.78);
    opacity: 0.75;
}
