/* === Firma T.Z.N. — shared styles === */
:root{
  --green:#1ea84c;
  --green-bright:#2cd768;
  --red:#c8232c;
  --red-bright:#ff3a44;
  --black:#0a0a0a;
  --ink:#0a0a0a;
  --bone:#f4efe6;
  --paper:#ece4d3;
  --grid: rgba(255,255,255,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--black);color:var(--bone);font-family:'Bricolage Grotesque',system-ui,sans-serif;overflow-x:hidden}
body{font-size:17px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.display{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:-.01em;text-transform:uppercase;line-height:.9}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.container{max-width:1440px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-bright);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 12px var(--green-bright);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
::selection{background:var(--green-bright);color:var(--ink)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,backdrop-filter .3s,padding .3s}
.nav.scrolled{background:rgba(10,10,10,.78);backdrop-filter:blur(14px);padding:12px 32px;border-bottom:1px solid rgba(255,255,255,.06)}
.nav-logo {
  height: 100px;
  display: block;
}
.nav-links{display:flex;gap:28px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;align-items:center}
.nav-links a{position:relative;padding:6px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green-bright);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover, .nav-links a.active{color:var(--green-bright)}
.nav-links a.active::after, .nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{padding:10px 18px;background:var(--green);border:2px solid var(--green);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;transition:transform .15s,background .15s;color:#0a0a0a}
.nav-cta:hover{background:var(--green-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 #000}
.nav-dropdown{position:relative}
.nav-dropdown > button{font:inherit;color:inherit;letter-spacing:.18em;text-transform:uppercase;font-size:12px;padding:6px 0;display:inline-flex;align-items:center;gap:6px}
.nav-dropdown > button::after{content:"▾";font-size:10px;opacity:.7}
.nav-dropdown:hover .nav-menu, .nav-dropdown:focus-within .nav-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu{position:absolute;top:calc(100% + 8px);left:-16px;min-width:200px;background:#0a0a0a;border:1px solid rgba(255,255,255,.1);padding:10px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-menu a{padding:10px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.nav-menu a::after{display:none}
.nav-menu a:hover{background:rgba(44,215,104,.08);color:var(--green-bright)}

/* Mobile nav */
.nav-toggle{display:none;width:56px;height:56px;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);transition:background .2s,border-color .2s,transform .2s;border-radius:6px;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:51}
@media (hover:hover){
  .nav-toggle:hover{background:rgba(44,215,104,.1);border-color:var(--green-bright);color:var(--green-bright)}
}
.nav-toggle:active{background:rgba(44,215,104,.18)}
.nav-toggle svg{width:30px;height:30px;transition:transform .25s ease}
.nav-toggle .icon-close{display:none}
.nav.open .nav-toggle{background:var(--green-bright);border-color:var(--green-bright);color:var(--ink)}
.nav.open .nav-toggle .icon-open{display:none}
.nav.open .nav-toggle .icon-close{display:block}

.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:49;opacity:0;transition:opacity .25s ease}
.nav.open + .nav-backdrop, .nav-backdrop.open{display:block;opacity:1}

@media (max-width:980px){
  .nav{padding:14px 20px}
  .nav.scrolled{padding:10px 20px;background:rgba(10,10,10,.96);backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-logo{height:42px}
  .nav-toggle{display:inline-flex;margin-left:auto}
  .nav-cta, .buttons-wrapper{display:none}

  .nav-links{position:fixed;top:0;right:0;bottom:0;width:min(380px,88vw);background:#0a0a0a;border-left:1px solid rgba(255,255,255,.08);flex-direction:column;align-items:stretch;gap:0;padding:100px 0 32px;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;overflow-y:auto;box-shadow:-12px 0 40px rgba(0,0,0,.4)}
  .nav.open .nav-links{transform:translateX(0)}

  .nav-links > a, .nav-dropdown > button{display:block;width:100%;padding:18px 28px;font-size:14px;letter-spacing:.2em;border-bottom:1px solid rgba(255,255,255,.05);text-align:left}
  .nav-links > a::after{display:none}
  .nav-links > a.active{color:var(--green-bright);background:rgba(44,215,104,.05);border-left:3px solid var(--green-bright);padding-left:25px}
  .nav-links > a:hover{color:var(--green-bright);background:rgba(255,255,255,.02)}

  .nav-dropdown{width:100%;border-bottom:1px solid rgba(255,255,255,.05)}
  .nav-dropdown > button{border-bottom:0;justify-content:space-between;width:100%}
  .nav-dropdown > button::after{margin-left:auto}
  .nav-menu{position:static;opacity:1;visibility:visible;transform:none;background:rgba(255,255,255,.02);border:0;border-top:1px solid rgba(255,255,255,.05);padding:0;display:flex;flex-direction:column;gap:0;min-width:0}
  .nav-menu a{padding:14px 28px 14px 44px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04);color:rgba(244,239,230,.7)}
  .nav-menu a:last-child{border-bottom:0}

  /* Social buttons inside mobile menu */
  .nav-mobile-social{display:flex;gap:12px;padding:24px 28px 8px;margin-top:auto;border-top:1px solid rgba(255,255,255,.08)}
  .nav-mobile-social a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 12px;background:var(--green);color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;border:2px solid var(--green);transition:background .2s,transform .15s}
  .nav-mobile-social a:hover{background:var(--green-bright);border-color:var(--green-bright)}
  .nav-mobile-social a.alt{background:transparent;color:var(--green-bright);border-color:var(--green-bright)}
  .nav-mobile-social a.alt:hover{background:var(--green-bright);color:var(--ink)}
}

@media (min-width:981px){
  .nav-mobile-social{display:none}
  .nav-backdrop{display:none !important}
}

/* MARQUEE */
.marquee{background:var(--green);color:var(--ink);padding:14px 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);overflow:hidden;position:relative}
.marquee.alt{background:var(--bone);color:var(--ink)}
.marquee.dark{background:var(--ink);color:var(--bone);border-color:var(--green)}
.marquee-track{display:flex;gap:48px;white-space:nowrap;animation:marquee 38s linear infinite;font-family:'Anton',sans-serif;font-size:34px;text-transform:uppercase;letter-spacing:.02em}
.marquee-track.reverse{animation:marquee-r 38s linear infinite}
.marquee-track span{display:inline-flex;align-items:center;gap:48px}
.marquee-track .star{font-size:24px;color:var(--red)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* SECTION HEAD */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:48px}
.section-h{font-size:clamp(48px,7vw,96px);color:#fff;max-width:820px}
.section-h em{color:var(--green-bright);font-style:italic}

/* INNER PAGE HEADER (used on subpages) */
.page-head{padding:140px 0 80px;background:var(--black);position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.page-head::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 0%, rgba(30,168,76,.18), transparent 70%);pointer-events:none}
.page-head .container{position:relative;z-index:1}
.page-head .crumb{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,239,230,.55);margin-bottom:18px;display:flex;gap:8px}
.page-head .crumb a:hover{color:var(--green-bright)}
.page-head h1{font-family:'Anton',sans-serif;font-size:clamp(64px,10vw,160px);text-transform:uppercase;color:#fff;line-height:.92;letter-spacing:-.01em}
.page-head h1 em{color:var(--green-bright);font-style:italic}
.page-head .lead{margin-top:24px;font-size:20px;line-height:1.5;color:rgba(244,239,230,.78);max-width:720px}

/* FOOTER */
footer{background:#050505;color:rgba(244,239,230,.7);padding:80px 0 32px;border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-logo{height:60px;margin-bottom:18px}
.foot-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.foot-list{display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot-list a:hover{color:var(--green-bright)}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.4)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}


@media (min-width: 992px) and (max-width: 1499px)  {
  .page-head {
    padding: 180px 0 80px;
  }
}