:root{
    --bg1:#f4efe9;
    --bg2:#e6efe9;
  
    --card:#ffffffcc;
    --stroke:rgba(15,23,42,.10);
  
    --text:#0f172a;
    --muted:rgba(15,23,42,.65);
  
    --brand:#2f6f5f;
    --brand2:#4aa38c;
  
    --radius:18px;
    --shadow: 0 10px 30px rgba(15,23,42,.08);
    --shadow2: 0 6px 16px rgba(15,23,42,.06);
  }
  
  /* Base */
  html,body{height:100%;}
  body{
    color:var(--text);
    background: radial-gradient(1200px 700px at 10% 0%, #ffffff 0%, transparent 55%),
                radial-gradient(900px 600px at 100% 10%, #ffffff 0%, transparent 55%),
                linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%);
    min-height:100vh;
  }
  
  a{ color: var(--brand); }
  a:hover{ color: #275b4f; }
  
  .text-secondary{ color: var(--muted) !important; }
  
  /* Navbar glass */
  .navbar{
    background: rgba(255,255,255,.72) !important;
    border-bottom: 1px solid var(--stroke) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  
  /* Cards */
  .card{
    border: 1px solid var(--stroke);
    border-radius: var(--radius);
    box-shadow: var(--shadow2);
    background: var(--card);
  }
  .card.shadow-sm{ box-shadow: var(--shadow); }
  
  /* Buttons */
  .btn{
    border-radius: 14px;
    padding: .7rem 1.05rem;
  }
  .btn-lg{
    border-radius: 16px;
    padding: .9rem 1.25rem;
  }
  .btn-primary{
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand2) 100%);
    border: 0;
    box-shadow: 0 10px 18px rgba(47,111,95,.22);
  }
  .btn-primary:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 22px rgba(47,111,95,.28);
  }
  .btn-outline-secondary{
    border-color: rgba(15,23,42,.18);
    color: rgba(15,23,42,.80);
  }
  .btn-outline-secondary:hover{
    background: rgba(255,255,255,.85);
    border-color: rgba(15,23,42,.22);
  }
  
  /* Headings */
  .display-6{
    letter-spacing: -.02em;
  }
  
  /* Footer */
  footer{
    background: rgba(255,255,255,.68) !important;
    border-top: 1px solid var(--stroke) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  
  /* Hero block look */
  .hero{
    position: relative;
    border-radius: calc(var(--radius) + 6px);
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:-1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(47,111,95,.18), rgba(74,163,140,.10), rgba(255,255,255,.0));
    pointer-events:none;
  }
  
  /* Gallery */
  .gallery-img{
    height: 320px;
    width: 100%;
    object-fit: contain;
    background: rgba(255,255,255,.55);
    padding: 10px;
    cursor: pointer;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    transition: transform .25s ease, filter .25s ease;
  }
  .gallery-img:hover{
    transform: scale(1.02);
    filter: saturate(1.03);
  }
  
  /* Forms */
  .form-control, .form-select{
    border-radius: 14px;
    border-color: rgba(15,23,42,.14);
  }
  .form-control:focus, .form-select:focus{
    border-color: rgba(47,111,95,.45);
    box-shadow: 0 0 0 .25rem rgba(47,111,95,.14);
  }