
:root{
  --bg:#ffffff;
  --muted:#444;
  --ink:#0b1a19;
  --accent:#2ec4b6;
  --block:#e5e5e5;
  --max:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--muted);font-family:"Nunito Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max);margin:0 auto;padding:24px}

/* HERO */
.hero{position:relative;min-height:58vh;display:flex;align-items:center;justify-content:flex-start;color:#fff;text-align:left}
.hero__bg{position:absolute;inset:0;background:url("../img/Cape-Reinga_2.jpg") center center/cover no-repeat;z-index:0;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.35) 50%, rgba(0,0,0,.15) 100%);z-index:1;}
.hero__inner{position:relative;z-index:2;max-width:var(--max);margin:0;padding:32px 48px;}
.hero h1{font-family:Poppins, system-ui, sans-serif;font-weight:700;letter-spacing:-.02em;margin:0;font-size:clamp(20px,4vw,44px);line-height:1.2;text-shadow:0 2px 6px rgba(0,0,0,.45);}

/* HEADLINE */
.headline{background:#fff;text-align:center;padding:20px 0}
.headline__title{font-family:Poppins, system-ui, sans-serif;color:var(--accent);font-weight:700;margin:0 0 8px;font-size:clamp(28px,4vw,56px)}
.headline__sub{color:#111;font-size:clamp(18px,2.2vw,24px);margin:0 auto;max-width:800px}

/* SERVICES */
.services{background:var(--block);padding:40px 0}
.services__grid{max-width:var(--max);margin:0 auto;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);padding:0 24px}
.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);border:1px solid #ddd;text-align:center}
.card__body{padding:16px}
.card__title{font-family:Poppins, system-ui, sans-serif;color:#0d1b1a;font-weight:700;margin:8px 0 0;font-size:clamp(18px,2vw,22px)}
.card__img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* FOOTER */
footer{background:#bfbfbf;padding:12px 0;color:#222}
footer .foot{max-width:var(--max);margin:0 auto;text-align:center;padding:0 24px}
.foot p{margin:4px 0}
.foot .brandline{font-weight:600}
.foot .email{font-size:13px;opacity:.8}

/* RESPONSIVE */
@media (max-width:980px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.services__grid{grid-template-columns:1fr}.hero{min-height:46vh;align-items:center;}}
