/* =========================================================
   DJ SQURE INFRAA — Brand layer on top of Bootstrap 5
   ========================================================= */
:root{
  --red:#D91C24;
  --red-deep:#960F16;
  --ink:#1B1B1B;
  --slate:#6B6F76;
  --gold:#B8874A;
  --paper:#FCFCFB;
  --paper-dim:#F4F3F0;
}

body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
}
h1,h2,h3,h4,.display-font{
  font-family:'Big Shoulders Display',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.mono{font-family:'IBM Plex Mono',monospace;}

a{color:var(--red);}
a:hover{color:var(--red-deep);}

/* eyebrow label */
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--red);display:inline-block;}

/* buttons */
.btn-brand{
  background:var(--red);border-color:var(--red);color:#fff;
  font-family:'IBM Plex Mono';font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:.7rem 1.4rem;border-radius:2px;
}
.btn-brand:hover{background:var(--red-deep);border-color:var(--red-deep);color:#fff;}
.btn-outline-brand{
  border:1px solid var(--ink);color:var(--ink);background:transparent;
  font-family:'IBM Plex Mono';font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:.7rem 1.4rem;border-radius:2px;
}
.btn-outline-brand:hover{background:var(--ink);color:#fff;}
.btn-outline-light-brand{
  border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent;
  font-family:'IBM Plex Mono';font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:.7rem 1.4rem;border-radius:2px;
}
.btn-outline-light-brand:hover{background:#fff;color:var(--ink);}

/* navbar */
.navbar-brand-name{font-family:'Big Shoulders Display';font-weight:800;font-size:1.25rem;letter-spacing:.02em;line-height:1;color:var(--ink);}
.navbar-brand-name span{color:var(--red);}
.navbar-brand-sub{font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.12em;color:var(--slate);text-transform:uppercase;display:block;margin-top:2px;}
.navbar .nav-link{font-weight:600;color:var(--ink)!important;position:relative;}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--red)!important;}

/* sections */
.bg-ink{background:var(--ink);color:#fff;}
.bg-ink .slate{color:#B8B8B4;}
.bg-dim{background:var(--paper-dim);}
.section-pad{padding:5.5rem 0;}
.section-pad-sm{padding:4rem 0;}

/* blueprint corner brackets */
.blueprint{position:relative;}
.blueprint::before,.blueprint::after{
  content:"";position:absolute;width:14px;height:14px;border:2px solid var(--red);opacity:.55;pointer-events:none;
}
.blueprint::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.blueprint::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}

/* cards */
.card-brand{border:1px solid #E2E1DC;border-radius:2px;padding:2rem;height:100%;background:var(--paper);}
.card-brand .idx{font-family:'IBM Plex Mono';font-size:.75rem;color:var(--red);letter-spacing:.1em;text-transform:uppercase;}
.card-brand h3{font-size:1.5rem;margin:.75rem 0;}
.card-brand p{color:var(--slate);font-size:.9rem;margin-bottom:0;}

/* model / engagement blocks */
.model-block{border:1px solid #E2E1DC;border-radius:2px;padding:2.5rem;margin-bottom:1.5rem;}
.model-block.gold{border-color:var(--gold);}
.model-block .tag{font-family:'IBM Plex Mono';font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}
.model-block.gold .tag{color:var(--gold);}
.model-block h3{font-size:1.9rem;margin:.6rem 0;}
.model-block p.desc{color:var(--slate);}
.model-block ul{list-style:none;padding:0;margin:1rem 0 0;}
.model-block ul li{font-size:.9rem;padding-left:1rem;position:relative;margin-bottom:.5rem;}
.model-block ul li::before{content:"";position:absolute;left:0;top:.55rem;width:6px;height:1px;background:var(--red);}
.model-block.gold ul li::before{background:var(--gold);}

/* funnel */
.funnel{border-top:1px solid #E2E1DC;border-bottom:1px solid #E2E1DC;}
.funnel-step{padding:1.5rem 1rem;border-right:1px solid #E2E1DC;position:relative;}
.funnel-step .n{font-family:'IBM Plex Mono';font-size:.75rem;color:var(--red);}
.funnel-step h4{font-size:1.1rem;text-transform:none;margin-top:.5rem;}

/* stat strip */
.stat-strip .num{font-size:2.6rem;font-family:'Big Shoulders Display';font-weight:800;color:var(--red);}
.stat-strip .lbl{font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#C9C9C4;margin-top:.4rem;}
.stat-strip > div{border-right:1px solid rgba(255,255,255,.16);padding:1.75rem 1.25rem;}

/* skyline hero graphic */
.skybar{transform-origin:bottom;animation:rise .9s cubic-bezier(.2,.8,.2,1) both;}
.skybar:nth-child(1){animation-delay:.05s;}
.skybar:nth-child(2){animation-delay:.18s;}
.skybar:nth-child(3){animation-delay:.31s;}
.skybar:nth-child(4){animation-delay:.44s;}
@keyframes rise{from{transform:scaleY(0);opacity:0;}to{transform:scaleY(1);opacity:1;}}
@media (prefers-reduced-motion: reduce){.skybar{animation:none;}}

/* forms */
.form-label-brand{font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);}
.form-control-brand,.form-select-brand{border-radius:2px;border:1px solid #E2E1DC;padding:.7rem .85rem;}

/* contact info block */
.contact-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14);}
.contact-item:first-child{border-top:1px solid rgba(255,255,255,.14);}
.contact-item .k{font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#B8B8B4;width:90px;flex:none;}
.contact-item a{color:#fff;}
.contact-item a:hover{color:var(--red);}

/* footer */
footer{background:var(--ink);color:#fff;padding:3.5rem 0 1.5rem;}
footer a{color:#D8D8D4;text-decoration:none;display:block;padding:.25rem 0;font-size:.9rem;}
footer a:hover{color:var(--red);}
.foot-h{font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#8C8C88;margin-bottom:.9rem;}
.foot-tag{font-family:'IBM Plex Mono';font-size:.78rem;color:#B8B8B4;max-width:34ch;}
.foot-bottom{font-family:'IBM Plex Mono';font-size:.7rem;color:#8C8C88;border-top:1px solid rgba(255,255,255,.14);padding-top:1.25rem;margin-top:2.5rem;}

/* floating whatsapp */
.float-cta{
  position:fixed;right:22px;bottom:22px;z-index:1050;
  display:flex;align-items:center;gap:9px;
  background:var(--red);color:#fff;padding:.8rem 1.1rem;border-radius:30px;
  font-family:'IBM Plex Mono';font-size:.78rem;letter-spacing:.04em;
  box-shadow:0 10px 26px rgba(217,28,36,.35);text-decoration:none;
}
.float-cta:hover{background:var(--red-deep);color:#fff;}

/* page hero */
.page-hero{padding:4rem 0 3.5rem;border-bottom:1px solid #E2E1DC;}
