/**

 * Atticus Elementor Kit styles — flexbox containers, 1350px boxed width.

 * Edit all content in Elementor; these classes handle visual polish.

 */



:root {

  --atticus-content-width: 1350px;

}



/* Atticus custom section widgets — full width, theme CSS layout */
.elementor .atticus-section-widget-wrap,
.elementor .atticus-section-widget-wrap > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-widget[class*="atticus-"] {
  width: 100%;
}

/* Keep Atticus sections aligned with the 1350px header grid */
.elementor-widget[class*="atticus-"] .container {
  width: min(100% - (var(--site-outer-gutter, 0.75rem) * 2), var(--container, 1350px));
  max-width: var(--container, 1350px);
  margin-inline: auto;
  padding-inline: var(--site-inner-pad, 1.25rem);
  box-sizing: border-box;
}

.elementor-editor-active .atticus-reveal,
.elementor-editor-preview .atticus-reveal {
  opacity: 1 !important;
  transform: none !important;
}

.elementor-widget[class*="atticus-"] > .elementor-widget-container {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
}


.elementor-page .site-main,

.elementor-page .site-main--front {

  width: 100%;

  max-width: 100%;

}



.elementor-page .elementor,

.elementor-page .elementor > .e-con {

  width: 100%;

  max-width: 100%;

}



/* Single boxed wrapper per section (CSS, not nested Elementor boxed) */

.elementor .atticus-el-site-width {

  width: 100%;

  max-width: var(--atticus-content-width);

  margin-inline: auto;

}



.elementor .atticus-el-site-width > .e-con-inner {

  width: 100%;

  max-width: var(--atticus-content-width);

  margin-inline: auto;

  padding-inline: 20px;

}



.elementor .atticus-el-section > .e-con-inner,

.elementor .atticus-el-header-shell > .e-con-inner,

.elementor .atticus-el-footer-shell > .e-con-inner {

  width: 100%;

}



/* Force horizontal flex rows */

.elementor .e-con.atticus-el-row > .e-con-inner {

  display: flex !important;

  flex-direction: row !important;

  flex-wrap: wrap !important;

  align-items: stretch !important;

  width: 100%;

}



.elementor .atticus-el-row > .e-con.e-child {

  flex-grow: 0;

  flex-shrink: 0;

  min-width: 0;

}



/* Legacy Elementor sections (if used) */

.elementor-section.elementor-section-boxed > .elementor-container {

  max-width: var(--atticus-content-width);

}



/* Fixed glass header */

.atticus-elementor-header {

  position: fixed;

  top: 12px;

  left: 0;

  right: 0;

  z-index: 9999;

  padding: 0 12px;

  pointer-events: none;

}



.atticus-elementor-header .e-con,

.atticus-elementor-header .elementor-widget {

  pointer-events: auto;

}



.atticus-has-elementor-header .site-main--front,

.atticus-has-elementor-header .site-main {

  padding-top: 96px;

}



.atticus-has-elementor-header .site-header {

  display: none;

}



.elementor-page .text-glow,

.elementor-widget-heading .text-glow {

  color: var(--neon);

  text-shadow: 0 0 30px rgb(167 139 250 / 0.45);

}



.elementor-page,

.elementor-default {

  color: var(--ice);

}



.elementor-widget-heading .elementor-heading-title {

  font-family: var(--font-display, "Space Grotesk", sans-serif);

}



.elementor-widget-text-editor {

  font-family: var(--font-body, "Inter", sans-serif);

  color: var(--fog);

}



/* ── Hero ────────────────────────────────────────────── */

.atticus-hero-section {

  position: relative;

  overflow: hidden;

}



.atticus-hero-section::before {

  content: "";

  position: absolute;

  inset: 0;

  background:

    radial-gradient(ellipse 55% 70% at 85% 40%, rgb(124 58 237 / 0.28), transparent 70%),

    radial-gradient(ellipse 40% 50% at 10% 80%, rgb(52 211 153 / 0.08), transparent 60%),

    linear-gradient(180deg, #08060f 0%, #0d0a18 100%);

  pointer-events: none;

  z-index: 0;

}



.atticus-hero-section > .e-con-inner {

  position: relative;

  z-index: 1;

}



.atticus-hero-cards-row > .e-con-inner {

  display: flex !important;

  flex-direction: row !important;

  flex-wrap: nowrap !important;

  padding: 0 !important;

}



.atticus-hero-cards-row > .e-con-inner > .e-con {

  flex: 1 1 33.333%;

  border-right: 1px solid rgb(255 255 255 / 0.08);

}



.atticus-hero-cards-row > .e-con-inner > .e-con:last-child {

  border-right: none;

}



.atticus-glass-card {

  transition: background 0.3s ease;

}



.atticus-glass-card:hover {

  background: rgb(255 255 255 / 0.06) !important;

}



.atticus-el-eyebrow .elementor-heading-title {

  display: inline-block;

  padding: 0.35rem 1rem;

  border-radius: 999px;

  border: 1px solid rgb(167 139 250 / 0.25);

  background: rgb(124 58 237 / 0.08);

}



.atticus-header-logo .elementor-heading-title {
  letter-spacing: -0.02em;
}

/* ── Keyword ticker ──────────────────────────────────── */

.atticus-ticker-wrap {

  margin-top: 3rem;

  border-block: 1px solid rgb(39 32 68 / 0.6);

  padding-block: 1.25rem;

  overflow: hidden;

}



.atticus-keyword-ticker {

  display: flex;

  width: max-content;

  animation: atticus-marquee 40s linear infinite;

}



.atticus-keyword-ticker span {

  font-family: ui-monospace, monospace;

  font-size: 0.875rem;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  color: var(--fog);

  white-space: nowrap;

  padding-right: 2.5rem;

}



@keyframes atticus-marquee {

  from { transform: translateX(0); }

  to { transform: translateX(-50%); }

}



/* ── Buttons ─────────────────────────────────────────── */

.atticus-el-btn .elementor-button {

  transition: box-shadow 0.3s ease, transform 0.3s ease;

}



.atticus-el-btn .elementor-button:hover {

  box-shadow: 0 0 45px rgb(139 92 246 / 0.5) !important;

  transform: translateY(-1px);

}



.atticus-el-btn-ghost .elementor-button {

  background: transparent !important;

}



.atticus-el-chip .elementor-button {

  background: rgb(19 14 36 / 0.5) !important;

  border: 1px solid var(--edge) !important;

  color: var(--fog) !important;

  font-size: 0.875rem !important;

  padding: 0.75rem 1.25rem !important;

}



.atticus-el-chip .elementor-button:hover {

  border-color: rgb(167 139 250 / 0.4) !important;

  color: var(--ice) !important;

}



/* ── Icon cards & grids ──────────────────────────────── */

.atticus-el-icon-card .elementor-icon-box-icon {

  display: inline-grid;

  place-items: center;

  width: 3.5rem;

  height: 3.5rem;

  border-radius: 1rem;

  background: rgb(167 139 250 / 0.1);

  border: 1px solid rgb(167 139 250 / 0.2);

}



.atticus-glass-panel,

.atticus-glow-card,

.atticus-el-card-cell,

.atticus-training-card,

.atticus-portfolio-card,

.atticus-client-tile,

.atticus-testimonial-cell,

.atticus-csr-card,

.atticus-product-card,

.atticus-leadership-wrap {

  backdrop-filter: blur(12px);

  -webkit-backdrop-filter: blur(12px);

}



.atticus-glow-card,

.atticus-el-card-cell,

.atticus-training-card,

.atticus-portfolio-card,

.atticus-client-tile,

.atticus-testimonial-cell,

.atticus-csr-card,

.atticus-product-card {

  background: rgb(255 255 255 / 0.03);

  border: 1px solid rgb(255 255 255 / 0.08);

  border-radius: 1rem;

}



.atticus-client-tile {

  min-height: 8rem;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: transform 0.3s ease, border-color 0.3s ease;

}



.atticus-client-tile:hover {

  transform: translateY(-4px);

  border-color: rgb(167 139 250 / 0.4);

}



/* About bento: copy + stats side by side */

.atticus-about-bento > .e-con-inner > .e-con.atticus-el-row > .e-con-inner {

  display: flex !important;

  flex-direction: row !important;

  flex-wrap: wrap !important;

  gap: 2rem;

}



/* ── Services rows ───────────────────────────────────── */

.atticus-services-section .atticus-service-row-wrap:hover {

  background: linear-gradient(90deg, rgb(167 139 250 / 0.08), transparent);

}



.atticus-el-service-row .elementor-icon-box-wrapper {

  align-items: flex-start !important;

}



/* ── Stats ───────────────────────────────────────────── */

.atticus-stat-cell .elementor-counter-number-wrapper {

  font-family: var(--font-display, "Space Grotesk", sans-serif);

  font-weight: 700;

}



/* ── CTA ─────────────────────────────────────────────── */

.atticus-cta-section {

  position: relative;

  overflow: hidden;

}



.atticus-cta-section::before {

  content: "";

  position: absolute;

  inset: 0;

  background-image:

    linear-gradient(to right, rgb(139 92 246 / 0.07) 1px, transparent 1px),

    linear-gradient(to bottom, rgb(139 92 246 / 0.07) 1px, transparent 1px);

  background-size: 56px 56px;

  opacity: 0.35;

  pointer-events: none;

}



/* ── Header glass ────────────────────────────────────── */

.atticus-header-glass > .e-con-inner {

  display: flex !important;

  flex-direction: row !important;

  flex-wrap: nowrap !important;

  align-items: center !important;

}



.atticus-header-nav .elementor-icon-list-item a {

  font-size: 0.875rem;

  padding: 0.35rem 0.65rem;

}



.atticus-has-elementor-footer .site-footer {

  display: none;

}



/* ── Footer ──────────────────────────────────────────── */

.atticus-footer-section {

  border-top: 1px solid rgb(167 139 250 / 0.3);

}

/* Company menu — 2 columns (4 links each), tight gap */
.atticus-footer-section .elementor-icon-list-items,
.atticus-footer-links-cols .elementor-icon-list-items {
  display: grid !important;
  grid-template-columns: auto auto;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 0.75rem 4.25rem;
  width: max-content;
  max-width: 100%;
}

.atticus-footer-section .elementor-icon-list-item,
.atticus-footer-links-cols .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}



.atticus-footer-watermark .elementor-heading-title {

  line-height: 0.9;

  letter-spacing: -0.02em;

}



.atticus-status-dot::before {

  content: "";

  display: inline-block;

  width: 0.5rem;

  height: 0.5rem;

  border-radius: 50%;

  background: var(--mint);

  margin-right: 0.35rem;

  vertical-align: middle;

}



/* ── Page hero ───────────────────────────────────────── */

.atticus-page-hero {

  border-bottom: 1px solid var(--edge);

}



/* ── Icon list inline nav ────────────────────────────── */

.elementor-widget-icon-list .elementor-icon-list-item a {

  transition: color 0.3s ease;

}



.elementor-widget-icon-list .elementor-icon-list-item a:hover {

  color: var(--neon) !important;

}



.atticus-leadership-card .elementor-icon-box-icon {

  margin-bottom: 1rem;

}



/* ── Responsive ──────────────────────────────────────── */

@media (max-width: 1024px) {

  .atticus-hero-cards-row > .e-con-inner {

    flex-wrap: wrap !important;

  }



  .atticus-hero-cards-row > .e-con-inner > .e-con {

    flex: 1 1 100%;

    border-right: none !important;

    border-bottom: 1px solid rgb(255 255 255 / 0.08);

  }



  .atticus-hero-cards-row > .e-con-inner > .e-con:last-child {

    border-bottom: none;

  }



  .atticus-header-glass > .e-con-inner {

    flex-wrap: wrap !important;

  }



  .atticus-header-nav {

    display: none;

  }



  .atticus-el-row > .e-con.e-child {

    flex-basis: 100% !important;

    width: 100% !important;

  }

}



@media (max-width: 767px) {

  .atticus-el-site-width > .e-con-inner {

    padding-inline: 1rem;

  }

}


