:root {
    --breeze-600: #0f766e;
    --breeze-400: #2dd4bf;
    --breeze-50: #eafaf8;
    --text-dark: #073f3a;
    --muted: #5b6b68;
}

/* reset / base */
* {
    box-sizing: border-box
}

body {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    margin: 0;
    color: var(--text-dark)
}

a {
    color: inherit
}

/* layout wrapper */
.hero-wrap {
    padding: 28px 18px 60px;
    background: linear-gradient(180deg,var(--breeze-50) 0%, #f7fffb 45%);
}

.hero-container {
    max-width: 1280px;
    margin: 0 auto;
}

/* the large rounded card */
.hero-card {
    background: linear-gradient(180deg,#ffffff 0%, #ffffff 100%);
    border-radius: 28px;
    padding: 0;
    box-shadow: 0 28px 60px rgba(6,78,71,0.06);
    overflow: hidden;
    display: block;
}

/* head - teal banner across the card */
.hero-card-head {
    background: linear-gradient(90deg,var(--breeze-600), var(--breeze-400));
    padding: 44px 48px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    color: #fff;
}

.hero-title-block h1 {
    margin: 0;
    font-size: 44px;
    letter-spacing: -0.6px
}

.hero-sub {
    margin-top: 8px;
    color: rgba(230,255,251,0.9);
    font-size: 18px
}

/* card body */
.hero-card-body {
    display: flex;
    gap: 28px;
    padding: 36px 44px;
    align-items: stretch;
}

.hero-left {
    flex: 1;
    min-width: 320px;
}

.hero-right {
    flex: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* lead paragraph */
.lead {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 16px;
    max-width: 58ch
}

/* buttons */
.hero-buttons {
    display: flex;
    gap: 12px;
    margin-bottom: 16px
}

.btn {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600
}

    .btn.primary {
        background: var(--breeze-600);
        color: #fff
    }

    .btn.outline {
        background: transparent;
        color: var(--breeze-600);
        border: 2px solid rgba(15,118,110,0.12)
    }

/* small features */
.mini-features {
    margin: 12px 0 0;
    padding-left: 18px;
    color: var(--text-dark)
}

    .mini-features li {
        margin: 6px 0
    }

/* art side */
.art-card {
    width: 100%;
    max-width: 760px;
    display: block
}

.art-svg {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
}

/* responsive */
@media (max-width:1100px) {
    .hero-card-body {
        flex-direction: column;
    }

    .hero-right {
        order: 2
    }

    .hero-left {
        order: 1
    }
}

/* layout adjustments to mimic screenshot spacing */
header {
    padding: 18px 24px;
    background: #fff;
    box-shadow: none
}

    header .brand {
        font-size: 18px
    }

.container {
    padding: 0 24px
}

/* small utilities */
.error {
    background: #fee2e2;
    color: #991b1b;
    padding: 8px;
    border-radius: 6px
}
