.projects-brand {
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.projects-hero { grid-template-columns: minmax(0,1fr) minmax(22rem,1fr); }
.project-orbit { position: relative; min-height: 36rem; isolation: isolate; }
.orbit-glow { position: absolute; inset: 12%; z-index: -2; border-radius: 50%; background: radial-gradient(circle,rgba(255,79,154,.25),rgba(168,85,247,.15) 37%,rgba(45,226,230,.06) 58%,transparent 72%); filter: blur(30px); }
.orbit-line { position: absolute; inset: 15%; z-index: -1; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; transform: rotate(-18deg); }
.orbit-line-two { inset: 25% 4%; border-color: rgba(45,226,230,.12); transform: rotate(28deg); }
.orbit-core { position: absolute; inset: 50% auto auto 50%; width: 5.5rem; height: 5.5rem; display: grid; place-items: center; border: 1px solid rgba(255,105,255,.4); border-radius: 50%; background: rgba(12,9,17,.9); box-shadow: 0 0 3rem rgba(255,105,255,.22); transform: translate(-50%,-50%); }
.orbit-core i { position: absolute; width: .52rem; height: .52rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 1rem var(--cyan); }
.orbit-core i:first-child { transform: translate(-1.3rem,.6rem); background: var(--pink); box-shadow: 0 0 1rem var(--pink); }
.orbit-core i:last-child { transform: translate(1.3rem,.6rem); background: var(--mint); box-shadow: 0 0 1rem var(--mint); }
.orbit-card { position: absolute; z-index: 2; width: min(14rem,44%); min-height: 8.2rem; display: grid; align-content: center; gap: .16rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.13); border-radius: 1rem; color: #fff; text-decoration: none; background: linear-gradient(145deg,rgba(28,19,39,.95),rgba(8,7,12,.92)); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
a.orbit-card:hover { color: #fff; border-color: rgba(45,226,230,.45); box-shadow: 0 1.5rem 3.4rem rgba(0,0,0,.5),0 0 2rem rgba(45,226,230,.11); transform: translateY(-4px); }
.orbit-card span { color: var(--pink); font-size: .58rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.orbit-card strong { font-size: 1.35rem; font-weight: 650; }
.orbit-card small { color: var(--muted); }
.orbit-symphony { top: 7%; right: 3%; }
.orbit-entourage { left: 0; top: 43%; }
.orbit-ows { right: 5%; bottom: 5%; }

.projects-section { padding-block: clamp(6rem,11vw,10rem); }
.projects-intro { max-width: none; display: grid; grid-template-columns: minmax(0,.9fr) minmax(18rem,.65fr); gap: 1rem clamp(2rem,8vw,7rem); align-items: end; margin-bottom: 3rem; }
.projects-intro .eyebrow,.projects-intro h2 { grid-column: 1; }
.projects-intro > p:last-child { grid-column: 2; grid-row: 1 / span 2; margin: 0; align-self: end; color: var(--muted); }
.projects-intro h2,.tools-heading h2 { margin: 0; font-size: clamp(2.2rem,5vw,4.2rem); font-weight: 300; letter-spacing: -.025em; }
.project-showcase { display: grid; gap: 1rem; }
.project-card { min-height: 31rem; display: grid; grid-template-columns: minmax(0,1fr) minmax(19rem,.85fr); overflow: hidden; border: 1px solid rgba(255,105,255,.2); border-radius: 1.4rem; background: linear-gradient(145deg,rgba(29,20,40,.86),rgba(8,7,12,.93)); box-shadow: 0 1.8rem 4rem rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.045); }
.project-card-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.7rem,5vw,4.2rem); }
.project-meta { display: flex; flex-wrap: wrap; gap: .45rem; }
.project-meta span { padding: .38rem .65rem; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #b9adbf; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: rgba(255,255,255,.035); }
.project-index { margin: 2.5rem 0 .2rem; color: var(--pink); font-size: .67rem; font-weight: 800; letter-spacing: .2em; }
.project-card h3 { margin: 0 0 1rem; font-size: clamp(2.6rem,6vw,5rem); font-weight: 280; letter-spacing: -.035em; }
.project-card-copy > p:not(.project-index) { max-width: 39rem; margin: 0; color: var(--muted); }
.project-card .button { margin-top: 2rem; }
.project-facts { display: grid; gap: .45rem; margin: 1.4rem 0 0; padding: 0; color: #e8e0ed; font-size: .84rem; list-style: none; }
.project-facts li { position: relative; padding-left: 1.1rem; }
.project-facts li::before { position: absolute; left: 0; color: var(--cyan); content: "·"; }
.project-visual { position: relative; min-height: 24rem; overflow: hidden; border-left: 1px solid rgba(255,255,255,.07); background: rgba(5,5,9,.34); }

.symphony-visual { display: grid; place-items: center; background: radial-gradient(circle at 50% 42%,rgba(168,85,247,.24),transparent 52%),linear-gradient(145deg,rgba(45,226,230,.06),rgba(255,79,154,.06)); }
.visual-window { width: min(82%,27rem); overflow: hidden; border: 1px solid rgba(255,105,255,.35); border-radius: 1rem; background: #0a0910; box-shadow: 0 2rem 4rem rgba(0,0,0,.55),0 0 2.5rem rgba(168,85,247,.15); transform: perspective(60rem) rotateY(-7deg) rotateX(2deg); }
.visual-bar { height: 2.8rem; display: flex; align-items: center; gap: .32rem; padding: 0 .8rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.visual-bar i { width: .4rem; height: .4rem; border-radius: 50%; background: rgba(255,255,255,.2); }
.visual-bar i:first-child { background: var(--pink); }.visual-bar i:nth-child(2) { background: var(--violet); }.visual-bar i:nth-child(3) { background: var(--cyan); }
.visual-bar span { margin-left: auto; color: #a99caf; font-size: .55rem; font-weight: 800; letter-spacing: .16em; }
.visual-canvas { position: relative; min-height: 14rem; background: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 30% 30%,rgba(45,226,230,.18),transparent 32%),#100c17; background-size: 2rem 2rem,2rem 2rem,auto,auto; }
.visual-canvas i { position: absolute; border: 1px solid rgba(45,226,230,.45); border-radius: .35rem; background: rgba(45,226,230,.09); }
.visual-canvas i:first-child { inset: 1.2rem 45% 5rem 1.2rem; }.visual-canvas i:nth-child(2) { inset: 1.2rem 1.2rem 8rem 63%; border-color: rgba(255,105,255,.5); }.visual-canvas i:nth-child(3) { inset: 7rem 1.2rem 2.3rem 63%; }
.visual-canvas strong { position: absolute; left: 1.4rem; bottom: 1.2rem; padding: .35rem .55rem; border-left: 2px solid var(--pink); font-size: .52rem; letter-spacing: .14em; background: rgba(8,7,12,.8); }
.visual-sources { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.08); }
.visual-sources span { padding: .65rem .35rem; color: #91859c; font-size: .48rem; font-weight: 750; letter-spacing: .1em; text-align: center; background: #0d0b12; }

.entourage-visual { display: grid; place-items: center; padding: clamp(.7rem,2vw,1.25rem); background: radial-gradient(circle at 50% 43%,rgba(255,105,255,.19),transparent 22%),radial-gradient(circle at 50% 47%,rgba(45,226,230,.1),transparent 48%),linear-gradient(145deg,#100b17,#07070b); }
.entourage-visual img { position: relative; z-index: 1; display: block; width: 100%; height: auto; border: 2px solid rgba(45,226,230,.72); border-radius: .85rem; box-shadow: 0 1.5rem 3rem rgba(0,0,0,.55),0 0 1.6rem rgba(45,226,230,.14),0 0 2.2rem rgba(255,105,255,.1); }
.character-halo { position: absolute; width: 21rem; height: 21rem; border: 1px solid rgba(255,105,255,.18); border-radius: 50%; box-shadow: inset 0 0 3rem rgba(168,85,247,.1),0 0 3rem rgba(45,226,230,.06); }
.character-halo::before,.character-halo::after { position: absolute; inset: 12%; content: ""; border: 1px solid rgba(45,226,230,.12); border-radius: 50%; }
.character-halo::after { inset: 25%; border-color: rgba(255,255,255,.08); }
.character-mark { position: relative; width: 8.5rem; height: 12rem; border: 1px solid rgba(255,255,255,.13); border-radius: 48% 48% 42% 42%; background: linear-gradient(160deg,rgba(255,105,255,.2),rgba(168,85,247,.08) 45%,rgba(45,226,230,.12)); box-shadow: 0 1.5rem 3rem rgba(0,0,0,.45); }
.character-mark::before { position: absolute; left: 17%; right: 17%; top: 21%; height: 2.6rem; content: ""; border-top: .7rem solid rgba(255,105,255,.35); border-radius: 50%; }
.character-mark i { position: absolute; top: 42%; width: .65rem; height: .36rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 .8rem var(--cyan); }
.character-mark i:first-child { left: 28%; }.character-mark i:nth-child(2) { right: 28%; }
.character-mark span { position: absolute; left: 38%; right: 38%; bottom: 28%; height: 1px; background: rgba(255,255,255,.55); }
.entourage-visual small { position: absolute; z-index: 2; left: 50%; bottom: .65rem; padding: .35rem .6rem; color: #d8cfe0; font-size: .53rem; font-weight: 800; letter-spacing: .16em; white-space: nowrap; background: rgba(7,7,11,.86); border: 1px solid rgba(255,105,255,.28); border-radius: 999px; transform: translateX(-50%); }

.ows-visual { background: radial-gradient(circle at 45% 45%,rgba(45,226,230,.13),transparent 34%),linear-gradient(145deg,#071014,#0b0910); }
.city-grid { position: absolute; inset: -20%; opacity: .55; background-image: linear-gradient(rgba(45,226,230,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(45,226,230,.09) 1px,transparent 1px); background-size: 3rem 3rem; transform: perspective(35rem) rotateX(58deg) rotateZ(-19deg) scale(1.2); }
.city-road { position: absolute; left: -10%; right: -10%; top: 47%; height: 1px; background: var(--cyan); box-shadow: 0 0 1rem rgba(45,226,230,.55); transform: rotate(-23deg); }
.road-two { transform: rotate(31deg); background: var(--pink); box-shadow: 0 0 1rem rgba(255,105,255,.5); }
.city-node { position: absolute; width: .85rem; height: .85rem; border: 2px solid #fff; border-radius: 50%; background: var(--ink); box-shadow: 0 0 1rem var(--cyan); }
.node-one { left: 27%; top: 35%; }.node-two { right: 22%; top: 52%; box-shadow: 0 0 1rem var(--pink); }.node-three { left: 44%; bottom: 24%; box-shadow: 0 0 1rem var(--mint); }
.ows-visual strong { position: absolute; left: 50%; top: 50%; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.16); color: #fff; font-size: .68rem; letter-spacing: .2em; background: rgba(6,8,12,.86); box-shadow: 0 1rem 2rem rgba(0,0,0,.4); transform: translate(-50%,-50%); }

.tools-section { position: relative; overflow: hidden; padding-block: clamp(6rem,11vw,10rem); border-block: 1px solid rgba(45,226,230,.13); background: linear-gradient(120deg,rgba(7,7,11,.96),rgba(22,10,28,.9)); }
.tools-section::before { position: absolute; width: 38rem; height: 38rem; left: 38%; top: -24rem; content: ""; border-radius: 50%; background: rgba(45,226,230,.09); filter: blur(60px); }
.tools-layout { position: relative; display: grid; grid-template-columns: minmax(0,.8fr) minmax(20rem,1.2fr); gap: clamp(3rem,9vw,8rem); align-items: center; }
.tools-heading > p:not(.eyebrow) { max-width: 34rem; color: var(--muted); }
.tool-list { display: grid; gap: .8rem; }
.tool-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; min-height: 8.5rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; color: #fff; text-decoration: none; background: rgba(255,255,255,.035); transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.tool-card:hover { color: #fff; border-color: rgba(45,226,230,.4); background: rgba(45,226,230,.065); transform: translateX(.3rem); }
.tool-number { color: var(--pink); font-size: .62rem; font-weight: 800; letter-spacing: .15em; }
.tool-card h3 { margin: 0 0 .25rem; font-size: 1.25rem; }
.tool-card p { margin: 0; color: var(--muted); font-size: .85rem; }
.tool-card > strong { color: var(--cyan); font-size: .78rem; font-weight: 750; white-space: nowrap; }
.projects-closing > p:not(.eyebrow) { max-width: 42rem; margin: 1.2rem auto 0; color: var(--muted); }

@media (max-width: 760px) {
  .projects-brand { font-size: .78rem; letter-spacing: .1em; }
  .projects-hero { grid-template-columns: 1fr; }
  .project-orbit { min-height: 31rem; }
  .projects-intro { grid-template-columns: 1fr; }
  .projects-intro > p:last-child { grid-column: 1; grid-row: auto; }
  .project-card { grid-template-columns: 1fr; }
  .project-visual { min-height: 22rem; border-top: 1px solid rgba(255,255,255,.07); border-left: 0; }
  .tools-layout { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .projects-brand { font-size: .68rem; }
  .project-orbit { min-height: 28rem; }
  .orbit-card { width: 49%; min-height: 7rem; padding: .8rem; }
  .orbit-card strong { font-size: 1.05rem; }
  .orbit-entourage { top: 39%; }
  .orbit-ows { bottom: 4%; }
  .project-card-copy { padding: 1.4rem; }
  .project-card h3 { font-size: 2.8rem; }
  .visual-window { width: 92%; transform: none; }
  .character-halo { width: 17rem; height: 17rem; }
  .tool-card { grid-template-columns: auto 1fr; }
  .tool-card > strong { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-card,.tool-card { transition: none; }
}
