:root{
  --brand-blue: #0B72B9;
  --brand-green: #2E7D32;
  --brand-yellow: #FFC107;
  --bg: #f9fafb;
  --muted: #6B7280;
  --dark: #0f1724;
  --white: #ffffff;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Poppins",sans-serif;
  background:var(--bg);
  color:var(--dark);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Floating subtle shapes */
body::before{
  content:"";
  position:fixed;left:-10%;top:-15%;width:130%;height:130%;
  background:
    radial-gradient(circle at 10% 20%, rgba(11,114,185,0.06) 0%, transparent 20%),
    radial-gradient(circle at 90% 80%, rgba(46,125,50,0.05) 0%, transparent 20%),
    radial-gradient(circle at 55% 40%, rgba(255,193,7,0.04) 0%, transparent 18%);
  z-index:-2;
  animation: slowspin 60s linear infinite;
}
@keyframes slowspin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* NAVBAR */
.navbar{
  position:sticky;top:0;z-index:999;background:rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);box-shadow:0 6px 18px rgba(12,15,20,0.04);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:58px;height:58px;object-fit:cover;border-radius:12px}
.brand-name{font-weight:700;color:var(--brand-blue);font-size:1rem}
.brand-sub{font-size:12px;color:var(--muted)}
.nav-links{display:flex;gap:18px;align-items:center}
.nav-links li{list-style:none}
.nav-links a{color:var(--dark);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}
.nav-links a:hover{background:rgba(11,114,185,0.06);color:var(--brand-green)}
.btn-nav{background:var(--brand-yellow);color:var(--dark);padding:8px 16px;border-radius:22px;font-weight:700;text-decoration:none;transition:transform .16s}
.btn-nav:hover{transform:scale(1.04)}
.menu-toggle{display:none;background:none;border:0;font-size:22px}

/* HERO (abstract shapes) */
.hero{position:relative;overflow:hidden;padding:88px 0 56px;background:linear-gradient(180deg,#083a72 0%, #0B72B9 60%);color:var(--white)}
.floating-shapes{position:absolute;inset:0;pointer-events:none;z-index:1}
.shape{position:absolute;border-radius:50%;filter:blur(14px);}
.shape.one{width:140px;height:140px;left:8%;top:18%;background:rgba(46,125,50,0.22);animation: float1 18s ease-in-out infinite}
.shape.two{width:220px;height:220px;right:6%;bottom:10%;background:rgba(255,255,255,0.12);animation: float2 26s ease-in-out infinite}
.shape.three{width:90px;height:90px;right:24%;top:22%;background:rgba(11,114,185,0.26);animation: float3 22s ease-in-out infinite}
.shape.four{width:160px;height:160px;left:12%;bottom:20%;background:rgba(46,125,50,0.18);animation: float4 20s ease-in-out infinite}

@keyframes float1 {0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-40px) rotate(120deg)}100%{transform:translateY(0) rotate(360deg)}}
@keyframes float2 {0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-60px) rotate(90deg)}100%{transform:translateY(0) rotate(180deg)}}
@keyframes float3 {0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-30px) rotate(200deg)}100%{transform:translateY(0) rotate(360deg)}}
@keyframes float4 {0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-50px) rotate(140deg)}100%{transform:translateY(0) rotate(360deg)}}

.hero-content{position:relative;z-index:2;max-width:1000px;margin:0 auto;text-align:center;padding:30px 0}
.hero-copy h1{font-size:2.6rem;line-height:1.03;margin-bottom:10px;color:var(--white)}
.highlight{color:var(--brand-green)}
.sub{font-size:1.05rem;margin-bottom:18px;color:rgba(255,255,255,0.95)}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
.btn{display:inline-block;padding:12px 20px;border-radius:28px;text-decoration:none;font-weight:700}
.btn.primary{background:var(--brand-yellow);color:var(--dark)}
.btn.primary:hover{background:var(--brand-green);color:var(--white)}
.btn.outline{border:2px solid rgba(255,255,255,0.18);color:var(--white);background:transparent}
.hero-stats{display:flex;gap:12px;justify-content:center;margin-top:14px;list-style:none;padding:0}
.hero-stats li{background:rgba(255,255,255,0.06);padding:10px 14px;border-radius:10px;color:var(--white);font-weight:700}

/* sections & diagonal */
.section{padding:64px 0;text-align:center;position:relative;z-index:1}
.section.alt{background:transparent}
.section.diagonal::before{content:"";position:absolute;left:0;right:0;height:70px;top:-35px;transform:skewY(-3deg);transform-origin:left;background:var(--bg);z-index:-1}

/* services 2x2 */
.service-grid.primary-4{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:22px}
.service{background:var(--white);padding:22px;border-radius:12px;box-shadow:0 14px 36px rgba(2,6,23,0.06);text-align:left;transition:transform .28s}
.service:hover{transform:translateY(-10px);box-shadow:0 26px 60px rgba(2,6,23,0.12)}
.icon{font-size:28px;margin-bottom:8px}
.service h3{color:var(--brand-blue);margin-bottom:8px}

/* case grid */
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:18px}
.case{background:var(--white);padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.06);text-align:left}
.case img{width:100%;border-radius:10px;margin-bottom:10px}

/* metrics */
.case-metrics{display:flex;gap:28px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.metric{font-size:2rem;font-weight:800;color:var(--brand-green)}
.metric-label{color:#222;margin-top:6px}

/* packages */
.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:26px}
.package{background:var(--white);border:2px solid rgba(11,114,185,0.08);padding:20px;border-radius:12px;text-align:left;position:relative;transition:transform .28s,box-shadow .28s}
.package:hover{transform:translateY(-8px);box-shadow:0 18px 48px rgba(0,0,0,0.10)}
.package h3{color:var(--brand-green)}
.package .price{font-size:1.2rem;font-weight:800;color:var(--brand-blue);margin-bottom:10px}
.popular{border-color:var(--brand-green)}
.popular .badge{position:absolute;top:-12px;right:-12px;background:var(--brand-green);color:#fff;padding:6px 10px;border-radius:8px;font-weight:700}
.disclaimer{margin-top:18px;margin-bottom:48px}

/* contact */
.contact-section{background:linear-gradient(180deg,var(--brand-green), #16712a);color:#fff;padding-bottom:80px}
.contact-form{max-width:720px;margin:18px auto;text-align:left;display:grid;gap:12px}
.contact-form label{display:block;font-weight:700;color:var(--white)}
.contact-form input,.contact-form textarea{width:100%;padding:12px;border-radius:10px;border:0;font-size:1rem}
.contact-form button{background:var(--brand-yellow);color:var(--dark);padding:12px;border-radius:10px;border:0;font-weight:800}

/* footer */
.footer{background:var(--brand-blue);color:var(--white);padding:18px;text-align:center}

/* reveal animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* responsive */
@media (max-width:900px){
  .nav-links{display:none;position:absolute;right:16px;top:70px;background:var(--white);padding:12px;border-radius:10px;box-shadow:0 12px 36px rgba(2,6,23,0.12);flex-direction:column}
  .menu-toggle{display:block}
  .service-grid.primary-4{grid-template-columns:1fr}
  .hero-copy h1{font-size:1.9rem}
}
