/*
 * MSB Проекты — стили блоков портфолио MSBGROUP.
 * Портированы из статичных блоков (4-main-projects / 2-projects), область действия
 * заменена с уникальных ID (#msb-main-4 / #msb-projects-2) на общий класс .msb-projects-block,
 * поэтому блоков на странице может быть сколько угодно.
 */
.msb-projects-block {
position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
  color-scheme: dark;
  --bg: #050505;
  --bg-2: #09090b;
  --surface: rgba(255,255,255,.055);
  --surface-strong: rgba(255,255,255,.09);
  --surface-soft: rgba(255,255,255,.035);
  --text: #fafafa;
  --text-soft: rgba(250,250,250,.76);
  --muted: #a1a1aa;
  --muted-2: #71717a;
  --line: rgba(255,255,255,.12);
  --line-strong: rgba(255,255,255,.22);
  --white: #ffffff;
  --black: #000000;
  --accent: #ffffff;
  --blue: #60a5fa;
  --violet: #a78bfa;
  --cyan: #67e8f9;
  --green: #86efac;
  --red: #f87171;
  --yellow: #fde68a;
  --radius-xs: 10px;
  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 36px;
  --container: 1168px;
  --ease: cubic-bezier(.16,1,.3,1);
  --msb-bg: var(--bg);
  --msb-surface: var(--surface);
  --msb-surface-2: var(--surface-strong);
  --msb-line: var(--line);
  --msb-line-strong: var(--line-strong);
  --msb-text: var(--text);
  --msb-text-soft: var(--text-soft);
  --msb-muted: var(--muted);
  --msb-white: var(--white);
  --msb-black: var(--black);
  --block-mx: 50%;
  --block-my: 0%;
  color: var(--text);
  background: var(--bg);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow: hidden;
}
.msb-projects-block,
.msb-projects-block * {
box-sizing: border-box;
}
.msb-projects-block::after {
content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(520px circle at var(--block-mx) var(--block-my), rgba(255,255,255,.115), transparent 42%),
    radial-gradient(340px circle at var(--block-mx) var(--block-my), rgba(96,165,250,.14), transparent 46%);
  opacity: .9;
}
html[data-msb-theme="light"] .msb-projects-block {
color-scheme: light;
  --bg: #f5f5f7;
  --bg-2: #ffffff;
  --surface: rgba(255,255,255,.78);
  --surface-strong: rgba(255,255,255,.92);
  --surface-soft: rgba(0,0,0,.035);
  --text: #1d1d1f;
  --text-soft: rgba(29,29,31,.76);
  --muted: #6e6e73;
  --muted-2: #86868b;
  --line: rgba(0,0,0,.10);
  --line-strong: rgba(0,0,0,.18);
  --white: #1d1d1f;
  --black: #ffffff;
  --accent: #1d1d1f;
  --blue: #005bbd;
  --violet: #5b45a8;
  --cyan: #007c89;
  --green: #227a45;
  --red: #b42318;
  --yellow: #8a6200;
  background: var(--bg);
}
html[data-msb-theme="light"] .msb-projects-block::after {
background:
    radial-gradient(520px circle at var(--block-mx) var(--block-my), rgba(0,0,0,.06), transparent 42%),
    radial-gradient(340px circle at var(--block-mx) var(--block-my), rgba(0,0,0,.035), transparent 46%);
  opacity: .6;
}
html[data-msb-theme="light"] .msb-projects-block .project-card {
background: var(--surface) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 18px 55px rgba(0,0,0,.07) !important;
}
html[data-msb-theme="light"] .msb-projects-block p {
color: var(--muted) !important;
}
.msb-projects-block {
color-scheme: dark;
          --bg: #050505;
          --bg-2: #09090b;
          --surface: rgba(255, 255, 255, .055);
          --surface-strong: rgba(255, 255, 255, .09);
          --surface-soft: rgba(255, 255, 255, .035);
          --text: #fafafa;
          --text-soft: rgba(250, 250, 250, .76);
          --muted: #a1a1aa;
          --muted-2: #71717a;
          --line: rgba(255, 255, 255, .12);
          --line-strong: rgba(255, 255, 255, .22);
          --white: #ffffff;
          --black: #000000;
          --accent: #ffffff;
          --blue: #60a5fa;
          --violet: #a78bfa;
          --cyan: #67e8f9;
          --green: #86efac;
          --red: #f87171;
          --yellow: #fde68a;
          --radius-xs: 10px;
          --radius-sm: 14px;
          --radius-md: 20px;
          --radius-lg: 28px;
          --radius-xl: 36px;
          --container: 1168px;
          --ease: cubic-bezier(.16, 1, .3, 1);
          --mx: 50vw;
          --my: 0vh;
}
.msb-projects-block * {
box-sizing: border-box;
}
.msb-projects-block {
scroll-behavior: smooth;
          text-size-adjust: 100%;
}
.msb-projects-block {
margin: 0;
          min-height: 100vh;
          color: var(--text);
          background:
            radial-gradient(circle at 50% -10%, rgba(255, 255, 255, .18), transparent 26rem),
            radial-gradient(circle at 15% 12%, rgba(96, 165, 250, .18), transparent 28rem),
            radial-gradient(circle at 85% 18%, rgba(167, 139, 250, .14), transparent 26rem),
            linear-gradient(180deg, #070707 0%, #050505 42%, #020202 100%);
          font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
          line-height: 1.55;
          overflow-x: hidden;
}
.msb-projects-block a {
color: inherit; text-decoration: none;
}
.msb-projects-block svg {
display: block;
}
.msb-projects-block .container {
width: min(var(--container), calc(100% - 40px));
          margin-inline: auto;
}
.msb-projects-block h2,
.msb-projects-block h3 {
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
          letter-spacing: -.075em;
          line-height: .93;
}
.msb-projects-block .section {
padding: 82px 0; position: relative;
}
.msb-projects-block .section-header {
display: grid;
          grid-template-columns: minmax(0, .95fr) minmax(280px, .52fr);
          align-items: end;
          gap: 32px;
          margin-bottom: 34px;
}
.msb-projects-block .section-kicker {
display: inline-flex;
          width: fit-content;
          margin: 0 0 15px;
          padding: 7px 11px;
          border: 1px solid rgba(255,255,255,.13);
          border-radius: 999px;
          background: rgba(255,255,255,.045);
          color: rgba(255,255,255,.72);
          box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
          font-size: .78rem;
          font-weight: 740;
          letter-spacing: .08em;
          text-transform: uppercase;
}
.msb-projects-block .section h2 {
margin: 0;
          max-width: 930px;
          font-size: clamp(2.35rem, 5.7vw, 5rem);
          font-weight: 780;
}
.msb-projects-block .tag,
.msb-projects-block .project-chip {
display: inline-flex;
          align-items: center;
          min-height: 28px;
          padding: 5px 9px;
          border: 1px solid rgba(255,255,255,.12);
          border-radius: 999px;
          background: rgba(255,255,255,.055);
          color: rgba(255,255,255,.78);
          font-size: .76rem;
          font-weight: 650;
          line-height: 1;
}
.msb-projects-block [data-reveal] {
opacity: 0;
          transform: translateY(22px);
          transition: opacity 700ms var(--ease), transform 700ms var(--ease);
          transition-delay: var(--delay, 0ms);
}
.msb-projects-block [data-reveal].is-visible {
opacity: 1;
          transform: translateY(0);
}
.msb-projects-block :focus-visible {
outline: 2px solid rgba(255,255,255,.82);
          outline-offset: 4px;
}
@keyframes scan {0% { transform: translateX(-100%); }
          100% { transform: translateX(100%); }}
@media (max-width: 1080px) {
.msb-projects-block .section-header {
grid-template-columns: 1fr; align-items: start;
}
}
@media (max-width: 740px) {
.msb-projects-block .container {
width: min(100% - 24px, var(--container));
}
.msb-projects-block .section {
padding: 58px 0;
}
}
@media (prefers-reduced-motion: reduce) {
.msb-projects-block *,
.msb-projects-block *::before,
.msb-projects-block *::after {
animation-duration: 0.01ms !important;
                scroll-behavior: auto !important;
                transition-duration: 0.01ms !important;
}
.msb-projects-block [data-reveal] {
opacity: 1;
                transform: none;
}
}
.msb-projects-block button,
.msb-projects-block a,
.msb-projects-block .project-card,
.msb-projects-block .filter-button {
cursor: pointer;
}
.msb-projects-block .project-card {
position: relative;
          border: 1px solid rgba(255,255,255,.12);
          background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.032));
          box-shadow: 0 24px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
          overflow: hidden;
          backdrop-filter: blur(18px);
}
.msb-projects-block .project-card::before {
content: "";
          position: absolute;
          inset: 0;
          pointer-events: none;
          opacity: 0;
          background: radial-gradient(380px circle at var(--card-x, 50%) var(--card-y, 0%), rgba(255,255,255,.13), transparent 42%);
          transition: opacity .25s var(--ease);
}
.msb-projects-block .project-card:hover::before {
opacity: 1;
}
.msb-projects-block .project-card h3 {
position: relative;
          z-index: 1;
          margin: 0 0 12px;
          font-size: 1.62rem;
          font-weight: 750;
          letter-spacing: -.055em;
          line-height: 1;
}
.msb-projects-block .project-card p {
position: relative;
          z-index: 1;
          margin: 0;
          color: var(--muted);
          font-weight: 430;
}
.msb-projects-block .portfolio-toolbar {
display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: space-between;
          gap: 16px;
          margin-bottom: 22px;
}
.msb-projects-block .filter-list {
display: flex;
          flex-wrap: wrap;
          gap: 8px;
          margin: 0;
          padding: 5px;
          list-style: none;
          border: 1px solid rgba(255,255,255,.1);
          border-radius: 999px;
          background: rgba(255,255,255,.035);
}
.msb-projects-block .filter-button {
min-height: 38px;
          padding: 8px 13px;
          border: 1px solid transparent;
          border-radius: 999px;
          background: transparent;
          color: var(--muted);
          font-weight: 680;
          transition: color .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease);
}
.msb-projects-block .filter-button:hover,
.msb-projects-block .filter-button:focus-visible,
.msb-projects-block .filter-button.is-active {
border-color: rgba(255,255,255,.14);
          background: rgba(255,255,255,.095);
          color: var(--text);
}
.msb-projects-block .project-count {
padding: 10px 13px;
          border: 1px solid rgba(255,255,255,.12);
          border-radius: 999px;
          background: rgba(255,255,255,.04);
          color: var(--muted);
          font-weight: 650;
}
.msb-projects-block .project-grid {
display: grid;
          grid-template-columns: repeat(12, 1fr);
          gap: 16px;
}
.msb-projects-block .project-card {
grid-column: span 4;
          min-height: 430px;
          display: flex;
          flex-direction: column;
          border-radius: 30px;
          transition: transform .3s var(--ease), border-color .3s var(--ease), opacity .2s ease;
}
.msb-projects-block .project-card.wide {
grid-column: span 8;
}
.msb-projects-block .project-card:hover,
.msb-projects-block .project-card:focus-within {
transform: translateY(-6px);
          border-color: rgba(255,255,255,.25);
}
.msb-projects-block .project-card.is-hidden {
display: none;
}
.msb-projects-block .project-cover {
min-height: 196px;
          position: relative;
          display: grid;
          place-items: center;
          border-bottom: 1px solid rgba(255,255,255,.1);
          background:
            radial-gradient(circle at 70% 15%, rgba(255,255,255,.13), transparent 30%),
            linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
          overflow: hidden;
}
.msb-projects-block .project-cover::before {
content: "";
          position: absolute;
          inset: 28px;
          border: 1px solid rgba(255,255,255,.1);
          border-radius: 24px;
          background:
            linear-gradient(90deg, transparent 49%, rgba(255,255,255,.08) 50%, transparent 51%),
            linear-gradient(transparent 49%, rgba(255,255,255,.08) 50%, transparent 51%);
          background-size: 32px 32px;
          mask-image: radial-gradient(circle, black, transparent 78%);
}
.msb-projects-block .cover-shape {
position: absolute;
          border: 1px solid rgba(255,255,255,.18);
          box-shadow: 0 20px 80px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16);
          backdrop-filter: blur(8px);
}
.msb-projects-block .shape-one {
width: 112px;
          height: 112px;
          left: 10%;
          top: 22%;
          border-radius: 30px;
          background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(96,165,250,.14));
          transform: rotate(-10deg);
}
.msb-projects-block .shape-two {
width: 158px;
          height: 82px;
          right: 9%;
          top: 30%;
          border-radius: 999px;
          background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(167,139,250,.14));
          transform: rotate(7deg);
}
.msb-projects-block .shape-three {
width: 88px;
          height: 88px;
          right: 27%;
          bottom: 12%;
          border-radius: 50%;
          background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(103,232,249,.13));
}
.msb-projects-block .project-cover.blue {
background: radial-gradient(circle at 60% 10%, rgba(96,165,250,.24), transparent 32%), rgba(255,255,255,.035);
}
.msb-projects-block .project-cover.green {
background: radial-gradient(circle at 60% 10%, rgba(134,239,172,.20), transparent 32%), rgba(255,255,255,.035);
}
.msb-projects-block .project-cover.purple {
background: radial-gradient(circle at 60% 10%, rgba(167,139,250,.24), transparent 32%), rgba(255,255,255,.035);
}
.msb-projects-block .project-cover.orange {
background: radial-gradient(circle at 60% 10%, rgba(253,230,138,.20), transparent 32%), rgba(255,255,255,.035);
}
.msb-projects-block .project-cover.dark {
background: radial-gradient(circle at 60% 10%, rgba(255,255,255,.16), transparent 32%), #020202;
}
.msb-projects-block .project-body {
position: relative;
          z-index: 1;
          flex: 1;
          display: flex;
          flex-direction: column;
          padding: 24px;
}
.msb-projects-block .project-meta {
display: flex;
          flex-wrap: wrap;
          gap: 8px;
          margin-bottom: 18px;
}
.msb-projects-block .project-footer {
display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 14px;
          margin-top: auto;
          padding-top: 24px;
}
.msb-projects-block .project-link {
display: inline-flex;
          align-items: center;
          gap: 10px;
          color: rgba(255,255,255,.86);
          font-weight: 700;
}
.msb-projects-block .project-arrow {
width: 34px;
          height: 34px;
          display: grid;
          place-items: center;
          border: 1px solid rgba(255,255,255,.16);
          border-radius: 999px;
          background: rgba(255,255,255,.08);
          color: var(--text);
          transition: transform .28s var(--ease), background .28s var(--ease);
}
.msb-projects-block .project-card:hover .project-arrow {
transform: rotate(-35deg);
          background: var(--white);
          color: var(--black);
}
@media (max-width: 1080px) {
.msb-projects-block .project-card,
.msb-projects-block .project-card.wide {
grid-column: span 6;
}
}
@media (max-width: 740px) {
.msb-projects-block .portfolio-toolbar {
align-items: stretch;
}
.msb-projects-block .filter-list {
display: grid; grid-template-columns: 1fr 1fr; width: 100%; border-radius: 22px;
}
.msb-projects-block .filter-button {
width: 100%;
}
.msb-projects-block .project-count {
width: 100%; text-align: center;
}
.msb-projects-block .project-grid {
grid-template-columns: 1fr;
}
.msb-projects-block .project-card,
.msb-projects-block .project-card.wide {
grid-column: auto; min-height: 0;
}
}
.msb-projects-block .link-button {
display: block;
    width: fit-content;
    margin-inline: auto;
    padding: 30px 0 0 0;
}
.msb-projects-block .link-button:hover {
transform: translateY(-5px);
}
.msb-projects-block .link-button-text {
display: inline-flex;
          width: fit-content;
          padding: 8px 20px;
          border: 1px solid rgba(255,255,255,.13);
          border-radius: 999px;
          background: rgba(255,255,255,.045);
          color: rgba(255,255,255,.72);
          box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
          font-size: 1rem;
          font-weight: 740;
          letter-spacing: .08em;
          text-transform: uppercase;
}
.msb-projects-block .link-button-text:hover {
border-color: rgba(255,255,255,.24);
          background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.042));
}
.msb-projects-block {
background: var(--bg) !important;
}
.msb-projects-block::after {
display: none !important;
  content: none !important;
  background: none !important;
}
html[data-msb-theme="light"] .msb-projects-block {
background: #f5f5f7 !important;
  color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block h2,
html[data-msb-theme="light"] .msb-projects-block h3 {
color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block .section-kicker,
html[data-msb-theme="light"] .msb-projects-block .link-button-text,
html[data-msb-theme="light"] .msb-projects-block .tag,
html[data-msb-theme="light"] .msb-projects-block .project-chip,
html[data-msb-theme="light"] .msb-projects-block .filter-list,
html[data-msb-theme="light"] .msb-projects-block .project-count {
background: rgba(255,255,255,.88) !important;
  border-color: rgba(0,0,0,.14) !important;
  color: #424245 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 10px 26px rgba(0,0,0,.045) !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-link {
color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block .link-button-text:hover,
html[data-msb-theme="light"] .msb-projects-block .filter-button:hover,
html[data-msb-theme="light"] .msb-projects-block .filter-button:focus-visible,
html[data-msb-theme="light"] .msb-projects-block .filter-button.is-active {
background: #1d1d1f !important;
  color: #ffffff !important;
  border-color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-arrow {
background: rgba(255,255,255,.86) !important;
  border-color: rgba(0,0,0,.12) !important;
  color: #1d1d1f !important;
}
.msb-projects-block .link-button {
transition: transform .24s var(--ease), opacity .24s var(--ease) !important;
}
.msb-projects-block .link-button-text {
position: relative !important;
  overflow: hidden !important;
  transition: color .28s var(--ease), background .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease) !important;
}
.msb-projects-block .link-button:hover {
transform: translateY(-5px) !important;
}
.msb-projects-block .link-button:hover .link-button-text {
background: #050505 !important;
  color: #ffffff !important;
  border-color: #050505 !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
html[data-msb-theme="light"] .msb-projects-block .section-kicker,
html[data-msb-theme="light"] .msb-projects-block .link-button-text,
html[data-msb-theme="light"] .msb-projects-block .tag,
html[data-msb-theme="light"] .msb-projects-block .project-chip,
html[data-msb-theme="light"] .msb-projects-block .filter-list,
html[data-msb-theme="light"] .msb-projects-block .project-count {
background: rgba(255,255,255,.90) !important;
  border-color: rgba(0,0,0,.16) !important;
  color: #424245 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70), 0 10px 26px rgba(0,0,0,.055) !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-link {
color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-arrow {
background: rgba(255,255,255,.88) !important;
  border-color: rgba(0,0,0,.14) !important;
  color: #1d1d1f !important;
}
html:not([data-msb-theme="light"]) .msb-projects-block .link-button:hover .link-button-text {
background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.042)) !important;
  color: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.24) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-count,
html[data-msb-theme="light"] .msb-projects-block .project-chip,
html[data-msb-theme="light"] .msb-projects-block .tag,
html[data-msb-theme="light"] .msb-projects-block .project-meta span {
background: rgba(255,255,255,.92) !important;
  border-color: rgba(0,0,0,.16) !important;
  color: #424245 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 22px rgba(0,0,0,.045) !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-card h3 {
color: #1d1d1f !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-card p {
color: #5f6368 !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-arrow {
background: rgba(255,255,255,.92) !important;
  border-color: rgba(0,0,0,.16) !important;
  color: #1d1d1f !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
html[data-msb-theme="light"] .msb-projects-block .filter-button {
color: #6e6e73 !important;
}
html[data-msb-theme="light"] .msb-projects-block .filter-button.is-active,
html[data-msb-theme="light"] .msb-projects-block .filter-button:hover,
html[data-msb-theme="light"] .msb-projects-block .filter-button:focus-visible {
background: #1d1d1f !important;
  border-color: #1d1d1f !important;
  color: #ffffff !important;
}
html[data-msb-theme="light"] .msb-projects-block,
html[data-msb-theme="light"] .msb-projects-block * {
text-shadow: none !important;
}
html[data-msb-theme="light"] .msb-projects-block h2,
html[data-msb-theme="light"] .msb-projects-block h3,
html[data-msb-theme="light"] .msb-projects-block .project-link {
color: #1d1d1f !important;
  -webkit-text-fill-color: currentColor;
}
html[data-msb-theme="light"] .msb-projects-block p,
html[data-msb-theme="light"] .msb-projects-block li {
color: #5f6368 !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-card {
background: rgba(255,255,255,.92) !important;
  border-color: rgba(0,0,0,.16) !important;
  color: #1d1d1f !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 18px 55px rgba(0,0,0,.075), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
html[data-msb-theme="light"] .msb-projects-block .section-kicker,
html[data-msb-theme="light"] .msb-projects-block .project-count,
html[data-msb-theme="light"] .msb-projects-block .tag,
html[data-msb-theme="light"] .msb-projects-block .project-chip,
html[data-msb-theme="light"] .msb-projects-block .project-meta span,
html[data-msb-theme="light"] .msb-projects-block .link-button-text,
html[data-msb-theme="light"] .msb-projects-block .filter-list,
html[data-msb-theme="light"] .msb-projects-block .filter-button {
background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  color: #424245 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 22px rgba(0,0,0,.055) !important;
}
html[data-msb-theme="light"] .msb-projects-block .project-arrow {
background: rgba(255,255,255,.96) !important;
  border-color: rgba(0,0,0,.18) !important;
  color: #1d1d1f !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.065), inset 0 1px 0 rgba(255,255,255,.76) !important;
}
html[data-msb-theme="light"] .msb-projects-block .filter-button.is-active,
html[data-msb-theme="light"] .msb-projects-block .filter-button:hover,
html[data-msb-theme="light"] .msb-projects-block .filter-button:focus-visible,
html[data-msb-theme="light"] .msb-projects-block .link-button:hover .link-button-text {
background: #1d1d1f !important;
  border-color: #1d1d1f !important;
  color: #ffffff !important;
}
@media (max-width: 1180px) {
.msb-projects-block {
min-height: 0 !important;
    overflow-x: hidden !important;
}
.msb-projects-block :where(.container) {
width: min(var(--container, 1168px), calc(100% - 32px)) !important;
}
.msb-projects-block :where(.section-header) {
grid-template-columns: 1fr !important;
    gap: 28px !important;
}
.msb-projects-block :where(.project-grid) {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.msb-projects-block :where(.project-card.wide) {
grid-column: auto !important;
}
.msb-projects-block :where(.portfolio-toolbar) {
align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}
}
@media (max-width: 900px) {
.msb-projects-block :where(.section) {
padding-top: 64px !important;
    padding-bottom: 64px !important;
}
}
@media (max-width: 740px) {
.msb-projects-block :where(.container) {
width: min(100% - 24px, var(--container, 1168px)) !important;
}
.msb-projects-block :where(.section) {
padding-top: 50px !important;
    padding-bottom: 50px !important;
}
.msb-projects-block :where(.section-header) {
grid-template-columns: 1fr !important;
    gap: 22px !important;
}
.msb-projects-block :where(.project-grid) {
grid-template-columns: 1fr !important;
    gap: 16px !important;
}
.msb-projects-block :where(.project-card) {
min-height: 0 !important;
    padding: 20px !important;
    border-radius: 22px !important;
}
.msb-projects-block :where(.project-card.wide) {
grid-column: auto !important;
    min-height: 0 !important;
}
.msb-projects-block :where(h2, .section h2) {
font-size: clamp(2.05rem, 11vw, 3.5rem) !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
}
.msb-projects-block :where(h3) {
font-size: clamp(1.18rem, 5.5vw, 1.55rem) !important;
    line-height: 1.08 !important;
}
.msb-projects-block :where(.portfolio-toolbar) {
display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 12px !important;
}
.msb-projects-block :where(.filter-list) {
display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    padding: 5px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
}
.msb-projects-block .filter-list::-webkit-scrollbar {
display: none !important;
}
.msb-projects-block :where(.filter-button, .project-count) {
flex: 0 0 auto !important;
    white-space: nowrap !important;
}
.msb-projects-block :where(.filter-button) {
min-height: 44px !important;
}
.msb-projects-block :where(h2, h3, p, li, a, span) {
overflow-wrap: break-word !important;
}
}
@media (max-width: 520px) {
.msb-projects-block :where(.container) {
width: min(100% - 20px, var(--container, 1168px)) !important;
}
.msb-projects-block :where(.section) {
padding-top: 42px !important;
    padding-bottom: 42px !important;
}
.msb-projects-block :where(h2, .section h2) {
font-size: clamp(1.85rem, 12vw, 2.85rem) !important;
}
.msb-projects-block :where(.project-card) {
padding: 16px !important;
    border-radius: 20px !important;
}
.msb-projects-block :where(.filter-button) {
width: 100% !important;
    padding: 12px 14px !important;
    justify-content: center !important;
    font-size: .94rem !important;
}
.msb-projects-block :where(.section-kicker, .tag, .project-chip) {
max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.25 !important;
}
.msb-projects-block :where(.project-meta) {
flex-wrap: wrap !important;
}
}
@media (hover: none) {
.msb-projects-block :where(.project-card:hover, .link-button:hover) {
transform: none !important;
}
}
/* Real project cover images: self-contained data images, scoped to this project block. */
.msb-projects-block .project-cover.project-cover-photo {
  min-height: 196px;
  position: relative;
  display: block;
  overflow: hidden;
  background: #050505;
}
.msb-projects-block .project-cover.project-cover-photo::before {
  display: none !important;
  content: none !important;
}
.msb-projects-block .project-cover.project-cover-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 72% 14%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18));
}
.msb-projects-block .project-cover-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .96;
  transform: scale(1.01);
}
html[data-msb-theme="light"] .msb-projects-block .project-cover.project-cover-photo {
  background: #111827;
}
html[data-msb-theme="light"] .msb-projects-block .project-cover.project-cover-photo::after {
  background:
    radial-gradient(circle at 72% 14%, rgba(255,255,255,.22), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.12));
}
@media (max-width: 740px) {
  .msb-projects-block .project-cover.project-cover-photo {
    min-height: 176px;
  }
}
/* Tool cards bento layout fix: 8+4 columns on desktop, no empty side space. */
.msb-projects-block .project-grid {
  grid-auto-flow: dense;
}
.msb-projects-block .project-card[data-tool-card="activity"] {
  grid-column: span 8 !important;
}
.msb-projects-block .project-card[data-tool-card="email-agent"] {
  grid-column: span 4 !important;
}
.msb-projects-block.has-single-project .project-card[data-tool-card]:not(.is-hidden) {
  grid-column: 1 / -1 !important;
}
@media (max-width: 1080px) {
  .msb-projects-block .project-card[data-tool-card="activity"],
  .msb-projects-block .project-card[data-tool-card="email-agent"] {
    grid-column: span 6 !important;
  }
  .msb-projects-block.has-single-project .project-card[data-tool-card]:not(.is-hidden) {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 740px) {
  .msb-projects-block .project-card[data-tool-card="activity"],
  .msb-projects-block .project-card[data-tool-card="email-agent"],
  .msb-projects-block.has-single-project .project-card[data-tool-card]:not(.is-hidden) {
    grid-column: auto !important;
  }
}
