
/* ==========================================================
   PR INFOTECH SOLUTIONS — PORTFOLIO PAGE
========================================================== */

.portfolio-page{
  background:#fff;
  color:#172033;
}

.portfolio-page .container{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

/* Header */
.portfolio-page .top-header .top-header-wrapper{
  width:min(1180px,calc(100% - 72px)) !important;
  min-height:48px;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr;
  align-items:center !important;
  gap:28px !important;
}

.portfolio-page .top-contact{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}

.portfolio-page .top-phone{justify-self:start;}
.portfolio-page .top-email{justify-self:center;}
.portfolio-page .top-hours{justify-self:end;}
.portfolio-page .top-contact i{color:#74a8ff;}

.portfolio-page .nav-wrapper{
  min-height:84px;
  display:flex;
  align-items:center;
  gap:20px;
}

.portfolio-page .logo{
  width:210px !important;
  min-width:210px !important;
}

.portfolio-page .logo img{
  width:210px !important;
  height:70px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.portfolio-page .nav-menu{
  display:flex;
  align-items:center;
  gap:19px;
  margin-left:auto;
  flex-wrap:nowrap;
  list-style:none;
}

.portfolio-page .nav-menu a,
.portfolio-page .dropdown-toggle{
  color:#13213d;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}

.portfolio-page .nav-menu a.active{color:#0057d9;}

.portfolio-page .has-dropdown{position:relative;}

.portfolio-page .dropdown-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  padding:28px 0;
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
}

.portfolio-page .dropdown-toggle i{
  font-size:11px;
  transition:transform .22s ease;
}

.portfolio-page .dropdown-menu{
  position:absolute;
  top:calc(100% - 8px);
  left:50%;
  z-index:1500;
  min-width:245px;
  margin:0;
  padding:10px;
  list-style:none;
  background:#fff;
  border:1px solid #e3e9f2;
  border-radius:14px;
  box-shadow:0 18px 45px rgba(15,35,60,.16);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,12px);
  transition:.22s ease;
}

.portfolio-page .dropdown-menu a{
  display:block;
  padding:11px 13px;
  border-radius:9px;
}

.portfolio-page .dropdown-menu a:hover{
  color:#0057d9;
  background:#eef5ff;
}

.portfolio-page .has-dropdown:hover .dropdown-menu,
.portfolio-page .has-dropdown:focus-within .dropdown-menu,
.portfolio-page .has-dropdown.open .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

.portfolio-page .has-dropdown:hover .dropdown-toggle i,
.portfolio-page .has-dropdown:focus-within .dropdown-toggle i,
.portfolio-page .has-dropdown.open .dropdown-toggle i{
  transform:rotate(180deg);
}

.portfolio-page .nav-right{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.portfolio-page .call-btn,
.portfolio-page .quote-btn{
  min-height:56px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  white-space:nowrap;
}

.portfolio-page .menu-toggle{display:none !important;}

/* Hero */
.portfolio-page .portfolio-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%,rgba(22,115,255,.18),transparent 34%),
    linear-gradient(135deg,#031b48 0%,#0747a6 100%);
}

.portfolio-page .portfolio-hero-layout{
  width:100%;
  min-height:470px;
  display:grid;
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  align-items:stretch;
}

.portfolio-page .portfolio-hero-copy{
  padding:30px 48px 30px max(60px,calc((100vw - 1180px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}

.portfolio-page .portfolio-kicker{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 14px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}

.portfolio-page .portfolio-kicker i{color:#ff8a1f;}

.portfolio-page .portfolio-hero h1{
  max-width:700px;
  margin:14px 0 12px;
  color:#fff;
  font-family:"Poppins",sans-serif;
  font-size:clamp(38px,3.7vw,52px);
  line-height:1.06;
  letter-spacing:-1px;
}

.portfolio-page .portfolio-hero-copy > p{
  max-width:640px;
  margin:0;
  color:#dbeafe;
  font-size:15.5px;
  line-height:1.58;
}

.portfolio-page .portfolio-hero-points{
  margin:15px 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
}

.portfolio-page .portfolio-hero-points span{
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-size:14px;
  font-weight:600;
}

.portfolio-page .portfolio-hero-points i{color:#ff8a1f;}

.portfolio-page .portfolio-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.portfolio-page .portfolio-hero-actions a{
  min-height:50px;
  padding:0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
}

.portfolio-page .portfolio-call-btn{
  color:#0057d9;
  background:#fff;
}

.portfolio-page .portfolio-hero-image{
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:#07152d;
}

.portfolio-page .portfolio-hero-image::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  z-index:1;
  width:75px;
  background:linear-gradient(90deg,#0747a6 0%,rgba(7,71,166,.35) 48%,transparent 100%);
}

.portfolio-page .portfolio-hero-image img{
  width:100%;
  height:470px;
  min-height:470px;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* Shared title */
.portfolio-page .compact-title{
  max-width:820px;
  margin:0 auto 28px;
  text-align:center;
}

.portfolio-page .compact-title > span,
.portfolio-page .section-label{
  color:#ef6c00;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.portfolio-page .compact-title h2,
.portfolio-page .project-enquiry h2{
  margin:8px 0 10px;
  color:#172033;
  font-family:"Poppins",sans-serif;
  font-size:clamp(28px,3vw,42px);
  line-height:1.15;
}

.portfolio-page .compact-title p,
.portfolio-page .project-enquiry p{
  color:#64748b;
  font-size:16px;
  line-height:1.7;
}

/* Stats */
.portfolio-page .portfolio-stats{
  padding:28px 0;
  background:#f7f9fc;
}

.portfolio-page .stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .stats-grid article{
  min-height:118px;
  padding:20px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"icon number" "icon label";
  align-items:center;
  column-gap:16px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(18,38,75,.05);
}

.portfolio-page .stats-grid i{
  grid-area:icon;
  color:#ff6a00;
  font-size:34px;
}

.portfolio-page .stats-grid strong{
  grid-area:number;
  color:#172033;
  font-size:30px;
}

.portfolio-page .stats-grid span{
  grid-area:label;
  color:#64748b;
  font-size:13px;
}

/* Projects */
.portfolio-page .portfolio-projects{
  padding:54px 0;
  background:#fff;
}

.portfolio-page .filters{
  margin-bottom:28px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.portfolio-page .filter{
  padding:10px 16px;
  color:#334155;
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:999px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.portfolio-page .filter.active,
.portfolio-page .filter:hover{
  color:#fff;
  background:#ef6c00;
  border-color:#ef6c00;
}

.portfolio-page .project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.portfolio-page .project-card{
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  box-shadow:0 12px 32px rgba(15,35,65,.06);
  transition:transform .28s ease,box-shadow .28s ease;
}

.portfolio-page .project-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 42px rgba(15,35,65,.12);
}

.portfolio-page .project-card.hidden{display:none;}

.portfolio-page .project-visual{
  min-height:190px;
  display:grid;
  place-items:center;
  color:#fff;
}

.portfolio-page .project-visual i{
  font-size:48px;
}

.portfolio-page .laptop-project{background:linear-gradient(135deg,#1d4ed8,#0f172a);}
.portfolio-page .desktop-project{background:linear-gradient(135deg,#0f766e,#0f172a);}
.portfolio-page .server-project{background:linear-gradient(135deg,#4338ca,#111827);}
.portfolio-page .network-project{background:linear-gradient(135deg,#0369a1,#111827);}
.portfolio-page .firewall-project{background:linear-gradient(135deg,#b91c1c,#172033);}
.portfolio-page .cctv-project{background:linear-gradient(135deg,#c2410c,#172033);}
.portfolio-page .biometric-project{background:linear-gradient(135deg,#047857,#172033);}
.portfolio-page .server-room-project{background:linear-gradient(135deg,#312e81,#111827);}
.portfolio-page .amc-project{background:linear-gradient(135deg,#ef6c00,#172033);}

.portfolio-page .project-content{
  padding:24px;
}

.portfolio-page .tag{
  display:inline-flex;
  padding:7px 10px;
  color:#ef6c00;
  background:#fff1e6;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.portfolio-page .project-content h3{
  margin:15px 0 9px;
  color:#172033;
  font-size:20px;
}

.portfolio-page .project-content p{
  margin:0;
  color:#64748b;
  line-height:1.7;
}

/* Industries */
.portfolio-page .portfolio-industries{
  padding:54px 0;
  background:#f7f9fc;
}

.portfolio-page .industry-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .industry-grid article{
  min-height:180px;
  padding:24px;
  text-align:center;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(18,38,75,.05);
}

.portfolio-page .industry-grid i{
  color:#0057d9;
  font-size:32px;
}

.portfolio-page .industry-grid h3{
  margin:15px 0 8px;
  color:#172033;
}

.portfolio-page .industry-grid p{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.6;
}

/* Process */
.portfolio-page .portfolio-process{
  padding:54px 0;
  background:#fff;
}

.portfolio-page .process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .process-grid article{
  min-height:175px;
  padding:26px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
}

.portfolio-page .process-grid span{
  color:#ef6c00;
  font-size:30px;
  font-weight:800;
}

.portfolio-page .process-grid h3{
  margin:14px 0 8px;
  color:#172033;
}

.portfolio-page .process-grid p{
  margin:0;
  color:#64748b;
  line-height:1.65;
}

/* Testimonials */
.portfolio-page .portfolio-testimonials{
  padding:54px 0;
  background:#f7f9fc;
}

.portfolio-page .testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .testimonial-grid article{
  padding:26px;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(18,38,75,.06);
}

.portfolio-page .stars{
  margin-bottom:14px;
  color:#ff8a1f;
  letter-spacing:2px;
}

.portfolio-page .testimonial-grid p{
  color:#475569;
  line-height:1.75;
}

.portfolio-page .testimonial-grid strong{
  color:#172033;
}

/* Enquiry */
.portfolio-page .project-enquiry{
  padding:56px 0;
  background:linear-gradient(135deg,#fff4ea,#fff);
}

.portfolio-page .enquiry-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:46px;
  align-items:start;
}

.portfolio-page .enquiry-contact{
  margin-top:24px;
  display:grid;
  gap:12px;
}

.portfolio-page .enquiry-contact a{
  color:#334155;
  text-decoration:none;
}

.portfolio-page .portfolio-form{
  padding:30px;
  background:#fff;
  border:1px solid #eadfd4;
  border-radius:20px;
  box-shadow:0 16px 40px rgba(15,35,65,.09);
}

.portfolio-page .form-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .portfolio-form label{
  display:block;
  margin-bottom:8px;
  color:#172033;
  font-size:14px;
  font-weight:700;
}

.portfolio-page .portfolio-form input,
.portfolio-page .portfolio-form select,
.portfolio-page .portfolio-form textarea{
  width:100%;
  margin-bottom:18px;
  padding:13px 14px;
  color:#172033;
  background:#fff;
  border:1px solid #ccd7e6;
  border-radius:9px;
  font:inherit;
  outline:none;
}

.portfolio-page .portfolio-form input:focus,
.portfolio-page .portfolio-form select:focus,
.portfolio-page .portfolio-form textarea:focus{
  border-color:#ef6c00;
  box-shadow:0 0 0 4px rgba(239,108,0,.1);
}

.portfolio-page .portfolio-form textarea{resize:vertical;}

.portfolio-page .portfolio-form .btn-primary{
  width:100%;
  border:0;
  cursor:pointer;
}

.portfolio-page .footer-logo{
  width:220px;
  height:auto;
  max-height:88px;
  padding:10px 14px;
  background:#fff;
  border-radius:12px;
  object-fit:contain;
}

/* Responsive */
@media(max-width:1100px){
  .portfolio-page .nav-menu,
  .portfolio-page .call-btn,
  .portfolio-page .quote-btn{
    display:none !important;
  }

  .portfolio-page .menu-toggle{
    display:inline-grid !important;
    place-items:center;
  }

  .portfolio-page .portfolio-hero-layout{
    grid-template-columns:1fr 1fr;
    min-height:430px;
  }

  .portfolio-page .portfolio-hero-copy{
    padding:28px 30px;
  }

  .portfolio-page .portfolio-hero h1{
    font-size:40px;
  }

  .portfolio-page .portfolio-hero-image,
  .portfolio-page .portfolio-hero-image img{
    min-height:430px;
    height:430px;
  }

  .portfolio-page .project-grid,
  .portfolio-page .industry-grid,
  .portfolio-page .process-grid,
  .portfolio-page .testimonial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:800px){
  .portfolio-page .portfolio-hero-layout{
    grid-template-columns:1fr;
  }

  .portfolio-page .portfolio-hero-copy{
    padding:36px 24px 30px;
  }

  .portfolio-page .portfolio-hero h1{
    font-size:34px;
  }

  .portfolio-page .portfolio-hero h1 br{
    display:none;
  }

  .portfolio-page .portfolio-hero-image,
  .portfolio-page .portfolio-hero-image img{
    min-height:300px;
    height:300px;
  }

  .portfolio-page .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .portfolio-page .enquiry-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .portfolio-page .top-header{display:none;}

  .portfolio-page .logo,
  .portfolio-page .logo img{
    width:170px !important;
    min-width:170px !important;
    height:56px !important;
  }

  .portfolio-page .portfolio-hero-points,
  .portfolio-page .project-grid,
  .portfolio-page .industry-grid,
  .portfolio-page .process-grid,
  .portfolio-page .testimonial-grid,
  .portfolio-page .form-row{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .portfolio-page .portfolio-hero-copy{
    padding:32px 18px 26px;
  }

  .portfolio-page .portfolio-hero h1{
    font-size:30px;
  }

  .portfolio-page .portfolio-hero-actions{
    flex-direction:column;
  }

  .portfolio-page .portfolio-hero-actions a{
    width:100%;
  }

  .portfolio-page .stats-grid{
    grid-template-columns:1fr;
  }

  .portfolio-page .portfolio-form{
    padding:22px;
  }
}

/* ==========================================================
   PORTFOLIO INDUSTRY SHOWCASE UPDATE
========================================================== */

.portfolio-page .portfolio-capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .portfolio-capability-grid article{
  min-height:190px;
  padding:24px;
  text-align:center;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(18,38,75,.06);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.portfolio-page .portfolio-capability-grid article:hover{
  transform:translateY(-5px);
  border-color:#ffbd86;
  box-shadow:0 16px 36px rgba(18,38,75,.11);
}

.portfolio-page .portfolio-capability-grid i{
  color:#ef6c00;
  font-size:34px;
}

.portfolio-page .portfolio-capability-grid h3{
  margin:16px 0 8px;
  color:#172033;
  font-size:18px;
}

.portfolio-page .portfolio-capability-grid p{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.65;
}

.portfolio-page .portfolio-industries{
  padding:54px 0 !important;
  background:#f7f9fc !important;
}

.portfolio-page .portfolio-industry-showcase{
  max-width:1180px;
  margin:0 auto;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  box-shadow:0 16px 40px rgba(18,38,75,.09);
}

.portfolio-page .portfolio-industry-showcase img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  background:#ffffff;
}

.portfolio-page .industry-grid,
.portfolio-page .project-grid,
.portfolio-page .filters{
  display:none !important;
}

@media(max-width:1000px){
  .portfolio-page .portfolio-capability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .portfolio-page .portfolio-capability-grid{
    grid-template-columns:1fr;
  }

  .portfolio-page .portfolio-industry-showcase{
    overflow-x:auto;
    border-radius:14px;
  }

  .portfolio-page .portfolio-industry-showcase img{
    min-width:980px;
  }
}


/* ==========================================================
   PORTFOLIO INDUSTRIES — TWO ROW CARD STRUCTURE
========================================================== */
.portfolio-page .portfolio-industry-showcase{display:none!important}

.portfolio-page .portfolio-industry-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.portfolio-page .portfolio-industry-card{
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(18,38,75,.07);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.portfolio-page .portfolio-industry-card:hover{
  transform:translateY(-5px);
  border-color:#ffbd86;
  box-shadow:0 16px 36px rgba(18,38,75,.12);
}

.portfolio-page .portfolio-industry-card img{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  object-fit:cover;
}

.portfolio-page .portfolio-industry-body{
  padding:16px 14px 18px;
  text-align:center;
}

.portfolio-page .portfolio-industry-body h3{
  margin:0 0 7px;
  color:#172033;
  font-size:16px;
}

.portfolio-page .portfolio-industry-body p{
  margin:0;
  color:#64748b;
  font-size:13px;
  line-height:1.55;
}

.portfolio-page .portfolio-industry-card:nth-child(6){grid-column:1}
.portfolio-page .portfolio-industry-card:nth-child(7){grid-column:2}
.portfolio-page .portfolio-industry-card:nth-child(8){grid-column:3}
.portfolio-page .portfolio-industry-card:nth-child(9){grid-column:4 / span 2}

@media(max-width:1100px){
  .portfolio-page .portfolio-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .portfolio-page .portfolio-industry-card:nth-child(n){grid-column:auto}
}
@media(max-width:760px){
  .portfolio-page .portfolio-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .portfolio-page .portfolio-industry-grid{grid-template-columns:1fr}
}

/* ==========================================================
   PORTFOLIO INDUSTRIES — SINGLE COLLAGE IMAGE
========================================================== */

.portfolio-page .portfolio-industry-grid,
.portfolio-page .portfolio-industry-showcase{
  display:none !important;
}

.portfolio-page .portfolio-industries{
  padding-top:54px !important;
  padding-bottom:58px !important;
  background:#f7f9fc !important;
}

.portfolio-page .portfolio-industry-collage{
  max-width:1180px;
  margin:0 auto;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  box-shadow:0 16px 42px rgba(18,38,75,.10);
}

.portfolio-page .portfolio-industry-collage img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  background:#ffffff;
}

@media(max-width:760px){
  .portfolio-page .portfolio-industry-collage{
    overflow-x:auto;
    border-radius:14px;
  }

  .portfolio-page .portfolio-industry-collage img{
    min-width:850px;
  }
}
