/* SIGNAL FORGE — Software Engineer Interface */
:root,
:root[data-theme="dark"] {
  --sf-bg: #06080C;
  --sf-bg-2: #0B0F15;
  --sf-panel: #111720;
  --sf-raised: #17202B;
  --sf-primary: #55F2D2;
  --sf-blue: #6692FF;
  --sf-orange: #FFB866;
  --sf-text: #F5F7FA;
  --sf-muted: #8B97A7;
  --sf-line: rgba(255,255,255,.08);
  --sf-line-strong: rgba(255,255,255,.14);
  --sf-heading: "Space Grotesk", "Sora", "Segoe UI Variable Display", "Segoe UI", sans-serif;
  --sf-body: "Inter", "Manrope", "Segoe UI Variable Text", "Segoe UI", sans-serif;
  --sf-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
  --sf-left: 17rem;
  --sf-right: 14.5rem;
  --sf-ease: cubic-bezier(.2,.8,.2,1);
  --paper: var(--sf-bg);
  --paper-2: var(--sf-bg-2);
  --paper-3: var(--sf-panel);
  --paper-card: var(--sf-panel);
  --ink: var(--sf-text);
  --ink-2: #D9E0E8;
  --ink-3: var(--sf-muted);
  --ink-mute: var(--sf-muted);
  --copper: var(--sf-primary);
  --copper-deep: var(--sf-primary);
  --copper-soft: rgba(85,242,210,.1);
  --bordo: var(--sf-blue);
  --rule: var(--sf-line-strong);
  --rule-soft: var(--sf-line);
  --blueprint: rgba(102,146,255,.035);
  --font-display: var(--sf-heading);
  --font-body: var(--sf-body);
  --font-mono: var(--sf-mono);
  --shell: 86rem;
  --shell-pad: clamp(1.35rem,4vw,4.5rem);
  --radius: 2px;
  color-scheme: dark;
}
html { background: var(--sf-bg); scroll-padding-top: 2rem; }
body { min-height: 100vh; background: var(--sf-bg); color: var(--sf-text); font-family: var(--sf-body); overflow-x: clip; }
body::before, body::after { display: none; }
h1,h2,h3,h4 { font-family: var(--sf-heading); font-weight: 600; letter-spacing: -.035em; }
.mono { font-family: var(--sf-mono); font-size: .68rem; letter-spacing: .1em; font-weight: 500; }
:focus-visible { outline: 2px solid var(--sf-primary); outline-offset: 4px; }
::selection { background: var(--sf-primary); color: var(--sf-bg); }

.signal-bg,.pointer-glow { position: fixed; inset: 0; z-index: -3; pointer-events: none; }
.signal-bg { overflow: hidden; background: var(--sf-bg); }
.signal-bg__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(rgba(102,146,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(102,146,255,.016) 1px,transparent 1px); background-size: 96px 96px,96px 96px,24px 24px,24px 24px; mask-image: linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 60%,transparent 100%); }
.signal-bg__glow { position: absolute; border-radius: 50%; filter: blur(100px); opacity: .14; }
.signal-bg__glow--a { width: 40vw; height: 40vw; top: -14vw; left: 22vw; background: var(--sf-blue); }
.signal-bg__glow--b { width: 34vw; height: 34vw; right: 8vw; bottom: -16vw; background: var(--sf-primary); opacity: .08; }
.signal-bg__scan { position: absolute; inset: 0; background: linear-gradient(110deg,transparent 42%,rgba(85,242,210,.025) 50%,transparent 58%); transform: translateX(-70%); animation: sf-scan 14s linear infinite; }
#signal-backbone { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .72; }
.pointer-glow { width: 34rem; height: 34rem; inset: auto; left: var(--pointer-x,50vw); top: var(--pointer-y,30vh); transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle,rgba(85,242,210,.065),transparent 66%); z-index: -2; }

.signal-stage { min-width: 0; margin-left: var(--sf-left); margin-right: var(--sf-right); border-inline: 1px solid var(--sf-line); background: rgba(6,8,12,.54); }
.main { position: relative; z-index: 1; min-height: 100vh; }
.shell { width: min(100%,var(--shell)); padding-inline: var(--shell-pad); }
.band { border-top: 1px solid var(--sf-line); background: transparent; }
.band--tint { background: rgba(11,15,21,.64); }

.masthead { position: fixed; z-index: 60; inset: 0 auto 0 0; width: var(--sf-left); height: 100vh; border-right: 1px solid var(--sf-line); background: rgba(6,8,12,.86); backdrop-filter: blur(18px); }
.masthead__inner { height: 100%; padding: 2rem 1.4rem 1.5rem; display: flex; flex-direction: column; }
.brand { display: flex; gap: .9rem; align-items: center; padding: .2rem; }
.brand__mark { position: relative; width: 2.7rem; height: 2.7rem; border: 1px solid rgba(85,242,210,.34); background: linear-gradient(145deg,rgba(85,242,210,.12),rgba(102,146,255,.05)); color: var(--sf-primary); border-radius: 50%; display: grid; place-items: center; font: 700 .72rem/1 var(--sf-mono); box-shadow: inset 0 0 20px rgba(85,242,210,.04),0 0 24px rgba(85,242,210,.06); }
.brand__pulse { position: absolute; inset: -4px; border: 1px solid rgba(85,242,210,.16); border-radius: inherit; animation: sf-pulse 2.6s ease-out infinite; }
.brand__text { display: grid; gap: .18rem; }
.brand__name { color: var(--sf-text); font: 600 .92rem/1.2 var(--sf-heading); }
.brand__role { color: var(--sf-muted); font-size: .56rem; }
.nav { display: flex; flex-direction: column; flex: 1; margin-top: clamp(3.5rem,9vh,6.2rem); }
.nav__caption { color: #566270; padding: 0 .75rem 1rem; }
.nav__list { display: grid; gap: .25rem; }
.nav__link { position: relative; display: grid; grid-template-columns: .7rem 2rem 1fr; align-items: center; min-height: 3.45rem; padding: .65rem .75rem; color: var(--sf-muted); border: 1px solid transparent; transition: color .25s ease,background .25s ease,border-color .25s ease; }
.nav__link:hover { color: var(--sf-text); background: rgba(255,255,255,.025); }
.nav__link.is-active { color: var(--sf-text); border-color: rgba(85,242,210,.12); background: linear-gradient(90deg,rgba(85,242,210,.08),transparent); }
.nav__signal { width: 4px; height: 4px; border-radius: 50%; background: #45505c; transition: .25s ease; }
.nav__link.is-active .nav__signal { background: var(--sf-primary); box-shadow: 0 0 12px var(--sf-primary); }
.nav__link.is-active::after { content: ""; position: absolute; right: -.76rem; width: 1.5rem; height: 1px; background: linear-gradient(90deg,var(--sf-primary),transparent); animation: sf-navline 1.8s ease-in-out infinite; }
.nav__no { color: #586472; }
.nav__label { font: 550 .91rem/1 var(--sf-heading); letter-spacing: -.01em; }
.nav__foot { margin-top: auto; padding: 1rem .75rem 0; border-top: 1px solid var(--sf-line); color: #647180; display: grid; gap: .7rem; }
.nav__foot span:first-child { color: var(--sf-primary); }
.nav__foot i,.system-panel__state i,.system-panel__bottom strong i { display: inline-block; width: 5px; height: 5px; margin-right: .45rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.burger { display: none; }

.system-panel { position: fixed; z-index: 50; inset: 0 0 0 auto; width: var(--sf-right); height: 100vh; padding: 2rem 1.4rem 1.5rem; border-left: 1px solid var(--sf-line); background: rgba(6,8,12,.83); backdrop-filter: blur(18px); display: flex; flex-direction: column; }
.system-panel__top { padding-bottom: 1.5rem; border-bottom: 1px solid var(--sf-line); }
.system-panel__state { color: var(--sf-primary); }
.system-panel__role { margin-top: .6rem; color: var(--sf-text); font: 600 .85rem/1.3 var(--sf-heading); }
.system-readout { display: grid; gap: 1.5rem; margin-top: clamp(2.5rem,8vh,5rem); }
.system-readout div { display: grid; gap: .42rem; }
.system-readout span { color: #5f6b79; }
.system-readout strong { color: #dfe6ed; font: 500 .78rem/1.4 var(--sf-mono); letter-spacing: .02em; text-transform: uppercase; overflow-wrap: anywhere; }
.system-progress { position: absolute; right: 0; top: 0; width: 2px; height: 100%; background: rgba(255,255,255,.025); }
.system-progress i { display: block; width: 100%; height: 0; background: linear-gradient(var(--sf-primary),var(--sf-blue)); box-shadow: 0 0 12px var(--sf-primary); transition: height .12s linear; }
.system-panel__bottom { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid var(--sf-line); display: grid; gap: .5rem; color: #5d6977; }
.system-panel__bottom strong { color: var(--sf-primary); font-weight: 500; }
.system-panel__bottom small { font-size: .58rem; }

.signal-loader { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; overflow: hidden; background: var(--sf-bg); }
.signal-loader.is-skipped { display: none; }
.signal-loader__panel { position: absolute; inset-block: 0; width: 50%; background: #070a0f; transition: transform .65s var(--sf-ease); }
.signal-loader__panel--left { left: 0; border-right: 1px solid rgba(85,242,210,.12); }
.signal-loader__panel--right { right: 0; border-left: 1px solid rgba(85,242,210,.12); }
.signal-loader__lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(85,242,210,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(85,242,210,.05) 1px,transparent 1px); background-size: 48px 48px; animation: sf-loader-grid 1.2s ease both; }
.signal-loader__content { position: relative; z-index: 2; width: min(30rem,82vw); display: grid; justify-items: center; gap: .75rem; text-align: center; transition: opacity .28s ease,transform .28s ease; }
.signal-loader__content strong { font: 700 clamp(2rem,7vw,4.5rem)/1 var(--sf-heading); letter-spacing: -.055em; color: var(--sf-text); text-shadow: 0 0 40px rgba(85,242,210,.16); }
.signal-loader__content>span { color: var(--sf-muted); }
.signal-loader__content .signal-loader__index { color: var(--sf-primary); }
.signal-loader__content>i { width: min(21rem,74vw); height: 2px; margin-top: .8rem; background: rgba(255,255,255,.08); overflow: hidden; }
.signal-loader__content>i b { display: block; height: 100%; width: 0; background: linear-gradient(90deg,var(--sf-primary),var(--sf-blue)); box-shadow: 0 0 16px var(--sf-primary); animation: sf-loadbar .95s .15s var(--sf-ease) forwards; }
.signal-loader.is-leaving .signal-loader__content { opacity: 0; transform: scale(.97); }
.signal-loader.is-leaving .signal-loader__panel--left { transform: translateX(-101%); }
.signal-loader.is-leaving .signal-loader__panel--right { transform: translateX(101%); }

.hero { min-height: 100svh; padding: 0; border-bottom: 1px solid var(--sf-line); display: flex; align-items: center; }
.hero__inner { min-height: 100svh; position: relative; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(19rem,.9fr); align-items: center; gap: clamp(2rem,4vw,5rem); padding-block: clamp(5rem,10vh,8rem) 8rem; }
.hero__copy { position: relative; z-index: 2; }
.hero__eyebrow { display: flex; align-items: center; gap: .65rem; color: var(--sf-primary); margin-bottom: 1.6rem; }
.hero__eyebrow span { width: 2.5rem; height: 1px; background: linear-gradient(90deg,var(--sf-primary),transparent); }
.hero__title { position: relative; font-size: clamp(3.3rem,7.2vw,8.2rem); line-height: .87; letter-spacing: -.07em; }
.hero__title::after { content: attr(data-outline); position: absolute; z-index: -1; left: .12em; top: .78em; color: transparent; -webkit-text-stroke: 1px rgba(102,146,255,.13); white-space: nowrap; transform: translate3d(var(--outline-x,0),var(--outline-y,0),0); }
.hero__l1,.hero__l2 { display: block; }
.hero__l1 { font-size: .37em; line-height: 1.5; letter-spacing: -.045em; color: #aab5c3; }
.hero__l2 { max-width: 9ch; background: linear-gradient(115deg,#fff 15%,#a8b4c2 58%,var(--sf-primary)); -webkit-background-clip: text; color: transparent; }
.hero__tagline { max-width: 32rem; margin-top: 2.2rem; color: var(--sf-text); font: 520 clamp(1.05rem,1.5vw,1.35rem)/1.5 var(--sf-heading); }
.hero__intro { max-width: 38rem; margin-top: 1rem; color: var(--sf-muted); font-size: .98rem; line-height: 1.75; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.btn { min-height: 3.15rem; padding: .85rem 1.2rem; border-radius: 0; font: 600 .75rem/1 var(--sf-mono); letter-spacing: .05em; text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; gap: 1.1rem; transition: transform .25s ease,color .25s ease,border-color .25s ease,background .25s ease; }
.btn--primary { color: #06100e; background: var(--sf-primary); border: 1px solid var(--sf-primary); box-shadow: 0 0 30px rgba(85,242,210,.12); }
.btn--primary:hover { background: #82f8df; transform: translateY(-2px); }
.btn--ghost { color: var(--sf-text); background: transparent; border: 1px solid var(--sf-line-strong); }
.btn--ghost:hover { border-color: var(--sf-blue); color: var(--sf-blue); transform: translateY(-2px); }
.hero__core { position: relative; min-height: min(50vw,42rem); display: grid; place-items: center; }
#signal-core { width: 100%; aspect-ratio: 1; display: block; filter: drop-shadow(0 0 28px rgba(85,242,210,.08)); }
.hero__corelabel { position: absolute; left: 50%; bottom: 12%; transform: translateX(-50%); width: 78%; padding: .7rem .85rem; border-top: 1px solid var(--sf-line); display: flex; justify-content: space-between; color: #65717f; }
.hero__corelabel b { color: var(--sf-primary); font-weight: 500; }
.hero__facts { position: absolute; left: var(--shell-pad); right: var(--shell-pad); bottom: 1.8rem; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--sf-line); }
.hero__fact { padding: 1rem 1rem 0 0; display: grid; gap: .35rem; }
.hero__fact dt { color: #576371; }
.hero__fact dd { color: #cdd5df; }
.scroll-signal { position: absolute; right: var(--shell-pad); bottom: 1.9rem; display: none; color: var(--sf-muted); }
.sechead__eyebrow { color: var(--sf-primary); }
.sechead__title,.pagehead__title { color: var(--sf-text); }
.sechead__lead,.pagehead__lead,.principles__lead { color: var(--sf-muted); }

@keyframes sf-pulse { 0%{transform:scale(.9);opacity:.8} 75%,100%{transform:scale(1.28);opacity:0} }
@keyframes sf-navline { 0%,100%{opacity:.2;transform:scaleX(.5)} 50%{opacity:1;transform:scaleX(1)} }
@keyframes sf-scan { to{transform:translateX(70%)} }
@keyframes sf-loadbar { to{width:100%} }
@keyframes sf-loader-grid { from{opacity:0;transform:scale(1.06)} to{opacity:1;transform:scale(1)} }

@media (max-width:79.99rem) {
  :root { --sf-left:14.5rem; --sf-right:0rem; }
  .system-panel { display:none; }
  .signal-stage { border-right:0; }
}
@media (max-width:60rem) {
  :root { --sf-left:0rem; --shell-pad:clamp(1.15rem,5vw,2rem); }
  .signal-stage { margin:0; border:0; }
  .masthead { inset:0 0 auto; width:100%; height:4.75rem; border:0; border-bottom:1px solid var(--sf-line); }
  .masthead__inner { padding:.85rem var(--shell-pad); flex-direction:row; align-items:center; justify-content:space-between; }
  .brand__mark { width:2.55rem; height:2.55rem; }
  .burger { display:inline-flex; min-width:3rem; min-height:3rem; align-items:center; justify-content:center; gap:.55rem; color:var(--sf-text); border:1px solid var(--sf-line-strong); background:rgba(17,23,32,.88); }
  .burger__bars { display:grid; gap:5px; }
  .burger__bars i { width:14px; height:1px; background:currentColor; transition:transform .2s ease; }
  .burger__label { font-size:.58rem; }
  .nav { position:fixed; z-index:70; inset:4.75rem 0 auto; margin:0; padding:1.2rem var(--shell-pad) 1.4rem; background:rgba(6,8,12,.98); border-bottom:1px solid var(--sf-line); transform:translateY(-110%); opacity:0; visibility:hidden; transition:.35s var(--sf-ease); }
  .nav.is-open { transform:none; opacity:1; visibility:visible; }
  .nav__caption { display:none; }
  .nav__list { grid-template-columns:1fr 1fr; gap:.4rem; }
  .nav__link { min-height:3.4rem; border-color:var(--sf-line); }
  .nav__link.is-active::after { display:none; }
  .nav__foot { grid-template-columns:1fr 1fr; }
  .hero { padding-top:4.75rem; }
  .hero__inner { grid-template-columns:1fr; align-content:center; padding-top:7rem; padding-bottom:10rem; }
  .hero__copy { z-index:2; }
  .hero__core { position:absolute; z-index:0; right:-18%; top:13%; width:76%; opacity:.34; }
  .hero__corelabel { display:none; }
  .hero__title { font-size:clamp(3.25rem,15vw,6rem); }
  .hero__intro { max-width:33rem; }
  .hero__facts { grid-template-columns:1fr 1fr; gap:.3rem 1rem; }
  .pointer-glow { display:none; }
}
@media (max-width:38rem) {
  .brand__role { display:none; }
  .nav__list { grid-template-columns:1fr; max-height:58vh; overflow-y:auto; }
  .hero__inner { min-height:100svh; padding-top:7.5rem; gap:0; }
  .hero__eyebrow { margin-bottom:1.15rem; }
  .hero__title { font-size:clamp(3.05rem,16.5vw,5rem); }
  .hero__tagline { margin-top:1.5rem; font-size:1rem; }
  .hero__intro { font-size:.91rem; line-height:1.65; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
  .hero__actions { display:grid; grid-template-columns:1fr; }
  .btn { width:100%; min-height:3.2rem; }
  .hero__facts { bottom:1rem; }
  .hero__fact { padding-top:.65rem; }
  .hero__fact:nth-child(n+3) { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .signal-loader,.pointer-glow { display:none; }
}

/* Shared content language ------------------------------------------------ */
.pagehead {
  position: relative;
  min-height: min(68svh, 46rem);
  padding: clamp(8rem, 15vh, 12rem) 0 clamp(4rem, 9vh, 7rem);
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid var(--sf-line);
  overflow: hidden;
}
.pagehead::before {
  content: "";
  position: absolute;
  width: clamp(15rem, 34vw, 32rem);
  aspect-ratio: 1;
  right: -8%;
  top: 8%;
  border: 1px solid rgba(102,146,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(85,242,210,.018), 0 0 0 7rem rgba(102,146,255,.012);
}
.pagehead::after {
  content: attr(data-index);
  position: absolute;
  right: var(--shell-pad);
  bottom: -.1em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.035);
  font: 700 clamp(8rem, 20vw, 20rem)/.8 var(--sf-heading);
}
.pagehead>.shell { position: relative; z-index: 1; }
.pagehead__eyebrow { color: var(--sf-primary); margin-bottom: 1.2rem; }
.pagehead__title { max-width: 11ch; font-size: clamp(3.2rem, 7.4vw, 8rem); line-height: .92; letter-spacing: -.065em; }
.pagehead__lead { max-width: 48rem; margin-top: 1.5rem; color: var(--sf-muted); font-size: clamp(1rem, 1.5vw, 1.24rem); line-height: 1.7; }
.sechead { margin-bottom: clamp(2.2rem, 5vw, 4rem); }
.sechead__eyebrow { margin-bottom: .9rem; }
.sechead__title { max-width: 16ch; font-size: clamp(2.2rem, 4.4vw, 4.7rem); line-height: .98; }
.sechead__lead { max-width: 48rem; margin-top: 1rem; line-height: 1.75; }
.sechead__more { color: var(--sf-primary); border-bottom: 1px solid rgba(85,242,210,.3); padding-bottom: .3rem; }
.band>.shell { padding-block: clamp(4.5rem, 9vw, 8rem); }
.taglist { gap: .42rem; }
.tag { padding: .42rem .62rem; color: #9eaab9; border: 1px solid var(--sf-line); background: rgba(255,255,255,.022); border-radius: 999px; }
.dashlist li::before { color: var(--sf-primary); }
.dashlist li, .prose p { color: #b3bdc8; }

/* Home principles -------------------------------------------------------- */
.principles__lead { max-width: 52rem; margin-bottom: 3rem; font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.7; }
.principles { display: grid; grid-template-columns: repeat(12,1fr); gap: 1px; background: var(--sf-line); border: 1px solid var(--sf-line); }
.principle { grid-column: span 4; min-height: 19rem; padding: clamp(1.5rem,3vw,2.4rem); background: linear-gradient(145deg,rgba(17,23,32,.95),rgba(11,15,21,.88)); position: relative; overflow: hidden; }
.principle:nth-child(2) { transform: translateY(2.5rem); }
.principle::after { content: ""; position: absolute; width: 8rem; height: 1px; right: -2rem; bottom: 2.5rem; background: linear-gradient(90deg,transparent,var(--sf-primary)); transform: rotate(-35deg); opacity: .24; }
.principle__no { color: var(--sf-primary); }
.principle__title { margin-top: 4rem; font-size: clamp(1.3rem,2vw,1.8rem); }
.principle__body { margin-top: 1rem; color: var(--sf-muted); font-size: .94rem; line-height: 1.7; }

/* Modular project panels ------------------------------------------------- */
.filegrid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-flow: dense; gap: .85rem; }
.filecard { grid-column: span 6; min-width: 0; border: 1px solid var(--sf-line); background: linear-gradient(145deg,rgba(17,23,32,.92),rgba(8,11,16,.96)); overflow: hidden; position: relative; transition: border-color .35s ease, transform .35s var(--sf-ease), box-shadow .35s ease; transform: perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.filecard:nth-child(6n+1), .filecard:nth-child(6n+5) { grid-column: span 7; }
.filecard:nth-child(6n+2), .filecard:nth-child(6n+4) { grid-column: span 5; }
.filecard:nth-child(6n+3) { grid-column: span 12; }
.filecard::before { content: ""; position: absolute; z-index: 2; inset: 0; padding: 1px; background: conic-gradient(from var(--edge-angle,0deg),transparent 0 78%,var(--sf-primary) 88%,transparent 96%); -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.filecard::after { content: ""; position: absolute; width: 13rem; aspect-ratio: 1; right: -6rem; top: -7rem; border: 1px solid rgba(102,146,255,.12); border-radius: 50%; transition: transform .5s var(--sf-ease), border-color .3s ease; }
.filecard:hover { border-color: rgba(85,242,210,.28); box-shadow: 0 18px 60px rgba(0,0,0,.28),0 0 32px rgba(85,242,210,.045); }
.filecard:hover::before { opacity: .8; animation: sf-edge 2.7s linear infinite; }
.filecard:hover::after { transform: scale(1.14) translate(-.7rem,.7rem); border-color: rgba(85,242,210,.22); }
.filecard__link { min-height: 24rem; padding: clamp(1.4rem,3vw,2.3rem); display: flex; flex-direction: column; position: relative; z-index: 1; }
.filecard:nth-child(6n+3) .filecard__link { min-height: 20rem; }
.filecard__head { padding: 0 0 1.4rem; border-bottom: 1px solid var(--sf-line); }
.filecard__no { color: var(--sf-primary); font-size: clamp(2.3rem,4vw,4.5rem); letter-spacing: -.08em; opacity: .88; }
.filecard__year { color: var(--sf-muted); }
.filecard__title { max-width: 18ch; margin-top: 2.8rem; color: var(--sf-text); font-size: clamp(1.45rem,2.5vw,2.4rem); line-height: 1.08; }
.filecard__sub { max-width: 42rem; margin-top: 1rem; color: var(--sf-muted); font-size: .94rem; line-height: 1.65; }
.filecard__org { margin-top: 1.1rem; color: #697585; }
.filecard__foot { margin-top: auto; border-top: 0; padding-top: 1.5rem; }
.status { border-radius: 999px; color: var(--sf-primary); background: rgba(85,242,210,.08); border: 1px solid rgba(85,242,210,.16); }
.filecard__cta { color: var(--sf-primary); transition: transform .3s ease; }
.filecard:hover .filecard__cta { transform: translateX(.45rem); }
.filterbar { border: 1px solid var(--sf-line); background: rgba(11,15,21,.8); padding: 1rem; }
.filterbar__label,.filterbar__count { color: #65717f; }
.chip { min-height: 2.75rem; border-radius: 999px; color: var(--sf-muted); border-color: var(--sf-line); background: rgba(255,255,255,.018); }
.chip:hover,.chip.is-on { color: var(--sf-bg); border-color: var(--sf-primary); background: var(--sf-primary); }
.chip__n { opacity: .65; }

/* Expertise index / constellation --------------------------------------- */
.domindex { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; border: 1px solid var(--sf-line); background: var(--sf-line); position: relative; }
.domindex::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: linear-gradient(transparent,var(--sf-blue),transparent); opacity: .25; }
.domindex__item { background: rgba(11,15,21,.94); }
.domindex__link { min-height: 10.5rem; padding: 1.4rem; display: grid; grid-template-columns: 2.5rem 1fr; grid-template-rows: auto 1fr; gap: .75rem 1rem; position: relative; overflow: hidden; }
.domindex__link::after { content: ""; position: absolute; width: 6px; height: 6px; right: 1.4rem; top: 1.4rem; background: #485463; border-radius: 50%; transition: .3s ease; }
.domindex__link:hover::after { background: var(--sf-primary); box-shadow: 0 0 18px var(--sf-primary); }
.domindex__no { color: var(--sf-blue); }
.domindex__title { color: var(--sf-text); font: 600 1.15rem/1.25 var(--sf-heading); }
.domindex__lead { grid-column: 2; color: var(--sf-muted); font-size: .88rem; line-height: 1.55; }

/* Signal timeline -------------------------------------------------------- */
.progressbar { position: fixed; z-index: 55; left: var(--sf-left); right: var(--sf-right); top: 0; height: 2px; background: transparent; }
.progressbar__fill { background: linear-gradient(90deg,var(--sf-primary),var(--sf-blue)); box-shadow: 0 0 15px var(--sf-primary); }
.timeline { position: relative; padding-block: 1rem; }
.timeline::before { content: ""; position: absolute; left: 4.6rem; top: 0; bottom: 0; width: 1px; background: linear-gradient(transparent,rgba(85,242,210,.34) 10%,rgba(102,146,255,.2) 90%,transparent); }
.tl { grid-template-columns: 6.5rem minmax(0,1fr); gap: 1.4rem; padding: 0 0 5rem; }
.tl__rail { position: relative; border: 0; min-height: 100%; }
.tl__dot { left: 4.32rem; width: .62rem; height: .62rem; border: 2px solid var(--sf-bg); background: #566270; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.tl--current .tl__dot { background: var(--sf-primary); box-shadow: 0 0 0 1px var(--sf-primary),0 0 24px var(--sf-primary); animation: sf-pulse-dot 1.8s ease-in-out infinite; }
.tl__year { color: var(--sf-primary); writing-mode: vertical-rl; transform: rotate(180deg); margin: .25rem 0 0 1.35rem; }
.tl__body { max-width: 50rem; border: 1px solid var(--sf-line); background: linear-gradient(145deg,rgba(17,23,32,.9),rgba(8,11,16,.95)); padding: clamp(1.5rem,3.4vw,3rem); position: relative; }
.tl:nth-child(even) .tl__body { margin-left: clamp(0rem,7vw,7rem); }
.tl__body::before { content: ""; position: absolute; left: -1.45rem; top: 2rem; width: 1.45rem; height: 1px; background: linear-gradient(90deg,var(--sf-primary),rgba(85,242,210,.15)); }
.tl:nth-child(even) .tl__body::before { background: linear-gradient(90deg,var(--sf-blue),rgba(102,146,255,.12)); }
.tl__meta { color: #65717f; }
.tl__live { color: var(--sf-primary); border-color: rgba(85,242,210,.2); background: rgba(85,242,210,.07); }
.tl__org { margin-top: 1.6rem; color: var(--sf-text); font-size: clamp(1.8rem,3.5vw,3.5rem); }
.tl__role { color: var(--sf-blue); }
.tl__lead { color: var(--sf-muted); }
.tl__cols,.tl__tech,.tl__gain,.tl__rel { border-color: var(--sf-line); }
.tl__ch { color: var(--sf-primary); }
.tl__gain { background: rgba(85,242,210,.035); }
.linklist a { border-color: var(--sf-line); }
.linklist a:hover { color: var(--sf-primary); }

/* Technology network ----------------------------------------------------- */
.techgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; position: relative; }
.techgrid::before,.techgrid::after { content: ""; position: absolute; pointer-events: none; background: linear-gradient(90deg,transparent,var(--sf-blue),transparent); opacity: .12; }
.techgrid::before { left: 8%; right: 8%; top: 33%; height: 1px; }
.techgrid::after { left: 8%; right: 8%; top: 67%; height: 1px; }
.techcat { min-height: 15rem; padding: 1.5rem; border: 1px solid var(--sf-line); background: rgba(11,15,21,.91); position: relative; transition: border-color .3s ease,transform .3s var(--sf-ease),background .3s ease; }
.techcat::after { content: ""; position: absolute; right: 1.2rem; top: 1.2rem; width: 6px; height: 6px; border: 1px solid #5b6673; border-radius: 50%; transition: .3s ease; }
.techcat:hover { transform: translateY(-5px); border-color: rgba(102,146,255,.34); background: rgba(17,23,32,.97); }
.techcat:hover::after { background: var(--sf-blue); border-color: var(--sf-blue); box-shadow: 0 0 18px var(--sf-blue); }
.techcat__title { color: var(--sf-text); }
.techcat__no { color: var(--sf-blue); }
.techcat .taglist { margin-top: 2rem; }
.techline { border-color: var(--sf-line); }
.techline__step { grid-template-columns: 7rem 1fr; border-color: var(--sf-line); }
.techline__year { color: var(--sf-primary); }
.techline__label { color: var(--sf-text); }
.techline__note { color: var(--sf-muted); }

/* Expertise records ------------------------------------------------------ */
.jumpnav { top: 0; border-color: var(--sf-line); background: rgba(6,8,12,.93); backdrop-filter: blur(16px); }
.jumpnav a { color: var(--sf-muted); border-color: var(--sf-line); }
.jumpnav a:hover { color: var(--sf-bg); background: var(--sf-primary); }
.domain { position: relative; }
.domain__head { grid-template-columns: 7rem 1fr; }
.domain__no { color: var(--sf-primary); font-size: clamp(2.4rem,6vw,6rem); }
.domain__title { color: var(--sf-text); font-size: clamp(2.4rem,5vw,5.2rem); }
.domain__lead { color: var(--sf-muted); }
.domain__body { border-color: var(--sf-line); }
.domain__block { border-color: var(--sf-line); background: rgba(11,15,21,.66); }
.domain__block--tech { background: rgba(102,146,255,.035); }
.domain__block--project { background: rgba(85,242,210,.035); }
.blocklabel { color: var(--sf-primary); }
.pullquote { color: var(--sf-text); border-color: var(--sf-primary); }
.projlink { color: var(--sf-primary); }

/* About ------------------------------------------------------------------ */
.about { align-items: start; }
.manifesto { color: var(--sf-text); font-size: clamp(1.6rem,3vw,3rem); line-height: 1.35; }
.asec { border-color: var(--sf-line); }
.asec__no { color: var(--sf-primary); }
.asec__title { color: var(--sf-text); }
.sidecard,.cert { border-color: var(--sf-line); background: linear-gradient(145deg,rgba(17,23,32,.88),rgba(11,15,21,.92)); }
.sidecard { position: sticky; top: 2rem; }
.sidecard__title { color: var(--sf-primary); }
.sidecard__dl dt,.cert__date { color: #667280; }
.sidecard__dl dd,.cert__title { color: var(--sf-text); }
.cert:hover { border-color: rgba(85,242,210,.25); }

/* Contact command center ------------------------------------------------- */
.channels { grid-template-columns: repeat(2,1fr); gap: 1px; border: 1px solid var(--sf-line); background: var(--sf-line); }
.channel { min-height: 12rem; padding: 1.5rem; border: 0; background: rgba(11,15,21,.94); position: relative; }
.channel::after { content: "↗"; position: absolute; right: 1.4rem; top: 1.2rem; color: #5c6876; transition: .25s ease; }
.channel:hover::after { color: var(--sf-primary); transform: translate(.2rem,-.2rem); }
.channel__label { color: var(--sf-primary); }
.channel__value { color: var(--sf-text); font-size: clamp(1.15rem,2.2vw,2rem); overflow-wrap: anywhere; }
.channel__note { color: var(--sf-muted); }
.contact-console { margin-top: 4rem; border: 1px solid var(--sf-line); background: linear-gradient(145deg,rgba(17,23,32,.95),rgba(7,10,15,.98)); padding: clamp(1.4rem,4vw,3.2rem); box-shadow: 0 24px 80px rgba(0,0,0,.25); }
.contact-console__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--sf-line); }
.contact-console__head p { color: var(--sf-primary); }
.contact-console__head h2 { margin-top: .7rem; font-size: clamp(2rem,4vw,4rem); }
.contact-console__status { color: var(--sf-primary); white-space: nowrap; }
.contact-console__status i { display: inline-block; width: 6px; height: 6px; margin-right: .5rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 14px currentColor; }
.contact-console__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.contact-console label { display: grid; gap: .6rem; margin-top: 2rem; }
.contact-console label span { color: #667280; }
.contact-console input,.contact-console textarea { width: 100%; color: var(--sf-text); background: transparent; border: 0; border-bottom: 1px solid var(--sf-line-strong); border-radius: 0; padding: .75rem 0; font: inherit; resize: vertical; transition: border-color .25s ease,box-shadow .25s ease; }
.contact-console input:focus,.contact-console textarea:focus { outline: 0; border-color: var(--sf-primary); box-shadow: 0 1px 0 var(--sf-primary); }
.contact-console__foot { margin-top: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.contact-console__foot p { color: #677382; }
.contact-console.is-sending .btn i { animation: sf-send .7s linear infinite; }
.contact-console.is-ready .contact-console__status { color: var(--sf-blue); }
.confid { border-color: rgba(255,184,102,.2); background: rgba(255,184,102,.035); }
.confid__title { color: var(--sf-orange); }

/* Project detail panel --------------------------------------------------- */
.page--proje .dossier { animation: sf-detail-in .7s var(--sf-ease) both; }
.dossier__head { min-height: 78svh; padding: clamp(7rem,13vh,11rem) 0 5rem; border-color: var(--sf-line); background: transparent; display: flex; align-items: flex-end; }
.crumbs a { color: var(--sf-primary); }
.dossier__stamp { border-color: rgba(85,242,210,.32); color: var(--sf-primary); background: rgba(85,242,210,.035); }
.dossier__title { max-width: 12ch; color: var(--sf-text); font-size: clamp(3.2rem,7vw,7.4rem); line-height: .92; }
.dossier__sub { max-width: 42rem; color: var(--sf-muted); font-size: clamp(1.05rem,1.8vw,1.4rem); }
.dossier__meta { border-color: var(--sf-line); background: rgba(11,15,21,.75); }
.dossier__meta div { border-color: var(--sf-line); }
.dossier__meta dt { color: #63707e; }
.dossier__meta dd { color: #dce3eb; }
.dossier__body { max-width: 68rem; }
.dsec { border-color: var(--sf-line); }
.dsec__no { color: var(--sf-primary); }
.dsec__title { color: var(--sf-text); font-size: clamp(1.8rem,3vw,3rem); }
.dsec__lead,.dsec p { color: #b5bfca; }
.techdetails { border-color: var(--sf-line); background: rgba(11,15,21,.8); }
.techdetails__summary { color: var(--sf-text); }
.techdetails__summary::after { color: var(--sf-primary); }
.techdetails[open] { border-color: rgba(85,242,210,.24); box-shadow: 0 16px 60px rgba(0,0,0,.22); }
.techdetails__body { border-color: var(--sf-line); }
.arch__row { border-color: var(--sf-line); background: rgba(17,23,32,.55); }
.arch__idx { color: var(--sf-primary); }
.arch__layer { color: var(--sf-text); }
.arch__detail { color: var(--sf-muted); }
.card { border-color: var(--sf-line); background: rgba(17,23,32,.72); }
.card__title { color: var(--sf-text); }
.card__body { color: var(--sf-muted); }
.shot { border-color: var(--sf-line); background: var(--sf-panel); }
.dnav { border-color: var(--sf-line); background: rgba(11,15,21,.65); }
.dnav__link { border-color: var(--sf-line); }
.dnav__link:hover { color: var(--sf-primary); background: rgba(85,242,210,.035); }

/* Footer and transitions ------------------------------------------------- */
.footer { margin: 0; border-color: var(--sf-line); background: #05070a; }
.footer__name,.footer__role { color: var(--sf-text); }
.footer__note,.footer__meta,.footer__legal { color: #667280; }
.footer__nav a { color: var(--sf-muted); }
.footer__nav a:hover { color: var(--sf-primary); }
.signal-stage::after { content: ""; position: fixed; z-index: 500; inset: 0; background: var(--sf-bg); transform: translateX(101%); transition: transform .42s var(--sf-ease); pointer-events: none; }
.signal-stage::after { display: none; }

.route-transition { position: fixed; z-index: 700; inset: 0; pointer-events: none; visibility: hidden; overflow: hidden; }
.route-transition__pulse { position: absolute; left: var(--route-x,50%); top: var(--route-y,50%); width: 1rem; height: 1rem; border-radius: 50%; background: var(--sf-primary); box-shadow: 0 0 35px var(--sf-primary); transform: translate(-50%,-50%) scale(0); }
.route-transition__grid { position: absolute; inset: 0; opacity: 0; background-color: var(--sf-bg); background-image: linear-gradient(rgba(85,242,210,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(85,242,210,.07) 1px,transparent 1px); background-size: 36px 36px; mask-image: radial-gradient(circle at var(--route-x,50%) var(--route-y,50%),#000 0,transparent 0); }
.is-page-leaving .route-transition { visibility: visible; }
.is-page-leaving .route-transition__pulse { animation: sf-route-pulse .72s var(--sf-ease) forwards; }
.is-page-leaving .route-transition__grid { animation: sf-route-grid .72s var(--sf-ease) forwards; }
.project-transition__module { position: absolute; opacity: 0; border: 1px solid var(--sf-primary); background: linear-gradient(145deg,#111720,#06080C); box-shadow: 0 0 70px rgba(85,242,210,.16); }
.is-project-leaving .project-transition__module { opacity: 1; animation: sf-project-expand .72s var(--sf-ease) forwards; }
.is-project-leaving .route-transition__pulse { display: none; }

.kinetic-target { position: relative; clip-path: inset(0 100% 0 0); transform: translateY(.32em); opacity: .2; transition: clip-path .9s var(--sf-ease),transform .9s var(--sf-ease),opacity .65s ease; }
.kinetic-target::after { content: attr(data-kinetic); position: absolute; inset: 0; color: transparent; -webkit-text-stroke: 1px rgba(85,242,210,.14); transform: translate3d(.035em,.08em,0); opacity: 0; transition: opacity .5s .3s ease,transform 1.2s var(--sf-ease); pointer-events: none; }
.kinetic-target.is-kinetic { clip-path: inset(0 0 0 0); transform: none; opacity: 1; }
.kinetic-target.is-kinetic::after { opacity: .52; transform: translate3d(.08em,.16em,0); }

.section-tone { transition: background-color .8s ease; }
body[data-tone="blue"] .signal-bg__glow--a { background: var(--sf-blue); opacity: .2; }
body[data-tone="orange"] .signal-bg__glow--a { background: var(--sf-orange); opacity: .14; }
body[data-tone="mint"] .signal-bg__glow--a { background: var(--sf-primary); opacity: .14; }

@property --edge-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes sf-edge { to { --edge-angle: 360deg; } }
@keyframes sf-pulse-dot { 0%,100% { box-shadow:0 0 0 1px var(--sf-primary),0 0 12px var(--sf-primary); } 50% { box-shadow:0 0 0 6px rgba(85,242,210,.05),0 0 28px var(--sf-primary); } }
@keyframes sf-send { to { transform: translateX(.5rem); opacity: .2; } }
@keyframes sf-detail-in { from { opacity:0; transform:translateX(5rem); } to { opacity:1; transform:none; } }
@keyframes sf-route-pulse { 0%{transform:translate(-50%,-50%) scale(0);opacity:1} 55%{opacity:.9} 100%{transform:translate(-50%,-50%) scale(170);opacity:0} }
@keyframes sf-route-grid { 0%{opacity:0;mask-image:radial-gradient(circle at var(--route-x,50%) var(--route-y,50%),#000 0,transparent 0)} 35%{opacity:1} 100%{opacity:1;mask-image:radial-gradient(circle at var(--route-x,50%) var(--route-y,50%),#000 150vmax,transparent 150vmax)} }
@keyframes sf-project-expand { from{left:var(--card-left);top:var(--card-top);width:var(--card-width);height:var(--card-height);border-radius:2px} to{left:0;top:0;width:100vw;height:100vh;border-radius:0} }

/* Responsive component adaptations -------------------------------------- */
@media (max-width: 60rem) {
  .pagehead { min-height: auto; padding: 10rem 0 4.5rem; }
  .pagehead__title { font-size: clamp(3rem,11vw,6rem); }
  .band>.shell { padding-block: clamp(3.8rem,10vw,6rem); }
  .principle { grid-column: span 6; }
  .principle:last-child { grid-column: span 12; min-height: 15rem; }
  .principle:nth-child(2) { transform: none; }
  .filecard,.filecard:nth-child(n) { grid-column: span 6; }
  .filecard__link { min-height: 22rem; }
  .techgrid { grid-template-columns: repeat(2,1fr); }
  .progressbar { left: 0; right: 0; top: 4.75rem; }
  .jumpnav { top: 4.75rem; }
  .dossier__head { min-height: auto; padding-top: 9rem; }
  .dossier__title { font-size: clamp(3rem,10vw,6rem); }
  #signal-backbone { opacity: .38; }
}

@media (max-width: 42rem) {
  .sechead--split { align-items: flex-start; gap: 1.3rem; }
  .principles { display: block; background: transparent; border: 0; }
  .principle { min-height: auto; margin-bottom: .75rem; border: 1px solid var(--sf-line); }
  .principle__title { margin-top: 2rem; }
  .filegrid { grid-template-columns: 1fr; }
  .filecard,.filecard:nth-child(n) { grid-column: auto; transform: none; }
  .filecard__link,.filecard:nth-child(6n+3) .filecard__link { min-height: 20rem; padding: 1.35rem; }
  .filecard__title { margin-top: 2rem; }
  .domindex { grid-template-columns: 1fr; }
  .domindex::before { display: none; }
  .timeline::before { left: .35rem; }
  .tl { grid-template-columns: 1.1rem minmax(0,1fr); gap: .8rem; padding-bottom: 2.5rem; }
  .tl__dot { left: .03rem; }
  .tl__year { display: none; }
  .tl:nth-child(even) .tl__body { margin-left: 0; }
  .tl__body { padding: 1.25rem; }
  .tl__body::before { left: -.82rem; width: .82rem; }
  .tl__cols { grid-template-columns: 1fr; }
  .techgrid { grid-template-columns: 1fr; }
  .techgrid::before,.techgrid::after { display: none; }
  .techcat { min-height: auto; }
  .techline__step { grid-template-columns: 1fr; }
  .domain__head { grid-template-columns: 1fr; }
  .domain__title { font-size: clamp(2.3rem,12vw,4rem); }
  .domain__body { grid-template-columns: 1fr; }
  .about { grid-template-columns: 1fr; }
  .sidecard { position: static; }
  .channels { grid-template-columns: 1fr; }
  .channel { min-height: 10rem; }
  .contact-console__head,.contact-console__foot { align-items: flex-start; flex-direction: column; }
  .contact-console__grid { grid-template-columns: 1fr; gap: 0; }
  .contact-console__foot .btn { width: 100%; }
  .dossier__meta { grid-template-columns: 1fr; }
  .dossier__meta div { border-right: 0; border-bottom: 1px solid var(--sf-line); }
  .cards { grid-template-columns: 1fr; }
  .arch__row { grid-template-columns: 2.2rem 1fr; }
  .arch__detail { grid-column: 2; }
  .footer__grid { grid-template-columns: 1fr; }
}

@media (hover:none) {
  .filecard { transform: none !important; }
  .filecard::before { display: none; }
}

@media (prefers-reduced-motion:reduce) {
  .kinetic-target { clip-path:none; transform:none; opacity:1; }
  .kinetic-target::after,.route-transition,#signal-backbone { display:none; }
}

/* Living scene extensions ------------------------------------------------ */
.timeline-scene { position: relative; isolation: isolate; }
#career-signal { position: sticky; z-index: 0; top: 0; width: 100%; height: 100vh; margin-bottom: -100vh; display: block; pointer-events: none; opacity: .9; }
.timeline-scene .timeline { position: relative; z-index: 1; }
.tl { transition: opacity .45s ease,filter .45s ease; }
.timeline-scene.has-active .tl:not(.is-signal-active) { opacity: .36; filter: saturate(.55); }
.tl.is-signal-active { opacity: 1; filter: none; }
.tl.is-signal-active .tl__body { border-color: rgba(85,242,210,.34); box-shadow: 0 24px 80px rgba(0,0,0,.3),0 0 45px rgba(85,242,210,.055); transform: translateX(.35rem); }
.tl.is-signal-active .tl__dot { background: var(--sf-primary); box-shadow: 0 0 0 5px rgba(85,242,210,.07),0 0 28px var(--sf-primary); }
.tl__body { transition: transform .45s var(--sf-ease),border-color .45s ease,box-shadow .45s ease; }

.tech-network { position: relative; isolation: isolate; min-height: 35rem; }
#tech-galaxy { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.tech-network .techgrid { position: relative; z-index: 1; }
.techcat { transition: opacity .35s ease,filter .35s ease,transform .35s var(--sf-ease),border-color .35s ease,background .35s ease; }
.tech-network.is-exploring .techcat:not(.is-network-active):not(.is-network-linked) { opacity: .25; filter: blur(.4px) saturate(.45); }
.techcat.is-network-active { transform: translateY(-7px) scale(1.018); border-color: var(--sf-primary); box-shadow: 0 16px 55px rgba(0,0,0,.25),0 0 35px rgba(85,242,210,.08); }
.techcat.is-network-linked { border-color: rgba(102,146,255,.34); background: rgba(102,146,255,.055); }

.filecard__schematic { position: absolute; z-index: -1; inset: 4.5rem 1.4rem auto auto; width: 42%; height: 8rem; opacity: .12; transition: opacity .35s ease,transform .6s var(--sf-ease); }
.filecard__schematic i { position: absolute; height: 1px; background: linear-gradient(90deg,transparent,var(--sf-blue),var(--sf-primary)); transform-origin: left; transform: scaleX(.15); transition: transform .7s var(--sf-ease); }
.filecard__schematic i:nth-child(1) { width: 88%; left: 0; top: 16%; }
.filecard__schematic i:nth-child(2) { width: 62%; right: 0; top: 44%; transform-origin: right; }
.filecard__schematic i:nth-child(3) { width: 78%; left: 8%; top: 72%; }
.filecard__schematic i:nth-child(4) { width: 1px; height: 70%; right: 18%; top: 14%; background: linear-gradient(transparent,var(--sf-primary),transparent); transform: scaleY(.15); transform-origin: top; }
.filecard__schematic b { position: absolute; width: 7px; height: 7px; border: 1px solid var(--sf-primary); border-radius: 50%; background: var(--sf-bg); opacity: 0; transform: scale(.2); transition: opacity .35s ease,transform .45s var(--sf-ease); }
.filecard__schematic b:nth-of-type(1) { left: 12%; top: 12%; }
.filecard__schematic b:nth-of-type(2) { right: 16%; top: 40%; }
.filecard__schematic b:nth-of-type(3) { left: 42%; top: 68%; }
.filecard.is-inspecting .filecard__schematic { opacity: .72; transform: translateX(-.3rem); }
.filecard.is-inspecting .filecard__schematic i { transform: scaleX(1); }
.filecard.is-inspecting .filecard__schematic i:nth-child(4) { transform: scaleY(1); }
.filecard.is-inspecting .filecard__schematic b { opacity: 1; transform: scale(1); box-shadow: 0 0 14px var(--sf-primary); }
.filecard.is-inspecting .filecard__title,.filecard.is-inspecting .filecard__sub { transform: translateX(.25rem); }
.filecard__title,.filecard__sub { transition: transform .45s var(--sf-ease),color .3s ease; }
.filecard.is-inspecting .filecard__title { color: var(--sf-primary); }
.filecard.is-inspecting::after { transform: scale(1.35) translate(-1rem,1rem); }
.filecard.is-inspecting .filecard__link::after { content: "SCANNING MODULE"; position: absolute; right: 1.5rem; bottom: 1.4rem; color: var(--sf-primary); font: 500 .55rem/1 var(--sf-mono); letter-spacing: .12em; animation: sf-blink .75s steps(1) infinite; }

.project-transition__module .filecard__link { width: 100%; height: 100%; min-height: 0; padding: clamp(1.4rem,4vw,4rem); background: radial-gradient(circle at 75% 28%,rgba(85,242,210,.1),transparent 34%); overflow: hidden; }
.project-transition__module .filecard__schematic { opacity: .65; transform: scale(1.6); transform-origin: top right; }
.project-transition__module .filecard__title { font-size: clamp(2rem,6vw,6rem); }
.project-transition__module .filecard__sub { max-width: 45rem; }

.contact-console::before { content: ""; position: absolute; width: 16rem; height: 16rem; right: -4rem; top: -6rem; border: 1px solid rgba(85,242,210,.11); border-radius: 50%; box-shadow: 0 0 0 2.5rem rgba(102,146,255,.02),0 0 0 5rem rgba(85,242,210,.015); animation: sf-contact-orbit 10s linear infinite; pointer-events: none; }
.contact-console { position: relative; overflow: hidden; }

@keyframes sf-blink { 50% { opacity:.25; } }
@keyframes sf-contact-orbit { to { transform: rotate(360deg); } }

@media (max-width:60rem) {
  #career-signal { opacity: .48; }
  .timeline-scene.has-active .tl:not(.is-signal-active) { opacity: .62; }
  #tech-galaxy { opacity: .4; }
}
@media (max-width:42rem) {
  #career-signal,#tech-galaxy { display:none; }
  .timeline-scene.has-active .tl:not(.is-signal-active),.tech-network.is-exploring .techcat { opacity:1; filter:none; }
  .tl.is-signal-active .tl__body { transform:none; }
  .filecard__schematic { width: 52%; opacity:.18; }
  .filecard.is-inspecting .filecard__link::after { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  #career-signal,#tech-galaxy { display:none; }
  .timeline-scene.has-active .tl,.tech-network.is-exploring .techcat { opacity:1; filter:none; }
  .filecard__schematic,.contact-console::before { animation:none; }
}
