:root {
  --pc-ink: #06101f;
  --pc-ink-soft: #0a1730;
  --pc-panel: rgba(8, 24, 48, 0.74);
  --pc-panel-strong: rgba(7, 21, 42, 0.94);
  --pc-line: rgba(120, 196, 255, 0.18);
  --pc-line-strong: rgba(74, 224, 203, 0.42);
  --pc-cyan: #39bfff;
  --pc-blue: #2f75ff;
  --pc-teal: #2fd9c4;
  --pc-green: #53e29a;
  --pc-violet: #8a6cff;
  --pc-white: #f6fbff;
  --pc-muted: #a9bad0;
  --pc-shadow: 0 30px 90px rgba(0, 10, 28, 0.42);
  --pc-radius-xl: 32px;
  --pc-radius-lg: 24px;
  --pc-radius-md: 18px;
}

html {
  scroll-behavior: smooth;
}

body.pc-showcase-page {
  background:
    radial-gradient(circle at 12% 9%, rgba(47, 117, 255, 0.12), transparent 27rem),
    radial-gradient(circle at 88% 24%, rgba(47, 217, 196, 0.11), transparent 28rem),
    linear-gradient(180deg, #06101f 0, #09172c 38%, #f4f8fd 38%, #f8fbff 100%) !important;
  color: var(--pc-ink);
  display: block !important;
  overflow-x: hidden;
  padding-top: 0 !important;
}

.pc-showcase-page .navbar {
  background: rgba(5, 14, 29, 0.82) !important;
  border-bottom: 1px solid rgba(140, 207, 255, 0.13);
  box-shadow: 0 12px 42px rgba(0, 8, 25, 0.25);
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
}

.pc-showcase-page .navbar-brand,
.pc-showcase-page .navbar .nav-link {
  color: rgba(245, 250, 255, 0.9) !important;
}

.pc-showcase-page .navbar .nav-link {
  border-radius: 999px;
  padding-inline: 0.72rem !important;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.pc-showcase-page .navbar .nav-link:hover,
.pc-showcase-page .navbar .nav-link:focus-visible,
.pc-showcase-page .navbar .nav-link.active {
  background: rgba(62, 205, 205, 0.13);
  color: #fff !important;
  transform: translateY(-1px);
}

.pc-showcase-page .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.24);
}

.pc-showcase-page .navbar-toggler-icon {
  filter: invert(1) brightness(1.75);
}

.pc-showcase-page #languageSwitcher {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #f7fbff;
}

.pc-showcase-page #languageSwitcher option {
  color: #071426;
}

.pc-showcase-main {
  position: relative;
  isolation: isolate;
}

.pc-showcase-main::before {
  background-image:
    linear-gradient(rgba(28, 81, 132, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28, 81, 132, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 92%, transparent 100%);
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

/* Hero base */
.pc-showcase-page .container {
  max-width: 1480px;
  width: min(calc(100% - 48px), 1480px);
}

.pc-showcase-page .navbar > .container {
  align-items: center;
  min-height: 64px;
}

.pc-showcase-page .navbar-brand,
.pc-showcase-page .navbar-nav {
  align-items: center;
}

.pc-showcase-hero {
  min-height: auto;
  overflow: hidden;
  padding: 7.25rem 0 4.25rem;
  position: relative;
}

.pc-showcase-hero::before,
.pc-showcase-hero::after {
  border-radius: 50%;
  content: "";
  filter: blur(6px);
  opacity: 0.82;
  pointer-events: none;
  position: absolute;
}

.pc-showcase-hero::before {
  animation: pc-orbit-float 11s ease-in-out infinite alternate;
  background: radial-gradient(circle, rgba(48, 192, 255, 0.24), rgba(48, 192, 255, 0) 68%);
  height: 43rem;
  right: -12rem;
  top: -10rem;
  width: 43rem;
}

.pc-showcase-hero::after {
  animation: pc-orbit-float 14s ease-in-out infinite alternate-reverse;
  background: radial-gradient(circle, rgba(47, 217, 196, 0.2), rgba(47, 217, 196, 0) 70%);
  bottom: -19rem;
  height: 42rem;
  left: -17rem;
  width: 42rem;
}

.pc-hero-shell {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 1fr) minmax(600px, 1fr);
  min-height: min(560px, calc(100svh - 148px));
  position: relative;
  z-index: 2;
}

.pc-hero-copy {
  color: var(--pc-white);
  max-width: 720px;
  min-width: 0;
  position: relative;
  z-index: 4;
}

.pc-eyebrow {
  align-items: center;
  color: #72ecd8;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 800;
  gap: 0.7rem;
  letter-spacing: 0;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}

.pc-eyebrow::before {
  background: linear-gradient(90deg, var(--pc-cyan), var(--pc-teal));
  border-radius: 999px;
  box-shadow: 0 0 20px rgba(47, 217, 196, 0.5);
  content: "";
  height: 2px;
  width: 44px;
}

.pc-hero-copy h1 {
  color: var(--pc-white);
  font-size: 4.05rem;
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1;
  margin: 0;
  text-wrap: balance;
}

.pc-hero-title-line {
  display: block;
  max-width: 100%;
  text-wrap: balance;
}

.pc-hero-copy h1 .pc-gradient-text {
  background: linear-gradient(112deg, #f6fbff 3%, #62c8ff 42%, #38dec6 72%, #75eca5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  filter: drop-shadow(0 10px 32px rgba(47, 190, 255, 0.18));
}

.pc-hero-copy > p {
  color: rgba(225, 235, 248, 0.76);
  font-size: 1.12rem;
  line-height: 1.62;
  margin: 1.45rem 0 0;
  max-width: 670px;
}

.pc-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.55rem;
}

.pc-btn-primary,
.pc-btn-ghost {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-weight: 760;
  gap: 0.75rem;
  justify-content: center;
  min-height: 52px;
  padding: 0.9rem 1.35rem;
  position: relative;
  text-decoration: none;
  transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease, border-color 200ms ease;
}

.pc-btn-primary {
  background: linear-gradient(110deg, #2578ff, #28bfe2 52%, #34d9bd);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 14px 38px rgba(33, 132, 255, 0.28), inset 0 1px rgba(255, 255, 255, 0.24);
  color: #fff;
}

.pc-btn-ghost {
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(245, 250, 255, 0.92);
}

.pc-btn-primary:hover,
.pc-btn-primary:focus-visible,
.pc-btn-ghost:hover,
.pc-btn-ghost:focus-visible {
  color: #fff;
  transform: translateY(-3px);
}

.pc-btn-primary:hover,
.pc-btn-primary:focus-visible {
  box-shadow: 0 20px 52px rgba(37, 128, 255, 0.38), inset 0 1px rgba(255, 255, 255, 0.3);
}

.pc-btn-ghost:hover,
.pc-btn-ghost:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(89, 217, 206, 0.5);
}

.pc-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.45rem;
}

.pc-proof-pill {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(142, 207, 255, 0.16);
  border-radius: 999px;
  color: rgba(224, 235, 248, 0.78);
  display: inline-flex;
  font-size: 0.84rem;
  font-weight: 650;
  gap: 0.55rem;
  padding: 0.62rem 0.85rem;
}

.pc-proof-pill i {
  color: #55dfca;
}

.pc-hero-visual {
  align-self: center;
  aspect-ratio: 1.56 / 1;
  background: linear-gradient(145deg, rgba(21, 48, 87, 0.65), rgba(3, 13, 30, 0.92));
  border: 1px solid rgba(115, 202, 255, 0.19);
  border-radius: clamp(25px, 3vw, 42px);
  box-shadow: 0 34px 90px rgba(0, 9, 29, 0.54), inset 0 1px rgba(255, 255, 255, 0.12);
  max-height: 570px;
  min-height: 0;
  overflow: hidden;
  position: relative;
  transform: perspective(1300px) rotateY(var(--pc-hero-rotate-y, -3deg)) rotateX(var(--pc-hero-rotate-x, 1deg));
  transform-style: preserve-3d;
  transition: transform 260ms ease;
  width: 100%;
}

.pc-hero-visual::before {
  background:
    linear-gradient(90deg, rgba(4, 13, 30, 0.93) 0%, rgba(4, 13, 30, 0.58) 24%, transparent 48%),
    linear-gradient(180deg, transparent 62%, rgba(3, 11, 26, 0.88) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.pc-hero-visual picture,
.pc-feature-media picture,
.pc-case-media picture {
  display: block;
  inset: 0;
  position: absolute;
}

.pc-hero-visual img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

/* Positionnement image par page */
.pc-hero--about .pc-hero-visual img {
  object-position: 61% center;
  transform: scale(1.01);
}

.pc-hero--services .pc-hero-visual {
  aspect-ratio: 1.6 / 1;
}

.pc-hero--services .pc-hero-visual img {
  object-position: 64% center;
  transform: scale(1.015);
}

.pc-hero--portfolio .pc-hero-visual {
  aspect-ratio: 1.58 / 1;
}

.pc-hero--portfolio .pc-hero-visual img {
  object-position: 67% center;
  transform: scale(1.015);
}

.pc-hero-orbit {
  border: 1px solid rgba(74, 224, 203, 0.22);
  border-radius: 50%;
  height: 270px;
  position: absolute;
  right: 6%;
  top: 19%;
  width: 270px;
  z-index: 3;
}

.pc-hero-orbit::before,
.pc-hero-orbit::after {
  border: 1px solid rgba(73, 169, 255, 0.23);
  border-radius: inherit;
  content: "";
  inset: -32px;
  position: absolute;
}

.pc-hero-orbit::after {
  animation: pc-orbit-spin 18s linear infinite;
  border-left-color: #42e5c7;
  border-right-color: transparent;
  inset: -64px;
}

.pc-hero-status {
  align-items: center;
  backdrop-filter: blur(15px);
  background: rgba(6, 20, 39, 0.76);
  border: 1px solid rgba(90, 216, 204, 0.3);
  border-radius: 18px;
  bottom: 1.4rem;
  box-shadow: 0 16px 48px rgba(0, 10, 28, 0.38);
  color: #eaf7ff;
  display: flex;
  gap: 0.85rem;
  left: 1.4rem;
  max-width: min(390px, calc(100% - 2.8rem));
  padding: 0.95rem 1rem;
  position: absolute;
  z-index: 4;
}

.pc-hero-status-icon {
  align-items: center;
  background: linear-gradient(135deg, rgba(48, 174, 255, 0.24), rgba(47, 217, 196, 0.26));
  border: 1px solid rgba(97, 221, 209, 0.28);
  border-radius: 14px;
  color: #70ead7;
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 1.55rem;
  font-weight: 300;
  height: 42px;
  justify-content: center;
  line-height: 1;
}

.pc-hero-status strong,
.pc-hero-status span {
  display: block;
}

.pc-hero-status strong {
  font-size: 0.92rem;
}

.pc-hero-status span {
  color: #9eb5cb;
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

/* Sections secondaires */
.pc-section {
  padding: clamp(4.8rem, 8vw, 8rem) 0;
  position: relative;
  scroll-margin-top: 92px;
}

.pc-section-dark {
  background:
    radial-gradient(circle at 90% 0, rgba(47, 217, 196, 0.1), transparent 28rem),
    linear-gradient(180deg, #071428, #09182e);
  color: var(--pc-white);
}

.pc-section-light {
  background:
    radial-gradient(circle at 8% 20%, rgba(46, 134, 255, 0.08), transparent 26rem),
    #f6f9fd;
  color: var(--pc-ink);
}

.pc-section-white {
  background: #fff;
  color: var(--pc-ink);
}

.pc-section-heading {
  margin-bottom: clamp(2.4rem, 5vw, 4rem);
  max-width: 810px;
}

.pc-section-heading.pc-heading-center {
  margin-inline: auto;
  text-align: center;
}

.pc-section-heading h2 {
  font-size: clamp(2.2rem, 4.2vw, 4.65rem);
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.03;
  margin: 0;
  text-wrap: balance;
}

.pc-section-dark .pc-section-heading h2 {
  color: #f4f9ff;
}

.pc-section-heading p {
  color: #647890;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.75;
  margin: 1.2rem 0 0;
}

.pc-section-dark .pc-section-heading p {
  color: #a8bad0;
}

.pc-filter-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: 2rem;
}

.pc-filter-button {
  background: #fff;
  border: 1px solid #d8e4f0;
  border-radius: 999px;
  color: #46607d;
  font-size: 0.86rem;
  font-weight: 760;
  padding: 0.68rem 1rem;
  transition: 180ms ease;
}

.pc-filter-button:hover,
.pc-filter-button:focus-visible,
.pc-filter-button.is-active {
  background: #0b1d37;
  border-color: #0b1d37;
  box-shadow: 0 10px 30px rgba(8, 27, 53, 0.15);
  color: #fff;
  transform: translateY(-2px);
}

.pc-service-grid,
.pc-case-grid,
.pc-principle-grid {
  display: grid;
  gap: 1.3rem;
}

.pc-service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pc-case-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.pc-principle-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pc-interactive-card {
  --pc-card-x: 50%;
  --pc-card-y: 50%;
  --pc-card-rx: 0deg;
  --pc-card-ry: 0deg;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.93));
  border: 1px solid rgba(126, 158, 190, 0.22);
  border-radius: var(--pc-radius-lg);
  box-shadow: 0 20px 58px rgba(24, 54, 88, 0.09);
  min-height: 100%;
  overflow: hidden;
  position: relative;
  transform: perspective(1000px) rotateX(var(--pc-card-rx)) rotateY(var(--pc-card-ry)) translateY(var(--pc-card-lift, 0));
  transform-style: preserve-3d;
  transition: border-color 180ms ease, box-shadow 220ms ease, opacity 220ms ease, transform 180ms ease;
}

.pc-interactive-card::before {
  background: radial-gradient(420px circle at var(--pc-card-x) var(--pc-card-y), rgba(44, 184, 255, 0.16), transparent 42%);
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 180ms ease;
  z-index: 0;
}

.pc-interactive-card::after {
  background: linear-gradient(90deg, transparent, rgba(64, 219, 198, 0.72), transparent);
  content: "";
  height: 1px;
  left: 12%;
  opacity: 0;
  position: absolute;
  right: 12%;
  top: 0;
  transition: opacity 180ms ease;
}

.pc-interactive-card:hover,
.pc-interactive-card:focus-within {
  --pc-card-lift: -8px;
  border-color: rgba(54, 191, 221, 0.42);
  box-shadow: 0 30px 80px rgba(23, 62, 105, 0.18);
}

.pc-interactive-card:hover::before,
.pc-interactive-card:focus-within::before,
.pc-interactive-card:hover::after,
.pc-interactive-card:focus-within::after {
  opacity: 1;
}

.pc-service-card {
  display: flex;
  flex-direction: column;
  padding: 1.55rem;
}

.pc-card-icon {
  align-items: center;
  background: linear-gradient(135deg, rgba(41, 121, 255, 0.12), rgba(44, 214, 193, 0.13));
  border: 1px solid rgba(60, 179, 223, 0.17);
  border-radius: 17px;
  color: #1587c8;
  display: inline-flex;
  font-size: 1.15rem;
  height: 50px;
  justify-content: center;
  margin-bottom: 1.2rem;
  position: relative;
  width: 50px;
  z-index: 1;
}

.pc-card-kicker {
  color: #21858d;
  font-size: 0.72rem;
  font-weight: 840;
  letter-spacing: 0;
  margin-bottom: 0.65rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}

.pc-service-card h3,
.pc-principle-card h3 {
  color: #0b1c34;
  font-size: 1.27rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.18;
  margin: 0;
  position: relative;
  z-index: 1;
}

.pc-service-card > p,
.pc-principle-card > p {
  color: #60758d;
  font-size: 0.94rem;
  line-height: 1.65;
  margin: 0.9rem 0 1.1rem;
  position: relative;
  z-index: 1;
}

.pc-mini-list {
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  position: relative;
  z-index: 1;
}

.pc-mini-list li {
  align-items: flex-start;
  color: #405b78;
  display: flex;
  font-size: 0.84rem;
  gap: 0.55rem;
  line-height: 1.45;
}

.pc-mini-list li::before {
  background: #37cbb7;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(55, 203, 183, 0.11);
  content: "";
  flex: 0 0 6px;
  height: 6px;
  margin-top: 0.45rem;
  width: 6px;
}

.pc-card-action {
  align-items: center;
  align-self: flex-start;
  background: transparent;
  border: 0;
  color: #176bb1;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.58rem;
  margin-top: auto;
  padding: 0;
  position: relative;
  text-align: left;
  z-index: 1;
}

.pc-card-action i {
  transition: transform 180ms ease;
}

.pc-card-action:hover i,
.pc-card-action:focus-visible i {
  transform: translateX(5px);
}

.pc-feature-stage {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
}

.pc-feature-media {
  aspect-ratio: 16 / 10;
  background: #061225;
  border: 1px solid rgba(95, 196, 255, 0.19);
  border-radius: var(--pc-radius-xl);
  box-shadow: var(--pc-shadow);
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.pc-feature-media img {
  background:
    radial-gradient(circle at 50% 44%, rgba(48, 183, 255, 0.16), transparent 42%),
    linear-gradient(145deg, #07162c, #050d1b);
  box-sizing: border-box;
  height: 100%;
  object-fit: contain;
  padding: 0.55rem;
  position: absolute;
  width: 100%;
}

.pc-feature-media::after {
  background: linear-gradient(180deg, transparent 58%, rgba(1, 9, 24, 0.88));
  content: "";
  inset: 0;
  position: absolute;
}

.pc-visual-note {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgba(3, 14, 30, 0.72);
  border: 1px solid rgba(116, 221, 245, 0.22);
  border-radius: 999px;
  bottom: 1rem;
  color: #d8f7ff;
  display: inline-flex;
  font-size: 0.68rem;
  font-weight: 780;
  letter-spacing: 0;
  padding: 0.48rem 0.72rem;
  position: absolute;
  right: 1rem;
  text-transform: uppercase;
  z-index: 3;
}

.pc-case-media .pc-visual-note {
  bottom: 0.7rem;
  right: 0.7rem;
}

.pc-feature-caption {
  bottom: 1.25rem;
  color: #fff;
  left: 1.3rem;
  position: absolute;
  right: 1.3rem;
  z-index: 2;
}

.pc-feature-caption span {
  color: #66e4d0;
  font-size: 0.73rem;
  font-weight: 820;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pc-feature-caption strong {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.35rem;
}

.pc-feature-copy {
  align-self: center;
}

.pc-feature-copy h2 {
  color: #f4f9ff;
  font-size: clamp(2.15rem, 4vw, 4.15rem);
  font-weight: 830;
  letter-spacing: 0;
  line-height: 1.04;
  margin: 0;
}

.pc-feature-copy > p {
  color: #a8bad0;
  font-size: 1.04rem;
  line-height: 1.78;
  margin: 1.2rem 0 1.55rem;
}

.pc-feature-points {
  display: grid;
  gap: 0.85rem;
}

.pc-feature-point {
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(123, 196, 250, 0.13);
  border-radius: 17px;
  display: flex;
  gap: 0.9rem;
  padding: 1rem;
}

.pc-feature-point i {
  color: #5be3ce;
  margin-top: 0.2rem;
}

.pc-feature-point strong,
.pc-feature-point span {
  display: block;
}

.pc-feature-point strong {
  color: #edf7ff;
  font-size: 0.93rem;
}

.pc-feature-point span {
  color: #94aac1;
  font-size: 0.83rem;
  line-height: 1.45;
  margin-top: 0.2rem;
}

.pc-case-card {
  background: #071529;
  border-color: rgba(103, 195, 247, 0.16);
  color: #fff;
  grid-column: span 4;
  min-height: 440px;
}

.pc-case-card.pc-case-wide {
  grid-column: span 8;
}

.pc-case-card.pc-case-tall {
  min-height: 540px;
}

.pc-case-card::before {
  background: radial-gradient(520px circle at var(--pc-card-x) var(--pc-card-y), rgba(49, 212, 196, 0.16), transparent 42%);
}

.pc-case-media {
  aspect-ratio: 16 / 10;
  height: auto;
  overflow: hidden;
  position: relative;
}

.pc-case-wide .pc-case-media {
  aspect-ratio: 16 / 9;
  height: auto;
}

.pc-case-media::after {
  background: linear-gradient(180deg, transparent 48%, #071529 100%);
  content: "";
  inset: 0;
  position: absolute;
}

.pc-case-media img {
  background:
    radial-gradient(circle at 50% 42%, rgba(53, 204, 255, 0.13), transparent 44%),
    linear-gradient(145deg, #08172c, #050d1b);
  box-sizing: border-box;
  height: 100%;
  object-fit: contain;
  padding: 0.35rem;
  transition: transform 700ms cubic-bezier(0.2, 0.75, 0.25, 1);
  width: 100%;
}

.pc-case-card:hover .pc-case-media img,
.pc-case-card:focus-within .pc-case-media img {
  transform: scale(1.045);
}

.pc-case-body {
  display: flex;
  flex-direction: column;
  min-height: 200px;
  padding: 0.35rem 1.45rem 1.45rem;
  position: relative;
  z-index: 2;
}

.pc-status-badge {
  align-items: center;
  background: rgba(48, 214, 192, 0.1);
  border: 1px solid rgba(65, 222, 199, 0.25);
  border-radius: 999px;
  color: #65e4ce;
  display: inline-flex;
  font-size: 0.69rem;
  font-weight: 800;
  gap: 0.45rem;
  letter-spacing: 0;
  margin-bottom: 0.75rem;
  padding: 0.42rem 0.65rem;
  text-transform: uppercase;
  width: fit-content;
}

.pc-case-body h3 {
  color: #f4f9ff;
  font-size: clamp(1.28rem, 2vw, 1.75rem);
  font-weight: 800;
  letter-spacing: 0;
  margin: 0;
}

.pc-case-body p {
  color: #9eb1c7;
  font-size: 0.92rem;
  line-height: 1.64;
  margin: 0.75rem 0 1.1rem;
}

.pc-case-body .pc-card-action {
  color: #65d9ff;
}

.pc-case-abstract {
  align-items: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(47, 117, 255, 0.28), transparent 35%),
    radial-gradient(circle at 80% 75%, rgba(47, 217, 196, 0.21), transparent 37%),
    linear-gradient(145deg, #0b2141, #071326);
  display: flex;
  height: 235px;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.pc-case-abstract::before,
.pc-case-abstract::after {
  border: 1px solid rgba(89, 204, 244, 0.22);
  border-radius: 50%;
  content: "";
  height: 180px;
  position: absolute;
  width: 180px;
}

.pc-case-abstract::after {
  animation: pc-orbit-spin 12s linear infinite;
  border-left-color: #4fe2c9;
  height: 240px;
  width: 240px;
}

.pc-case-abstract i {
  color: #72e4ff;
  filter: drop-shadow(0 0 26px rgba(85, 215, 255, 0.7));
  font-size: 4.5rem;
  position: relative;
  z-index: 2;
}

.pc-proof-board {
  background:
    radial-gradient(circle at 10% 0, rgba(50, 131, 255, 0.11), transparent 26rem),
    linear-gradient(145deg, #0a1a32, #071326);
  border: 1px solid rgba(96, 191, 245, 0.16);
  border-radius: var(--pc-radius-xl);
  box-shadow: var(--pc-shadow);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.pc-proof-board-item {
  min-height: 180px;
  padding: 1.5rem;
  position: relative;
}

.pc-proof-board-item + .pc-proof-board-item {
  border-left: 1px solid rgba(120, 194, 241, 0.13);
}

.pc-proof-board-item i {
  color: #54dcc7;
  font-size: 1.2rem;
}

.pc-proof-board-item strong {
  color: #eef8ff;
  display: block;
  font-size: 1.02rem;
  margin: 1rem 0 0.45rem;
}

.pc-proof-board-item p {
  color: #97abc0;
  font-size: 0.85rem;
  line-height: 1.55;
  margin: 0;
}

.pc-principle-card {
  padding: 1.6rem;
}

.pc-principle-number {
  color: #287fd5;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.pc-timeline {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
}

.pc-timeline::before {
  background: linear-gradient(90deg, rgba(45, 117, 255, 0.25), rgba(53, 216, 192, 0.62), rgba(45, 117, 255, 0.25));
  content: "";
  height: 2px;
  left: 7%;
  position: absolute;
  right: 7%;
  top: 27px;
}

.pc-timeline-step {
  position: relative;
  text-align: center;
  z-index: 1;
}

.pc-timeline-node {
  align-items: center;
  background: #fff;
  border: 2px solid #34ccb7;
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(52, 204, 183, 0.12), 0 8px 26px rgba(20, 94, 116, 0.13);
  color: #138978;
  display: inline-flex;
  font-size: 0.83rem;
  font-weight: 850;
  height: 54px;
  justify-content: center;
  margin-bottom: 1.35rem;
  width: 54px;
}

.pc-timeline-step h3 {
  color: #0b1d35;
  font-size: 1.08rem;
  font-weight: 790;
  margin: 0;
}

.pc-timeline-step p {
  color: #65798f;
  font-size: 0.86rem;
  line-height: 1.55;
  margin: 0.6rem auto 0;
  max-width: 250px;
}

.pc-capability-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

.pc-capability-chip {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe6f0;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(25, 56, 88, 0.07);
  color: #294662;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 750;
  gap: 0.58rem;
  padding: 0.85rem 1rem;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.pc-capability-chip i {
  color: #1ba89d;
}

.pc-capability-chip:hover {
  border-color: rgba(34, 186, 180, 0.42);
  box-shadow: 0 16px 38px rgba(19, 91, 117, 0.12);
  transform: translateY(-4px);
}

.pc-cta-panel {
  align-items: center;
  background:
    radial-gradient(circle at 88% 22%, rgba(46, 218, 195, 0.24), transparent 26rem),
    linear-gradient(135deg, #091a34, #071326);
  border: 1px solid rgba(97, 197, 247, 0.18);
  border-radius: var(--pc-radius-xl);
  box-shadow: var(--pc-shadow);
  color: #fff;
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4rem);
  position: relative;
}

.pc-cta-panel::after {
  animation: pc-orbit-spin 22s linear infinite;
  border: 1px solid rgba(71, 224, 203, 0.26);
  border-radius: 50%;
  content: "";
  height: 300px;
  position: absolute;
  right: -80px;
  top: -120px;
  width: 300px;
}

.pc-cta-panel h2 {
  color: #f4f9ff;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  max-width: 770px;
}

.pc-cta-panel p {
  color: #a9bad0;
  margin: 1rem 0 0;
  max-width: 680px;
}

.pc-detail-dialog {
  background: transparent;
  border: 0;
  max-height: 92vh;
  max-width: 880px;
  padding: 0;
  width: min(92vw, 880px);
}

.pc-detail-dialog::backdrop {
  backdrop-filter: blur(14px);
  background: rgba(3, 10, 23, 0.77);
}

.pc-detail-shell {
  background:
    radial-gradient(circle at 90% 0, rgba(48, 218, 195, 0.17), transparent 22rem),
    linear-gradient(145deg, #0b203d, #071326 64%);
  border: 1px solid rgba(100, 205, 249, 0.22);
  border-radius: 30px;
  box-shadow: 0 40px 100px rgba(0, 7, 21, 0.62);
  color: #eff8ff;
  max-height: 92vh;
  overflow: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  position: relative;
}

.pc-detail-close {
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 1.1rem;
  top: 1.1rem;
  transition: 180ms ease;
  width: 42px;
}

.pc-detail-close:hover,
.pc-detail-close:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  transform: rotate(8deg) scale(1.05);
}

.pc-detail-content .pc-detail-label {
  color: #61e2ce;
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.pc-detail-content h2 {
  color: #f4f9ff;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  padding-right: 3rem;
}

.pc-detail-content > p {
  color: #abc0d5;
  font-size: 1rem;
  line-height: 1.72;
  margin: 1rem 0 1.6rem;
  max-width: 760px;
}

.pc-detail-columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pc-detail-column {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(122, 195, 245, 0.13);
  border-radius: 20px;
  padding: 1.25rem;
}

.pc-detail-column h3 {
  color: #eff8ff;
  font-size: 1rem;
  font-weight: 790;
  margin: 0 0 0.75rem;
}

.pc-detail-column ul {
  display: grid;
  gap: 0.55rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pc-detail-column li {
  color: #9fb4ca;
  font-size: 0.86rem;
  line-height: 1.5;
  padding-left: 1rem;
  position: relative;
}

.pc-detail-column li::before {
  background: #45ddc6;
  border-radius: 50%;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 0.55rem;
  width: 5px;
}

.pc-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.2rem;
}

.pc-detail-tags span {
  background: rgba(55, 210, 190, 0.08);
  border: 1px solid rgba(59, 221, 200, 0.2);
  border-radius: 999px;
  color: #6ee5d2;
  font-size: 0.72rem;
  font-weight: 760;
  padding: 0.45rem 0.66rem;
}

.pc-hidden-detail {
  display: none !important;
}

.pc-reveal {
  opacity: 1;
  transform: none;
  transition: opacity 720ms cubic-bezier(0.2, 0.7, 0.25, 1), transform 720ms cubic-bezier(0.2, 0.7, 0.25, 1);
}

html.pc-motion-ready .pc-reveal {
  opacity: 0;
  transform: translateY(26px);
}

html.pc-motion-ready .pc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pc-filter-hidden {
  opacity: 0 !important;
  pointer-events: none;
  transform: scale(0.96) !important;
}

.pc-filter-removed {
  display: none !important;
}

@keyframes pc-orbit-spin {
  to { transform: rotate(360deg); }
}

@keyframes pc-orbit-float {
  from { transform: translate3d(-1.5rem, -0.5rem, 0) scale(0.98); }
  to { transform: translate3d(1.5rem, 1rem, 0) scale(1.04); }
}

/* Hero desktop large */
@media (min-width: 1800px) {
  .pc-hero-shell {
    gap: 4.5rem;
    grid-template-columns: minmax(0, 0.98fr) minmax(650px, 1.02fr);
  }

  .pc-hero-copy h1 {
    font-size: 4.35rem;
  }
}

/* Hero laptop */
@media (max-width: 1199.98px) {
  .pc-showcase-page .container {
    width: min(calc(100% - 40px), 1160px);
  }

  .pc-showcase-hero {
    padding: 6.5rem 0 3.5rem;
  }

  .pc-hero-shell {
    gap: 2.25rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
    min-height: min(500px, calc(100svh - 132px));
  }

  .pc-hero-copy h1 {
    font-size: 3.35rem;
    line-height: 1.02;
  }

  .pc-hero-copy > p {
    font-size: 1.04rem;
    line-height: 1.58;
    margin-top: 1.15rem;
  }

  .pc-hero-actions {
    margin-top: 1.25rem;
  }

  .pc-proof-row {
    margin-top: 1.15rem;
  }

  .pc-hero-visual,
  .pc-hero--services .pc-hero-visual,
  .pc-hero--portfolio .pc-hero-visual {
    aspect-ratio: 1.48 / 1;
    max-height: 430px;
  }

  .pc-service-grid,
  .pc-principle-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pc-case-card,
  .pc-case-card.pc-case-wide {
    grid-column: span 6;
  }

  .pc-proof-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pc-proof-board-item:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(120, 194, 241, 0.13);
  }

  .pc-proof-board-item:nth-child(4) {
    border-top: 1px solid rgba(120, 194, 241, 0.13);
  }
}

/* Hero tablette */
@media (max-width: 991.98px) {
  body.pc-showcase-page {
    background: linear-gradient(180deg, #06101f 0, #09172c 30%, #f6f9fd 30%, #f8fbff 100%);
  }

  .pc-showcase-page .navbar-collapse {
    background: rgba(5, 14, 29, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 8, 24, 0.42);
    margin-top: 0.7rem;
    padding: 0.85rem;
  }

  .pc-hero-shell,
  .pc-feature-stage {
    grid-template-columns: 1fr;
  }

  .pc-showcase-hero {
    padding: 7rem 0 3.75rem;
  }

  .pc-hero-shell {
    gap: 2.1rem;
    min-height: 0;
  }

  .pc-hero-copy {
    max-width: 820px;
  }

  .pc-hero-copy h1 {
    font-size: 3.45rem;
    line-height: 1.04;
  }

  .pc-hero-visual {
    aspect-ratio: 16 / 10;
    max-height: 520px;
    min-height: 0;
    transform: none;
  }

  .pc-feature-stage {
    gap: 2rem;
  }

  .pc-feature-media {
    max-height: 540px;
  }

  .pc-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 2.3rem;
  }

  .pc-timeline::before {
    display: none;
  }

  .pc-cta-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Hero mobile */
@media (max-width: 767.98px) {
  .pc-showcase-page .container {
    width: min(calc(100% - 32px), 720px);
  }

  .pc-showcase-hero {
    min-height: auto;
    padding: 6.35rem 0 3.1rem;
  }

  .pc-hero-copy h1 {
    font-size: 3.05rem;
    line-height: 1.05;
  }

  .pc-hero-copy > p {
    font-size: 1rem;
    line-height: 1.58;
  }

  .pc-hero-visual {
    aspect-ratio: 1.45 / 1;
    max-height: none;
    min-height: 0;
  }

  .pc-hero-orbit {
    display: none;
  }

  .pc-service-grid,
  .pc-principle-grid,
  .pc-case-grid,
  .pc-detail-columns {
    grid-template-columns: 1fr;
  }

  .pc-case-card,
  .pc-case-card.pc-case-wide {
    grid-column: auto;
  }

  .pc-case-wide .pc-case-media,
  .pc-case-media {
    aspect-ratio: 16 / 10;
    height: auto;
  }

  .pc-proof-board {
    grid-template-columns: 1fr;
  }

  .pc-proof-board-item + .pc-proof-board-item,
  .pc-proof-board-item:nth-child(3),
  .pc-proof-board-item:nth-child(4) {
    border-left: 0;
    border-top: 1px solid rgba(120, 194, 241, 0.13);
  }

  .pc-timeline {
    grid-template-columns: 1fr;
  }

  .pc-timeline-step {
    align-items: flex-start;
    display: grid;
    gap: 0 1rem;
    grid-template-columns: auto 1fr;
    text-align: left;
  }

  .pc-timeline-node {
    grid-row: span 2;
    margin-bottom: 0;
  }

  .pc-timeline-step p {
    margin-inline: 0;
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  .pc-showcase-page .container {
    width: min(calc(100% - 28px), 540px);
  }

  .pc-showcase-hero {
    padding: 6rem 0 2.65rem;
  }

  .pc-eyebrow {
    margin-bottom: 0.9rem;
  }

  .pc-hero-copy h1 {
    font-size: 2.65rem;
    line-height: 1.07;
  }

  .pc-proof-row {
    gap: 0.55rem;
  }

  .pc-hero-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.7rem;
  }

  .pc-btn-primary,
  .pc-btn-ghost {
    width: 100%;
  }

  .pc-hero-visual {
    border-radius: 24px;
    min-height: 0;
  }

  .pc-hero-status {
    bottom: 0.8rem;
    left: 0.8rem;
    max-width: calc(100% - 1.6rem);
    right: 0.8rem;
  }

  .pc-section {
    padding-block: 4.2rem;
    scroll-margin-top: 78px;
  }

  .pc-section-heading {
    max-width: 100%;
  }

  .pc-section-heading h2 {
    font-size: 2.05rem;
    line-height: 1.08;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  .pc-filter-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
    overflow-x: visible;
    padding-bottom: 0.45rem;
  }

  .pc-filter-button {
    min-width: 0;
    width: 100%;
  }

  .pc-feature-media {
    min-height: 0;
  }

  .pc-detail-shell {
    border-radius: 22px;
    padding: 1.3rem;
  }

  .pc-cta-panel::after {
    height: 190px;
    right: -48px;
    top: -78px;
    width: 190px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }

  html.pc-motion-ready .pc-reveal,
  .pc-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .pc-interactive-card,
  .pc-hero-visual {
    transform: none !important;
  }
}

/* PIXICORE_PUBLIC_CAPTURE_CARDS_20260809_V1 */
.pc-portfolio-page .pc-case-card--capture {
  overflow: hidden;
  border-radius: 8px;
  border-color: rgba(71, 174, 207, 0.24);
  background: #071527;
  box-shadow: 0 22px 52px rgba(4, 25, 48, 0.17);
}

.pc-portfolio-page .pc-case-card--capture .pc-case-media,
.pc-portfolio-page .pc-case-card--capture.pc-case-wide .pc-case-media {
  aspect-ratio: 16 / 9;
  min-height: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,248,249,.92)),
    #f4f8fb;
  border-bottom: 1px solid rgba(77, 142, 181, 0.14);
}

.pc-portfolio-page .pc-case-card--capture .pc-case-media::after {
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 74%);
}

.pc-portfolio-page .pc-case-card--capture .pc-case-media picture,
.pc-portfolio-page .pc-case-card--capture .pc-case-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.pc-portfolio-page .pc-case-card--capture .pc-case-media img {
  padding: 0.32rem;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.pc-portfolio-page .pc-case-card--capture:hover .pc-case-media img,
.pc-portfolio-page .pc-case-card--capture:focus-within .pc-case-media img {
  transform: scale(1.008);
}

.pc-portfolio-page .pc-case-card--capture .pc-visual-note {
  inset: 0.65rem 0.65rem auto auto;
  width: auto;
  max-width: calc(100% - 1.3rem);
  padding: 0.42rem 0.56rem;
  border-radius: 6px;
  background: rgba(5, 24, 42, 0.78);
  font-size: 0.62rem;
}

.pc-case-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1rem;
  margin: 0 0 1.15rem;
  padding: 0.85rem 0 0;
  border-top: 1px solid rgba(115, 194, 219, 0.13);
  list-style: none;
}

.pc-case-capabilities li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  align-items: start;
  gap: 0.5rem;
  min-width: 0;
  color: #bed0df;
  font-size: 0.76rem;
  font-weight: 680;
  line-height: 1.35;
}

.pc-case-capabilities i {
  margin-top: 0.12rem;
  color: #59dcc6;
  text-align: center;
}

.pc-case-capabilities li:nth-child(2n) i {
  color: #78b9ff;
}

@media (max-width: 767.98px) {
  .pc-portfolio-page .pc-case-card--capture,
  .pc-portfolio-page .pc-case-card--capture.pc-case-wide {
    border-radius: 8px;
  }

  .pc-portfolio-page .pc-case-card--capture .pc-case-media,
  .pc-portfolio-page .pc-case-card--capture.pc-case-wide .pc-case-media {
    aspect-ratio: 16 / 9;
  }

  .pc-portfolio-page .pc-case-card--capture .pc-case-media img {
    padding: 0.22rem;
    object-fit: contain;
    object-position: center;
  }

  .pc-case-capabilities {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pc-portfolio-page .pc-case-card--capture .pc-case-media img {
    transition: none !important;
  }
}

/* PIXICORE_ABOUT_MOBILE_ORBIT_V1_START */

@media (max-width: 767.98px) {
  body.pc-about-page {
    overflow-x: clip;
  }

  .pc-about-page .pc-showcase-hero {
    min-height: 0 !important;
    padding:
      clamp(5.7rem, 15vw, 6.6rem)
      0
      clamp(2.8rem, 8vw, 3.5rem);
  }

  .pc-about-page .pc-showcase-hero .container {
    width: min(calc(100% - 28px), 680px);
    max-width: 680px;
  }

  /*
   * Visuel et orbite en premier.
   */
  .pc-about-page .pc-hero-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(2rem, 7vw, 2.8rem);
    min-height: 0;
  }

  .pc-about-page .pc-hero-visual {
    order: 1;
    position: relative;
    width: min(100%, 520px);
    max-width: 520px;
    margin: 0 auto;
    aspect-ratio: 1.18 / 1;
    min-height: 330px;
    max-height: 440px;
    border-radius: 26px;
    overflow: hidden;
    transform: none !important;
  }

  .pc-about-page .pc-hero-visual picture,
  .pc-about-page .pc-hero-visual img {
    width: 100%;
    height: 100%;
  }

  .pc-about-page .pc-hero--about .pc-hero-visual img {
    object-fit: cover;
    object-position: 52% center;
    transform: scale(1.03);
  }

  /*
   * Orbite restaurée et recentrée.
   */
  .pc-about-page .pc-hero-orbit {
    display: block !important;
    width: clamp(170px, 48vw, 220px);
    height: clamp(170px, 48vw, 220px);
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    border-color: rgba(74, 224, 203, .28);
    z-index: 3;
    pointer-events: none;
  }

  .pc-about-page .pc-hero-orbit::before {
    inset: -22px;
    border-color: rgba(73, 169, 255, .25);
  }

  .pc-about-page .pc-hero-orbit::after {
    inset: -44px;
    border-color: rgba(73, 169, 255, .24);
    border-left-color: #42e5c7;
    border-right-color: transparent;
  }

  /*
   * Statut compact sous l’image.
   */
  .pc-about-page .pc-hero-status {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-width: none;
    padding: .78rem .85rem;
    gap: .65rem;
    border-radius: 16px;
  }

  .pc-about-page .pc-hero-status-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    font-size: 1.2rem;
  }

  .pc-about-page .pc-hero-status strong {
    font-size: .88rem;
  }

  .pc-about-page .pc-hero-status span span {
    font-size: .75rem;
    line-height: 1.35;
  }

  /*
   * Texte après le visuel.
   */
  .pc-about-page .pc-hero-copy {
    order: 2;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .pc-about-page .pc-eyebrow {
    justify-content: center;
    width: 100%;
    margin-bottom: .95rem;
    text-align: center;
  }

  /*
   * Titre équilibré et non cassé arbitrairement.
   */
  .pc-about-page .pc-hero-copy h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 11.5ch);
    max-width: 11.5ch;
    margin: 0 auto;
    font-size: clamp(2.35rem, 10.8vw, 3.3rem);
    line-height: 1.01;
    letter-spacing: -.045em;
    text-align: center;
    text-wrap: balance;
  }

  .pc-about-page .pc-hero-title-line {
    display: block;
    width: 100%;
    text-align: center;
    text-wrap: balance;
  }

  .pc-about-page .pc-gradient-text {
    margin-top: .08em;
    background:
      linear-gradient(
        100deg,
        #d9f7ff 0%,
        #56dfff 44%,
        #58efbd 100%
      );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .pc-about-page .pc-hero-copy > p {
    width: min(100%, 36rem);
    max-width: 36rem;
    margin:
      1.25rem
      auto
      0;
    font-size: clamp(.98rem, 4.2vw, 1.08rem);
    line-height: 1.58;
    text-align: center;
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .pc-about-page .pc-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .72rem;
    width: min(100%, 32rem);
    margin:
      1.45rem
      auto
      0;
  }

  .pc-about-page .pc-btn-primary,
  .pc-about-page .pc-btn-ghost {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    padding: .82rem 1rem;
    border-radius: 17px;
    text-align: center;
  }

  .pc-about-page .pc-proof-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
    width: min(100%, 32rem);
    margin:
      1.15rem
      auto
      0;
  }

  .pc-about-page .pc-proof-pill {
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
    padding: .7rem .85rem;
    border-radius: 14px;
    text-align: left;
  }
}

@media (max-width: 430px) {
  .pc-about-page .pc-showcase-hero .container {
    width: min(calc(100% - 24px), 420px);
  }

  .pc-about-page .pc-hero-visual {
    min-height: 310px;
    max-height: 380px;
    border-radius: 22px;
  }

  .pc-about-page .pc-hero-orbit {
    width: clamp(155px, 46vw, 190px);
    height: clamp(155px, 46vw, 190px);
  }

  .pc-about-page .pc-hero-copy h1 {
    width: min(100%, 10.7ch);
    max-width: 10.7ch;
    font-size: clamp(2.15rem, 10.6vw, 2.85rem);
  }
}

@media (max-width: 360px) {
  .pc-about-page .pc-hero-visual {
    min-height: 285px;
  }

  .pc-about-page .pc-hero-status span span {
    display: none;
  }

  .pc-about-page .pc-hero-copy h1 {
    width: min(100%, 10.2ch);
    max-width: 10.2ch;
    font-size: 2.05rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pc-about-page .pc-hero-orbit,
  .pc-about-page .pc-hero-orbit::before,
  .pc-about-page .pc-hero-orbit::after {
    animation: none !important;
  }
}

/* PIXICORE_ABOUT_MOBILE_ORBIT_V1_END */

/* PIXICORE_SERVICES_MOBILE_V1_START */

/*
 * Services mobile 2026
 * Le visuel ouvre la page, suivi d’un contenu éditorial centré.
 */

@media (max-width: 767.98px) {
  body.pc-services-page {
    overflow-x: clip;
  }

  .pc-services-page .pc-showcase-hero {
    min-height: 0 !important;
    padding:
      clamp(5.7rem, 15vw, 6.6rem)
      0
      clamp(2.8rem, 8vw, 3.6rem);
  }

  .pc-services-page .pc-showcase-hero .container {
    width: min(calc(100% - 28px), 680px);
    max-width: 680px;
  }

  /*
   * Visuel en premier.
   */
  .pc-services-page .pc-hero-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(2rem, 7vw, 2.9rem);
    min-height: 0;
  }

  .pc-services-page .pc-hero-visual {
    order: 1;
    position: relative;
    width: min(100%, 540px);
    max-width: 540px;
    margin: 0 auto;
    aspect-ratio: 1.18 / 1;
    min-height: 330px;
    max-height: 450px;
    overflow: hidden;
    border-radius: 26px;
    transform: none !important;
  }

  .pc-services-page .pc-hero-visual picture,
  .pc-services-page .pc-hero-visual img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pc-services-page .pc-hero--services .pc-hero-visual img {
    object-fit: cover;
    object-position: 58% center;
    transform: scale(1.025);
  }

  /*
   * Orbite restaurée.
   */
  .pc-services-page .pc-hero-orbit {
    display: block !important;
    width: clamp(172px, 48vw, 224px);
    height: clamp(172px, 48vw, 224px);
    top: 49%;
    right: auto;
    left: 50%;
    z-index: 3;
    border-color: rgba(74, 224, 203, .30);
    transform: translate(-50%, -50%);
    pointer-events: none;
  }

  .pc-services-page .pc-hero-orbit::before {
    inset: -22px;
    border-color: rgba(73, 169, 255, .26);
  }

  .pc-services-page .pc-hero-orbit::after {
    inset: -44px;
    border-color: rgba(73, 169, 255, .24);
    border-left-color: #42e5c7;
    border-right-color: transparent;
  }

  /*
   * Statut dans la partie basse de l’image.
   */
  .pc-services-page .pc-hero-status {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-width: none;
    gap: .65rem;
    padding: .78rem .85rem;
    border-radius: 16px;
  }

  .pc-services-page .pc-hero-status-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    font-size: 1.2rem;
  }

  .pc-services-page .pc-hero-status strong {
    font-size: .88rem;
  }

  .pc-services-page .pc-hero-status span span {
    font-size: .75rem;
    line-height: 1.35;
  }

  /*
   * Bloc de contenu centré.
   */
  .pc-services-page .pc-hero-copy {
    order: 2;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .pc-services-page .pc-hero-copy .pc-eyebrow {
    justify-content: center;
    width: 100%;
    margin-bottom: .95rem;
    text-align: center;
  }

  .pc-services-page .pc-hero-copy h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 11.4ch);
    max-width: 11.4ch;
    margin: 0 auto;
    font-size: clamp(2.35rem, 10.8vw, 3.3rem);
    line-height: 1.01;
    letter-spacing: -.045em;
    text-align: center;
    text-wrap: balance;
  }

  .pc-services-page .pc-hero-title-line {
    display: block;
    width: 100%;
    text-align: center;
    text-wrap: balance;
  }

  .pc-services-page .pc-gradient-text {
    margin-top: .08em;
    background:
      linear-gradient(
        100deg,
        #d9f7ff 0%,
        #56dfff 44%,
        #58efbd 100%
      );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .pc-services-page .pc-hero-copy > p {
    width: min(100%, 36rem);
    max-width: 36rem;
    margin: 1.25rem auto 0;
    font-size: clamp(.98rem, 4.2vw, 1.08rem);
    line-height: 1.58;
    text-align: center;
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .pc-services-page .pc-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .72rem;
    width: min(100%, 32rem);
    margin: 1.45rem auto 0;
  }

  .pc-services-page .pc-hero-actions .pc-btn-primary,
  .pc-services-page .pc-hero-actions .pc-btn-ghost {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    padding: .82rem 1rem;
    border-radius: 17px;
    text-align: center;
  }

  .pc-services-page .pc-proof-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
    width: min(100%, 32rem);
    margin: 1.15rem auto 0;
  }

  .pc-services-page .pc-proof-pill {
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
    padding: .7rem .85rem;
    border-radius: 14px;
    text-align: left;
  }

  /*
   * Titres des sections.
   */
  .pc-services-page .pc-section-heading {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .pc-services-page .pc-section-heading h2 {
    width: min(100%, 14ch);
    max-width: 14ch;
    margin-inline: auto;
    font-size: clamp(2rem, 8.4vw, 2.55rem);
    line-height: 1.06;
    letter-spacing: -.035em;
    text-align: center;
    text-wrap: balance;
  }

  .pc-services-page .pc-section-heading p {
    width: min(100%, 36rem);
    margin-inline: auto;
    font-size: .98rem;
    line-height: 1.58;
    text-align: center;
    text-wrap: pretty;
  }

  /*
   * Barre de filtres compacte.
   */
  .pc-services-page .pc-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    width: 100%;
    margin-top: 1.5rem;
    padding: .55rem;
    overflow: visible;
    border-radius: 18px;
  }

  .pc-services-page .pc-filter-button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: .65rem .55rem;
    border-radius: 13px;
    font-size: .78rem;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
  }

  /*
   * Cartes de services.
   */
  .pc-services-page .pc-service-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .pc-services-page .pc-service-card {
    min-height: 0;
    padding: 1.25rem;
    border-radius: 22px;
    transform: none !important;
  }

  .pc-services-page .pc-service-card:hover {
    transform: translateY(-2px) !important;
  }

  .pc-services-page .pc-service-card .pc-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    font-size: 1.2rem;
  }

  .pc-services-page .pc-service-card .pc-card-kicker {
    margin-top: 1rem;
    font-size: .72rem;
    letter-spacing: .12em;
  }

  .pc-services-page .pc-service-card h3 {
    min-height: 0;
    margin-top: .65rem;
    font-size: clamp(1.35rem, 6vw, 1.7rem);
    line-height: 1.12;
    letter-spacing: -.025em;
    text-wrap: balance;
  }

  .pc-services-page .pc-service-card > p {
    min-height: 0;
    margin-top: .75rem;
    font-size: .95rem;
    line-height: 1.55;
    text-wrap: pretty;
  }

  .pc-services-page .pc-mini-list {
    display: grid;
    gap: .55rem;
    margin: 1rem 0 0;
    padding: 0;
  }

  .pc-services-page .pc-mini-list li {
    align-items: flex-start;
    min-height: 0;
    font-size: .88rem;
    line-height: 1.42;
  }

  .pc-services-page .pc-card-action {
    width: 100%;
    min-height: 46px;
    margin-top: 1.1rem;
    justify-content: space-between;
    padding: .7rem .8rem;
    border-radius: 14px;
  }

  /*
   * Timeline.
   */
  .pc-services-page .pc-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .pc-services-page .pc-timeline-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .2rem .85rem;
    align-items: start;
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(78, 170, 224, .15);
    border-radius: 18px;
    text-align: left;
  }

  .pc-services-page .pc-timeline-node {
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
    font-size: .8rem;
  }

  .pc-services-page .pc-timeline-step h3 {
    margin: .1rem 0 0;
    font-size: 1.12rem;
    line-height: 1.2;
  }

  .pc-services-page .pc-timeline-step p {
    margin: .25rem 0 0;
    max-width: none;
    font-size: .9rem;
    line-height: 1.45;
  }

  /*
   * CTA final.
   */
  .pc-services-page .pc-cta-panel {
    align-items: stretch;
    flex-direction: column;
    gap: 1.4rem;
    padding: 1.4rem;
    border-radius: 24px;
    text-align: center;
  }

  .pc-services-page .pc-cta-panel h2 {
    width: min(100%, 14ch);
    margin-inline: auto;
    font-size: clamp(1.9rem, 8vw, 2.45rem);
    line-height: 1.08;
    text-wrap: balance;
  }

  .pc-services-page .pc-cta-panel p {
    text-align: center;
    text-wrap: pretty;
  }

  .pc-services-page .pc-cta-panel .pc-btn-primary {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .pc-services-page .pc-showcase-hero .container {
    width: min(calc(100% - 24px), 420px);
  }

  .pc-services-page .pc-hero-visual {
    min-height: 310px;
    max-height: 390px;
    border-radius: 22px;
  }

  .pc-services-page .pc-hero-orbit {
    width: clamp(155px, 46vw, 192px);
    height: clamp(155px, 46vw, 192px);
  }

  .pc-services-page .pc-hero-copy h1 {
    width: min(100%, 10.8ch);
    max-width: 10.8ch;
    font-size: clamp(2.15rem, 10.6vw, 2.85rem);
  }

  .pc-services-page .pc-filter-bar {
    grid-template-columns: 1fr 1fr;
  }

  .pc-services-page .pc-service-card {
    padding: 1.1rem;
    border-radius: 20px;
  }
}

@media (max-width: 360px) {
  .pc-services-page .pc-hero-visual {
    min-height: 285px;
  }

  .pc-services-page .pc-hero-status span span {
    display: none;
  }

  .pc-services-page .pc-hero-copy h1 {
    width: min(100%, 10.2ch);
    max-width: 10.2ch;
    font-size: 2.05rem;
  }

  .pc-services-page .pc-filter-bar {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pc-services-page .pc-hero-orbit,
  .pc-services-page .pc-hero-orbit::before,
  .pc-services-page .pc-hero-orbit::after,
  .pc-services-page .pc-service-card {
    animation: none !important;
    transition: none !important;
  }
}

/* PIXICORE_SERVICES_MOBILE_V1_END */

/* PIXICORE_PORTFOLIO_MOBILE_V1_START */

@media (max-width: 767.98px) {
  body.pc-portfolio-page {
    overflow-x: clip;
  }

  .pc-portfolio-page .pc-showcase-hero {
    min-height: 0 !important;
    padding:
      clamp(5.7rem, 15vw, 6.6rem)
      0
      clamp(2.8rem, 8vw, 3.6rem);
  }

  .pc-portfolio-page .pc-showcase-hero .container {
    width: min(calc(100% - 28px), 680px);
    max-width: 680px;
  }

  /*
   * Visuel Portfolio en premier.
   */
  .pc-portfolio-page .pc-hero-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(2rem, 7vw, 2.9rem);
    min-height: 0;
  }

  .pc-portfolio-page .pc-hero-visual {
    order: 1;
    position: relative;
    width: min(100%, 540px);
    max-width: 540px;
    min-height: 330px;
    max-height: 450px;
    margin: 0 auto;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    border-radius: 26px;
    transform: none !important;
  }

  .pc-portfolio-page .pc-hero-visual picture,
  .pc-portfolio-page .pc-hero-visual img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pc-portfolio-page .pc-hero--portfolio .pc-hero-visual img {
    object-fit: cover;
    object-position: 58% center;
    transform: scale(1.025);
  }

  /*
   * Orbite restaurée.
   */
  .pc-portfolio-page .pc-hero-orbit {
    display: block !important;
    width: clamp(172px, 48vw, 224px);
    height: clamp(172px, 48vw, 224px);
    top: 49%;
    right: auto;
    left: 50%;
    z-index: 3;
    border-color: rgba(74, 224, 203, .30);
    transform: translate(-50%, -50%);
    pointer-events: none;
  }

  .pc-portfolio-page .pc-hero-orbit::before {
    inset: -22px;
    border-color: rgba(73, 169, 255, .26);
  }

  .pc-portfolio-page .pc-hero-orbit::after {
    inset: -44px;
    border-color: rgba(73, 169, 255, .24);
    border-left-color: #42e5c7;
    border-right-color: transparent;
  }

  /*
   * Statut compact.
   */
  .pc-portfolio-page .pc-hero-status {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-width: none;
    gap: .65rem;
    padding: .78rem .85rem;
    border-radius: 16px;
  }

  .pc-portfolio-page .pc-hero-status-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    font-size: 1.15rem;
  }

  .pc-portfolio-page .pc-hero-status strong {
    font-size: .88rem;
  }

  .pc-portfolio-page .pc-hero-status span span {
    font-size: .75rem;
    line-height: 1.35;
  }

  /*
   * Texte après le visuel.
   */
  .pc-portfolio-page .pc-hero-copy {
    order: 2;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .pc-portfolio-page .pc-hero-copy .pc-eyebrow {
    justify-content: center;
    width: 100%;
    margin-bottom: .95rem;
    text-align: center;
  }

  .pc-portfolio-page .pc-hero-copy h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 11.4ch);
    max-width: 11.4ch;
    margin: 0 auto;
    font-size: clamp(2.35rem, 10.8vw, 3.3rem);
    line-height: 1.01;
    letter-spacing: -.045em;
    text-align: center;
    text-wrap: balance;
  }

  .pc-portfolio-page .pc-hero-title-line {
    display: block;
    width: 100%;
    text-align: center;
    text-wrap: balance;
  }

  .pc-portfolio-page .pc-gradient-text {
    margin-top: .08em;
    background:
      linear-gradient(
        100deg,
        #d9f7ff 0%,
        #56dfff 44%,
        #58efbd 100%
      );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .pc-portfolio-page .pc-hero-copy > p {
    width: min(100%, 36rem);
    max-width: 36rem;
    margin: 1.25rem auto 0;
    font-size: clamp(.98rem, 4.2vw, 1.08rem);
    line-height: 1.58;
    text-align: center;
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .pc-portfolio-page .pc-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .72rem;
    width: min(100%, 32rem);
    margin: 1.45rem auto 0;
  }

  .pc-portfolio-page .pc-hero-actions .pc-btn-primary,
  .pc-portfolio-page .pc-hero-actions .pc-btn-ghost {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    padding: .82rem 1rem;
    border-radius: 17px;
  }

  .pc-portfolio-page .pc-proof-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
    width: min(100%, 32rem);
    margin: 1.15rem auto 0;
  }

  .pc-portfolio-page .pc-proof-pill {
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
    padding: .7rem .85rem;
    border-radius: 14px;
    text-align: left;
  }

  /*
   * En-têtes des sections.
   */
  .pc-portfolio-page .pc-section-heading {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .pc-portfolio-page .pc-section-heading h2 {
    width: min(100%, 15ch);
    max-width: 15ch;
    margin-inline: auto;
    font-size: clamp(2rem, 8.4vw, 2.55rem);
    line-height: 1.06;
    letter-spacing: -.035em;
    text-align: center;
    text-wrap: balance;
  }

  .pc-portfolio-page .pc-section-heading p {
    width: min(100%, 36rem);
    margin-inline: auto;
    font-size: .98rem;
    line-height: 1.58;
    text-align: center;
    text-wrap: pretty;
  }

  /*
   * Filtres Portfolio.
   */
  .pc-portfolio-page .pc-filter-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    width: 100%;
    margin-top: 1.5rem;
    padding: .55rem;
    overflow: visible;
    border-radius: 18px;
  }

  .pc-portfolio-page .pc-filter-button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: .65rem .55rem;
    border-radius: 13px;
    font-size: .78rem;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
  }

  /*
   * Cartes Portfolio.
   */
  .pc-portfolio-page .pc-case-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .pc-portfolio-page .pc-case-card,
  .pc-portfolio-page .pc-case-card.pc-case-wide {
    display: flex;
    flex-direction: column;
    grid-column: auto;
    min-height: 0;
    overflow: hidden;
    border-radius: 22px;
    transform: none !important;
  }

  .pc-portfolio-page .pc-case-card:hover {
    transform: translateY(-2px) !important;
  }

  .pc-portfolio-page .pc-case-media,
  .pc-portfolio-page .pc-case-wide .pc-case-media {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    min-height: 0;
    border-radius: 0;
    overflow: hidden;
  }

  .pc-portfolio-page .pc-case-media picture,
  .pc-portfolio-page .pc-case-media img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pc-portfolio-page .pc-case-media img {
    object-fit: cover;
    object-position: center;
  }

  .pc-portfolio-page .pc-visual-note {
    right: .7rem;
    bottom: .7rem;
    left: .7rem;
    width: auto;
    max-width: calc(100% - 1.4rem);
    padding: .5rem .65rem;
    border-radius: 12px;
    font-size: .7rem;
    text-align: center;
  }

  .pc-portfolio-page .pc-case-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 1.2rem;
  }

  .pc-portfolio-page .pc-status-badge {
    align-self: flex-start;
    max-width: 100%;
    font-size: .72rem;
  }

  .pc-portfolio-page .pc-case-body h3 {
    min-height: 0;
    margin-top: .8rem;
    font-size: clamp(1.35rem, 6vw, 1.72rem);
    line-height: 1.12;
    letter-spacing: -.025em;
    text-wrap: balance;
  }

  .pc-portfolio-page .pc-case-body > p {
    min-height: 0;
    margin-top: .7rem;
    font-size: .95rem;
    line-height: 1.55;
    text-wrap: pretty;
  }

  .pc-portfolio-page .pc-card-action {
    width: 100%;
    min-height: 46px;
    margin-top: 1.1rem;
    justify-content: space-between;
    padding: .7rem .8rem;
    border-radius: 14px;
  }

  /*
   * CTA final.
   */
  .pc-portfolio-page .pc-cta-panel {
    align-items: stretch;
    flex-direction: column;
    gap: 1.4rem;
    padding: 1.4rem;
    border-radius: 24px;
    text-align: center;
  }

  .pc-portfolio-page .pc-cta-panel h2 {
    width: min(100%, 14ch);
    margin-inline: auto;
    font-size: clamp(1.9rem, 8vw, 2.45rem);
    line-height: 1.08;
    text-wrap: balance;
  }

  .pc-portfolio-page .pc-cta-panel p {
    text-align: center;
    text-wrap: pretty;
  }

  .pc-portfolio-page .pc-cta-panel .pc-btn-primary {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .pc-portfolio-page .pc-showcase-hero .container {
    width: min(calc(100% - 24px), 420px);
  }

  .pc-portfolio-page .pc-hero-visual {
    min-height: 310px;
    max-height: 390px;
    border-radius: 22px;
  }

  .pc-portfolio-page .pc-hero-orbit {
    width: clamp(155px, 46vw, 192px);
    height: clamp(155px, 46vw, 192px);
  }

  .pc-portfolio-page .pc-hero-copy h1 {
    width: min(100%, 10.8ch);
    max-width: 10.8ch;
    font-size: clamp(2.15rem, 10.6vw, 2.85rem);
  }

  .pc-portfolio-page .pc-case-body {
    padding: 1.05rem;
  }
}

@media (max-width: 360px) {
  .pc-portfolio-page .pc-hero-visual {
    min-height: 285px;
  }

  .pc-portfolio-page .pc-hero-status span span {
    display: none;
  }

  .pc-portfolio-page .pc-hero-copy h1 {
    width: min(100%, 10.2ch);
    max-width: 10.2ch;
    font-size: 2.05rem;
  }

  .pc-portfolio-page .pc-filter-bar {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pc-portfolio-page .pc-hero-orbit,
  .pc-portfolio-page .pc-hero-orbit::before,
  .pc-portfolio-page .pc-hero-orbit::after,
  .pc-portfolio-page .pc-case-card {
    animation: none !important;
    transition: none !important;
  }
}

/* PIXICORE_PORTFOLIO_MOBILE_V1_END */


/* PIXICORE_AI_LANGUAGE_SHOWCASE_V2 */
.pc-language-proof {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(83, 226, 154, .22);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(16, 42, 75, .88), rgba(8, 27, 54, .74));
  box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 20px 52px rgba(0, 10, 30, .18);
}
.pc-language-proof-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 16px;
  color: #041426;
  background: linear-gradient(135deg, var(--pc-green), var(--pc-cyan));
  box-shadow: 0 12px 30px rgba(57, 191, 255, .18);
}
.pc-language-proof strong { display: block; color: var(--pc-white); font-size: .98rem; line-height: 1.35; }
.pc-language-proof p { margin: .3rem 0 .75rem; color: rgba(225, 240, 255, .72); font-size: .86rem; line-height: 1.55; }
.pc-language-chips { display: flex; flex-wrap: wrap; gap: .42rem; }
.pc-language-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 1.72rem;
  padding: .25rem .52rem;
  border-radius: 999px;
  border: 1px solid rgba(118, 224, 255, .2);
  background: rgba(3, 16, 34, .52);
  color: #dff8ff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
}
.pc-case-language-contract {
  display: flex;
  align-items: center;
  gap: .72rem;
  margin: .85rem 0 .15rem;
  padding: .72rem .8rem;
  border-radius: 16px;
  border: 1px solid rgba(47, 217, 196, .18);
  background: linear-gradient(135deg, rgba(47, 217, 196, .08), rgba(47, 117, 255, .08));
}
.pc-case-language-contract > i { color: var(--pc-teal); font-size: 1.05rem; }
.pc-case-language-contract span,
.pc-case-language-contract strong,
.pc-case-language-contract small { display: block; min-width: 0; }
.pc-case-language-contract strong { color: var(--pc-ink); font-size: .82rem; line-height: 1.35; }
.pc-case-language-contract small { margin-top: .16rem; color: #5d718b; font-size: .7rem; line-height: 1.4; }
@media (min-width: 1800px) {
  .pc-language-proof { padding: 1.2rem 1.3rem; }
  .pc-language-proof strong { font-size: 1.05rem; }
  .pc-language-proof p { font-size: .93rem; }
}
@media (max-width: 560px) {
  .pc-language-proof { grid-template-columns: 1fr; padding: .9rem; border-radius: 17px; }
  .pc-language-proof-icon { width: 2.65rem; height: 2.65rem; }
  .pc-language-proof p { font-size: .8rem; }
  .pc-case-language-contract { align-items: flex-start; }
}

/* Keep real 16:9 product captures intact after the portfolio mobile cascade. */
@media (max-width: 767.98px) {
  .pc-portfolio-page .pc-case-card.pc-case-card--capture,
  .pc-portfolio-page .pc-case-card.pc-case-card--capture.pc-case-wide {
    overflow: hidden;
    border-radius: 8px;
  }

  .pc-portfolio-page .pc-case-card--capture .pc-case-media,
  .pc-portfolio-page .pc-case-card--capture.pc-case-wide .pc-case-media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    border-radius: 0;
  }

  .pc-portfolio-page .pc-case-card--capture .pc-case-media img {
    width: 100%;
    height: 100%;
    padding: 0.22rem;
    object-fit: contain;
    object-position: center;
  }

  .pc-portfolio-page .pc-case-card--capture .pc-visual-note {
    inset: 0.55rem 0.55rem auto auto;
    width: auto;
    max-width: calc(100% - 1.1rem);
  }
}
