/* ============================================================
   NIBRA Solutions — layout.css v2.0
   Service rows, page hero, CTA, process, industries,
   about, contact, blog, all dark-scheme components
   ============================================================ */

/* ---- SERVICE ROWS ---- */
.dp-service-row { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding:3.5rem 0; }
.dp-service-row-reverse { direction:rtl; }
.dp-service-row-reverse > * { direction:ltr; }
.dp-service-row-num { font-family:var(--nb-font-mono); font-size:.6rem; letter-spacing:.2em; color:var(--nb-muted2); margin-bottom:.6rem; }
.dp-service-row-icon { font-size:2.8rem; margin-bottom:1rem; display:block; }
.dp-service-row-title { font-family:var(--nb-font-head); font-size:clamp(1.4rem,3vw,1.9rem); font-weight:800; letter-spacing:-.025em; margin-bottom:1rem; color:var(--nb-text); }
.dp-service-row-title a { color:var(--nb-text); transition:color .3s; }
.dp-service-row-title a:hover { color:var(--nb-cyan); }
.dp-service-row-desc { color:var(--nb-muted); font-size:.95rem; line-height:1.82; margin-bottom:1.5rem; }
.dp-service-row-btn { margin-top:.5rem; }
.dp-service-placeholder {
  height:300px; background:var(--nb-surface); border:1.5px dashed var(--nb-border2);
  border-radius:var(--nb-radius-lg); display:flex; align-items:center;
  justify-content:center; font-size:5rem; position:relative; overflow:hidden;
}
.dp-service-placeholder::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(26,107,255,.07) 1px,transparent 1px);
  background-size:20px 20px;
}
.dp-service-img { width:100%; height:300px; object-fit:cover; border-radius:var(--nb-radius-lg); box-shadow:var(--nb-shadow-lg); }

/* ---- PAGE HERO ---- */
.dp-page-hero { position:relative; padding:7rem 0 4.5rem; background:var(--nb-bg2); overflow:hidden; }
.dp-page-hero-inner { position:relative; z-index:2; }
.dp-page-hero .dp-title { font-size:clamp(2rem,5vw,3.2rem); }

/* ---- ABOUT ---- */
.dp-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; }
.dp-about-text { color:var(--nb-muted); line-height:1.82; margin-bottom:1.2rem; }
.dp-about-cards { display:flex; flex-direction:column; gap:1.2rem; }
.dp-about-card { padding:1.8rem; background:var(--nb-card); border:1.5px solid var(--nb-border); border-left:3px solid var(--nb-blue); border-radius:var(--nb-radius); }
.dp-about-card-title { font-family:var(--nb-font-head); font-size:.85rem; font-weight:700; color:var(--nb-cyan); margin-bottom:.55rem; }
.dp-about-card p { color:var(--nb-muted); font-size:.88rem; line-height:1.72; }
.dp-why-section { background:var(--nb-bg2); }
.nibra-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.5rem; }
.nibra-value-card { padding:1.2rem; background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius); }
.nibra-value-card h4 { font-size:.82rem; font-weight:700; color:var(--nb-cyan); margin-bottom:.35rem; }
.nibra-value-card p  { font-size:.78rem; color:var(--nb-muted); line-height:1.6; }
.nibra-logo-block { background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius-lg); height:280px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.nibra-logo-block::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(26,107,255,.08) 1px,transparent 1px); background-size:24px 24px; }
.nibra-logo-block img  { max-width:180px; object-fit:contain; position:relative; z-index:1; }
.nibra-logo-block span { font-family:var(--nb-font-head); font-size:6rem; font-weight:800; color:var(--nb-blue); position:relative; z-index:1; }
.nibra-skills { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.75rem; }
.nibra-skill { padding:.85rem 1rem; background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:9px; display:flex; align-items:center; gap:.6rem; font-size:.82rem; font-weight:500; color:var(--nb-text2); transition:all .25s; }
.nibra-skill:hover { border-color:var(--nb-border2); color:var(--nb-cyan); }
.nibra-skill-dot { width:7px; height:7px; border-radius:50%; background:var(--nb-blue); flex-shrink:0; }
.nibra-skill-dot.g { background:var(--nb-green); }
.nibra-skill-dot.o { background:var(--nb-orange); }
.nibra-skill-dot.c { background:var(--nb-cyan); }

/* ---- PROJECTS ---- */
.nibra-projects-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.nibra-metric { display:inline-flex; align-items:center; gap:.35rem; padding:.22rem .7rem; background:rgba(10,240,255,.07); border:1px solid rgba(10,240,255,.18); border-radius:20px; font-size:.68rem; font-weight:600; color:var(--nb-cyan); margin-top:1rem; font-family:var(--nb-font-mono); }
.nibra-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem; }
.nibra-filter { padding:.35rem 1rem; border-radius:6px; border:1.5px solid var(--nb-border2); background:transparent; color:var(--nb-muted); font-size:.78rem; font-weight:600; cursor:pointer; font-family:var(--nb-font-body); transition:all .25s; }
.nibra-filter.active,.nibra-filter:hover { background:var(--nb-blue); border-color:var(--nb-blue); color:#fff; }

/* ---- PROCESS ---- */
.dp-process-section { background:var(--nb-bg); }
.dp-process-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); position:relative; }
.dp-process-grid::before { content:''; position:absolute; top:40px; left:0; right:0; height:1.5px; background:linear-gradient(90deg,transparent,var(--nb-border2),var(--nb-blue),var(--nb-border2),transparent); pointer-events:none; }
.dp-process-step { padding:1.5rem 1rem; text-align:center; }
.dp-step-circle { width:80px; height:80px; border-radius:50%; border:2px solid var(--nb-border); background:var(--nb-surface); display:flex; align-items:center; justify-content:center; margin:0 auto 1.2rem; position:relative; z-index:1; transition:all .4s; box-shadow:var(--nb-shadow-sm); }
.dp-process-step:hover .dp-step-circle { border-color:var(--nb-blue); box-shadow:var(--nb-shadow-blue); }
.dp-step-num  { font-family:var(--nb-font-head); font-size:1.1rem; font-weight:800; color:var(--nb-blue); }
.dp-step-name { font-family:var(--nb-font-head); font-size:.8rem; font-weight:700; margin-bottom:.4rem; color:var(--nb-text); }
.dp-step-desc { font-size:.78rem; color:var(--nb-muted); line-height:1.6; }

/* ---- INDUSTRIES ---- */
.dp-industries-section { background:var(--nb-bg2); }
.dp-industry-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:.9rem; margin-top:2rem; }
.dp-industry-item { padding:1.2rem 1rem; background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius); display:flex; flex-direction:column; align-items:center; gap:.5rem; transition:all .3s; cursor:default; }
.dp-industry-item:hover { border-color:var(--nb-border2); transform:translateY(-4px); box-shadow:var(--nb-shadow-lg); }
.dp-industry-emoji { font-size:1.6rem; }
.dp-industry-label { font-size:.75rem; font-weight:500; color:var(--nb-muted); text-align:center; }

/* ---- CTA SECTION ---- */
.dp-cta-section { background:linear-gradient(135deg,#060e24 0%,#0d1a42 50%,#060e24 100%); position:relative; overflow:hidden; text-align:center; }
.dp-cta-section::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(26,107,255,.12) 1px,transparent 1px); background-size:24px 24px; pointer-events:none; }
.dp-cta-section::after { content:''; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(26,107,255,.14) 0%,transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.dp-cta-inner { position:relative; z-index:1; }
.dp-cta-title { font-size:clamp(1.9rem,4vw,2.8rem); text-align:center; max-width:680px; margin:0 auto 1rem; color:var(--nb-text); }
.dp-cta-sub   { text-align:center; margin:0 auto 2.5rem; color:var(--nb-muted); max-width:480px; }
.dp-cta-btns  { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.dp-cta-section .dp-tag { color:var(--nb-cyan); justify-content:center; }
.dp-cta-section .dp-tag::before { background:linear-gradient(90deg,var(--nb-blue),var(--nb-cyan)); }

/* ---- CONTACT ---- */
.dp-contact-grid { display:grid; grid-template-columns:1.3fr 0.7fr; gap:4rem; align-items:start; }
.dp-contact-form { display:flex; flex-direction:column; gap:1.1rem; }
.dp-form-row  { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.dp-form-group { display:flex; flex-direction:column; gap:.4rem; }
.dp-form-label { font-size:.72rem; font-weight:700; color:var(--nb-text2); text-transform:uppercase; letter-spacing:.06em; }
.dp-form-input,.dp-form-textarea,.dp-form-select {
  background:var(--nb-surface); border:1.5px solid var(--nb-border);
  color:var(--nb-text); padding:.82rem 1rem;
  font-family:var(--nb-font-body); font-size:.9rem;
  border-radius:9px; outline:none; width:100%;
  transition:border-color .3s,box-shadow .3s;
  -webkit-appearance:none; appearance:none;
}
.dp-form-input::placeholder,.dp-form-textarea::placeholder { color:var(--nb-muted2); }
.dp-form-input:focus,.dp-form-textarea:focus,.dp-form-select:focus { border-color:var(--nb-blue); box-shadow:0 0 0 3px rgba(26,107,255,.18); }
.dp-form-textarea { resize:vertical; min-height:130px; }
.dp-form-submit { width:100%; padding:1rem; font-size:.9rem; font-weight:700; margin-top:.4rem; cursor:pointer; border:none; }
.dp-form-message { padding:.85rem 1rem; border-radius:8px; font-size:.82rem; display:none; margin-bottom:.5rem; }
.dp-form-message.dp-success { background:rgba(16,185,129,.1); border:1px solid rgba(16,185,129,.3); color:#10b981; display:block; }
.dp-form-message.dp-error   { background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.3); color:var(--nb-red); display:block; }
.dp-contact-info { display:flex; flex-direction:column; gap:1.1rem; }
.dp-info-card { display:flex; gap:.9rem; align-items:flex-start; padding:1.3rem; background:var(--nb-card); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius); transition:all .3s; }
.dp-info-card:hover { border-color:var(--nb-border2); transform:translateY(-2px); box-shadow:var(--nb-shadow); }
.dp-info-icon  { font-size:1.3rem; flex-shrink:0; }
.dp-info-title { font-family:var(--nb-font-head); font-size:.78rem; font-weight:700; color:var(--nb-cyan); margin-bottom:.3rem; }
.dp-info-text  { font-size:.84rem; color:var(--nb-muted); }
.dp-info-link  { font-size:.84rem; color:var(--nb-muted); transition:color .3s; display:block; }
.dp-info-link:hover { color:var(--nb-cyan); }

/* ---- BLOG ---- */
.dp-blog-layout { display:grid; grid-template-columns:1fr 300px; gap:3rem; align-items:start; }
.dp-blog-card { background:var(--nb-card); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius-lg); overflow:hidden; margin-bottom:2rem; transition:all .35s; }
.dp-blog-card:hover { border-color:var(--nb-border2); box-shadow:var(--nb-shadow-lg); transform:translateY(-3px); }
.dp-blog-thumb { display:block; overflow:hidden; aspect-ratio:16/8; }
.dp-blog-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.dp-blog-thumb:hover .dp-blog-img { transform:scale(1.04); }
.dp-blog-body { padding:1.8rem; }
.dp-blog-meta { display:flex; gap:.8rem; align-items:center; margin-bottom:.8rem; font-size:.72rem; color:var(--nb-muted2); }
.dp-blog-title { font-family:var(--nb-font-head); font-size:1.15rem; font-weight:700; margin-bottom:.8rem; line-height:1.3; }
.dp-blog-title a { color:var(--nb-text); }
.dp-blog-title a:hover { color:var(--nb-cyan); }
.dp-blog-excerpt { color:var(--nb-muted); font-size:.88rem; line-height:1.72; margin-bottom:1.3rem; }

/* ---- WIDGETS ---- */
.dp-widget { background:var(--nb-card); border:1.5px solid var(--nb-border); border-radius:var(--nb-radius); padding:1.5rem; margin-bottom:1.5rem; }
.dp-widget-title { font-family:var(--nb-font-head); font-size:.8rem; font-weight:700; letter-spacing:.06em; color:var(--nb-text); margin-bottom:1rem; text-transform:uppercase; }
.dp-sidebar { position:sticky; top:90px; }

/* ---- ENTRY CONTENT ---- */
.dp-entry-content { color:var(--nb-muted); line-height:1.88; font-size:.98rem; }
.dp-entry-content h2,.dp-entry-content h3,.dp-entry-content h4 { font-family:var(--nb-font-head); color:var(--nb-text); margin:2rem 0 .8rem; font-weight:700; }
.dp-entry-content h2 { font-size:1.4rem; }
.dp-entry-content h3 { font-size:1.15rem; }
.dp-entry-content p  { margin-bottom:1.2rem; }
.dp-entry-content a  { color:var(--nb-cyan); text-decoration:underline; text-underline-offset:3px; }
.dp-entry-content ul { list-style:disc; padding-left:1.5rem; margin-bottom:1.2rem; }
.dp-entry-content ol { list-style:decimal; padding-left:1.5rem; margin-bottom:1.2rem; }
.dp-entry-content li { margin-bottom:.4rem; }
.dp-entry-content blockquote { border-left:3px solid var(--nb-blue); padding:1rem 1.5rem; background:var(--nb-surface); border-radius:0 var(--nb-radius) var(--nb-radius) 0; margin:1.5rem 0; font-style:italic; color:var(--nb-text2); }
.dp-entry-content code { font-family:var(--nb-font-mono); font-size:.82rem; background:var(--nb-surface); padding:.15rem .4rem; border-radius:4px; color:var(--nb-cyan); }
.dp-entry-content pre  { background:var(--nb-surface); border:1px solid var(--nb-border); color:var(--nb-text); padding:1.5rem; border-radius:var(--nb-radius); overflow-x:auto; font-family:var(--nb-font-mono); font-size:.82rem; margin-bottom:1.5rem; }
.dp-entry-content img  { border-radius:var(--nb-radius); margin:1.5rem 0; }
.dp-entry-content table { width:100%; border-collapse:collapse; margin-bottom:1.5rem; font-size:.88rem; }
.dp-entry-content th,.dp-entry-content td { padding:.7rem 1rem; border:1px solid var(--nb-border); text-align:left; }
.dp-entry-content th { background:var(--nb-surface); font-weight:700; color:var(--nb-text); }

/* ---- PAGINATION ---- */
.dp-pagination { text-align:center; margin-top:2rem; }
.dp-pagination .nav-links { display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.dp-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:8px; font-size:.82rem; color:var(--nb-muted); font-weight:500; transition:all .3s; }
.dp-pagination .page-numbers.current,.dp-pagination .page-numbers:hover { background:var(--nb-blue); border-color:var(--nb-blue); color:#fff; }

/* ---- POST NAV ---- */
.dp-post-nav a { color:var(--nb-cyan); font-size:.88rem; font-weight:600; }
.dp-post-nav a:hover { color:var(--nb-blue); }

/* ---- FOOTER ---- */
.dp-footer { background:var(--nb-bg2); border-top:1px solid var(--nb-border); }
.dp-footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:3rem; padding:4.5rem 0 3rem; }
.dp-footer-logo { margin-bottom:1rem; }
.dp-footer-desc { font-size:.84rem; line-height:1.78; margin-bottom:1.5rem; color:var(--nb-muted2); }
.dp-footer-socials { display:flex; gap:.5rem; }
.dp-social-link { width:34px; height:34px; display:flex; align-items:center; justify-content:center; background:var(--nb-surface); border:1.5px solid var(--nb-border); border-radius:8px; color:var(--nb-muted2); transition:all .3s; }
.dp-social-link svg { width:15px; height:15px; }
.dp-social-link:hover { background:var(--nb-blue); border-color:var(--nb-blue); color:#fff; }
.dp-footer-col-title { font-family:var(--nb-font-head); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--nb-text); margin-bottom:1.3rem; }
.dp-footer-links { display:flex; flex-direction:column; gap:.6rem; }
.dp-footer-links a { font-size:.82rem; color:var(--nb-muted2); transition:color .3s; }
.dp-footer-links a:hover { color:var(--nb-cyan); }
.dp-footer-contact-list { display:flex; flex-direction:column; gap:.8rem; }
.dp-footer-contact-list li { display:flex; align-items:flex-start; gap:.6rem; }
.dp-fci { flex-shrink:0; font-size:.9rem; }
.dp-footer-contact-list span,.dp-footer-contact-list a { font-size:.82rem; color:var(--nb-muted2); line-height:1.5; }
.dp-footer-contact-list a:hover { color:var(--nb-cyan); }
.dp-footer-bottom { border-top:1px solid var(--nb-border); padding:1.5rem 0; }
.dp-footer-bottom-inner { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.dp-footer-copy,.dp-footer-tagline { font-family:var(--nb-font-mono); font-size:.68rem; color:var(--nb-muted2); }
.dp-footer-tagline { font-style:italic; }

/* ---- CUSTOM LOGO (dark bg) ---- */
.nibra-custom-logo img,.dp-header-logo img,.dp-footer-logo img { max-height:40px; width:auto; filter:brightness(0) invert(1); }
.dp-footer-logo .nibra-custom-logo img { max-height:36px; }

/* ---- SLIDE SUB TEXT ---- */
.dp-slide-sub { font-size:clamp(1rem,2vw,1.4rem); font-weight:500; color:var(--nb-muted); letter-spacing:-.01em; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:900px){
  .dp-section { padding:4rem 0; }
  .dp-service-row { grid-template-columns:1fr; gap:2rem; padding:2rem 0; }
  .dp-service-row-reverse { direction:ltr; }
  .dp-about-grid { grid-template-columns:1fr; gap:2.5rem; }
  .dp-contact-grid { grid-template-columns:1fr; gap:2.5rem; }
  .dp-form-row { grid-template-columns:1fr; }
  .dp-footer-top { grid-template-columns:1fr 1fr; gap:2rem; padding:3rem 0 2rem; }
  .dp-process-grid { grid-template-columns:repeat(2,1fr); }
  .dp-process-grid::before { display:none; }
  .dp-blog-layout { grid-template-columns:1fr; }
  .dp-sidebar { position:static; }
}
@media(max-width:560px){
  .dp-footer-top { grid-template-columns:1fr; }
  .dp-footer-bottom-inner { flex-direction:column; text-align:center; }
  .nibra-projects-grid { grid-template-columns:1fr; }
  .nibra-value-grid { grid-template-columns:1fr; }
  .dp-industry-grid { grid-template-columns:repeat(3,1fr); }
  .nibra-skills { grid-template-columns:1fr 1fr; }
}
