/* CORTECH — SHARED STYLESHEET */
:root{
  --bg:#07070C;--bg2:#0C0C14;--bg3:#111119;
  --blue:#0094E0;--teal:#00D4AA;--cyan:#00C8FF;
  --text:#ECEAE6;--mid:rgba(236,234,230,.62);--dim:rgba(236,234,230,.35);
  --border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.1);
  --card:rgba(255,255,255,.03);--card2:rgba(255,255,255,.055);
  --radius:20px;--radius-sm:12px;--max:1160px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);
  overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.65;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-thumb{background:var(--blue);border-radius:4px;}
.container{max-width:var(--max);margin:0 auto;padding:0 4vw;}

/* SCROLL BAR */
.scroll-bar{position:fixed;top:0;left:0;height:2px;width:0%;
  background:linear-gradient(90deg,var(--blue),var(--teal));z-index:9999;transition:width .1s;}

/* NAVBAR */
header{position:fixed;top:1.2rem;left:50%;transform:translateX(-50%);z-index:999;
  width:auto;max-width:calc(100vw - 2rem);}
.nav{display:flex;align-items:center;background:rgba(7,7,15,.78);backdrop-filter:blur(28px) saturate(160%);
  border:1px solid var(--border2);border-radius:999px;padding:.52rem .52rem .52rem 1.4rem;
  white-space:nowrap;box-shadow:0 4px 32px rgba(0,0,0,.45);}
.nav-brand{font-family:'Bricolage Grotesque',sans-serif;font-size:.8rem;font-weight:700;
  letter-spacing:.04em;margin-right:1.2rem;display:flex;align-items:center;gap:.45rem;}
.nav-brand img{height:22px;}
.nav-links{display:flex;gap:.05rem;}
.nav-links a{font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dim);padding:.38rem .78rem;border-radius:999px;transition:all .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--card2);}
.nav-cta{margin-left:.55rem;padding:.5rem 1.3rem;background:var(--text);color:#07070C;
  font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-radius:999px;transition:all .3s;display:inline-block;}
.nav-cta:hover{background:var(--teal);}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:4px;
  margin-left:.7rem;background:none;border:none;}
.hamburger span{width:18px;height:1.5px;background:var(--text);border-radius:2px;transition:.3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px);}
.mobile-menu{display:none;position:fixed;inset:0;background:rgba(7,7,12,.97);
  backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;z-index:100;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1.1rem;font-weight:500;color:var(--mid);padding:.6rem 2rem;
  border-radius:999px;transition:all .2s;}
.mobile-menu a:hover{color:var(--text);background:var(--card2);}
.mobile-menu .nav-cta{margin-top:.5rem;}
@media(max-width:820px){.nav-links{display:none;}.hamburger{display:flex;}.nav-cta{display:none;}}

/* PAGE HERO */
.page-hero{padding:16vh 0 8vh;position:relative;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(0,148,224,.06),transparent 65%),
             radial-gradient(ellipse 50% 50% at 80% 30%,rgba(0,212,170,.04),transparent 65%);}
.page-hero-grid{position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(0,148,224,.022) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(0,148,224,.022) 1px,transparent 1px);
  background-size:65px 65px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 30% 40%,black 20%,transparent 70%);
  mask-image:radial-gradient(ellipse 70% 80% at 30% 40%,black 20%,transparent 70%);}
.page-hero-content{position:relative;z-index:2;}
.page-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.58rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-bottom:1.2rem;}
.page-eyebrow::before{content:'';width:20px;height:1px;background:var(--teal);}
.page-title{font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(2.4rem,5.5vw,5rem);font-weight:800;line-height:1.04;
  letter-spacing:-.028em;margin-bottom:1rem;}
.page-title .hl{background:linear-gradient(110deg,var(--teal),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.page-sub{font-size:1rem;color:var(--mid);line-height:1.72;max-width:480px;font-weight:300;}

/* TICKER */
.ticker{background:var(--bg2);padding:.82rem 0;overflow:hidden;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ticker-track{display:inline-flex;animation:tick 40s linear infinite;white-space:nowrap;}
.t-item{font-size:.6rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);padding:0 1.8rem;}
.t-dot{color:var(--teal);font-size:.4rem;display:inline-flex;align-items:center;}
@keyframes tick{to{transform:translateX(-50%);}}

/* SECTION */
section{padding:10vh 0;}
.tag{display:inline-flex;align-items:center;gap:.6rem;font-size:.58rem;font-weight:700;
  letter-spacing:.25em;text-transform:uppercase;color:var(--blue);margin-bottom:1.1rem;}
.tag::before{content:'';width:20px;height:1px;background:var(--blue);}
.big-title{font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(1.9rem,4vw,3.4rem);font-weight:800;letter-spacing:-.022em;line-height:1.08;}
.body-text{font-size:.95rem;color:var(--mid);line-height:1.75;font-weight:300;}

/* BUTTONS */
.btn-primary{padding:.82rem 2rem;background:var(--text);color:#07070C;font-size:.65rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;border-radius:999px;transition:all .3s;
  display:inline-block;border:none;cursor:pointer;}
.btn-primary:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,212,170,.18);}
.btn-ghost{padding:.82rem 2rem;background:rgba(255,255,255,.07);color:var(--mid);font-size:.65rem;
  font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;
  border:1px solid var(--border2);transition:all .3s;display:inline-block;cursor:pointer;}
.btn-ghost:hover{color:var(--text);border-color:rgba(255,255,255,.2);}
.btn-teal{padding:.82rem 2rem;background:var(--teal);color:#07070C;font-size:.65rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;border-radius:999px;transition:all .3s;
  display:inline-block;border:none;cursor:pointer;}
.btn-teal:hover{background:#00f0c0;transform:translateY(-2px);}
.btn-sm{padding:.5rem 1.2rem;font-size:.58rem;}

/* FORM */
.form-input{width:100%;padding:.82rem 1.1rem;background:rgba(255,255,255,.045);
  border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);
  font-family:'Inter',sans-serif;font-size:.88rem;outline:none;transition:border-color .25s;}
.form-input::placeholder{color:var(--dim);}
.form-input:focus{border-color:rgba(0,148,224,.4);background:rgba(255,255,255,.065);}
.form-input.ta{resize:none;min-height:110px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}
.form-label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);display:block;margin-bottom:.4rem;}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem;}
select.form-input option{background:#0C0C14;color:var(--text);}

/* FLASH */
.flash{padding:.8rem 1.2rem;border-radius:var(--radius-sm);font-size:.88rem;
  display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;}
.flash.success{background:rgba(0,212,170,.08);border:1px solid rgba(0,212,170,.2);color:#00D4AA;}
.flash.error{background:rgba(255,60,60,.08);border:1px solid rgba(255,60,60,.2);color:#ff6060;}
.flash.info{background:rgba(0,148,224,.08);border:1px solid rgba(0,148,224,.2);color:var(--cyan);}

/* BADGE */
.badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.58rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.badge-teal{background:rgba(0,212,170,.1);color:var(--teal);border:1px solid rgba(0,212,170,.2);}
.badge-blue{background:rgba(0,148,224,.1);color:var(--cyan);border:1px solid rgba(0,148,224,.2);}
.badge-dim{background:rgba(255,255,255,.05);color:var(--dim);border:1px solid var(--border);}
.badge-orange{background:rgba(255,160,0,.1);color:#FFA500;border:1px solid rgba(255,160,0,.2);}
.badge-red{background:rgba(255,60,60,.1);color:#ff6060;border:1px solid rgba(255,60,60,.2);}
.badge-green{background:rgba(0,212,100,.1);color:#00D464;border:1px solid rgba(0,212,100,.2);}

/* FOOTER */
footer{background:var(--bg2);border-top:1px solid var(--border);padding:0;}
.footer-inner{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;
  gap:3rem;padding:4rem 0 3rem;border-bottom:1px solid var(--border);}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:500px){.footer-inner{grid-template-columns:1fr;}}
.footer-brand{font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;
  font-weight:800;color:rgba(255,255,255,.14);margin-bottom:.7rem;}
.footer-desc{font-size:.82rem;line-height:1.7;color:var(--dim);font-weight:300;max-width:240px;}
.footer-col h4{font-size:.56rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:1.1rem;}
.footer-col a{display:block;font-size:.82rem;color:rgba(255,255,255,.28);padding:3px 0;transition:all .25s;font-weight:300;}
.footer-col a:hover{color:var(--text);transform:translateX(4px);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;
  padding:1.5rem 0;font-size:.68rem;color:var(--dim);flex-wrap:wrap;gap:.5rem;}
.footer-bottom a{color:var(--dim);transition:color .25s;}
.footer-bottom a:hover{color:var(--text);}

/* CHAT FAB */
.chat-fab{position:fixed;bottom:2rem;right:2rem;z-index:9000;width:58px;height:58px;
  border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));
  border:2px solid rgba(0,212,170,.35);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(0,148,224,.4);
  transition:transform .3s,box-shadow .3s;animation:fabPulse 2.8s ease infinite;}
@keyframes fabPulse{
  0%,100%{box-shadow:0 6px 24px rgba(0,148,224,.4),0 0 0 0 rgba(0,212,170,.35);}
  50%{box-shadow:0 6px 24px rgba(0,148,224,.4),0 0 0 10px rgba(0,212,170,.0);}
}
.chat-fab:hover{transform:scale(1.12);box-shadow:0 12px 36px rgba(0,212,170,.5);}
.chat-fab svg{width:28px;height:28px;fill:#fff;position:relative;z-index:1;}
.chat-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;
  border-radius:50%;background:var(--teal);border:2px solid var(--bg);
  animation:badgeBlink 2s ease infinite;}
@keyframes badgeBlink{0%,100%{opacity:1;}50%{opacity:.3;}}
.chat-popup{position:fixed;bottom:5.8rem;right:2rem;z-index:9000;width:320px;max-height:480px;
  background:rgba(10,10,18,.97);backdrop-filter:blur(28px);border:1px solid var(--border2);
  border-radius:20px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 20px 55px rgba(0,0,0,.7);
  transform:translateY(16px) scale(.95);opacity:0;pointer-events:none;
  transition:all .3s cubic-bezier(.34,1.56,.64,1);}
.chat-popup.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all;}
@media(max-width:440px){.chat-popup{width:calc(100vw - 2rem);right:1rem;}}
.popup-head{padding:1rem 1.2rem;display:flex;align-items:center;gap:.7rem;
  border-bottom:1px solid var(--border);flex-shrink:0;
  background:linear-gradient(135deg,rgba(0,148,224,.05),rgba(0,212,170,.03));}
.popup-avatar{width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.popup-head h4{font-family:'Bricolage Grotesque',sans-serif;font-size:.82rem;font-weight:700;}
.popup-status{font-size:.65rem;color:var(--dim);display:flex;align-items:center;gap:.35rem;margin-top:.1rem;}
.online-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);
  box-shadow:0 0 5px var(--teal);flex-shrink:0;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.2;}}
.popup-close{margin-left:auto;background:none;border:none;color:var(--dim);cursor:pointer;font-size:1rem;padding:.2rem;transition:color .2s;}
.popup-close:hover{color:var(--text);}
#popupMsgs{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;min-height:150px;}
#popupMsgs::-webkit-scrollbar{width:2px;}
#popupMsgs::-webkit-scrollbar-thumb{background:rgba(0,148,224,.2);border-radius:2px;}
.pmsg{max-width:88%;padding:.68rem .95rem;border-radius:.95rem;font-size:.84rem;line-height:1.54;animation:msgIn .22s ease;}
@keyframes msgIn{from{opacity:0;transform:translateY(5px);}to{opacity:1;}}
.pmsg.bot{background:var(--bg3);border:1px solid var(--border);border-radius:.95rem .95rem .95rem .15rem;align-self:flex-start;color:var(--mid);}
.pmsg.user{background:linear-gradient(135deg,var(--blue),rgba(0,148,224,.75));color:#fff;border-radius:.95rem .95rem .15rem .95rem;align-self:flex-end;}
.typing{display:flex;gap:4px;padding:.68rem .95rem;background:var(--bg3);border:1px solid var(--border);border-radius:.95rem .95rem .95rem .15rem;width:fit-content;align-self:flex-start;}
.typing span{width:5px;height:5px;border-radius:50%;background:var(--dim);animation:ty 1.2s ease infinite;}
.typing span:nth-child(2){animation-delay:.2s;}.typing span:nth-child(3){animation-delay:.4s;}
@keyframes ty{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-5px);}}
.popup-input{padding:.9rem 1rem;border-top:1px solid var(--border);display:flex;gap:.5rem;flex-shrink:0;}
.popup-input input{flex:1;padding:.6rem .95rem;background:var(--bg3);border:1px solid var(--border);border-radius:999px;color:var(--text);font-family:'Inter',sans-serif;font-size:.84rem;outline:none;transition:border-color .25s;}
.popup-input input:focus{border-color:rgba(0,148,224,.3);}
.popup-input input::placeholder{color:var(--dim);}
.psend{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;}
.psend:hover{transform:scale(1.1);}
.psend svg{width:14px;height:14px;fill:#000;}

/* SCROLL ANIM */
[data-a]{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1);}
[data-a].in{opacity:1;transform:none!important;}
[data-a="up"]{transform:translateY(40px);}
[data-a="left"]{transform:translateX(-40px);}
[data-a="right"]{transform:translateX(40px);}
[data-a="fade"]{transform:translateY(0);}
[data-d="1"]{transition-delay:.1s;}[data-d="2"]{transition-delay:.2s;}
[data-d="3"]{transition-delay:.3s;}[data-d="4"]{transition-delay:.4s;}
