.cip-profile { padding: 30px 0 60px; background: #f5f7fa; color: #111827; }
.cip-profile * { box-sizing: border-box; }
.cip-wrap { width: min(calc(100% - 32px), 1180px); margin: auto; }
.cip-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 24px; align-items: start; }
.cip-main { min-width: 0; }
.cip-identity, .cip-tabs, .cip-panel { border: 1px solid #e8eaee; border-radius: 14px; background: #fff; }
.cip-identity { overflow: hidden; }
.cip-identity-copy { padding: 22px 22px 6px; }
.cip-identity h1 { margin: 0 0 4px; font-size: 25px; overflow-wrap: anywhere; }
.cip-identity p { margin: 0; color: #667085; font-weight: 700; }
.cip-identity span { color: #667085; font-size: 13px; }
.cip-portrait { display: grid; place-items: end center; height: 285px; margin-top: 10px; overflow: hidden; background: linear-gradient(145deg, #eef2f7, #dbe3ed); }
.cip-portrait img { width: 100%; height: 100%; object-fit: contain; object-position: bottom center; }
.cip-portrait > span { place-self: center; color: #aab3bf; font-size: 100px; font-weight: 900; }
.cip-tabs { display: flex; gap: 8px; margin-bottom: 16px; padding: 7px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.cip-tabs button { min-height: 42px; padding: 0 16px; border: 0; border-radius: 20px; color: #667085; background: transparent; font-size: 12px; font-weight: 900; text-transform: uppercase; white-space: nowrap; cursor: pointer; scroll-snap-align: start; }
.cip-tabs button.is-active { color: #fff; background: #e5243f; }
.cip-panel { min-width: 0; padding: clamp(20px, 3vw, 32px); overflow-wrap: anywhere; }
.cip-panel[hidden] { display: none; }
.cip-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 26px; padding-bottom: 26px; border-bottom: 1px solid #e8eaee; }
.cip-facts > div { min-width: 0; }
.cip-facts span { display: block; color: #667085; font-size: 12px; font-weight: 700; }
.cip-facts strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.cip-teams { padding: 24px 0; border-bottom: 1px solid #e8eaee; }
.cip-teams h2, .cip-copy h2, .cip-debuts h2 { margin: 0 0 14px; font-size: 18px; text-transform: uppercase; }
.cip-teams span { display: inline-block; max-width: 100%; margin: 4px; padding: 9px 13px; border-radius: 8px; background: #f5f7fa; font-size: 13px; font-weight: 800; overflow-wrap: anywhere; }
.cip-copy { padding: 25px 0; border-bottom: 1px solid #e8eaee; }
.cip-copy [data-cip-copy] { max-height: 10.8em; overflow: hidden; font-family: Georgia, serif; font-size: 17px; line-height: 1.8; }
.cip-copy [data-cip-copy] img, .cip-copy [data-cip-copy] iframe, .cip-copy [data-cip-copy] table { max-width: 100%; }
.cip-copy.is-expanded [data-cip-copy] { max-height: none; }
.cip-copy button { min-height: 44px; margin-top: 8px; padding: 0 8px 0 0; border: 0; color: #e5243f; background: transparent; font-weight: 900; cursor: pointer; }
.cip-list p { margin: 0; padding: 12px 0; border-bottom: 1px solid #e8eaee; line-height: 1.65; }
.cip-list p:last-child { border-bottom: 0; }
.cip-debuts { margin-top: 24px; overflow: hidden; border: 1px solid #e8eaee; border-radius: 14px; }
.cip-debuts h2 { padding: 16px 20px; border-bottom: 1px solid #e8eaee; }
.cip-debuts > div { display: grid; grid-template-columns: minmax(150px, 34%) minmax(0, 1fr); border-bottom: 1px solid #e8eaee; }
.cip-debuts > div:last-child { border-bottom: 0; }
.cip-debuts strong { padding: 17px 20px; background: #f0f1f3; font-size: 12px; text-transform: uppercase; }
.cip-debuts span { min-width: 0; padding: 17px 20px; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }

@media (max-width: 780px) {
  .cip-profile { padding: 18px 0 40px; }
  .cip-wrap { width: calc(100% - 22px); }
  .cip-layout { grid-template-columns: 1fr; gap: 16px; }
  .cip-identity { display: grid; grid-template-columns: minmax(0, 1fr) 140px; min-height: 170px; }
  .cip-identity-copy { padding: 20px 10px 20px 18px; }
  .cip-portrait { height: 170px; margin: 0; }
  .cip-tabs { position: sticky; top: 0; z-index: 10; width: 100%; scroll-snap-type: x proximity; }
  .cip-tabs button { min-height: 44px; }
  .cip-panel { width: 100%; padding: 18px 15px; }
  .cip-facts { grid-template-columns: 1fr 1fr; gap: 16px; }
  .cip-debuts > div { grid-template-columns: 1fr; }
  .cip-debuts strong { padding-block: 12px; }
  .cip-debuts span { padding-block: 14px; }
}

@media (max-width: 420px) {
  .cip-identity { grid-template-columns: minmax(0, 1fr) 112px; min-height: 150px; }
  .cip-identity h1 { font-size: 21px; }
  .cip-portrait { height: 150px; }
  .cip-facts { grid-template-columns: 1fr; }
  .cip-teams h2, .cip-copy h2, .cip-debuts h2 { font-size: 16px; }
}
