:root{
  --bg:#0B0E13;
  --bg-2:#10141A;
  --surface:#161A21;
  --surface-2:#1F242C;
  --line:rgba(255,255,255,0.08);
  --line-strong:rgba(255,255,255,0.15);
  --ink:#ECEFF3;
  --ink-soft:#9098A3;
  --ink-dim:#5C6470;
  --violet:#2dd4bf;
  --cyan:#5eead4;
  --whats:#25d366;
  --grad:linear-gradient(115deg,#2dd4bf 0%,#14b8a6 40%,#5eead4 100%);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}
section{scroll-margin-top:80px;}
h1,h2,h3{font-family:'Sora',sans-serif;line-height:1.15;font-weight:600;letter-spacing:-0.02em;}
a{color:inherit;}
.grad-text{
  background:linear-gradient(115deg,#2dd4bf,#14b8a6,#5eead4,#2dd4bf);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(20,184,166,0.35));
  animation:shimmer 9s linear infinite;
}
@keyframes shimmer{to{background-position:300% 50%;}}

/* ---- Scroll progress bar ---- */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:100;
  background:var(--grad);
  box-shadow:0 0 12px rgba(20,184,166,0.9),0 0 5px rgba(45,212,191,0.9);
}

/* ---- Mouse spotlight ---- */
.spotlight{
  position:fixed;top:0;left:0;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(20,184,166,0.16),transparent 62%);
  pointer-events:none;z-index:41;mix-blend-mode:screen;
  opacity:0;transition:opacity .4s ease;will-change:transform;
}

/* ---- Header ---- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,14,19,0.6);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .3s ease,box-shadow .3s ease;
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--grad);opacity:0;transition:opacity .3s ease;
}
.site-header.scrolled{
  background:rgba(11,14,19,0.92);
  box-shadow:0 10px 34px -16px rgba(20,184,166,0.55);
}
.site-header.scrolled::after{opacity:0.75;}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;height:68px;
  transition:height .3s ease;
}
.site-header.scrolled .container{height:56px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.06rem;text-decoration:none;font-family:'Sora',sans-serif;}
.brand .mark{
  width:34px;height:34px;flex-shrink:0;display:block;
}
.nav-links{display:flex;gap:34px;}
.nav-links a{
  position:relative;text-decoration:none;color:var(--ink-soft);
  font-size:0.86rem;font-weight:500;font-family:'JetBrains Mono',monospace;
  letter-spacing:0.02em;transition:color .15s ease;padding:4px 0;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;
  background:var(--grad);transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after,
.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--ink);}

/* ---- Buttons ---- */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;gap:9px;
  padding:15px 26px;border-radius:12px;
  font-weight:600;font-size:1rem;text-decoration:none;border:0;cursor:pointer;
  font-family:'Inter',sans-serif;
  transition:transform .12s ease,box-shadow .2s ease,opacity .15s ease,background .15s ease;
}
.btn::after{
  content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,0.4),transparent);
  transform:skewX(-20deg);transition:left .65s ease;pointer-events:none;
}
.btn:hover::after{left:150%;}
.btn:active{transform:translateY(1px);}
.btn-whats{
  background:var(--whats);color:#052e16;
  box-shadow:0 8px 28px -8px rgba(37,211,102,0.55);
}
.btn-whats:hover{box-shadow:0 12px 40px -8px rgba(37,211,102,0.75);transform:translateY(-2px);}
.btn-ghost{
  background:rgba(255,255,255,0.04);color:var(--ink);
  border:1px solid var(--line-strong);
}
.btn-ghost:hover{background:rgba(255,255,255,0.08);transform:translateY(-2px);}
.btn-sm{padding:10px 16px;font-size:0.9rem;border-radius:10px;}
.btn svg.wa{width:19px;height:19px;fill:currentColor;flex-shrink:0;position:relative;}
.btn-sm svg.wa{width:16px;height:16px;}

/* ---- HUD corner brackets ---- */
.corner{
  position:absolute;width:15px;height:15px;pointer-events:none;z-index:3;
  border:2px solid var(--cyan);opacity:0.4;
  transition:opacity .25s ease;
}
.corner.tl{top:12px;left:12px;border-right:0;border-bottom:0;border-top-left-radius:5px;}
.corner.tr{top:12px;right:12px;border-left:0;border-bottom:0;border-top-right-radius:5px;}
.corner.bl{bottom:12px;left:12px;border-right:0;border-top:0;border-bottom-left-radius:5px;}
.corner.br{bottom:12px;right:12px;border-left:0;border-top:0;border-bottom-right-radius:5px;}
.card:hover .corner,.case:hover .corner{opacity:0.95;}

/* ---- Hero ---- */
.hero{position:relative;overflow:hidden;padding:120px 0 128px;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.5;}
.blob-1{width:520px;height:520px;background:#14b8a6;top:-180px;left:-120px;animation:drift1 18s ease-in-out infinite;}
.blob-2{width:460px;height:460px;background:#5eead4;top:-60px;right:-140px;animation:drift2 22s ease-in-out infinite;}
.blob-3{width:380px;height:380px;background:#2dd4bf;bottom:-200px;left:40%;opacity:0.32;animation:drift1 26s ease-in-out infinite;}
.hero-grid{
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,0.06) 1px,transparent 1px);
  background-size:36px 36px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 30%,transparent 75%);
  mask-image:radial-gradient(ellipse 70% 60% at 50% 35%,#000 30%,transparent 75%);
  animation:gridmove 24s linear infinite;
}
.scanlines{
  position:absolute;inset:0;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,0.022) 0 1px,transparent 1px 4px);
  opacity:0.6;
}
.scan-beam{
  position:absolute;left:0;right:0;height:160px;
  background:linear-gradient(to bottom,transparent,rgba(45,212,191,0.10),transparent);
  animation:scan 8s linear infinite;
}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,40px) scale(1.12);}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-50px,50px) scale(1.18);}}
@keyframes gridmove{to{background-position:36px 36px;}}
@keyframes scan{0%{top:-160px;}100%{top:100%;}}
.hero .container{position:relative;z-index:1;}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,255,255,0.05);border:1px solid var(--line);
  padding:7px 15px 7px 12px;border-radius:999px;
  font-family:'JetBrains Mono',monospace;
  font-size:0.76rem;font-weight:400;color:var(--ink-soft);
  text-transform:uppercase;letter-spacing:0.08em;margin-bottom:26px;
}
.eyebrow .dot{
  width:8px;height:8px;border-radius:50%;background:var(--cyan);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(45,212,191,0.5);}
  70%,100%{box-shadow:0 0 0 9px rgba(45,212,191,0);}
}
.hero h1{font-size:clamp(2.2rem,5.4vw,3.7rem);max-width:18ch;margin-bottom:24px;font-weight:700;}
.hero .lead{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--ink-soft);max-width:46ch;margin-bottom:30px;}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px;}
.hero-tags span{
  background:rgba(255,255,255,0.04);border:1px solid var(--line);
  padding:7px 14px;border-radius:999px;font-size:0.86rem;color:var(--ink-soft);
}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

/* ---- Generic section ---- */
.section{padding:108px 0;position:relative;}
.section-soft{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono',monospace;
  color:var(--violet);font-weight:700;font-size:0.78rem;
  text-transform:uppercase;letter-spacing:0.16em;margin-bottom:14px;
}
.kicker::before{content:"";width:26px;height:2px;background:var(--grad);flex-shrink:0;}
.section h2{font-size:clamp(1.7rem,3.5vw,2.4rem);margin-bottom:16px;font-weight:700;}
.section .intro{color:var(--ink-soft);font-size:1.08rem;max-width:54ch;margin-bottom:52px;}
.sx{color:var(--cyan);}

/* ---- Sobre ---- */
.about p{font-size:1.12rem;max-width:62ch;margin-bottom:18px;color:#d4d4de;}
.about p:last-child{margin-bottom:0;}
.about .lead-line{font-size:1.3rem;color:var(--ink);max-width:60ch;font-weight:450;}

/* ---- Serviços (bento) ---- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{
  position:relative;background:var(--surface);
  border:1px solid var(--line);border-radius:20px;padding:32px;
  transition:transform .14s ease,border-color .2s ease,box-shadow .25s ease;
  overflow:hidden;transform-style:preserve-3d;
}
.card::before{
  content:"";position:absolute;inset:0;border-radius:20px;padding:1px;z-index:1;
  background:var(--grad);
  -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 .2s ease;
}
.card::after{
  content:"";position:absolute;inset:0;border-radius:20px;z-index:1;pointer-events:none;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(20,184,166,0.2),transparent 62%);
  opacity:0;transition:opacity .25s ease;
}
.card>*{position:relative;z-index:2;}
.card:hover{box-shadow:0 26px 54px -26px rgba(20,184,166,0.5);}
.card:hover::before,.card:hover::after{opacity:1;}
.card-feature{grid-column:1 / -1;display:flex;gap:32px;align-items:flex-start;}
.card-feature .card-body{flex:1;}
.card .icon{
  width:54px;height:54px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(45,212,191,0.22),rgba(45,212,191,0.18));
  border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  box-shadow:0 0 24px -6px rgba(45,212,191,0.35);
}
.card-feature .icon{width:64px;height:64px;margin-bottom:0;}
.card .icon svg{width:26px;height:26px;stroke:var(--cyan);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.card-feature .icon svg{width:30px;height:30px;}
.card .num{
  position:absolute;top:24px;right:26px;
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:0.85rem;
  color:var(--ink-dim);
}
.card h3{font-size:1.28rem;margin-bottom:10px;}
.card-feature h3{font-size:1.5rem;}
.card p{color:var(--ink-soft);font-size:0.99rem;}

/* ---- Portfólio (cases expandidos — legado) ---- */
.case{
  position:relative;background:var(--surface);
  border:1px solid var(--line);border-radius:24px;
  margin-bottom:26px;overflow:hidden;
  transition:border-color .2s ease,box-shadow .25s ease;
}
.case:last-child{margin-bottom:0;}
.case:hover{box-shadow:0 26px 54px -28px rgba(20,184,166,0.45);}
.case>.line{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;
  background:var(--grad);opacity:0.6;
}
.case-body{padding:40px;position:relative;z-index:1;}
.case .tag{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,rgba(45,212,191,0.16),rgba(45,212,191,0.12));
  border:1px solid var(--line-strong);
  color:var(--violet);
  font-size:0.72rem;font-weight:700;padding:6px 13px;border-radius:999px;
  text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px;
  font-family:'JetBrains Mono',monospace;
}
.case h3{font-size:clamp(1.35rem,2.6vw,1.7rem);margin-bottom:14px;}
.case p{color:var(--ink-soft);font-size:1.05rem;max-width:66ch;margin-bottom:22px;}
.stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;}
.stat{
  flex:1;min-width:170px;background:var(--bg);
  border:1px solid var(--line);border-radius:14px;padding:20px 22px;
}
.stat .label{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;color:var(--ink-dim);text-transform:uppercase;
  letter-spacing:0.1em;margin-bottom:6px;font-weight:700;
}
.stat .value{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:700;}
.stat.after{
  background:linear-gradient(135deg,rgba(45,212,191,0.08),rgba(45,212,191,0.08));
  border-color:var(--line-strong);
}
.stat.after .value{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.case-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--cyan);font-weight:600;text-decoration:none;font-size:1.04rem;
  transition:gap .15s ease;
}
.case-link:hover{gap:12px;}
.note{font-size:0.94rem;color:var(--ink-dim);margin-top:16px;}
.placeholder{
  border:1.5px dashed var(--line-strong);border-radius:14px;
  background:rgba(255,255,255,0.02);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;min-height:200px;padding:28px;
  color:var(--ink-dim);font-size:0.94rem;margin-top:18px;gap:8px;
}
.placeholder svg{width:30px;height:30px;stroke:var(--ink-dim);fill:none;stroke-width:1.6;}

/* ---- Portfólio: cards clicáveis ---- */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
a.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;}
.port-card .tag{
  align-self:flex-start;display:inline-flex;align-items:center;
  background:linear-gradient(135deg,rgba(45,212,191,0.16),rgba(45,212,191,0.12));
  border:1px solid var(--line-strong);color:var(--violet);
  font-family:'JetBrains Mono',monospace;
  font-size:0.68rem;font-weight:700;padding:5px 11px;border-radius:999px;
  text-transform:uppercase;letter-spacing:0.07em;margin-bottom:15px;
}
.port-card h3{font-size:1.22rem;margin-bottom:9px;}
.port-card p{color:var(--ink-soft);font-size:0.96rem;flex:1;margin-bottom:20px;}
.port-card .go{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--cyan);font-weight:600;font-size:0.95rem;
  font-family:'Inter',sans-serif;transition:gap .15s ease;
}
.port-card:hover .go{gap:13px;}
.portfolio-grid .card:nth-child(2){transition-delay:.08s;}
.portfolio-grid .card:nth-child(3){transition-delay:.16s;}
.portfolio-grid .card:nth-child(4){transition-delay:.24s;}

/* ---- Páginas de projeto ---- */
.proj-hero{position:relative;overflow:hidden;padding:60px 0 56px;border-bottom:1px solid var(--line);}
.proj-hero .glow{
  position:absolute;width:560px;height:560px;border-radius:50%;
  background:#14b8a6;filter:blur(130px);opacity:0.16;
  top:-370px;left:50%;transform:translateX(-50%);pointer-events:none;
}
.proj-hero>*{position:relative;z-index:1;}
.back-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'JetBrains Mono',monospace;font-size:0.8rem;
  color:var(--ink-soft);text-decoration:none;margin-bottom:24px;
  transition:color .15s ease,gap .15s ease;
}
.back-link:hover{color:var(--ink);gap:11px;}
.proj-tag{
  display:inline-flex;align-items:center;
  background:linear-gradient(135deg,rgba(45,212,191,0.16),rgba(45,212,191,0.12));
  border:1px solid var(--line-strong);color:var(--violet);
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;font-weight:700;padding:6px 13px;border-radius:999px;
  text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px;
}
.proj-hero h1{font-size:clamp(2rem,4.6vw,3rem);max-width:20ch;margin-bottom:16px;font-weight:700;}
.proj-hero .summary{font-size:clamp(1.05rem,2vw,1.22rem);color:var(--ink-soft);max-width:60ch;}

.proj-content{padding:58px 0 20px;}
.proj-block{max-width:760px;margin:0 auto 40px;}
.proj-block:last-child{margin-bottom:0;}
.proj-block h2{font-size:1.4rem;margin-bottom:13px;}
.proj-block p{color:#cfcfd8;font-size:1.06rem;margin-bottom:14px;}
.proj-block p:last-child{margin-bottom:0;}
.proj-block ul{color:#cfcfd8;font-size:1.06rem;padding-left:1.2rem;margin-bottom:14px;}
.proj-block li{margin-bottom:8px;}
.proj-block li::marker{color:var(--cyan);}

.proj-figure{max-width:1000px;margin:38px auto;}
.proj-figure .frame{
  border-radius:14px;overflow:hidden;
  border:1px solid var(--line-strong);background:#fff;
  box-shadow:0 24px 54px -28px rgba(0,0,0,0.95);
}
.proj-figure img{width:100%;height:auto;display:block;}
.proj-figure figcaption{
  margin-top:13px;font-family:'JetBrains Mono',monospace;
  font-size:0.78rem;color:var(--ink-soft);
  text-transform:uppercase;letter-spacing:0.05em;
  display:flex;align-items:center;gap:9px;
}
.proj-figure figcaption::before{content:"";width:20px;height:2px;background:var(--grad);flex-shrink:0;}

/* ---- Antes/depois (transcrição) ---- */
.transcript-demo{
  max-width:1000px;margin:34px auto 14px;
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.transcript-col{
  background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:24px 26px 26px;
}
.transcript-col.depois{
  background:linear-gradient(160deg,rgba(45,212,191,0.07),rgba(45,212,191,0.06));
  border-color:var(--line-strong);
}
.transcript-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;
  color:var(--ink-dim);margin-bottom:15px;
  display:flex;align-items:center;gap:9px;
}
.transcript-col.depois .transcript-tag{color:var(--violet);}
.transcript-tag::before{content:"";width:20px;height:2px;background:var(--line-strong);flex-shrink:0;}
.transcript-col.depois .transcript-tag::before{background:var(--grad);}
.transcript-text{font-size:1rem;}
.transcript-text p{color:var(--ink-soft);margin-bottom:12px;}
.transcript-text p:last-child{margin-bottom:0;}
.transcript-col.depois .transcript-text p{color:#d4d4de;}
.demo-caption{
  max-width:1000px;margin:0 auto;
  font-family:'JetBrains Mono',monospace;
  font-size:0.78rem;color:var(--ink-soft);
  display:flex;align-items:center;gap:9px;
}
.demo-caption::before{content:"";width:20px;height:2px;background:var(--grad);flex-shrink:0;}

.proj-cta{
  max-width:760px;margin:56px auto 0;padding-top:46px;
  border-top:1px solid var(--line);text-align:center;
}
.proj-cta h2{font-size:1.55rem;margin-bottom:10px;}
.proj-cta p{color:var(--ink-soft);margin-bottom:24px;}

/* ---- Contato ---- */
.contact-panel{
  position:relative;overflow:hidden;
  background:var(--surface);border:1px solid var(--line);
  border-radius:28px;padding:72px 40px;text-align:center;
}
.contact-panel .glow{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:#14b8a6;filter:blur(120px);opacity:0.22;
  top:-340px;left:50%;transform:translateX(-50%);pointer-events:none;
}
.contact-panel>*{position:relative;z-index:1;}
.contact-panel .kicker{justify-content:center;}
.contact-panel h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:16px;}
.contact-panel p{color:var(--ink-soft);font-size:1.12rem;max-width:50ch;margin:0 auto 32px;}
.contact-info{
  margin-top:30px;color:var(--ink-dim);font-size:0.92rem;
  font-family:'JetBrains Mono',monospace;
  display:flex;gap:10px 24px;justify-content:center;flex-wrap:wrap;
}
.contact-info a{color:var(--ink-soft);text-decoration:none;transition:color .15s ease;}
.contact-info a:hover{color:var(--ink);}

/* ---- Footer ---- */
.site-footer{
  background:var(--bg);border-top:1px solid var(--line);
  color:var(--ink-dim);padding:38px 0;font-size:0.9rem;
}
.site-footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.site-footer a{color:var(--ink-soft);text-decoration:none;}
.site-footer a:hover{color:var(--ink);}

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .6s ease,transform .6s ease,filter .6s ease;}
.reveal.in{opacity:1;transform:none;filter:none;}
.services-grid .card:nth-child(2){transition-delay:.08s;}
.services-grid .card:nth-child(3){transition-delay:.16s;}
.services-grid .card:nth-child(4){transition-delay:.24s;}

@media (max-width:760px){
  .nav-links{display:none;}
  .hero{padding:80px 0 88px;}
  .section{padding:72px 0;}
  .section .intro{margin-bottom:36px;}
  .services-grid{grid-template-columns:1fr;}
  .portfolio-grid{grid-template-columns:1fr;}
  .transcript-demo{grid-template-columns:1fr;}
  .card-feature{flex-direction:column;gap:0;}
  .card-feature .icon{margin-bottom:20px;}
  .case-body{padding:28px;}
  .contact-panel{padding:52px 24px;}
  .hero-cta .btn{flex:1;justify-content:center;}
  .proj-content{padding:44px 0 10px;}
}
@media (prefers-reduced-motion:reduce){
  .blob,.hero-grid,.scan-beam,.grad-text,.eyebrow .dot{animation:none;}
  .reveal{transition:none;opacity:1;transform:none;filter:none;}
  html{scroll-behavior:auto;}
}
