/* Assist Edge theme CSS — ONLY what Elementor's Style/Advanced tabs can't do.
   All colours, typography, spacing, borders, hover and entrance animations live in Elementor. */
/* ---- Theme colours (design system tokens). Dark is the default; light is html[data-theme=light] (toggle in header, see main.js).
   Elementor settings reference these variables. The footer is always dark. ---- */
:root,html[data-theme=dark]{--ae-bg:#0a0b08;--ae-bg2:#101209;--ae-card:#13150f;--ae-line:rgba(255,255,255,.09);--ae-fg:#f3f5ee;--ae-mute:#9ba091;--ae-ink:#c8ff00;--ae-accent-soft:rgba(200,255,0,.07);--ae-band:#c8ff00;--ae-band-fg:#0a0b08;--ae-band-mute:#3b4612;--ae-band-line:rgba(10,11,8,.16);--ae-band-accent:#0a0b08;--ae-band-btn:#0a0b08;--ae-band-btn-fg:#c8ff00;--ae-band-btn-hover:#1b1d14;color-scheme:dark}
html[data-theme=light]{--ae-bg:#f7f8f3;--ae-bg2:#eef0e7;--ae-card:#fff;--ae-line:rgba(10,12,6,.11);--ae-fg:#0d0f0a;--ae-mute:#5b6054;--ae-ink:#4a6600;--ae-accent-soft:rgba(200,255,0,.22);--ae-band:#0d0f0a;--ae-band-fg:#f3f5ee;--ae-band-mute:#a3a89a;--ae-band-line:rgba(255,255,255,.12);--ae-band-accent:#c8ff00;--ae-band-btn:#c8ff00;--ae-band-btn-fg:#0a0b08;--ae-band-btn-hover:#d8ff4d;color-scheme:light}
.ae-footer{--ae-bg:#0a0b08;--ae-card:#13150f;--ae-line:rgba(255,255,255,.09);--ae-fg:#f3f5ee;--ae-mute:#9ba091;--ae-ink:#c8ff00;--ae-accent-soft:rgba(200,255,0,.07)}
.ae-theming,.ae-theming *{transition:background-color .3s,color .3s,border-color .3s!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ae-bg)}
.ae-page{overflow-x:clip}
.ae-page a{text-decoration:none}

/* sticky header + sticky left columns (Elementor sticky is a Pro feature) */
.ae-sticky{position:sticky!important;top:0;z-index:50}
@media(min-width:1025px){.ae-sticky-col{align-self:flex-start;position:sticky;top:120px}}

/* pulsing "New" badge */
@keyframes ae-pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,255,0,.55)}50%{box-shadow:0 0 0 7px rgba(200,255,0,0)}}
.ae-pulse{animation:ae-pulse 2.4s ease-in-out infinite}

/* scrolling industry marquee */
@keyframes ae-marquee{to{transform:translateX(-50%)}}
.ae-mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ae-mq-track{display:flex;width:max-content;animation:ae-marquee 38s linear infinite}
.ae-mq-item{display:flex;align-items:center;gap:clamp(28px,4vw,56px);padding-right:clamp(28px,4vw,56px);font:800 clamp(28px,3.6vw,48px)/1.1 'Archivo',sans-serif;letter-spacing:-.03em;white-space:nowrap;color:var(--ae-fg)}
.ae-mq-item:nth-child(even) span{color:transparent;-webkit-text-stroke:1.2px var(--ae-fg)}
.ae-mq-item i{width:12px;height:12px;border-radius:50%;background:#c8ff00;flex:none}

/* footer wordmark with mouse-follow glow (see main.js) */
.ae-footer{position:relative;overflow:hidden}
.ae-wordmark{--mx:50%;position:relative;margin-top:24px;height:clamp(56px,12.5vw,250px);overflow:hidden;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,transparent 40%,rgba(200,255,0,.12))}
.ae-wordmark div{position:absolute;left:0;right:0;bottom:-.2em;text-align:center;font:800 clamp(64px,14.5vw,300px)/1 'Archivo',sans-serif;letter-spacing:-.05em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(200,255,0,.28);background:radial-gradient(circle at var(--mx) 70%,#c8ff00 0%,rgba(200,255,0,.55) 18%,rgba(200,255,0,.08) 42%,transparent 60%);-webkit-background-clip:text;background-clip:text;user-select:none}

@media(prefers-reduced-motion:reduce){.ae-pulse,.ae-mq-track{animation:none}html{scroll-behavior:auto}}

/* mobile menu (design system: nav collapses to a menu panel; Elementor free has no menu toggle) */
.ae-sticky .ae-menu-panel{display:none!important}
.ae-sticky .ae-menu-panel.is-open{display:flex!important}
@media(min-width:1025px){.ae-sticky .ae-menu-panel{display:none!important}}

/* logo slider: continuous marquee, 30s, edge fade (design system) */
@keyframes ae-logos{to{transform:translateX(-50%)}}
.ae-logos{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ae-logos-track{display:flex;gap:14px;width:max-content;animation:ae-logos 30s linear infinite}
.ae-logo-chip{flex:none;width:190px;height:76px;display:flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:16px;background:#fff;border:1px solid var(--ae-line)}
.ae-logo-chip.dk{background:#0a0b08;border-color:rgba(255,255,255,.14)}
.ae-logo-chip img{max-height:40px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.9}

/* design system: anchors clear the sticky header, no tap flash, stable text size */
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
a,button{-webkit-tap-highlight-color:transparent}

/* reduced motion: also switch off Elementor entrance animations */
@media(prefers-reduced-motion:reduce){
  .ae-logos-track{animation:none}
  .animated{animation:none!important}
  .elementor-invisible{visibility:visible!important;opacity:1!important}
}


/* FAQ accordion per design system: hairline rows (no box), 32px circular +/- , heading column stays at the top and sticks.
   Elementor's Accordion widget has no controls for bottom-only borders or a circled icon. */
@media(min-width:1025px){.ae-page .e-con.ae-sticky-col{align-self:flex-start!important;position:sticky!important;top:120px;justify-content:flex-start!important}}
.ae-page .ae-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--ae-line)!important}
.ae-page .ae-faq .elementor-tab-content{border-top:0!important}
.ae-page .ae-faq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:20px}
.ae-page .ae-faq .elementor-accordion-title{flex:1;transition:color .25s}
.ae-page .ae-faq .elementor-tab-title:hover .elementor-accordion-title{color:var(--ae-ink)!important}
.ae-page .ae-faq .elementor-accordion-icon{order:2!important;flex:none!important;width:32px!important;height:32px!important;margin:0!important;float:none!important;border:1px solid var(--ae-line);border-radius:50%;display:flex!important;align-items:center;justify-content:center}
.ae-page .ae-faq .elementor-accordion-icon svg{width:12px;height:12px}

/* Embedded booking calendar: the page sets color-scheme (dark/light), which makes browsers paint an opaque white canvas behind an embedded
   document that declares a different scheme. Matching the embed's own (light) scheme keeps the frame transparent. */
.ae-page iframe{color-scheme:light}
