/* BAM Design System v4.3 — Patches: mobile home link, ev-info mobile grid fix, about SVG centering */

@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica Now Text';src:url('helvetica-now-text-black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}

:root{
    --void:#0a0a12;--black:#0e0e18;--card:#16162a;--border:#1e1e30;--border-hover:#2a2a42;
    --white:#f4f0eb;--dim:#8a8698;--muted:#56526a;
    --blue:#3000ff;--yellow:#ffe800;--red:#ff0002;--purple:#c12dfe;--pink:#ff00c6;--green:#1fd800;--cyan:#01ffc6;
    --blue-deep:#0015a7;--yellow-deep:#ac9c00;--red-deep:#ac0001;--purple-deep:#9801d6;--pink-deep:#c4027d;--green-deep:#107200;--cyan-deep:#00ad86;
    --ruby:var(--red);--tangerine:var(--yellow);--gold:var(--yellow);--emerald:var(--green);--azure:var(--blue);--lilac:var(--purple);--magenta:var(--pink);
    --rainbow:linear-gradient(135deg,var(--red),var(--yellow),var(--green),var(--cyan),var(--blue),var(--purple),var(--pink));
    --warm:linear-gradient(135deg,var(--yellow),var(--pink),var(--purple));
    --cool:linear-gradient(135deg,var(--cyan),var(--blue),var(--purple));
    --glow-w:rgba(255,232,0,.12);--glow-l:rgba(193,45,254,.12);--glow-c:rgba(1,255,198,.10);
    --font-h:'Helvetica Now Text','Inter',-apple-system,sans-serif;
    --font-s:'DM Serif Display',serif;
    --font-d:var(--font-h);--font-b:var(--font-h);
    --ease:cubic-bezier(.16,1,.3,1);--tight:-0.03em;--tighter:-0.05em;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--void);color:var(--white);font-family:var(--font-h);font-weight:400;letter-spacing:var(--tight);overflow-x:hidden;line-height:1.5}
a{text-decoration:none;color:inherit;transition:color .3s var(--ease)}
img{max-width:100%;display:block}

.rainbow-text{background:var(--rainbow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:rainbowShift 8s ease infinite}
.warm-text{background:var(--warm);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cool-text{background:var(--cool);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@keyframes rainbowShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

#loader{position:fixed;inset:0;background:var(--void);z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 1s var(--ease),visibility 1s}
#loader.out{opacity:0;visibility:hidden;pointer-events:none}
.loader-text{font-family:var(--font-h);font-weight:100;font-size:1.4rem;letter-spacing:0.03em;text-transform:lowercase;color:var(--purple);opacity:0;animation:fadeIn .8s .3s forwards}
.loader-bar{width:120px;height:2px;margin-top:20px;border-radius:2px;overflow:hidden;background:var(--border);opacity:0;animation:fadeIn .6s .6s forwards}
.loader-bar::before{content:"";display:block;width:100%;height:100%;background:var(--rainbow);background-size:200% 100%;animation:barSlide 1.2s .8s ease-in-out infinite;transform:translateX(-100%)}
@keyframes fadeIn{to{opacity:1}}
@keyframes barSlide{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* NAV */
.nav{position:fixed;top:0;left:0;width:100%;z-index:9000;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:transparent;transition:background .5s}
.nav.solid{background:rgba(10,10,18,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-logo{display:flex;align-items:center;transition:opacity .3s}
.nav-logo:hover{opacity:.8}
.nav-logo-svg{height:40px;width:auto}
.nav-links{display:flex;gap:24px;list-style:none;align-items:center;font-size:.8rem;font-weight:400;letter-spacing:.08em}
.nav-links a{color:var(--muted);position:relative;padding-bottom:2px;transition:color .3s}
.nav-links a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--warm);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--yellow)}
.nav-links a.active::after{width:100%;background:var(--yellow)}
.lang-toggle{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:var(--white);background:none;border:1px solid var(--dim);padding:6px 16px;cursor:pointer;border-radius:40px;transition:all .3s var(--ease);margin-left:4px}
.lang-toggle:hover{border-color:var(--cyan);color:var(--cyan)}
.nav-toggle{display:none;background:none;border:none;color:var(--purple);font-size:1.3rem;cursor:pointer}

@media(max-width:768px){
    .nav{padding:16px 20px}
    .nav-logo-svg{height:34px}
    .nav-toggle{display:block}
    .nav-links{position:fixed;inset:0;background:rgba(10,10,18,.97);flex-direction:column;align-items:center;justify-content:center;gap:32px;font-size:1.2rem;letter-spacing:.1em;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
    .nav-links.open{opacity:1;visibility:visible}
    .nav-links a{color:var(--dim)}
}

/* TYPOGRAPHY */
.t-label{font-size:1rem;font-weight:400;letter-spacing:.1em;color:var(--yellow);margin-bottom:16px;display:block}
.t-heading{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.8rem);font-weight:700;line-height:1.05}
.t-heading-bold{font-size:clamp(2rem,5vw,3.8rem);font-weight:900;line-height:.95;letter-spacing:var(--tighter)}
.t-sub{font-size:1.1rem;font-weight:400;letter-spacing:.05em;color:var(--white)}
.t-body{font-size:1.1rem;line-height:1.7;color:var(--dim);font-weight:400;letter-spacing:var(--tight);max-width:580px}
.t-pullquote{font-family:var(--font-s);font-size:clamp(1.4rem,3vw,2.2rem);font-weight:400;font-style:italic;line-height:1.35;color:var(--dim);border-left:2px solid var(--yellow);padding-left:24px;max-width:600px}

/* BUTTONS */
.btn{display:inline-block;font-size:.9rem;font-weight:400;padding:16px 40px;letter-spacing:.08em;transition:all .4s var(--ease);border-radius:40px}
.btn-warm{background:var(--warm);background-size:200% 200%;color:var(--void);border:none;animation:rainbowShift 6s ease infinite}
.btn-warm:hover{box-shadow:0 0 40px var(--glow-w);letter-spacing:.12em;transform:translateY(-2px)}
.btn-lg{font-size:1.1rem;padding:20px 56px}
.btn-outline{background:transparent;color:var(--purple);border:1px solid var(--purple)}
.btn-outline:hover{border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 30px rgba(255,232,0,.12)}

/* MARQUEE */
.marquee{background:var(--rainbow);background-size:200% 100%;animation:rainbowBg 6s linear infinite;color:var(--void);padding:10px 0;overflow:hidden;white-space:nowrap;display:flex}
@keyframes rainbowBg{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.marquee-inner{display:inline-block;width:max-content;animation:mqScroll 40s linear infinite;font-size:clamp(.8rem,1.3vw,1.1rem);font-weight:400;letter-spacing:.12em}
@keyframes mqScroll{to{transform:translateX(-50%)}}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);padding:clamp(32px,5vw,56px);border-radius:16px;position:relative;overflow:hidden;transition:border-color .5s var(--ease),box-shadow .5s var(--ease),transform .4s var(--ease)}
.card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.card-glow:hover{border-color:rgba(193,45,254,.25);box-shadow:0 8px 60px var(--glow-l)}
.card-accent{position:absolute;top:0;left:0;width:100%;height:3px;background:var(--rainbow);background-size:200% 100%;animation:rainbowBg 6s linear infinite;border-radius:16px 16px 0 0}

/* PILLS */
.pill{font-size:.8rem;font-weight:400;letter-spacing:.06em;padding:8px 20px;border:1px solid var(--border);border-radius:40px;color:var(--dim);display:inline-block;transition:border-color .3s,color .3s}
.pill:hover{border-color:var(--purple);color:var(--purple)}
.svg-glow{filter:drop-shadow(0 0 60px rgba(193,45,254,.12)) drop-shadow(0 0 120px rgba(1,255,198,.06))}

/* SCROLL REVEAL */
.rv{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.vis{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.15s}.rv-d2{transition-delay:.3s}.rv-d3{transition-delay:.45s}

/* STICKY MOBILE CTA */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;width:100%;z-index:8000;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:rgba(10,10,18,.95);backdrop-filter:blur(12px);border-top:1px solid var(--border);text-align:center;transform:translateY(100%);transition:transform .4s var(--ease)}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta .btn{width:100%;display:block}
@media(max-width:768px){.sticky-cta{display:block}}

/* FOOTER */
.footer{border-top:1px solid var(--border);padding:48px 40px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;max-width:1100px;margin:0 auto;width:100%}
.footer-brand{font-weight:100;font-size:1rem;color:var(--muted);letter-spacing:var(--tight)}
.footer-links{display:flex;gap:32px;list-style:none;font-size:1rem;font-weight:400;letter-spacing:.05em;justify-content:center;flex-wrap:wrap}
.footer-links a{color:var(--dim);padding-bottom:4px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.footer-links a:hover{color:var(--white);border-bottom-color:var(--yellow)}
.footer-copy{width:100%;text-align:center;font-size:.7rem;font-weight:100;color:var(--muted);letter-spacing:.08em;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}
@media(max-width:768px){.footer{padding:32px 20px}.footer-links{gap:24px}}

/* UTILITY */
.wrap{max-width:1100px;margin:0 auto;padding:0 40px;width:100%}
.spacer{height:clamp(80px,12vh,140px)}.spacer-sm{height:clamp(40px,6vh,70px)}
.line-v{width:1px;height:60px;margin:0 auto;background:linear-gradient(to bottom,transparent,var(--muted))}
.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:orbFloat 12s ease-in-out infinite alternate}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(30px,-20px) scale(1.1)}}
@media(max-width:768px){.wrap{padding:0 20px}}

/* NAV + HERO SVG ANIMATIONS */
@keyframes navRC{0%{stop-color:var(--pink)}14.3%{stop-color:var(--blue)}28.6%{stop-color:var(--cyan)}42.9%{stop-color:var(--green)}57.1%{stop-color:var(--yellow)}71.4%{stop-color:var(--red)}85.7%{stop-color:var(--purple)}100%{stop-color:var(--pink)}}
.ns1{animation:navRC 16s infinite linear}.ns2{animation:navRC 16s infinite linear -2.28s}.ns3{animation:navRC 16s infinite linear -4.57s}.ns4{animation:navRC 16s infinite linear -6.86s}.ns5{animation:navRC 16s infinite linear -9.14s}

/* ═══ PATCH: ev-info forced single row on mobile ═══ */
@media(max-width:768px){
    .ev-info{grid-template-columns:1fr 1fr 1fr !important;gap:0}
    .ev-info-item{padding:20px 12px}
    .ev-info-label{font-size:.6rem}
    .ev-info-val{font-size:.85rem}
}
@media(max-width:420px){
    .ev-info{grid-template-columns:1fr 1fr 1fr !important}
    .ev-info-item{padding:16px 8px}
    .ev-info-val{font-size:.75rem}
}

/* Home link: hidden on desktop, visible in mobile hamburger */
.nav-home{display:none}
@media(max-width:768px){.nav-home{display:block}}
