:root{--ink:#55565a;--muted:#77787c;--line:#dedee0;--bg:#f5f5f5;--white:#fff;--accent:#ed1c24;--accent2:#55565a;--dark:#55565a;--shadow:0 18px 45px rgba(70,70,70,.12);--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,228,236,.8)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.04em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#ed1c24;color:#fff;font-size:13px;font-weight:800;box-shadow:0 8px 22px rgba(237,28,36,.22)}.brand strong{display:block;font-size:17px;line-height:1}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.16em;margin-top:4px}.nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:650}.nav a{color:#4c5d72}.nav a:hover,.nav a.active{color:var(--accent)}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{overflow:hidden;background:linear-gradient(135deg,#4f5054 0%,#606166 62%,#55565a 100%);color:#fff}.hero-grid{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--accent);margin:0 0 15px}.hero .eyebrow{color:#ed1c24}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px;max-width:800px}.lead{font-size:19px;color:#eeeeee;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:10px;font-weight:750;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{border-color:#aaa;color:#fff}.contact-strip{display:flex;gap:18px;flex-wrap:wrap;color:#dedede;font-size:13px}.contact-strip a:hover{color:#fff}.hero-art{position:relative;min-height:450px;display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:350px;height:350px;background:rgba(237,28,36,.14)}.orb-b{width:220px;height:220px;background:rgba(85,86,90,.18);right:0;bottom:30px}.server-card{position:relative;width:min(430px,90%);padding:25px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(7,19,34,.76);box-shadow:0 30px 80px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.server-top{display:flex;gap:7px;padding-bottom:22px}.server-top span{width:9px;height:9px;border-radius:50%;background:#718397}.server-row{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:15px;padding:17px 0;border-top:1px solid rgba(255,255,255,.09);font-size:11px;letter-spacing:.08em}.server-row b{font-size:10px}.server-row i{height:5px;border-radius:9px;background:linear-gradient(90deg,#ed1c24 0 82%,#77787c 82%)}.server-row em{font-style:normal;color:#ed1c24;font-size:9px}.section{padding:100px 0}.section-muted{background:var(--bg)}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.section h2,.page-hero h1{font-size:clamp(34px,4.4vw,54px);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}.section p{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{display:block;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.2s;box-shadow:0 5px 20px rgba(11,23,40,.03)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c9c9cb}.card-number{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.1em}.card h3{font-size:20px;line-height:1.2;margin:24px 0 8px}.card p{margin:0;font-size:14px}.text-link{display:inline-block;color:var(--accent);font-weight:750;margin-top:10px}.vision{background:#55565a;color:#fff}.vision .container{max-width:850px}.vision h2{max-width:800px}.vision p{color:#eeeeee;max-width:760px}.page-hero{padding:120px 0 90px;background:linear-gradient(135deg,#f2f2f2,#fff)}.page-hero .container{max-width:900px}.page-hero p:last-child{font-size:18px;max-width:760px;color:var(--muted)}.narrow{max-width:800px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.service-item{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}.service-item>span{font-size:12px;font-weight:800;color:var(--accent);padding-top:5px}.service-item h2{font-size:24px;margin:0 0 8px}.service-item p{margin:0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.contact-card,.form-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 35px rgba(11,23,40,.05)}.contact-card{background:#55565a;color:#fff}.contact-card .eyebrow{color:#ed1c24}.contact-card p,.contact-card address{color:#eeeeee}.contact-card a:hover{color:#fff}.form-card label{display:block;font-weight:700;font-size:13px;margin-bottom:18px}.form-card input,.form-card textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;font:inherit;background:#fff}.form-card textarea{resize:vertical}.form-note{font-size:12px;color:var(--muted);margin-top:15px}.footer{background:#55565a;color:#e5e5e5;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:50px}.footer-brand{color:#fff;margin-bottom:15px}.footer h4{color:#fff;margin:0 0 14px}.footer-grid>div:not(:first-child) a,.footer-grid>div:not(:first-child) span{display:block;margin:7px 0;font-size:14px}.footer a:hover{color:#fff}.footer p{font-size:13px;max-width:300px}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:18px;font-size:11px;color:#c8c8c8}@media(max-width:800px){.container{width:min(100% - 28px,1120px)}.menu-toggle{display:block;color:var(--ink)}.nav{display:none;position:absolute;left:14px;right:14px;top:70px;background:#fff;padding:18px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-top:70px;padding-bottom:70px}.hero-art{min-height:330px}.cards,.service-list{grid-template-columns:1fr}.section{padding:70px 0}.section-heading{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.page-hero{padding:80px 0 65px}}

.site-logo{display:block;width:min(268px,38vw);height:auto;max-height:58px;object-fit:contain;object-position:left center}.footer-logo{opacity:.95;max-width:250px;background:#fff;border-radius:4px}.footer-brand{display:inline-flex}.brand{letter-spacing:0}.footer-brand{margin-bottom:15px}

/* Professional brand illustrations */
.hero-visual img,
.page-visual img,
.service-visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}
.hero-visual {
  max-width: 520px;
  margin-left: auto;
}
.page-visual {
  max-width: 620px;
  margin: 0 auto 2.5rem;
}
.service-visual {
  margin: 0 auto 2rem;
}
.visual-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 24px;
  padding: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}
@media (max-width: 800px) {
  .hero-visual { max-width: 100%; margin-top: 2rem; }
}


/* ---- IsagenTech motion system ---- */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease, transform .75s cubic-bezier(.22,.61,.36,1); transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:none; }
.hero-visual { animation:heroFloat 6s ease-in-out infinite; will-change:transform; }
@keyframes heroFloat { 0%,100%{transform:translateY(0) rotate(0deg)} 50%{transform:translateY(-9px) rotate(.35deg)} }
.visual-card { transition:transform .35s ease, box-shadow .35s ease; }
.visual-card:hover { transform:translateY(-7px); box-shadow:0 24px 55px rgba(0,0,0,.13); }
a,button,.btn,.service-card,.card,.feature-card { transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease; }
.btn:hover { transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.16); }
.service-card:hover,.card:hover,.feature-card:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(0,0,0,.10); }
.logo { transition:transform .35s ease; }
.logo:hover { transform:scale(1.025); }
.site-header,header { transition:box-shadow .3s ease, background-color .3s ease; }
.site-header.scrolled,header.scrolled { box-shadow:0 8px 28px rgba(0,0,0,.10); }
.animated-line::after { content:""; display:block; width:56px; height:3px; margin-top:10px; background:#ed1c24; transform-origin:left; transform:scaleX(0); transition:transform .65s cubic-bezier(.22,.61,.36,1); }
.animated-line.is-visible::after { transform:scaleX(1); }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} .reveal{opacity:1;transform:none} }

/* Services page: compact professional visuals */
.service-visuals {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 22px;
  max-width: 900px;
  margin: 34px auto 10px;
}
.service-visuals .service-visual {
  flex: 0 1 390px;
  max-width: 390px;
  margin: 0;
}
.service-visuals .visual-card {
  padding: 7px;
  border-radius: 18px;
}
.service-visuals .service-visual img {
  border-radius: 14px;
  display: block;
}
@media (max-width: 760px) {
  .service-visuals {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .service-visuals .service-visual {
    width: min(100%, 420px);
    max-width: 420px;
  }
}

.form-status {
  margin-top: 12px;
  min-height: 24px;
  font-size: .95rem;
}
.form-status.success { color: #2f6b3b; }
.form-status.error { color: #b51218; }
button:disabled { opacity: .65; cursor: wait; }

/* Anti-spam confirmation */
.spam-check {
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #ddd;
  border-left: 4px solid #ed1c24;
  border-radius: 10px;
  background: #f7f7f7;
}
.spam-check-title {
  margin: 0 0 3px;
  color: #55565a;
  font-size: 1.05rem;
}
.spam-check p {
  margin: 0 0 10px;
}
.spam-check-box {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font-weight: 600;
}
.spam-check-box input {
  width: 18px;
  height: 18px;
  accent-color: #ed1c24;
}
