:root {
    --bg: #F7FBFA;
    /* Background */
    --surface: #FFFFFF;
    /* Cards & panels */
    --primary: #0E6B5F;
    /* Deep Teal */
    --secondary: #FFB703;
    /* Warm Amber */
    --accent: #00D4A6;
    /* Mint Aqua */
    --ink: #0A2A26;
    /* Text */
    --muted: #5C7F7A;
    /* Muted text */
    --border: #DDEBE8;
    /* Soft border */
    --shadow: 0 12px 30px rgba(10, 42, 38, 0.10);
    --shadow-hover: 0 18px 34px rgba(10, 42, 38, 0.16);
}

body {
    background: var(--bg);
    color: var(--ink);
}

/* Hero with wave */
.hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0 70px;
    /* background:
        radial-gradient(600px 260px at 12% 8%, rgba(0, 212, 166, 0.12), transparent 60%),
        radial-gradient(520px 220px at 85% 5%, rgba(14, 107, 95, 0.12), transparent 65%),
        linear-gradient(180deg, #F9FEFD 0%, #F2FBF8 100%); */
    
}

.hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 80px;
    background: radial-gradient(80% 120px at 50% 100%, rgba(14, 107, 95, 0.08), transparent 70%);
    pointer-events: none;
}

.eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-size: .78rem;
    color: #084842;
    background: #E9FFFA;
    border: 1px solid #C8F7EE;
    border-radius: 999px;
    padding: .35rem .7rem;
}

.hero h1 {
    color: #073C36;
}

.hero .lead {
    color: #225D56;
}

/* Cards & panels */
.glass {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.glass:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover);
    border-color: #CCEDE7;
}

/* Icon chip */
.chip {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(145deg, #ECFFF9, #E6FFF7);
    border: 1px solid #C9F4EA;
    color: #0E6B5F;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

/* Form */
.form-wrap {
    padding: 24px;
}

.form-label {
    color: #083F39;
    font-weight: 600;
}

.form-control, .form-select, textarea {
    background: #F9FFFE;
    border: 1px solid var(--border);
    color: var(--ink);
    border-radius: 14px;
    padding: .9rem 1rem;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .08s ease;
}

.form-control::placeholder, textarea::placeholder {
    color: #5C7F7A;
    opacity: .7;
}

.form-control:focus, .form-select:focus, textarea:focus {
    background: #FFFFFF;
    border-color: #A8EFE5;
    box-shadow: 0 0 0 .22rem rgba(0, 212, 166, 0.20);
    transform: translateY(-1px);
}

/* Buttons */
.btn-primary-brand {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 14px;
    padding: .85rem 1.2rem;
    font-weight: 700;
}

.btn-primary-brand:hover {
    background: #0B5C52;
    color: #fff;
}

.btn-secondary-brand {
    background: var(--secondary);
    color: #1A1A1A;
    border: none;
    border-radius: 14px;
    padding: .85rem 1.2rem;
    font-weight: 700;
}

.btn-secondary-brand:hover {
    background: #F4AA00;
    color: #111;
}

.btn-outline-brand {
    background: transparent;
    color: var(--primary);
    border: 1px solid #0E6B5F;
    border-radius: 14px;
    padding: .85rem 1.2rem;
    font-weight: 700;
}

.btn-outline-brand:hover {
    background: rgba(14, 107, 95, 0.08);
}

/* Map */
.map-wrap {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: #FFFFFF;
    min-height: 330px;
}

/* Section labels */
.label-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #0E6B5F;
    opacity: .9;
}

.label-divider::before, .label-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border);
}

/* Utility */
.muted {
    color: var(--muted);
}