:root {
            --teal: #69bdb6;
            --teal-dark: #4f8f8a;
            --teal-deep: #315b57;
            --pink: #d982a9;
            --pink-soft: #fbf0f5;
            --ivory: #f6f3ee;
            --paper: #fffdf9;
            --white: #ffffff;
            --ink: #2f4e4b;
            --muted: #6f817e;
            --line: rgba(47, 78, 75, .10);
            --shadow: 0 20px 52px rgba(47, 78, 75, .08);
            --radius: 26px;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--ink);
            background: var(--paper);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }

        a { color: inherit; text-decoration: none; }
        button, input, textarea, select { font: inherit; }
        img { display: block; max-width: 100%; }

        .container {
            width: min(1180px, calc(100% - 40px));
            margin-inline: auto;
        }

        .section {
            position: relative;
            padding: 102px 0;
            overflow: hidden;
            scroll-margin-top: 78px;
        }

        .section > .container {
            position: relative;
            z-index: 2;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 13px;
            color: var(--teal-dark);
            font-size: .76rem;
            font-weight: 800;
            letter-spacing: .13em;
            text-transform: uppercase;
        }

        .eyebrow::before {
            content: "";
            width: 30px;
            height: 2px;
            border-radius: 999px;
            background: #d982a9;
        }

        h1, h2, h3, p { margin-top: 0; }
        h1, h2 {
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-weight: 700;
        }

        .section-title {
            margin-bottom: 16px;
            max-width: 760px;
            font-size: clamp(2.15rem, 4.2vw, 4rem);
            line-height: 1.02;
            letter-spacing: -.035em;
        }

        .section-lead {
            max-width: 740px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: 1.05rem;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            padding: 0 20px;
            border: 1px solid transparent;
            border-radius: 999px;
            font-weight: 800;
            transition: .2s ease;
        }

        .btn:hover { transform: translateY(-2px); }

        .btn-primary {
            background: #426d68;
            color: var(--white);
            box-shadow: 0 10px 24px rgba(49, 91, 87, .16);
        }

        .btn-outline {
            border-color: rgba(255,255,255,.42);
            background: rgba(255,255,255,.08);
            color: var(--white);
            backdrop-filter: blur(6px);
        }

        /* HEADER */
        .site-header {
            position: fixed;
            inset: 0 0 auto 0;
            z-index: 1000;
            background: rgba(255, 253, 249, .93);
            border-bottom: 1px solid var(--line);
            backdrop-filter: blur(16px);
        }

        .nav {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
        }

        .brand img {
            width: 225px;
            height: 54px;
            object-fit: contain;
            object-position: left center;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .nav-links a {
            padding: 10px 12px;
            border-radius: 999px;
            color: #3b5551;
            font-size: .88rem;
            font-weight: 700;
            transition: .2s ease;
        }

        .nav-links a:hover {
            color: var(--teal-dark);
            background: #eef6f4;
        }

        .nav-links .nav-cta {
            margin-left: 6px;
            padding-inline: 17px;
            background: #315b57;
            color: #fff;
        }

        .menu-button {
            display: none;
            width: 46px;
            height: 46px;
            border: 0;
            border-radius: 14px;
            background: #eef6f4;
            color: var(--ink);
            cursor: pointer;
        }

        /* HERO */
        .hero {
            position: relative;
            padding-top: 78px;
            background: #294d49;
            overflow: hidden;
        }

        .hero-carousel {
            position: relative;
            min-height: 650px;
        }

        .hero-slide {
            position: absolute;
            inset: 0;
            min-height: 650px;
            display: flex;
            align-items: center;
            opacity: 0;
            visibility: hidden;
            background-position: center;
            background-size: cover;
            transition: opacity .65s ease, visibility .65s ease;
        }

        .hero-slide.active {
            opacity: 1;
            visibility: visible;
            position: relative;
        }

        .hero-slide::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(36,67,63,.82) 0%, rgba(36,67,63,.64) 46%, rgba(36,67,63,.24) 72%, rgba(36,67,63,.08) 100%),
                linear-gradient(0deg, rgba(36,67,63,.24), rgba(36,67,63,.03));
        }

        .hero-slide.family::before {
            background:
                linear-gradient(90deg, rgba(36,67,63,.82) 0%, rgba(36,67,63,.66) 50%, rgba(36,67,63,.23) 75%, rgba(36,67,63,.04) 100%);
        }

        .hero-content {
            position: relative;
            z-index: 2;
            width: min(1180px, calc(100% - 40px));
            margin-inline: auto;
            padding: 90px 0 105px;
        }

        .hero-copy {
            max-width: 690px;
        }

        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 18px;
            padding: 7px 12px;
            border: 1px solid rgba(255,255,255,.22);
            border-radius: 999px;
            background: rgba(255,255,255,.09);
            color: #fff;
            font-size: .77rem;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
            backdrop-filter: blur(6px);
        }

        .hero-kicker::before {
            content: "";
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #d982a9;
        }

        .hero h1 {
            margin-bottom: 20px;
            color: #fff;
            font-size: clamp(2.55rem, 4.8vw, 4.4rem);
            line-height: 1.01;
            letter-spacing: -.04em;
            text-wrap: balance;
        }

        .hero h1 strong {
            color: #efb4cc;
            font-weight: 700;
        }

        .hero p {
            max-width: 610px;
            margin-bottom: 28px;
            color: rgba(255,255,255,.80);
            font-size: 1.05rem;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 11px;
        }

        .hero-controls {
            position: absolute;
            z-index: 15;
            left: 50%;
            bottom: 27px;
            width: min(1180px, calc(100% - 40px));
            transform: translateX(-50%);
            display: flex;
            align-items: center;
            justify-content: space-between;
            pointer-events: none;
        }

        .hero-arrows, .hero-dots {
            display: flex;
            gap: 8px;
            pointer-events: auto;
        }

        .hero-arrow {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border: 1px solid rgba(255,255,255,.28);
            border-radius: 50%;
            background: rgba(0,0,0,.13);
            color: #fff;
            cursor: pointer;
            backdrop-filter: blur(7px);
        }

        .hero-dot {
            width: 9px;
            height: 9px;
            padding: 0;
            border: 0;
            border-radius: 999px;
            background: rgba(255,255,255,.45);
            cursor: pointer;
            transition: .2s ease;
        }

        .hero-dot.active {
            width: 30px;
            background: #d982a9;
        }

        /* ESSENCE */
        .essence {
            position: relative;
            overflow: hidden;
            background: #fff;
        }

        .essence::before {
            content: "";
            position: absolute;
            width: 760px;
            height: 220px;
            left: -330px;
            bottom: -125px;
            border: 1px solid rgba(105,189,182,.15);
            border-radius: 50%;
            transform: rotate(-7deg);
            box-shadow: 0 -24px 0 -23px rgba(217,130,169,.105), 0 -48px 0 -47px rgba(105,189,182,.085);
            pointer-events: none;
        }

        .essence::after {
            content: "";
            position: absolute;
            width: 370px;
            height: 370px;
            right: -180px;
            top: 55px;
            border: 1px solid rgba(105,189,182,.16);
            border-radius: 50%;
            box-shadow: 0 0 0 50px rgba(105,189,182,.035), 0 0 0 100px rgba(217,130,169,.028);
            pointer-events: none;
        }

        .essence-grid {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: .95fr 1.05fr;
            gap: 74px;
            align-items: center;
        }

        .essence-copy p {
            max-width: 600px;
            color: var(--muted);
            font-size: 1.02rem;
        }

        .principles {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 15px;
        }

        .principle {
            min-height: 175px;
            padding: 24px;
            border: 1px solid var(--line);
            border-radius: 22px;
            background: var(--paper);
        }

        .principle:nth-child(2), .principle:nth-child(4) {
            transform: translateY(18px);
        }

        .principle-icon {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            margin-bottom: 16px;
            border-radius: 14px;
            background: #eef6f4;
            color: var(--teal-dark);
        }

        .principle h3 {
            margin-bottom: 7px;
            font-size: 1rem;
        }

        .principle p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .88rem;
        }

        /* BENEFITS */
        .benefits {
            position: relative;
            background:
                radial-gradient(circle at 92% 8%, rgba(217,130,169,.045), transparent 26%),
                var(--ivory);
        }

        .benefits::before {
            content: "";
            position: absolute;
            width: 980px;
            height: 240px;
            right: -430px;
            top: -115px;
            border: 1px solid rgba(105,189,182,.155);
            border-radius: 50%;
            transform: rotate(6deg);
            box-shadow: 0 26px 0 -25px rgba(217,130,169,.095), 0 52px 0 -51px rgba(105,189,182,.085);
            pointer-events: none;
        }

        .benefits::after {
            content: "";
            position: absolute;
            width: 720px;
            height: 180px;
            left: -330px;
            bottom: -110px;
            border: 1px solid rgba(217,130,169,.10);
            border-radius: 50%;
            transform: rotate(-5deg);
            box-shadow: 0 -24px 0 -23px rgba(105,189,182,.085);
            pointer-events: none;
        }

        .benefits-layout {
            margin-top: 54px;
            display: grid;
            grid-template-columns: .96fr 1.04fr;
            gap: 46px;
            align-items: stretch;
        }

        .benefit-panel {
            padding: 34px;
            border: 1px solid var(--line);
            border-radius: 30px;
            background: rgba(255,255,255,.82);
            box-shadow: var(--shadow);
        }

        .benefit-panel h3 {
            margin-bottom: 22px;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 1.55rem;
            font-weight: 700;
        }

        .benefit-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
        }

        .benefit-item {
            display: flex;
            align-items: center;
            gap: 11px;
            min-height: 62px;
            padding: 13px 15px;
            border: 1px solid var(--line);
            border-radius: 16px;
            background: #fff;
            font-size: .91rem;
            font-weight: 800;
        }

        .benefit-check {
            width: 31px;
            height: 31px;
            flex: 0 0 31px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: #edf6f4;
            color: var(--teal-dark);
        }

        .plans {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            margin-top: 28px;
        }

        .plan-card {
            position: relative;
            overflow: hidden;
            padding: 24px;
            border-radius: 22px;
            background: #6f8d96;
            color: #fff;
        }

        .plan-card:nth-child(2) {
            background: #8d7f73;
        }

        .plan-card::after {
            content: "";
            position: absolute;
            width: 125px;
            height: 125px;
            right: -50px;
            bottom: -55px;
            border: 1px solid rgba(255,255,255,.15);
            border-radius: 50%;
        }

        .plan-card small {
            display: block;
            margin-bottom: 8px;
            color: #e1efed;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .plan-card h4 {
            margin: 0 0 15px;
            font-size: 1.24rem;
        }

        .plan-price {
            display: grid;
            gap: 5px;
            color: rgba(255,255,255,.84);
            font-size: .93rem;
        }

        .plan-price strong {
            color: #fff;
            font-size: 1.05rem;
        }

        .promo-card {
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 38px;
            border: 1px solid rgba(79,143,138,.20);
            border-radius: 30px;
            background:
                radial-gradient(circle at 100% 0%, rgba(105,189,182,.16), transparent 28%),
                linear-gradient(145deg, #ffffff 0%, #f3f8f7 58%, #edf6f4 100%);
            color: var(--ink);
            box-shadow: 0 20px 48px rgba(47,78,75,.09);
        }

        .promo-card::before {
            content: "";
            position: absolute;
            width: 310px;
            height: 122px;
            right: -115px;
            top: 22px;
            border: 1px solid rgba(105,189,182,.18);
            border-radius: 50%;
            transform: rotate(-13deg);
            box-shadow: 0 18px 0 -17px rgba(79,143,138,.11), 0 36px 0 -35px rgba(217,130,169,.10);
            pointer-events: none;
        }

        .promo-card::after {
            content: "";
            position: absolute;
            width: 180px;
            height: 180px;
            right: -82px;
            bottom: -95px;
            border: 1px solid rgba(79,143,138,.12);
            border-radius: 50%;
            box-shadow: 0 0 0 22px rgba(105,189,182,.025);
            pointer-events: none;
        }

        .promo-card > * {
            position: relative;
            z-index: 2;
        }

        .promo-tag {
            align-self: flex-start;
            margin-bottom: 18px;
            padding: 7px 12px;
            border-radius: 999px;
            background: var(--teal-deep);
            color: #fff;
            box-shadow: 0 8px 18px rgba(49,91,87,.12);
            font-size: .76rem;
            font-weight: 900;
            letter-spacing: .09em;
            text-transform: uppercase;
        }

        .promo-card h3 {
            margin-bottom: 5px;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--teal-deep);
            font-size: clamp(1.9rem, 3.6vw, 3rem);
            font-weight: 700;
            line-height: 1.02;
        }

        .promo-card .promo-subtitle {
            margin-bottom: 25px;
            color: var(--muted);
            font-weight: 700;
        }

        .promo-prices {
            display: grid;
            gap: 8px;
        }

        .promo-price {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 14px 16px;
            border: 1px solid rgba(79,143,138,.10);
            border-radius: 15px;
            background: rgba(255,255,255,.72);
        }

        .promo-price strong {
            color: var(--teal-deep);
            font-size: 1.65rem;
            line-height: 1;
        }

        .promo-price span {
            color: var(--muted);
            font-size: .78rem;
            font-weight: 800;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .promo-legal {
            margin: 20px 0 0;
            padding-top: 16px;
            border-top: 1px solid rgba(79,143,138,.12);
            color: var(--muted);
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .03em;
        }

        /* COVERAGE */
        .coverage {
            position: relative;
            background: #fff;
        }

        .coverage::before {
            content: "";
            position: absolute;
            width: 900px;
            height: 210px;
            left: -390px;
            top: -105px;
            border: 1px solid rgba(105,189,182,.145);
            border-radius: 50%;
            transform: rotate(-5deg);
            box-shadow: 0 24px 0 -23px rgba(217,130,169,.09), 0 48px 0 -47px rgba(105,189,182,.075);
            pointer-events: none;
        }

        .coverage::after {
            content: "";
            position: absolute;
            width: 640px;
            height: 170px;
            right: -290px;
            bottom: -88px;
            border: 1px solid rgba(217,130,169,.09);
            border-radius: 50%;
            transform: rotate(9deg);
            box-shadow: 0 -23px 0 -22px rgba(105,189,182,.08);
            pointer-events: none;
        }

        .coverage-intro {
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 58px;
            align-items: end;
        }

        .coverage-story {
            padding: 28px 30px;
            border-left: 3px solid var(--pink);
            border-radius: 0 22px 22px 0;
            background: #fbf5f7;
            color: #596e6a;
            font-size: .98rem;
        }

        .coverage-story strong {
            display: block;
            margin-bottom: 8px;
            color: var(--ink);
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 1.28rem;
            font-weight: 700;
        }

        .coverage-grid {
            margin-top: 48px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .coverage-card {
            position: relative;
            overflow: hidden;
            min-height: 210px;
            padding: 27px;
            border: 1px solid var(--line);
            border-radius: 24px;
            background: var(--paper);
        }

        .coverage-card:nth-child(2), .coverage-card:nth-child(5) {
            background: #f1f7f6;
        }

        .coverage-card:nth-child(3), .coverage-card:nth-child(6) {
            background: #fbf4f7;
        }

        .coverage-num {
            position: absolute;
            top: 20px;
            right: 22px;
            color: rgba(23,59,55,.15);
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 2.15rem;
            font-weight: 700;
        }

        .coverage-icon {
            width: 47px;
            height: 47px;
            display: grid;
            place-items: center;
            margin-bottom: 22px;
            border-radius: 15px;
            background: #e9f3f1;
            color: var(--teal-dark);
        }

        .coverage-card h3 {
            margin-bottom: 8px;
            font-size: 1.02rem;
        }

        .coverage-card p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .89rem;
        }

        /* SERVICES */
        .services {
            position: relative;
            overflow: hidden;
            background: #426d68;
            color: #fff;
        }

        .services::before {
            content: "";
            position: absolute;
            width: 460px;
            height: 460px;
            right: -170px;
            top: -190px;
            border: 1px solid rgba(255,255,255,.07);
            border-radius: 50%;
            box-shadow: 0 0 0 60px rgba(255,255,255,.02), 0 0 0 120px rgba(217,130,169,.018);
            pointer-events: none;
        }

        .services::after {
            content: "";
            position: absolute;
            width: 920px;
            height: 220px;
            left: -390px;
            bottom: -145px;
            border: 1px solid rgba(255,255,255,.085);
            border-radius: 50%;
            transform: rotate(-6deg);
            box-shadow: 0 -24px 0 -23px rgba(105,189,182,.085), 0 -48px 0 -47px rgba(255,255,255,.045);
            pointer-events: none;
        }

        .services .eyebrow { color: #d5ece9; }
        .services .section-lead { color: rgba(255,255,255,.68); }

        .services-grid {
            position: relative;
            z-index: 2;
            margin-top: 48px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        .service-card {
            min-height: 220px;
            padding: 27px;
            border: 1px solid rgba(255,255,255,.10);
            border-radius: 24px;
            background: rgba(255,255,255,.045);
            transition: .22s ease;
        }

        .service-card:hover {
            transform: translateY(-4px);
            background: rgba(255,255,255,.07);
        }

        .service-icon {
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            margin-bottom: 24px;
            border-radius: 15px;
            background: rgba(218,239,236,.13);
            color: #d9efec;
        }

        .service-card:nth-child(even) .service-icon {
            background: rgba(249,226,235,.11);
            color: #f1c5d6;
        }

        .service-card h3 {
            margin-bottom: 9px;
            color: #fff;
            font-size: 1.08rem;
        }

        .service-card p {
            margin-bottom: 0;
            color: rgba(255,255,255,.63);
            font-size: .9rem;
        }

        .service-summary {
            position: relative;
            z-index: 2;
            margin-top: 26px;
            padding: 22px 25px;
            border: 1px solid rgba(255,255,255,.10);
            border-radius: 20px;
            background: rgba(0,0,0,.10);
            color: rgba(255,255,255,.72);
            font-size: .9rem;
        }

        /* CONTACT */
        .contact {
            position: relative;
            background:
                radial-gradient(circle at 8% 90%, rgba(105,189,182,.065), transparent 24%),
                var(--ivory);
        }

        .contact::before {
            content: "";
            position: absolute;
            width: 820px;
            height: 200px;
            right: -370px;
            top: -105px;
            border: 1px solid rgba(105,189,182,.145);
            border-radius: 50%;
            transform: rotate(7deg);
            box-shadow: 0 24px 0 -23px rgba(217,130,169,.05);
            pointer-events: none;
        }

        .contact::after {
            content: "";
            position: absolute;
            width: 610px;
            height: 150px;
            left: -285px;
            bottom: -80px;
            border: 1px solid rgba(217,130,169,.05);
            border-radius: 50%;
            transform: rotate(-8deg);
            box-shadow: 0 -22px 0 -21px rgba(105,189,182,.075);
            pointer-events: none;
        }

        .contact-shell {
            display: grid;
            grid-template-columns: .85fr 1.15fr;
            gap: 34px;
            padding: 34px;
            border: 1px solid var(--line);
            border-radius: 32px;
            background: rgba(255,255,255,.78);
            box-shadow: var(--shadow);
        }

        .contact-info {
            padding: 22px 20px 22px 12px;
        }

        .contact-info h2 {
            margin-bottom: 18px;
            font-size: clamp(2.25rem, 4.3vw, 4rem);
            line-height: 1.02;
            letter-spacing: -.035em;
        }

        .contact-info > p {
            color: var(--muted);
            font-size: 1rem;
        }

        .contact-data {
            display: grid;
            gap: 10px;
            margin-top: 28px;
        }

        .contact-row {
            display: flex;
            align-items: center;
            gap: 13px;
            padding: 14px 15px;
            border-radius: 16px;
            background: #fff;
            border: 1px solid var(--line);
        }

        .contact-row svg {
            flex: 0 0 22px;
            color: var(--teal-dark);
        }

        .contact-row span {
            display: block;
            color: var(--muted);
            font-size: .76rem;
        }

        .contact-row strong {
            display: block;
            margin-top: 1px;
            font-size: .94rem;
        }

        .contact-form {
            padding: 30px;
            border-radius: 25px;
            background: #fff;
            border: 1px solid var(--line);
        }

        .contact-form h3 {
            margin-bottom: 5px;
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 1.6rem;
            font-weight: 700;
        }

        .contact-form > p {
            margin-bottom: 22px;
            color: var(--muted);
            font-size: .9rem;
        }

        .form-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
        }

        .form-group {
            display: grid;
            gap: 7px;
        }

        .form-group.full {
            grid-column: 1 / -1;
        }

        .form-group label {
            font-size: .79rem;
            font-weight: 800;
            color: #425d59;
        }

        .form-control {
            width: 100%;
            min-height: 48px;
            padding: 11px 13px;
            border: 1px solid rgba(23,59,55,.15);
            border-radius: 13px;
            outline: none;
            background: #fffdfb;
            color: var(--ink);
            transition: .2s ease;
        }

        textarea.form-control {
            min-height: 130px;
            resize: vertical;
        }

        .form-control:focus {
            border-color: rgba(10,169,159,.65);
            box-shadow: 0 0 0 4px rgba(10,169,159,.09);
        }

        .form-submit {
            width: 100%;
            margin-top: 15px;
            border: 0;
            cursor: pointer;
        }

        .form-note {
            margin: 11px 0 0;
            color: var(--muted);
            font-size: .75rem;
        }

        .form-status {
            display: none;
            margin-top: 12px;
            padding: 11px 13px;
            border-radius: 12px;
            background: #eaf8f6;
            color: var(--teal-dark);
            font-size: .82rem;
            font-weight: 700;
        }

        .form-status.show {
            display: block;
        }

        /* FOOTER */
        .footer {
            padding: 30px 0;
            background: #fff;
            border-top: 1px solid var(--line);
        }

        .footer-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 22px;
        }

        .footer-row--center {
            justify-content: center;
        }

        .footer-row--center p {
            text-align: center;
        }

        .footer img {
            width: 205px;
            max-height: 52px;
            object-fit: contain;
            object-position: left center;
        }

        .footer p {
            margin: 0;
            color: var(--muted);
            font-size: .78rem;
            text-align: right;
        }


        /* Curvas decorativas: un poco más perceptibles sin competir con el contenido */
        .essence::before,
        .benefits::before,
        .benefits::after,
        .coverage::before,
        .coverage::after,
        .services::after,
        .contact::before,
        .contact::after {
            filter: saturate(.82);
        }

        /* REVEAL */
        .reveal {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity .55s ease, transform .55s ease;
        }

        .reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        @media (max-width: 980px) {
            .nav-links { display: none; }
            .menu-button { display: grid; place-items: center; }
            .nav-links.open {
                position: fixed;
                inset: 78px 16px auto 16px;
                display: grid;
                gap: 4px;
                padding: 14px;
                border: 1px solid var(--line);
                border-radius: 20px;
                background: rgba(255,253,249,.98);
                box-shadow: var(--shadow);
            }
            .nav-links.open .nav-cta { margin-left: 0; }
            .essence-grid, .coverage-intro, .benefits-layout, .contact-shell { grid-template-columns: 1fr; }
            .coverage-grid, .services-grid { grid-template-columns: repeat(2, 1fr); }
            .promo-card { min-height: 470px; }
        }

        @media (max-width: 680px) {
            .container, .hero-content, .hero-controls { width: min(100% - 28px, 1180px); }
            .section { padding: 78px 0; }
            .brand img { width: 190px; }
            .hero-carousel, .hero-slide { min-height: 610px; }
            .hero-content { padding: 76px 0 100px; }
            .hero h1 { font-size: clamp(2.45rem, 11vw, 3.7rem); }
            .hero p { font-size: .98rem; }
            .hero-slide::before, .hero-slide.family::before {
                background: linear-gradient(90deg, rgba(36,67,63,.88) 0%, rgba(36,67,63,.76) 64%, rgba(36,67,63,.48) 100%);
            }
            .principles, .benefit-list, .plans, .coverage-grid, .services-grid, .form-grid { grid-template-columns: 1fr; }
            .principle:nth-child(n) { transform: none; }
            .benefit-panel, .promo-card, .contact-shell, .contact-form { padding: 24px; }
            .promo-card { min-height: auto; }
            .promo-price strong { font-size: 1.4rem; }
            .form-group.full { grid-column: auto; }
            .footer-row { flex-direction: column; align-items: flex-start; }
            .footer-row--center { align-items: center; justify-content: center; }
            .footer-row--center p { text-align: center; }
            .footer p { text-align: left; }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            *, *::before, *::after { transition-duration: .01ms !important; }
        }
