*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Work Sans',sans-serif;background:#FFFFFF;color:#081C15;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Outfit',serif;font-weight:600}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 60px;background:#081C15;position:sticky;top:0;z-index:100}
.nav__brand{font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:900;text-transform:uppercase;letter-spacing:0.05em;color:#fff}
.nav__brand span{color:#95D5B2}
.nav__links{display:flex;gap:24px;list-style:none}
.nav__links a{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.6);font-weight:600;transition:color 0.3s}
.nav__links a:hover{color:#fff}
.nav__cta{background:#95D5B2;color:#fff;padding:10px 24px;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;border:none;cursor:pointer;transition:background 0.3s}
.nav__cta:hover{opacity:0.9}

.hero{min-height:90vh;display:grid;grid-template-columns:1fr 1fr;background:#081C15}
.hero__text{display:flex;flex-direction:column;justify-content:center;padding:80px 60px;color:#fff}
.hero__label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.2em;color:#2D6A4F;margin-bottom:20px;font-weight:700}
.hero h1{font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:900;text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:20px}
.hero p{font-size:1rem;color:rgba(255,255,255,0.6);line-height:1.8;margin-bottom:40px;max-width:420px}
.hero__btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-port{padding:14px 36px;background:#95D5B2;color:#fff;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;border:none;cursor:pointer;transition:transform 0.2s}
.btn-port:hover{transform:translateY(-2px)}
.btn-port-ghost{padding:14px 36px;background:transparent;color:#fff;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;border:2px solid rgba(255,255,255,0.3);cursor:pointer;transition:all 0.3s}
.btn-port-ghost:hover{background:rgba(255,255,255,0.1)}
.hero__gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px}
.hero__gallery img{width:100%;height:100%;object-fit:cover}
.hero__gallery img:first-child{grid-row:1/3}

.portfolio{padding:80px 60px;background:#FFFFFF}
.portfolio__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px}
.portfolio h2{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:900;text-transform:uppercase;color:#081C15}
.portfolio__filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{padding:8px 20px;border:2px solid #D8F3DC;background:transparent;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;color:#52B788;cursor:pointer;transition:all 0.2s}
.filter-btn.active,.filter-btn:hover{background:#2D6A4F;color:#fff;border-color:#2D6A4F}
.portfolio__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.port-item{position:relative;aspect-ratio:1;overflow:hidden}
.port-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.port-item:hover img{transform:scale(1.08)}
.port-item__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.75);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity 0.3s;color:#fff;text-align:center;padding:20px}
.port-item:hover .port-item__overlay{opacity:1}
.port-item__overlay h4{font-size:1.1rem;margin-bottom:6px;color:#fff}
.port-item__overlay span{font-size:0.8rem;color:#2D6A4F}

@media(max-width:768px){
  .nav{padding:16px 24px} .nav__links{display:none}
  .hero{grid-template-columns:1fr}
  .hero__text{padding:80px 24px 40px}
  .hero__gallery{min-height:300px}
  .portfolio{padding:48px 24px}
  .portfolio__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .portfolio__grid{grid-template-columns:1fr}
}
/* SitePilot: mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
@media(max-width:768px){
  .nav-toggle{display:block}
  .nav__cta{display:none}
  .nav__links{flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);padding:16px 24px;box-shadow:0 4px 12px rgba(0,0,0,0.1);gap:12px}
}
