*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{--tw-bg-opacity:1;background-color:rgb(11 15 25/var(--tw-bg-opacity,1));font-family:Inter,sans-serif;--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:rgba(99,102,241,.3);--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}::selection{background-color:rgba(99,102,241,.3);--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.container-px{padding-left:1.5rem;padding-right:1.5rem}@media (min-width:640px){.container-px{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.container-px{padding-left:2.5rem;padding-right:2.5rem}}.eyebrow{font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.2em;--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.section-heading{font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}@media (min-width:640px){.section-heading{font-size:2.25rem;line-height:2.5rem}}.btn,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-primary{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding:.75rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border-width:1px;--tw-border-opacity:1;border-color:rgb(38 50 68/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.btn-outline:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.card{border-radius:.75rem;border-width:1px;border-color:rgb(38 50 68/var(--tw-border-opacity,1));background-color:rgb(21 28 43/var(--tw-bg-opacity,1))}.card,.tag{--tw-border-opacity:1;--tw-bg-opacity:1}.tag{border-radius:.25rem;border-width:1px;border-color:rgb(38 50 68/var(--tw-border-opacity,1));background-color:rgb(17 24 39/var(--tw-bg-opacity,1));padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.025em}.nav-link,.tag{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.nav-link{font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.nav-link:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.nav-link-active{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-4{bottom:-1rem}.-left-4{left:-1rem}.-left-\[7px\]{left:-7px}.right-5{right:1.25rem}.top-0{top:0}.top-5{top:1.25rem}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-full{height:100%}.max-h-\[85vh\]{max-height:85vh}.w-1\.5{width:.375rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-content{max-width:1200px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-bg{--tw-border-opacity:1;border-color:rgb(11 15 25/var(--tw-border-opacity,1))}.border-line{--tw-border-opacity:1;border-color:rgb(38 50 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-accent{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-bg{--tw-bg-opacity:1;background-color:rgb(11 15 25/var(--tw-bg-opacity,1))}.bg-bg\/90{background-color:rgba(11,15,25,.9)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-card{--tw-bg-opacity:1;background-color:rgb(21 28 43/var(--tw-bg-opacity,1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-surface\/40{background-color:rgba(17,24,39,.4)}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.\!py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.px-4{padding-left:1rem;padding-right:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-20{padding-bottom:5rem}.pt-2{padding-top:.5rem}.pt-32{padding-top:8rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[1\.08\]{line-height:1.08}.leading-relaxed{line-height:1.625}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-accent{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-text{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-text-muted{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-text-secondary{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-line{--tw-ring-opacity:1;--tw-ring-color:rgb(38 50 68/var(--tw-ring-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.hover\:border-accent:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-accent-hover:hover{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.hover\:text-text:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-2:focus{left:.5rem}.focus\:top-2:focus{top:.5rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:.375rem}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:h-72{height:18rem}.sm\:w-72{width:18rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:pb-28{padding-bottom:7rem}.sm\:pt-40{padding-top:10rem}.sm\:text-left{text-align:left}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.lg\:justify-end{justify-content:flex-end}.lg\:text-\[3\.4rem\]{font-size:3.4rem}.lg\:flex{display:flex}.lg\:w-\[46\%\]{width:46%}}

/* ===== Custom polish layer (hand-authored, follows the Tailwind utility set above) ===== */

/* -- small utilities missing from the purged build -- */
.gap-3{gap:.75rem}
.mt-16{margin-top:4rem}
.pt-16{padding-top:4rem}
.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}
.gap-y-6{row-gap:1.5rem}
.pb-24{padding-bottom:6rem}
.py-28{padding-top:7rem;padding-bottom:7rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.top-4{top:1rem}
.right-4{right:1rem}
@media (min-width:640px){
  .sm\:pt-44{padding-top:11rem}
  .sm\:pb-32{padding-bottom:8rem}
  .sm\:p-8{padding:2rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:top-5{top:1.25rem}
  .sm\:right-5{right:1.25rem}
}
@media (min-width:1024px){
  .lg\:text-5xl{font-size:3rem;line-height:1}
}

/* -- cards: softer radius, quieter default state, restrained hover -- */
.card{border-radius:.875rem;transition:border-color .2s ease,transform .2s ease}
.card-interactive{cursor:default}
.card-interactive:hover{transform:translateY(-3px);border-color:#6366f1}

/* -- tags: neutral by default, indigo only on hover -- */
.tag{transition:color .15s ease,border-color .15s ease}
.tag:hover{color:#818cf8;border-color:#6366f1}

/* -- hero: subtle code-gutter rule, eyebrow dot, avatar frame -- */
.hero-rule{position:relative;padding-left:1.25rem}
.hero-rule::before{content:"";position:absolute;left:0;top:.3rem;bottom:.3rem;width:2px;border-radius:2px;background-color:rgba(99,102,241,.35)}
@media (max-width:639px){.hero-rule{padding-left:.875rem}}
.hero-eyebrow-dot{display:inline-block;width:6px;height:6px;border-radius:9999px;background-color:#6366f1}

.avatar-frame{border-radius:1rem;border:1px solid rgba(99,102,241,.4);background-color:#151c2b}
.avatar-photo{display:block;object-fit:cover;object-position:50% 40%}
.avatar-tab{position:absolute;top:-14px;left:16px;z-index:2;background-color:#151c2b;border:1px solid #263244;border-radius:.25rem;padding:.15rem .55rem;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.03em;color:#64748b}
.frame-corner{position:absolute;width:18px;height:18px;border-color:#6366f1;pointer-events:none}
.frame-corner-tl{top:-8px;left:-8px;border-top:2px solid;border-left:2px solid;border-top-left-radius:4px}
.frame-corner-br{bottom:-8px;right:-8px;border-bottom:2px solid;border-right:2px solid;border-bottom-right-radius:4px}

.status-dot{position:relative;flex:none;width:.5rem;height:.5rem;border-radius:9999px;background-color:#6366f1}
.status-dot::after{content:"";position:absolute;inset:-3px;border-radius:9999px;border:1px solid rgba(99,102,241,.4);animation:status-pulse 2.4s ease-out infinite}
@keyframes status-pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.8);opacity:0}}

/* -- contact CTA emphasis -- */
.btn-cta{padding:.9rem 2.25rem;font-size:1rem;font-weight:600}

/* -- project media placeholders: neutral dotted pattern, never a broken image -- */
.project-media{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background-color:#111827;border-bottom:1px solid #263244;background-image:radial-gradient(circle,rgba(148,163,184,.14) 1px,transparent 1px);background-size:15px 15px}
.project-media-mark{font-family:JetBrains Mono,monospace;font-size:1.375rem;letter-spacing:.05em;color:#64748b}
.project-media-img{width:100%;height:100%;object-fit:cover;display:block}
.project-media-lg{aspect-ratio:4/3}
@media (min-width:1024px){
  .project-media-lg{aspect-ratio:auto;height:100%;border-bottom:0;border-right:1px solid #263244}
}

/* -- featured project card -- */
.card-featured{border-color:rgba(99,102,241,.35)}
.card-featured:hover{border-color:#6366f1}
.featured-badge{display:inline-flex;align-items:center;font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#818cf8;border:1px solid rgba(99,102,241,.4);border-radius:.25rem;padding:.15rem .5rem}

/* -- nav active indicator -- */
.nav-link{position:relative}
.nav-link.nav-link-active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background-color:#6366f1}

/* -- mobile menu: animated height, "hidden" always wins over the id -- */
.mobile-menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.mobile-menu.is-open{grid-template-rows:1fr}
.mobile-menu-inner{overflow:hidden;min-height:0}
#mobile-menu.hidden{display:none}

/* -- case study modal: fade + scale transition -- */
.modal-backdrop{opacity:0;transition:opacity .2s ease}
.modal-panel{opacity:0;transform:translateY(8px) scale(.98);transition:opacity .2s ease,transform .2s ease}
.modal.is-open .modal-backdrop{opacity:1}
.modal.is-open .modal-panel{opacity:1;transform:translateY(0) scale(1)}