.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-a95a656 *//* ============================================================
   EQUAL LANDS — HEADER / NAVBAR
   Place in: Elementor → Site Settings → Custom CSS
   (NOT in a Code Block widget — this is global.)
   Requires the :root token block from DESIGN.md §10.4.
   All tokens carry inline fallbacks per DESIGN.md §10.1.
   ============================================================ */

:root{
  --eql-nav-h: 84px;          /* resting height, desktop */
  --eql-nav-h-scrolled: 72px; /* compressed height on scroll */
  --eql-nav-h-mob: 68px;
}

/* ---------- Skip link (must be first focusable element) ---------- */
.eql-skip{
  position:absolute; left:-9999px; top:0; z-index:10000;
  font-family:var(--eql-font-label,'Martian Mono',monospace);
  font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
}
.eql-skip:focus{
  left:1rem; top:1rem; padding:.9rem 1.4rem;
  background:var(--eql-lime,#93C83D); color:var(--eql-ink,#0B100C);
  text-decoration:none; border-radius:var(--eql-radius,4px);
}

.eql-sr{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ============================================================
   HEADER SHELL
   ============================================================ */
.eql-nav{
  position:fixed; inset:0 0 auto 0; z-index:9000;
  background:transparent;
  border-bottom:1px solid rgba(147,200,61,.32);   /* lime hairline */
  transition:background var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             border-color var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             box-shadow var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}

/* Solid variant — inner pages with no dark hero */
.eql-nav--solid{
  background:var(--eql-ink,#0B100C);
  border-bottom-color:rgba(255,255,255,.08);
}
.eql-nav--solid + .eql-nav__spacer{ display:block; }
.eql-nav__spacer{ display:none; height:var(--eql-nav-h,84px); }

/* Scrolled state — class added by eql-site.js at 40px */
.eql-nav.is-scrolled{
  background:var(--eql-ink,#0B100C);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:var(--eql-shadow-float,0 8px 28px rgba(11,16,12,.18));
}

.eql-nav__inner{
  display:flex; align-items:center; gap:clamp(1rem,3vw,2.5rem);
  width:min(100% - 3rem, 1360px); margin-inline:auto;
  height:var(--eql-nav-h,84px);
  transition:height var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-nav.is-scrolled .eql-nav__inner{ height:var(--eql-nav-h-scrolled,72px); }

/* ---------- Logo ---------- */
.eql-nav__logo{ display:flex; align-items:center; flex:0 0 auto; margin-right:auto; }
.eql-nav__logo img{
  display:block; width:auto; height:52px;
  transition:height var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-nav.is-scrolled .eql-nav__logo img{ height:44px; }

/* ============================================================
   DESKTOP LINKS
   ============================================================ */
.eql-nav__list{
  display:flex; align-items:center; gap:clamp(.75rem,1.8vw,2rem);
  list-style:none; margin:0; padding:0;
}
.eql-nav__link{
  position:relative; display:inline-flex; align-items:center;
  min-height:48px; padding:0 .25rem;          /* 48px touch target */
  font-family:var(--eql-font-body,'Hanken Grotesk',sans-serif);
  font-size:.8125rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--eql-white,#fff); text-decoration:none; white-space:nowrap;
}
.eql-nav__link span{ position:relative; display:block; }
.eql-nav__link span::after{
  content:''; position:absolute; left:0; right:0; bottom:-7px; height:2px;
  background:var(--eql-lime,#93C83D);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-nav__link:hover span::after,
.eql-nav__link:focus-visible span::after,
.eql-nav__link[aria-current="page"] span::after{ transform:scaleX(1); }

/* ============================================================
   DESKTOP ACTIONS
   ============================================================ */
.eql-nav__actions{ display:flex; align-items:center; gap:clamp(.75rem,1.5vw,1.5rem); }

.eql-nav__rule{
  width:1px; height:26px; background:var(--eql-lime,#93C83D); opacity:.55;
}

.eql-nav__phone{
  display:inline-flex; align-items:center; gap:.55rem;
  min-height:48px;
  font-family:var(--eql-font-label,'Martian Mono',monospace);
  font-size:.75rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--eql-white,#fff); text-decoration:none; white-space:nowrap;
  transition:color var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-nav__phone svg{ width:17px; height:17px; flex:0 0 auto; color:var(--eql-lime,#93C83D); }
.eql-nav__phone:hover{ color:var(--eql-lime,#93C83D); }

/* ============================================================
   BUTTONS (header scope — full set lives in the global button block)
   ============================================================ */
.eql-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  min-height:48px; padding:1rem 1.75rem;
  font-family:var(--eql-font-body,'Hanken Grotesk',sans-serif);
  font-size:.8125rem; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase;
  border:1px solid transparent; border-radius:var(--eql-radius,4px);
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:background-color var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             color var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             transform var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             box-shadow var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-btn:hover{ transform:translateY(-2px); }

/* Lime — ink text only. Lime + white is 2.0:1 and fails AA. */
.eql-btn--lime{ background:var(--eql-lime,#93C83D); color:var(--eql-ink,#0B100C); }
.eql-btn--lime:hover{ background:var(--eql-white,#fff); color:var(--eql-ink,#0B100C);
  box-shadow:0 2px 0 0 var(--eql-lime,#93C83D); }

/* WhatsApp — INK text, not white. #25D366 + white = 2.0:1 (fails).
   #25D366 + ink = 9.6:1 (passes AAA). Do not "correct" this. */
.eql-btn--whatsapp{ background:#25D366; color:var(--eql-ink,#0B100C); }
.eql-btn--whatsapp:hover{ background:#1FB855; color:var(--eql-ink,#0B100C); }
.eql-btn--whatsapp svg{ width:20px; height:20px; }

/* Ghost on dark backgrounds */
.eql-btn--ghost-light{
  background:transparent; color:var(--eql-white,#fff);
  border-color:rgba(255,255,255,.35);
}
.eql-btn--ghost-light:hover{
  background:var(--eql-white,#fff); color:var(--eql-ink,#0B100C); border-color:var(--eql-white,#fff);
}

/* ============================================================
   MOBILE TOGGLE
   ============================================================ */
.eql-nav__toggle{
  display:none; align-items:center; justify-content:center;
  width:48px; height:48px; margin-right:-8px;
  background:transparent; border:0; cursor:pointer; padding:0;
}
.eql-nav__burger{ position:relative; display:block; width:26px; height:16px; }
.eql-nav__burger i{
  position:absolute; left:0; height:2px; width:100%;
  background:var(--eql-white,#fff); border-radius:2px;
  transition:transform var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             opacity .2s linear, width var(--eql-dur,.45s) var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-nav__burger i:nth-child(1){ top:0; }
.eql-nav__burger i:nth-child(2){ top:7px; width:70%; }
.eql-nav__burger i:nth-child(3){ top:14px; }

[aria-expanded="true"] .eql-nav__burger i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
[aria-expanded="true"] .eql-nav__burger i:nth-child(2){ opacity:0; }
[aria-expanded="true"] .eql-nav__burger i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============================================================
   MOBILE PANEL
   ============================================================ */
.eql-panel{
  position:fixed; inset:0; z-index:8900;
  background:var(--eql-ink,#0B100C);
  padding-top:var(--eql-nav-h-mob,68px);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--eql-ease,cubic-bezier(.22,.61,.36,1)),
             visibility .3s var(--eql-ease,cubic-bezier(.22,.61,.36,1));
}
.eql-panel.is-open{ opacity:1; visibility:visible; pointer-events:auto; }

.eql-panel__inner{
  display:flex; flex-direction:column; height:100%;
  width:min(100% - 3rem, 640px); margin-inline:auto;
  padding:var(--eql-s4,2rem) 0 var(--eql-s4,2rem);
  overflow-y:auto; overscroll-behavior:contain;
}

.eql-panel__list{ list-style:none; margin:0; padding:0; }
.eql-panel__list li{ border-bottom:1px solid rgba(255,255,255,.09); }
.eql-panel__list a{
  display:flex; align-items:center; min-height:64px;
  font-family:var(--eql-font-display,'Archivo',sans-serif);
  font-size:clamp(1.25rem,5.5vw,1.625rem); font-weight:700;
  letter-spacing:-.02em; color:var(--eql-white,#fff); text-decoration:none;
}
.eql-panel__list a:hover,
.eql-panel__list a:focus-visible{ color:var(--eql-lime,#93C83D); }

.eql-panel__meta{
  display:flex; flex-direction:column; gap:.4rem;
  margin-top:var(--eql-s4,2rem);
}
.eql-panel__label{
  font-family:var(--eql-font-label,'Martian Mono',monospace);
  font-size:.6875rem; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.5);
}

.eql-panel__foot{
  display:flex; flex-direction:column; gap:.75rem;
  margin-top:auto; padding-top:var(--eql-s4,2rem);
}
.eql-panel__foot .eql-btn{ width:100%; }

body.eql-no-scroll{ overflow:hidden; }

/* ============================================================
   ENTRANCE — panel links stagger in (initial viewport only,
   per DESIGN.md §4; this is a user-triggered reveal, not scroll)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .eql-panel.is-open .eql-panel__list li{
    animation:eql-slide-in .4s var(--eql-ease,cubic-bezier(.22,.61,.36,1)) both;
    animation-delay:calc(var(--i,1) * .045s);
  }
  @keyframes eql-slide-in{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:none; }
  }
}

/* ============================================================
   FOCUS — never remove without a replacement (DESIGN.md §5)
   ============================================================ */
.eql-nav :where(a,button):focus-visible,
.eql-panel :where(a,button):focus-visible{
  outline:3px solid var(--eql-lime,#93C83D);
  outline-offset:4px; border-radius:2px;
}

/* ============================================================
   BREAKPOINTS
   ============================================================ */
@media (max-width:1200px){
  .eql-nav__phone span{ display:none; }   /* icon-only phone, keeps 48px target */
  .eql-nav__phone{ width:48px; justify-content:center; }
}

@media (max-width:1024px){
  :root{ --eql-nav-h:var(--eql-nav-h-mob,68px); --eql-nav-h-scrolled:var(--eql-nav-h-mob,68px); }
  .eql-nav__links,
  .eql-nav__actions{ display:none; }
  .eql-nav__toggle{ display:inline-flex; }
  .eql-nav__logo img{ height:42px; }
  .eql-nav.is-scrolled .eql-nav__logo img{ height:42px; }
  .eql-nav__inner{ width:min(100% - 2.5rem, 1360px); }
}

/* ============================================================
   ELEMENTOR RESETS
   Elementor wraps widgets in containers that add padding and
   can constrain the fixed header. Scoped, minimal, documented.
   ============================================================ */
.elementor-location-header{ position:relative; z-index:9000; }
.elementor-location-header .elementor-widget-container{ padding:0 !important; } /* beats .elementor-widget-html default padding */
.elementor-location-header > .e-con,
.elementor-location-header > .e-con > .e-con-inner{
  padding:0 !important;      /* beats Elementor container global padding */
  max-width:none !important; /* beats content-width constraint on a full-bleed bar */
}

@media (prefers-reduced-motion:reduce){
  .eql-nav,.eql-nav__inner,.eql-nav__logo img,.eql-btn,
  .eql-nav__link span::after,.eql-nav__burger i,.eql-panel{
    transition-duration:.01ms !important; animation-duration:.01ms !important;
  }
}/* End custom CSS */