/* Prosignal — Minimalist stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;600;700;800&family=Inter:wght@300;400;600;700&display=swap');

:root{
  --bg:#fafafa;
  --card:#fff;
  --text:#0f172a;
  --muted:#64748b;
  --accent:#2563eb;
  --radius:10px;
  --gap:16px;
}
/* Base */
*{box-sizing:border-box}
html{font-family:"Heebo","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.5;font-family:inherit}
.container{width:92%;max-width:1100px;margin:0 auto;padding:var(--gap) 0}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Header — compact glassy centered pill */
header{
  position:sticky;
  top:12px;
  z-index:1100;
  width:calc(100% - 48px);
  max-width:1200px;
  margin:8px auto;
  background:rgba(255,255,255,0.94);
  border-radius:50px;
  box-shadow:0 6px 18px rgba(15,23,42,0.05);
  /* padding:6px 10px; reduced padding */
}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;position:relative}
.nav-bar .logo{display:flex;align-items:center}
.nav-bar .logo img{height:40px} /* smaller logo */
nav ul{display:flex;gap:20px;list-style:none;padding:0;margin:0}
nav a{padding:6px 8px;font-size:0.96rem;border-radius:6px;color:var(--text);font-weight:700} /* tighter links */
nav a:hover{background:rgba(0,0,0,0.04)}
nav a.active{color:var(--accent)}

/* Layout ordering: logo left, nav center, hamburger right */
.nav-bar .logo{order:1}
.nav-bar nav{order:2}
.nav-bar .hamburger{order:3;margin-left:auto}

/* Ensure nav still aligns properly on desktop */
@media (min-width:901px){
  .nav-bar nav ul{display:flex}
  .nav-bar nav{margin-left:12px}
}

/* Full-screen hero image */
.hero-banner{
  width:100vw;
  left:50%;
  right:50%;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:-100px; /* keeps header overlapping */
  padding-top:0; /* no extra top padding so image fills viewport */
  overflow:hidden;
}
/* Dim hero background with an overlay so content remains readable */
.hero-banner-bg{position:relative;width:100%;min-height:100vh;height:100vh;display:block}
.hero-banner-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0, 0, 0, 0.649); /* increased opacity to dim the image more (was 0.34) */
  z-index:1;
  pointer-events:none;
}
.hero-bg-img{width:100vw;height:100vh;object-fit:cover;display:block;position:relative;z-index:0}

/* Hero content entrance & micro-interactions */
.hero-content{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-45%) scale(.98);
  background:transparent;
  padding:0;
  border-radius:0;
  max-width:720px;
  text-align:center;
  z-index:2;
  color:#fff;
}
.hero-content h2{
  font-size:2.4rem;
  line-height:1.05;
  margin:0 0 12px;
  font-weight:700;
}
.hero-content p{
  font-size:1.05rem;
  color:rgba(255,255,255,0.92);
  margin:0 0 18px;
}

/* big modern CTA */
.btn{
  background:linear-gradient(90deg,#0ea5ff,#2563eb);
  color:#fff;
  padding:12px 20px;
  border-radius:999px;
  font-weight:700;
  display:inline-block;
}
.btn:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}

/* Services */
.services-highlights{display:block;margin:20px 0}
.service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}

/* Service Item */
.service-item{display:flex;align-items:center;gap:12px;padding:34px;border-radius:12px;background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,250,252,0.98));box-shadow:0 6px 18px rgba(15,23,42,0.04);border:1px solid rgba(15,23,42,0.04)}
.service-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#06b6d4);color:#fff;flex-shrink:0}
.service-number{color:var(--muted);font-weight:700;margin-top:6px}
.service-item h4{margin:0;font-size:1.05rem}

/* Services: hover, focus and improved responsive adjustments */
.service-item{transition:transform .22s cubic-bezier(.2,.9,.2,1),box-shadow .22s cubic-bezier(.2,.9,.2,1);}
.service-item:hover,.service-item:focus-within{transform:translateY(-8px);box-shadow:0 18px 40px rgba(15,23,42,0.12);}
.service-item:active{transform:translateY(-2px)}
.service-icon{transition:transform .22s ease, box-shadow .22s ease}
.service-item:hover .service-icon{transform:scale(1.06);box-shadow:0 10px 30px rgba(2,6,23,0.12)}
.service-item svg{display:block;color:inherit}
.service-item h4{margin:0 0 6px;font-size:1.06rem}
.service-item .service-number{margin:6px 0 0;color:var(--muted);font-weight:700}

/* responsive tweaks: keep spacing balanced across sizes */
@media (max-width:1100px){
  .service-list{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media (max-width:700px){
  .service-list{grid-template-columns:1fr}
  .service-item{padding:14px}
  .service-icon{width:50px;height:50px}
}

/* About */
.about-preview{background:var(--card);padding:18px;border-radius:10px;border:1px solid #eef2f7;margin:20px 0}
.about-preview h3{margin:0 0 8px;color:var(--text)}
.about-preview p{margin:0 0 10px;color:var(--muted)}
.link{font-weight:600}

/* About preview: grid layout with image */
.about-grid{display:grid;grid-template-columns:1fr 420px;gap:20px;align-items:center}
.about-text h3{margin:0 0 10px;font-size:1.4rem}
.about-text p{margin:0 0 12px;color:var(--muted)}
.about-image{width:100%;height:260px;object-fit:cover;border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,0.06)}
.btn-ghost{display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid rgba(15,23,42,0.06);color:var(--text);background:transparent}

/* hero-like actions for about */
.about-actions{display:flex;gap:12px;justify-content:center;margin-top:14px}
.about-actions .btn{padding:10px 18px}
.about-actions .btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.12)}

/* style the about card to look like the reference (rounded, shadow, inset) */
.about-media .about-image{border-radius:18px;box-shadow:0 40px 60px rgba(2,6,23,0.6);transform:translateY(6px)}
.about-preview{padding:40px 0}

/* center content visually inside hero-like section */
.about-grid{align-items:center}
@media (max-width:900px){
  .about-actions{justify-content:flex-start}
}

/* Footer */
footer{padding:18px 0;color:var(--muted);text-align:center;border-top:1px solid #eef2f7;margin-top:28px}
.footer-links,.footer-social{display:inline-flex;gap:10px;align-items:center}

/* Controls */
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);cursor:pointer}
.slider-btn.prev{left:12px}
.slider-btn.next{right:12px}

/* Accessibility */
:focus{outline:2px solid var(--accent);outline-offset:2px}

/* Responsive */
@media (max-width:900px){
  .nav-bar{padding:6px 20px}
  .nav-bar .logo img{height:30px}

  /* mobile: show hamburger, hide desktop nav and use dropdown anchored to nav-bar */
  .nav-bar nav{display:block}
  .nav-bar nav ul{display:flex;flex-direction:column;gap:8px;padding:0;margin:0;list-style:none;width:100%;box-sizing:border-box}

  /* collapsed state (hidden) */
  .nav-bar nav ul{max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .28s ease,opacity .18s ease}

  /* expanded state */
  .nav-bar nav ul.open{max-height:420px;opacity:1;pointer-events:auto}

  /* appearance of the dropdown panel */
  .nav-bar nav ul{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% + 8px);background:rgba(255,255,255,0.98);padding:12px;border-radius:12px;box-shadow:0 8px 20px rgba(15,23,42,0.06);width:calc(100% - 48px);z-index:1200}

  nav a{padding:10px 12px;color:var(--text);background:transparent}
  .hamburger{display:flex;z-index:1300}
}
@media (max-width:600px){
  .hero-content h2{font-size:1.6rem}
  .hero-content p{font-size:0.98rem}
  .hero-content{max-width:92%;padding:0 12px}
  .slider{min-height:200px}
}

/* Responsive / Hamburger behavior (desktop shows none via media rules; do NOT force display here) */
@media (min-width:901px){
  .hamburger{display:none}
}

/* Hamburger — refined modern appearance */
.hamburger{
  align-items:center;
  justify-content:center;
  width:44px;
  height:40px;
  border-radius:10px;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:6px;
  transition:background .18s ease, transform .18s ease;
}
.hamburger:hover{background:rgba(15,23,42,0.04)}
.hamburger span{
  display:block;
  width:24px;
  height:3px;
  background:var(--text);
  border-radius:2px;
  position:relative;
  transition:background .18s ease;
}
.hamburger span::before, .hamburger span::after{
  content:'';
  position:absolute;
  left:0;
  width:24px;
  height:3px;
  background:var(--text);
  border-radius:2px;
  transition:transform .22s ease, top .18s ease;
}
.hamburger span::before{top:-8px}
.hamburger span::after{top:8px}
/* open state: morph to X */
.hamburger.open span{background:transparent}
.hamburger.open span::before{transform:translateY(8px) rotate(45deg)}
.hamburger.open span::after{transform:translateY(-8px) rotate(-45deg)}

/* Centered hero card (new) */
.hero-center{padding:50px 0}
.hero-center-inner{display:flex;justify-content:center}
.hero-card{max-width:960px;background:linear-gradient(90deg,#0b1220 0%, #072244 60%, rgba(10,20,40,0.9) 100%);padding:56px;border-radius:20px;box-shadow:0 30px 80px rgba(2,6,23,0.6);text-align:center;color:#fff}
.kicker{display:inline-flex;gap:10px;align-items:center;font-size:0.82rem;color:rgba(255,255,255,0.8);font-weight:700;margin-bottom:18px}
.kicker svg{display:block;opacity:0.95}
.hero-card h1{font-size:3rem;margin:0 0 12px;line-height:1.03}
.hero-card .lead{color:rgba(255,255,255,0.85);margin:0 0 22px;font-size:1.05rem}
.hero-cta{display:flex;gap:12px;justify-content:center}
.btn-light{background:#fff;color:#0b1220;padding:12px 20px;border-radius:12px;font-weight:700}
.btn-dark{background:rgba(255,255,255,0.08);color:#fff;padding:12px 20px;border-radius:12px;border:1px solid rgba(255,255,255,0.06);font-weight:700}
@media (max-width:900px){
  .hero-card{padding:32px;border-radius:14px}
  .hero-card h1{font-size:2rem}
  .hero-center{padding:48px 0}
  .btn-light,.btn-dark{padding:10px 14px}
}

/* Responsive polish: unified breakpoints and fluid behavior */
/* Make service list fluid and easier to adapt */
.service-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}

/* Header adjustments across sizes */
@media (max-width:1200px){
  header{width:calc(100% - 32px);max-width:1100px}
}
@media (max-width:900px){
  header{width:calc(100% - 28px);margin:6px auto;padding:6px 14px}
  .nav-bar{gap:8px}
  .nav-bar .logo img{height:36px}
  .right-actions{margin-left:auto}
  /* ensure nav container is present so the dropdown panel (nav ul.open) can be shown */
  .nav-bar nav{display:block}
  .hamburger{display:flex}
}

/* Hero sizing for smaller viewports */
@media (max-width:900px){
  /* Maintain full-viewport hero on tablet and smaller screens */
  .hero-banner{margin-top:-100px}
  .hero-banner-bg{min-height:100vh;height:100vh}
  .hero-bg-img{height:100vh}
  .hero-content h2{font-size:1.6rem}
  .hero-content p{font-size:1rem}
  .hero-content{max-width:92%;padding:12px}
}
@media (max-width:600px){
  /* Maintain full-viewport hero on narrow phones */
  .hero-banner{margin-top:-100px}
  .hero-banner-bg{min-height:100vh;height:100vh}
  .hero-bg-img{height:100vh}
  .hero-content h2{font-size:1.25rem}
  .hero-content p{font-size:0.95rem}
}

/* Services responsive tweaks */
@media (max-width:1000px){
  .service-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .service-list{grid-template-columns:1fr}
  .service-item{padding:14px}
  .service-icon{width:50px;height:50px}
}

/* About grid responsiveness */
@media (max-width:900px){
  .about-grid{grid-template-columns:1fr;gap:18px}
  .about-text{text-align:left}
  .about-actions{justify-content:flex-start}
  .about-media{padding:12px}
  .about-media .about-image{height:220px}
}
@media (max-width:420px){
  .about-media .about-image{height:180px}
  .about-text h3{font-size:1.1rem}
}

/* Buttons scale down on small screens */
@media (max-width:520px){
  .btn{padding:10px 14px;font-size:0.95rem}
  .btn-ghost{padding:8px 12px}
}

/* Ensure hamburger hidden on large screens */
@media (min-width:901px){
  .hamburger{display:none}
}
