@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/Inter-400.ttf') format('truetype');
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/Inter-600.ttf') format('truetype');
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fonts/Inter-800.ttf') format('truetype');
}
@font-face{
  font-family:'Cinzel Decorative';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/CinzelDecorative-700.ttf') format('truetype');
}
:root{
  --gold:#FFC43D;
  --gold-600:#E0A800;
  --neon:#00D9FF;
  --base-900:#14181d;
  --base-800:#1c232b;
  --base-700:#2a3440;
  --base-600:#3a4856;
  --base-300:#93a1af;
  --base-200:#c9d1d9;
  --base-100:#e6eaee;
}
html{scroll-behavior:smooth}
html,body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;width:100%;max-width:100%;overflow-x:hidden}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:rgba(255,196,61,.25)}
.backdrop-blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bg-mesh{
  background-image:
    radial-gradient(1400px circle at 50% 720px,rgba(255,196,61,.025),transparent 55%),
    radial-gradient(900px circle at 100% 100%,rgba(0,217,255,.08),transparent 45%)!important
}
.site-header{
  overflow:hidden;
  background-color:var(--base-900);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.primary-nav{gap:1rem}
.primary-nav .site-brand-link{flex-shrink:1;min-width:0}
.nav-menu-btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;border:1px solid rgba(0,217,255,.45);background:radial-gradient(circle at 50% 30%,rgba(0,217,255,.65),rgba(0,217,255,.18)),linear-gradient(180deg,rgba(6,14,22,.95),rgba(6,18,26,.75));box-shadow:0 6px 18px rgba(0,217,255,.35),0 0 18px rgba(0,217,255,.45);color:#e6f6ff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;background-color:transparent}
.nav-menu-btn svg{width:22px;height:22px}
.nav-menu-btn:focus-visible,.nav-menu-btn:hover{border-color:var(--gold);box-shadow:0 0 20px rgba(255,196,61,.65);transform:translateY(-1px);outline:none}
.hero-headline{word-break:break-word}
.hero-orb{max-width:min(380px,90vw);margin:0 auto}
main,header,footer{width:100%;overflow-x:hidden}
@media (min-width:768px){.nav-menu-btn{display:none}}
.projects-section .projects-featured-grid{align-items:stretch}
.projects-section .card--media-open{overflow:hidden}
.projects-section .recent-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:minmax(200px,1fr);gap:1rem;align-items:stretch}
.projects-section .recent-project-card{height:100%;min-height:200px;display:flex;flex-direction:column;gap:.65rem;padding-bottom:1.25rem;overflow:hidden}
.recent-project-card h4{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:2.8rem}
.recent-project-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:4.2em}
.recent-project-link{margin-top:auto}
@media (max-width:768px){
  .projects-section .projects-featured-grid{display:flex;flex-direction:column}
  .projects-section .project-card{padding:1.25rem}
  .projects-section .project-card h3{font-size:1.5rem}
  .projects-section .project-cover-frame--hero{min-height:200px;max-height:240px}
  .projects-section .recent-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding-bottom:0}
  .projects-section .recent-project-card{min-width:0;flex:initial}
}
@media (min-width:769px){
  .projects-section .recent-projects{overflow:visible;padding-bottom:0}
  .projects-section .recent-project-card{min-width:0;flex:initial}
}
.hero-headline{word-break:break-word}
.hero-orb{max-width:min(380px,90vw);margin:0 auto}
main,header,footer{width:100%;overflow-x:hidden}
@media (max-width:768px){
  .primary-nav{gap:.75rem}
  .primary-nav .site-brand-link{max-width:calc(100% - 64px)}
  .site-brand-link__text{white-space:normal}
  .nav-menu-btn{flex-shrink:0}
  .hero-orb{max-width:min(320px,84vw)}
}
@media (max-width:360px){.nav-link{font-size:.95rem}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gold);color:#111;font-weight:700;padding:10px 16px;border-radius:10px;box-shadow:0 0 10px rgba(255,196,61,.5);transition:transform .15s ease,box-shadow .2s ease,background .2s ease}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 20px rgba(255,196,61,.7);background:var(--gold-600)}
.btn-primary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 3px rgba(255,196,61,.35)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:10px 16px;border-radius:10px;font-weight:600;border:1px solid var(--base-600);color:var(--base-100);background:transparent;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease,background .2s ease}
.btn-ghost:hover{border-color:var(--neon);box-shadow:0 0 14px rgba(0,217,255,.55);color:#06131a;background:var(--neon)}
.btn-ghost:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 3px rgba(255,196,61,.3)}
.input{width:100%;padding:10px 14px;border-radius:10px;background:var(--base-800);border:1px solid var(--base-700);color:var(--base-100);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.input::placeholder{color:var(--base-600)}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(255,196,61,.28)}
.label{display:block;margin-bottom:6px;color:var(--base-300);font-size:14px}
.link{color:var(--neon);text-decoration:underline;text-underline-offset:3px}
.link:hover{filter:drop-shadow(0 0 6px rgba(0,217,255,.5))}
.nav-link{color:var(--base-300);transition:color .15s ease,filter .2s ease}
.nav-link:hover{color:var(--gold)}
.nav-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
.nav-link--active{color:var(--gold);filter:drop-shadow(0 0 6px rgba(255,196,61,.45))}
.card{border:1px solid var(--base-700);background:rgba(28,35,43,.6);border-radius:16px;overflow:hidden;transition:transform .18s ease,box-shadow .25s ease,background .2s ease}
.card:hover{background:rgba(28,35,43,.85);transform:translateY(-2px);box-shadow:0 0 10px rgba(0,217,255,.35),0 0 24px rgba(0,217,255,.15)}
.card-cover{height:140px;background:linear-gradient(135deg,rgba(255,196,61,.18),rgba(0,217,255,.18)),radial-gradient(600px circle at 0% 0%,rgba(255,196,61,.08),transparent 40%),radial-gradient(600px circle at 100% 100%,rgba(0,217,255,.1),transparent 40%)}
.card-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--base-100)}
.card-desc{color:var(--base-300);font-size:14px}
.card-links a{margin-right:12px;color:var(--neon)}
.card-links a:hover{filter:drop-shadow(0 0 6px rgba(0,217,255,.6))}
.tag{font-size:10px;padding:4px 8px;border-radius:9999px;background:var(--base-800);border:1px solid var(--base-700);color:var(--gold)}
.chip{padding:6px 10px;border-radius:10px;font-size:13px;border:1px solid var(--base-700);color:var(--base-100);background:var(--base-800);transition:border-color .2s ease,color .2s ease,background .2s ease,box-shadow .25s ease}
.chip:hover{color:var(--gold);border-color:var(--gold);background:rgba(255,196,61,.06)}
.chip.active,.chip.ring{box-shadow:0 0 0 1px var(--gold),0 0 10px rgba(255,196,61,.35)}
.card-links{display:flex;align-items:center;gap:12px}
.card--media-open{overflow:visible}
@keyframes brandOrbPulse{0%,100%{transform:scale(1);box-shadow:0 0 16px rgba(0,217,255,.55),0 0 34px rgba(0,217,255,.28)}45%{transform:scale(1.08);box-shadow:0 0 28px rgba(0,217,255,.95),0 0 54px rgba(255,196,61,.35)}}
@keyframes brandOrbRotate{to{transform:rotate(360deg)}}
@keyframes brandNameShine{0%{transform:translateX(-140%);opacity:0}30%{opacity:.75}50%{opacity:.9}70%{opacity:.4}100%{transform:translateX(140%);opacity:0}}
@keyframes brandGlowShift{0%{opacity:.45;transform:scale(1)}40%{opacity:.65;transform:scale(1.05)}70%{opacity:.35;transform:scale(.96)}100%{opacity:.5;transform:scale(1)}}
@keyframes brandBorderPulse{0%,100%{opacity:.6;box-shadow:0 0 12px rgba(0,217,255,.4)}45%{opacity:.9;box-shadow:0 0 22px rgba(255,196,61,.35)}}
@keyframes brandOrbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes brandTaglinePulse{0%,100%{opacity:.65;letter-spacing:.12em}50%{opacity:.9;letter-spacing:.16em}}
@keyframes brandTextPrimary{0%{opacity:1;transform:translateY(0)}40%{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(-10px)}100%{opacity:0;transform:translateY(-10px)}}
@keyframes brandTextSlogan{0%{opacity:0;transform:translateY(10px)}45%{opacity:0;transform:translateY(10px)}55%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@keyframes technobaretGlow{0%{opacity:.45}50%{opacity:.75}100%{opacity:.45}}
@keyframes technobaretTextHue{0%{color:#f6e2a4;filter:hue-rotate(0deg)}50%{color:#9fe8ff;filter:hue-rotate(40deg)}100%{color:#f6e2a4;filter:hue-rotate(0deg)}}
@keyframes technobaretUnderline{0%{transform:scaleX(0);opacity:0}20%{transform:scaleX(1);opacity:.9}70%{transform:scaleX(1);opacity:.9}100%{transform:scaleX(0);opacity:0}}
@keyframes brandPrimaryShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}

.site-brand-link{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;color:var(--base-100);font-size:1rem}
.site-brand-link--technobaret{text-decoration:none}
.technobaret-capsule{--tilt-x:0deg;--tilt-y:0deg;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.35rem 1.35rem;border-radius:999px;border:1px solid rgba(0,217,255,.45);background:linear-gradient(125deg,rgba(4,12,20,.95),rgba(9,28,42,.92) 50%,rgba(16,42,60,.9));box-shadow:0 12px 30px rgba(0,0,0,.45),0 0 25px rgba(0,217,255,.3);transform:perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden;isolation:isolate}
.technobaret-capsule::before{content:"";position:absolute;inset:-18%;border-radius:inherit;background:radial-gradient(circle at 15% 45%,rgba(0,217,255,.35),transparent 55%),radial-gradient(circle at 85% 55%,rgba(255,196,61,.25),transparent 60%);filter:blur(18px);opacity:.65;animation:technobaretGlow 6s ease-in-out infinite;z-index:0}
.technobaret-capsule::after{content:"";position:absolute;inset:2px;border-radius:inherit;border:1px solid rgba(255,255,255,.12);mix-blend-mode:screen;opacity:.8}
.technobaret-capsule:hover{box-shadow:0 18px 36px rgba(0,0,0,.55),0 0 32px rgba(255,196,61,.35);border-color:rgba(255,196,61,.65)}
.technobaret-text{position:relative;font-family:'Cinzel Decorative',"Inter",serif;font-size:1.15rem;letter-spacing:.3em;text-transform:uppercase;color:#f6e2a4;padding-inline:.5rem;text-shadow:0 0 12px rgba(0,217,255,.4),-1px -1px 0 rgba(12,20,28,.9),1px 1px 0 rgba(0,0,0,.35);animation:technobaretTextHue 4.8s linear infinite;z-index:1}
.technobaret-text::before{content:attr(data-shadow);position:absolute;inset:0;color:transparent;text-shadow:0 0 6px rgba(0,217,255,.65);filter:blur(1px);opacity:.35}
.technobaret-text::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,196,61,.8),transparent);animation:technobaretUnderline 3.2s ease-in-out infinite;transform-origin:center}
.site-brand-minimal,.site-brand-link--minimal{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.project-cover-frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(42,52,64,.9);background:radial-gradient(900px circle at 15% 15%,rgba(0,217,255,.12),transparent 62%),radial-gradient(700px circle at 90% 25%,rgba(255,196,61,.12),transparent 68%),rgba(28,35,43,.92);aspect-ratio:16/9;box-shadow:0 18px 50px rgba(0,9,22,.28),0 0 0 1px rgba(0,217,255,.1);transition:box-shadow .3s ease,transform .35s ease,border-color .3s ease}
.project-cover-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease,filter .35s ease;opacity:0;transform:scale(1.04);animation:coverReveal 0.9s cubic-bezier(.6,.05,.2,.95) forwards}
.project-cover-frame:hover{box-shadow:0 22px 60px rgba(0,9,22,.35),0 0 0 1px rgba(0,217,255,.18);transform:translateY(-2px)}
.project-cover-frame:hover img{transform:scale(1.02);filter:saturate(1.05)}
.project-cover-frame.project-cover-frame--hero{min-height:240px;max-height:320px}
.project-cover-frame.project-cover-frame--compact{aspect-ratio:4/3;max-height:220px}
.project-cover-frame.project-cover-frame--detail{aspect-ratio:auto;max-height:420px;background:radial-gradient(520px circle at 30% 10%,rgba(0,217,255,.16),transparent 72%),radial-gradient(560px circle at 90% 60%,rgba(255,196,61,.14),transparent 78%),rgba(20,24,29,.82);display:flex;align-items:center;justify-content:center}
.project-cover-frame.project-cover-frame--detail img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.project-cover-frame.project-cover-clickable{cursor:zoom-in}
.project-cover-frame::after{content:\"\";position:absolute;inset:-2px;border-radius:inherit;border:1px solid rgba(0,217,255,.42);opacity:0;animation:coverOutline 1.2s ease-out forwards .1s;pointer-events:none;mix-blend-mode:screen}
.project-cover-frame.project-cover-frame--hero::after{animation-duration:1.4s}
.project-cover-frame.project-cover-frame--detail::after{animation-duration:1.6s}
.project-cover-frame--placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(900px circle at 18% 12%,rgba(0,217,255,.12),transparent 62%),radial-gradient(880px circle at 84% 28%,rgba(255,196,61,.12),transparent 68%),rgba(16,22,30,.94)}
.project-cover-placeholder{position:relative;width:74%;aspect-ratio:1;border-radius:26px;border:1px solid rgba(0,217,255,.18);background:radial-gradient(280px circle at 40% 38%,rgba(0,217,255,.24),transparent 68%),radial-gradient(260px circle at 70% 62%,rgba(255,196,61,.24),transparent 72%),rgba(10,14,20,.88);overflow:hidden;box-shadow:0 0 38px rgba(0,217,255,.2),inset 0 0 22px rgba(0,217,255,.12)}
.project-cover-placeholder::before,.project-cover-placeholder::after{content:\"\";position:absolute;inset:-20%;border-radius:30px;mix-blend-mode:screen;opacity:.55}
.project-cover-placeholder::before{background:linear-gradient(125deg,transparent 15%,rgba(0,217,255,.55) 45%,rgba(255,196,61,.55) 55%,transparent 85%);animation:placeholderSweep 3.6s cubic-bezier(.6,.05,.2,.95) infinite}
.project-cover-placeholder::after{background:radial-gradient(220px circle at 50% 50%,rgba(0,217,255,.25),transparent 65%);animation:placeholderGlow 4.8s ease-in-out infinite}
@keyframes placeholderSweep{0%{transform:translateX(-55%) rotate(4deg)}48%{transform:translateX(55%) rotate(4deg)}100%{transform:translateX(110%) rotate(4deg)}}
@keyframes placeholderGlow{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:.7;transform:scale(1.05)}}
@keyframes coverReveal{0%{opacity:0;transform:scale(1.04)}55%{opacity:.85}100%{opacity:1;transform:scale(1)}}
@keyframes coverOutline{0%{opacity:0;transform:scale(.94)}40%{opacity:.65}100%{opacity:0;transform:scale(1.08)}}
@keyframes coverLightboxReveal{0%{opacity:0}100%{opacity:1}}

.cover-lightbox{position:fixed;inset:0;padding:40px;display:flex;align-items:center;justify-content:center;background:rgba(10,16,22,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:1100}
.cover-lightbox.is-open{opacity:1;pointer-events:auto}
.cover-lightbox__backdrop{position:absolute;inset:0;cursor:zoom-out}
.cover-lightbox__inner{position:relative;z-index:1;max-width:min(92vw,1280px);max-height:92vh;border-radius:26px;border:1px solid rgba(0,217,255,.35);box-shadow:0 40px 120px rgba(0,9,22,.55),0 0 0 1px rgba(0,217,255,.2);background:radial-gradient(1200px circle at 15% 15%,rgba(0,217,255,.14),transparent 70%),rgba(12,18,26,.96);cursor:default;padding:32px 32px 36px;display:flex;flex-direction:column;gap:18px}
.cover-lightbox__stage{position:relative;flex:1;width:min(90vw,1200px);min-height:320px;border-radius:18px;border:1px solid rgba(0,217,255,.28);background:radial-gradient(900px circle at 30% 20%,rgba(0,217,255,.08),transparent 70%),rgba(6,10,16,.9);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in;touch-action:none;user-select:none;transition:border-color .2s ease,box-shadow .25s ease}
.cover-lightbox__stage.is-pannable{cursor:grab;border-color:rgba(0,217,255,.45);box-shadow:0 0 0 1px rgba(0,217,255,.18),0 20px 60px rgba(0,9,22,.6)}
.cover-lightbox__stage.is-dragging{cursor:grabbing}
.cover-lightbox__img{display:block;width:auto;height:auto;max-width:none;max-height:none;animation:coverLightboxReveal .45s ease forwards;will-change:transform;transform-origin:center center;user-select:none;pointer-events:none}
.cover-lightbox__close{position:absolute;top:-14px;right:-14px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(0,217,255,.45);background:rgba(10,16,22,.9);color:var(--base-200);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 30px rgba(0,9,22,.45)}
.cover-lightbox__close:hover{background:rgba(0,217,255,.28);border-color:rgba(0,217,255,.55);transform:scale(1.06)}
.cover-lightbox__close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
html.cover-lightbox-open,body.cover-lightbox-open{overflow:hidden;height:100%;touch-action:none}
.cover-lightbox__hint{font-size:13px;color:var(--base-300);text-align:center;line-height:1.6}
.cover-lightbox__hint strong{color:var(--base-100)}
@media (max-width:640px){
  .cover-lightbox{padding:20px}
  .cover-lightbox__inner{padding:20px;gap:12px}
  .cover-lightbox__stage{min-height:220px;width:100%}
}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:rgba(58,72,86,.8);border-radius:10px}
*::-webkit-scrollbar-thumb:hover{background:rgba(58,72,86,1)}
.hero-headline{position:relative;text-shadow:0 0 18px rgba(0,217,255,.22)}
.hero-headline:after{content:"";position:absolute;inset:4px -6px;border-radius:30px;opacity:.18;filter:blur(26px);background:linear-gradient(90deg,rgba(0,217,255,.5),rgba(255,196,61,.3));pointer-events:none}
.hero-headline.neon-pulse{animation:heroPulse 3.2s ease-in-out infinite}
.hero-headline.neon-glow{animation:heroGlow 4.4s ease-in-out infinite}
.hero-headline.neon-flash{animation:heroFlash 1.6s ease-in-out infinite}
.hero-headline.neon-none{animation:none;text-shadow:none}
.hero-headline.neon-none:after{display:none}
.hero-orb{position:relative;border:1px solid rgba(0,217,255,.22);background:transparent;box-shadow:none;transition:box-shadow .4s ease;overflow:hidden}
.hero-orb::before,.hero-orb::after{content:"";position:absolute;inset:8%;border-radius:inherit;pointer-events:none;z-index:0}
.hero-orb::before{inset:6%;border:none;background:radial-gradient(circle,transparent 46%,rgba(0,217,255,.5) 54%,transparent 66%);box-shadow:0 0 20px rgba(0,217,255,.4),0 0 60px rgba(0,217,255,.25);mix-blend-mode:screen}
.hero-orb::after{inset:16%;border:none;background:radial-gradient(circle,transparent 42%,rgba(255,196,61,.55) 50%,transparent 62%);box-shadow:0 0 18px rgba(255,196,61,.45),0 0 42px rgba(255,196,61,.35);mix-blend-mode:screen}
.hero-orb.neon-pulse{animation:orbPulse 3s ease-in-out infinite}
.hero-orb.neon-glow{animation:orbGlow 4s ease-in-out infinite}
.hero-orb.neon-flash{animation:orbFlash 1.3s ease-in-out infinite}
.hero-orb.neon-none{animation:none}
@keyframes heroPulse{0%,100%{text-shadow:0 0 10px rgba(255,196,61,.45),0 0 30px rgba(0,217,255,.35)}50%{text-shadow:0 0 18px rgba(255,196,61,.8),0 0 45px rgba(0,217,255,.55)}}
@keyframes heroGlow{0%,100%{text-shadow:0 0 16px rgba(0,217,255,.4)}50%{text-shadow:0 0 32px rgba(0,217,255,.75)}}
@keyframes heroFlash{0%,100%{opacity:.9;text-shadow:0 0 12px rgba(255,196,61,.35)}45%{opacity:1;text-shadow:0 0 40px rgba(255,196,61,.85)}50%{opacity:.55;text-shadow:0 0 4px rgba(255,196,61,.18)}}
@keyframes orbPulse{0%,100%{box-shadow:0 0 90px rgba(0,217,255,.16)}50%{box-shadow:0 0 160px rgba(0,217,255,.35)}}
@keyframes orbGlow{0%,100%{box-shadow:0 0 120px rgba(0,217,255,.18)}50%{box-shadow:0 0 210px rgba(0,217,255,.4)}}
@keyframes orbFlash{0%,100%{box-shadow:0 0 110px rgba(0,217,255,.16)}40%{box-shadow:0 0 220px rgba(0,217,255,.5)}55%{box-shadow:0 0 40px rgba(0,217,255,.08)}}
.hero-orb .orb-core{position:relative;z-index:1}
.orb-ambient{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;mix-blend-mode:screen;opacity:0;transform:scale(.94);transition:opacity .55s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.hero-orb.orb-open .orb-ambient{opacity:1;transform:scale(1)}
.orb-ambient::before{content:"";position:absolute;inset:-12%;opacity:.45;mix-blend-mode:screen;background:linear-gradient(180deg,rgba(0,217,255,.22),rgba(0,217,255,0) 58%),repeating-linear-gradient(0deg,rgba(0,217,255,.45) 0 2px,transparent 2px 16px),repeating-linear-gradient(90deg,rgba(0,217,255,.18) 0 1px,transparent 1px 20px);-webkit-mask:radial-gradient(circle,transparent 42%,black 54%);mask:radial-gradient(circle,transparent 42%,black 54%);animation:ambientVScan 5.5s cubic-bezier(.22,.61,.36,1) infinite;animation-play-state:paused}
.orb-ambient::after{content:"";position:absolute;inset:-22%;opacity:.55;filter:blur(14px);mix-blend-mode:screen;background:conic-gradient(from 90deg at 50% 50%,transparent 0 12%,rgba(255,196,61,.45) 12% 18%,transparent 18% 32%,rgba(0,217,255,.5) 32% 38%,transparent 38% 52%,rgba(255,196,61,.42) 52% 58%,transparent 58% 72%,rgba(0,217,255,.45) 72% 78%,transparent 78% 100%),radial-gradient(circle at 15% 20%,rgba(0,217,255,.45),transparent 58%),radial-gradient(circle at 82% 32%,rgba(255,196,61,.38),transparent 60%),radial-gradient(circle at 48% 84%,rgba(0,217,255,.42),transparent 62%);-webkit-mask:radial-gradient(circle,transparent 38%,black 56%);mask:radial-gradient(circle,transparent 38%,black 56%);animation:ambientSpin 16s linear infinite;animation-play-state:paused}
.hero-orb.orb-open .orb-ambient::before,
.hero-orb.orb-open .orb-ambient::after{animation-play-state:running}
.sparks{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:0;mix-blend-mode:screen;transition:opacity .45s ease}
.hero-orb.orb-open .sparks{opacity:1}
.sparks .sp{position:absolute;bottom:-12%;left:var(--x,50%);width:var(--w,2px);height:var(--h,16px);background:linear-gradient(to top,rgba(255,196,61,0),rgba(255,196,61,.75) 35%,rgba(0,217,255,.9));border-radius:999px;filter:drop-shadow(0 0 12px rgba(255,196,61,.45));opacity:0;animation:rise var(--dur,7s) linear var(--delay,0s) infinite;animation-play-state:paused}
.hero-orb.orb-open .sparks .sp{animation-play-state:running}
.orb-shutter{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:8px;padding:12px 10px;overflow:hidden;--orb-delay-base:.2s;--orb-delay-step:.14s;--orb-accel-step:.012s;--orb-duration-base:1s;--orb-duration-step:.055s}
.orb-shutter .osh{flex:1;min-height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(255,196,61,.95),rgba(255,196,61,.68));box-shadow:0 0 18px rgba(255,196,61,.32);transform:translateY(0);opacity:1;animation:orbShutterUp calc(var(--orb-duration-base) - var(--i)*var(--orb-duration-step)) cubic-bezier(.55,.02,.63,.95) forwards;animation-delay:max(0s, calc(var(--orb-delay-base) + var(--i)*var(--orb-delay-step) - var(--i)*var(--i)*var(--orb-accel-step)));animation-play-state:paused}
.hero-orb.active .orb-shutter .osh{animation-play-state:running}
.hero-orb.orb-open .orb-shutter{display:none}
.logo-holder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:999px;overflow:hidden;pointer-events:none;--bars:6}
.hero-logo{width:70%;height:70%;object-fit:contain;opacity:0;transform:scale(.96);filter:blur(1.5px);transition:opacity .5s ease,transform .5s ease,filter .5s ease;transition-delay:calc((var(--bars,6)*.12s)+.35s)}
.logo-holder.revealed .hero-logo{opacity:1;transform:scale(1);filter:blur(0)}
.shutter{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;padding:8px 6px;pointer-events:none}
.logo-holder .sbar{flex:1;min-height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(255,196,61,.95),rgba(255,196,61,.83));border-bottom:1px solid rgba(255,196,61,.32);transform:translateY(0);animation:shutterUp .6s cubic-bezier(.22,.61,.36,1) forwards;animation-delay:calc(((var(--bars,6)-var(--i)-1)*.12s)+.2s);animation-play-state:paused}
.logo-holder.start .sbar{animation-play-state:running}
@keyframes shutterUp{to{transform:translateY(-125%);opacity:0}}
@keyframes orbShutterUp{
  0%{transform:translateY(0);opacity:1}
  65%{opacity:1}
  80%{opacity:.35}
  100%{transform:translateY(-130%);opacity:0}
}
@keyframes ambientVScan{to{transform:translateY(-18px)}}
@keyframes ambientSpin{to{transform:rotate(360deg)}}
@keyframes rise{
  0%{transform:translateY(0);opacity:0}
  10%{opacity:1}
  70%{opacity:.35}
  100%{transform:translateY(-120%);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .orb-ambient::before,.orb-ambient::after,.sparks .sp{animation:none!important}
}

.logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.logo-tile{min-height:120px;padding:1.5rem;border-radius:18px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.logo-tile img{max-width:100%;max-height:64px;filter:grayscale(1);opacity:.75;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.logo-tile:hover,.logo-tile:focus-visible{border-color:rgba(0,217,255,.6)!important;box-shadow:0 0 20px rgba(0,217,255,.25);transform:translateY(-2px)}
.logo-tile:hover img,.logo-tile:focus-visible img{filter:grayscale(0);opacity:1;transform:scale(1.05)}

.tech-stage{position:relative;--spot-x:50%;--spot-y:50%}
.tech-stage::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(14,165,233,.4);box-shadow:0 0 25px rgba(14,165,233,.25);opacity:.35;transition:opacity .35s ease;pointer-events:none;mix-blend-mode:screen}
.tech-stage.is-spotlighting::after{opacity:.85}
.tech-stage .tech-stage__halo{background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(6,182,212,.5),rgba(6,182,212,.18) 30%,rgba(6,182,212,0) 55%);filter:blur(20px);opacity:0;transition:opacity .35s ease;mix-blend-mode:screen}
.tech-stage.is-spotlighting .tech-stage__halo{opacity:.9}
.tech-stage>*{position:relative;z-index:1}
.tech-stage.is-spotlighting .tech-card:not(.is-spot-card){opacity:.25;filter:grayscale(.35);transform:scale(.98)}
.tech-stage .tech-card{transition:transform .35s ease,box-shadow .35s ease,opacity .35s ease,filter .35s ease}
.tech-stage .tech-card.is-spot-card{opacity:1!important;transform:translateY(-8px) scale(1.01);box-shadow:0 28px 65px rgba(0,0,0,.55),0 0 35px rgba(6,182,212,.35);filter:saturate(1.1)}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;perspective:1400px;position:relative}
.tech-grid::before{content:"";position:absolute;inset:-80px -120px 40px -120px;background:radial-gradient(circle at 20% 30%,rgba(0,217,255,.08),transparent 60%),radial-gradient(circle at 82% 25%,rgba(108,50,255,.1),transparent 60%),radial-gradient(circle at 50% 90%,rgba(0,255,170,.06),transparent 70%);opacity:.38;filter:blur(40px);z-index:0;pointer-events:none;animation:techGridGlow 22s ease-in-out infinite}
.tech-grid::after{content:"";position:absolute;inset:-60px;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.2),rgba(0,217,255,.08) 35%,transparent 60%);opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:0;mix-blend-mode:screen}
.tech-stage.is-spotlighting .tech-grid::after{opacity:.55}
.tech-grid> *{position:relative;z-index:1}
.tech-grid:hover .tech-card{opacity:.5;filter:grayscale(.2);transform:scale(.985)}
.tech-grid .tech-card{transition:opacity .35s ease,transform .35s ease,filter .35s ease,box-shadow .35s ease}
.tech-grid .tech-card:hover,.tech-grid .tech-card:focus-within{opacity:1!important;filter:none;transform:translateY(-4px) scale(1.01);box-shadow:0 22px 55px rgba(0,0,0,.5),0 0 35px rgba(0,217,255,.18)}
.tech-grid .tech-card:hover::after,.tech-grid .tech-card:focus-within::after{opacity:1}
@media (min-width:1024px){
  .tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.tech-card{position:relative;padding:1.5rem;border-radius:22px;background:linear-gradient(150deg,rgba(20,24,29,.95),rgba(28,35,43,.9));border:1px solid rgba(147,161,175,.18);box-shadow:0 18px 40px rgba(0,0,0,.35);overflow:hidden;isolation:isolate;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,opacity .3s ease,filter .3s ease;animation:techFloat 7s ease-in-out infinite;animation-delay:var(--tech-delay,0s)}
.tech-card::before{content:"";position:absolute;inset:-40% -20% auto -20%;height:140%;background:linear-gradient(120deg,var(--tech-accent-soft,rgba(0,217,255,.18)),transparent 65%);opacity:.45;transform:rotate(6deg);z-index:0;pointer-events:none;mix-blend-mode:screen}
.tech-card::after{content:"";position:absolute;inset:-30%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);opacity:0;pointer-events:none;transition:opacity .3s ease}
.tech-card__orb{position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--tech-accent-soft,rgba(0,217,255,.22)) 0%,transparent 65%);filter:blur(2px);opacity:.85;animation:techGlow 8s ease-in-out infinite;animation-delay:var(--tech-delay,0s);z-index:0}
.tech-card:hover{animation-play-state:paused;transform:translateY(-4px);border-color:var(--tech-accent,rgba(0,217,255,.4));box-shadow:0 26px 60px rgba(0,0,0,.45),0 0 35px var(--tech-accent-soft,rgba(0,217,255,.25))}
.tech-icon{width:72px;height:72px;border-radius:24px;background:linear-gradient(145deg,rgba(7,11,19,.96),rgba(12,19,32,.92));border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(0,0,0,.35);position:relative;z-index:1;margin-bottom:1rem;animation:techPulse 6s ease-in-out infinite;animation-delay:var(--tech-delay,0s);overflow:hidden}
.tech-icon::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.12),transparent 55%),radial-gradient(circle at 80% 80%,rgba(0,217,255,.15),transparent 65%);opacity:.85;z-index:0;pointer-events:none;mix-blend-mode:screen}
.tech-icon svg,.tech-icon img{width:86%;height:86%;object-fit:contain;display:block;border-radius:inherit;position:relative;z-index:1;padding:6px}
.tech-icon img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%)}
.tech-icon--needs-fill{background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.25),rgba(255,255,255,0) 55%),linear-gradient(135deg,rgba(8,12,22,.95),rgba(14,23,35,.95))}
.tech-icon--needs-fill::before,.tech-icon--needs-fill::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none}
.tech-icon--needs-fill::before{background:radial-gradient(circle at 18% 25%,rgba(255,255,255,.35),transparent 60%),radial-gradient(circle at 70% 75%,var(--tech-accent-soft,rgba(0,217,255,.28)),transparent 70%);filter:blur(.5px);animation:techIconAurora 9s ease-in-out infinite;opacity:.95}
.tech-icon--needs-fill::after{background:linear-gradient(135deg,transparent 0,rgba(255,255,255,.65) 35%,transparent 70%),linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.06) 75%);background-size:100% 100%,12px 12px;mix-blend-mode:screen;opacity:.6;animation:techIconScan 3.2s ease-in-out infinite}
.tech-icon__particle{position:absolute;border-radius:999px;opacity:0;pointer-events:none;mix-blend-mode:screen;z-index:0}
.tech-icon__particle--glow{width:22px;height:22px;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 70%);box-shadow:0 0 25px rgba(255,255,255,.8);animation:techIconParticleGlow 6s ease-in-out infinite}
.tech-icon__particle--spark{width:3px;height:16px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.8),rgba(255,255,255,0));animation:techIconParticleSpark 4s ease-in-out infinite}
.tech-icon__fallback{font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--base-100);font-size:.95rem}
.tech-card__body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;position:relative;z-index:1;display:flex;flex-direction:column;gap:.65rem}
.tech-card__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.tech-category-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;background:rgba(15,23,42,.75);border:1px solid rgba(255,255,255,.08);color:#e2e8f0}
.tech-card__suggestion{position:absolute;top:1rem;right:1rem;width:220px;max-width:60%;background:rgba(4,7,18,.7);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.9rem;box-shadow:0 18px 35px rgba(0,0,0,.4);opacity:0;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;z-index:2}
.tech-card__suggestion p{font-size:.75rem;line-height:1.4;color:#f7e4c0;margin:0}
.tech-card:hover .tech-card__suggestion,.tech-grid .tech-card:focus-within .tech-card__suggestion{opacity:1;transform:translateY(0)}
.tech-card__suggestion-logos{display:flex;gap:.45rem;margin-top:.55rem;flex-wrap:wrap}
.tech-card__suggestion-logo{display:flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(12,17,32,.85)}
.tech-card__suggestion-logo span{font-size:.7rem;color:#e2e8f0}
.tech-card__suggestion-logo img,.tech-card__suggestion-initials{width:22px;height:22px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#fff;font-weight:600}
.tech-card__suggestion-initials{text-transform:uppercase}
.tech-card__description{opacity:0;max-height:0;overflow:hidden;transition:opacity .25s ease,max-height .25s ease;margin-top:.4rem}
.tech-card:hover .tech-card__description,.tech-grid .tech-card:focus-within .tech-card__description{opacity:1;max-height:200px}
.tech-badge{padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);font-size:.65rem;text-transform:uppercase;letter-spacing:.25em;color:var(--base-300)}
.tech-grid p{margin:0}
.tech-card--wave{animation-duration:9s}
.tech-card--wave .tech-card__orb{animation-duration:11s}
.tech-card--pulse{animation:techPulseCard 5.8s ease-in-out infinite}
.tech-card--pulse .tech-icon{animation-duration:2.8s}
.tech-card--orbit{animation-duration:8s}
.tech-card--orbit .tech-card__orb{animation:techOrbit 12s linear infinite}
.tech-card--orbit .tech-icon{animation-duration:7s}
@keyframes techGridGlow{
  0%{transform:scale(1) translate3d(0,0,0);opacity:.3}
  30%{transform:scale(1.06) translate3d(12px,-10px,0);opacity:.42}
  60%{transform:scale(.98) translate3d(-16px,8px,0);opacity:.25}
  100%{transform:scale(1) translate3d(0,0,0);opacity:.3}
}

@keyframes techFloat{
  0%{transform:translateY(0) rotateX(0deg)}
  50%{transform:translateY(-6px) rotateX(.8deg)}
  100%{transform:translateY(0) rotateX(0deg)}
}
@keyframes techGlow{
  0%,100%{transform:scale(1);opacity:.8}
  50%{transform:scale(1.1);opacity:.95}
}
@keyframes techPulse{
  0%,100%{box-shadow:0 0 0 rgba(255,255,255,0)}
  50%{box-shadow:0 0 25px var(--tech-accent-soft,rgba(0,217,255,.35))}
}
@keyframes techPulseCard{
  0%,100%{transform:translateY(0) scale(1)}
  45%{transform:translateY(-4px) scale(1.01)}
  55%{transform:translateY(-3px) scale(1.015)}
}
@keyframes techOrbit{
  0%{transform:rotate(0deg) scale(1)}
  100%{transform:rotate(360deg) scale(1.05)}
}
@keyframes techIconAurora{
  0%{transform:translate(-12%, -12%) scale(1);opacity:.55}
  50%{transform:translate(9%, 9%) scale(1.08);opacity:.95}
  100%{transform:translate(-12%, -12%) scale(1);opacity:.55}
}
@keyframes techIconScan{
  0%{transform:translateY(120%);opacity:0}
  25%{opacity:.55}
  75%{opacity:.55}
  100%{transform:translateY(-120%);opacity:0}
}
.tech-icon__particle--glow:nth-child(1){top:8%;left:12%;animation-delay:-1.2s}
.tech-icon__particle--glow:nth-child(2){bottom:10%;right:18%;animation-delay:-3.4s;animation-duration:7.2s}
.tech-icon__particle--glow:nth-child(3){top:26%;right:30%;animation-delay:-2.1s;animation-duration:5.6s}
.tech-icon__particle--spark:nth-child(4){top:5%;right:15%;animation-delay:-1.6s}
.tech-icon__particle--spark:nth-child(5){bottom:8%;left:22%;animation-delay:-2.6s;animation-duration:5s}
.tech-icon__particle--spark:nth-child(6){top:38%;left:8%;animation-delay:-0.8s}
.tech-icon__particle--spark:nth-child(7){bottom:30%;right:10%;animation-delay:-3s}
.tech-icon__particle--spark:nth-child(8){top:18%;left:45%;animation-delay:-2.2s;animation-duration:4.4s}
.tech-icon__particle--spark:nth-child(9){bottom:18%;right:40%;animation-delay:-4s;animation-duration:4.6s}
.tech-icon__particle--spark:nth-child(10){top:50%;right:4%;animation-delay:-0.4s;animation-duration:3.8s}
@keyframes techIconParticleGlow{
  0%,100%{opacity:0;transform:scale(.35)}
  20%{opacity:.85;transform:scale(1)}
  60%{opacity:.4;transform:scale(.6)}
}
@keyframes techIconParticleSpark{
  0%{opacity:0;transform:translateY(0) scaleY(.35)}
  15%{opacity:.9;transform:translateY(-6px) scaleY(1.15)}
  45%{opacity:.4;transform:translateY(-12px) scaleY(.85)}
  100%{opacity:0;transform:translateY(-20px) scaleY(.3)}
}

.project-page{background:radial-gradient(circle at 20% 20%,rgba(0,217,255,.08),transparent 55%) var(--base-900)}
.project-hero__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:2.5rem}
.project-filters{padding:.85rem 1.25rem 1.25rem;border-radius:16px;background:rgba(28,35,43,.8);border:1px solid rgba(147,161,175,.15);box-shadow:0 20px 45px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:.65rem}
.project-filters p{margin:0}
.project-filters .chip{background:rgba(255,255,255,.05)}
.project-spotlight-wrap{margin-top:2rem}
.project-spotlight{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.25fr);gap:1.5rem;padding:1.5rem;border-radius:24px;background:linear-gradient(135deg,rgba(20,24,29,.92),rgba(28,35,43,.92));border:1px solid rgba(147,161,175,.15);box-shadow:0 28px 60px rgba(0,0,0,.45);align-items:stretch}
.project-spotlight--compact{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);padding:1.25rem}
.project-spotlight-list{display:flex;flex-direction:column;gap:1.75rem}
.project-spotlight__media{display:flex;align-items:center;justify-content:center}
.project-spotlight__media .project-cover-frame{width:100%}
.project-media-placeholder{width:100%;height:100%;border-radius:14px;background:linear-gradient(145deg,rgba(147,161,175,.12),rgba(59,70,83,.12));border:1px dashed rgba(147,161,175,.4);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--base-500);text-transform:uppercase;letter-spacing:.2em}
.project-spotlight__body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:1.75rem}
.project-stack{display:flex;flex-direction:column;gap:.5rem}
.project-stack__label{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--base-500)}
.project-stack__chips{display:flex;flex-wrap:wrap;gap:.45rem}
.stack-pill{padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(0,217,255,.3);background:rgba(0,217,255,.08);font-size:.8rem;font-weight:600;color:var(--base-100)}
.stack-pill--ghost{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05)}
.project-stack--compact .project-stack__chips{gap:.35rem}
.project-stack--compact .stack-pill{padding:.3rem .75rem;font-size:.75rem}
.project-spotlight__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.project-spotlight__cta .btn-primary{min-width:220px;padding-left:28px;padding-right:28px;justify-content:center}
.project-spotlight__cta .btn-ghost{min-width:220px;justify-content:center}
.project-spotlight__excerpt{font-size:1rem;line-height:1.6;color:var(--base-300);white-space:pre-line;display:block;max-height:calc(1.6em * 6);overflow:hidden;cursor:default;position:relative;padding-right:0}
.project-spotlight__excerpt.is-collapsible{position:relative;padding-right:52px}
.project-spotlight__excerpt.is-expanded{display:block;max-height:none;overflow:visible;cursor:default;padding-right:52px}
.project-spotlight__excerpt.is-measuring{max-height:none;overflow:visible}
.project-excerpt-toggle{position:absolute;bottom:-.05rem;right:0;border:1px solid rgba(255,193,96,.5);border-radius:999px;background:var(--base-900);color:var(--gold);font-weight:700;font-size:1rem;line-height:1;padding:.08rem .5rem .12rem;margin:0;cursor:pointer;display:flex;align-items:center;gap:.15rem;z-index:3;transition:color .2s ease,background .2s ease,transform .2s ease}
.project-excerpt-toggle.is-open{color:var(--base-50);background:rgba(8,12,18,.92)}
.project-excerpt-toggle:hover{transform:translateY(-1px)}
.project-excerpt-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.btn-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--neon);text-decoration:none}
.btn-link span{transition:transform .15s ease}
.btn-link:hover span{transform:translateX(4px)}
.project-grid-wrapper{margin-top:3rem}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.pagination{display:flex;justify-content:center;gap:.35rem;margin-top:1.5rem}
.pagination__link{min-width:34px;height:34px;border-radius:10px;border:1px solid rgba(147,161,175,.25);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--base-200);text-decoration:none;background:rgba(255,255,255,.02);transition:all .2s ease}
.pagination__link:hover{border-color:var(--neon);color:var(--neon)}
.pagination__link.is-active{background:var(--neon);color:#06131a;border-color:var(--neon)}

@media (max-width:1024px){
  .project-spotlight{grid-template-columns:1fr!important;padding:1.25rem}
  .project-spotlight__body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:1.5rem}
  .project-hero__grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .project-spotlight__body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:1.25rem}
  .project-spotlight__cta{flex-direction:column}
}



