/* Drum Family — hoja de estilos compartida
   Va en el repositorio dentro de assets/site.css */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root{
  --orange:#FF5C00;
  --orange-dark:#CC4A00;
  --black:#0A0A0A;
  --gray:#111111;
  --gray-mid:#1C1C1C;
  --gray-light:#2A2A2A;
  --white:#F5F0EB;
  --white-dim:#C8C0B5;
  --maxw:1180px;
}

html{scroll-behavior:smooth}
body{
  background:var(--black);color:var(--white);
  font-family:'DM Sans',system-ui,sans-serif;font-weight:300;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 2.5rem;background:rgba(10,10,10,.88);
  backdrop-filter:blur(12px);border-bottom:1px solid #222;
}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.12em;text-decoration:none;color:var(--white)}
.nav-logo span{color:var(--orange)}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-links a{font-size:.85rem;letter-spacing:.04em;text-decoration:none;color:var(--white-dim);transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--orange)}
.nav-cta{
  background:var(--orange);color:var(--black)!important;font-weight:500;font-size:.85rem;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  padding:.55rem 1.3rem;border-radius:2px;transition:background .2s;white-space:nowrap;
}
.nav-cta:hover{background:var(--orange-dark)}
@media(max-width:860px){
  nav{padding:.85rem 1.2rem}
  .nav-links a:not(.nav-cta){display:none}
}

/* ── TIPOGRAFÍA ── */
.section-label{
  font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange);font-weight:500;margin-bottom:.9rem;
}
.section-title{
  font-family:'Bebas Neue',sans-serif;font-weight:400;
  font-size:clamp(2.1rem,5vw,3.4rem);line-height:1;letter-spacing:.01em;margin-bottom:1.4rem;
}
.lead{color:var(--white-dim);font-size:1.05rem;max-width:65ch;margin-bottom:1.1rem}

section{padding:5.5rem 2.5rem}
.inner{max-width:var(--maxw);margin:0 auto}
@media(max-width:860px){section{padding:3.5rem 1.2rem}}

/* ── BOTONES ── */
.btn-primary,.btn-ghost,.btn-dark{
  display:inline-block;text-decoration:none;font-weight:500;font-size:.9rem;
  letter-spacing:.05em;padding:.95rem 2rem;border-radius:2px;transition:.2s;
}
.btn-primary{background:var(--orange);color:var(--black)}
.btn-primary:hover{background:var(--orange-dark);color:var(--white)}
.btn-ghost{border:1px solid var(--gray-light);color:var(--white)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}
.btn-dark{background:var(--black);color:var(--white)}
.btn-dark:hover{background:var(--gray-mid)}

/* ── TICKER ── */
.ticker{background:var(--orange);color:var(--black);padding:.85rem 0;overflow:hidden;white-space:nowrap}
.ticker-inner{display:inline-flex;animation:scroll 32s linear infinite}
.ticker-text{
  font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:.1em;
  padding:0 1.5rem;display:inline-flex;align-items:center;gap:1.5rem;
}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-inner{animation:none}}

/* ── TARJETAS ── */
.grid{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{
  background:var(--gray);border:1px solid var(--gray-light);
  border-radius:3px;padding:2rem 1.75rem;transition:border-color .2s,transform .2s;
}
.card:hover{border-color:var(--orange)}
.card h3{font-size:1.15rem;font-weight:500;margin-bottom:.6rem;color:var(--white)}
.card p{color:var(--white-dim);font-size:.95rem}
.card-num{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--orange);line-height:1;margin-bottom:.5rem}

/* ── STATS ── */
.stats{background:var(--gray);border-top:1px solid var(--gray-light);border-bottom:1px solid var(--gray-light);padding:3.5rem 2.5rem}
.stats-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;text-align:center}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:var(--orange);line-height:1}
.stat-label{font-size:.85rem;color:var(--white-dim);letter-spacing:.03em;margin-top:.3rem}

/* ── VIDEOS ── */
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.1rem}
.video{
  position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;
  border:1px solid var(--gray-light);cursor:pointer;background:var(--gray);
}
.video img{width:100%;height:100%;object-fit:cover;transition:.3s;opacity:.75}
.video:hover img{opacity:1;transform:scale(1.02)}
.video iframe{width:100%;height:100%;border:0;display:block}
.video .play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.video .play::before{
  content:'';width:66px;height:66px;border-radius:50%;background:var(--orange);
  box-shadow:0 6px 24px rgba(0,0,0,.5);
}
.video .play::after{
  content:'';position:absolute;border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent var(--black);margin-left:5px;
}
.video-vertical{aspect-ratio:9/16}

/* ── SUCURSALES ── */
.loc-card{background:var(--gray);border:1px solid var(--gray-light);border-left:3px solid var(--orange);padding:1.6rem 1.5rem;border-radius:0 3px 3px 0}
.loc-name{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.04em;margin-bottom:.4rem}
.loc-address{color:var(--white-dim);font-size:.9rem;line-height:1.5}
.loc-links{margin-top:.9rem;display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem}
.loc-links a{color:var(--orange);text-decoration:none}
.loc-links a:hover{text-decoration:underline}

/* ── FAQ ── */
details{border-bottom:1px solid var(--gray-light);padding:1.15rem 0}
details summary{cursor:pointer;font-size:1.02rem;color:var(--white);list-style:none;display:flex;justify-content:space-between;gap:1rem}
details summary::-webkit-details-marker{display:none}
details summary::after{content:'+';color:var(--orange);font-size:1.4rem;line-height:1}
details[open] summary::after{content:'–'}
details p{color:var(--white-dim);font-size:.95rem;margin-top:.7rem;max-width:75ch}

/* ── CINTA CTA ── */
.cta-band{background:var(--orange);color:var(--black);text-align:center;padding:4rem 2.5rem}
.cta-band h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin-bottom:.8rem}
.cta-band p{max-width:55ch;margin:0 auto 1.8rem;font-size:1.02rem}
.cta-band .btn-dark{background:var(--black);color:var(--white)}

/* ── FOOTER ── */
footer{background:var(--black);border-top:1px solid var(--gray-light);padding:3.5rem 2.5rem 2.5rem}
.footer-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
.footer-grid h4{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.08em;margin-bottom:.8rem;color:var(--white)}
.footer-grid a,.footer-grid p{color:var(--white-dim);font-size:.88rem;text-decoration:none;display:block;margin-bottom:.4rem}
.footer-grid a:hover{color:var(--orange)}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.14em;margin-bottom:.6rem}
.footer-logo span{color:var(--orange)}
.footer-copy{max-width:var(--maxw);margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid var(--gray-light);color:#6a6a6a;font-size:.8rem}

/* ── ARTÍCULOS DEL BLOG ── */
.article{max-width:760px;margin:0 auto;padding:8rem 1.5rem 4rem}
.article h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.02;margin-bottom:1rem}
.article .meta{color:#6a6a6a;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2.5rem}
.article h2{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:.02em;margin:2.6rem 0 .9rem;color:var(--white)}
.article h3{font-size:1.1rem;font-weight:500;margin:1.8rem 0 .6rem}
.article p{color:var(--white-dim);margin-bottom:1.1rem;font-size:1.02rem}
.article ul,.article ol{color:var(--white-dim);margin:0 0 1.2rem 1.2rem}
.article li{margin-bottom:.5rem}
.article strong{color:var(--white);font-weight:500}
.article blockquote{border-left:3px solid var(--orange);padding-left:1.2rem;margin:1.8rem 0;color:var(--white);font-size:1.08rem}
.article a{color:var(--orange)}
.article-cta{background:var(--gray);border:1px solid var(--gray-light);border-radius:3px;padding:2rem;margin:3rem 0 0;text-align:center}
.article-cta h3{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;margin-bottom:.6rem}
.article-cta p{margin-bottom:1.3rem}

.post-card{background:var(--gray);border:1px solid var(--gray-light);border-radius:3px;padding:1.8rem;text-decoration:none;display:block;transition:border-color .2s}
.post-card:hover{border-color:var(--orange)}
.post-card .tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.post-card h3{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.02em;margin:.5rem 0 .5rem;color:var(--white)}
.post-card p{color:var(--white-dim);font-size:.93rem}

/* ── UTILIDADES ── */
.page-head{padding:9rem 2.5rem 3rem;border-bottom:1px solid var(--gray-light)}
.page-head .inner{max-width:var(--maxw);margin:0 auto}
.center{text-align:center}
.mt-2{margin-top:2rem}
.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
@media(max-width:860px){.page-head{padding:7rem 1.2rem 2.5rem}}
