/* ============================================================
   EBOLUW CMS — Theme Stylesheet
   Brand: Eboluw Purple #29166F · Eboluw Green #9BC24E
   Accent: Tangerine #F26B2C · Sage Teal #86A3A0
   Canvas: Porcelain #F5F1EA
   ============================================================ */

:root{
  /* Canvas */
  --eb-porcelain:#F5F1EA;
  --eb-porcelain-2:#EDE7DC;
  --eb-paper:#FAF7F1;

  /* Brand — sampled from logo */
  --eb-purple:#29166F;
  --eb-purple-2:#3A2389;
  --eb-purple-deep:#1B0D52;
  --eb-green:#9BC24E;
  --eb-green-deep:#7CA535;

  /* Ink hierarchy (purple-tinted dark) */
  --eb-ink:#1B0D52;
  --eb-ink-soft:#3A4960;
  --eb-ink-mute:#6B768B;
  --eb-ink-faint:#A4ADBE;

  /* Lines */
  --eb-line:rgba(27,13,82,0.10);
  --eb-line-strong:rgba(27,13,82,0.20);

  /* Accents */
  --eb-accent:#F26B2C;
  --eb-accent-deep:#D9531A;
  --eb-teal:#86A3A0;
  --eb-warm:#E9C77F;

  /* Shadows */
  --eb-shadow-sm:0 1px 2px rgba(27,13,82,.06), 0 4px 12px -4px rgba(27,13,82,.08);
  --eb-shadow:0 8px 24px -8px rgba(27,13,82,.14), 0 24px 60px -20px rgba(27,13,82,.20);
  --eb-shadow-lg:0 30px 80px -20px rgba(27,13,82,.28);

  /* Type */
  --eb-display:'DM Serif Display', Georgia, serif;
  --eb-sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --eb-mono:'JetBrains Mono',ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--eb-sans);
  background:var(--eb-porcelain);
  color:var(--eb-ink);
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--eb-purple);color:var(--eb-porcelain)}
a{color:inherit}

/* ============ AMBIENT BACKGROUND ============ */
.eb-ambient{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.eb-ambient video{
  position:absolute;top:50%;left:50%;
  min-width:100%;min-height:100%;
  width:auto;height:auto;
  transform:translate(-50%,-50%) scale(1.05);
  object-fit:cover;
  opacity:.16;
  filter:saturate(.55) contrast(.95) hue-rotate(-10deg);
  will-change:transform;
}
.eb-ambient::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(245,241,234,.55) 0%, rgba(245,241,234,.7) 35%, rgba(245,241,234,.85) 70%, var(--eb-porcelain) 100%),
    radial-gradient(circle at 20% 30%, rgba(155,194,78,.08), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(41,22,111,.06), transparent 50%);
}
.eb-grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.05'/></svg>");
}
main, header, footer, section{position:relative;z-index:2}

/* ============ NAVIGATION ============ */
.eb-nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  background:rgba(245,241,234,0.78);
  border-bottom:1px solid var(--eb-line);
}
.eb-nav-inner{
  max-width:1320px;margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.eb-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--eb-ink)}
.eb-brand-mark{
  width:64px;height:42px;border-radius:10px;
  background:#fff;
  display:grid;place-items:center;padding:6px 8px;
  box-shadow:var(--eb-shadow-sm);
  border:1px solid var(--eb-line);
  flex-shrink:0;
}
.eb-brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
/* On dark backgrounds (footer) the white card stays — logo reads on it */
.eb-footer .eb-brand-mark{background:#fff;border-color:rgba(255,255,255,.18)}
.eb-brand-text{display:flex;flex-direction:column;line-height:1}
.eb-brand-text strong{font-family:var(--eb-display);font-weight:500;font-size:18px;letter-spacing:.2px}
.eb-brand-text small{font-family:var(--eb-mono);font-size:9.5px;letter-spacing:.22em;color:var(--eb-ink-mute);text-transform:uppercase;margin-top:5px}

.eb-nav-links{display:flex;gap:4px;align-items:center}
.eb-nav-links a{
  color:var(--eb-ink-soft);text-decoration:none;font-size:13.5px;
  padding:8px 14px;border-radius:999px;transition:all .25s ease;
  font-weight:500;
}
.eb-nav-links a:hover, .eb-nav-links a.active{color:var(--eb-purple);background:rgba(41,22,111,.06)}

.eb-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 20px;border-radius:999px;
  background:var(--eb-purple);color:#fff;
  font-weight:600;font-size:13.5px;text-decoration:none;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  box-shadow:var(--eb-shadow-sm);
}
.eb-cta:hover{transform:translateY(-1px);background:var(--eb-accent);box-shadow:0 12px 30px -8px rgba(242,107,44,.45)}
.eb-cta::after{content:"→";transition:transform .3s}
.eb-cta:hover::after{transform:translateX(3px)}

.eb-menu-toggle{
  display:none;background:none;border:1px solid var(--eb-line-strong);color:var(--eb-ink);
  width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:18px
}
@media (max-width:880px){
  .eb-nav-links{display:none}
  .eb-menu-toggle{display:grid;place-items:center}
  .eb-cta{display:none}
}

/* ============ BUTTONS ============ */
.btn-primary{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:999px;
  background:var(--eb-accent);color:#fff;text-decoration:none;
  font-weight:600;font-size:14.5px;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 10px 30px -10px rgba(242,107,44,.6);
  border:none;cursor:pointer;
}
.btn-primary:hover{transform:translateY(-2px);background:var(--eb-accent-deep);box-shadow:0 18px 40px -10px rgba(242,107,44,.7)}
.btn-purple{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:999px;
  background:var(--eb-purple);color:#fff;text-decoration:none;
  font-weight:600;font-size:14.5px;
  transition:all .3s ease;
  box-shadow:0 10px 30px -10px rgba(41,22,111,.5);
}
.btn-purple:hover{background:var(--eb-purple-deep);transform:translateY(-2px)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 26px;border-radius:999px;
  background:rgba(255,255,255,.6);color:var(--eb-ink);text-decoration:none;
  font-weight:500;font-size:14.5px;
  border:1px solid var(--eb-line-strong);
  transition:all .3s ease;
  backdrop-filter:blur(8px);
}
.btn-ghost:hover{border-color:var(--eb-purple);background:#fff;color:var(--eb-purple)}

/* ============ SECTION CHROME ============ */
.eb-block{padding:110px 32px;max-width:1320px;margin:0 auto}
@media (max-width:720px){.eb-block{padding:80px 20px}}
@media (max-width:480px){.eb-block{padding:60px 16px}}
.eb-section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px;margin-bottom:60px}
.eb-section-tag{
  font-family:var(--eb-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--eb-accent);
  display:flex;align-items:center;gap:10px;
}
.eb-section-tag::before{content:"";width:24px;height:1px;background:var(--eb-accent)}
.eb-section-title{
  font-family:var(--eb-display);font-size:clamp(28px,4.2vw,56px);font-weight:400;
  line-height:1.04;letter-spacing:-.025em;margin-top:14px;max-width:760px;color:var(--eb-ink);
  overflow-wrap:break-word;hyphens:auto;
}
.eb-section-title em{font-style:italic;color:var(--eb-ink-mute);font-weight:300}
.eb-section-head .eb-lead{color:var(--eb-ink-soft);max-width:380px;font-size:15.5px;line-height:1.55}
@media (max-width:480px){
  .eb-section-head{margin-bottom:36px;gap:18px}
  .eb-section-head .eb-lead{font-size:14.5px}
}

.pulse-dot{
  width:7px;height:7px;border-radius:50%;background:var(--eb-green-deep);
  box-shadow:0 0 0 0 rgba(124,165,53,.6);
  animation:pulse 2s infinite;
  display:inline-block;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(124,165,53,.6)}
  70%{box-shadow:0 0 0 10px rgba(124,165,53,0)}
  100%{box-shadow:0 0 0 0 rgba(124,165,53,0)}
}

/* ============ FOOTER ============ */
.eb-footer{
  margin-top:80px;padding:80px 32px 40px;
  background:var(--eb-purple-deep);color:var(--eb-porcelain);
  position:relative;z-index:2;overflow:hidden;
}
.eb-footer::before{
  content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(155,194,78,.18),transparent 70%);
}
.eb-footer::after{
  content:"";position:absolute;bottom:-180px;left:-180px;width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,107,44,.12),transparent 70%);
}
.eb-foot-inner{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;
  position:relative;
}
.eb-foot-brand .eb-brand-text strong{color:#fff}
.eb-foot-brand .eb-brand-text small{color:rgba(255,255,255,.55)}
.eb-foot-brand p{color:rgba(255,255,255,.6);font-size:14px;margin-top:18px;max-width:340px;line-height:1.6}
.eb-foot-col h5{
  font-family:var(--eb-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:20px;
}
.eb-foot-col a, .eb-foot-col p{
  display:block;color:rgba(255,255,255,.7);font-size:14px;text-decoration:none;
  margin-bottom:10px;transition:color .2s
}
.eb-foot-col a:hover{color:var(--eb-green)}
.eb-foot-bottom{
  max-width:1320px;margin:60px auto 0;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  font-family:var(--eb-mono);font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.06em;
  position:relative;
}
@media (max-width:780px){.eb-foot-inner{grid-template-columns:1fr 1fr;gap:32px}}
@media (max-width:480px){.eb-foot-inner{grid-template-columns:1fr}}

/* ============ MOBILE STICKY ACTION BAR ============ */
.eb-mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:none;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(245,241,234,0.92);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-top:1px solid var(--eb-line);
}
.eb-mobile-bar-inner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  max-width:520px;margin:0 auto;
}
.eb-mb-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:10px 8px;border-radius:14px;
  background:#fff;border:1px solid var(--eb-line);
  color:var(--eb-ink);text-decoration:none;
  transition:all .2s ease;
  font-family:var(--eb-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.eb-mb-btn svg{width:20px;height:20px}
.eb-mb-btn:active{transform:scale(.97)}
.eb-mb-btn.call{background:var(--eb-accent);color:#fff;border-color:var(--eb-accent);box-shadow:0 6px 18px -6px rgba(242,107,44,.6)}
.eb-mb-btn.whatsapp{background:#25D366;color:#fff;border-color:#25D366;box-shadow:0 6px 18px -6px rgba(37,211,102,.5)}
.eb-mb-btn.email{background:var(--eb-purple);color:#fff;border-color:var(--eb-purple)}
@media (max-width:880px){
  .eb-mobile-bar{display:block}
  body{padding-bottom:90px}
}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ============ BREADCRUMB (inner pages) ============ */
.eb-crumbs{
  max-width:1320px;margin:0 auto;padding:140px 32px 0;
  font-family:var(--eb-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--eb-ink-mute);display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.eb-crumbs a{color:var(--eb-ink-mute);text-decoration:none;transition:color .2s}
.eb-crumbs a:hover{color:var(--eb-purple)}
.eb-crumbs .sep{color:var(--eb-ink-faint)}
.eb-crumbs .here{color:var(--eb-purple)}
