:root{
    --void:#0a0a0b;
    --panel:#151517;
    --panel-2:#1d1d20;
    --bone:#ece8e0;
    --bone-dim:#a9a6a0;
    --amber:#e2261c;
    --amber-dim:#5c1210;
    --ember:#c81e3a;
    --static:#5c5c62;
    --line: rgba(236,232,224,0.09);
    --radius: 2px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth; scroll-padding-top:90px;}
  .reveal{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s cubic-bezier(0.22,1,0.36,1), transform .7s cubic-bezier(0.22,1,0.36,1);
  }
  .reveal.in-view{opacity:1; transform:translateY(0);}
  body{
    background:var(--void);
    color:var(--bone);
    font-family:'Inter', sans-serif;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  .mono{font-family:'JetBrains Mono', monospace;}
  .display{font-family:'Anton', sans-serif; text-transform:uppercase; letter-spacing:0.01em;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}
  :focus-visible{outline:2px solid var(--amber); outline-offset:3px;}

  body::before{
    content:"";
    position:fixed; inset:0;
    pointer-events:none;
    z-index:9999;
    opacity:0.035;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .wrap{
    max-width:1180px; 
    margin:0 auto; 
    padding:0 32px;
}
  section{
    position:relative;
}


  .eyebrow{
    display:flex; 
    align-items:center; 
    gap: 18px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px; 
    letter-spacing:0.18em; 
    text-transform:uppercase;
    color:var(--amber); 
    margin-bottom: 18px;
  }


  .eyebrow::before{
    content:""; 
    width:16px; 
    height:1px; 
    background:var(--amber);
}

  header{
    position:fixed; top:0; left:0; right:0; z-index:500;
    background:rgba(10,10,11,0.72);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{
    max-width:1180px; 
    margin:0 auto; 
    padding:16px 32px;
    display:flex; 
    align-items:center; 
    justify-content:space-between;
  }

  .brand{
    display:flex; 
    align-items:center; 
    gap:10px;
  }

  .brand img{
    height:26px; 
    width:auto;
  }

  .brand span{
    font-family:'Anton', sans-serif; 
    font-size:19px; 
    letter-spacing:0.02em;
  }
  
  .navlinks{
    display:flex; 
    gap:34px; 
    font-size:13px; 
    letter-spacing:0.04em; 
    text-transform:uppercase;
  }
  .navlinks a{
    color:var(--bone-dim); 
    transition:color .35s cubic-bezier(0.22,1,0.36,1); 
    position:relative; 
    padding:4px 0;}
  .navlinks a:hover{color:var(--bone);}
  .navlinks a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--amber); transition:width .4s cubic-bezier(0.22,1,0.36,1);}
  .navlinks a:hover::after{width:100%;}

  .nav-action {
    display:flex;
    align-items:center;
    gap: 30px;
  }
  
  .nav-cta{
    font-size:12px; 
    letter-spacing:0.08em; 
    text-transform:uppercase;
    background:var(--amber); 
    color:#141400; 
    padding:11px 20px;
    font-weight:700; 
    border:none; 
    border-radius:var(--radius);
    transition:transform .35s cubic-bezier(0.22,1,0.36,1), box-shadow .35s cubic-bezier(0.22,1,0.36,1);
  }
  .nav-cta:hover{
    transform:translateY(-1px); 
    box-shadow:0 0 24px rgba(226,38,28,0.35);
  }
  .nav-cad{
    font-size: 12px;
    letter-spacing:0.08em; 
    font-family:'Anton', sans-serif; 
  }
    .nav-cliente:hover{
      transform:translateY(-1px); 
      box-shadow:0 0 24px rgba(226,38,28,0.35);
    }

  .burger{display:none; background:none; border:none; color:var(--bone); font-size:22px;}

@media (max-width:860px){

    /* HEADER MOBILE */
    nav{
        padding:14px 16px;
        min-height:62px;
        gap:10px;
    }

    .brand{
        gap:8px;
        flex-shrink:1;
        min-width:0;
    }

    .brand img{
        height:23px;
    }

    .brand span{
        font-size:17px;
        white-space:nowrap;
    }

    .navlinks{
        display:none;
    }

    .nav-action{
        display:flex;
        align-items:center;
        gap:10px;
        flex-shrink:0;
    }

    /* CADASTRE-SE */
    .nav-cad{
        display:block;
        font-size:10px;
        letter-spacing:0.05em;
        white-space:nowrap;
    }

    /* COMPRAR */
    .nav-cta{
        display:block;
        font-size:10px;
        padding:9px 12px;
        white-space:nowrap;
    }

    /* MENU */
    .burger{
        display:block;
        font-size:22px;
        padding:4px;
        flex-shrink:0;
    }

    /* RESTANTE DO RESPONSIVO */
    .breaker-grid,
    .attr-grid{
        grid-template-columns:1fr;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .split{
        grid-template-columns:1fr;
    }

    .contact-grid{
        grid-template-columns:1fr;
        padding-top:70px;
    }

    .digit{
        padding:0 12px;
    }

    .hero{
        padding-top:120px;
    }
}

  .hero{
    min-height:100vh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:150px 24px 100px;
    position:relative;
    background:
      radial-gradient(ellipse 60% 50% at 50% 20%, rgba(226,38,28,0.08), transparent 60%),
      var(--void);
    border-bottom:1px solid var(--line);
  }
  .hero-logo{
    position:relative;
    display:flex; flex-direction:column; align-items:center;
    margin-bottom:28px;
    animation: heroReveal 1.5s cubic-bezier(0.16,1,0.3,1) 1 both;
  }
  .hero-glow{
    position:absolute; top:46%; left:50%;
    width:560px; height:400px;
    transform:translate(-50%,-50%);
    background:radial-gradient(ellipse, rgba(226,38,28,0.14), transparent 72%);
    filter:blur(6px);
    animation: glowPulse 7s ease-in-out infinite;
    pointer-events:none;
    z-index:0;
    will-change:transform;
  }
  @keyframes glowPulse{
    0%,100%{opacity:0.55; transform:translate(-50%,-50%) scale(1);}
    50%{opacity:0.9; transform:translate(-50%,-50%) scale(1.07);}
  }
  .hero-icon, .hero-word{position:relative; z-index:1;}
  .hero-icon{
    width:100px; margin-bottom:2px;
    filter:drop-shadow(0 0 30px rgba(226,38,28,0.25));
  }
  @keyframes heroReveal{
    0%{opacity:0;}
    9%{opacity:0.8;}
    12%{opacity:0.08;}
    18%{opacity:1;}
    100%{opacity:1;}
  }
  .hero-word{width:min(680px, 88vw); margin:0 auto 22px;}
  .embers{position:absolute; inset:0; overflow:hidden; pointer-events:none;}
  .ember{
    position:absolute; bottom:8%; border-radius:50%;
    background:var(--ember);
    opacity:0;
    animation-name: emberRise;
    animation-duration:8s;
    animation-timing-function:ease-in;
    animation-iteration-count:infinite;
  }
  @keyframes emberRise{
    0%{transform:translate(0,0); opacity:0;}
    10%{opacity:0.55;}
    85%{opacity:0.12;}
    100%{transform:translate(var(--drift,14px), -420px); opacity:0;}
  }
  /* subtitulo da Header */
  .hero h1.sub{
    font-family:'Anton', sans-serif;
    font-size:clamp(20px, 3vw, 30px);
    letter-spacing:0.06em;
    color:var(--amber);
    margin-bottom:130px;
  }
  /*informações da festa */
  .hero-meta{
    display:flex; 
    gap:28px; 
    flex-wrap:wrap; 
    justify-content:center;
    font-family:'JetBrains Mono', monospace; 
    font-size:13px; letter-spacing:0.05em;
    color:var(--bone-dim); 
    text-transform:uppercase; 
    margin-bottom:48px;
  }
  .hero-meta strong{color:var(--bone); 
    font-weight:500;
}
 /* Contagem regressiva */
  .panel-box{
    display:inline-flex; gap:2px;
    background:var(--panel);
    border:1px solid var(--line);
    padding:22px 26px;
    border-radius:var(--radius);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
  }

  .digit{
    display:flex; 
    flex-direction:column; 
    align-items:center; 
    gap:8px;
    padding:0 20px; 
    position:relative;
  }

  .digit + .digit{
    border-left:1px solid var(--line);
}

  .digit .num{
    font-family:'JetBrains Mono', monospace; 
    font-weight:700;
    font-size:clamp(28px,5vw,42px); 
    color:var(--amber);
    text-shadow:0 0 18px rgba(226,38,28,0.45);
    font-variant-numeric:tabular-nums;
  }
  .digit .lbl{
    font-size:10px; 
    letter-spacing:0.18em; 
    color:var(--static); 
    text-transform:uppercase;
}

  .cta-row{
    margin-top:44px; 
    display:flex; 
    gap:18px; 
    flex-wrap:wrap; 
    justify-content:center;
}

  .btn-switch{
    display:inline-flex; 
    align-items:center; 
    gap:12px;
    background:var(--amber); 
    color:#141400; 
    font-weight:700;
    font-size:13px; 
    letter-spacing:0.08em; 
    text-transform:uppercase;
    padding:16px 30px; 
    border:none; 
    border-radius:var(--radius);
    transition:transform .35s 
    cubic-bezier(0.22,1,0.36,1), 
    box-shadow .35s cubic-bezier(0.22,1,0.36,1);
  }
  .btn-switch:hover{transform:translateY(-2px); box-shadow:0 8px 30px rgba(226,38,28,0.35);}
  .btn-switch .toggle{
    width:30px; height:16px; border-radius:10px; background:#141400;
    position:relative; flex-shrink:0;
  }
  .btn-switch .toggle::after{
    content:""; 
    position:absolute; 
    top:2px; 
    right:2px; 
    width:12px; 
    height:12px;
    border-radius:50%; 
    background:var(--bone);
  }

  .btn-ghost{
    display:inline-flex; align-items:center; gap:10px;
    border:1px solid var(--line); color:var(--bone);
    font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    padding:16px 26px; border-radius:var(--radius);
    transition:border-color .35s cubic-bezier(0.22,1,0.36,1), color .35s cubic-bezier(0.22,1,0.36,1);
  }
  .btn-ghost:hover{border-color:var(--amber); color:var(--amber);}

  .sec-head{
    margin-bottom:56px;
}
  .sec-head h2{
    font-family:'Anton', sans-serif; 
    font-size:clamp(32px,5vw,54px); 
    line-height:1.02;
}
  .sec-head p{
    color:var(--bone-dim); 
    max-width:520px; 
    margin-top:14px; 
    font-size:15px; 
    line-height:1.6;
}

  section.pad{
    padding:120px 0;
}
  section.pad.tight{
    padding:100px 0;
}

  .breaker-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:var(--line); border:1px solid var(--line);
  }
  .breaker{
    background:var(--panel); padding:32px 28px;
    display:flex; flex-direction:column; gap:18px;
    transition:background .4s cubic-bezier(0.22,1,0.36,1);
  }
  .breaker:hover{background:var(--panel-2);}
  .breaker-top{display:flex; align-items:center; justify-content:space-between;}
  .breaker-icon{width:26px; height:26px; color:var(--amber);}
  .switch-pill{
    width:38px; height:20px; border-radius:11px; background:#242426;
    position:relative; flex-shrink:0;
  }
  .switch-pill::after{
    content:""; position:absolute; top:2px; width:16px; height:16px; border-radius:50%;
    background:var(--amber); box-shadow:0 0 10px rgba(226,38,28,0.6);
    right:2px; transition:all .35s cubic-bezier(0.22,1,0.36,1);
  }
  .breaker h3{font-family:'Anton', sans-serif; font-size:19px; letter-spacing:0.02em;}
  .breaker p{color:var(--bone-dim); font-size:13.5px; line-height:1.55;}
  .breaker-code{font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--static); letter-spacing:0.1em;}

  .gallery-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .gtile{
    aspect-ratio:1; position:relative; overflow:hidden;
    display:flex; align-items:flex-end; padding:14px;
  }
  .gtile span{
    font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--bone-dim); position:relative; z-index:2;
  }
  .gtile::before{content:""; position:absolute; inset:0; z-index:1;}
  .gtile:nth-child(1)::before{background:linear-gradient(160deg,#1c2b2e,#0a0a0b 70%);}
  .gtile:nth-child(2)::before{background:linear-gradient(160deg,#2a1518,#0a0a0b 70%);}
  .gtile:nth-child(3)::before{background:linear-gradient(160deg,#22201a,#0a0a0b 70%);}
  .gtile:nth-child(4)::before{background:linear-gradient(160deg,#161a2a,#0a0a0b 70%);}
  .gtile:nth-child(5)::before{background:linear-gradient(160deg,#2a1a26,#0a0a0b 70%);}
  .gtile:nth-child(6)::before{background:linear-gradient(160deg,#1a2420,#0a0a0b 70%);}
  .gtile:hover span{color:var(--amber);}

  .universe{
    background:var(--panel);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:130px 0; text-align:center; position:relative;
  }
  .universe .eyebrow{justify-content:center;}
  .universe .eyebrow::before{display:none;}
  .universe h2{
    font-family:'Anton', sans-serif; font-size:clamp(30px,6vw,58px);
    line-height:1.08; max-width:820px; margin:0 auto 30px;
  }
  .universe h2 .hl{color:var(--amber);}
  .universe p{max-width:560px; margin:0 auto; color:var(--bone-dim); font-size:15.5px; line-height:1.75;}
  .universe .rules{
    display:flex; gap:40px; justify-content:center; flex-wrap:wrap; margin-top:44px;
    font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em; color:var(--static);
    text-transform:uppercase;
  }
  .universe .rules span{color:var(--bone-dim);}

  .attr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .attr{
    background:var(--panel); padding:50px 30px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:16px;
  }
  .lock{width:30px; height:30px; color:var(--static);}
  .attr .code{font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.15em; color:var(--static);}
  .attr h4{font-family:'Anton', sans-serif; font-size:16px; letter-spacing:0.1em; color:var(--bone-dim);}
  .attr .qs{font-family:'Anton', sans-serif; font-size:26px; color:var(--ember); letter-spacing:0.3em;}

  .split{display:grid; grid-template-columns:0.95fr 1.15fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .map-pane{background:var(--panel); padding:36px;}
  .map-pane h3, .tix-pane h3{font-family:'Anton', sans-serif; font-size:15px; letter-spacing:0.14em; color:var(--bone-dim); margin-bottom:22px;}
  .floorplan{width:100%; height:auto; border:1px solid var(--line);}
  .floorplan text{font-family:'JetBrains Mono', monospace; font-size:9px; fill:var(--bone-dim); letter-spacing:0.08em;}
  .floorplan .room{fill:var(--void); stroke:var(--line); stroke-width:1;}
  .floorplan .arrow{stroke:var(--amber); stroke-width:1.5; fill:none;}

  .tix-pane{background:var(--panel); padding:36px;}
  .lot{
    display:flex; 
    align-items:center; 
    justify-content:space-between;
    padding:20px 4px; border-bottom:1px 
    solid var(--line);
    gap:16px;
  }
  .lot:last-child{border-bottom:none;}
  .lot-left{display:flex; align-items:center; gap:18px;}
  .lot-switch{
    width:44px; height:24px; border-radius:13px; background:#242426; position:relative; flex-shrink:0;
  }
  .lot-switch::after{
    content:""; 
    position:absolute; 
    top:3px; 
    width:18px; 
    height:18px; 
    border-radius:50%; 
    background:var(--static); 
    left:3px;
  }
  .lot.active .lot-switch{
    background:rgba(226,38,28,0.18); 
    box-shadow:inset 0 0 0 1px var(--amber);
  }
  .lot.active .lot-switch::after{
    background:var(--amber); 
    left:auto; right:3px; 
    box-shadow:0 0 12px rgba(226,38,28,0.7);
  }
  .lot-name{font-family:'Anton', sans-serif; font-size:16px; letter-spacing:0.04em;}
  .lot-info{font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--static); letter-spacing:0.05em;}
  .lot-price{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:20px; color:var(--bone);}
  .lot.active .lot-price{color:var(--amber);}
  .lot-buy{
    font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    padding:10px 16px; border-radius:var(--radius); border:1px solid var(--line); color:var(--bone-dim);
    white-space:nowrap;
  }
  .lot.active .lot-buy{background:var(--amber); color:#141400; border-color:var(--amber);}
  .tix-note{margin-top:18px; font-size:11.5px; color:var(--static); line-height:1.6;}

  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; background:none; border:none; color:var(--bone);
    display:flex; justify-content:space-between; align-items:center;
    padding:24px 4px; font-size:16px; font-weight:600; text-align:left;
  }
  .faq-q .plus{font-family:'JetBrains Mono', monospace; color:var(--amber); font-size:18px; transition:transform .35s cubic-bezier(0.22,1,0.36,1);}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(0.22,1,0.36,1);}
  .faq-a p{padding:0 4px 24px; color:var(--bone-dim); font-size:14.5px; line-height:1.7; max-width:640px;}

/* Informações de contato */
  .contact{
    background:var(--panel); 
    border-top:1px solid var(--line);
  }
  .contact-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:60px; padding:100px 0 70px;}
  .contact-grid h2{font-family:'Anton', sans-serif; font-size:clamp(28px,4vw,40px); margin-bottom:20px;}
  .contact-grid p{color:var(--bone-dim); font-size:14.5px; line-height:1.7; max-width:420px;}
  .contact-list{margin-top:28px; display:flex; flex-direction:column; gap:14px;}
  .contact-list li{display:flex; gap:12px; align-items:center; font-family:'JetBrains Mono', monospace; font-size:13.5px; color:var(--bone-dim);}
  .contact-list li b{color:var(--bone); font-weight:500;}

  /*Social e contato */  
  .social-row{
    display:flex; 
    gap:14px; 
    margin-top:26px;
}

  .social-row a{
    width:38px; 
    height:38px; 
    border:1px solid var(--line); 
    border-radius:50%;
    display:flex; 
    align-items:center; 
    justify-content:center; 
    overflow: hidden;
    transition: all .35s cubic-bezier(0.22,1,0.36,1);
}
  
  .social-row a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .social-row a:hover{border-color:var(--amber); color:var(--amber);}

  .newsletter h3{font-family:'Anton', sans-serif; font-size:15px; letter-spacing:0.12em; color:var(--bone-dim); margin-bottom:16px;}
  .nl-form{display:flex; gap:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
  .nl-form input{
    flex:1; background:none; border:none; padding:16px 18px; color:var(--bone);
    font-family:'Inter', sans-serif; font-size:14px;
  }
  .nl-form input::placeholder{color:var(--static);}
  .nl-form button{background:var(--amber); color:#141400; border:none; padding:0 22px; font-weight:700;}
  .nl-msg{font-size:12px; color:var(--amber); margin-top:10px; min-height:16px; font-family:'JetBrains Mono', monospace;}

  footer{
    border-top:1px solid var(--line); padding:30px 0;
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  }
  footer .fbrand{display:flex; align-items:center; gap:10px;}
  footer .fbrand img{height:30px;}
  footer p{color:var(--static); font-size:12px; font-family:'JetBrains Mono', monospace; letter-spacing:0.04em;}

  @media (max-width:860px){
    .navlinks{display:none;}
    .burger{display:block;}
    .breaker-grid, .attr-grid{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .split{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr; padding-top:70px;}
    .digit{padding:0 12px;}
    .hero{padding-top:120px;}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-logo{animation:none; opacity:1;}
    .hero-glow{animation:none;}
    .ember{display:none;}
    .reveal{opacity:1 !important; transform:none !important;}
    *{transition:none !important; animation-duration:0.001ms !important;}
  }