/**

 * Fatone Consultings — premium UI ($10k corporate feel).

 */



:root {

  --fatone-primary: #1a5f63;

  --fatone-primary-dark: #0f4548;

  --fatone-primary-light: #2d8a90;

  --fatone-text: #141824;

  --fatone-muted: #5c6472;

  --fatone-bg-soft: #f7f5f2;

  --fatone-sand: #e8e0d5;

  --fatone-radius: 20px;

  --fatone-radius-sm: 12px;

  --fatone-shadow: 0 16px 48px rgba(20, 24, 36, 0.08);

  --fatone-shadow-lg: 0 24px 64px rgba(20, 24, 36, 0.12);

  --fatone-ease: cubic-bezier(0.22, 1, 0.36, 1);

  --fatone-header-h: 80px;

  --fatone-max: 1240px;

}



html {

  scroll-behavior: smooth;

}



body.fatone-premium {

  font-family: 'Inter', system-ui, sans-serif;

  color: var(--fatone-text);

  background: var(--fatone-bg-soft);

  -webkit-font-smoothing: antialiased;

  line-height: 1.65;

}



h1, h2, h3, h4, h5, h6,

.elementor-heading-title {

  font-family: 'Manrope', system-ui, sans-serif;

  letter-spacing: -0.03em;

  line-height: 1.15;

}



/* Hero flush section — no Elementor padding */
.fatone-section-flush,
.fatone-section-flush > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

.fatone-section-flush .elementor-widget-html {
  margin: 0;
}

/* ─── Premium Header ─── */

.fatone-site-header {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 9999;

  background: rgba(255, 255, 255, 0.88);

  backdrop-filter: blur(20px) saturate(1.45);

  -webkit-backdrop-filter: blur(20px) saturate(1.45);

  border-bottom: 1px solid rgba(20, 24, 36, 0.06);

  transition: background 0.4s var(--fatone-ease), box-shadow 0.4s var(--fatone-ease), border-color 0.4s var(--fatone-ease);

  overflow: visible;

}



body.fatone-has-3d-hero .fatone-site-header:not(.scrolled) {

  background: rgba(255, 255, 255, 0.92);

  backdrop-filter: blur(24px) saturate(1.55);

  -webkit-backdrop-filter: blur(24px) saturate(1.55);

  border-bottom: 1px solid rgba(20, 24, 36, 0.05);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    0 4px 24px rgba(20, 24, 36, 0.05);

}



.fatone-site-header.scrolled {

  background: rgba(255, 255, 255, 0.94) !important;

  box-shadow: 0 8px 32px rgba(20, 24, 36, 0.08);

  border-bottom-color: rgba(20, 24, 36, 0.06);

}



.fatone-header-inner {

  display: flex !important;

  align-items: center;

  justify-content: space-between;

  max-width: var(--fatone-max);

  margin: 0 auto;

  padding: 0 28px !important;

  min-height: var(--fatone-header-h);

  width: 100%;

  gap: 24px;

  flex-wrap: nowrap !important;

}



.fatone-branding .site-title a {

  display: inline-flex !important;

  align-items: center;

  gap: 12px;

  text-decoration: none !important;

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 1.15rem;

  color: var(--fatone-text) !important;

  letter-spacing: -0.02em;

}



.fatone-logo-mark {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 38px;

  height: 38px;

  border-radius: 11px;

  background: linear-gradient(135deg, var(--fatone-primary) 0%, var(--fatone-primary-light) 100%);

  color: #fff;

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 1rem;

  box-shadow: 0 6px 20px rgba(26, 95, 99, 0.35);

  flex-shrink: 0;

}



.fatone-branding .site-description {

  display: none !important;

}



.fatone-header-right {

  display: flex;

  align-items: center;

  gap: 8px;

}



.fatone-nav.site-navigation:not(.site-navigation-dropdown) .menu,

.fatone-nav.site-navigation:not(.site-navigation-dropdown) .fatone-nav-list {

  display: flex;

  align-items: center;

  gap: 4px;

  list-style: none;

  margin: 0;

  padding: 0;

}



.fatone-nav.site-navigation:not(.site-navigation-dropdown) .menu-item a {

  display: inline-block;

  padding: 10px 16px;

  font-size: 0.92rem;

  font-weight: 500;

  color: var(--fatone-text) !important;

  text-decoration: none !important;

  border-radius: 10px;

  transition: color 0.2s ease, background 0.2s ease;

  position: relative;

}



.fatone-nav.site-navigation:not(.site-navigation-dropdown) .menu-item a:hover,

.fatone-nav.site-navigation:not(.site-navigation-dropdown) .current-menu-item > a {

  color: var(--fatone-primary) !important;

  background: rgba(26, 95, 99, 0.08);

}



.fatone-header-cta {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  margin-left: 12px;

  padding: 11px 22px;

  background: var(--fatone-primary);

  color: #fff !important;

  font-weight: 600;

  font-size: 0.9rem;

  border-radius: var(--fatone-radius-sm);

  text-decoration: none !important;

  box-shadow: 0 8px 24px rgba(26, 95, 99, 0.28);

  transition: transform 0.25s var(--fatone-ease), box-shadow 0.25s var(--fatone-ease), background 0.2s ease;

  white-space: nowrap;

}



.fatone-header-cta:hover {

  background: var(--fatone-primary-dark);

  transform: translateY(-2px);

  box-shadow: 0 12px 32px rgba(26, 95, 99, 0.35);

}



.fatone-header-cta--mobile {

  display: none;

}



.fatone-menu-toggle {

  border: none;

  background: rgba(26, 95, 99, 0.1);

  border-radius: 10px;

  padding: 10px;

  color: var(--fatone-primary);

}



.fatone-site-header .site-navigation-toggle-holder {

  display: none;

}



.fatone-site-header .site-navigation-toggle-icon::before,

.fatone-site-header .site-navigation-toggle-icon::after {

  background-color: currentColor;

}



body.fatone-premium {

  padding-top: var(--fatone-header-h);

}



/* ─── Three.js Hero ─── */

.fatone-hero-3d {

  position: relative;

  min-height: calc(100vh - var(--fatone-header-h));

  min-height: calc(100dvh - var(--fatone-header-h));

  display: flex;

  flex-direction: column;

  justify-content: center;

  overflow: hidden;

  background:
    radial-gradient(ellipse 85% 65% at 82% 40%, rgba(26, 95, 99, 0.2) 0%, transparent 62%),
    radial-gradient(ellipse 60% 45% at 18% 84%, rgba(22, 40, 56, 0.28) 0%, transparent 55%),
    linear-gradient(160deg, #dde5e8 0%, #cfd9dd 48%, #c5d1d6 100%);

  margin-top: calc(-1 * var(--fatone-header-h));

  padding-top: var(--fatone-header-h);

}



.fatone-hero-3d.fatone-hero-static::after {

  content: '';

  position: absolute;

  right: 8%;

  top: 22%;

  width: 320px;

  height: 320px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(26, 95, 99, 0.15) 0%, transparent 70%);

  animation: fatone-pulse 4s ease-in-out infinite;

}



@keyframes fatone-pulse {

  0%, 100% { transform: scale(1); opacity: 0.7; }

  50% { transform: scale(1.08); opacity: 1; }

}



#fatone-hero-canvas {

  position: absolute;

  inset: 0;

  width: 100% !important;

  height: 100% !important;

  pointer-events: none;

  z-index: 1;

}



.fatone-hero-inner {

  position: relative;

  z-index: 2;

  max-width: var(--fatone-max);

  margin: 0 auto;

  padding: 60px 28px 40px;

  width: 100%;

  display: grid;

  grid-template-columns: 1fr;

  justify-items: center;

  text-align: center;

  gap: 24px;

}



.fatone-hero-copy {

  max-width: 720px;

  width: 100%;

}



.fatone-hero-visual-spacer {

  display: none;

}

.fatone-hero-3d::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 14, 24, 0.14) 0%, rgba(5, 14, 24, 0.3) 100%);
  pointer-events: none;
  z-index: 1;
}



.fatone-eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  font-size: 0.75rem;

  font-weight: 700;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--fatone-primary);

  margin-bottom: 1.25rem;

  padding: 6px 14px;

  background: rgba(26, 95, 99, 0.08);

  border-radius: 100px;

  border: 1px solid rgba(26, 95, 99, 0.12);

}



.fatone-eyebrow::before {

  content: '';

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background: var(--fatone-primary);

  animation: fatone-blink 2s ease infinite;

}



@keyframes fatone-blink {

  0%, 100% { opacity: 1; }

  50% { opacity: 0.3; }

}



.fatone-hero-inner h1 {

  font-size: clamp(2.4rem, 4.8vw, 3.75rem);

  line-height: 1.08;

  margin-bottom: 1.5rem;

  color: var(--fatone-text);

  font-weight: 800;

}



.fatone-hero-lead {

  font-size: clamp(1.02rem, 1.8vw, 1.18rem);

  line-height: 1.75;

  color: var(--fatone-muted);

  margin-bottom: 2.25rem;

}



.fatone-hero-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 14px;

}



.fatone-hero-stats {

  position: relative;

  z-index: 3;

  max-width: var(--fatone-max);

  margin: 0 auto;

  padding: 0 28px 48px;

  width: 100%;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 16px;

}



.fatone-stat {

  background: rgba(255, 255, 255, 0.75);

  backdrop-filter: blur(12px);

  border: 1px solid rgba(255, 255, 255, 0.9);

  border-radius: 16px;

  padding: 20px 24px;

  box-shadow: 0 8px 32px rgba(20, 24, 36, 0.06);

}



.fatone-stat strong {

  display: block;

  font-family: 'Manrope', sans-serif;

  font-size: 1.75rem;

  font-weight: 800;

  color: var(--fatone-primary);

  line-height: 1;

  margin-bottom: 6px;

}



.fatone-stat span {

  font-size: 0.88rem;

  color: var(--fatone-muted);

  font-weight: 500;

}



/* ─── Buttons ─── */

.fatone-btn,

.elementor-button,

.woocommerce a.button,

.woocommerce button.button {

  border-radius: var(--fatone-radius-sm) !important;

  font-weight: 600 !important;

  letter-spacing: 0.01em;

  transition: transform 0.25s var(--fatone-ease), box-shadow 0.25s var(--fatone-ease), background 0.25s ease !important;

}



.fatone-btn-primary,

.elementor-button.elementor-size-md,

.woocommerce a.button.alt {

  background: var(--fatone-primary) !important;

  color: #fff !important;

  border: none !important;

  padding: 15px 30px !important;

  box-shadow: 0 10px 28px rgba(26, 95, 99, 0.28);

}



.fatone-btn-primary:hover,

.elementor-button:hover {

  transform: translateY(-3px);

  background: var(--fatone-primary-dark) !important;

  box-shadow: 0 14px 36px rgba(26, 95, 99, 0.35);

}



.fatone-btn-secondary {

  display: inline-flex;

  align-items: center;

  padding: 13px 28px;

  border: 2px solid rgba(26, 95, 99, 0.35);

  color: var(--fatone-primary);

  border-radius: var(--fatone-radius-sm);

  font-weight: 600;

  text-decoration: none;

  background: rgba(255, 255, 255, 0.8);

  backdrop-filter: blur(8px);

}



.fatone-btn-secondary:hover {

  background: var(--fatone-primary);

  border-color: var(--fatone-primary);

  color: #fff;

  transform: translateY(-3px);

}



/* ─── Elementor sections ─── */

.elementor-page .e-con {

  --padding-block-start: 0;

  --padding-block-end: 0;

}



.elementor-widget-heading .elementor-heading-title {

  margin-bottom: 0.5em;

}



.elementor-page .e-con.e-parent > .e-con-inner {

  max-width: var(--fatone-max);

  gap: 24px;

}



.elementor-widget-heading h2.elementor-heading-title {

  font-size: clamp(1.75rem, 3vw, 2.35rem);

  font-weight: 800;

  text-align: center;

  margin-bottom: 1rem;

}



.elementor-widget-text-editor {

  max-width: 720px;

  margin-left: auto;

  margin-right: auto;

  color: var(--fatone-muted);

  font-size: 1.05rem;

  line-height: 1.75;

}



/* Card grid */

.e-con.fatone-glass-card {

  height: 100%;

}



.fatone-glass-card {

  background: rgba(255, 255, 255, 0.9) !important;

  backdrop-filter: blur(14px);

  border: 1px solid rgba(20, 24, 36, 0.06) !important;

  border-radius: var(--fatone-radius) !important;

  box-shadow: var(--fatone-shadow) !important;

  transition: transform 0.4s var(--fatone-ease), box-shadow 0.4s var(--fatone-ease);

}



.fatone-glass-card:hover {

  transform: translateY(-8px);

  box-shadow: var(--fatone-shadow-lg) !important;

}



.fatone-card-el .elementor-heading-title {

  font-size: 1.2rem !important;

  text-align: left !important;

  color: var(--fatone-text);

}



/* Scroll reveal handled in premium.css + scroll-reveal.js */

/* ─── Sections ─── */

.fatone-section-dark {

  background: linear-gradient(135deg, #1a5f63 0%, #0f4548 100%) !important;

  color: #fff;

  border-radius: 24px;

  margin: 0 auto;

  max-width: calc(var(--fatone-max) - 56px);

}



.fatone-section-dark .elementor-heading-title,

.fatone-section-dark p {

  color: #fff !important;

}



.fatone-section-dark p {

  opacity: 0.92;

}



/* ─── Inner page hero ─── */

.fatone-page-hero {

  padding: 72px 0 56px;

  background:

    radial-gradient(ellipse 60% 80% at 100% 0%, rgba(26, 95, 99, 0.07) 0%, transparent 50%),

    linear-gradient(180deg, #f7f5f2 0%, #fff 100%);

  border-bottom: 1px solid rgba(20, 24, 36, 0.05);

  margin-bottom: 0;

}



.fatone-page-hero h1 {

  font-size: clamp(2rem, 4vw, 3rem);

  font-weight: 800;

  margin-bottom: 0.85rem;

}



.fatone-page-hero p {

  color: var(--fatone-muted);

  font-size: 1.12rem;

  max-width: 62ch;

  line-height: 1.7;

}



/* ─── Premium Footer ─── */

.fatone-site-footer {

  background: linear-gradient(180deg, #0f4548 0%, #0a3235 100%);

  color: rgba(255, 255, 255, 0.85);

  margin-top: 80px;

  border-top: none;

}



.fatone-footer-inner {

  max-width: var(--fatone-max);

  margin: 0 auto;

  padding: 64px 28px 32px;

}



.fatone-footer-grid {

  display: grid;

  grid-template-columns: 1.4fr 1fr 1fr 1fr;

  gap: 40px;

  margin-bottom: 48px;

}



.fatone-footer-logo {

  display: flex;

  align-items: center;

  gap: 12px;

  font-family: 'Manrope', sans-serif;

  font-weight: 800;

  font-size: 1.1rem;

  color: #fff;

  margin-bottom: 16px;

}



.fatone-footer-brand p {

  font-size: 0.95rem;

  line-height: 1.7;

  color: rgba(255, 255, 255, 0.65);

  max-width: 32ch;

}



.fatone-footer-col h4 {

  font-family: 'Manrope', sans-serif;

  font-size: 0.8rem;

  font-weight: 700;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: rgba(255, 255, 255, 0.5);

  margin-bottom: 18px;

}



.fatone-footer-col ul {

  list-style: none;

  margin: 0;

  padding: 0;

}



.fatone-footer-col li {

  margin-bottom: 10px;

}



.fatone-footer-col a {

  color: rgba(255, 255, 255, 0.8);

  text-decoration: none;

  font-size: 0.92rem;

  transition: color 0.2s ease;

}



.fatone-footer-col a:hover {

  color: #fff;

}



.fatone-footer-cta {

  display: inline-flex;

  margin-top: 16px;

  padding: 10px 18px;

  background: rgba(255, 255, 255, 0.12);

  border: 1px solid rgba(255, 255, 255, 0.2);

  border-radius: 10px;

  color: #fff !important;

  font-size: 0.88rem;

  font-weight: 600;

  transition: background 0.2s ease;

}



.fatone-footer-cta:hover {

  background: rgba(255, 255, 255, 0.2);

}



.fatone-footer-bottom {

  padding-top: 28px;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

}



.fatone-footer-bottom p {

  margin: 0;

  font-size: 0.85rem;

  color: rgba(255, 255, 255, 0.45);

}



/* ─── WooCommerce ─── */

.woocommerce ul.products li.product {

  border-radius: var(--fatone-radius);

  box-shadow: var(--fatone-shadow);

  overflow: hidden;

  border: 1px solid rgba(20, 24, 36, 0.05);

  transition: transform 0.35s var(--fatone-ease), box-shadow 0.35s var(--fatone-ease);

}



.woocommerce ul.products li.product:hover {

  transform: translateY(-6px);

  box-shadow: var(--fatone-shadow-lg);

}



/* ─── Mobile ─── */

@media (max-width: 991px) {

  .fatone-branding {

    flex: 1 1 auto;

    min-width: 0;

  }



  .fatone-branding .site-description {

    display: none !important;

  }



  .fatone-header-right {

    flex: 0 0 auto;

    margin-left: auto;

  }



  .fatone-site-header .fatone-nav.site-navigation {

    display: none !important;

  }



  .fatone-site-header .site-navigation-toggle-holder {

    display: flex !important;

    padding: 0;

  }



  .fatone-site-header .fatone-menu-toggle {

    width: 44px;

    height: 44px;

    padding: 0;

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    position: relative;

    z-index: 2;

  }



  .fatone-mobile-nav-backdrop {

    position: fixed;

    inset: 0;

    background: rgba(8, 18, 26, 0.45);

    z-index: 9997;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: opacity 0.28s var(--fatone-ease), visibility 0.28s var(--fatone-ease);

  }



  .fatone-mobile-nav-backdrop:not([hidden]) {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

  }



  .fatone-site-header.fatone-mobile-nav-open {

    z-index: 10000;

  }



  .fatone-mobile-nav.site-navigation-dropdown {

    position: fixed;

    top: var(--fatone-header-h);

    left: 0;

    right: 0;

    bottom: 0;

    width: 100%;

    margin: 0;

    max-height: none !important;

    transform: none !important;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    overflow-y: auto;

    z-index: 9998;

    transition: opacity 0.28s var(--fatone-ease), visibility 0.28s var(--fatone-ease);

  }



  .fatone-mobile-nav.site-navigation-dropdown[aria-hidden="false"],

  body.fatone-menu-open .fatone-mobile-nav.site-navigation-dropdown {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    display: block !important;

  }



  .fatone-mobile-nav .menu,

  .fatone-mobile-nav .fatone-nav-list {

    display: flex;

    flex-direction: column;

    align-items: stretch;

    gap: 0;

    width: 100%;

    position: static !important;

    background: transparent;

    margin: 0;

    padding: 8px 0 0;

  }



  .fatone-mobile-nav .menu-item {

    display: block;

    width: 100%;

  }



  .fatone-mobile-nav .menu-item a {

    display: block;

    width: 100%;

    padding: 16px 22px;

    font-size: 1rem;

    font-weight: 600;

    color: var(--fatone-text) !important;

    background: transparent !important;

    box-shadow: none !important;

    border-radius: 0;

    border-bottom: 1px solid rgba(20, 24, 36, 0.06);

  }



  .fatone-mobile-nav .current-menu-item > a {

    color: var(--fatone-primary) !important;

    background: rgba(26, 95, 99, 0.08) !important;

  }



  .fatone-header-cta--mobile {

    display: inline-flex;

    margin: 20px 22px 28px;

    width: calc(100% - 44px);

    justify-content: center;

  }

}



@media (min-width: 992px) {

  .fatone-site-header .site-navigation-toggle-holder,

  .fatone-mobile-nav.site-navigation-dropdown,

  .fatone-mobile-nav-backdrop {

    display: none !important;

  }

}



@media (max-width: 1024px) {

  .fatone-footer-grid {

    grid-template-columns: 1fr 1fr;

    gap: 32px;

  }



  .fatone-hero-inner {

    grid-template-columns: 1fr;

    text-align: center;

    padding-top: 48px;

  }



  .fatone-hero-copy {

    max-width: none;

  }



  .fatone-hero-visual-spacer {

    display: none;

  }



  .fatone-hero-actions {

    justify-content: center;

  }

}



@media (max-width: 767px) {

  :root {

    --fatone-header-h: 68px;

  }



  .fatone-header-cta:not(.fatone-header-cta--mobile) {

    display: none;

  }



  .fatone-header-inner {

    padding: 0 18px !important;

  }



  .fatone-logo-text {

    font-size: 0.95rem;

  }



  .fatone-hero-stats {

    grid-template-columns: 1fr;

    padding-bottom: 32px;

  }



  .fatone-footer-grid {

    grid-template-columns: 1fr;

    gap: 28px;

  }



  .fatone-hero-3d {

    min-height: auto;

    padding-bottom: 20px;

  }



  .fatone-section-dark {

    max-width: calc(100% - 36px);

    border-radius: 18px;

  }

}


