/* Standalone behavior. All layout breakpoints remain in styles.css. */
html { background: #000; }
body { margin: 0; background: #000; }
.site-1tA8s.site-18sbldl { border-radius: 8px !important; }
.project-card-link {
  cursor: pointer;
  position: relative;
  isolation: isolate;
  transition: transform .32s cubic-bezier(.16,1,.3,1);
}
.project-card-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}
.project-card-link [data-highlight] {
  background-color: transparent !important;
}
.project-card-link::before {
  content: "";
  inset: 40px 0 0;
  border-radius: 20px;
  background: linear-gradient(to top, rgba(0,0,0,.38), rgba(0,0,0,.18) 36%, rgba(0,0,0,0) 68%);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity .22s ease;
  z-index: 8;
}
.project-card-link::after {
  content: attr(data-project-cta);
  left: 50%;
  top: 50%;
  min-width: 121px;
  padding: 8px 17px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.06)),
    rgba(255,255,255,.09);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(255,255,255,.1),
    0 14px 34px rgba(0,0,0,.14);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
  color: rgba(255,255,255,.8);
  font-family: "Roboto Condensed", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  text-shadow: 0 1px 14px rgba(0,0,0,.22);
  transform: translate(-50%, calc(-50% + 8px));
  transition: opacity .22s ease, transform .22s cubic-bezier(.16,1,.3,1);
  white-space: nowrap;
  z-index: 9;
}
.project-card-link:hover,
.project-card-link:focus-visible {
  transform: translateY(-3px);
}
.project-card-link:hover::before,
.project-card-link:hover::after,
.project-card-link:focus-visible::before,
.project-card-link:focus-visible::after {
  opacity: 1;
}
.project-card-link:hover::after,
.project-card-link:focus-visible::after {
  transform: translate(-50%, calc(-50% + 6px));
}
.project-card-link video {
  clip-path: inset(0 0 0 0 round 20px);
  transition: clip-path .35s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
.project-card-link:hover video,
.project-card-link:focus-visible video {
  clip-path: inset(12px 0 0 0 round 20px);
  filter: brightness(.92);
}

/* Layout rhythm: a small, reusable scale keeps spacing stable as content wraps. */
:root {
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 72px;
  --page-gutter: clamp(20px, 3.125vw, 48px);
}

/* The experience block had several one-off widths and 15–46px paddings.
   Keep its intentionally alternating alignment, while putting every item on
   the same horizontal grid and using the same heading-to-copy rhythm. */
.site-I8k7b .site-1eymhrb,
.site-I8k7b .site-7847za {
  left: calc(var(--page-gutter) - 20px);
}
.site-I8k7b .site-14czcvu {
  box-sizing: border-box;
  padding: var(--space-6) var(--page-gutter) var(--space-7);
}
.site-I8k7b .site-v1ezzz { margin-bottom: var(--space-3); }
.site-I8k7b .site-xtuo4q,
.site-I8k7b .site-w73o77,
.site-I8k7b .site-15xaksd,
.site-I8k7b .site-1ybxuz2,
.site-I8k7b .site-1niyzjn,
.site-I8k7b .site-a7oveo,
.site-I8k7b .site-1wbanbu,
.site-I8k7b .site-1p6nkpi {
  box-sizing: border-box;
  width: 100%;
}
.site-I8k7b .site-xtuo4q,
.site-I8k7b .site-1niyzjn { padding: 0 0 var(--space-4); }
.site-I8k7b .site-xtuo4q { height: auto; min-height: 0; }
/* Company label → first responsibility: a compact 20px hand-off. */
.site-I8k7b .site-xtuo4q,
.site-I8k7b .site-1niyzjn { padding-bottom: 0; }
.site-I8k7b .site-w73o77,
.site-I8k7b .site-a7oveo { padding-top: var(--space-1); }
.site-I8k7b .site-w73o77 .site-asmep2 { padding-top: 0; }
/* Last responsibility → next company: 80px establishes a clear chapter break. */
.site-I8k7b .site-1niyzjn { margin-top: var(--space-6); }
.site-ATIvX .site-1uc7hfi h4 { margin: 0; }
.site-ATIvX .company-years {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.25px;
  line-height: 1.1;
}
.site-I8k7b .site-1niyzjn .site-12ji52q-container,
.site-I8k7b .site-1niyzjn .site-12ji52q-container > .site-ATIvX {
  width: 100%;
  max-width: 100%;
}
.site-I8k7b .site-w73o77,
.site-I8k7b .site-15xaksd,
.site-I8k7b .site-1ybxuz2,
.site-I8k7b .site-a7oveo,
.site-I8k7b .site-1wbanbu,
.site-I8k7b .site-1p6nkpi { padding: var(--space-5) 0; }
.site-I8k7b .site-asmep2,
.site-I8k7b .site-kloga3,
.site-I8k7b .site-1s1jpc5,
.site-I8k7b .site-fe2mu7,
.site-I8k7b .site-1jqlqgs,
.site-I8k7b .site-6risf8,
.site-I8k7b .site-1gxuzd,
.site-I8k7b .site-1yxgb1v { gap: var(--space-3); }

@media (min-width: 810px) and (max-width: 1279.98px) {
  .site-I8k7b .site-1qfa1v2 { margin-top: var(--space-5); }
  .site-I8k7b .site-14czcvu { padding-inline: var(--page-gutter); }
  .site-I8k7b .site-a7oveo,
  .site-I8k7b .site-1wbanbu,
  .site-I8k7b .site-1p6nkpi {
    align-content: flex-start;
    align-items: flex-start;
  }
  .site-I8k7b .site-1gxuzd { width: 100%; }
  .site-I8k7b .site-w73o77,
  .site-I8k7b .site-15xaksd,
  .site-I8k7b .site-1ybxuz2,
  .site-I8k7b .site-a7oveo,
  .site-I8k7b .site-1wbanbu,
  .site-I8k7b .site-1p6nkpi { height: auto; min-height: 0; }
  .site-I8k7b .site-1pmn7xx,
  .site-I8k7b .site-1gjohnc,
  .site-I8k7b .site-9kb5en,
  .site-I8k7b .site-1cx1283,
  .site-I8k7b .site-6risf8,
  .site-I8k7b .site-1gxuzd { max-width: 100%; }
}

@media (max-width: 809.98px) {
  .site-I8k7b .site-2hi7c2 {
    gap: 30px;
    margin-bottom: 24px;
  }
  [data-ticker] ul,
  .site-I8k7b .site-1oebc3f {
    gap: 70px !important;
  }
  .site-I8k7b .site-153szef {
    gap: 30px;
  }
  .project-card-link .site-1tA8s.site-18sbldl {
    border-radius: 5px !important;
    gap: 4px;
    padding: 3px 9px;
  }
  .project-card-link .site-1tA8s.site-18sbldl p {
    --site-font-size: 13px !important;
  }
  .site-I8k7b .site-67mszo {
    box-sizing: border-box;
    width: 100%;
    padding-inline: 0;
  }
  .site-I8k7b .site-w7i8wj {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 27px 0;
  }
  .site-I8k7b .site-1w22833-container {
    width: 100%;
  }
  .site-I8k7b .site-1eymhrb {
    width: auto;
    white-space: nowrap;
  }
  /* Content determines the page height; this prevents blank space after
     copy edits on phones. */
  .site-I8k7b .site-948x06 { height: auto; min-height: 0; }
  .site-I8k7b .site-18g7pvz {
    box-sizing: border-box;
    width: 100%;
    padding: var(--space-6) var(--page-gutter) var(--space-6);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .site-I8k7b .site-s1r7ke {
    width: 100%;
    height: auto;
    margin-bottom: var(--space-2);
    white-space: normal;
  }
  .site-I8k7b .site-19ufcw,
  .site-I8k7b .site-1lcjs8t,
  .site-I8k7b .site-uiqrx1,
  .site-I8k7b .site-1hs68t5,
  .site-I8k7b .site-txcx8w,
  .site-I8k7b .site-upwqin,
  .site-I8k7b .site-1kj5yah,
  .site-I8k7b .site-gtmo52 {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: var(--space-5) 0;
  }
  .site-I8k7b .site-19ufcw,
  .site-I8k7b .site-txcx8w {
    padding-top: var(--space-2);
    padding-bottom: 0;
  }
  .site-I8k7b .site-1lcjs8t,
  .site-I8k7b .site-upwqin { padding-top: var(--space-1); }
  .site-I8k7b .site-txcx8w { margin-top: var(--space-6); }
  .site-ATIvX .company-years { font-size: 14px; }
  .site-I8k7b .site-1lcjs8t,
  .site-I8k7b .site-uiqrx1,
  .site-I8k7b .site-1hs68t5,
  .site-I8k7b .site-upwqin,
  .site-I8k7b .site-1kj5yah,
  .site-I8k7b .site-gtmo52 { gap: 0; }
  .site-I8k7b .site-fva8n0,
  .site-I8k7b .site-vhoyuy,
  .site-I8k7b .site-g51qbb,
  .site-I8k7b .site-19kn57g,
  .site-I8k7b .site-1xp04kc,
  .site-I8k7b .site-k4zz1w { gap: var(--space-3); }
  .site-I8k7b .site-1xp04kc {
    width: 100%;
    min-width: 0;
  }
  .site-I8k7b .site-k4zz1w {
    width: 100%;
    min-width: 0;
  }
  .site-I8k7b .site-18g7pvz [data-site-component-type="RichTextContainer"] {
    max-width: 100%;
    min-width: 0;
  }
  .site-I8k7b .site-18g7pvz p,
  .site-I8k7b .site-18g7pvz h2 {
    word-break: normal;
    overflow-wrap: normal;
  }
  .site-I8k7b .site-lhqvf6-container {
    width: 100%;
    max-width: 418px;
    min-width: 0;
  }
  .site-I8k7b .site-1wsur4n {
    width: calc(100% - 40px);
    max-width: 333px;
  }
  .site-I8k7b .site-10nljcc,
  .site-I8k7b .site-gzan5f,
  .site-I8k7b .site-1er2zvm,
  .site-I8k7b .site-23c0cz,
  .site-I8k7b .site-13gf609,
  .site-I8k7b .site-nnmokb,
  .site-I8k7b .site-1jtigxr,
  .site-I8k7b .site-uuwajh,
  .site-I8k7b .site-1ojzon9,
  .site-I8k7b .site-rdolon,
  .site-I8k7b .site-1n5mquc { width: 100%; }
}
@media (max-width: 809.98px), (hover: none), (pointer: coarse) {
  .project-card-link {
    -webkit-tap-highlight-color: transparent;
  }
  .project-card-link:hover,
  .project-card-link:focus-visible {
    transform: none;
  }
  .project-card-link::before,
  .project-card-link::after {
    display: none;
  }
  .project-card-link:hover video,
  .project-card-link:focus-visible video {
    clip-path: inset(0 0 0 0 round 20px);
    filter: none;
  }
}
@media (max-width: 359px) {
  .site-I8k7b .site-tctaks,
  .site-I8k7b .site-124fvjf-container,
  .site-I8k7b .site-eibo3u,
  .site-I8k7b .site-8pzkgi {
    zoom: .72;
  }
}
a:focus-visible { outline: 2px solid white; outline-offset: 5px; }
.site-eOhX6.site-v-1beb105:hover { --border-color: #fff !important; }
.site-eOhX6::after { transition: border-color .4s ease; }
.site-qfXWE:hover { opacity: .97 !important; }
.site-dmzLJ:not(.site-v-1wzfr8m) .site-h1lgnb { left: 0; width: 100%; transform: scaleX(0); transform-origin: right; transition: transform .35s ease; }
.site-dmzLJ:not(.site-v-1wzfr8m):hover .site-h1lgnb { transform: scaleX(1); transform-origin: left; }
[data-rise] { transition: transform .8s cubic-bezier(.16,1,.3,1), opacity .65s ease; }
[data-entrance="4x4ldd"] { animation: title-enter .75s .2s both; }
[data-entrance="1wiz44i"] { animation: nav-enter .75s 1s both; }
@keyframes title-enter { from { opacity: 0; transform: translateY(-50px); } to { opacity: 1; transform: none; } }
@keyframes nav-enter { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
[data-ticker] ul { animation: logo-ticker var(--ticker-duration, 46.68s) linear infinite; }
@keyframes logo-ticker { to { transform: translateX(calc(-1 * var(--ticker-distance, 2334px))); } }
.cmmg-item { transition: transform .3s ease-out !important; }
.cmmg-parallax-container { min-height: 200px; }
[data-word] { transition: opacity 1.5s linear !important; }
@media (max-width: 809.98px) {
  [data-entrance="1wiz44i"] { animation-name: nav-enter-mobile; }
  @keyframes nav-enter-mobile { from { opacity: 0; transform: translateY(40px); } to { opacity: .63; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-entrance], [data-ticker] ul { animation: none; }
  .cmmg-item { transform: none !important; transition: none !important; }
  [data-word] { opacity: 1 !important; transition: none !important; }
}
