:root{
  --bg:#0a0a0b;
  --text:#f5f3ee;
  --muted:#8f8b86;
  --line:rgba(245,243,238,.12);
  --orange:#ff5a1f;
}
*{box-sizing:border-box; margin:0; padding:0;}
::selection{background:var(--orange); color:#0a0a0b;}
html,body{height:100%;}
body{background:var(--bg); color:var(--text); font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased; min-height:100vh; display:flex; flex-direction:column;}
a{color:inherit; text-decoration:none;}
img{display:block;}
.wrap{max-width:1320px; margin:0 auto; padding:0 clamp(24px,4vw,56px); width:100%;}
.accent{color:var(--orange);}
.tech-grid{background-image:linear-gradient(rgba(245,243,238,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(245,243,238,.045) 1px, transparent 1px); background-size:64px 64px;}

.top{padding:28px 0;}
.mark img{height:20px; width:auto;}

.eyebrow{font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:22px; display:flex; align-items:center; gap:16px;}
.eyebrow span{width:26px; height:1px; background:var(--orange);}

.btn{display:inline-flex; align-items:center; gap:12px; padding:17px 32px; border-radius:2px; font-weight:600; font-size:14.5px; letter-spacing:.01em; border:1px solid var(--line); background:transparent; color:var(--text); cursor:pointer; transition:background .25s ease,color .25s ease,border-color .25s ease; white-space:nowrap;}
.btn-solid{background:var(--orange); color:#180c06; border-color:var(--orange);}
.btn-solid:hover{background:var(--text); border-color:var(--text);}

.bottom{border-top:1px solid var(--line); padding:28px 0;}
.bottom p{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}

.tg-float{position:fixed; right:24px; bottom:24px; z-index:240; width:56px; height:56px; border-radius:50%; background:var(--orange); display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(255,90,31,.55); transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;}
.tg-float:hover{transform:translateY(-3px) scale(1.05); box-shadow:0 16px 36px -8px rgba(255,90,31,.7);}
.tg-float svg{width:24px; height:24px; fill:#180c06; position:relative; z-index:2;}
.tg-float::before{content:""; position:absolute; inset:0; border-radius:50%; border:1px solid var(--orange); opacity:0; animation:tgPulse 2.8s ease-out infinite;}
.tg-float:hover::before{animation:none; opacity:0;}
@keyframes tgPulse{0%{transform:scale(1); opacity:.55;} 100%{transform:scale(1.6); opacity:0;}}
.tg-tip{position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(6px); background:var(--bg); border:1px solid var(--line); color:var(--text); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.05em; text-transform:uppercase; padding:8px 14px; border-radius:2px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;}
.tg-float:hover .tg-tip{opacity:1; transform:translateY(-50%) translateX(0);}
@media(max-width:768px){.tg-float{right:16px; bottom:16px; width:52px; height:52px;} .tg-tip{display:none;}}
@media(prefers-reduced-motion:reduce){.tg-float::before{animation:none;}}
