:root{
  --gold:#fbbf24;
  --gold-light:#fcd34d;
  --gold-dark:#b45309;
  --copper:#d97706;
  --zinc-300:#d4d4d8;
  --zinc-400:#a1a1aa;
  --zinc-500:#71717a;
  --zinc-600:#52525b;
  --line:rgba(255,255,255,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#000;color:var(--zinc-300);font-family:"Inter",sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:rgba(251,191,36,.3)}
.site-container{max-width:1280px;margin:0 auto;padding:0 24px}
.accent{color:var(--gold)}
.subtext{color:var(--zinc-500)}
.text-narrow{max-width:24rem}

/* Texto metalizado */
@keyframes glow-shift{0%{background-position:-200% center}100%{background-position:200% center}}
.shine-text{
  background:linear-gradient(90deg,#d97706,#fcd34d,#b45309,#d97706);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:glow-shift 8s linear infinite;
}

/* Navegación */
.topbar{position:fixed;top:0;left:0;width:100%;z-index:50;background:rgba(0,0,0,.8);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar-wrapper{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo-text{font-family:"Anton",sans-serif;font-size:1.5rem;text-transform:uppercase;font-style:italic;letter-spacing:-.03em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-links{display:none;gap:32px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em}
.topbar-links a:hover{color:var(--gold)}
.action-btn{background:#fff;color:#000;padding:8px 24px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;transition:background .3s}
.action-btn:hover{background:var(--gold)}
.burger-menu{width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0}
.burger-menu span{display:block;width:20px;height:1px;background:#fff;transition:transform .3s,opacity .3s}
.burger-menu.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger-menu.open span:nth-child(2){opacity:0}
.burger-menu.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-drawer{display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .45s ease;background:rgba(0,0,0,.96);padding:0 24px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em}
.mobile-drawer.open{max-height:420px;padding:8px 24px 20px}
.mobile-drawer a{padding:16px 0;border-bottom:1px solid var(--line)}
.mobile-drawer a:hover{color:var(--gold)}
.action-btn-full{margin-top:20px;text-align:center;padding:14px;border-bottom:none}
@media(max-width:479px){.logo-text{font-size:1.15rem}.topbar-wrapper .action-btn{display:none}}
@media(min-width:768px){.topbar-links{display:flex}.burger-menu{display:none}.mobile-drawer{display:none}}

/* Banner Principal */
.showcase{position:relative;height:100vh;min-height:620px;display:flex;align-items:center;justify-content:center;padding-top:80px;overflow:hidden;text-align:center}
.showcase-media{position:absolute;inset:0;z-index:0}
.showcase-media img{width:100%;height:100%;object-fit:cover;opacity:.4}
.showcase-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.2),rgba(0,0,0,.4),#000)}
.showcase-circle{position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:120%;aspect-ratio:1;border:1px solid rgba(251,191,36,.1);border-radius:50%;pointer-events:none}
.showcase-body{position:relative;z-index:10;max-width:56rem;padding:0 24px}
.tagline{font-family:"JetBrains Mono",monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.5em;color:var(--gold);margin-bottom:24px;display:block}
.main-heading{font-family:"Anton",sans-serif;font-size:clamp(3.2rem,11vw,8rem);text-transform:uppercase;font-style:italic;line-height:.9;margin-bottom:32px}
.showcase-desc{max-width:36rem;margin:0 auto;font-size:.95rem;line-height:1.7;color:var(--zinc-400)}
.btn-primary{display:inline-block;margin-top:48px;border:1px solid rgba(251,191,36,.5);padding:16px 40px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;transition:all .5s}
.btn-primary:hover{background:var(--gold);color:#000}

/* Contenido / Secciones */
.block-padding{padding:128px 24px}
.block-padding-sm{padding:96px 24px}
.heading-2{font-family:"Anton",sans-serif;font-size:clamp(2rem,5vw,3.75rem);text-transform:uppercase;font-style:italic;color:#fff;margin-bottom:24px;line-height:1}
.heading-2.heading-lg{font-size:clamp(2.5rem,6vw,4.5rem)}
.block-header{display:flex;flex-direction:column;gap:32px;align-items:flex-start;justify-content:space-between;margin-bottom:80px}
@media(min-width:768px){.block-header{flex-direction:row;align-items:flex-end}}

/* Grilla de Servicios */
.cards-wrapper{display:grid;gap:1px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
@media(min-width:768px){.cards-wrapper{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards-wrapper{grid-template-columns:repeat(3,1fr)}}
.card-item{position:relative;background:#000;padding:40px;display:flex;flex-direction:column;transition:background .3s}
.card-item:hover{background:rgba(24,24,27,.5)}
.card-border{position:absolute;inset:0;border:1px solid rgba(251,191,36,.2);transform:scale(.95);transition:transform .5s}
.card-item:hover .card-border{transform:scale(1)}
.item-title{font-family:"Anton",sans-serif;font-size:1.5rem;text-transform:uppercase;font-style:italic;margin-bottom:32px}
.item-title.title-tight{margin-bottom:8px}
.item-subtitle{font-size:.63rem;text-transform:uppercase;letter-spacing:.15em;color:var(--zinc-500);margin-bottom:32px}
.price-rows{display:flex;flex-direction:column;gap:24px}
.price-row{display:flex;align-items:baseline;justify-content:space-between}
.price-row span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--zinc-400)}
.price-row b{font-family:"JetBrains Mono",monospace;font-weight:400;color:#fff}
.alert-box{display:flex;gap:16px;align-items:flex-start;margin-top:32px;border-left:2px solid rgba(251,191,36,.3);background:rgba(24,24,27,.2);padding:24px}
.alert-icon{color:var(--gold);font-weight:700;font-style:italic;font-size:.75rem}
.alert-box p{font-size:.75rem;font-style:italic;color:var(--zinc-500)}

/* Paquetes Especiales */
.packages-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#09090b;padding:128px 0}
.packages-grid{display:grid;gap:80px;align-items:center}
@media(min-width:1024px){.packages-grid{grid-template-columns:1fr 1fr}}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:32px}
.feature-list li{display:flex;gap:24px}
.list-bullet{margin-top:12px;height:1px;width:32px;background:var(--gold);flex-shrink:0}
.feature-list h3{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#fff;margin-bottom:8px}
.feature-list p{font-size:.87rem;color:var(--zinc-500)}
.package-media{position:relative}
.media-frame{position:absolute;inset:-16px;border:1px solid rgba(251,191,36,.1);transform:rotate(3deg)}
.package-media img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(.5);transition:filter .7s}
.package-media img:hover{filter:grayscale(0)}
.info-badge{display:none;position:absolute;right:16px;bottom:24px;border:1px solid rgba(251,191,36,.2);background:#000;padding:32px;box-shadow:0 25px 50px -12px rgba(0,0,0,.8)}
@media(min-width:768px){.info-badge{display:block}}
.badge-heading{font-family:"Anton",sans-serif;font-size:1.85rem;font-style:italic;color:#fff}
.badge-text{font-size:.63rem;text-transform:uppercase;letter-spacing:.15em;color:var(--zinc-500)}

/* Galería de Trabajos */
.section-heading-box{max-width:36rem;margin-bottom:64px}
.portfolio-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(4,1fr)}}
.portfolio-grid figure{position:relative;overflow:hidden;border:1px solid var(--line)}
.portfolio-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s}
.portfolio-grid figure:hover img{transform:scale(1.05)}

/* Adicionales */
.addons-grid{display:grid;gap:48px}
@media(min-width:768px){.addons-grid{grid-template-columns:repeat(2,1fr)}}
.addon-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:rgba(24,24,27,.2);padding:32px;transition:border-color .3s}
.addon-card:hover{border-color:rgba(251,191,36,.3)}
.addon-card h3{font-family:"Anton",sans-serif;font-size:1.25rem;text-transform:uppercase;font-style:italic;color:#fff}
.addon-card p{margin-top:4px;font-size:.72rem;text-transform:uppercase;color:var(--zinc-500)}
.value{font-family:"JetBrains Mono",monospace;color:var(--gold)}

/* Pie de página */
.site-footer{border-top:1px solid var(--line);background:#000;padding:80px 0 48px}
.footer-main{display:flex;flex-direction:column;gap:48px;justify-content:space-between}
@media(min-width:768px){.footer-main{flex-direction:row;align-items:center}}
.contact-block{display:flex;flex-direction:column;gap:16px;font-size:.87rem}
.contact-block div{display:flex;gap:16px;align-items:center}
.contact-block a{color:#fff}
.contact-block a:hover{color:var(--gold)}

/* WhatsApp Flotante */
.float-chat{position:fixed;right:32px;bottom:32px;z-index:100;display:flex;align-items:center;justify-content:center;background:#16a34a;color:#fff;padding:16px;border-radius:9999px;box-shadow:0 20px 40px rgba(0,0,0,.5);transition:transform .3s,background .3s}
.float-chat:hover{transform:scale(1.1);background:#22c55e}
.float-tooltip{position:absolute;right:100%;margin-right:16px;white-space:nowrap;border:1px solid rgba(255,255,255,.1);background:#000;padding:8px 16px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;opacity:0;transition:opacity .3s}
.float-chat:hover .float-tooltip{opacity:1}

/* Animaciones */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}