cat > "$APP/css/style.css" << 'EOF'
:root{
  --brand:#0E7C66;
  --brand-2:#0BB3A4;
  --accent:#E76F51;
  --ink:#0E2A2B;
  --muted:#5E6E66;
  --bg:#F7FAF9;
  --surface:#FFFFFF;
  --ring:rgba(14,124,102,0.35);
  --shadow:0 10px 25px rgba(14,42,43,0.08);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
.container{width:min(1100px, 92%);margin:0 auto}
.button{
  display:inline-flex;align-items:center;gap:.6rem;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;padding:.85rem 1.15rem;border-radius:10px;border:none;cursor:pointer;
  box-shadow:var(--shadow);font-weight:700;letter-spacing:.2px
}
.button.secondary{background:#fff;color:var(--brand);border:1px solid rgba(14,124,102,.2)}
.button:hover{transform:translateY(-1px)}
.tag{display:inline-block;background:rgba(11,179,164,.12);color:var(--brand);padding:.35rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600}
.card{
  background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:1.3rem
}

/* Header / Nav */
.header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-bottom:1px solid rgba(14,42,43,.06)
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.nav-left{display:flex;align-items:center;gap:1rem}
.logo{height:38px}
.menu{display:flex;gap:1.2rem;align-items:center}
.menu a{color:var(--ink);font-weight:600;padding:.5rem .6rem;border-radius:8px}
.menu a.active, .menu a:hover{background:rgba(14,124,102,.08)}
.burger{display:none;background:none;border:none;padding:.3rem}
.burger svg{width:28px;height:28px}

/* Hero */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(1200px 400px at 10% -10%, rgba(11,179,164,.18), transparent 60%),
    radial-gradient(1000px 380px at 110% 10%, rgba(14,124,102,.18), transparent 60%),
    linear-gradient(180deg,#FFFFFF, #F2FCF9 70%, #F7FAF9);
}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;padding:3.2rem 0 2.6rem}
.hero h1{font-size:clamp(2rem, 4vw, 3rem);line-height:1.15;margin:.4rem 0}
.hero p{color:var(--muted);font-size:1.05rem;margin:0 0 1rem}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.8rem}

/* Sections */
.section{padding:3rem 0}
.section h2{font-size:1.9rem;margin:.2rem 0 1rem}
.grid{display:grid;gap:1rem}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.stat{
  text-align:center;background:var(--surface);border-radius:14px;padding:1rem
}
.stat .num{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:#5B0F14}

/* Services */
.service-card h3{margin:.2rem 0}
.service-card p{color:var(--muted);font-size:.98rem}
.icon{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg, rgba(14,124,102,.12), rgba(11,179,164,.12));
  display:grid;place-items:center;margin-bottom:.5rem;color:var(--brand)
}

/* Values */
.value{display:flex;gap:1rem;align-items:flex-start}
.value .v-title{font-weight:800}
.value p{margin:.2rem 0 0;color:var(--muted)}

 /* Footer Styles */
    .footer {
      background: #5B0F14;
      color: white;
      padding: 3rem 0 1rem;
    }

    .footer .cols {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 2rem;
      margin-bottom: 2rem;
    }

    .footer h4 {
      margin-bottom: 1rem;
      color: #f0d0d2;
    }

    .footer a {
      color: white;
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .footer a:hover {
      color: #f0d0d2;
    }

    .footer hr {
      border: none;
      height: 1px;
      background: rgba(255, 255, 255, 0.2);
      margin: 2rem 0 1rem;
    }


/* Contact form */
form{
  display:grid;gap:1rem;background:var(--surface);padding:1.2rem;border-radius:var(--radius);box-shadow:var(--shadow)
}
input,textarea,select{
  width:100%;padding:.9rem;border-radius:10px;border:1px solid rgba(14,42,43,.12);font:inherit;background:#fff
}
input:focus,textarea:focus,select:focus{outline:3px solid var(--ring);border-color:var(--brand)}
label{font-weight:700}
.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.notice{font-size:.92rem;color:var(--muted)}

/* Utilities */
.kicker{display:flex;align-items:center;gap:.5rem;color:var(--brand);font-weight:800;letter-spacing:.6px;text-transform:uppercase}
hr{border:none;border-top:1px solid rgba(14,42,43,.08);margin:1.2rem 0}

@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr;padding:2.2rem 0}
  .cols-4{grid-template-columns:repeat(2,1fr)}
  .cols-3{grid-template-columns:repeat(2,1fr)}
  .cols-2{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
  .menu{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;padding:1rem;border-bottom:1px solid rgba(14,42,43,.08)}
  .menu.open{display:flex;flex-direction:column}
  .burger{display:block}
}

/* Full-width hero image */
.full-width-hero {
  position: relative;
  padding: 0;
  margin: 0;
}

.full-width-hero .hero-bg {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  display: block;
}

.full-width-hero .hero-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  max-width: 900px;
  padding: 1rem;
  background: rgba(91, 15, 20, 0.6); /* Brand wine overlay */
  border-radius: 8px;
}

/* Brand colours for buttons and links */
.button {
  background-color: #5B0F14;
  border: none;
  color: #fff;
}

.button.secondary {
  background-color: transparent;
  border: 2px solid #5B0F14;
  color: #5B0F14;
}

.button:hover {
  background-color: #7a1c24;
}

.menu a {
  color: #fff;
}

.menu a:hover {
  color: #e6c5c8;
}

/* Full-width hero image with overlay */
.full-width-hero {
  position: relative;
  margin: 0;
  padding: 0;
}

.hero-image-wrapper {
  position: relative;
  width: 100%;
  height: 70vh;
  overflow: hidden;
}

.hero-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(91, 15, 20, 0.55); /* Brand wine colour overlay */
}

.hero-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  padding: 1.5rem;
  max-width: 900px;
}

.hero-inner h1 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.hero-inner p {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}