:root{
    --cream:#F7F9E8;
    --lime:#E3F37B;
    --navy:#035772;
    --petrol:#4C7C8C;
    --ink:#1f2a2e;
    --line:#d7e0a8;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:'Segoe UI', Roboto, -apple-system, sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1080px;margin:0 auto;padding:0 24px;}

  /* Header */
  header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;background:#fff;border-bottom:1px solid var(--line);
    position:sticky;top:0;z-index:10;flex-wrap:wrap;
  }
  .logo{display:flex;align-items:center;gap:12px;font-weight:600;font-size:1.1rem;color:var(--navy);}
  .logo img{width:52px;height:52px;object-fit:contain;}
  nav ul{list-style:none;display:flex;gap:28px;flex-wrap:wrap;}
  nav a{font-size:0.95rem;color:var(--navy);}
  nav a:hover{color:var(--petrol);}

  /* Hero */
  .hero{background:var(--lime);padding:48px 24px;}
  .hero .container{display:flex;gap:32px;align-items:stretch;flex-wrap:wrap;}
  .hero-text{flex:1 1 420px;background:var(--cream);border:1px solid rgba(3,87,114,.2);border-radius:4px;padding:32px;box-shadow:0 4px 16px rgba(3,87,114,.06);}
  .eyebrow{color:var(--navy);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;font-size:0.8rem;margin-bottom:12px;}
  h1{font-size:2rem;color:var(--navy);margin-bottom:16px;font-weight:700;}
  .hero-text p{margin-bottom:16px;color:var(--navy);}
  .hero-list{margin:20px 0;padding-left:0;list-style:none;}
  .hero-list li{
    padding:10px 0 10px 28px;position:relative;border-bottom:1px solid rgba(3,87,114,.15);color:var(--navy);
  }
  .hero-list li::before{
    content:"•";color:var(--navy);font-size:1.4rem;position:absolute;left:0;top:6px;
  }
  .btn{
    display:inline-block;background:#fff;color:var(--navy);padding:14px 28px;border:2px solid var(--navy);
    border-radius:30px;font-weight:600;margin-top:20px;transition:background .2s;
  }
  .btn:hover{background:var(--navy);color:#fff;}
  .hero-photo{flex:0 0 300px;}
  .hero-photo img{border-radius:4px;height:100%;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12);}

  /* Newsletter banner */
  .newsletter{
    background:var(--lime);color:var(--navy);padding:28px 24px 48px;text-align:center;
  }
  .newsletter p{font-size:1.05rem;margin-bottom:16px;max-width:640px;margin-left:auto;margin-right:auto;font-weight:700;}
  .newsletter .btn{background:var(--petrol);color:#fff;border-color:var(--petrol);}
  .newsletter .btn:hover{background:var(--navy);border-color:var(--navy);}

  /* Sections */
  section{padding:56px 24px;}
  h2{color:var(--navy);font-size:1.6rem;margin-bottom:24px;text-align:center;}
  .about-text{max-width:760px;margin:0 auto 40px;color:#3d4a3f;}
  .about-text p{margin-bottom:16px;}

  /* Timeline columns */
  .timelines{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;max-width:900px;margin:0 auto;background:var(--lime);border-radius:4px;padding:32px;}
  .timeline{flex:1 1 340px;}
  .timeline h3{color:var(--navy);font-size:1.05rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em;}
  .timeline ul{list-style:none;}
  .timeline li{
    padding:12px 0 12px 20px;border-left:2px solid var(--navy);position:relative;margin-left:6px;color:#2c3a30;
  }
  .timeline li::before{
    content:"";width:10px;height:10px;border-radius:50%;background:var(--navy);
    position:absolute;left:-6px;top:16px;
  }
  .timeline .year{font-weight:700;color:var(--navy);display:block;font-size:.9rem;}

  /* Services */
  .services{background:#fff;}
  .service-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1080px;margin:0 auto;
  }
  .service-card{
    background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:24px;
    display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s, box-shadow .2s;
  }
  .service-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.06);}
  .service-card h3{color:var(--navy);font-size:1.1rem;margin-bottom:8px;}
  .service-card .duration{color:#6b7a6d;font-size:.9rem;margin-bottom:12px;}
  .service-card .price{color:var(--petrol);font-weight:700;font-size:1.2rem;margin-bottom:16px;}
  .service-card a{
    align-self:flex-start;color:var(--navy);font-weight:600;font-size:.9rem;border-bottom:1px solid var(--navy);
  }
  .services-cta{text-align:center;margin-top:36px;}
  .services-cta .btn{background:var(--navy);color:#fff;}
  .services-cta .btn:hover{background:var(--petrol);border-color:var(--petrol);}

  /* FAQ */
  .faq{max-width:760px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
  .faq-item .q{font-weight:700;color:var(--navy);margin-bottom:8px;}
  .faq-item .a{color:#3d4a3f;}

  /* Map */
  .map-wrap{max-width:1080px;margin:0 auto;border-radius:8px;overflow:hidden;border:1px solid var(--line);}
  .map-wrap iframe{width:100%;height:320px;border:0;display:block;}

  /* Contact / footer */
  footer{
    background:var(--navy);color:#f2efe9;padding:48px 24px 24px;
  }
  footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
  footer h2{color:#fff;text-align:left;}
  .contact-info a{color:#fff;display:block;margin-bottom:8px;text-decoration:underline;}
  .contact-info .btn{margin-top:16px;background:var(--petrol);color:#fff;border-color:var(--petrol);}
  .contact-info .btn:hover{background:#fff;color:var(--navy);}
  address{font-style:normal;color:#dce9ec;}
  .copyright{text-align:center;font-size:.8rem;color:#b9d2d8;margin-top:32px;border-top:1px solid rgba(255,255,255,.15);padding-top:16px;}

  @media (max-width:640px){
    nav ul{gap:14px;}
    h1{font-size:1.6rem;}
    footer .container{flex-direction:column;}
  }

/* Service detail pages */
.service-hero{background:var(--lime);padding:48px 24px;text-align:center;}
.service-hero h1{max-width:760px;margin:0 auto 12px;}
.service-hero .meta{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;color:var(--navy);font-weight:600;margin-top:12px;}
.service-detail{max-width:760px;margin:0 auto;padding:48px 24px;color:#3d4a3f;}
.service-detail p{margin-bottom:16px;}
.service-detail .btn{background:var(--navy);color:#fff;}
.service-detail .btn:hover{background:var(--petrol);border-color:var(--petrol);}
.back-link{display:inline-block;margin:24px;color:var(--navy);font-weight:600;}
