/* ===== PRELOADER (ORIGINAL - Automate Global Type) ===== */
.ag-preloader{
  position:fixed;inset:0;z-index:9999;
  background:#07110C;
  display:flex;align-items:center;justify-content:center;
  opacity:1;transition:opacity .45s ease;
  pointer-events:all;
  overflow:hidden;
}
.ag-preloader.ag-done{opacity:0;pointer-events:none}

.ag-preloader::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(91,201,149,0.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,201,149,0.07) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);
  opacity:0;animation:ag-grid-in .5s ease .05s forwards;
}
@keyframes ag-grid-in{to{opacity:1}}

.ag-stage{
  display:flex;flex-direction:column;align-items:center;gap:36px;
  position:relative;z-index:1;
  padding:24px;max-width:92vw;
}

/* ===== terminal mark (draws in) ===== */
.ag-mark{
  width:110px;height:110px;position:relative;
  opacity:0;animation:ag-fade-in .35s ease .1s forwards;
}
.ag-mark svg{width:100%;height:100%;display:block;overflow:visible}
.ag-mark .term-box{
  stroke-dasharray:140;stroke-dashoffset:140;
  animation:ag-stroke .55s cubic-bezier(.5,0,.2,1) .15s forwards;
}
.ag-mark .term-chev{
  stroke-dasharray:18;stroke-dashoffset:18;
  animation:ag-stroke .3s ease-out .65s forwards;
}
.ag-mark .term-line{
  stroke-dasharray:11;stroke-dashoffset:11;
  opacity:0;
  animation:ag-cursor-pulse .4s ease .95s infinite alternate;
}
@keyframes ag-stroke{to{stroke-dashoffset:0}}
@keyframes ag-cursor-pulse{
  0%{opacity:0.3;stroke-dashoffset:11}
  100%{opacity:1;stroke-dashoffset:0}
}

/* ===== wordmark typing: single line, white "automate", green "global" ===== */
.ag-wordmark{
  font-family:'Figtree',system-ui,sans-serif;
  font-size:clamp(36px,6.2vw,56px);
  font-weight:500;
  letter-spacing:-0.02em;
  display:flex;flex-wrap:nowrap;align-items:baseline;
  white-space:nowrap;
  line-height:1.1;
  opacity:0;animation:ag-fade-in .3s ease .5s forwards;
}
.ag-wordmark .one,
.ag-wordmark .two{
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0;
  vertical-align:baseline;
}
.ag-wordmark .one{
  color:#ffffff;
  font-weight:500;
  animation:ag-type .9s steps(8,end) .7s forwards;
}
.ag-wordmark .two{
  color:#5BC995;
  font-weight:800;
  animation:ag-type .75s steps(6,end) 1.75s forwards;
}
@keyframes ag-type{to{width:100%}}

.ag-wordmark .ca-pill{
  margin-left:14px;font-size:14px;font-weight:700;
  letter-spacing:0.14em;padding:4px 10px;
  border:1.5px solid #5BC995;color:#5BC995;border-radius:5px;
  opacity:0;animation:ag-fade-in .3s ease 2.6s forwards;
  align-self:center;
}
.ag-wordmark .cursor{
  display:inline-block;width:3px;height:0.9em;
  background:#5BC995;margin-left:6px;
  opacity:1;animation:ag-cursor-blink .55s steps(2) 0s infinite;
  vertical-align:middle;
  align-self:center;
}
@keyframes ag-cursor-blink{
  0%,49%{opacity:1}
  50%,100%{opacity:0}
}

/* ===== status lines ===== */
.ag-status{
  display:flex;flex-direction:column;gap:8px;
  font-family:'JetBrains Mono','Menlo','ui-monospace',monospace;
  font-size:13.5px;color:rgba(255,255,255,0.55);
  letter-spacing:0.01em;
  min-width:320px;
}
.ag-status .line{
  display:flex;align-items:center;gap:10px;
  opacity:0;transform:translateY(4px);
  animation:ag-line-in .3s ease forwards;
}
.ag-status .line:nth-child(1){animation-delay:2.75s}
.ag-status .line:nth-child(2){animation-delay:2.9s}
.ag-status .line:nth-child(3){animation-delay:3.05s}
@keyframes ag-line-in{to{opacity:1;transform:translateY(0)}}
.ag-status .check{
  color:#5BC995;font-weight:700;display:inline-flex;
  width:14px;height:14px;align-items:center;justify-content:center;
}
.ag-status .check svg{width:12px;height:12px}
.ag-status .label{color:rgba(255,255,255,0.75)}
.ag-status .dot-sep{color:rgba(91,201,149,0.5);margin:0 6px}
.ag-status .val{color:#5BC995;font-weight:600}

@keyframes ag-fade-in{to{opacity:1}}

@media (prefers-reduced-motion: reduce){
  .ag-preloader{animation:ag-fade-out .25s ease .15s forwards}
  .ag-preloader *{animation:none !important;opacity:1 !important;width:auto !important;transform:none !important}
  @keyframes ag-fade-out{to{opacity:0;pointer-events:none}}
}

body.ag-loading{overflow:hidden}

/* ===== COOKIE CONSENT BANNER (Quebec Law 25 / GDPR friendly) ===== */
.ag-cookie{
  position:fixed;bottom:20px;left:20px;max-width:440px;z-index:9998;
  background:#0A0A0A;border:1px solid rgba(91,201,149,0.3);border-radius:14px;
  padding:20px 22px;color:#fff;
  box-shadow:0 16px 40px rgba(0,0,0,0.4),0 4px 10px rgba(0,0,0,0.2);
  transform:translateY(20px);opacity:0;pointer-events:none;
  transition:transform .4s cubic-bezier(.2,.9,.3,1.1),opacity .4s ease;
}
.ag-cookie.show{transform:translateY(0);opacity:1;pointer-events:auto}
.ag-cookie-title{font-size:14px;font-weight:700;color:#fff;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.ag-cookie-title svg{width:16px;height:16px;color:#5BC995;flex-shrink:0}
.ag-cookie-body{font-size:13px;line-height:1.55;color:rgba(255,255,255,0.75);margin:0 0 14px}
.ag-cookie-body a{color:#5BC995;text-decoration:underline;font-weight:600}
.ag-cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.ag-cookie-btn{
  padding:9px 16px;border-radius:999px;font-size:12.5px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all .18s ease;border:none;letter-spacing:-0.005em;
}
.ag-cookie-btn.primary{background:linear-gradient(135deg,#0F5C3C 0%,#1A7850 100%);color:#fff}
.ag-cookie-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,92,60,0.4)}
.ag-cookie-btn.ghost{background:transparent;color:rgba(255,255,255,0.75);border:1px solid rgba(255,255,255,0.15)}
.ag-cookie-btn.ghost:hover{color:#fff;border-color:rgba(255,255,255,0.3)}
@media (max-width:640px){
  .ag-cookie{left:12px;right:12px;max-width:none;bottom:12px}
}
