/* ============================================================
   NIVEDA INFOEDGE — v8 Sophisticated Edition
   Corporate elegant × Tech futuristic
   Fonts: Fraunces (display serif) · Plus Jakarta Sans (body) · JetBrains Mono (tech)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600;9..144,700;9..144,800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  color:#e8ecf3;background:#06080f;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  letter-spacing:-0.011em;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
::selection{background:rgba(212,168,71,.92);color:#06080f}

/* Refined scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#06080f}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1a2235,#0d1426);border-radius:8px;border:2px solid #06080f}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2a3550,#1a2235)}

/* ── DESIGN TOKENS ── */
:root{
  /* Brand — refined navy palette */
  --navy:        #06080f;
  --navy-2:      #0a0f1c;
  --navy-3:      #0d1426;
  --navy-4:      #131c33;
  --ink:         #06080f;
  --ink-mid:     #0a0f1c;

  /* Accent layer — corporate + tech */
  --sapphire:    #2c4a8a;
  --sapphire-dk: #1a2e5a;
  --electric:    #5ce1ff;
  --aurora:      #8b5cf6;

  /* Gold — primary brand accent */
  --gold:        #d4a847;   /* champagne gold — main CTA */
  --gold-bright: #e8c160;   /* hover/glow */
  --gold-deep:   #8a6420;   /* deep gold for text on light */
  --gold-dark:   #6b4d18;   /* deepest, for body text accents */
  --gold-lt:     #f3d57a;   /* light tint, dark surfaces only */
  --gold-pale:   #f7ecd0;   /* pale wash for surfaces */

  /* Legacy lime alias → now gold */
  --lime:        var(--gold);
  --lime-dark:   var(--gold-deep);

  /* Brand greens */
  --sage:        #7a9e8e;
  --sage-lt:     #a8c4b8;
  --sage-pale:   #eef5f2;
  --sage-deep:   #3d6b5a;
  --rose:        #d49b8a;

  /* Surfaces */
  --white:       #ffffff;
  --cream:       #faf6ee;
  --cream-dark:  #f0e8d4;
  --off-white:   #f5efe2;
  --paper:       #fcf8ee;

  /* Text on light surfaces */
  --text-dark:   #0a0f1c;
  --text-muted:  #5a6478;
  --muted:       #6b7280;
  --border:      #e6dec9;
  --border-dark: rgba(255,255,255,.08);
  --hairline:    rgba(255,255,255,.06);

  /* Radii */
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-pill: 9999px;

  /* Shadows — softer, more editorial */
  --s-xs: 0 1px 2px rgba(10,15,28,.04), 0 1px 3px rgba(10,15,28,.06);
  --s-sm: 0 2px 4px rgba(10,15,28,.05), 0 4px 12px rgba(10,15,28,.06);
  --s-md: 0 8px 24px rgba(10,15,28,.08), 0 2px 6px rgba(10,15,28,.04);
  --s-lg: 0 24px 56px rgba(10,15,28,.14), 0 4px 12px rgba(10,15,28,.06);
  --s-xl: 0 40px 88px rgba(10,15,28,.20), 0 8px 24px rgba(10,15,28,.10);
  --s-glow: 0 0 0 1px rgba(212,168,71,.16), 0 12px 40px rgba(212,168,71,.22);

  /* Motion */
  --ease:   cubic-bezier(.4,0,.2,1);
  --spring: cubic-bezier(.34,1.56,.64,1);
  --slow:   cubic-bezier(.16,1,.3,1);
  --t: .35s var(--ease);

  /* Aliases for legacy */
  --grey-200: #e5e7eb;
  --grey-400: #9ca3af;
  --grey-600: #6b7280;
  --radius-sm: var(--r-sm); --radius-md: var(--r-md); --radius-lg: var(--r-lg);
  --radius-xl: var(--r-xl); --radius-full: var(--r-pill);
  --shadow-sm: var(--s-sm); --shadow-md: var(--s-md); --shadow-lg: var(--s-lg); --shadow-xl: var(--s-xl);
}

/* ── LAYOUT ── */
.container{
  width:100%;max-width:1240px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,48px);
}
.section{padding:clamp(80px,11vw,140px) 0;position:relative}
.section-sm{padding:clamp(48px,7vw,80px) 0}

/* Section dividers — fine ornamental hairlines */
.section + .section::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:clamp(40px,8vw,80px);height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,196,120,.4),transparent);
}

/* ── TYPOGRAPHY ── */
.display-1{
  font-family:'Fraunces',serif;
  font-size:clamp(2.8rem,7vw,5.6rem);
  font-weight:500;line-height:.98;letter-spacing:-0.045em;
  font-variation-settings:"opsz" 144, "SOFT" 30;
}
.display-2{
  font-family:'Fraunces',serif;
  font-size:clamp(2.1rem,4.6vw,3.8rem);
  font-weight:500;line-height:1.04;letter-spacing:-0.035em;
  font-variation-settings:"opsz" 120;
}
.display-3{
  font-family:'Fraunces',serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:600;line-height:1.12;letter-spacing:-0.025em;
}

/* Hero & dark-section headlines: crisp white with refined weight & subtle glow */
.hero h1, .page-hero h1, .ind-section h2,
.cta-band h2, .cta-banner h2, .nl-band h2, .newsletter h2{
  text-shadow:0 1px 2px rgba(0,0,0,.4), 0 0 40px rgba(255,247,220,.06);
}

/* Italic accent for elegance — solid bright gold for punch */
.display-1 em, .display-2 em, .display-3 em, h1 em, h2 em, h3 em{
  font-style:italic;font-weight:400;
  font-variation-settings:"opsz" 144, "SOFT" 100;
  color:var(--gold-deep);
  /* Prevent italic glyph clipping: extra right padding + negative margin */
  display:inline-block;
  padding:0 .12em 0 .02em;
  margin:0 -.06em;
  position:relative;
}
/* On dark surfaces, brighten the italic with solid gold (no gradient — keeps glyphs crisp) */
.hero h1 em, .page-hero h1 em,
.ind-section h2 em, .cta-band h2 em, .cta-banner h2 em,
.nl-band h2 em, .newsletter h2 em,
.testi-card.hero-card em, .testi-card.featured em,
.vis-card.dark em, .price-card.pop em{
  color:var(--gold-bright);
  text-shadow:
    0 0 1px rgba(232,193,96,.4),
    0 0 24px rgba(232,193,96,.32),
    0 2px 8px rgba(212,168,71,.25);
}
/* On light surfaces, deeper rich gold */
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter) em{
  color:var(--gold-deep);
  text-shadow:0 1px 0 rgba(255,255,255,.5);
}

.label-sm, .eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-deep);
  display:inline-flex;align-items:center;gap:10px;
}
.label-sm::before, .eyebrow::before{
  content:'';width:18px;height:1px;background:currentColor;opacity:.6;
}

/* Eyebrow on dark sections — brighter gold for visibility */
.hero .label-sm, .hero .eyebrow,
.page-hero .label-sm, .page-hero .eyebrow,
.ind-section .label-sm, .ind-section .eyebrow,
.cta-band .label-sm, .cta-band .eyebrow,
.cta-banner .label-sm, .cta-banner .eyebrow,
.nl-band .label-sm, .nl-band .eyebrow,
.newsletter .label-sm, .newsletter .eyebrow,
.sh-dark .label-sm, .sh-dark .eyebrow{
  color:var(--gold-bright)!important;
}

p{line-height:1.78;color:var(--text-muted);font-size:.98rem;font-weight:400}
h1,h2,h3,h4,h5{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.02em}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 26px;border-radius:var(--r-pill);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.88rem;font-weight:600;
  letter-spacing:-0.005em;
  cursor:pointer;border:1.5px solid transparent;
  transition:transform .35s var(--spring), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), box-shadow .35s var(--ease);
  white-space:nowrap;position:relative;overflow:hidden;
}
.btn svg{width:16px;height:16px;transition:transform .35s var(--spring);flex-shrink:0}
.btn:hover svg{transform:translateX(5px)}

.btn-lime{
  background:linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  color:#1a1208;border-color:var(--gold);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 12px 28px -8px rgba(212,168,71,.55);
  font-weight:700;
}
.btn-lime::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);
  transform:translateX(-100%);transition:transform .9s var(--ease);
}
.btn-lime:hover::before{transform:translateX(100%)}
.btn-lime:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 18px 40px -10px rgba(232,193,96,.7)}

.btn-white{background:#fff;color:var(--ink);border-color:#fff}
.btn-white:hover{background:var(--off-white);transform:translateY(-2px);box-shadow:var(--s-md)}

.btn-outline-white{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);transform:translateY(-2px)}

.btn-outline{background:transparent;color:var(--ink);border-color:rgba(10,15,28,.18)}
.btn-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}

.btn-navy, .btn-ink{
  background:var(--ink);color:#fff;border-color:var(--ink);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 8px 24px -10px rgba(0,0,0,.5);
}
.btn-navy:hover, .btn-ink:hover{background:var(--navy-3);transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 14px 36px -10px rgba(0,0,0,.7)}

.btn-sage{background:var(--sage);color:#fff;border-color:var(--sage)}
.btn-sage:hover{background:var(--sage-deep);transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(122,158,142,.5)}

.btn-outline-sage{background:transparent;color:var(--sage);border-color:var(--sage)}
.btn-outline-sage:hover{background:var(--sage);color:#fff;transform:translateY(-2px)}

/* ── PAGE TRANSITION ── */
#pt{position:fixed;inset:0;background:var(--ink);z-index:9999;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
#pt.out{opacity:.92;pointer-events:all}

/* ── NAVBAR ── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background .5s var(--slow), box-shadow .5s, padding .35s var(--ease);
  padding:6px 0;
}
.navbar.scrolled{
  background:rgba(6,8,15,.78);
  backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.05), 0 8px 32px rgba(0,0,0,.35);
  padding:0;
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}

.logo{display:flex;align-items:center;gap:12px;text-decoration:none;position:relative}
.logo-img{
  width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.1), 0 8px 24px -8px rgba(212,168,71,.4);
}
.logo-fallback{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
  display:flex;align-items:center;justify-content:center;
  color:#1a1208;font-weight:700;font-size:.82rem;flex-shrink:0;
  font-family:'Fraunces',serif;
}
.logo-text{
  font-family:'Fraunces',serif;font-size:1.18rem;font-weight:500;
  color:#fff;letter-spacing:-.025em;
  font-variation-settings:"opsz" 60;
}
.logo-text span{color:var(--gold-bright);font-style:italic;font-weight:400}

.nav-links{display:flex;align-items:center;gap:4px}
.nav-link{
  padding:9px 14px;font-size:.86rem;font-weight:500;
  color:rgba(232,236,243,.7);border-radius:var(--r-sm);
  transition:var(--t);text-decoration:none;cursor:pointer;
  display:flex;align-items:center;gap:5px;letter-spacing:-.005em;
  position:relative;
}
.nav-link::after{
  content:'';position:absolute;bottom:4px;left:14px;right:14px;height:1px;
  background:var(--gold-bright);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav-link:hover, .nav-link.active{color:#fff}
.nav-link:hover::after, .nav-link.active::after{transform:scaleX(1)}
.nav-link svg{width:12px;height:12px;transition:transform .3s;flex-shrink:0;opacity:.7}
.nav-item:hover .nav-link svg{transform:rotate(180deg);opacity:1}
.nav-item{position:relative}
/* Keep hover state alive over the small gap to mega-menu */
.nav-item:has(.mega-menu){padding-bottom:0}
.nav-item:has(.mega-menu) > .nav-link{padding-bottom:14px;margin-bottom:-14px}

/* Mega menu */
.mega-menu{
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%) translateY(8px);
  background:var(--paper);border-radius:var(--r-lg);
  box-shadow:0 30px 80px rgba(0,0,0,.35), 0 0 0 1px rgba(0,0,0,.04);
  padding:24px;width:600px;
  opacity:0;pointer-events:none;
  transition:opacity .25s, transform .25s;
}
/* Invisible bridge keeps hover alive while moving cursor onto menu */
.mega-menu::after{
  content:'';position:absolute;top:-14px;left:0;right:0;height:14px;
}
.mega-menu::before{
  content:'';position:absolute;top:-6px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--paper);
}
.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu,
.mega-menu:hover{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mega-item{
  display:flex;align-items:flex-start;gap:13px;
  padding:14px;border-radius:var(--r-md);
  transition:var(--t);text-decoration:none;
}
.mega-item:hover{background:var(--off-white)}
.mega-icon{
  width:38px;height:38px;border-radius:var(--r-sm);
  background:var(--cream-dark);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:var(--t);
}
.mega-item:hover .mega-icon{background:var(--ink);color:var(--lime)}
.mega-item h4{font-family:'Fraunces',serif;font-size:.95rem;font-weight:600;color:var(--ink);margin-bottom:3px;letter-spacing:-.015em}
.mega-item p{font-size:.76rem;color:var(--muted);line-height:1.45;margin:0}
.mega-footer{
  margin-top:18px;padding-top:18px;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.mega-cta-btn{
  background:var(--ink);color:var(--lime);padding:9px 18px;
  border-radius:var(--r-pill);font-size:.78rem;font-weight:700;
  transition:var(--t);text-decoration:none;letter-spacing:.02em;
}
.mega-cta-btn:hover{background:var(--lime);color:var(--ink);transform:translateY(-1px)}

/* Hamburger */
.hamburger{
  display:none;flex-direction:column;gap:5px;cursor:pointer;
  padding:10px;border-radius:var(--r-sm);background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);transition:var(--t);
}
.hamburger span{
  display:block;width:18px;height:1.5px;background:#fff;
  border-radius:2px;transition:var(--t);
}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{
  position:fixed;top:68px;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,#06080f 0%,#0a0f1c 100%);z-index:998;
  padding:32px 24px;overflow-y:auto;
  transform:translateX(100%);
  transition:transform .42s var(--slow);
}
.mobile-menu.open{transform:translateX(0)}
.mob-link{
  display:block;color:rgba(255,255,255,.82);font-size:1.05rem;
  font-weight:500;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);
  transition:color .25s;text-decoration:none;font-family:'Fraunces',serif;letter-spacing:-.015em;
}
.mob-link:hover{color:var(--gold-bright)}
.mob-sub{padding:8px 0 0 16px}
.mob-sub-link{display:block;color:rgba(255,255,255,.5);font-size:.9rem;padding:9px 0;text-decoration:none;transition:color .25s}
.mob-sub-link:hover{color:var(--gold-bright)}
.mob-cta{margin-top:28px}

/* ============================================================
   HERO — Cinematic Parallax (Sophistication Edition)
   ============================================================ */
.hero{
  position:relative;overflow:hidden;
  background:#06080f;
  padding:clamp(120px,14vw,160px) 0 clamp(80px,9vw,120px);
  min-height:100vh;display:flex;align-items:center;
  isolation:isolate;
}

/* Layer 1 — base nebula gradient with gold/amber warmth */
.hero-bg{
  position:absolute;inset:-10%;
  background:
    radial-gradient(ellipse 70% 55% at 70% 25%, rgba(212,168,71,.22) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 30% 70%, rgba(44,74,138,.22) 0%, transparent 55%),
    radial-gradient(ellipse 40% 35% at 85% 80%, rgba(232,193,96,.10) 0%, transparent 55%),
    linear-gradient(180deg, #06080f 0%, #0a0f1c 45%, #0d1426 100%);
  z-index:-3;
  animation:nebulaShift 22s ease-in-out infinite alternate;
}
@keyframes nebulaShift{
  0%   {transform:translate3d(0,0,0) scale(1)}
  50%  {transform:translate3d(-1.5%, 1%, 0) scale(1.04)}
  100% {transform:translate3d(1.5%, -1%, 0) scale(1)}
}

/* Layer 2 — fine grid overlay */
.hero::before{
  content:'';position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 90%);
  opacity:.7;
}

/* Layer 3 — aurora glow */
.hero::after{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle 600px at 80% 20%, rgba(232,193,96,.10), transparent 60%),
    radial-gradient(circle 400px at 15% 70%, rgba(212,168,71,.08), transparent 70%);
  animation:auroraFlow 18s ease-in-out infinite alternate;
}
@keyframes auroraFlow{
  0%{opacity:.5;transform:translateY(0)}
  100%{opacity:1;transform:translateY(-2%)}
}

/* Noise texture */
.hero-noise{
  position:absolute;inset:0;opacity:.04;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px;
}

/* Floating decorative orbs */
.hero-orb{
  position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;
  will-change:transform;
}
.hero-orb-1{width:420px;height:420px;background:radial-gradient(circle,rgba(212,168,71,.32),rgba(212,168,71,.08) 60%,transparent);top:-100px;right:-100px;animation:orbFloat1 14s ease-in-out infinite alternate}
.hero-orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(232,193,96,.18),rgba(232,193,96,.04) 60%,transparent);bottom:-80px;left:-60px;animation:orbFloat2 18s ease-in-out infinite alternate-reverse}
.hero-orb-3{width:240px;height:240px;background:radial-gradient(circle,rgba(44,74,138,.22),rgba(44,74,138,.04) 60%,transparent);top:40%;left:50%;animation:orbFloat3 16s ease-in-out infinite alternate}
@keyframes orbFloat1{0%{transform:translate(0,0)}100%{transform:translate(-30px,40px)}}
@keyframes orbFloat2{0%{transform:translate(0,0)}100%{transform:translate(40px,-30px)}}
@keyframes orbFloat3{0%{transform:translate(-50%,-50%)}100%{transform:translate(-30%,-60%)}}

.hero-inner{position:relative;z-index:3;width:100%}
.hero-layout{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(40px,5vw,80px);
  align-items:center;
}
.hero-left{max-width:600px;position:relative}

/* Editorial corner ornament */
.hero-left::before{
  content:'';position:absolute;top:-30px;left:-20px;
  width:60px;height:60px;
  border-top:1px solid rgba(212,168,71,.55);
  border-left:1px solid rgba(212,168,71,.55);
  pointer-events:none;
}

.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg, rgba(232,193,96,.10), rgba(212,168,71,.06));
  border:1px solid rgba(212,168,71,.28);
  color:var(--gold-bright);padding:8px 18px 8px 14px;border-radius:var(--r-pill);
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:32px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 0 0 1px rgba(212,168,71,.06) inset, 0 8px 32px -12px rgba(212,168,71,.4);
}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 14px var(--gold);animation:bd 2.4s infinite}
@keyframes bd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.7)}}

/* ── HERO ENTRANCE — CSS-driven cinematic reveal ── */
@keyframes hero-rise{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-fade{from{opacity:0}to{opacity:1}}
@keyframes hero-slide-right{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@keyframes hero-mockup-in{
  from{opacity:0;transform:translateX(80px) translateY(20px) scale(.92) rotateY(-8deg)}
  to{opacity:1;transform:translateX(0) translateY(0) scale(1) rotateY(0)}
}
@keyframes badge-glow{
  0%,100%{box-shadow:0 0 0 1px rgba(212,168,71,.06) inset, 0 8px 32px -12px rgba(212,168,71,.4)}
  50%{box-shadow:0 0 0 1px rgba(212,168,71,.18) inset, 0 12px 40px -12px rgba(212,168,71,.7)}
}
@keyframes title-shimmer{
  0%   {background-position:0% 50%}
  100% {background-position:200% 50%}
}
@keyframes ornament-draw{
  from{opacity:0;clip-path:inset(0 100% 100% 0)}
  to  {opacity:1;clip-path:inset(0 0 0 0)}
}

.hero-badge{opacity:0;animation:hero-rise .8s .2s var(--slow) forwards, badge-glow 4s 1.6s ease-in-out infinite}
.hero h1{opacity:0;animation:hero-rise 1.1s .35s var(--slow) forwards}
.hero-desc{opacity:0;animation:hero-rise .9s .7s var(--slow) forwards}
.hero-cta-row{opacity:0;animation:hero-rise .8s .9s var(--slow) forwards}
.hero-link{opacity:0;animation:hero-slide-right .7s 1.1s var(--slow) forwards}
.hero-stats > div{opacity:0;animation:hero-rise .7s var(--slow) forwards}
.hero-stats > div:nth-child(1){animation-delay:1.25s}
.hero-stats > div:nth-child(2){animation-delay:1.38s}
.hero-stats > div:nth-child(3){animation-delay:1.51s}
.hero-stats > div:nth-child(4){animation-delay:1.64s}
.hero-mockup{opacity:0;animation:hero-mockup-in 1.3s .55s var(--slow) forwards}
.hero-left::before{opacity:0;animation:ornament-draw .9s .15s var(--slow) forwards}

/* Animated gradient italic em REMOVED — was causing letter-clipping.
   Solid gold + glow used instead for crisp glyphs. */

.hero h1{color:#fff;margin-bottom:24px;position:relative}
.hero h1 .hi-line{display:block;overflow:hidden}
.hero h1 .hi-word{display:inline-block;will-change:transform}

.hero-desc{font-size:1.08rem;color:rgba(232,236,243,.68);margin-bottom:40px;line-height:1.78;max-width:500px;font-weight:400}

/* CTA row — refined glass pill */
.hero-cta-row{
  display:flex;gap:0;margin-bottom:18px;
  background:rgba(255,255,255,.96);
  border-radius:var(--r-pill);
  padding:6px 6px 6px 22px;
  box-shadow:0 0 0 1px rgba(255,255,255,.1) inset, 0 24px 48px -12px rgba(212,168,71,.28), 0 8px 24px rgba(0,0,0,.4);
  max-width:520px;
  transition:transform .35s var(--spring), box-shadow .35s;
}
.hero-cta-row:focus-within{
  transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(212,168,71,.6) inset, 0 32px 64px -12px rgba(212,168,71,.42), 0 8px 24px rgba(0,0,0,.4);
}
.hero-cta-row input{
  flex:1;border:none;outline:none;background:transparent;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.94rem;color:var(--ink);
  min-width:0;letter-spacing:-.005em;
}
.hero-cta-row input::placeholder{color:#9aa1ad}
.hero-cta-row .btn-lime{flex-shrink:0;padding:12px 26px;font-size:.86rem}

.hero-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.9rem;color:rgba(232,236,243,.55);font-weight:500;
  transition:color .25s;text-decoration:none;
  font-family:'JetBrains Mono',monospace;letter-spacing:.02em;
}
.hero-link:hover{color:var(--gold-bright)}
.hero-link svg{width:14px;height:14px;transition:transform .3s}
.hero-link:hover svg{transform:translateX(5px)}

/* Right side product mockup — cinematic */
.vis-card.dark{background:linear-gradient(155deg,var(--ink) 0%,var(--navy-2) 100%);border-color:transparent;grid-column:span 2;color:#fff;border:1px solid rgba(255,255,255,.06)}
.vis-card.dark::before{background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.8}
.hero-right{position:relative;perspective:1600px}
.hero-mockup{
  position:relative;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-xl);
  overflow:visible;
  padding:18px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 60px 120px -30px rgba(0,0,0,.7),
    0 30px 60px -20px rgba(59,108,242,.25);
  transform-style:preserve-3d;
  will-change:transform;
}

/* Subtle border-glow */
.hero-mockup::before{
  content:'';position:absolute;inset:-1px;border-radius:var(--r-xl);
  background:linear-gradient(135deg,rgba(212,168,71,.55),transparent 30%,transparent 70%,rgba(44,74,138,.45));
  z-index:-1;opacity:.6;
  filter:blur(10px);
}

.hero-screen{
  background:#fbfaf6;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
  position:relative;
}
.screen-bar{
  background:#f1ede4;padding:11px 18px;
  display:flex;align-items:center;gap:8px;border-bottom:1px solid #e7e2d6;
}
.screen-dot{width:11px;height:11px;border-radius:50%}
.screen-content{padding:22px 26px}
.screen-title{font-family:'Fraunces',serif;font-size:1.18rem;font-weight:600;color:var(--ink);margin-bottom:6px;letter-spacing:-.02em}
.screen-sub{font-size:.74rem;color:var(--muted);margin-bottom:18px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.screen-stat-row{display:flex;gap:12px;margin-bottom:16px}
.screen-stat{
  flex:1;background:#fff;border-radius:var(--r-md);
  padding:13px 14px;border:1px solid #e7e2d6;
  position:relative;overflow:hidden;
}
.screen-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-bright),var(--gold));opacity:.7}
.screen-stat-val{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1}
.screen-stat-lbl{font-size:.66rem;color:var(--muted);margin-top:4px;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.screen-chart{
  height:90px;background:linear-gradient(135deg,rgba(212,168,71,.12),rgba(232,193,96,.06));
  border-radius:var(--r-md);position:relative;overflow:hidden;
  display:flex;align-items:flex-end;gap:5px;padding:0 10px 8px;
  border:1px solid rgba(212,168,71,.18);
}
.chart-bar{
  flex:1;border-radius:3px 3px 0 0;
  background:linear-gradient(to top,var(--gold),rgba(212,168,71,.35));
  min-height:8px;
  transition: height 0.7s cubic-bezier(.34,1.56,.64,1), opacity 0.3s;
}
.chart-bar:nth-child(odd){background:linear-gradient(to top,var(--gold-deep),rgba(138,100,32,.4))}
.chart-bar:nth-child(even){background:linear-gradient(to top,var(--gold-bright),rgba(232,193,96,.35))}

/* Floating mockup badge */
.mockup-badge{
  position:absolute;bottom:-22px;right:-22px;
  background:#fff;border-radius:var(--r-lg);
  padding:16px 22px;box-shadow:0 24px 48px -12px rgba(0,0,0,.4), 0 0 0 1px rgba(0,0,0,.04);
  white-space:nowrap;
  transform:translateZ(40px);
}
.mockup-badge-val{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1}
.mockup-badge-lbl{font-size:.7rem;color:var(--muted);margin-top:3px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}

/* Floating logo card top-left */
.mockup-tag{
  position:absolute;top:-18px;left:-18px;
  background:var(--ink);color:#fff;border-radius:var(--r-md);
  padding:10px 16px;display:flex;align-items:center;gap:10px;
  box-shadow:0 16px 32px -8px rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.08);
  transform:translateZ(50px);
  font-size:.78rem;font-weight:600;
}
.mockup-tag-dot{width:8px;height:8px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 10px var(--gold)}

/* Stats strip under hero */
.hero-stats{
  display:flex;gap:clamp(28px,5vw,72px);
  padding-top:36px;border-top:1px solid rgba(255,255,255,.07);
  margin-top:48px;flex-wrap:wrap;
}
.hero-stat-num{
  font-family:'Fraunces',serif;font-size:1.95rem;font-weight:600;
  background:linear-gradient(135deg, #fff 0%, var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#fff;line-height:1;letter-spacing:-.025em;
}
.hero-stat-lbl{
  font-size:.7rem;color:rgba(232,236,243,.42);margin-top:6px;
  text-transform:uppercase;letter-spacing:.16em;font-weight:500;
  font-family:'JetBrains Mono',monospace;
}

/* ── MARQUEE ── */
.marquee-wrap{
  background:rgba(255,255,255,.025);
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:18px 0;overflow:hidden;position:relative;
}
.marquee-wrap::before,.marquee-wrap::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}
.marquee-track{display:flex;gap:0;animation:mq 40s linear infinite;width:max-content}
.marquee-track:hover{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-item{
  display:flex;align-items:center;gap:10px;padding:0 32px;
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;font-weight:500;color:rgba(255,255,255,.45);
  white-space:nowrap;letter-spacing:.04em;
}
.mq-item + .mq-item{border-left:1px solid rgba(255,255,255,.06)}

/* ── SECTION HEADER ── */
.sh, .section-header{margin-bottom:clamp(48px,7vw,72px)}
.sh.center, .section-header.center{text-align:center}
.sh.center p, .section-header.center p{margin:0 auto}
.sh h2, .section-header h2{color:var(--ink);margin:14px 0 16px;max-width:800px}
.sh.center h2, .section-header.center h2{margin-left:auto;margin-right:auto}
.sh p, .section-header p{max-width:540px;color:var(--muted);font-size:1.02rem}
.sh-dark h2{color:#fff}
.sh-dark p{color:rgba(255,255,255,.55)}
.sh-dark .label-sm, .sh-dark .eyebrow{color:var(--lime)}

/* ── LIGHT SECTIONS — cream/paper ── */
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter){
  background:var(--cream);
  color:var(--ink);
}
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter) p{color:var(--text-muted)}
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter) h2,
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter) h3,
.section:not(.hero):not(.ind-section):not(.cta-band):not(.nl-band):not(.cta-banner):not(.newsletter) h4{color:var(--ink)}

/* Alternate section background */
.services-section{background:var(--paper)!important}

/* ── FLIP CARDS — sophisticated ── */
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,24px)}
.flip-card{
  height:clamp(280px,32vw,340px);
  perspective:1600px;cursor:pointer;
  opacity:0;
  transform:translateY(40px) rotateX(-8deg);
  transition:opacity .7s var(--slow),transform .7s var(--slow);
}
.flip-card.in-view{opacity:1;transform:translateY(0) rotateX(0)}
.flip-card:nth-child(1){transition-delay:.05s}
.flip-card:nth-child(2){transition-delay:.18s}
.flip-card:nth-child(3){transition-delay:.31s}

.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.4,.2,.2,1)}
.flip-card:hover .flip-inner, .flip-card.flipped .flip-inner{transform:rotateY(180deg)}

.flip-front,.flip-back{
  position:absolute;inset:0;border-radius:var(--r-lg);
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;flex-direction:column;
  padding:clamp(22px,3vw,32px);
}
.flip-front{
  background:#fff;
  border:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 12px 32px -16px rgba(10,15,28,.18);
  justify-content:space-between;
  position:relative;overflow:hidden;
}
.flip-front::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.3;
}
.flip-front.acc{border-top:0;color:var(--sage-deep)}
.flip-front.sw{border-top:0;color:var(--sapphire-dk)}
.flip-front.adv{border-top:0;color:var(--gold-deep)}

.flip-back{
  transform:rotateY(180deg);justify-content:flex-start;gap:8px;overflow:hidden;
}
.flip-back.acc{background:linear-gradient(155deg,#0d1e17 0%,var(--ink) 70%);border:1px solid rgba(122,158,142,.15)}
.flip-back.sw{background:linear-gradient(155deg,#0d1529 0%,var(--ink) 70%);border:1px solid rgba(59,108,242,.15)}
.flip-back.adv{background:linear-gradient(155deg,#1e180a 0%,var(--ink) 70%);border:1px solid rgba(232,196,120,.15)}

.fc-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.18em;padding:4px 10px;border-radius:var(--r-pill);
  align-self:flex-start;margin-bottom:8px;
}
.fc-tag.acc{color:var(--gold-deep);background:rgba(212,168,71,.12);border:1px solid rgba(212,168,71,.25)}
.fc-tag.sw{color:var(--sapphire-dk);background:rgba(44,74,138,.10);border:1px solid rgba(44,74,138,.22)}
.fc-tag.adv{color:var(--sage-deep);background:rgba(122,158,142,.12);border:1px solid rgba(122,158,142,.22)}

.fc-icon-svg{
  width:56px;height:56px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.flip-front.acc .fc-icon-svg{background:rgba(212,168,71,.14);color:var(--gold-deep)}
.flip-front.sw .fc-icon-svg{background:rgba(44,74,138,.10);color:var(--sapphire-dk)}
.flip-front.adv .fc-icon-svg{background:rgba(122,158,142,.14);color:var(--sage-deep)}

.fc-title{
  font-family:'Fraunces',serif;
  font-size:clamp(1.05rem,2vw,1.3rem);font-weight:600;color:var(--ink);
  line-height:1.2;letter-spacing:-.02em;
}
.fc-count{
  font-size:.78rem;color:var(--muted);margin-top:6px;
  font-family:'JetBrains Mono',monospace;letter-spacing:.04em;
}
.fc-hint{
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;color:var(--muted);
  display:flex;align-items:center;gap:6px;margin-top:auto;
  letter-spacing:.1em;text-transform:uppercase;
}

.fc-back-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;font-weight:500;text-transform:uppercase;
  letter-spacing:.18em;color:rgba(255,255,255,.45);margin-bottom:10px;
}
.fc-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}
.fc-list::-webkit-scrollbar{width:2px}
.fc-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}
.fc-item{
  display:flex;align-items:center;gap:9px;
  padding:7px 0;font-size:.82rem;font-weight:400;
  color:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.05);
  letter-spacing:-.005em;
}
.fc-item:last-child{border-bottom:none}
.fc-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.fc-dot.acc{background:var(--gold-bright)}
.fc-dot.sw{background:#7a9eff}
.fc-dot.adv{background:var(--sage-lt)}

/* ── SPLIT (Why Us) ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,96px);align-items:center}
.feat-rows{display:flex;flex-direction:column;gap:14px;margin-top:32px}
.feat-item{
  display:flex;gap:16px;padding:20px 24px;
  background:#fff;border-radius:var(--r-md);border:1px solid var(--border);
  transition:var(--t);
  box-shadow:var(--s-xs);
}
.feat-item:hover{box-shadow:var(--s-md);transform:translateX(6px);border-color:rgba(212,168,71,.4);background:var(--paper)}
.feat-num{
  width:36px;height:36px;background:var(--ink);color:var(--gold-bright);
  border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.feat-body h4{font-family:'Fraunces',serif;font-size:1.02rem;font-weight:600;color:var(--ink);margin-bottom:4px;letter-spacing:-.015em}
.feat-body p{font-size:.86rem;color:var(--text-muted)}

/* Stat cards */
.vis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vis-card{
  background:#fff;border-radius:var(--r-lg);
  padding:clamp(24px,3vw,32px) clamp(20px,2.5vw,26px);
  border:1px solid var(--border);box-shadow:var(--s-xs);
  transition:var(--t);position:relative;overflow:hidden;
}
.vis-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7;
}
.vis-card:hover{box-shadow:var(--s-lg);transform:translateY(-5px);border-color:rgba(212,168,71,.35)}
.vis-val{
  font-family:'Fraunces',serif;font-size:clamp(2.2rem,4.5vw,3rem);
  font-weight:600;line-height:1;letter-spacing:-.035em;margin-bottom:8px;
  background:linear-gradient(135deg, var(--gold-deep) 0%, var(--gold) 50%, var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  color:var(--gold-deep);
}
.vis-card.dark .vis-val{
  background:linear-gradient(120deg, #f7d97a 0%, var(--gold-bright) 50%, var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.vis-lbl{
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);
}
.vis-card.dark .vis-lbl{color:rgba(255,255,255,.42)}
.vis-desc{font-size:.84rem;color:rgba(255,255,255,.5);margin-top:10px;line-height:1.6}

/* ── PLATFORMS ── */
.platform-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:32px}
@media (max-width:1024px){.platform-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.platform-grid{grid-template-columns:repeat(2,1fr)}}
.platform-card{
  background:#fff;border-radius:var(--r-md);
  padding:20px 16px;border:1px solid var(--border);
  text-align:center;transition:var(--t);
}
.platform-card:hover{box-shadow:var(--s-md);transform:translateY(-4px);border-color:rgba(212,168,71,.45)}
.platform-icon{
  width:52px;height:52px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
.platform-name{font-family:'Fraunces',serif;font-size:.94rem;font-weight:600;color:var(--ink);margin-bottom:5px;letter-spacing:-.015em}
.platform-desc{font-size:.74rem;color:var(--muted);line-height:1.5}

/* ── INDUSTRIES (dark) ── */
.ind-section{
  background:linear-gradient(180deg,#0a0f1c 0%,#06080f 100%)!important;
  color:#fff;position:relative;overflow:hidden;
}
.ind-section::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, #000 30%, transparent 95%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, #000 30%, transparent 95%);
}
.ind-section .container{position:relative;z-index:1}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}
.ind-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-md);
  padding:clamp(20px,2.6vw,26px) 16px;
  text-align:center;transition:var(--t);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  position:relative;overflow:hidden;
}
.ind-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(122,158,142,.15),transparent 50%);
  opacity:0;transition:opacity .35s;
}
.ind-card:hover::before{opacity:1}
.ind-card:hover{
  background:rgba(122,158,142,.06);
  border-color:rgba(122,158,142,.3);
  transform:translateY(-4px);
}
.ind-icon{
  width:54px;height:54px;border-radius:var(--r-md);
  background:rgba(122,158,142,.1);color:var(--sage-lt);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;transition:var(--t);
  position:relative;z-index:1;
}
.ind-card:hover .ind-icon{background:rgba(212,168,71,.14);color:var(--lime)}
.ind-name{font-family:'Fraunces',serif;font-size:.88rem;font-weight:500;color:rgba(255,255,255,.7);position:relative;z-index:1;letter-spacing:-.01em}
.ind-card:hover .ind-name{color:#fff}

/* ── PROCESS STEPS ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;margin-top:24px}
.steps::before{
  content:'';position:absolute;top:30px;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-deep),var(--gold-bright),var(--gold-deep),transparent);
  z-index:0;
}
.step{text-align:center;padding:0 16px;position:relative;z-index:1}
.step-num{
  width:60px!important;height:60px!important;
  background:#fff!important;
  border:1.5px solid var(--border)!important;
  border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  margin:0 auto 22px!important;transition:var(--t)!important;
  position:relative;z-index:2;color:var(--ink);
  box-shadow:0 8px 20px -6px rgba(10,15,28,.12);
}
.step:hover .step-num{
  background:var(--ink)!important;border-color:var(--ink)!important;color:var(--lime)!important;
  transform:scale(1.12);box-shadow:0 12px 32px -6px rgba(10,15,28,.4), 0 0 0 8px rgba(212,168,71,.12);
}
.step:hover .step-num svg{stroke:var(--lime)}
.step h4{font-family:'Fraunces',serif;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.015em}
.step p{font-size:.85rem;color:var(--text-muted);line-height:1.65}

/* ── TESTIMONIALS ── */
.testi-wrap, .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{
  background:#fff;border-radius:var(--r-lg);padding:32px 30px;
  border:1px solid var(--border);transition:var(--t);position:relative;overflow:hidden;
  box-shadow:var(--s-xs);
}
.testi-card:hover{box-shadow:var(--s-lg);transform:translateY(-6px)}
.testi-card.hero-card, .testi-card.featured{
  background:linear-gradient(155deg,var(--ink) 0%,var(--navy-2) 100%);
  border-color:transparent;grid-column:span 2;color:#fff;
  border:1px solid rgba(255,255,255,.06);
}
.tq, .testi-quote{
  font-family:'Fraunces',serif;font-size:5rem;line-height:1;
  color:rgba(122,158,142,.18);position:absolute;top:18px;right:24px;
  font-style:italic;font-weight:400;
}
.testi-card.hero-card .tq, .testi-card.featured .testi-quote{color:rgba(212,168,71,.20)}
.t-stars, .testi-stars{color:var(--gold);font-size:.82rem;letter-spacing:3px;margin-bottom:14px}
.t-text, .testi-text{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:1rem;line-height:1.7;margin-bottom:22px;
  position:relative;z-index:1;color:var(--text-muted);
  letter-spacing:-.005em;
}
.testi-card.hero-card .t-text, .testi-card.featured .testi-text{color:rgba(255,255,255,.78);font-size:1.08rem}
.t-author, .testi-author{display:flex;align-items:center;gap:13px}
.t-av, .testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));
  display:flex;align-items:center;justify-content:center;
  color:#1a1208;font-weight:700;font-size:.82rem;flex-shrink:0;
  font-family:'Fraunces',serif;
  box-shadow:0 0 0 1px rgba(255,255,255,.1) inset, 0 6px 16px -4px rgba(212,168,71,.3);
}
.t-name, .testi-name{font-family:'Fraunces',serif;font-size:.94rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.testi-card.hero-card .t-name, .testi-card.featured .testi-name{color:#fff}
.t-role, .testi-role{font-size:.76rem;color:var(--muted);margin-top:2px;font-family:'JetBrains Mono',monospace;letter-spacing:.02em}
.testi-card.hero-card .t-role, .testi-card.featured .testi-role{color:rgba(255,255,255,.42)}

/* ── CTA BANNER ── */
.cta-band, .cta-banner{
  background:radial-gradient(ellipse 80% 100% at 50% 100%,#0d1426 0%,#06080f 100%);
  padding:clamp(72px,10vw,120px) 0;
  text-align:center;position:relative;overflow:hidden;color:#fff;
}
.cta-band::before, .cta-banner::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%,rgba(212,168,71,.12),transparent),
    radial-gradient(ellipse 30% 50% at 20% 80%,rgba(59,108,242,.12),transparent);
}
.cta-band::after, .cta-banner::after{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 60% 80% at 50% 50%, #000 30%, transparent 95%);
  -webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 50%, #000 30%, transparent 95%);
}
.cta-band .container, .cta-banner .container{position:relative;z-index:1}
.cta-band h2, .cta-banner h2{color:#fff;max-width:680px;margin:0 auto 16px}
.cta-band p, .cta-banner p{color:rgba(255,255,255,.6);max-width:480px;margin:0 auto 38px;font-size:1.02rem}
.cta-row, .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── PAGE HERO ── */
.page-hero{
  min-height:50vh;
  background:linear-gradient(180deg,#06080f 0%,#0a0f1c 100%);
  display:flex;align-items:center;padding-top:80px;
  position:relative;overflow:hidden;color:#fff;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 80% at 70% 50%,rgba(59,108,242,.18),transparent),
    radial-gradient(ellipse 40% 60% at 15% 80%,rgba(122,158,142,.10),transparent);
}
.page-hero::after{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, #000 30%, transparent 90%);
  opacity:.7;
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{color:#fff!important;margin-bottom:16px;font-family:'Fraunces',serif!important}
.page-hero p{color:rgba(255,255,255,.65)!important;font-size:1.08rem;max-width:540px}
.breadcrumb{
  display:flex;align-items:center;gap:8px;margin-bottom:20px;
  font-family:'JetBrains Mono',monospace;
  font-size:.74rem;color:rgba(255,255,255,.4);letter-spacing:.04em;
}
.breadcrumb a{color:var(--sage-lt);transition:color .25s}
.breadcrumb a:hover{color:var(--lime)}

/* ── CONTACT & FORM ── */
.two-col{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,72px);align-items:start}
.c-detail, .contact-detail{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.c-ico, .c-icon{
  width:46px;height:46px;background:var(--cream-dark);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:var(--t);color:var(--ink);
}
.c-detail:hover .c-ico, .contact-detail:hover .c-icon{background:var(--ink);color:var(--lime);transform:scale(1.05)}
.c-lbl, .c-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:3px}
.c-val, .c-value{font-size:.94rem;font-weight:600;color:var(--ink);font-family:'Fraunces',serif;letter-spacing:-.01em}
.soc-row, .social-row{display:flex;gap:10px;margin-top:28px}
.soc-btn{
  width:42px;height:42px;background:#fff;color:var(--ink);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:var(--t);text-decoration:none;border:1px solid var(--border);
}
.soc-btn:hover{background:var(--ink);color:var(--lime);transform:translateY(-3px);box-shadow:0 12px 28px -8px rgba(10,15,28,.35)}

.form-card{
  background:#fff;border-radius:var(--r-xl);
  padding:clamp(28px,4vw,48px);
  box-shadow:0 0 0 1px var(--border), 0 30px 60px -20px rgba(10,15,28,.15);
}
.form-card h3{color:var(--ink)!important;margin-bottom:8px;font-family:'Fraunces',serif!important;font-size:1.6rem;font-weight:600;letter-spacing:-.02em}
.form-card>p{margin-bottom:28px;font-size:.92rem;color:var(--text-muted)!important}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:16px}
.fg label{
  display:block;font-family:'JetBrains Mono',monospace;
  font-size:.7rem;font-weight:500;color:var(--ink);
  margin-bottom:7px;text-transform:uppercase;letter-spacing:.1em;
}
.fg input,.fg select,.fg textarea{
  width:100%;padding:13px 16px;
  border:1.5px solid var(--border);border-radius:var(--r-md);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.92rem;color:var(--ink);
  background:var(--paper);transition:var(--t);outline:none;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--ink);background:#fff;
  box-shadow:0 0 0 4px rgba(122,158,142,.12);
}
.fg textarea{resize:vertical;min-height:108px}
.fg select{appearance:none;cursor:pointer}

/* ── CALENDAR ── */
.cal-wrap{background:var(--paper);border:1.5px solid var(--border);border-radius:var(--r-md);padding:18px;margin-bottom:22px}
.cal-hd, .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-month, .cal-month-label{font-family:'Fraunces',serif;font-size:1rem;font-weight:600;color:var(--ink)}
.cal-nav{
  width:30px;height:30px;border:1.5px solid var(--border);background:#fff;
  border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:var(--t);color:var(--ink);
}
.cal-nav:hover{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.cal-days-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px}
.cal-dn, .cal-day-name{text-align:center;font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:500;color:var(--muted);text-transform:uppercase;padding:4px 0;letter-spacing:.05em}
.cal-grid, .cal-grid-wrap{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-sm);font-size:.84rem;font-weight:500;
  cursor:pointer;transition:var(--t);color:var(--ink);
  border:1.5px solid transparent;
}
.cal-day:hover:not(.disabled):not(.empty){background:var(--cream-dark)}
.cal-day.selected{background:var(--ink)!important;color:var(--lime)!important;border-color:var(--ink)!important}
.cal-day.today{border-color:var(--gold);color:var(--gold-deep);font-weight:700}
.cal-day.disabled,.cal-day.past{color:#c8c2b4;cursor:not-allowed}
.cal-day.empty{cursor:default}
.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.t-slot{
  padding:10px 4px;border:1.5px solid var(--border);border-radius:var(--r-sm);
  text-align:center;font-size:.78rem;font-weight:600;cursor:pointer;
  transition:var(--t);color:var(--ink);background:#fff;
  font-family:'JetBrains Mono',monospace;letter-spacing:.02em;
}
.t-slot:hover{border-color:var(--ink);color:var(--ink);background:var(--cream-dark)}
.t-slot.selected{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.t-slot.unavailable{color:#c8c2b4;cursor:not-allowed;background:var(--paper)}
.confirm-box{
  background:rgba(122,158,142,.1);border:1px solid rgba(122,158,142,.25);
  border-radius:var(--r-md);padding:13px 16px;margin-bottom:16px;
  display:none;align-items:center;gap:10px;
}
.confirm-box.show{display:flex}
.confirm-box span{font-size:.86rem;font-weight:600;color:var(--sage-deep)}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--s-xs);transition:var(--t);
}
.blog-card:hover{transform:translateY(-7px);box-shadow:var(--s-xl)}
.blog-img-wrap, .blog-img{height:200px;overflow:hidden;background:var(--cream-dark)}
.blog-img-wrap img, .blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-img-wrap img, .blog-card:hover .blog-img img{transform:scale(1.08)}
.blog-body{padding:26px 24px}
.blog-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;font-weight:500;text-transform:uppercase;
  letter-spacing:.16em;color:var(--sage-deep);margin-bottom:10px;display:block;
}
.blog-card h3{font-family:'Fraunces',serif;font-size:1.04rem;color:var(--ink);margin-bottom:10px;font-weight:600;line-height:1.35;letter-spacing:-.015em}
.blog-card p{font-size:.85rem;color:var(--text-muted);line-height:1.65}
.blog-meta{
  display:flex;gap:10px;margin-top:18px;padding-top:14px;
  border-top:1px solid var(--border);font-family:'JetBrains Mono',monospace;
  font-size:.7rem;color:var(--muted);letter-spacing:.04em;
}

/* ── NEWSLETTER ── */
.nl-band, .newsletter{
  background:linear-gradient(180deg,#06080f,#0a0f1c);
  padding:clamp(56px,8vw,84px) 0;text-align:center;color:#fff;
  position:relative;overflow:hidden;
}
.nl-band::before, .newsletter::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 50% 80% at 50% 100%,rgba(212,168,71,.10),transparent);
}
.nl-band .container, .newsletter .container{position:relative;z-index:1}
.nl-band h2, .newsletter h2{color:#fff!important;margin-bottom:12px}
.nl-band p, .newsletter p{color:rgba(255,255,255,.55)!important;margin-bottom:30px}
.nl-form{display:flex;gap:10px;max-width:440px;margin:0 auto}
.nl-form input{
  flex:1;padding:14px 18px;border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-pill);background:rgba(255,255,255,.04);
  color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:.9rem;outline:none;
  transition:var(--t);backdrop-filter:blur(8px);
}
.nl-form input::placeholder{color:rgba(255,255,255,.32)}
.nl-form input:focus{border-color:var(--lime);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px rgba(212,168,71,.14)}

/* ── FOOTER ── */
.footer{
  background:#04060c;color:#8a93a6;padding:clamp(64px,8vw,96px) 0 0;
  border-top:1px solid rgba(255,255,255,.04);position:relative;overflow:hidden;
}
.footer::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,4vw,60px);padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.05)}
.footer-brand p{font-size:.88rem;line-height:1.85;max-width:280px;margin-top:18px}
.footer-logo{display:flex;align-items:center;gap:11px;font-family:'Fraunces',serif;font-size:1.18rem;font-weight:500;color:#fff;letter-spacing:-.025em}
.footer-logo-img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.footer-logo-fb{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold-bright),var(--gold-deep));display:flex;align-items:center;justify-content:center;color:#1a1208;font-weight:700;font-size:.74rem;flex-shrink:0;font-family:'Fraunces',serif}
.footer-col h5{
  color:#fff;font-family:'JetBrains Mono',monospace;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;
  margin-bottom:18px;font-weight:500;
}
.footer-col a{display:block;font-size:.86rem;color:#8a93a6;margin-bottom:10px;transition:var(--t);text-decoration:none}
.footer-col a:hover{color:var(--lime);transform:translateX(4px)}
.footer-bottom{padding:22px 0;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;color:#8a93a6}
.footer-legal{display:flex;gap:20px}
.footer-legal a{color:#8a93a6;transition:color .25s;text-decoration:none}
.footer-legal a:hover{color:#fff}

.footer .soc-btn{background:rgba(255,255,255,.04);color:#a0a8b8;border:1px solid rgba(255,255,255,.08)}
.footer .soc-btn:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}

/* ── FAB ── */
.fab-wrap{position:fixed;bottom:28px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:899;align-items:flex-end}
.fab-btn{
  display:flex;align-items:center;gap:9px;
  background:var(--ink);color:var(--lime);
  border:1px solid rgba(212,168,71,.2);border-radius:var(--r-pill);
  padding:13px 20px;cursor:pointer;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.84rem;font-weight:600;
  box-shadow:0 12px 32px -8px rgba(0,0,0,.5);
  transition:all .35s var(--spring);text-decoration:none;white-space:nowrap;
  backdrop-filter:blur(12px);
}
.fab-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 40px -8px rgba(212,168,71,.4)}
.fab-btn.wa{background:#0d6e3f;color:#fff;border-color:rgba(255,255,255,.15)}
.fab-btn.wa:hover{background:#0a5a32;box-shadow:0 18px 40px -8px rgba(13,110,63,.5)}
@keyframes fab-pulse{
  0%{box-shadow:0 12px 32px -8px rgba(13,110,63,.4),0 0 0 0 rgba(37,211,102,.3)}
  70%{box-shadow:0 12px 32px -8px rgba(13,110,63,.4),0 0 0 14px rgba(37,211,102,0)}
  100%{box-shadow:0 12px 32px -8px rgba(13,110,63,.4),0 0 0 0 rgba(37,211,102,0)}
}
.fab-btn.wa{animation:fab-pulse 3s infinite}
.fab-btn.wa:hover{animation:none}

/* ── ABOUT TIMELINE ── */
.tl-wrap{position:relative;padding-left:32px}
.tl-wrap::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--gold),var(--gold-bright),var(--gold-deep))}
.tl-item{
  position:relative;margin-bottom:28px;padding:22px 26px;
  background:#fff;border-radius:var(--r-md);
  border:1px solid var(--border);box-shadow:var(--s-xs);transition:var(--t);
}
.tl-item:hover{box-shadow:var(--s-md);transform:translateX(6px)}
.tl-item::before{
  content:'';position:absolute;left:-40px;top:24px;
  width:14px;height:14px;background:var(--gold);border-radius:50%;
  border:2px solid var(--paper);box-shadow:0 0 0 2px var(--gold-deep), 0 0 12px var(--gold);
}
.tl-yr{font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:600;color:var(--gold-deep);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.tl-item h4{font-family:'Fraunces',serif;color:var(--ink);margin-bottom:8px;font-size:1rem;font-weight:600;letter-spacing:-.015em}
.tl-item p{font-size:.88rem;color:var(--text-muted)}

/* ── PRICING ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.price-card{
  background:#fff;border-radius:var(--r-lg);
  padding:clamp(26px,3.4vw,40px) clamp(22px,2.6vw,30px);
  border:1px solid var(--border);transition:var(--t);position:relative;
  box-shadow:var(--s-xs);
}
.price-card.pop{
  background:linear-gradient(155deg,var(--ink) 0%,var(--navy-2) 100%);
  border-color:transparent;transform:scale(1.04);
  box-shadow:0 30px 60px -20px rgba(10,15,28,.4), 0 0 0 1px rgba(212,168,71,.14);
}
.price-card.pop *{color:#fff!important}
.price-card:hover:not(.pop){box-shadow:var(--s-xl);transform:translateY(-5px)}
.price-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--lime);color:var(--ink)!important;
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;font-weight:600;padding:5px 14px;border-radius:var(--r-pill);
  text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;
  box-shadow:0 8px 20px -4px rgba(212,168,71,.4);
}
.price-name{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin-bottom:5px;letter-spacing:-.015em}
.price-sub{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}
.price-amount{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:600;line-height:1;margin-bottom:5px;letter-spacing:-.03em;background:linear-gradient(135deg,var(--gold-deep) 0%,var(--gold) 60%,var(--gold-bright) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-deep)}
.price-per{font-size:.78rem;color:var(--muted);margin-bottom:24px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.price-feats{display:flex;flex-direction:column;gap:11px;margin-bottom:28px}
.price-feat{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--text-muted)}
.price-feat::before{
  content:'';width:18px;height:18px;
  background:rgba(212,168,71,.18);color:var(--gold-deep);border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238a6420'%3E%3Cpath d='M13.485 4.515a1 1 0 00-1.414 0L6.5 10.086 3.929 7.515a1 1 0 00-1.414 1.414l3.278 3.278a1 1 0 001.414 0l6.278-6.278a1 1 0 000-1.414z'/%3E%3C/svg%3E");
  background-size:12px;background-repeat:no-repeat;background-position:center;
  flex-shrink:0;
}
.price-card.pop .price-feat::before{background-color:rgba(232,193,96,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e8c160'%3E%3Cpath d='M13.485 4.515a1 1 0 00-1.414 0L6.5 10.086 3.929 7.515a1 1 0 00-1.414 1.414l3.278 3.278a1 1 0 001.414 0l6.278-6.278a1 1 0 000-1.414z'/%3E%3C/svg%3E")}

/* ── SCROLL INDICATOR ── */
.scroll-indicator{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;z-index:10;
  transition:opacity .4s,transform .4s;cursor:pointer;
}
.scroll-indicator span{
  font-family:'JetBrains Mono',monospace;
  font-size:.64rem;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,.32);
}
.scroll-arrow{animation:scrollBounce 2.2s ease-in-out infinite;color:rgba(255,255,255,.32)}
@keyframes scrollBounce{0%,100%{transform:translateY(0);opacity:.32}50%{transform:translateY(10px);opacity:.7}}

/* ── SYNC INDICATOR & SOFTWARE STRIP ── */
.sync-indicator{display:flex;align-items:center;gap:6px;margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.62rem;color:#7a8298;letter-spacing:.04em}
.sync-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:syncPulse 2.5s ease-in-out infinite}
@keyframes syncPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{opacity:.6;box-shadow:0 0 0 5px rgba(34,197,94,0)}}

.software-strip{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.sw-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1px solid var(--border);
  border-radius:7px;padding:5px 10px;
  font-family:'JetBrains Mono',monospace;font-size:.62rem;font-weight:600;
  color:var(--ink);white-space:nowrap;letter-spacing:.02em;
}

.chart-labels{display:flex;justify-content:space-between;padding:0 10px;margin-top:6px}
.chart-labels span{font-family:'JetBrains Mono',monospace;font-size:.54rem;color:var(--muted);font-weight:500;letter-spacing:.06em}

/* ── SERVICE PAGE ── */
.svc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,80px);align-items:center}
.svc-hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.svc-hero-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);padding:26px;backdrop-filter:blur(10px);
  transition:var(--t);text-decoration:none;
}
.svc-hero-card:hover{background:rgba(255,255,255,.07);border-color:rgba(212,168,71,.2);transform:translateY(-4px)}
.svc-hero-card h4{color:#fff;font-family:'Fraunces',serif;font-size:1rem;margin-bottom:8px;font-weight:600;letter-spacing:-.015em}
.svc-hero-card p{font-size:.84rem;color:rgba(255,255,255,.55);margin:0;line-height:1.6}
.svc-card-icon{
  width:44px;height:44px;border-radius:var(--r-md);
  background:rgba(212,168,71,.14);color:var(--lime);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}

.service-row{
  display:flex;gap:24px;align-items:flex-start;
  background:#fff;border-radius:var(--r-lg);padding:32px;
  border:1px solid var(--border);box-shadow:var(--s-xs);transition:var(--t);
}
.service-row:hover{box-shadow:var(--s-lg);transform:translateX(6px)}
.service-row h3{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:-.015em}
.service-row p{font-size:.92rem;margin-bottom:14px;color:var(--text-muted)}
.service-row-icon{
  width:56px;height:56px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.accounting-icon{background:rgba(122,158,142,.12);color:var(--sage-deep)}
.software-icon{background:rgba(59,108,242,.1);color:var(--sapphire)}

.service-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.16em;padding:4px 11px;border-radius:var(--r-pill);
  display:inline-block;margin-bottom:10px;
}
.tag-accounting{background:rgba(122,158,142,.12);color:var(--sage-deep)}
.tag-software{background:rgba(59,108,242,.1);color:var(--sapphire)}
.tag-advisory{background:rgba(232,196,120,.14);color:var(--gold-deep)}
.tag-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.tag-pill{font-family:'JetBrains Mono',monospace;font-size:.64rem;font-weight:500;padding:4px 10px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.08em}
.pill-sage{background:rgba(122,158,142,.12);color:var(--sage-deep)}
.pill-rose{background:rgba(59,108,242,.1);color:var(--sapphire)}
.pill-gold{background:rgba(232,196,120,.14);color:var(--gold-deep)}

.illus-wrap{
  border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(155deg,var(--ink),var(--navy-2));
  padding:36px;display:flex;align-items:center;justify-content:center;
  position:relative;min-height:280px;
  border:1px solid rgba(255,255,255,.06);
}
.illus-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(122,158,142,.18),transparent)}

/* Feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature-card{
  background:#fff;border-radius:var(--r-lg);padding:32px;
  border:1px solid var(--border);transition:var(--t);box-shadow:var(--s-xs);
}
.feature-card:hover{box-shadow:var(--s-lg);transform:translateY(-5px)}
.feature-icon{
  width:56px;height:56px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;background:var(--cream-dark);color:var(--ink);
}
.feature-card h3{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;color:var(--ink);margin-bottom:10px;letter-spacing:-.015em}
.feature-card p{font-size:.88rem;color:var(--text-muted);line-height:1.7}

.tech-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--border);
  border-radius:var(--r-sm);padding:9px 16px;
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;font-weight:500;color:var(--ink);
  transition:var(--t);letter-spacing:.02em;
}
.tech-badge:hover{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.tech-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* ── ANIMATION CLASSES ── */
.gsap-fade-up,.gsap-fade-right,.gsap-fade-left,.gsap-scale,
.g-up,.g-left,.g-right,.g-scale,.g-fade{
  will-change:transform,opacity;
}

/* ── RESPONSIVE ── */
@media (max-width:1024px){
  .flip-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:48px}
  .price-grid{grid-template-columns:1fr}
  .price-card.pop{transform:scale(1)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .two-col{grid-template-columns:1fr;gap:40px}
  .vis-grid{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .blog-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr);gap:32px}
  .steps::before{display:none}
  .testi-wrap, .testi-grid{grid-template-columns:1fr}
  .testi-card.hero-card, .testi-card.featured{grid-column:span 1}
  .hero-layout{grid-template-columns:1fr;gap:48px}
  .hero-right{display:none}
  .mega-menu{display:none!important}
  .feature-grid{grid-template-columns:1fr 1fr}
  .svc-detail-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .section{padding:64px 0}
  .nav-links{display:none!important}
  .hamburger{display:flex}
  .flip-grid{grid-template-columns:1fr}
  .flip-card{height:260px}
  .hero-cta-row{flex-direction:column;background:transparent;padding:0;gap:12px;border-radius:0;box-shadow:none;max-width:100%}
  .hero-cta-row input{background:#fff;border-radius:var(--r-pill);padding:14px 22px;border:none;width:100%}
  .hero-cta-row .btn-lime{border-radius:var(--r-pill);width:100%;justify-content:center;padding:14px 24px}
  .hero-stats{gap:24px}
  .vis-card.dark{grid-column:span 1}
  .form-row-2{grid-template-columns:1fr}
  .time-grid{grid-template-columns:repeat(3,1fr)}
  .blog-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;gap:11px;text-align:center}
  .cta-row{flex-direction:column;align-items:center}
  .nl-form{flex-direction:column}
  .nl-form input,.nl-form .btn{width:100%;justify-content:center}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .svc-hero-cards{grid-template-columns:1fr 1fr}
  .feature-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .fab-wrap{bottom:18px;right:14px;gap:8px}
  .fab-btn{padding:14px;border-radius:50%;width:50px;height:50px;justify-content:center}
  .fab-lbl{display:none}
}
@media (max-width:480px){
  .display-1{font-size:2.4rem}
  .display-2{font-size:1.85rem}
  .hero{padding:100px 0 64px;min-height:auto}
  .hero-stats{flex-wrap:wrap;gap:18px}
  .ind-grid{grid-template-columns:1fr 1fr}
  .price-grid{grid-template-columns:1fr}
  .vis-grid{grid-template-columns:1fr}
  .vis-card.dark{grid-column:span 1}
  .flip-card{height:240px}
  .svc-hero-cards{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
}

/* Final visibility guards */
.hero h1,.hero p,.hero-badge,.hero-desc,.hero-cta-row,
.hero-link,.hero-stats,
.page-hero h1,.page-hero p,
.section h1,.section h2,.section h3,.section h4,.section p,
.feat-item,.service-row,.feature-card,
.blog-card,.testi-card,
.vis-card,.price-card,.ind-card,.step,
.flip-card,.svc-hero-card,
.gsap-fade-up,.gsap-fade-right,.gsap-fade-left,.gsap-scale,
.g-up,.g-left,.g-right,.g-scale,.g-fade{visibility:visible}

a.feature-card,a.svc-hero-card,a.blog-card,a.mega-item{text-decoration:none}

/* Ensure dark sections use light text by default */
.cta-band h2,.cta-banner h2,.nl-band h2,.newsletter h2,.ind-section h2{color:#fff!important}
.cta-band p,.cta-banner p,.nl-band p,.newsletter p,.ind-section p{color:rgba(255,255,255,.6)!important}
.ind-section .label-sm{color:var(--lime)!important}
