:root{--g:#69d10f;--b:#124f9b;--d:#08111f;--ink:#132033;--muted:#657184;--bg:#f7fafc;--line:#e4eaf1}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92%);margin:auto}

/* NAV */
.nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.navin{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;flex-shrink:0}
.logo-img{height:68px;max-width:280px;display:block;object-fit:contain}
.nav-menu{display:flex;align-items:center;gap:24px}
.burger{display:none;background:none;border:none;font-size:32px;cursor:pointer;color:var(--ink);padding:0;line-height:1}
.links{display:flex;gap:24px;font-weight:700;font-size:14px;white-space:nowrap}
.links a:hover,.links .active{color:var(--g)}
.cta,.btn{background:var(--g);padding:12px 19px;border-radius:10px;font-weight:800;display:inline-block;white-space:nowrap;flex-shrink:0}
body.menu-open{overflow:hidden}

/* HERO */
.hero,.pagehero{color:#fff;background:linear-gradient(90deg,rgba(3,15,29,.84),rgba(3,15,29,.22)),url('assets/workspace-06.jpeg') center/cover}
.hero{min-height:610px;display:grid;align-items:center}
.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.04;max-width:780px;margin:12px 0}
.hero p{max-width:650px;font-size:19px}
.eyebrow{color:var(--g);font-weight:900;letter-spacing:3px;text-transform:uppercase;font-size:13px}
.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.secondary{background:transparent;color:#fff;border:1px solid #fff}
.pagehero{padding:95px 0}
.pagehero h1{font-size:52px;margin:8px 0}

/* SECTIONS */
.section{padding:78px 0}
.alt{background:#fff}
.head{max-width:720px;margin-bottom:34px}
.head h2{font-size:38px;line-height:1.15;margin:10px 0}
.head p,.muted{color:var(--muted)}
.pill{display:inline-block;background:#effbdc;color:#39840c;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:800}

/* GRID & CARDS */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgba(13,35,61,.08)}
.pad{padding:24px}
.card h3{margin:0 0 8px}
.icon{width:44px;height:44px;border-radius:12px;background:#effbdc;color:#39840c;display:grid;place-items:center;font-weight:900;margin-bottom:14px}

/* FEATURE SECTION */
.feature{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.feature img{width:100%;height:500px;object-fit:cover;border-radius:24px}
.ticks{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ticks li:before{content:'✓';color:var(--g);font-weight:900;margin-right:8px}

/* ── PHOTO GRID ── */
.gallery-section{background:#f0f4f8}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto;
  gap:12px;
}
.pg-item{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  cursor:pointer;
  background:#dde4ed;
}
.pg-item img, .pg-item video{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
  transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.pg-item.pg-tall img, .pg-item.pg-tall video{height:534px} /* 2x height + gap */
.pg-item.pg-tall{grid-row:span 2}

/* hover overlay */
.pg-hover{
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,rgba(18,79,155,.6),rgba(105,209,15,.35));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  opacity:0;
  transition:opacity .3s ease;
}
.pg-icon{
  width:52px;height:52px;border-radius:50%;
  border:2px solid #fff;
  color:#fff;font-size:28px;font-weight:300;
  display:flex;align-items:center;justify-content:center;
  transform:scale(.7);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
}
.pg-label{
  color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;opacity:0;
  transform:translateY(6px);
  transition:all .3s ease .05s;
}
.pg-item:hover img, .pg-item:hover video{transform:scale(1.08)}
.pg-item:hover .pg-hover{opacity:1}
.pg-item:hover .pg-icon{transform:scale(1)}
.pg-item:hover .pg-label{opacity:1;transform:translateY(0)}

/* CONTACT */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #d7dee8;border-radius:9px;margin-top:5px;font:inherit}
.form textarea{min-height:120px}

/* FOOTER */
.footer{background:var(--d);color:#d9e2ed;padding:55px 0 20px}
.footergrid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:40px}
.footer h3{color:#fff}
.copy{border-top:1px solid #263344;margin-top:30px;padding-top:16px;font-size:13px;color:#9eacbc}

/* WHATSAPP BUTTON */
.wa{position:fixed;right:22px;bottom:22px;width:52px;height:52px;z-index:30;display:block;transition:transform 0.2s}
.wa:hover{transform:scale(1.1)}
.wa img{width:100%;height:100%;object-fit:contain;display:block}

/* SOCIAL LINKS */
.social-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:8px}
.social-links a{display:inline-flex;align-items:center;gap:6px;font-weight:600;transition:color 0.2s}
.social-links a:hover{color:var(--g)}
.social-links svg{width:22px;height:22px;fill:currentColor}

/* RESPONSIVE */
@media(max-width:850px){
  .logo-img{max-width:200px}
  .burger{display:block}
  .nav-menu{position:fixed;top:78px;left:0;width:100%;height:calc(100vh - 78px);background:#fff;flex-direction:column;justify-content:center;gap:40px;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);z-index:19;overflow-y:auto;padding-bottom:100px}
  .nav.nav-open .nav-menu{transform:translateX(0)}
  .links{flex-direction:column;align-items:center;font-size:20px;gap:30px}
  .g3,.g4,.feature,.contact,.footergrid{grid-template-columns:1fr}
  .ticks{grid-template-columns:1fr}
  .hero{min-height:650px}
  .pagehero h1{font-size:42px}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
  .pg-item.pg-tall{grid-row:span 2}
  .pg-item.pg-tall img, .pg-item.pg-tall video{height:534px}
}
@media(max-width:540px){
  .photo-grid{grid-template-columns:1fr}
  .pg-item.pg-tall{grid-row:span 1}
  .pg-item.pg-tall img, .pg-item.pg-tall video{height:260px}
}
