/* =========================================================
   EPIT RWANDA — Design tokens
   Display: Barlow Condensed (stencil/industrial feel)
   Body: Inter
   Mono: JetBrains Mono (spec numbers, prices, tags)
   ========================================================= */
:root{
  --ink:#1A1815;
  --ink-soft:#4A463F;
  --paper:#FAF7F2;
  --paper-dim:#F1ECE3;
  --orange:#FC4006;
  --orange-dark:#C93304;
  --steel:#23262C;
  --steel-soft:#3A3F47;
  --line:#E4DCCE;
  --line-dark:#3A3F47;
  --yellow:#F2B705;
  --white:#FFFFFF;
  --radius:2px;
  --shadow:0 8px 30px rgba(26,24,21,0.08);
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.01em;
  font-weight:700;
  margin:0 0 0.4em;
  color:var(--ink);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.mono{font-family:'JetBrains Mono',monospace;}

/* ---------- Topbar ---------- */
.topbar{background:var(--steel);color:#D8D5CE;font-size:12.5px;}
.topbar-inner{display:flex;align-items:center;gap:24px;padding:8px 24px;justify-content:space-between;}
.topbar-item{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.topbar-cta{margin-left:auto;color:var(--yellow);font-weight:600;}
@media (max-width:760px){ .topbar-item:nth-child(2){display:none;} }

/* ---------- Header ---------- */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.header-inner{display:flex;align-items:center;gap:28px;padding:14px 24px;}
.brand{display:flex;flex-direction:column;line-height:1;}
.brand-mark{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:28px;letter-spacing:0.02em;}
.brand-mark span{color:var(--orange);}
.brand-sub{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.25em;color:var(--ink-soft);margin-top:2px;}
.brand-logo{height:42px;width:auto;display:block;}
@media (max-width:900px){ .brand-logo{height:36px;} }
.main-nav{display:flex;gap:26px;margin-left:auto;font-weight:600;font-size:15px;}
.main-nav a{padding:6px 0;border-bottom:2px solid transparent;color:var(--ink-soft);}
.main-nav a:hover,.main-nav a.active{color:var(--ink);border-color:var(--orange);}
.header-cta{margin-left:12px;}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:22px;height:2px;background:var(--ink);}
@media (max-width:900px){
  .main-nav{position:fixed;top:93px;left:0;right:0;background:var(--paper);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--line);display:none;gap:14px;}
  .main-nav.open{display:flex;}
  .header-cta{display:none;}
  .nav-toggle{display:flex;}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--radius);font-weight:700;font-size:14.5px;letter-spacing:0.01em;cursor:pointer;border:1.5px solid transparent;transition:transform .15s ease, background .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);}
.btn-dark{background:var(--steel);color:#fff;}
.btn-dark:hover{background:#111318;}
.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.btn-outline-light:hover{border-color:#fff;}
.btn-sm{padding:9px 18px;font-size:13px;}
.btn-block{width:100%;}

/* ---------- Hero (split) — kept for reference / rollback ---------- */
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.hero-panel{position:relative;display:flex;flex-direction:column;justify-content:center;padding:60px 48px;overflow:hidden;background-size:cover;background-position:center;color:#fff;}
.hero-panel.equip{background-color:var(--steel);color:#fff;}
.hero-panel.design{background-color:var(--orange);color:#fff;}
.hero-panel[style*="background-image"]::before{content:"";position:absolute;inset:0;background:rgba(20,19,17,.55);z-index:0;}
.hero-panel.equip[style*="background-image"]::before{background:rgba(15,17,20,.6);}
.hero-panel.design[style*="background-image"]::before{background:rgba(90,40,10,.55);}
.hero-panel > *{position:relative;z-index:1;}
.hero-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;opacity:.8;margin-bottom:14px;color:#fff;}
.hero-panel h2{font-size:44px;line-height:1;margin-bottom:16px;color:#fff;}
.hero-panel p{max-width:420px;opacity:.9;margin-bottom:26px;font-size:15.5px;color:#fff;}
.hero-panel .btn{width:fit-content;}
.hero-divider{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.25);}
@media (max-width:860px){
  .hero-split{grid-template-columns:1fr;min-height:auto;}
  .hero-panel{padding:52px 24px;}
  .hero-panel h2{font-size:34px;}
}

/* ---------- Hero (single) — new test variant ---------- */
.hero-single{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-color:var(--steel);
  background-size:cover;
  background-position:center;
  overflow:hidden;
  text-align:center;
}
.hero-single[style*="background-image"]::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(20,19,17,.62);
  z-index:0;
}
.hero-single-inner{position:relative;z-index:1;max-width:680px;padding:60px 24px;color:#fff;}
.hero-single-inner .hero-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  opacity:.85;
  margin-bottom:14px;
  color:var(--yellow);
  display:inline-block;
}
.hero-single-inner h2{font-size:48px;line-height:1.05;margin-bottom:18px;color:#fff;}
.hero-single-inner p{max-width:520px;margin:0 auto 30px;opacity:.9;font-size:16px;color:#fff;}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media (max-width:860px){
  .hero-single{min-height:440px;}
  .hero-single-inner{padding:48px 24px;}
  .hero-single-inner h2{font-size:32px;}
}

/* ---------- Sections ---------- */
.section{padding:80px 0;}
.section-tight{padding:48px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap;}
.section-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;margin-bottom:8px;display:block;}
.section-head h2{font-size:36px;margin:0;}
.section-desc{color:var(--ink-soft);max-width:560px;}
.bg-dim{background:var(--paper-dim);}
.bg-dark{background:var(--steel);color:#fff;}
.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff;}

/* ---------- Equipment / Project Tag Cards (signature element) ---------- */
.tag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:900px){.tag-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.tag-grid{grid-template-columns:1fr;}}

.tag-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;transition:box-shadow .2s ease, transform .2s ease;display:flex;flex-direction:column;}
.tag-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.tag-card .tag-hole{position:absolute;top:14px;left:14px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line);z-index:2;}
.tag-media{aspect-ratio:4/3;background:var(--paper-dim);overflow:hidden;position:relative;}
.tag-media img{width:100%;height:100%;object-fit:cover;}
.tag-badge{position:absolute;top:12px;right:12px;background:var(--ink);color:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;padding:4px 9px;border-radius:2px;letter-spacing:.04em;text-transform:uppercase;}
.tag-badge.available{background:#2E7D46;}
.tag-badge.rented{background:#8a8578;}
.tag-badge.maintenance{background:var(--orange-dark);}
.tag-body{padding:18px 18px 20px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px;flex:1;}
.tag-cat{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);}
.tag-body h3{font-size:22px;margin:0;}
.tag-desc{color:var(--ink-soft);font-size:14px;flex:1;}
.tag-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);}
.tag-price{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:18px;}
.tag-price small{font-family:'Inter',sans-serif;font-weight:500;font-size:12px;color:var(--ink-soft);}

/* ---------- Contact strip on home ---------- */
.contact-strip{background:var(--ink);color:#fff;padding:44px 0;}
.contact-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.contact-strip h3{color:#fff;margin:0;font-size:26px;}
.contact-strip .actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- Filters / Search bar ---------- */
.filter-bar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:32px;}
.filter-bar input[type="text"], .filter-bar select{
  font-family:'Inter',sans-serif;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:14.5px;background:var(--paper);min-width:160px;
}
.filter-bar input[type="text"]{flex:1;min-width:220px;}
.filter-bar .search-icon-wrap{position:relative;flex:1;min-width:220px;display:flex;}

/* ---------- Detail pages ---------- */
.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;}
@media (max-width:900px){.detail-grid{grid-template-columns:1fr;}}
.gallery-main{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--paper-dim);border:1px solid var(--line);margin-bottom:12px;}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;}
.gallery-thumbs img{width:76px;height:76px;object-fit:cover;border-radius:2px;border:1.5px solid var(--line);cursor:pointer;opacity:.75;}
.gallery-thumbs img.active,.gallery-thumbs img:hover{opacity:1;border-color:var(--orange);}
.spec-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.spec-box .price-lines{display:flex;flex-direction:column;gap:4px;margin:14px 0 20px;padding:16px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);}
.price-line{display:flex;justify-content:space-between;font-size:14.5px;}
.price-line b{font-family:'JetBrains Mono',monospace;font-size:16px;}
.spec-list{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:10px;font-size:14.5px;}
.spec-list li{display:flex;gap:10px;}
.spec-list li b{min-width:110px;color:var(--ink-soft);font-weight:600;}
.req-box{background:var(--paper-dim);border-left:3px solid var(--orange);padding:14px 16px;font-size:13.5px;color:var(--ink-soft);margin-top:16px;}
.detail-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}

/* ---------- Forms ---------- */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:'Inter',sans-serif;font-size:14.5px;background:#fff;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;gap:14px;margin-bottom:14px;}
.info-icon{width:40px;height:40px;border-radius:50%;background:var(--paper-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--orange);}
.map-embed{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:20px;}
.map-embed iframe{width:100%;height:320px;border:0;display:block;}

/* ---------- About page ---------- */
.about-hero{background:var(--steel);color:#fff;padding:70px 0 60px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;}
@media (max-width:700px){.stat-grid{grid-template-columns:1fr 1fr;}}
.stat{text-align:left;}
.stat .num{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:800;color:var(--orange);line-height:1;}
.stat .label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.bg-dark .stat .label{color:#B9B6AE;}

/* ---------- Alerts ---------- */
.alert{padding:14px 18px;border-radius:var(--radius);font-size:14.5px;margin-bottom:18px;}
.alert-success{background:#E4F3E8;color:#215634;border:1px solid #B9DEC3;}
.alert-error{background:#FBE7E2;color:#9A2E13;border:1px solid #F1C3B4;}

/* ---------- WhatsApp float ---------- */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:60;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#C9C5BC;padding:60px 0 0;margin-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid #3A362E;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col h4{color:#fff;font-size:16px;margin-bottom:6px;}
.footer-col a{color:#C9C5BC;font-size:14px;}
.footer-col a:hover{color:var(--orange);}
.footer-brand p{font-size:14px;max-width:260px;}
.social-row{display:flex;gap:10px;margin-top:6px;}
.social-row a{width:34px;height:34px;border:1px solid #3A362E;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.footer-bottom{display:flex;justify-content:space-between;padding:20px 24px;font-size:12.5px;color:#8A8678;}

/* ---------- Misc ---------- */
.pill{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:var(--paper-dim);}
.empty-state{text-align:center;padding:60px 20px;color:var(--ink-soft);}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:36px;}
.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--line);border-radius:2px;font-size:14px;}
.pagination a:hover{border-color:var(--orange);}
.pagination .active{background:var(--orange);color:#fff;border-color:var(--orange);}
/* ---------- Project photo slider ---------- */
.slider-main{position:relative;}
.slider-main .slide{
  display:none;
  width:100%;
  height:100%;
  object-fit:cover;
}
.slider-main .slide.active{display:block;}

.slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(26,24,21,0.55);
  color:#fff;
  border:none;
  font-size:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:2;
  transition:background .15s ease;
}
.slider-arrow:hover{background:var(--orange);}
.slider-prev{left:14px;}
.slider-next{right:14px;}

.slider-counter{
  position:absolute;
  bottom:14px;
  right:14px;
  background:rgba(26,24,21,0.6);
  color:#fff;
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  padding:4px 10px;
  border-radius:20px;
  z-index:2;
}
/* ---------- Footer logo ---------- */
.footer-logo-link{display:inline-block;margin-bottom:12px;}
.footer-logo{height:36px;width:auto;display:block;}
