/* ═══════════════════════════════════
   TECNOCYS — Base / Reset / Globals
═══════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--txt);
  font-family: var(--fb);
  font-size: 1rem;
  line-height: 1.7;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--c2); }

/* Section commons */
section { padding: 96px 5%; }
.inner { max-width: var(--mw); margin: 0 auto; width: 100%; }

/* Section header */
.sh { text-align: center; margin-bottom: 60px; }
.ey {
  display: inline-block;
  font-family: var(--fm); font-size: .63rem;
  color: var(--c); letter-spacing: .16em; text-transform: uppercase;
  margin-bottom: .7rem;
}
h2 {
  font-family: var(--fh);
  font-size: clamp(2rem, 3.8vw, 3rem);
  font-weight: 800; letter-spacing: -.02em; line-height: 1.05;
  margin-bottom: .85rem;
}
h2 span { color: var(--c); }
.ssub { color: var(--mu); max-width: 520px; margin: 0 auto; font-size: .93rem; }

/* Scroll fade-in */
.fi { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s ease; }
.fi.v { opacity: 1; transform: none; }
.d1 { transition-delay: .1s; } .d2 { transition-delay: .2s; }
.d3 { transition-delay: .3s; } .d4 { transition-delay: .4s; }
.d5 { transition-delay: .5s; }

/* Buttons */
.btn-p {
  background: var(--c); color: var(--bg);
  padding: .8rem 1.8rem; border-radius: 7px;
  font-weight: 700; font-size: .9rem; letter-spacing: .03em;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all .25s; border: none; cursor: pointer; font-family: var(--fb);
}
.btn-p:hover { background: #2AD6FF; box-shadow: 0 0 35px rgba(0,200,255,.4); transform: translateY(-2px); }
.btn-g {
  border: 1px solid rgba(0,200,255,.3); color: var(--c);
  background: transparent; padding: .8rem 1.8rem; border-radius: 7px;
  font-weight: 600; font-size: .9rem; letter-spacing: .03em;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all .25s; cursor: pointer; font-family: var(--fb);
}
.btn-g:hover { background: rgba(0,200,255,.07); border-color: var(--c); }

/* Tags */
.tag {
  font-family: var(--fm); font-size: .59rem; color: var(--c2);
  background: rgba(0,127,204,.1); border: 1px solid rgba(0,127,204,.18);
  border-radius: 3px; padding: .12rem .45rem; letter-spacing: .04em;
}

/* Trust strip */
#trust {
  padding: 24px 5%;
  background: var(--bg2);
  border-top: 1px solid var(--bdr2); border-bottom: 1px solid var(--bdr2);
}
.trust-in { max-width: var(--mw); margin: 0 auto; display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.tl2 { font-family: var(--fm); font-size: .62rem; color: var(--mu2); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.tlogos { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.tlog {
  font-family: var(--fh); font-size: .88rem; font-weight: 700;
  color: var(--mu2); letter-spacing: .06em;
  border: 1px solid var(--bdr2); border-radius: 4px;
  padding: .25rem .7rem; transition: all .25s; white-space: nowrap;
}
.tlog:hover { color: var(--c); border-color: var(--bdr); }

/* Logo */
.logo-wrap { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-mark svg { display: block; }
.logo-wordmark { font-family: var(--fh); font-weight: 900; letter-spacing: .05em; color: var(--txt); display: flex; flex-direction: column; line-height: 1; }
.lw-main { font-size: 1.4rem; }
.lw-tag { font-size: .52rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--mu); margin-top: 1px; }

/* Responsive */
@media(max-width:768px) { section { padding: 70px 5%; } }
