/* Goolab UX audit v2 — systemic refinements across internal pages */
:root{
  --gx-navy:#0A0F1C;
  --gx-navy-2:#10182B;
  --gx-blue:#1B4DF4;
  --gx-blue-soft:#6E87FF;
  --gx-ink:#172033;
  --gx-soft:#667085;
  --gx-line:#E4E8F0;
  --gx-fog:#F6F7FA;
  --gx-off:#FCFCFB;
  --gx-display:"Sora",sans-serif;
  --gx-sans:"Inter",sans-serif;
  --gx-mono:"JetBrains Mono",monospace;
  --gx-container:min(1200px,calc(100% - clamp(3rem,10vw,10rem)));
  --gx-radius:1.2rem;
  --gx-ease:cubic-bezier(.22,.72,.18,1);
}

/* ---------- focus / accessibility ---------- */
.pillar-page a:focus-visible,.pillar-page button:focus-visible,.site-crm a:focus-visible,.site-crm button:focus-visible,.site-legal a:focus-visible,.site-legal button:focus-visible{outline:3px solid rgba(143,164,255,.65);outline-offset:3px}

/* ---------- shared header identity ---------- */
.pillar-page .pillar-header,
.pillar-page .pillar-header.scrolled,
.site-crm .header,
.site-crm .header.scrolled,
.site-legal .header,
.site-legal .header.scrolled{
  background:rgba(10,15,28,.965)!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.pillar-page .pillar-header-inner{height:4.75rem;width:var(--gx-container)}
.pillar-page .pillar-nav>a,
.pillar-page .marketing-mega-trigger,
.pillar-page .crm-mega-trigger,
.site-crm .nav>a,
.site-crm .marketing-mega-trigger,
.site-crm .crm-mega-trigger,
.site-legal .nav>a,
.site-legal .marketing-mega-trigger,
.site-legal .crm-mega-trigger{
  color:rgba(255,255,255,.68)!important;
  font-weight:650!important;
  transition:color .18s ease!important;
}
.pillar-page .pillar-nav>a:hover,
.pillar-page .marketing-mega-trigger:hover,
.pillar-page .crm-mega-trigger:hover,
.pillar-page .marketing-mega-trigger[aria-expanded="true"],
.pillar-page .crm-mega-trigger[aria-expanded="true"],
.site-crm .nav>a:hover,
.site-crm .marketing-mega-trigger:hover,
.site-crm .crm-mega-trigger:hover,
.site-crm .marketing-mega-trigger[aria-expanded="true"],
.site-crm .crm-mega-trigger[aria-expanded="true"],
.site-legal .nav>a:hover,
.site-legal .marketing-mega-trigger:hover,
.site-legal .crm-mega-trigger:hover{
  color:#fff!important;
}
.site-crm .header .btn-outline{color:#fff!important;border-color:rgba(255,255,255,.2)!important;background:rgba(255,255,255,.025)!important}
.site-crm .header .btn-outline:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.3)!important}
.site-crm .header .btn-primary{box-shadow:none!important}

/* ---------- pillar page rhythm ---------- */
.pillar-page{background:var(--gx-navy)!important}
.pillar-page .pillar-container{width:var(--gx-container)}
.pillar-page .pillar-hero{
  min-height:86vh;
  padding:9.5rem 0 5.75rem;
  background:
    radial-gradient(circle at 76% 26%,rgba(27,77,244,.20),transparent 34%),
    radial-gradient(circle at 18% 92%,rgba(110,135,255,.07),transparent 29%),
    var(--gx-navy);
}
.pillar-page .pillar-hero-grid{grid-template-columns:1.04fr .96fr;gap:clamp(3rem,6vw,5.5rem)}
.pillar-page .pillar-hero h1{
  max-width:12.5ch;
  margin-top:1rem;
  font-family:var(--gx-display);
  font-size:clamp(3rem,4.85vw,4.75rem);
  font-weight:700;
  line-height:1.015;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.pillar-page .pillar-lead{max-width:36rem;margin-top:1.35rem;font-size:1rem;line-height:1.72;color:#AFBBCD}
.pillar-page .pillar-eyebrow{font-size:.68rem;letter-spacing:.14em;color:#8FA4FF}
.pillar-page .pillar-hero-actions{margin-top:1.8rem;gap:.75rem}
.pillar-page .pillar-orbit{opacity:.7;animation:gxOrbitDrift 14s ease-in-out infinite alternate}
.pillar-page .pillar-orbit i{animation:gxPulse 3.6s ease-in-out infinite}
.pillar-page .pillar-orbit i:nth-child(2){animation-delay:.8s}.pillar-page .pillar-orbit i:nth-child(3){animation-delay:1.6s}

.pillar-page .pillar-hero-system{
  position:relative;
  gap:.72rem;
  padding:1.15rem;
  border-radius:1.5rem;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}
.pillar-page .pillar-system-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55}
.pillar-page .pillar-system-motion path{fill:none;stroke:rgba(143,164,255,.28);stroke-width:1;stroke-dasharray:4 7}
.pillar-page .pillar-system-motion circle{fill:#6e87ff;filter:drop-shadow(0 0 5px rgba(110,135,255,.6))}
.pillar-page .pillar-system-node{position:relative;z-index:1;padding:1.08rem 1.15rem;background:rgba(255,255,255,.055);transition:transform .22s var(--gx-ease),background .22s ease,border-color .22s ease}
.pillar-page .pillar-system-node:hover{transform:translateX(3px);background:rgba(255,255,255,.075);border-color:rgba(143,164,255,.22)}

.pillar-page .pillar-section{padding:clamp(5.75rem,8vw,7.25rem) 0}
.pillar-page .pillar-section-head{grid-template-columns:1fr .7fr;gap:clamp(2.5rem,5vw,4.5rem);margin-bottom:3.25rem}
.pillar-page .pillar-section-head h2,
.pillar-page .pillar-bridge h2{
  max-width:17ch;
  font-family:var(--gx-display);
  font-size:clamp(2.15rem,3.6vw,3.45rem);
  font-weight:700;
  line-height:1.065;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.pillar-page .pillar-section-head>p{max-width:31rem;font-size:.96rem;line-height:1.75}
.pillar-page .pillar-light{background:var(--gx-off)}
.pillar-page .pillar-fog{background:var(--gx-fog)}

.pillar-page .pillar-cap-grid{gap:1rem}
.pillar-page .pillar-cap{
  min-height:16rem;
  padding:1.85rem;
  border-radius:var(--gx-radius);
  box-shadow:0 1px 0 rgba(10,15,28,.02);
  transition:transform .22s var(--gx-ease),border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.pillar-page .pillar-cap:hover{transform:translateY(-3px);border-color:#D2DAF7;box-shadow:0 18px 42px rgba(10,20,45,.065)}
.pillar-page .pillar-cap-icon{width:2.7rem;height:2.7rem;border-radius:.78rem;background:#EEF2FF;color:var(--gx-blue);overflow:hidden}
.pillar-page .pillar-cap-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--gx-ease)}
.pillar-page .pillar-cap:hover .pillar-cap-icon svg{transform:translateY(-1px) scale(1.045)}
.pillar-page .pillar-cap h3{margin-top:3.1rem;font-size:1.05rem;line-height:1.24}
.pillar-page .pillar-cap p{margin-top:.72rem;font-size:.81rem;line-height:1.68}

.pillar-page .pillar-process{gap:1rem}
.pillar-page .pillar-process-step{min-height:16rem;padding:1.75rem;border-radius:var(--gx-radius);transition:transform .22s var(--gx-ease),background .22s ease,border-color .22s ease}
.pillar-page .pillar-process-step:hover{transform:translateY(-2px);background:rgba(255,255,255,.05);border-color:rgba(143,164,255,.2)}
.pillar-page .pillar-process-step h3{margin-top:4rem;font-size:1.04rem}
.pillar-page .pillar-process-step p{font-size:.79rem;line-height:1.68}

.pillar-page .pillar-bridge{gap:clamp(3rem,6vw,5rem)}
.pillar-page .pillar-bridge-flow{padding:2.25rem;border-radius:1.35rem;gap:.55rem;background:#F8F9FC}
.pillar-page .pillar-bridge-flow span{padding:.72rem .9rem;font-size:.73rem;transition:transform .2s var(--gx-ease),border-color .2s ease}
.pillar-page .pillar-bridge-flow span:hover{transform:translateY(-2px);border-color:#C9D3F7}
.pillar-page .pillar-fit-grid{gap:1rem}
.pillar-page .pillar-fit{padding:1.25rem 1.35rem;border-radius:1rem;font-size:.82rem;line-height:1.5}

.pillar-page .pillar-close{padding:clamp(6rem,9vw,8rem) 0}
.pillar-page .pillar-close h2{max-width:18ch;font-size:clamp(2.45rem,4.3vw,4.3rem);font-weight:700;line-height:1.025;letter-spacing:-.05em}
.pillar-page .pillar-close>div>p:not(.pillar-eyebrow){font-size:.98rem;line-height:1.75}

/* ---------- CTAs / motion ---------- */
.pillar-page .pillar-btn,
.site-crm .btn,
.site-home .btn,
.site-legal .header-cta{
  transition:transform .22s var(--gx-ease),box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease!important;
}
.pillar-page .pillar-btn:hover,
.site-crm .btn:hover,
.site-home .btn:hover,
.site-legal .header-cta:hover{transform:translateY(-2px)}
.pillar-page .pillar-btn-primary:hover,
.site-crm .btn-primary:hover,
.site-home .btn-primary:hover{box-shadow:0 16px 34px rgba(27,77,244,.26)}

/* ---------- cases ---------- */
.pillar-page .cases-hero{
  min-height:70vh;
  display:flex;
  align-items:center;
  padding:9.5rem 0 5.25rem;
  background:radial-gradient(circle at 76% 15%,rgba(27,77,244,.19),transparent 36%),var(--gx-navy);
}
.pillar-page .cases-hero h1{
  max-width:12ch;
  margin-top:1rem;
  font-family:var(--gx-display);
  font-size:clamp(3rem,4.85vw,4.75rem);
  font-weight:700;
  line-height:1.015;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.pillar-page .cases-hero>div>p:not(.pillar-eyebrow){max-width:39rem;margin-top:1.35rem;font-size:1rem;line-height:1.72;color:#AFBBCD}
.pillar-page .case-filters{margin-top:1.8rem;gap:.6rem}
.pillar-page .case-filters button{padding:.68rem .95rem;font-size:.78rem;transition:transform .18s var(--gx-ease),background .18s ease,border-color .18s ease,color .18s ease}
.pillar-page .case-filters button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.3);color:#fff}
.pillar-page .case-grid{gap:1rem}
.pillar-page .case-card{min-height:21rem;padding:2rem;border-radius:var(--gx-radius);position:relative;overflow:hidden;transition:transform .22s var(--gx-ease),border-color .22s ease,box-shadow .22s ease}
.pillar-page .case-card:before{content:"";position:absolute;width:9rem;height:9rem;border-radius:50%;right:-5rem;top:-5rem;background:radial-gradient(circle,rgba(27,77,244,.07),transparent 66%);pointer-events:none}
.pillar-page .case-card:hover{transform:translateY(-3px);border-color:#D2DAF7;box-shadow:0 18px 42px rgba(10,20,45,.065)}
.pillar-page .case-card h2{margin-top:3.7rem;max-width:22ch;font-size:1.35rem;line-height:1.22;letter-spacing:-.03em}
.pillar-page .case-card p{font-size:.83rem;line-height:1.72}
.pillar-page .case-note{margin-top:1.2rem;padding:1.8rem 2rem;border-radius:1.2rem}

/* ---------- CRM alignment with the institutional identity ---------- */
.site-crm .container{width:var(--gx-container)!important}
.site-crm .header-inner{height:4.75rem!important}
.site-crm .crm-product-subnav{top:4.75rem;background:rgba(10,15,28,.98)}
.site-crm .hero{min-height:90vh;padding:10.4rem 0 5.5rem!important}
.site-crm .hero-grid{grid-template-columns:.88fr 1.12fr;gap:clamp(3rem,6vw,5rem)}
.site-crm .hero h1{
  max-width:11.5ch;
  font-family:var(--gx-display)!important;
  font-size:clamp(3rem,4.85vw,4.75rem)!important;
  font-weight:700!important;
  line-height:1.015!important;
  letter-spacing:-.052em!important;
  text-wrap:balance;
}
.site-crm .hero-copy>p{max-width:34rem;font-size:1rem;line-height:1.72}
.site-crm .screen{border-radius:1.3rem;transform:none;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.site-crm .screen:hover{transform:translateY(-3px)}
.site-crm .journey{gap:1rem}.site-crm .journey-card{padding:1.85rem;min-height:19rem;border-radius:1.2rem}.site-crm .journey-card:hover{transform:translateY(-3px)}
.site-crm .journey-card h3{margin-top:3.4rem}
.site-crm .feature-tab{padding:1.2rem 1.25rem}.site-crm .security-card{padding:1.8rem}.site-crm .faq details{padding-left:.2rem;padding-right:.2rem}
.site-crm .section-head h2{font-family:var(--gx-display);font-size:clamp(2.15rem,3.6vw,3.45rem);font-weight:700;line-height:1.065;letter-spacing:-.045em}
.site-crm section{scroll-margin-top:7.75rem}

/* ---------- legal pages ---------- */
.site-legal .container{width:var(--gx-container)!important}
.site-legal .header-inner{height:4.75rem!important}
.site-legal .legal-hero{padding-top:9.5rem!important}
.site-legal .legal-hero h1{font-family:var(--gx-display)!important;font-size:clamp(3rem,4.85vw,4.75rem)!important;font-weight:700!important;line-height:1.015!important;letter-spacing:-.052em!important}
.site-legal .legal-document{padding-left:clamp(1rem,3vw,2.5rem)}

@keyframes gxOrbitDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-10px,12px,0)}}
@keyframes gxPulse{0%,100%{box-shadow:0 0 0 7px rgba(49,92,255,.06);opacity:.75}50%{box-shadow:0 0 0 11px rgba(49,92,255,.02);opacity:1}}

@media(max-width:1050px){
  :root{--gx-container:min(1180px,calc(100% - 3rem))}
  .pillar-page .pillar-hero h1,.pillar-page .cases-hero h1,.site-crm .hero h1{font-size:clamp(3rem,6.2vw,4.4rem)!important}
}
@media(max-width:760px){
  :root{--gx-container:calc(100% - 2.4rem)}
  .pillar-page .pillar-header-inner{width:var(--gx-container)}
  .pillar-page .pillar-hero{padding:8.25rem 0 4.75rem}
  .pillar-page .pillar-hero h1,.pillar-page .cases-hero h1,.site-crm .hero h1,.site-legal .legal-hero h1{font-size:clamp(2.55rem,11.6vw,3.7rem)!important;line-height:1.03!important;letter-spacing:-.045em!important}
  .pillar-page .pillar-hero-grid{gap:2.5rem}
  .pillar-page .pillar-section{padding:4.75rem 0}
  .pillar-page .pillar-section-head h2,.pillar-page .pillar-bridge h2,.site-crm .section-head h2{font-size:clamp(2rem,9vw,2.8rem)}
  .pillar-page .pillar-cap,.pillar-page .pillar-process-step,.pillar-page .case-card{padding:1.45rem}
  .pillar-page .pillar-cap h3{margin-top:2.25rem}.pillar-page .pillar-process-step h3{margin-top:2.8rem}
  .pillar-page .cases-hero{min-height:auto;padding:8.25rem 0 4.4rem}
  .site-crm .hero{min-height:auto;padding:8.8rem 0 4.75rem!important}
  .site-crm .hero-grid{gap:2.8rem}
  .site-legal .legal-document{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  .pillar-page .pillar-orbit,.pillar-page .pillar-orbit i{animation:none!important}
  .pillar-page .pillar-system-motion{display:none}
  .pillar-page .pillar-cap,.pillar-page .pillar-system-node,.pillar-page .pillar-process-step,.pillar-page .pillar-btn,.site-crm .btn{transition:none!important;transform:none!important}
}
