:root{
  color-scheme: light;
  --pf-surface: #f8f8f7;
  --pf-surface-raised: #fbfaf6;
  --pf-surface-deep: #e7e7e4;
  --pf-ink: #181a17;
  --pf-ink-muted: #666762;
  --pf-line: #b0b0b0;
  --pf-accent: #e85848;
  --pf-accent-ink: #181a17;
  --pf-focus: #bd2f20;
  --pf-header-bg: rgb(248 248 247 / 96%);
  --pf-viewer-bg: #101311;
  --pf-viewer-ink: #f2f4f0;
  --pf-page-width: 1536px;
  --pf-side: clamp(1.1rem, 3.6vw, 4.5rem);
  --pf-project-accent: var(--pf-accent);
  --pf-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
html[data-brand="alex"][data-theme="dark"]{
  color-scheme: dark;
  --pf-surface: #151513;
  --pf-surface-raised: #1c1c1a;
  --pf-surface-deep: #292925;
  --pf-ink: #f4f0e9;
  --pf-ink-muted: #aaa8a1;
  --pf-line: #45443f;
  --pf-accent: #ff7161;
  --pf-accent-ink: #151513;
  --pf-focus: #ff8a7c;
  --pf-header-bg: rgb(21 21 19 / 96%);
}
html[data-brand="synq"]{
  color-scheme: dark;
  --pf-surface: #0c0f0e;
  --pf-surface-raised: #141817;
  --pf-surface-deep: #1b211e;
  --pf-ink: #edf2e9;
  --pf-ink-muted: #929c95;
  --pf-line: #343b37;
  --pf-accent: #b9f227;
  --pf-accent-ink: #0c0f0e;
  --pf-focus: #d0ff5b;
  --pf-header-bg: rgb(12 15 14 / 96%);
}
html[data-brand="synq"][data-theme="light"]{
  color-scheme: light;
  --pf-surface: #f2f5ef;
  --pf-surface-raised: #ffffff;
  --pf-surface-deep: #dfe6dc;
  --pf-ink: #111612;
  --pf-ink-muted: #58635b;
  --pf-line: #aeb8b0;
  --pf-accent: #416b00;
  --pf-accent-ink: #f7faef;
  --pf-focus: #315500;
  --pf-header-bg: rgb(242 245 239 / 96%);
}
.portfolio-content *{
  box-sizing: border-box;
}
.portfolio-content{
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: var(--pf-surface);
  color: var(--pf-ink);
  font-family: "Manrope", Arial, sans-serif;
  text-rendering: optimizeLegibility;
}
.portfolio-content ::selection{
  background: var(--pf-accent);
  color: var(--pf-accent-ink);
}
.portfolio-content ::-webkit-scrollbar{
  width: 10px;
}
.portfolio-content ::-webkit-scrollbar-track{
  background: var(--pf-surface-deep);
}
.portfolio-content ::-webkit-scrollbar-thumb{
  border: 2px solid var(--pf-surface-deep);
  background: var(--pf-accent);
}
.portfolio-content.viewer-open{
  overflow: hidden;
}
.portfolio-content button,.portfolio-content a{
  -webkit-tap-highlight-color: transparent;
}
.portfolio-content button{
  color: inherit;
  font: inherit;
}
.portfolio-content a{
  color: inherit;
  text-decoration: none;
}
.portfolio-content img{
  display: block;
  max-width: 100%;
}
.portfolio-content svg{
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.75;
}
.portfolio-content h1,.portfolio-content h2,.portfolio-content h3,.portfolio-content p{
  margin-top: 0;
}
.portfolio-content :focus-visible{
  outline: 3px solid var(--pf-focus);
  outline-offset: 4px;
}
.portfolio-content .skip-link{
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 50;
  padding: 0.75rem 1rem;
  transform: translateY(-160%);
  background: var(--pf-ink);
  color: var(--pf-surface);
  font-weight: 700;
  transition: transform 180ms ease;
}
.portfolio-content .skip-link:focus{
  transform: translateY(0);
}
.portfolio-content .site-header{
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 72px;
  padding: 0 var(--pf-side);
  border-bottom: 1px solid var(--pf-line);
  background: var(--pf-header-bg);
}
.portfolio-content .brand{
  display: inline-flex;
  align-items: baseline;
  gap: 0.75rem;
  width: fit-content;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.portfolio-content .brand small,.portfolio-content .header-index{
  color: var(--pf-ink-muted);
  font-size: 0.72rem;
  font-weight: 500;
}
.portfolio-content .tech-brand{
  align-items: center;
  letter-spacing: 0.14em;
}
.portfolio-content .tech-brand small,.portfolio-content .tech-label{
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.portfolio-content .header-index{
  justify-self: center;
}
.portfolio-content .header-action{
  display: inline-flex;
  align-items: center;
  justify-self: end;
  min-height: 44px;
  padding: 0.55rem 0;
  border: 0;
  border-bottom: 1px solid var(--pf-ink);
  background: transparent;
  color: var(--pf-ink);
  font-size: 0.76rem;
  font-weight: 700;
  transition:
    background-color 220ms var(--pf-ease),
    border-color 220ms var(--pf-ease),
    color 220ms var(--pf-ease);
}
.portfolio-content .header-action:hover{
  border-color: var(--pf-accent);
  color: var(--pf-accent);
}
.portfolio-content .header-controls{
  display: flex;
  align-items: center;
  justify-self: end;
  gap: clamp(0.7rem, 1.5vw, 1.35rem);
}
.portfolio-content .header-controls .header-action{
  justify-self: auto;
}
.portfolio-content .language-toggle{
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--pf-line);
  background: transparent;
  color: var(--pf-ink-muted);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.portfolio-content .language-toggle:hover{
  border-color: var(--pf-accent);
  color: var(--pf-accent);
}
.portfolio-content .theme-toggle{
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-surface);
  color: var(--pf-ink);
  cursor: pointer;
  transition:
    background-color 220ms var(--pf-ease),
    border-color 220ms var(--pf-ease),
    color 220ms var(--pf-ease);
}
.portfolio-content .theme-toggle:hover{
  border-color: var(--pf-accent);
  background: var(--pf-surface-raised);
  color: var(--pf-accent);
}
.portfolio-content .theme-icon{
  grid-area: 1 / 1;
  width: 1.1rem;
  height: 1.1rem;
}
.portfolio-content .theme-icon-moon,html[data-theme="light"] .portfolio-content .theme-icon-sun{
  display: none;
}
html[data-theme="light"] .portfolio-content .theme-icon-moon{
  display: block;
}
.portfolio-content .header-action:active,.portfolio-content .hero-action:active,.portfolio-content .text-action:active,.portfolio-content .viewer-close:active{
  transform: translateY(1px);
}
.portfolio-content main,.portfolio-content .site-footer{
  width: min(100%, var(--pf-page-width));
  margin-inline: auto;
}
.portfolio-content .overview-intro{
  position: relative;
  min-height: calc(100dvh - 72px);
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .overview-lead{
  max-width: 39rem;
  margin: 0;
  color: var(--pf-ink-muted);
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  line-height: 1.55;
  text-wrap: pretty;
}
.portfolio-content .hero-action{
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  width: fit-content;
  padding: 0.7rem 0 0.45rem;
  border-bottom: 2px solid var(--pf-accent);
  color: var(--pf-ink);
  font-size: clamp(0.9rem, 1.2vw, 1.15rem);
  font-weight: 600;
  transition:
    color 220ms var(--pf-ease),
    gap 260ms var(--pf-ease);
}
.portfolio-content .hero-action:hover{
  gap: 1rem;
  color: var(--pf-accent);
}
.portfolio-content .alex-hero{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(92dvh - 72px);
}
.portfolio-content .alex-hero::before,.portfolio-content .alex-hero::after{
  position: absolute;
  left: calc(50% - 0.31rem);
  z-index: 1;
  color: var(--pf-accent);
  content: "+";
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.62rem;
  line-height: 1;
}
.portfolio-content .alex-hero::before{
  top: 0.75rem;
}
.portfolio-content .alex-hero::after{
  bottom: 0.75rem;
}
.portfolio-content .alex-identity,.portfolio-content .alex-thesis{
  min-width: 0;
  padding: clamp(2.5rem, 6vw, 6rem) var(--pf-side);
}
.portfolio-content .alex-identity{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--pf-line);
  padding-bottom: clamp(5rem, 8vw, 8rem);
}
.portfolio-content .alex-monogram{
  align-self: center;
  margin: 0;
  color: var(--pf-ink);
  font-size: clamp(18rem, 44vw, 42rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.7;
  transform: scaleX(0.78);
}
.portfolio-content .alex-signature{
  display: grid;
  gap: 0.45rem;
  margin: 0;
}
.portfolio-content .alex-signature strong{
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
}
.portfolio-content .alex-signature span{
  max-width: 22rem;
  color: var(--pf-ink-muted);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.portfolio-content .alex-thesis{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1.4rem, 2.5vw, 2.4rem);
  transform: translateY(-2rem);
}
.portfolio-content .alex-thesis h1{
  max-width: 10ch;
  margin-bottom: 0;
  font-size: clamp(3.4rem, 5.8vw, 5.9rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.96;
  text-wrap: balance;
}
.portfolio-content .proof-line{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: clamp(0.6rem, 2vw, 1.5rem) 0;
  padding: 0;
  border-top: 1px solid var(--pf-accent);
  list-style: none;
  transform-origin: left center;
  animation: proof-draw 900ms var(--pf-ease) both;
}
.portfolio-content .proof-line li{
  position: relative;
  padding-top: 1.15rem;
  color: var(--pf-ink-muted);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-align: center;
  text-transform: uppercase;
}
.portfolio-content .proof-line li::before{
  position: absolute;
  top: -0.34rem;
  left: 50%;
  width: 0.62rem;
  height: 0.62rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: var(--pf-accent);
  content: "";
}
.portfolio-content .alex-side-note{
  position: absolute;
  right: var(--pf-side);
  bottom: 3.5rem;
  margin: 0;
  color: var(--pf-ink-muted);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.5;
  text-align: right;
  text-transform: uppercase;
}
.portfolio-content .alex-hero + .projects-section{
  padding-top: clamp(2.2rem, 3.2vw, 3.5rem);
}
@keyframes proof-draw{
  from {
    opacity: 0.15;
    transform: scaleX(0.08);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
.portfolio-content .tech-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(22rem, 0.82fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0 var(--pf-side);
  overflow: hidden;
  padding: clamp(2rem, 4vw, 4rem) var(--pf-side) clamp(3rem, 5vw, 5rem);
  background-image:
    linear-gradient(var(--pf-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--pf-line) 1px, transparent 1px);
  background-size: 100% 25%, 12.5% 100%;
}
.portfolio-content .tech-intro{
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  color: var(--pf-ink-muted);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.portfolio-content .tech-intro p{
  margin: 0;
}
.portfolio-content .tech-wordmark{
  grid-column: 1 / -1;
  align-self: center;
  margin: 0 -0.035em;
  color: var(--pf-ink);
  font-size: clamp(6rem, 15.5vw, 15rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.78;
  white-space: nowrap;
  animation: wordmark-in 800ms var(--pf-ease) both;
}
.portfolio-content .tech-thesis{
  align-self: end;
}
.portfolio-content .tech-thesis h1{
  max-width: 13ch;
  margin-bottom: 1.6rem;
  font-size: clamp(2.4rem, 4vw, 4.4rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  text-wrap: balance;
}
.portfolio-content .tech-thesis h1 em{
  color: var(--pf-accent);
  font-style: normal;
}
.portfolio-content .tech-thesis .overview-lead{
  max-width: 31rem;
  margin-bottom: 1.5rem;
}
.portfolio-content .signal-route{
  position: relative;
  align-self: end;
  display: grid;
  margin: 0;
  padding: 0 0 0 2rem;
  border-left: 1px solid var(--pf-accent);
  list-style: none;
}
.portfolio-content .signal-route::before{
  position: absolute;
  top: 0;
  left: -0.25rem;
  width: 0.44rem;
  height: 0.44rem;
  border-radius: 50%;
  background: var(--pf-accent);
  box-shadow: 0 11.1rem 0 var(--pf-accent);
  content: "";
}
.portfolio-content .signal-route li{
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
  min-height: 3.7rem;
  border-bottom: 1px solid var(--pf-line);
  font-size: clamp(0.95rem, 1.4vw, 1.2rem);
  animation: signal-on 520ms var(--pf-ease) both;
}
.portfolio-content .signal-route li:nth-child(2){
  animation-delay: 90ms;
}
.portfolio-content .signal-route li:nth-child(3){
  animation-delay: 180ms;
}
.portfolio-content .signal-route li:nth-child(4){
  animation-delay: 270ms;
}
.portfolio-content .signal-route span{
  color: var(--pf-accent);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.62rem;
}
@keyframes wordmark-in{
  from {
    opacity: 0.15;
    transform: translateY(1.5rem);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@keyframes signal-on{
  from {
    opacity: 0.2;
    transform: translateX(1rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.portfolio-content .projects-section,.portfolio-content .more-projects{
  padding: clamp(5rem, 9vw, 8rem) var(--pf-side);
}
.portfolio-content .systems-section{
  padding: clamp(5rem, 8vw, 7rem) var(--pf-side);
  scroll-margin-top: 72px;
}
.portfolio-content .systems-heading{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.portfolio-content .systems-heading h2{
  max-width: 15ch;
  margin-bottom: 0.75rem;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 1;
  letter-spacing: -0.04em;
  text-wrap: balance;
}
.portfolio-content .systems-heading p{
  max-width: 39rem;
  margin: 0;
  color: var(--pf-ink-muted);
  line-height: 1.55;
}
.portfolio-content .systems-heading > span,.portfolio-content .systems-feature-top,.portfolio-content .systems-number,.portfolio-content .systems-feature-copy > span{
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portfolio-content .systems-heading > span{
  flex: none;
  color: var(--pf-ink-muted);
}
.portfolio-content .systems-console{
  display: grid;
  grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 0.66fr);
  border: 1px solid var(--pf-line);
  background: var(--pf-surface-raised);
}
.portfolio-content .systems-list{
  max-height: 720px;
  overflow: auto;
  border-right: 1px solid var(--pf-line);
}
.portfolio-content .systems-item{
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 1.3rem;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
  min-height: 65px;
  padding: 0.9rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--pf-line);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms var(--pf-ease), color 180ms var(--pf-ease);
}
.portfolio-content .systems-item:hover,.portfolio-content .systems-item.is-active{
  background: var(--pf-surface-deep);
}
.portfolio-content .systems-item.is-active .systems-number,.portfolio-content .systems-item.is-active .systems-item-arrow{
  color: var(--pf-accent);
}
.portfolio-content .systems-number{
  color: var(--pf-ink-muted);
}
.portfolio-content .systems-item-copy{
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}
.portfolio-content .systems-item-copy strong{
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portfolio-content .systems-item-copy small{
  overflow: hidden;
  color: var(--pf-ink-muted);
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portfolio-content .systems-item-arrow svg{
  width: 1rem;
  height: 1rem;
}
.portfolio-content .systems-feature{
  min-width: 0;
}
.portfolio-content .systems-feature-top{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.4rem;
  color: var(--pf-ink-muted);
}
.portfolio-content .systems-preview{
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-block: 1px solid var(--pf-line);
  background: var(--pf-surface-deep);
}
.portfolio-content .systems-preview img,.portfolio-content .systems-preview iframe{
  width: 100%;
  height: 100%;
  border: 0;
}
.portfolio-content .systems-preview img{
  object-fit: cover;
  object-position: top;
}
.portfolio-content .systems-preview.is-live{
  min-height: 540px;
  aspect-ratio: auto;
  background: #fff;
}
.portfolio-content .systems-feature-bottom{
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.3rem, 2.5vw, 2.4rem);
}
.portfolio-content .systems-feature-copy{
  max-width: 35rem;
}
.portfolio-content .systems-feature-copy > span{
  color: var(--pf-ink-muted);
}
.portfolio-content .systems-feature-copy h3{
  margin: 0.4rem 0 0.8rem;
  font-size: clamp(1.8rem, 2.8vw, 3rem);
  letter-spacing: -0.035em;
  line-height: 1;
}
.portfolio-content .systems-feature-copy p{
  margin: 0;
  color: var(--pf-ink-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}
.portfolio-content .systems-actions{
  display: grid;
  align-content: end;
  gap: 0.6rem;
  min-width: 11rem;
}
.portfolio-content .systems-primary,.portfolio-content .systems-secondary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  min-height: 44px;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--pf-accent);
  background: var(--pf-accent);
  color: var(--pf-accent-ink);
  font-size: 0.72rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.portfolio-content .systems-primary:hover{
  filter: brightness(1.1);
}
.portfolio-content .systems-primary:disabled{
  opacity: 0.65;
  cursor: default;
}
.portfolio-content .systems-secondary{
  border-color: var(--pf-line);
  background: transparent;
  color: var(--pf-ink);
}
.portfolio-content .systems-secondary:hover{
  border-color: var(--pf-accent);
}
.portfolio-content .systems-fallback{
  width: fit-content;
  border-bottom: 1px solid var(--pf-ink-muted);
  color: var(--pf-ink);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.5;
}
.portfolio-content .systems-fallback:hover{
  border-color: var(--pf-accent);
  color: var(--pf-accent);
}
.portfolio-content .systems-load-status{
  max-width: 19rem;
  margin: 0;
  color: var(--pf-ink-muted);
  font-size: 0.7rem;
  line-height: 1.5;
}
.portfolio-content .systems-primary svg,.portfolio-content .systems-secondary svg{
  flex: none;
  width: 0.95rem;
  height: 0.95rem;
}
.portfolio-content .section-heading{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.portfolio-content .section-heading h2{
  margin-bottom: 0;
  font-size: clamp(2rem, 4vw, 4.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}
.portfolio-content .section-heading p{
  max-width: 24rem;
  margin-bottom: 0;
  color: var(--pf-ink-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}
.portfolio-content .project-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(3.5rem, 6vw, 6rem) clamp(1rem, 2vw, 2rem);
}
.portfolio-content .project-card{
  min-width: 0;
}
.portfolio-content .project-window,.portfolio-content .detail-preview{
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-surface-raised);
  color: var(--pf-ink);
  cursor: pointer;
  text-align: left;
  transition:
    border-color 240ms var(--pf-ease),
    transform 380ms var(--pf-ease);
}
.portfolio-content .project-window:hover,.portfolio-content .detail-preview:hover{
  border-color: var(--pf-project-accent, var(--pf-accent));
  transform: translateY(-0.38rem);
}
.portfolio-content .project-window:active,.portfolio-content .detail-preview:active{
  transform: translateY(-0.15rem) scale(0.995);
}
.portfolio-content .browser-bar{
  display: grid;
  grid-template-columns: 0.44rem 0.44rem 0.44rem 1fr;
  align-items: center;
  gap: 0.35rem;
  height: 30px;
  padding: 0 0.7rem;
  border-bottom: 1px solid var(--pf-line);
  background: var(--pf-surface);
}
.portfolio-content .browser-bar i{
  width: 0.38rem;
  height: 0.38rem;
  border: 1px solid var(--pf-ink-muted);
  border-radius: 50%;
}
.portfolio-content .browser-bar b{
  overflow: hidden;
  margin-left: 0.35rem;
  color: var(--pf-ink-muted);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: right;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.portfolio-content .project-window-image{
  display: block;
  aspect-ratio: 1.48 / 1;
  overflow: hidden;
  background: var(--pf-surface-deep);
}
.portfolio-content .project-window-image img,.portfolio-content .detail-preview-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 650ms var(--pf-ease);
}
.portfolio-content .project-window:hover img,.portfolio-content .detail-preview:hover img{
  transform: scale(1.025);
}
.portfolio-content .window-action,.portfolio-content .preview-action{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0.7rem 0.85rem;
  border-top: 1px solid var(--pf-line);
  background: var(--pf-surface);
  font-size: 0.7rem;
  font-weight: 700;
}
.portfolio-content .window-action svg,.portfolio-content .preview-action svg,.portfolio-content .text-action svg,.portfolio-content .project-switcher svg{
  transition: transform 260ms var(--pf-ease);
}
.portfolio-content .project-window:hover .window-action svg,.portfolio-content .detail-preview:hover .preview-action svg,.portfolio-content .text-action:hover svg,.portfolio-content .project-switcher a:hover svg{
  transform: translateX(0.28rem);
}
.portfolio-content .card-meta{
  display: grid;
  grid-template-columns: 3.6rem 1fr;
  gap: 0.8rem;
  padding-top: 1rem;
}
.portfolio-content .card-meta > span{
  padding-top: 0.25rem;
  color: var(--pf-ink-muted);
  font-size: 0.62rem;
}
.portfolio-content .card-meta h3{
  margin-bottom: 0.3rem;
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -0.03em;
}
.portfolio-content .card-meta p{
  margin-bottom: 0;
  color: var(--pf-ink-muted);
  font-size: 0.72rem;
}
.portfolio-content .card-contribution{
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.55rem;
  color: var(--pf-ink);
  font-size: 0.62rem;
  font-weight: 700;
}
.portfolio-content .card-contribution::before{
  width: 0.8rem;
  height: 1px;
  background: var(--pf-project-accent, var(--pf-accent));
  content: "";
}
.portfolio-content .card-case-link{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 12rem);
  gap: 1rem;
  margin-top: 0.8rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--pf-line);
  color: var(--pf-ink);
  font-size: 0.66rem;
  font-weight: 700;
}
.portfolio-content .card-case-link svg{
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  transition: transform 220ms var(--pf-ease);
}
.portfolio-content .card-case-link:hover svg{
  transform: translateX(0.25rem);
}
.portfolio-content .agency-profile,.portfolio-content .confidentiality{
  display: grid;
  grid-template-columns: 0.4fr 1.6fr;
  gap: 2rem;
  margin: 0 var(--pf-side) clamp(5rem, 9vw, 8rem);
  padding: clamp(2rem, 4vw, 3.5rem) 0;
  border-top: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .agency-profile{
  margin-bottom: 0;
  border-bottom: 0;
}
.portfolio-content .agency-profile > span,.portfolio-content .confidentiality > span{
  color: var(--pf-ink-muted);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
}
.portfolio-content .agency-profile div,.portfolio-content .confidentiality div{
  max-width: 50rem;
}
.portfolio-content .agency-profile h2,.portfolio-content .confidentiality h2{
  margin-bottom: 0.8rem;
  font-size: clamp(1.7rem, 3vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.04em;
}
.portfolio-content .agency-profile p,.portfolio-content .confidentiality p{
  margin-bottom: 0;
  color: var(--pf-ink-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}
.portfolio-content .agency-profile small{
  display: block;
  margin-top: 1.2rem;
  color: var(--pf-ink);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.portfolio-content .preview-availability{
  max-width: 38rem;
  margin: 1rem 0 0;
  color: var(--pf-ink-muted);
  font-size: 0.7rem;
  line-height: 1.55;
}
.portfolio-content .site-footer{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 100px;
  padding: 0 var(--pf-side);
  border-top: 1px solid var(--pf-line);
  color: var(--pf-ink-muted);
  font-size: 0.72rem;
}
.portfolio-content .site-footer p{
  margin: 0;
}
.portfolio-content .site-footer > a:last-child{
  justify-self: end;
  font-weight: 700;
}
.portfolio-content .detail-hero{
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  align-items: center;
  min-height: calc(100dvh - 72px);
  padding: clamp(3.5rem, 7vw, 7rem) var(--pf-side);
  gap: clamp(3rem, 7vw, 8rem);
}
html[data-brand="synq"] .portfolio-content .detail-hero{
  background-image: linear-gradient(90deg, transparent 0 49.95%, var(--pf-line) 50%, transparent 50.05%);
}
html[data-brand="synq"] .portfolio-content .detail-meta,html[data-brand="synq"] .portfolio-content .project-brief span{
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.08em;
}
.portfolio-content .detail-copy{
  min-width: 0;
  max-width: 34rem;
}
.portfolio-content .detail-copy h1{
  max-width: 100%;
  margin-bottom: 1rem;
  overflow-wrap: anywhere;
  font-size: clamp(3.3rem, 5.4vw, 6rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.92;
  text-wrap: balance;
}
.portfolio-content .detail-meta{
  margin: 0 0 clamp(1.8rem, 3vw, 2.8rem);
  color: var(--pf-ink-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portfolio-content .detail-lead{
  color: var(--pf-ink-muted);
  font-size: clamp(1rem, 1.22vw, 1.17rem);
  line-height: 1.65;
}
.portfolio-content .detail-facts{
  margin: clamp(2rem, 4vw, 3.5rem) 0;
}
.portfolio-content .detail-facts div{
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 0.8rem;
  padding: 0.72rem 0;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .detail-facts div:last-child{
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .detail-facts dt{
  color: var(--pf-ink-muted);
  font-size: 0.66rem;
}
.portfolio-content .detail-facts dd{
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
}
.portfolio-content .text-action{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.25rem;
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: 1px solid var(--pf-ink);
  border-radius: 0;
  background: var(--pf-ink);
  color: var(--pf-surface);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 700;
  transition:
    background-color 220ms var(--pf-ease),
    border-color 220ms var(--pf-ease),
    color 220ms var(--pf-ease);
}
.portfolio-content .text-action:hover{
  border-color: var(--pf-project-accent, var(--pf-accent));
  background: var(--pf-project-accent, var(--pf-accent));
  color: var(--pf-project-foreground, #fff);
}
.portfolio-content .detail-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}
.portfolio-content .detail-case-link{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  gap: 2.25rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--pf-line-strong);
  color: var(--pf-ink);
  font-size: 0.76rem;
  font-weight: 700;
  transition: border-color 180ms var(--pf-ease), color 180ms var(--pf-ease);
}
.portfolio-content .detail-case-link svg{
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  transition: transform 220ms var(--pf-ease);
}
.portfolio-content .detail-case-link:hover{
  border-color: var(--pf-project-accent);
  color: var(--pf-project-accent);
}
.portfolio-content .detail-case-link:hover svg{
  transform: translateX(0.25rem);
}
.portfolio-content .detail-preview{
  align-self: center;
  min-width: 0;
}
.portfolio-content .detail-preview .browser-bar{
  height: 36px;
}
.portfolio-content .detail-preview-image{
  display: block;
  aspect-ratio: 1.38 / 1;
  overflow: hidden;
  background: var(--pf-surface-deep);
}
.portfolio-content .preview-action{
  min-height: 54px;
  padding-inline: 1rem;
  font-size: 0.76rem;
}
.portfolio-content .client-profile{
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 7rem);
  margin: 0 var(--pf-side) clamp(3.5rem, 7vw, 7rem);
  padding: clamp(2rem, 4vw, 3.75rem);
  border-top: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
  background: var(--pf-surface-raised);
  scroll-margin-top: 88px;
}
.portfolio-content .client-profile-identity{
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem);
}
.portfolio-content .client-profile-logo{
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: 88px;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  background: #f3f5f4;
}
.portfolio-content .client-profile-logo img{
  width: 100%;
  height: auto;
  visibility: hidden;
  opacity: 0;
}
.portfolio-content .client-profile-logo::after{
  position: absolute;
  z-index: 1;
  inset: 0;
  background: url("./assets/profiles/redaction-mosaic.svg") center / cover no-repeat;
  content: "";
}
.portfolio-content .client-profile h2{
  margin-bottom: 0.5rem;
  font-size: clamp(1.4rem, 2.2vw, 2.15rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.portfolio-content .client-profile-type{
  margin: 0;
  color: var(--pf-ink-muted);
  font-size: 0.88rem;
  line-height: 1.55;
}
.portfolio-content .client-profile-copy{
  display: grid;
  gap: 1.4rem;
}
.portfolio-content .client-profile-copy article{
  display: grid;
  grid-template-columns: minmax(100px, 0.28fr) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  align-items: baseline;
}
.portfolio-content .client-profile-copy article + article{
  padding-top: 1.4rem;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .client-profile-copy h3,.portfolio-content .client-profile-copy p{
  margin: 0;
}
.portfolio-content .client-profile-copy h3{
  color: var(--pf-ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
}
.portfolio-content .client-profile-copy p{
  max-width: 65ch;
  font-size: clamp(0.96rem, 1.15vw, 1.08rem);
  letter-spacing: -0.01em;
  line-height: 1.62;
}
.portfolio-content .full-case-study{
  margin: 0 var(--pf-side) clamp(4.5rem, 8vw, 8rem);
  border-top: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
  scroll-margin-top: 88px;
}
.portfolio-content .case-study-header{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(2rem, 8vw, 10rem);
  padding: clamp(3rem, 7vw, 7rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}
.portfolio-content .case-study-header h2,.portfolio-content .case-study-header p,.portfolio-content .case-study-summary p,.portfolio-content .case-study-sections h3,.portfolio-content .case-study-sections p,.portfolio-content .case-study-boundary{
  margin: 0;
}
.portfolio-content .case-study-header h2{
  max-width: 16ch;
  font-size: clamp(2.5rem, 5.6vw, 6rem);
  font-weight: 600;
  letter-spacing: -0.055em;
  line-height: 0.92;
}
.portfolio-content .case-study-header p{
  max-width: 46ch;
  align-self: end;
  color: var(--pf-ink-muted);
  font-size: clamp(0.98rem, 1.2vw, 1.1rem);
  line-height: 1.65;
}
.portfolio-content .case-study-header-copy{
  display: grid;
  align-self: end;
  gap: 0.9rem;
}
.portfolio-content .case-study-header-copy > span{
  color: var(--pf-project-accent);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.portfolio-content .case-study-visual{
  position: relative;
  min-height: clamp(400px, 43vw, 650px);
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  background: var(--pf-surface-raised);
  isolation: isolate;
}
.portfolio-content .case-study-visual svg{
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  color: var(--pf-line);
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
.portfolio-content .case-visual-grid{
  opacity: 0.78;
}
.portfolio-content .case-visual-route{
  stroke: var(--pf-visual-accent);
  stroke-width: 3;
}
.portfolio-content .case-visual-nodes circle,.portfolio-content .case-visual-nodes path{
  fill: var(--pf-surface-raised);
  stroke: var(--pf-visual-accent);
  stroke-width: 2;
}
.portfolio-content .case-visual-nodes .case-visual-node-core{
  fill: var(--pf-visual-accent);
}
.portfolio-content .case-study-visual-number{
  position: absolute;
  z-index: 1;
  top: clamp(1.2rem, 2.4vw, 2.5rem);
  right: clamp(1.2rem, 2.4vw, 2.5rem);
  color: var(--pf-visual-accent);
  font-size: clamp(4rem, 10vw, 9.5rem);
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: 0.75;
  opacity: 0.22;
}
.portfolio-content .case-study-visual ol{
  margin: 0;
  padding: 0;
  list-style: none;
}
.portfolio-content .case-study-visual li{
  position: absolute;
  z-index: 1;
  top: var(--pf-node-y);
  left: var(--pf-node-x);
  display: grid;
  width: min(18rem, 24vw);
  gap: 0.42rem;
  padding: 0.9rem 1rem 1rem;
  transform: translate(-50%, calc(-100% - 2rem));
  border: 1px solid var(--pf-line);
  background: var(--pf-surface-raised);
}
.portfolio-content .case-study-visual li span,.portfolio-content .case-study-evidence dt{
  color: var(--pf-ink-muted);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}
.portfolio-content .case-study-visual li strong{
  overflow: hidden;
  font-size: clamp(0.78rem, 1.05vw, 0.96rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portfolio-content .case-study-visual figcaption{
  position: absolute;
  z-index: 1;
  right: clamp(1rem, 2vw, 2rem);
  bottom: clamp(1rem, 2vw, 2rem);
  left: clamp(1rem, 2vw, 2rem);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .case-study-visual figcaption strong{
  font-size: clamp(0.92rem, 1.25vw, 1.1rem);
  font-weight: 600;
}
.portfolio-content .case-study-visual figcaption span{
  color: var(--pf-ink-muted);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-align: right;
  text-transform: uppercase;
}
.portfolio-content .case-study-evidence{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-right: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
  border-left: 1px solid var(--pf-line);
}
.portfolio-content .case-study-evidence div{
  display: grid;
  align-content: space-between;
  gap: clamp(2rem, 5vw, 5rem);
  min-height: clamp(150px, 15vw, 210px);
  padding: clamp(1.2rem, 2.4vw, 2.2rem);
}
.portfolio-content .case-study-evidence div + div{
  border-left: 1px solid var(--pf-line);
}
.portfolio-content .case-study-evidence dt,.portfolio-content .case-study-evidence dd{
  margin: 0;
}
.portfolio-content .case-study-evidence dd{
  max-width: 28ch;
  font-size: clamp(0.92rem, 1.25vw, 1.12rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
}
.portfolio-content .case-study-summary{
  padding: clamp(2rem, 4vw, 4rem) 0;
}
.portfolio-content .case-study-summary-row{
  display: grid;
  grid-template-columns: minmax(150px, 0.3fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .case-study-summary-row h3{
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.65;
}
.portfolio-content .case-study-summary p{
  max-width: 68ch;
  font-size: 1.05rem;
  color: var(--pf-ink-muted);
  line-height: 1.7;
}
.portfolio-content .case-study-details{
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .case-study-details summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: clamp(104px, 10vw, 148px);
  cursor: pointer;
  color: var(--pf-ink);
}
.portfolio-content .case-study-details summary::-webkit-details-marker{
  display: none;
}
.portfolio-content .case-study-details summary::marker{
  content: "";
}
.portfolio-content .case-study-summary-label{
  display: grid;
  gap: 0.5rem;
}
.portfolio-content .case-study-summary-label strong{
  font-size: clamp(1.35rem, 2.4vw, 2.45rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1;
}
.portfolio-content .case-study-summary-label small{
  color: var(--pf-ink-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.portfolio-content .case-study-details summary svg{
  width: clamp(46px, 5vw, 62px);
  height: clamp(46px, 5vw, 62px);
  padding: clamp(13px, 1.5vw, 18px);
  border: 1px solid var(--pf-line);
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.7;
  transition: color 180ms var(--pf-ease), transform 220ms var(--pf-ease);
}
.portfolio-content .case-study-details summary:hover svg{
  color: var(--pf-project-accent);
}
.portfolio-content .case-study-details[open] summary svg{
  transform: rotate(180deg);
}
.portfolio-content .case-study-index{
  display: grid;
  grid-template-columns: minmax(150px, 0.3fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .case-study-index > span{
  color: var(--pf-ink-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.portfolio-content .case-study-index ol{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pf-line);
  list-style: none;
}
.portfolio-content .case-study-index li{
  min-width: 0;
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .case-study-index li:nth-child(odd){
  border-right: 1px solid var(--pf-line);
}
.portfolio-content .case-study-index a{
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.7rem;
  min-height: 52px;
  align-items: center;
  padding: 0.7rem 0.85rem;
  transition: background-color 180ms var(--pf-ease);
}
.portfolio-content .case-study-index a:hover{
  background: var(--pf-surface-raised);
}
.portfolio-content .case-study-index b{
  color: var(--pf-project-accent);
  font-size: 0.64rem;
}
.portfolio-content .case-study-index a span{
  overflow: hidden;
  font-size: 0.76rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.portfolio-content .case-study-sections{
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--pf-line);
}
.portfolio-content .case-study-sections article{
  display: grid;
  grid-template-columns: minmax(150px, 0.3fr) minmax(0, 1fr);
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
  border-bottom: 1px solid var(--pf-line);
  scroll-margin-top: 88px;
}
.portfolio-content .case-study-sections article:nth-child(2),.portfolio-content .case-study-sections article:nth-child(4),.portfolio-content .case-study-sections article:nth-child(7){
  border-right: 0;
}
.portfolio-content .case-study-sections article:nth-child(1),.portfolio-content .case-study-sections article:nth-child(6){
  grid-column: 1 / -1;
  min-height: 0;
}
.portfolio-content .case-study-sections article::after{
  content: none;
}
.portfolio-content .case-study-sections h3{
  position: relative;
  z-index: 1;
  max-width: 28ch;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.5;
}
.portfolio-content .case-study-sections p{
  position: relative;
  z-index: 1;
  max-width: 68ch;
  margin-top: 0;
  color: var(--pf-ink-muted);
  font-size: clamp(0.96rem, 1.2vw, 1.08rem);
  line-height: 1.7;
}
.portfolio-content .case-study-sections p + p{
  margin-top: 1rem;
}
.portfolio-content .case-study-section-copy{
  min-width: 0;
}
.portfolio-content .case-study-section-copy ul{
  max-width: 68ch;
  margin: 0;
  padding-left: 1.2rem;
  color: var(--pf-ink-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.portfolio-content .case-study-section-copy li + li{
  margin-top: 0.6rem;
}
.portfolio-content .case-study-boundary{
  max-width: 78ch;
  padding: 2rem 0;
  color: var(--pf-ink-muted);
  font-size: 0.8rem;
  line-height: 1.6;
}
.portfolio-content .project-brief{
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 var(--pf-side);
  border-top: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .project-brief article{
  min-height: 310px;
  padding: clamp(2rem, 4vw, 4rem);
}
.portfolio-content .project-brief article + article{
  border-left: 1px solid var(--pf-line);
}
.portfolio-content .project-brief span{
  display: block;
  margin-bottom: clamp(3rem, 7vw, 6rem);
  color: var(--pf-ink-muted);
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
}
.portfolio-content .project-brief p{
  max-width: 36rem;
  margin-bottom: 0;
  font-size: clamp(1.05rem, 1.6vw, 1.42rem);
  letter-spacing: -0.02em;
  line-height: 1.55;
}
.portfolio-content .project-switcher{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
}
.portfolio-content .project-switcher a{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  min-height: 72px;
  padding: 0.8rem;
  transition:
    background-color 220ms var(--pf-ease),
    color 220ms var(--pf-ease);
}
.portfolio-content .project-switcher a + a{
  border-left: 1px solid var(--pf-line);
}
.portfolio-content .project-switcher a:hover{
  background: var(--pf-project-accent, var(--pf-accent));
  color: var(--pf-project-foreground, #fff);
}
.portfolio-content .project-switcher span{
  color: var(--pf-ink-muted);
  font-size: 0.62rem;
}
.portfolio-content .project-switcher a:hover span{
  color: inherit;
}
.portfolio-content .project-switcher strong{
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.7rem;
  line-height: 1.3;
}
.portfolio-content .project-viewer{
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--pf-viewer-bg);
  color: var(--pf-viewer-ink);
}
.portfolio-content .project-viewer::backdrop{
  background: rgb(8 10 9 / 88%);
}
.portfolio-content .viewer-shell{
  display: grid;
  grid-template-rows: auto 1fr;
  width: 100%;
  height: 100%;
}
.portfolio-content .viewer-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 0 clamp(1rem, 2vw, 2rem);
  border-bottom: 1px solid #353a37;
}
.portfolio-content .viewer-header div{
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
}
.portfolio-content .viewer-header span{
  color: #a8b0aa;
  font-size: 0.65rem;
}
.portfolio-content .viewer-header h2{
  margin: 0;
  font-size: 0.86rem;
  font-weight: 700;
}
.portfolio-content .viewer-close{
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  border: 1px solid #555c57;
  border-radius: 0;
  background: transparent;
  color: var(--pf-viewer-ink);
  cursor: pointer;
  font-size: 0.7rem;
}
.portfolio-content .viewer-close:hover{
  border-color: var(--pf-viewer-ink);
}
.portfolio-content .viewer-stage{
  position: relative;
  min-height: 0;
  overflow: auto;
  background: #080a09;
}
.portfolio-content .viewer-stage iframe{
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}
.portfolio-content .viewer-stage > img{
  width: 100%;
  min-height: 100%;
  object-fit: contain;
  object-position: top center;
  background: #080a09;
}
.portfolio-content .viewer-status{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: grid;
  gap: 0.35rem;
  width: min(90vw, 26rem);
  padding: 1.2rem;
  transform: translate(-50%, -50%);
  border: 1px solid #414743;
  background: var(--pf-viewer-bg);
  text-align: center;
}
.portfolio-content .viewer-status strong{
  font-size: 0.82rem;
}
.portfolio-content .viewer-status small{
  color: #a8b0aa;
  font-size: 0.68rem;
  line-height: 1.5;
}
.portfolio-content .viewer-status.is-error{
  border-color: #c85b5b;
}
.portfolio-content .viewer-status.is-preview{
  top: 1rem;
  transform: translateX(-50%);
  border-color: #707973;
  background: rgb(15 18 16 / 94%);
}
.portfolio-content [hidden]{
  display: none !important;
}
@media (max-width: 1050px){.portfolio-content .systems-console{
    grid-template-columns: minmax(13rem, 0.38fr) minmax(0, 0.62fr);
  }
.portfolio-content .systems-feature-bottom{
    display: grid;
  }
.portfolio-content .systems-actions{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.portfolio-content .detail-hero{
    grid-template-columns: 1fr;
  }
.portfolio-content .tech-hero{
    grid-template-columns: 1fr 20rem;
  }
.portfolio-content .tech-wordmark{
    font-size: clamp(5.6rem, 15vw, 9.5rem);
  }
.portfolio-content .project-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
.portfolio-content .detail-preview{
    max-width: 860px;
  }
.portfolio-content .client-profile{
    grid-template-columns: 1fr;
  }
.portfolio-content .case-study-header{
    grid-template-columns: 1fr;
  }
.portfolio-content .case-study-header p{
    align-self: auto;
  }
.portfolio-content .case-study-visual{
    min-height: 520px;
  }
.portfolio-content .project-switcher{
    grid-template-columns: 1fr;
  }
.portfolio-content .project-switcher a + a{
    border-top: 1px solid var(--pf-line);
    border-left: 0;
  }

}
@media (max-width: 820px){.portfolio-content .systems-console{
    grid-template-columns: 1fr;
  }
.portfolio-content .systems-list{
    display: flex;
    max-height: none;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--pf-line);
  }
.portfolio-content .systems-item{
    flex: 0 0 190px;
    min-height: 76px;
    border-bottom: 0;
    border-right: 1px solid var(--pf-line);
  }
.portfolio-content .overview-intro{
    min-height: auto;
  }
.portfolio-content .alex-hero{
    grid-template-columns: 1fr;
  }
.portfolio-content .alex-hero::before,.portfolio-content .alex-hero::after{
    left: var(--pf-side);
  }
.portfolio-content .alex-identity{
    min-height: 62vh;
    border-right: 0;
    border-bottom: 1px solid var(--pf-line);
  }
.portfolio-content .alex-monogram{
    font-size: clamp(13rem, 59vw, 26rem);
    transform: none;
  }
.portfolio-content .alex-thesis{
    min-height: 70vh;
    transform: none;
  }
.portfolio-content .alex-side-note{
    display: none;
  }
.portfolio-content .tech-hero{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
  }
.portfolio-content .tech-wordmark,.portfolio-content .tech-thesis,.portfolio-content .signal-route{
    grid-column: 1;
  }
.portfolio-content .tech-wordmark{
    margin-block: clamp(5rem, 16vw, 8rem);
    font-size: clamp(4.6rem, 16vw, 8rem);
  }
.portfolio-content .signal-route{
    width: min(100%, 30rem);
    margin-top: 4rem;
    justify-self: end;
  }

}
@media (max-width: 680px){.portfolio-content .systems-section{
    scroll-margin-top: 64px;
  }
.portfolio-content .systems-heading{
    display: block;
    margin-bottom: 1.5rem;
  }
.portfolio-content .systems-heading > span{
    display: block;
    margin-top: 1.4rem;
  }
.portfolio-content .systems-heading h2{
    font-size: clamp(2.45rem, 10vw, 3.5rem);
  }
.portfolio-content .systems-preview.is-live{
    min-height: 480px;
  }
.portfolio-content .systems-actions{
    grid-template-columns: 1fr;
  }
.portfolio-content .site-header{
    grid-template-columns: 1fr auto;
    min-height: 64px;
  }
.portfolio-content .brand small,.portfolio-content .header-index{
    display: none;
  }
.portfolio-content .site-header{
    padding-inline: var(--pf-side);
  }
.portfolio-content .header-action{
    font-size: 0.7rem;
  }
.portfolio-content .theme-toggle{
    width: 44px;
    height: 44px;
  }
.portfolio-content .alex-identity,.portfolio-content .alex-thesis{
    padding: 3.5rem var(--pf-side);
  }
.portfolio-content .alex-identity{
    min-height: 46vh;
  }
.portfolio-content .alex-monogram{
    font-size: clamp(11rem, 62vw, 17rem);
  }
.portfolio-content .alex-thesis{
    min-height: 68vh;
  }
.portfolio-content .alex-thesis h1{
    font-size: clamp(3.1rem, 14vw, 4.3rem);
  }
.portfolio-content .overview-lead{
    font-size: 1rem;
  }
.portfolio-content .proof-line li{
    font-size: 0.56rem;
    letter-spacing: 0.12em;
  }
.portfolio-content .tech-hero{
    min-height: calc(100dvh - 64px);
    padding: 2rem var(--pf-side) 3.5rem;
    background-size: 100% 20%, 25% 100%;
  }
.portfolio-content .tech-intro{
    display: grid;
    gap: 0.55rem;
  }
.portfolio-content .tech-intro span{
    justify-self: end;
  }
.portfolio-content .tech-wordmark{
    margin-block: 5rem 4rem;
    font-size: clamp(4.4rem, 20vw, 6rem);
  }
.portfolio-content .tech-thesis h1{
    font-size: clamp(2.8rem, 12vw, 3.7rem);
  }
.portfolio-content .signal-route{
    margin-top: 3.5rem;
    padding-left: 1.2rem;
  }
.portfolio-content .project-grid{
    grid-template-columns: 1fr;
    gap: 3.8rem;
  }
.portfolio-content .section-heading{
    display: block;
  }
.portfolio-content .section-heading h2{
    margin-bottom: 0.8rem;
  }
.portfolio-content .agency-profile,.portfolio-content .confidentiality{
    grid-template-columns: 1fr;
  }
.portfolio-content .site-footer{
    grid-template-columns: 1fr auto;
    min-height: 82px;
  }
.portfolio-content .site-footer p{
    display: none;
  }
.portfolio-content .detail-hero{
    padding-top: 3rem;
    gap: 3rem;
  }
.portfolio-content .detail-copy h1{
    font-size: clamp(3rem, 16vw, 5rem);
  }
.portfolio-content .client-profile{
    gap: 2rem;
    padding: 1.5rem;
  }
.portfolio-content .client-profile-identity{
    grid-template-columns: 1fr;
  }
.portfolio-content .client-profile-logo{
    width: min(100%, 220px);
  }
.portfolio-content .client-profile-copy article{
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
.portfolio-content .case-study-visual{
    min-height: 560px;
  }
.portfolio-content .case-study-visual svg{
    opacity: 0.72;
  }
.portfolio-content .case-study-visual-number{
    top: 1.2rem;
    right: 1.2rem;
    font-size: 5rem;
  }
.portfolio-content .case-study-visual ol{
    position: absolute;
    right: 1rem;
    bottom: 5.4rem;
    left: 1rem;
    display: grid;
    gap: 0.45rem;
  }
.portfolio-content .case-study-visual li{
    position: static;
    display: grid;
    grid-template-columns: minmax(5.5rem, 0.7fr) minmax(0, 1.3fr);
    width: auto;
    align-items: baseline;
    transform: none;
  }
.portfolio-content .case-study-visual li strong{
    white-space: normal;
  }
.portfolio-content .case-study-visual figcaption{
    display: grid;
    gap: 0.25rem;
  }
.portfolio-content .case-study-visual figcaption span{
    text-align: left;
  }
.portfolio-content .case-study-evidence{
    grid-template-columns: 1fr;
  }
.portfolio-content .case-study-evidence div{
    min-height: 130px;
    gap: 2rem;
  }
.portfolio-content .case-study-evidence div + div{
    border-top: 1px solid var(--pf-line);
    border-left: 0;
  }
.portfolio-content .case-study-summary{
    padding-block: 2rem;
  }
.portfolio-content .case-study-summary-row,.portfolio-content .case-study-sections article{
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
.portfolio-content .case-study-details summary{
    min-height: 108px;
  }
.portfolio-content .case-study-index{
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
.portfolio-content .case-study-index ol{
    grid-template-columns: 1fr;
  }
.portfolio-content .case-study-index li:nth-child(odd){
    border-right: 0;
  }
.portfolio-content .case-study-index a{
    min-height: 48px;
  }
.portfolio-content .case-study-sections{
    grid-template-columns: 1fr;
  }
.portfolio-content .case-study-sections article,.portfolio-content .case-study-sections article:nth-child(1),.portfolio-content .case-study-sections article:nth-child(6){
    grid-column: auto;
    min-height: 0;
  }
.portfolio-content .case-study-sections article:nth-child(2),.portfolio-content .case-study-sections article:nth-child(4),.portfolio-content .case-study-sections article:nth-child(7){
    border-right: 0;
  }
.portfolio-content .project-brief{
    grid-template-columns: 1fr;
  }
.portfolio-content .project-brief article{
    min-height: 260px;
  }
.portfolio-content .project-brief article + article{
    border-top: 1px solid var(--pf-line);
    border-left: 0;
  }
.portfolio-content .viewer-header div{
    display: grid;
    gap: 0.2rem;
  }
.portfolio-content .viewer-close span{
    display: none;
  }

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

}
html[data-brand="synq"][data-theme="dark"]{--pf-surface:#090b0c;--pf-surface-raised:#15191b;--pf-surface-deep:#1c2224;--pf-ink:#f1f4f3;--pf-ink-muted:#aab4b2;--pf-line:#30383a;--pf-accent:#b6f1d5;--pf-accent-ink:#090b0c;--pf-focus:#b6f1d5;--pf-header-bg:#090b0c;--pf-page-width:1456px;--pf-side:48px}
html[data-brand="synq"][data-theme="light"]{--pf-surface:#f1f4f3;--pf-surface-raised:#e4eae7;--pf-surface-deep:#dce4df;--pf-ink:#101614;--pf-ink-muted:#46524c;--pf-line:#b7c3bc;--pf-accent:#236349;--pf-accent-ink:#f1f4f3;--pf-focus:#236349;--pf-header-bg:#f1f4f3;--pf-page-width:1456px;--pf-side:48px}
.portfolio-content{font-family:'DM Sans',sans-serif}
.portfolio-content .site-header{max-width:1456px;margin-inline:auto;padding-block:28px;border-bottom:1px solid var(--pf-line);gap:24px;position:relative;display:flex;justify-content:space-between}
.portfolio-content .tech-brand>span{font-size:30px;letter-spacing:-.055em;font-weight:600}
.portfolio-content .tech-brand small{display:none}
.portfolio-content .header-index{display:none}
.portfolio-content .header-controls{gap:24px}
.portfolio-content .header-action{font-family:inherit;font-size:14px;letter-spacing:0;text-transform:none}
.portfolio-content .overview-intro.tech-hero{min-height:0;padding-block:72px 64px;display:block;border-bottom:1px solid var(--pf-line)}
.portfolio-content .tech-intro{margin-bottom:32px}
.portfolio-content .tech-intro p{font-family:inherit;font-size:14px;letter-spacing:.1em;color:var(--pf-accent)}
.portfolio-content .tech-wordmark,.portfolio-content .signal-route{display:none}
.portfolio-content .tech-thesis{display:block;max-width:1040px;margin:0}
.portfolio-content .tech-thesis h1{font-size:clamp(42px,5vw,68px);line-height:1.08;letter-spacing:-.035em;font-weight:300;max-width:22ch}
.portfolio-content .tech-thesis h1 em{font-style:normal;color:var(--pf-accent)}
.portfolio-content .overview-lead{font-size:20px;max-width:62ch;line-height:1.65;margin-top:28px}
.portfolio-content .hero-action{display:inline-flex;padding:14px 22px;border:1px solid var(--pf-line);border-radius:8px;margin-top:28px;font-size:15px;letter-spacing:0;text-transform:none;gap:24px}
.portfolio-content .systems-section,.portfolio-content .projects-section{padding-block:80px}
.portfolio-content .systems-heading h2,.portfolio-content .section-heading h2{font-size:clamp(30px,3.3vw,48px);font-weight:400;line-height:1.15;max-width:24ch}
.portfolio-content .systems-console{border-radius:12px;overflow:hidden}
.portfolio-content .systems-feature h3{font-weight:400}
.portfolio-content .systems-primary{border-radius:8px}
.portfolio-content .project-grid{gap:48px 32px}
.portfolio-content .project-window{border-radius:12px;overflow:hidden}
.portfolio-content .card-meta h3{font-weight:400}
.portfolio-content .agency-profile,.portfolio-content .confidentiality{padding-block:64px}
.portfolio-content .site-footer{padding-block:40px}
.portfolio-content .site-footer a{font-family:inherit;text-transform:none;letter-spacing:0}
.portfolio-content .demo-note{color:var(--pf-ink-muted);font-size:14px;line-height:1.65;margin-top:24px;max-width:70ch}
.portfolio-content .portfolio-footer-links{display:flex;gap:24px;flex-wrap:wrap}
@media(max-width:1100px){html[data-brand="synq"][data-theme]{--pf-side:32px}
.portfolio-content .header-controls{gap:16px}
}
@media(max-width:700px){html[data-brand="synq"][data-theme]{--pf-side:20px}
.portfolio-content .site-header{flex-wrap:wrap;padding-block:20px;gap:16px}
.portfolio-content .header-controls{gap:12px;display:flex;flex-wrap:wrap}
.portfolio-content .header-action{font-size:13px}
.portfolio-content .header-action[href="#systems"]{display:none}
.portfolio-content .overview-intro.tech-hero{padding-block:48px}
.portfolio-content .tech-intro{display:block}
.portfolio-content .tech-intro>span{display:none}
.portfolio-content .overview-lead{font-size:18px}
.portfolio-content .systems-section,.portfolio-content .projects-section{padding-block:56px}
.portfolio-content .systems-heading{align-items:start;flex-direction:column;gap:16px}
.portfolio-content .site-footer{gap:24px}
.portfolio-content .demo-note{font-size:14px}
}
@media(prefers-reduced-motion:reduce){}


.portfolio-content{width:100%;max-width:1456px;margin-inline:auto;overflow-x:visible;background:var(--pf-surface);font-family:'DM Sans',sans-serif}.portfolio-content .tech-intro{padding:0}.portfolio-content .systems-feature{min-width:0}.portfolio-content .systems-list{min-width:0}.portfolio-content .detail-meta{font-size:14px}.portfolio-dialog{max-width:none}.portfolio-content .viewer-dialog{max-width:calc(100vw - 32px)}
