/*
 * Scoped redesign styles for /projects/ and /business-collaboration/.
 * Keep this file separate from _shared.css and site-vivid.css.
 */
.projects-redesign,
.business-collaboration {
  --pc-canvas: #fbf9f6;
  --pc-paper: #fff;
  --pc-ink: #2c2a29;
  --pc-muted: #68615d;
  --pc-orange: #ff6b35;
  --pc-orange-text: #c23f10;
  --pc-glow: #ffa856;
  --pc-stone: #ded8d2;
  --pc-navy: #17324d;
  --pc-line: #087a3f;
  color: var(--pc-ink);
  background: var(--pc-canvas);
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  line-height: 1.85;
  overflow: clip;
}

.projects-redesign *,
.business-collaboration * { box-sizing: border-box; }

.projects-redesign h1,
.projects-redesign h2,
.projects-redesign h3,
.projects-redesign h4,
.business-collaboration h1,
.business-collaboration h2,
.business-collaboration h3,
.business-collaboration h4 {
  color: inherit;
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.32;
}

.projects-redesign p,
.business-collaboration p { line-height: 1.9; }

.projects-redesign a,
.business-collaboration a { text-underline-offset: .18em; }

.pc-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;
}

.pc-eyebrow {
  display: block;
  margin-bottom: 14px;
  color: var(--pc-orange-text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pc-eyebrow--light { color: #ffb47a; }

.pc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.pc-btn,
.pc-btn:visited {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  color: var(--pc-ink);
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}

.pc-btn:hover { transform: translateY(-2px); }
.pc-btn:focus-visible { outline: 4px solid var(--pc-navy); outline-offset: 3px; }
.pc-section--navy .pc-btn:focus-visible,
.pc-final-cta .pc-btn:focus-visible,
.collab-final .pc-btn:focus-visible { outline-color: #fff; }
.pc-btn--orange,
.pc-btn--orange:visited { color: #211b18; background: var(--pc-orange); }
.pc-btn--orange:hover { color: #211b18; background: var(--pc-glow); }
.pc-btn--dark,
.pc-btn--dark:visited { color: #fff; background: var(--pc-navy); }
.pc-btn--dark:hover { color: #fff; background: #234b6c; }
.pc-btn--line,
.pc-btn--line:visited { color: #fff; background: var(--pc-line); }
.pc-btn--line:hover { color: #fff; background: #075f32; }
.pc-btn--ghost,
.pc-btn--ghost:visited { color: var(--pc-navy); border-color: rgba(23, 50, 77, .42); background: rgba(255,255,255,.72); }
.pc-btn--ghost:hover { color: var(--pc-navy); border-color: var(--pc-navy); background: #fff; }
.pc-btn--outline,
.pc-btn--outline:visited { color: var(--pc-navy); border-color: var(--pc-navy); background: transparent; }
.pc-btn--outline:hover { color: #fff; background: var(--pc-navy); }
.pc-btn--ghost-light,
.pc-btn--ghost-light:visited { color: #fff; border-color: rgba(255,255,255,.62); background: rgba(255,255,255,.06); }
.pc-btn--ghost-light:hover { color: var(--pc-navy); background: #fff; }

/* Text-baked vivid key visuals: same editorial tone as the Ikelabo home/about heroes. */
.pc-vivid-hero {
  position: relative;
  display: block;
  min-height: 0;
  overflow: hidden;
  padding: 76px 0 0;
  border-bottom: 10px solid #ffd84d;
  background: #070707;
}

.pc-vivid-hero__art,
.pc-vivid-hero__art img {
  display: block;
  width: 100%;
}

.pc-vivid-hero__art img {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.pc-vivid-hero__semantic {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.pc-hero-command {
  padding: 30px 0;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.15);
  background:
    radial-gradient(circle at 88% 10%, rgba(33,212,206,.16), transparent 26%),
    linear-gradient(135deg, #111 0%, #070707 100%);
}

.pc-hero-command__inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px 38px;
  align-items: center;
}

.pc-hero-command__copy > p {
  max-width: 58em;
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 15px;
  line-height: 1.8;
}

.pc-hero-command__copy > .pc-hero-command__note {
  margin-top: 7px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}

.pc-hero-command .collab-crumb {
  margin: 0 0 10px;
  color: rgba(255,255,255,.58);
}

.pc-hero-command .collab-crumb a,
.pc-hero-command .collab-crumb a:visited { color: rgba(255,255,255,.7); }

.pc-hero-command .pc-status-badge { margin-bottom: 10px; }
.pc-hero-command .pc-actions { justify-content: flex-end; }

/* Projects archive */
.pc-projects-hero {
  position: relative;
  min-height: 760px;
  padding: 154px 0 92px;
  background:
    radial-gradient(circle at 76% 22%, rgba(255,168,86,.26), transparent 27%),
    linear-gradient(135deg, #fff 0%, #fff7f0 58%, #f4ede7 100%);
}

.pc-projects-hero::after {
  position: absolute;
  right: -80px;
  bottom: 60px;
  width: 320px;
  height: 8px;
  border-radius: 999px;
  background: var(--pc-orange);
  transform: rotate(-13deg);
  content: "";
}

.pc-projects-hero__orbit {
  position: absolute;
  top: 142px;
  left: -180px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255,107,53,.22);
  border-radius: 50%;
}

.pc-projects-hero__orbit::before,
.pc-projects-hero__orbit::after {
  position: absolute;
  border-radius: 50%;
  background: var(--pc-orange);
  content: "";
}

.pc-projects-hero__orbit::before { top: 68px; right: 21px; width: 12px; height: 12px; }
.pc-projects-hero__orbit::after { right: 82px; bottom: 16px; width: 7px; height: 7px; }

.pc-projects-hero__grid,
.collab-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(34px, 5vw, 80px);
  align-items: center;
}

.pc-projects-hero__copy { position: relative; z-index: 2; }
.pc-projects-hero h1 {
  max-width: 9.5em;
  margin: 0 0 24px;
  font-size: clamp(48px, 5.7vw, 78px);
}

.pc-projects-hero__copy > p:not(.pc-projects-hero__note) {
  max-width: 40em;
  margin: 0 0 16px;
  color: var(--pc-muted);
  font-size: 17px;
}

.pc-projects-hero .pc-actions { margin-top: 28px; }
.pc-projects-hero__note { margin: 18px 0 0; color: var(--pc-muted); font-size: 13px; }

.pc-projects-hero__visual,
.collab-hero__visual,
.pc-feature__visual {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(44,42,41,.12);
  border-radius: 34px 10px 34px 10px;
  background: #efe9e3;
  box-shadow: 0 34px 90px -54px rgba(23,50,77,.72);
  transform: rotate(1.2deg);
}

.pc-projects-hero__visual::before,
.collab-hero__visual::before,
.pc-feature__visual::before {
  position: absolute;
  z-index: 2;
  inset: 16px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 24px 4px 24px 4px;
  pointer-events: none;
  content: "";
}

.pc-projects-hero__visual img,
.collab-hero__visual img,
.pc-feature__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }

.pc-section,
.collab-section { padding: clamp(76px, 9vw, 132px) 0; }
.pc-section--paper { background: var(--pc-paper); }
.pc-section--navy { color: #fff; background: var(--pc-navy); }

.pc-editorial-split {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: start;
}

.pc-editorial-split h2,
.collab-section-head h2,
.collab-terms h2 {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
}

.pc-prose { padding-top: 34px; border-top: 2px solid var(--pc-ink); }
.pc-prose p { margin: 0 0 18px; color: var(--pc-muted); font-size: 17px; }

.pc-section--navy h2 { max-width: 15em; margin: 0; font-size: clamp(38px, 5.2vw, 66px); }

.pc-way-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; margin-top: 50px; }
.pc-way-card {
  position: relative;
  min-height: 360px;
  padding: clamp(28px, 4vw, 48px);
  overflow: hidden;
  color: var(--pc-ink);
  border-radius: 6px 44px 6px 44px;
  background: #fff;
}
.pc-way-card::after { position: absolute; right: -32px; bottom: -38px; width: 150px; height: 150px; border: 22px solid rgba(23,50,77,.07); border-radius: 50%; content: ""; }
.pc-way-card--orange { background: var(--pc-orange); transform: translateY(36px); }
.pc-way-card > span { color: var(--pc-orange-text); font-family: "Space Grotesk", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.pc-way-card--orange > span { color: #211b18; }
.pc-way-card h3 { margin: 18px 0 14px; font-size: clamp(25px, 3vw, 36px); }
.pc-way-card p { margin: 0 0 24px; color: #514b47; }
.pc-way-card a,
.pc-way-card a:visited { position: relative; z-index: 2; color: var(--pc-navy); font-weight: 900; }

.pc-feature { background: linear-gradient(170deg, #fffaf5 0 62%, #fff 62%); }
.pc-feature__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.9fr); gap: clamp(40px,7vw,100px); align-items: center; }
.pc-feature__copy h2 { margin: 12px 0 24px; font-size: clamp(38px,5vw,62px); }
.pc-feature__copy > p { color: var(--pc-muted); }
.pc-status-badge { display: inline-flex; min-height: 34px; align-items: center; margin-bottom: 16px; padding: 6px 13px; color: #211b18; border-radius: 999px; background: var(--pc-orange); font-size: 13px; font-weight: 900; }
.pc-feature .pc-actions { margin-top: 28px; }
.pc-disclaimer { margin-top: 18px; padding-left: 15px; border-left: 3px solid var(--pc-orange); font-size: 13px; }
.pc-feature__visual { transform: rotate(-1.2deg); }

.pc-editorial-split--compact { align-items: end; }
.pc-section-lead { max-width: 42em; margin: 0; color: var(--pc-muted); }

.pc-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 42px; }
.pc-filters button {
  min-height: 46px;
  padding: 10px 17px;
  color: var(--pc-navy);
  border: 1px solid rgba(23,50,77,.28);
  border-radius: 999px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
.pc-filters button:hover,
.pc-filters button[aria-pressed="true"] { color: #fff; border-color: var(--pc-navy); background: var(--pc-navy); }
.pc-filters button:focus-visible { outline: 4px solid var(--pc-navy); outline-offset: 2px; }
.pc-filter-note { margin: 10px 0 28px; color: var(--pc-muted); font-size: 13px; }

.pc-project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.pc-project-card,
.pc-project-card:visited {
  display: grid;
  grid-template-columns: minmax(180px,.72fr) minmax(0,1.28fr);
  min-height: 350px;
  overflow: hidden;
  color: var(--pc-ink);
  border: 1px solid var(--pc-stone);
  border-radius: 24px 4px 24px 4px;
  background: #fff;
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.pc-project-card:hover { color: var(--pc-ink); border-color: rgba(255,107,53,.65); box-shadow: 0 26px 74px -48px rgba(23,50,77,.75); transform: translateY(-4px); }
.pc-project-card[hidden] { display: none !important; }
.pc-project-card--featured { grid-column: 1 / -1; grid-template-columns: minmax(320px,1.05fr) minmax(0,.95fr); min-height: 440px; border: 3px solid var(--pc-orange); }
.pc-project-card__image { min-height: 250px; overflow: hidden; background: #ede8e3; }
.pc-project-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,1,.36,1); }
.pc-project-card:hover .pc-project-card__image img { transform: scale(1.035); }
.pc-project-card__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(24px,3.2vw,42px); }
.pc-project-card__flags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.pc-project-card__flags b { padding: 5px 9px; color: #211b18; border-radius: 999px; background: #ffb47a; font-size: 11px; line-height: 1.3; }
.pc-project-card__flags b:nth-child(2) { color: #fff; background: var(--pc-line); }
.pc-project-card__tags { color: var(--pc-orange-text); font-family: "Space Grotesk",sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .12em; line-height: 1.5; }
.pc-project-card h3 { margin: 12px 0; font-size: clamp(25px,2.4vw,34px); }
.pc-project-card p { margin: 0 0 22px; color: var(--pc-muted); font-size: 14px; }
.pc-project-card__link { margin-top: auto; color: var(--pc-navy); font-weight: 900; }
.pc-empty { grid-column: 1 / -1; padding: 32px; border: 1px dashed var(--pc-stone); text-align: center; }

.pc-final-cta {
  position: relative;
  padding: clamp(92px,12vw,160px) 0;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,107,53,.36), transparent 28%),
    radial-gradient(circle at 12% 82%, rgba(255,168,86,.2), transparent 26%),
    var(--pc-navy);
}
.pc-final-cta::before { position: absolute; top: -130px; right: -90px; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; }
.pc-final-cta__inner { position: relative; z-index: 1; max-width: 900px; text-align: center; }
.pc-final-cta h2 { margin: 0 0 24px; font-size: clamp(40px,5.5vw,70px); }
.pc-final-cta__inner > p { max-width: 48em; margin: 0 auto 18px; color: rgba(255,255,255,.8); }
.pc-final-cta .pc-btn { margin-top: 18px; }
.pc-final-cta__note { font-size: 13px; }

/* Business collaboration */
.collab-hero {
  position: relative;
  padding: 154px 0 92px;
  background: linear-gradient(145deg, #fff 0%, #fff7ef 60%, #f1e8df 100%);
}
.collab-hero__accent { position: absolute; top: 0; right: 0; width: 42vw; height: 12px; background: var(--pc-orange); clip-path: polygon(4% 0,100% 0,100% 100%,0 100%); }
.collab-crumb { margin-bottom: 36px; color: var(--pc-muted); font-family: "Space Grotesk",sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.collab-crumb a,
.collab-crumb a:visited { color: var(--pc-muted); }
.collab-hero h1 { margin: 0 0 24px; font-size: clamp(46px,5.6vw,76px); }
.collab-hero__copy > p:not(.collab-hero__note) { max-width: 42em; margin: 0 0 13px; color: var(--pc-muted); }
.collab-hero .pc-actions { margin-top: 28px; }
.collab-hero__note { margin: 18px 0 0; color: var(--pc-muted); font-size: 13px; }
.collab-hero__visual { transform: rotate(-1deg); }

.collab-section-head { max-width: 940px; margin-bottom: 42px; }
.collab-section-head p { max-width: 54em; color: var(--pc-muted); font-size: 17px; }
.collab-section-head--center { margin-inline: auto; text-align: center; }
.collab-section-head--center p { margin-inline: auto; }

.collab-pain { background: #fff; }
.collab-pain-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; background: var(--pc-stone); }
.collab-pain-grid li { position: relative; min-height: 170px; padding: 34px 34px 34px 68px; background: #fff; }
.collab-pain-grid li::before { position: absolute; top: 34px; left: 32px; display: grid; width: 24px; height: 24px; place-items: center; color: #fff; border-radius: 50%; background: var(--pc-orange); font-family: "Space Grotesk",sans-serif; font-size: 12px; font-weight: 700; content: "?"; }
.collab-pain-grid li:last-child { grid-column: 1 / -1; min-height: 0; }
.collab-insight { display: grid; grid-template-columns: .82fr 1.18fr; gap: 38px; margin-top: 38px; padding: clamp(28px,4vw,50px); color: #fff; border-radius: 4px 34px 4px 34px; background: var(--pc-navy); }
.collab-insight p { margin: 0; color: rgba(255,255,255,.82); }
.collab-insight p:first-child { color: #fff; font-size: 21px; font-weight: 900; }

.collab-manga-section { background: linear-gradient(180deg,#fff7ef 0%,#fff 100%); scroll-margin-top: 100px; }
.collab-swipe-hint { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; color: var(--pc-navy) !important; border: 2px solid rgba(255,107,53,.28); border-radius: 999px; background: #fff; font-size: 14px !important; font-weight: 900; }
.collab-manga { padding: clamp(14px,3vw,30px); color: #fff; border-radius: 30px; background: radial-gradient(circle at 50% 0,rgba(255,107,53,.26),transparent 32%),#0c2337; box-shadow: 0 40px 110px -70px rgba(23,50,77,.9); }
.collab-manga__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.collab-manga__top span { display: block; color: #ffb47a; font-family: "Space Grotesk",sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.collab-manga__top h3 { margin: 5px 0 0; color: #fff; font-size: clamp(19px,2.2vw,27px); }
.collab-manga__top > b { flex: 0 0 auto; padding: 8px 13px; color: var(--pc-navy); border-radius: 999px; background: #fff; font-family: "Space Grotesk",sans-serif; font-size: 13px; }
.collab-manga__stage { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: #061624; outline: 0; }
.collab-manga__stage:focus-visible { box-shadow: 0 0 0 4px rgba(255,107,53,.42); }
.collab-manga__track { display: flex; gap: 18px; overflow-x: auto; padding: 18px 18px 26px; scroll-behavior: smooth; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.collab-manga__track::-webkit-scrollbar { height: 8px; }
.collab-manga__track::-webkit-scrollbar-track { border-radius: 999px; background: rgba(255,255,255,.1); }
.collab-manga__track::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--pc-orange); }
.collab-manga__slide { flex: 0 0 min(82vw,450px); margin: 0; scroll-snap-align: center; }
.collab-manga__page { display: block; width: 100%; height: auto; aspect-ratio: 972 / 1619; object-fit: contain; border-radius: 12px; background: #fff; box-shadow: 0 28px 80px -42px rgba(0,0,0,.85); }
.collab-manga__arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 52px; height: 52px; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(12,35,55,.8); font-size: 20px; transform: translateY(-50%); cursor: pointer; }
.collab-manga__arrow:hover { background: var(--pc-orange); }
.collab-manga__arrow:disabled { opacity: .3; cursor: not-allowed; }
.collab-manga__arrow--prev { left: 16px; }
.collab-manga__arrow--next { right: 16px; }
.collab-manga__controls { display: grid; gap: 12px; margin-top: 16px; }
.collab-manga__buttons { display: flex; justify-content: center; gap: 10px; }
.collab-manga__buttons button { min-width: 150px; min-height: 48px; padding: 10px 18px; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.08); font: inherit; font-weight: 900; cursor: pointer; }
.collab-manga__buttons button:hover { background: rgba(255,255,255,.16); }
.collab-manga__buttons button:disabled { opacity: .3; cursor: not-allowed; }
.collab-manga__range input { width: 100%; min-height: 28px; accent-color: var(--pc-orange); cursor: pointer; }
.collab-manga__chapters { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.collab-manga__chapters button { min-height: 58px; padding: 9px; color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.05); font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.collab-manga__chapters button:hover,
.collab-manga__chapters button[aria-current="true"] { color: #fff; border-color: var(--pc-orange); background: rgba(255,107,53,.2); }
.collab-manga__controls > p,
.collab-manga__noscript { margin: 0; color: rgba(255,255,255,.65); font-size: 12px; text-align: center; }
.c-manga-transcript { max-width: 920px; margin: 30px auto 0; color: var(--pc-ink); border: 2px solid rgba(23,50,77,.16); border-radius: 6px 24px 6px 24px; background: #fff; box-shadow: 0 24px 70px -52px rgba(23,50,77,.72); }
.c-manga-transcript > summary { position: relative; display: flex; min-height: 64px; align-items: center; padding: 17px 70px 17px 24px; color: var(--pc-navy); border-radius: 5px 22px 5px 22px; background: linear-gradient(90deg,#fff 0%,#fff8f2 100%); font-size: clamp(16px,2vw,19px); font-weight: 900; line-height: 1.55; cursor: pointer; list-style: none; }
.c-manga-transcript > summary::-webkit-details-marker { display: none; }
.c-manga-transcript > summary::after { position: absolute; top: 50%; right: 20px; display: grid; width: 36px; height: 36px; place-items: center; color: #fff; border-radius: 50%; background: var(--pc-navy); font-size: 22px; line-height: 1; transform: translateY(-50%); content: "+"; }
.c-manga-transcript[open] > summary { border-bottom: 1px solid rgba(23,50,77,.14); border-radius: 5px 22px 0 0; background: #fff8f2; }
.c-manga-transcript[open] > summary::after { background: var(--pc-orange); content: "−"; }
.c-manga-transcript > summary:hover { background: #fff3e8; }
.c-manga-transcript > summary:focus-visible { outline: 4px solid var(--pc-navy); outline-offset: 3px; }
.c-manga-transcript__pages { display: grid; grid-template-columns: minmax(0,1fr); gap: 30px; margin: 0; padding: clamp(24px,4vw,46px); list-style: none; }
.c-manga-transcript__page { min-width: 0; margin: 0; padding: 0 0 30px; border-bottom: 1px solid rgba(23,50,77,.14); }
.c-manga-transcript__page:last-child { padding-bottom: 0; border-bottom: 0; }
.c-manga-transcript__page h3 { margin: 0 0 12px; color: var(--pc-navy); font-size: clamp(21px,2.4vw,27px); }
.c-manga-transcript__scene { margin: 0 0 18px; padding: 16px 18px; color: var(--pc-muted); border-left: 4px solid var(--pc-orange); background: #fff8f2; font-size: 15px; overflow-wrap: anywhere; }
.c-manga-transcript__scene strong { color: var(--pc-ink); }
.c-manga-transcript__lines { display: grid; gap: 10px; margin: 0; }
.c-manga-transcript__line { display: grid; grid-template-columns: minmax(150px,.34fr) minmax(0,1fr); gap: 14px 22px; align-items: start; padding: 14px 16px; border: 1px solid rgba(23,50,77,.12); border-radius: 10px; background: #fff; }
.c-manga-transcript__line dt { margin: 0; color: var(--pc-navy); font-size: 13px; font-weight: 900; line-height: 1.65; }
.c-manga-transcript__line dd { min-width: 0; margin: 0; color: var(--pc-ink); font-size: 16px; font-weight: 500; line-height: 1.8; overflow-wrap: anywhere; }
.collab-after-manga { max-width: 820px; margin: 42px auto 0; padding: clamp(28px,5vw,54px); border: 3px solid var(--pc-orange); border-radius: 4px 32px 4px 32px; background: #fff; text-align: center; }
.collab-after-manga[hidden] { display: none !important; }
.collab-after-manga h3 { margin: 0 0 12px; font-size: clamp(28px,4vw,42px); }
.collab-after-manga p { color: var(--pc-muted); }

.collab-routes { background: #fff; }
.collab-route-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.collab-route { position: relative; padding: clamp(26px,4vw,48px); border: 1px solid var(--pc-stone); border-radius: 5px 36px 5px 36px; background: #fffaf5; }
.collab-route--b { background: #f2f7fa; }
.collab-route > span { color: var(--pc-orange-text); font-family: "Space Grotesk",sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.collab-route--b > span { color: #27718d; }
.collab-route h3 { min-height: 4em; margin: 16px 0 28px; font-size: clamp(26px,3vw,36px); }
.collab-route h4 { margin: 28px 0 10px; font-size: 17px; }
.collab-route ul,
.collab-route ol { padding-left: 1.35em; }
.collab-route li { margin-bottom: 9px; color: var(--pc-muted); }
.collab-route__note { margin-top: 28px; padding: 17px; border-left: 4px solid var(--pc-orange); background: #fff; font-size: 13px; }
.collab-route--b .collab-route__note { border-left-color: #27718d; }
.collab-route-change { max-width: 920px; margin: 32px auto 0; padding: clamp(28px,4vw,46px); color: #fff; border-radius: 30px 4px 30px 4px; background: var(--pc-navy); }
.collab-route-change h3 { margin: 0 0 12px; color: #fff; font-size: clamp(25px,3.2vw,38px); }
.collab-route-change p { margin: 0 0 10px; color: rgba(255,255,255,.78); }

.collab-roles { background: #f4efe9; }
.collab-role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.collab-role-grid article { padding: clamp(26px,4vw,44px); border-radius: 28px 4px 28px 4px; background: #fff; }
.collab-role-grid article > span { color: var(--pc-orange-text); font-family: "Space Grotesk",sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.collab-role-grid h3 { margin: 12px 0 18px; font-size: clamp(25px,2.8vw,34px); }
.collab-role-grid ul { margin: 0; padding-left: 1.2em; }
.collab-role-grid li { margin-bottom: 9px; color: var(--pc-muted); }
.collab-role-together { grid-column: 1 / -1; color: #fff; background: var(--pc-navy) !important; }
.collab-role-together h3 { color: #fff; }
.collab-role-together li { color: rgba(255,255,255,.8); }

.collab-build { background: #fff; }
.collab-build-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--pc-stone); }
.collab-build-grid article { position: relative; min-height: 300px; padding: 34px; background: #fff; }
.collab-build-grid b { color: var(--pc-orange-text); font-family: "Space Grotesk",sans-serif; font-size: 14px; }
.collab-build-grid h3 { margin: 28px 0 12px; font-size: 25px; }
.collab-build-grid p { margin: 0; color: var(--pc-muted); font-size: 14px; }

.collab-start { color: #fff; background: var(--pc-navy); }
.collab-start .collab-section-head h2 { color: #fff; }
.collab-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 0; padding: 1px; list-style: none; background: rgba(255,255,255,.18); }
.collab-steps li { min-height: 260px; padding: 30px; background: var(--pc-navy); }
.collab-steps b { color: #ffb47a; font-family: "Space Grotesk",sans-serif; font-size: 11px; letter-spacing: .12em; }
.collab-steps h3 { margin: 32px 0 12px; color: #fff; font-size: 23px; }
.collab-steps p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; }

.collab-terms { background: #fff4ea; }
.collab-terms__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px,7vw,90px); align-items: center; }
.collab-terms__grid > div p { color: var(--pc-muted); }
.collab-terms__grid > ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(44,42,41,.32); }
.collab-terms__grid > ul li { padding: 17px 10px 17px 38px; border-bottom: 1px solid rgba(44,42,41,.2); background: linear-gradient(90deg,var(--pc-orange) 0 8px,transparent 8px); }

.collab-fit { background: #fff; }
.collab-fit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.collab-fit-grid article { padding: clamp(26px,4vw,44px); border: 1px solid var(--pc-stone); border-radius: 26px 4px 26px 4px; }
.collab-fit-grid article:first-child { border-top: 8px solid var(--pc-line); }
.collab-fit-grid article:last-child { border-top: 8px solid var(--pc-orange); }
.collab-fit-grid h3 { margin: 0 0 18px; font-size: 28px; }
.collab-fit-grid ul { padding-left: 1.25em; }
.collab-fit-grid li { margin-bottom: 10px; color: var(--pc-muted); }
.collab-fit__close { max-width: 880px; margin: 32px auto 0; padding: 30px; border-left: 5px solid var(--pc-orange); background: #fff8f2; font-weight: 700; }

.collab-practice { background: #f3eee8; }
.collab-practice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.collab-practice-grid a,
.collab-practice-grid a:visited { display: flex; min-height: 330px; flex-direction: column; padding: 30px; color: var(--pc-ink); border-radius: 5px 28px 5px 28px; background: #fff; text-decoration: none; transition: transform .2s ease; }
.collab-practice-grid a:hover { color: var(--pc-ink); transform: translateY(-4px); }
.collab-practice-grid span { color: var(--pc-orange-text); font-family: "Space Grotesk",sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.collab-practice-grid h3 { margin: 28px 0 12px; font-size: 26px; }
.collab-practice-grid p { color: var(--pc-muted); font-size: 14px; }
.collab-practice-grid b { margin-top: auto; color: var(--pc-navy); }

.collab-faq { background: #fff; }
.collab-faq-list { border-top: 1px solid var(--pc-stone); }
.collab-faq-list details { border-bottom: 1px solid var(--pc-stone); }
.collab-faq-list summary { position: relative; min-height: 64px; padding: 20px 56px 20px 4px; font-size: 18px; font-weight: 900; cursor: pointer; list-style: none; }
.collab-faq-list summary::-webkit-details-marker { display: none; }
.collab-faq-list summary::after { position: absolute; top: 50%; right: 12px; display: grid; width: 32px; height: 32px; place-items: center; color: #fff; border-radius: 50%; background: var(--pc-navy); transform: translateY(-50%); content: "+"; }
.collab-faq-list details[open] summary::after { content: "−"; }
.collab-faq-list details p { max-width: 58em; margin: 0; padding: 0 56px 24px 4px; color: var(--pc-muted); }
.collab-faq-list summary:focus-visible { outline: 4px solid var(--pc-navy); outline-offset: 2px; }

.collab-final { padding: clamp(90px,12vw,160px) 0; color: #fff; background: radial-gradient(circle at 86% 14%,rgba(255,107,53,.38),transparent 28%),var(--pc-navy); }
.collab-final__inner { max-width: 950px; text-align: center; }
.collab-final h2 { margin: 0 0 24px; color: #fff; font-size: clamp(40px,5.5vw,70px); }
.collab-final__inner > p { max-width: 52em; margin: 0 auto 18px; color: rgba(255,255,255,.78); }
.collab-final .pc-actions { justify-content: center; margin-top: 26px; }
.collab-final__note { font-size: 13px; }
.collab-line-template { max-width: 670px; margin: 46px auto 0; padding: 28px; color: var(--pc-ink); border-radius: 4px 28px 4px 28px; background: #fff; text-align: left; }
.collab-line-template h3 { margin: 0 0 12px; font-size: 20px; }
.collab-line-template p { margin: 0; color: var(--pc-muted); font-size: 14px; line-height: 1.75; }

@media (min-width: 900px) {
  .collab-manga__slide { flex-basis: min(43vw,440px); }
}

@media (max-width: 1080px) {
  .pc-projects-hero__grid,
  .collab-hero__grid { grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: 34px; }
  .pc-project-card { grid-template-columns: 1fr; }
  .pc-project-card--featured { grid-template-columns: minmax(280px,.9fr) minmax(0,1.1fr); }
  .collab-build-grid,
  .collab-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .pc-hero-command__inner { grid-template-columns: 1fr; }
  .pc-hero-command .pc-actions { justify-content: flex-start; }
  .pc-projects-hero,
  .collab-hero { padding: 122px 0 62px; }
  .pc-projects-hero__grid,
  .collab-hero__grid,
  .pc-editorial-split,
  .pc-feature__grid,
  .collab-insight,
  .collab-terms__grid { grid-template-columns: 1fr; }
  .pc-projects-hero__visual,
  .collab-hero__visual { max-width: 680px; margin-inline: auto; transform: none; }
  .pc-projects-hero__visual { order: -1; }
  .collab-hero__visual { order: -1; }
  .pc-prose { padding-top: 24px; }
  .pc-way-grid,
  .pc-project-grid,
  .collab-pain-grid,
  .collab-route-grid,
  .collab-role-grid,
  .collab-fit-grid,
  .collab-practice-grid { grid-template-columns: 1fr; }
  .pc-way-card--orange { transform: none; }
  .pc-project-card,
  .pc-project-card--featured { grid-column: auto; grid-template-columns: minmax(220px,.82fr) minmax(0,1.18fr); }
  .collab-pain-grid li:last-child,
  .collab-role-together { grid-column: auto; }
  .collab-insight { gap: 12px; }
  .collab-route h3 { min-height: 0; }
  .collab-manga__chapters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .pc-vivid-hero { padding-top: 68px; border-bottom-width: 8px; }
  .pc-vivid-hero__art img { aspect-ratio: 9 / 16; }

  .pc-projects-hero__visual,
  .collab-hero__visual,
  .pc-feature__visual { aspect-ratio: 4 / 5; }

  .pc-projects-hero__visual img,
  .collab-hero__visual img,
  .pc-feature__visual img { object-position: center bottom; }
}

@media (max-width: 600px) {
  .pc-hero-command { padding: 24px 0 26px; }
  .pc-hero-command__inner { gap: 20px; }
  .pc-hero-command__copy > p { font-size: 14px; }
  .pc-projects-hero,
  .collab-hero { padding-top: 104px; }
  .pc-projects-hero__copy,
  .collab-hero__copy { display: flex; flex-direction: column; }
  .pc-projects-hero__visual,
  .collab-hero__visual { order: 0; margin: 24px 0; border-radius: 22px 5px 22px 5px; }
  .pc-projects-hero h1,
  .collab-hero h1 { font-size: clamp(39px,12vw,54px); }
  .pc-projects-hero h1 br,
  .collab-hero h1 br { display: none; }
  .pc-projects-hero__copy > p:not(.pc-projects-hero__note),
  .collab-hero__copy > p:not(.collab-hero__note) { font-size: 15px; }
  .pc-actions { align-items: stretch; flex-direction: column; }
  .pc-btn { width: 100%; min-height: 52px; }
  .pc-section,
  .collab-section { padding: 70px 0; }
  .pc-editorial-split h2,
  .collab-section-head h2,
  .collab-terms h2,
  .pc-section--navy h2 { font-size: 36px; }
  .pc-way-card { min-height: 0; padding: 28px; }
  .pc-feature__copy h2 { font-size: 38px; }
  .pc-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pc-filters button { width: 100%; min-height: 48px; padding-inline: 8px; font-size: 12px; }
  .pc-project-card,
  .pc-project-card--featured { grid-template-columns: 1fr; min-height: 0; }
  .pc-project-card__image { min-height: 220px; aspect-ratio: 16 / 10; }
  .pc-project-card__body { padding: 26px; }
  .pc-project-card h3 { font-size: 28px; }
  .collab-crumb { margin-bottom: 24px; }
  .collab-pain-grid li { min-height: 0; padding: 28px 24px 28px 56px; }
  .collab-pain-grid li::before { top: 29px; left: 20px; }
  .collab-manga { margin-inline: -12px; padding: 12px; border-radius: 18px; }
  .collab-manga__top { align-items: flex-start; flex-direction: column; }
  .collab-manga__stage { border-radius: 14px; }
  .collab-manga__track { gap: 12px; padding: 10px 6px 18px; }
  .collab-manga__slide { flex-basis: 86vw; }
  .collab-manga__arrow,
  .collab-manga__buttons { display: none; }
  .collab-manga__controls > p { text-align: left; }
  .c-manga-transcript { margin-top: 22px; border-radius: 6px 18px 6px 18px; }
  .c-manga-transcript > summary { min-height: 60px; padding: 15px 58px 15px 18px; border-radius: 5px 16px 5px 16px; font-size: 16px; }
  .c-manga-transcript > summary::after { right: 14px; width: 34px; height: 34px; }
  .c-manga-transcript__pages { gap: 24px; padding: 22px 14px 28px; }
  .c-manga-transcript__page { padding-bottom: 24px; }
  .c-manga-transcript__scene { padding: 14px; font-size: 14px; }
  .c-manga-transcript__line { grid-template-columns: minmax(0,1fr); gap: 5px; padding: 13px 14px; }
  .c-manga-transcript__line dd { font-size: 15px; }
  .collab-route,
  .collab-role-grid article { padding: 26px 22px; }
  .collab-build-grid,
  .collab-steps { grid-template-columns: 1fr; }
  .collab-build-grid article,
  .collab-steps li { min-height: 0; }
  .collab-practice-grid a { min-height: 0; }
  .collab-final h2 { font-size: 40px; }
  .collab-line-template { padding: 22px; }
}

@media (hover: none) {
  .pc-project-card:hover,
  .collab-practice-grid a:hover,
  .pc-btn:hover { transform: none; }
  .pc-project-card:hover .pc-project-card__image img { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .projects-redesign *,
  .business-collaboration * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
