.elementor-811 .elementor-element.elementor-element-3fbcf5d{width:var( --container-widget-width, 93.378% );max-width:93.378%;--container-widget-width:93.378%;--container-widget-flex-grow:0;}/* Start custom CSS for section, class: .elementor-element-5056a38 */:root {
            --navy:  #0A2847;
            --navy2: #071e36;
            --blue:  #3DA9D5;
            --teal:  #0e7490;
            --light: #f0f9ff;
            --white: #ffffff;
            --slate: #475569;
            --border:#e2e8f0;
            --green: #22c55e;
        }

        * { margin:0; padding:0; box-sizing:border-box; }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'DM Sans', sans-serif;
            color: var(--navy);
            background: var(--white);
            overflow-x: hidden;
        }

        /* ── Utility ── */
        .reveal { opacity:0; transform:translateY(30px); transition: opacity 0.75s ease, transform 0.75s ease; }
        .reveal.in { opacity:1; transform:translateY(0); }
        .delay-1 { transition-delay: 0.1s; }
        .delay-2 { transition-delay: 0.2s; }
        .delay-3 { transition-delay: 0.3s; }
        .delay-4 { transition-delay: 0.4s; }
        .delay-5 { transition-delay: 0.5s; }


        /* ════════════════════════════════
           STICKY NAV BAR
        ════════════════════════════════ */
        .top-bar {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 100;
            background: rgba(10,40,71,0.97);
            backdrop-filter: blur(10px);
            padding: 14px 40px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 1px solid rgba(61,169,213,0.15);
        }

        .top-logo {
            display: flex;
            align-items: center;
            gap: 12px;
            text-decoration: none;
        }

        .top-logo svg { width: 34px; height: 34px; }

        .top-logo-text {
            font-size: 16px;
            font-weight: 700;
            color: var(--white);
            letter-spacing: 0.3px;
        }

        .top-logo-text span { color: var(--blue); }

        .top-bar-cta {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .top-phone {
            color: rgba(255,255,255,0.65);
            text-decoration: none;
            font-size: 15px;
            font-weight: 500;
        }

        .top-phone:hover { color: var(--blue); }

        .top-btn {
            background: var(--blue);
            color: var(--white);
            padding: 10px 24px;
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            transition: all 0.25s;
        }

        .top-btn:hover { background: #2a8ab5; transform: translateY(-1px); }


        /* ════════════════════════════════
           HERO — NEIGHBORHOOD OPENER
        ════════════════════════════════ */
        .nd-hero {
            padding: 140px 40px 90px;
            background: var(--navy);
            position: relative;
            overflow: hidden;
            min-height: 100vh;
            display: flex;
            align-items: center;
        }

        /* Caustic light blobs */
        .blob {
            position: absolute;
            border-radius: 50%;
            filter: blur(70px);
            pointer-events: none;
            animation: blobDrift ease-in-out infinite alternate;
        }

        .blob.b1 { width:500px; height:500px; top:-10%; left:-8%;   background:radial-gradient(circle,rgba(61,169,213,0.14) 0%,transparent 70%); animation-duration:6s; }
        .blob.b2 { width:400px; height:400px; bottom:-5%; right:5%; background:radial-gradient(circle,rgba(14,116,144,0.12) 0%,transparent 70%); animation-duration:8s; animation-delay:2s; }
        .blob.b3 { width:300px; height:300px; top:40%; right:30%;   background:radial-gradient(circle,rgba(61,169,213,0.08) 0%,transparent 70%); animation-duration:5s; animation-delay:1s; }

        @keyframes blobDrift {
            0%   { transform: translate(0,0) scale(1); }
            100% { transform: translate(30px,-25px) scale(1.08); }
        }

        /* Ripple rings */
        .ripple-bg {
            position: absolute;
            right: 12%;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
        }

        .ripple-ring {
            position: absolute;
            border-radius: 50%;
            border: 1px solid rgba(61,169,213,0.2);
            transform: translate(-50%,-50%) scale(0);
            animation: ringOut 5s ease-out infinite;
        }

        .ripple-ring:nth-child(1) { width:80px;  height:80px;  animation-delay:0s;    }
        .ripple-ring:nth-child(2) { width:80px;  height:80px;  animation-delay:1.25s; }
        .ripple-ring:nth-child(3) { width:80px;  height:80px;  animation-delay:2.5s;  }
        .ripple-ring:nth-child(4) { width:80px;  height:80px;  animation-delay:3.75s; }

        @keyframes ringOut {
            0%   { transform:translate(-50%,-50%) scale(0);   opacity:0.8; }
            100% { transform:translate(-50%,-50%) scale(18);  opacity:0;   }
        }

        .hero-inner {
            max-width: 1300px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 480px;
            gap: 80px;
            align-items: center;
            position: relative;
            z-index: 5;
            width: 100%;
        }

        /* Neighbor badge */
        .neighbor-badge {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: rgba(61,169,213,0.1);
            border: 1px solid rgba(61,169,213,0.3);
            padding: 8px 18px;
            margin-bottom: 28px;
            opacity: 0;
            animation: fadeSlide 0.7s ease forwards 0.2s;
        }

        .badge-dot {
            width: 8px;
            height: 8px;
            background: var(--green);
            border-radius: 50%;
            box-shadow: 0 0 0 3px rgba(34,197,94,0.2);
            animation: ping 2s ease-in-out infinite;
        }

        @keyframes ping {
            0%,100% { box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
            50%      { box-shadow: 0 0 0 7px rgba(34,197,94,0.1); }
        }

        .badge-text {
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--blue);
        }

        .hero-headline {
            font-family: 'Playfair Display', serif;
            font-size: clamp(42px, 5.5vw, 72px);
            font-weight: 900;
            color: var(--white);
            line-height: 1.08;
            margin-bottom: 24px;
            opacity: 0;
            animation: fadeSlide 0.8s ease forwards 0.4s;
        }

        .hero-headline em {
            font-style: normal;
            color: var(--blue);
        }

        .hero-sub {
            font-size: 19px;
            color: rgba(255,255,255,0.7);
            line-height: 1.75;
            margin-bottom: 36px;
            font-weight: 300;
            max-width: 560px;
            opacity: 0;
            animation: fadeSlide 0.8s ease forwards 0.6s;
        }

        /* Social proof strip */
        .hero-proof {
            display: flex;
            align-items: center;
            gap: 24px;
            margin-bottom: 40px;
            opacity: 0;
            animation: fadeSlide 0.8s ease forwards 0.75s;
        }

        .proof-stars {
            color: #fbbf24;
            font-size: 20px;
            letter-spacing: 2px;
        }

        .proof-text {
            font-size: 14px;
            color: rgba(255,255,255,0.55);
        }

        .proof-text strong {
            color: rgba(255,255,255,0.85);
            font-weight: 600;
        }

        /* Hero CTA block */
        .hero-ctas {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            opacity: 0;
            animation: fadeSlide 0.8s ease forwards 0.9s;
        }

        .btn-hero-primary {
            padding: 20px 45px;
            background: var(--blue);
            color: var(--white);
            text-decoration: none;
            font-size: 17px;
            font-weight: 700;
            transition: all 0.3s;
            border: 2px solid var(--blue);
            white-space: nowrap;
        }

        .btn-hero-primary:hover {
            background: #2a8ab5;
            transform: translateY(-3px);
            box-shadow: 0 14px 35px rgba(61,169,213,0.35);
        }

        .btn-hero-secondary {
            padding: 20px 35px;
            background: transparent;
            color: var(--white);
            text-decoration: none;
            font-size: 17px;
            font-weight: 600;
            border: 2px solid rgba(255,255,255,0.35);
            transition: all 0.3s;
            white-space: nowrap;
        }

        .btn-hero-secondary:hover {
            border-color: var(--white);
            background: rgba(255,255,255,0.06);
            transform: translateY(-3px);
        }

        /* Hero form card */
        .hero-form-card {
            background: var(--white);
            padding: 45px 40px;
            position: relative;
            opacity: 0;
            animation: fadeSlide 0.9s ease forwards 0.5s;
        }

        .hero-form-card::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--blue), var(--teal));
        }

        .form-label {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            color: var(--blue);
            margin-bottom: 6px;
        }

        .form-title {
            font-family: 'Playfair Display', serif;
            font-size: 26px;
            font-weight: 700;
            color: var(--navy);
            margin-bottom: 8px;
            line-height: 1.2;
        }

        .form-sub {
            font-size: 14px;
            color: var(--slate);
            margin-bottom: 28px;
            line-height: 1.6;
        }

        .form-group {
            margin-bottom: 16px;
        }

        .form-group label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: var(--navy);
            margin-bottom: 7px;
        }

        .form-group input,
        .form-group select {
            width: 100%;
            padding: 13px 16px;
            border: 1.5px solid var(--border);
            font-family: 'DM Sans', sans-serif;
            font-size: 15px;
            color: var(--navy);
            background: var(--white);
            outline: none;
            transition: border-color 0.2s;
            appearance: none;
        }

        .form-group input:focus,
        .form-group select:focus { border-color: var(--blue); }

        .form-group input::placeholder { color: #94a3b8; }

        .form-submit {
            width: 100%;
            padding: 17px;
            background: var(--blue);
            color: var(--white);
            border: none;
            font-family: 'DM Sans', sans-serif;
            font-size: 17px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.3s;
            margin-top: 8px;
            letter-spacing: 0.3px;
        }

        .form-submit:hover {
            background: #2a8ab5;
            transform: translateY(-2px);
            box-shadow: 0 10px 28px rgba(61,169,213,0.3);
        }

        .form-privacy {
            font-size: 12px;
            color: #94a3b8;
            text-align: center;
            margin-top: 14px;
            line-height: 1.5;
        }


        /* ════════════════════════════════
           TRUST BAR
        ════════════════════════════════ */
        .trust-bar {
            background: var(--navy2);
            padding: 22px 40px;
            border-top: 1px solid rgba(61,169,213,0.12);
            border-bottom: 1px solid rgba(61,169,213,0.12);
        }

        .trust-bar-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-around;
            align-items: center;
            flex-wrap: wrap;
            gap: 20px;
        }

        .trust-item {
            display: flex;
            align-items: center;
            gap: 10px;
            color: rgba(255,255,255,0.7);
            font-size: 14px;
            font-weight: 500;
        }

        .trust-item svg { color: var(--blue); flex-shrink:0; }


        /* ════════════════════════════════
           WHY YOUR NEIGHBORS USE PUREFLO
        ════════════════════════════════ */
        .neighbors-section {
            padding: 110px 40px;
            background: var(--white);
        }

        .neighbors-inner {
            max-width: 1200px;
            margin: 0 auto;
        }

        .eyebrow {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 3.5px;
            text-transform: uppercase;
            color: var(--blue);
            margin-bottom: 16px;
        }

        .h2 {
            font-family: 'Playfair Display', serif;
            font-size: clamp(34px, 4vw, 52px);
            font-weight: 700;
            color: var(--navy);
            line-height: 1.15;
            margin-bottom: 18px;
        }

        .h2 em { font-style: normal; color: var(--blue); }

        .lead {
            font-size: 18px;
            color: var(--slate);
            line-height: 1.75;
            max-width: 640px;
            font-weight: 300;
            margin-bottom: 60px;
        }

        /* Pain/benefit two-col grid */
        .pb-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0;
            border: 1.5px solid var(--border);
        }

        .pb-row {
            display: contents;
        }

        .pb-cell {
            padding: 36px 40px;
            border-bottom: 1.5px solid var(--border);
            position: relative;
        }

        .pb-cell:nth-child(odd)  { border-right: 1.5px solid var(--border); background: #fafcff; }
        .pb-cell:nth-child(even) { background: var(--light); }

        .pb-row:last-child .pb-cell { border-bottom: none; }

        .pb-tag {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .pb-tag.problem { color: #ef4444; }
        .pb-tag.solution { color: var(--teal); }

        .pb-title {
            font-family: 'Playfair Display', serif;
            font-size: 21px;
            font-weight: 700;
            color: var(--navy);
            margin-bottom: 10px;
        }

        .pb-desc {
            font-size: 15px;
            color: var(--slate);
            line-height: 1.65;
        }

        .pb-arrow {
            position: absolute;
            right: -20px;
            top: 50%;
            transform: translateY(-50%);
            width: 38px;
            height: 38px;
            background: var(--navy);
            color: var(--blue);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            font-weight: 700;
            z-index: 5;
        }


        /* ════════════════════════════════
           NEIGHBOR TESTIMONIALS
        ════════════════════════════════ */
        .testimonials-section {
            padding: 110px 40px;
            background: var(--navy);
            position: relative;
            overflow: hidden;
        }

        .testimonials-section .blob.b1 { opacity: 0.6; }

        .testimonials-inner {
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 3;
        }

        .testimonials-section .eyebrow,
        .testimonials-section .h2 { color: var(--white); }
        .testimonials-section .h2 em { color: var(--blue); }
        .testimonials-section .lead { color: rgba(255,255,255,0.55); }

        .tcard-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }

        .tcard {
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(61,169,213,0.15);
            padding: 36px;
            transition: all 0.3s;
        }

        .tcard:hover {
            background: rgba(61,169,213,0.08);
            border-color: rgba(61,169,213,0.35);
            transform: translateY(-4px);
        }

        .tcard-stars { color: #fbbf24; font-size: 16px; margin-bottom: 18px; letter-spacing: 2px; }

        .tcard-quote {
            font-size: 15px;
            color: rgba(255,255,255,0.75);
            line-height: 1.75;
            font-style: italic;
            margin-bottom: 24px;
        }

        .tcard-author {
            font-size: 14px;
            font-weight: 700;
            color: var(--blue);
        }

        .tcard-location {
            font-size: 13px;
            color: rgba(255,255,255,0.35);
            margin-top: 3px;
        }

        /* Centered Google badge */
        .google-badge {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            margin-top: 55px;
            padding: 28px 40px;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            max-width: 500px;
            margin-left: auto;
            margin-right: auto;
        }

        .g-stars { color: #fbbf24; font-size: 22px; letter-spacing: 3px; }
        .g-text  { font-size: 15px; color: rgba(255,255,255,0.6); }
        .g-text strong { color: var(--white); font-size: 20px; font-weight: 700; display: block; }


        /* ════════════════════════════════
           HOW IT WORKS
        ════════════════════════════════ */
        .how-section {
            padding: 110px 40px;
            background: var(--light);
        }

        .how-inner {
            max-width: 1100px;
            margin: 0 auto;
        }

        .steps-row {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px;
            margin-top: 60px;
            position: relative;
        }

        .steps-row::before {
            content: '';
            position: absolute;
            top: 42px;
            left: calc(16.67% + 20px);
            right: calc(16.67% + 20px);
            height: 2px;
            background: linear-gradient(90deg, var(--blue), var(--teal));
            opacity: 0.3;
        }

        .step {
            text-align: center;
        }

        .step-num {
            width: 84px;
            height: 84px;
            background: var(--navy);
            border: 3px solid var(--blue);
            color: var(--blue);
            font-family: 'Playfair Display', serif;
            font-size: 32px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 28px;
            position: relative;
            z-index: 2;
        }

        .step-title {
            font-family: 'Playfair Display', serif;
            font-size: 22px;
            font-weight: 700;
            color: var(--navy);
            margin-bottom: 12px;
        }

        .step-desc {
            font-size: 15px;
            color: var(--slate);
            line-height: 1.65;
        }


        /* ════════════════════════════════
           FRANK SECTION
        ════════════════════════════════ */
        .frank-section {
            padding: 110px 40px;
            background: var(--white);
        }

        .frank-inner {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 80px;
            align-items: center;
        }

        .frank-visual {
            background: linear-gradient(135deg, var(--navy) 0%, #0d3560 100%);
            padding: 60px 50px;
            position: relative;
            overflow: hidden;
        }

        .frank-visual::before {
            content: '';
            position: absolute;
            top: -50px; right: -50px;
            width: 250px; height: 250px;
            background: radial-gradient(circle, rgba(61,169,213,0.15) 0%, transparent 70%);
            border-radius: 50%;
        }

        .frank-drop {
            font-size: 90px;
            display: block;
            text-align: center;
            margin-bottom: 30px;
            filter: drop-shadow(0 0 30px rgba(61,169,213,0.4));
        }

        .frank-quote-big {
            font-family: 'Playfair Display', serif;
            font-size: 22px;
            font-weight: 700;
            color: var(--white);
            line-height: 1.45;
            text-align: center;
            margin-bottom: 25px;
        }

        .frank-quote-big em {
            font-style: italic;
            color: var(--blue);
        }

        .frank-sig {
            text-align: center;
            font-size: 14px;
            color: rgba(255,255,255,0.5);
            letter-spacing: 1px;
        }

        .frank-sig strong {
            display: block;
            color: var(--blue);
            font-size: 16px;
            font-weight: 700;
            margin-bottom: 4px;
        }

        .frank-content h2 {
            font-family: 'Playfair Display', serif;
            font-size: 40px;
            font-weight: 700;
            color: var(--navy);
            line-height: 1.2;
            margin-bottom: 20px;
        }

        .frank-content h2 em { font-style:normal; color:var(--blue); }

        .frank-content p {
            font-size: 17px;
            color: var(--slate);
            line-height: 1.8;
            margin-bottom: 22px;
            font-weight: 300;
        }

        .frank-pledge-list {
            list-style: none;
            margin-bottom: 35px;
        }

        .frank-pledge-list li {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin-bottom: 18px;
            font-size: 15px;
            color: var(--navy);
        }

        .pledge-icon {
            width: 24px;
            height: 24px;
            background: var(--blue);
            color: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
            flex-shrink: 0;
            margin-top: 1px;
        }

        .pledge-strong { font-weight: 700; }
        .pledge-light  { color: var(--slate); font-weight: 300; margin-top: 2px; font-size: 14px; }


        /* ════════════════════════════════
           FINAL CTA
        ════════════════════════════════ */
        .final-section {
            padding: 110px 40px;
            background: var(--navy);
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .final-section .blob.b1,
        .final-section .blob.b2 { opacity: 0.5; }

        .final-inner {
            max-width: 760px;
            margin: 0 auto;
            position: relative;
            z-index: 5;
        }

        .final-eyebrow {
            display: inline-block;
            background: rgba(61,169,213,0.12);
            border: 1px solid rgba(61,169,213,0.3);
            padding: 8px 20px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--blue);
            margin-bottom: 28px;
        }

        .final-h2 {
            font-family: 'Playfair Display', serif;
            font-size: clamp(38px, 5vw, 62px);
            font-weight: 900;
            color: var(--white);
            line-height: 1.1;
            margin-bottom: 22px;
        }

        .final-h2 em { font-style:normal; color:var(--blue); }

        .final-p {
            font-size: 19px;
            color: rgba(255,255,255,0.6);
            line-height: 1.75;
            margin-bottom: 45px;
            font-weight: 300;
        }

        .final-btns {
            display: flex;
            gap: 14px;
            justify-content: center;
            flex-wrap: wrap;
            margin-bottom: 50px;
        }

        .btn-final-a {
            padding: 20px 52px;
            background: var(--blue);
            color: var(--white);
            text-decoration: none;
            font-size: 17px;
            font-weight: 700;
            border: 2px solid var(--blue);
            transition: all 0.3s;
        }

        .btn-final-a:hover {
            background: #2a8ab5;
            transform: translateY(-3px);
            box-shadow: 0 14px 36px rgba(61,169,213,0.35);
        }

        .btn-final-b {
            padding: 20px 40px;
            background: transparent;
            color: var(--white);
            text-decoration: none;
            font-size: 17px;
            font-weight: 600;
            border: 2px solid rgba(255,255,255,0.3);
            transition: all 0.3s;
        }

        .btn-final-b:hover {
            border-color: var(--white);
            background: rgba(255,255,255,0.06);
            transform: translateY(-3px);
        }

        /* Credentials row */
        .credentials {
            display: flex;
            justify-content: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .cred-tag {
            padding: 8px 18px;
            border: 1px solid rgba(61,169,213,0.2);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            color: rgba(255,255,255,0.4);
        }

        /* Bottom bar */
        .bottom-bar {
            background: var(--navy2);
            border-top: 1px solid rgba(61,169,213,0.12);
            padding: 20px 40px;
            text-align: center;
            font-size: 13px;
            color: rgba(255,255,255,0.3);
        }

        @keyframes fadeSlide {
            from { opacity:0; transform:translateY(20px); }
            to   { opacity:1; transform:translateY(0); }
        }

        /* ── Responsive ── */
        @media (max-width: 1024px) {
            .hero-inner    { grid-template-columns: 1fr; max-width: 680px; }
            .hero-form-card{ display: none; } /* form moves below hero on mobile */
            .frank-inner   { grid-template-columns: 1fr; }
            .tcard-grid    { grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 768px) {
            .top-bar       { padding: 12px 20px; }
            .nd-hero       { padding: 120px 24px 70px; }
            .hero-headline { font-size: 42px; }
            .pb-grid       { grid-template-columns: 1fr; }
            .pb-cell:nth-child(odd) { border-right: none; }
            .pb-arrow      { display: none; }
            .steps-row     { grid-template-columns: 1fr; gap: 30px; }
            .steps-row::before { display: none; }
            .tcard-grid    { grid-template-columns: 1fr; }
            .trust-bar     { padding: 18px 20px; }
            .neighbors-section,
            .testimonials-section,
            .how-section,
            .frank-section,
            .final-section { padding: 80px 24px; }
        }/* End custom CSS */
/* Start custom CSS */:root {
    --navy:  #0A2847;
    --navy2: #071e36;
    --blue:  #3DA9D5;
    --teal:  #0e7490;
    --light: #f0f9ff;
    --white: #ffffff;
    --slate: #475569;
    --border:#e2e8f0;
    --green: #22c55e;
    --orange:#f97316;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--white);overflow-x:hidden;line-height:1.6;}

/* ═══════════════════════════════
   STICKY TOP BAR (minimal)
═══════════════════════════════ */
.top-bar{
    position:fixed;top:0;left:0;right:0;z-index:999;
    background:rgba(10,40,71,.98);backdrop-filter:blur(10px);
    padding:12px 32px;display:flex;justify-content:space-between;align-items:center;
    border-bottom:1px solid rgba(61,169,213,.15);
    box-shadow:0 2px 12px rgba(0,0,0,.15);
}
.tb-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.tb-logo svg{width:32px;height:32px;}
.tb-name{font-size:15px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:.3px;}
.tb-name span{color:var(--blue);}
.tb-right{display:flex;align-items:center;gap:18px;}
.tb-phone{
    color:var(--white);text-decoration:none;font-size:18px;font-weight:700;
    display:flex;align-items:center;gap:8px;transition:color .2s;
}
.tb-phone:hover{color:var(--blue);}
.tb-btn{
    background:var(--orange);color:var(--white);
    padding:10px 24px;font-size:14px;font-weight:700;
    text-decoration:none;transition:all .25s;border:2px solid var(--orange);
}
.tb-btn:hover{background:#ea580c;border-color:#ea580c;transform:translateY(-1px);}

/* ═══════════════════════════════
   HERO — SPLIT with FORM
═══════════════════════════════ */
.hero{
    min-height:100vh;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    background:linear-gradient(145deg,var(--navy2) 0%,var(--navy) 100%);
    position:relative;
    overflow:hidden;
    padding-top:68px;
}

/* Animated blobs */
.h-blob{
    position:absolute;border-radius:50%;
    filter:blur(60px);pointer-events:none;
    animation:hDrift ease-in-out infinite alternate;
}
.h-blob.a{width:550px;height:550px;top:-12%;left:-10%;background:radial-gradient(circle,rgba(61,169,213,.18) 0%,transparent 70%);animation-duration:7s;}
.h-blob.b{width:450px;height:450px;bottom:-8%;right:-6%;background:radial-gradient(circle,rgba(14,116,144,.14) 0%,transparent 70%);animation-duration:9s;animation-delay:2s;}
@keyframes hDrift{0%{transform:translate(0,0);}100%{transform:translate(40px,-30px);}}

.hero-left{
    display:flex;align-items:center;
    padding:80px 56px 60px;
    position:relative;z-index:3;
}

.hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.4);
    padding:8px 18px;margin-bottom:22px;
    opacity:0;animation:fadeUp .6s ease forwards .2s;
}
.hb-dot{
    width:8px;height:8px;background:var(--orange);border-radius:50%;
    box-shadow:0 0 0 3px rgba(249,115,22,.25);
    animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(249,115,22,.25);}50%{box-shadow:0 0 0 7px rgba(249,115,22,.12);}}
.hb-text{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--orange);}

.hero-h1{
    font-family:'Playfair Display',serif;
    font-size:clamp(40px,5vw,64px);
    font-weight:900;
    line-height:1.05;
    color:var(--white);
    margin-bottom:20px;
    letter-spacing:-1px;
    opacity:0;animation:fadeUp .7s ease forwards .4s;
}
.hero-h1 em{font-style:normal;color:var(--blue);}

.hero-sub{
    font-size:19px;
    color:rgba(255,255,255,.7);
    line-height:1.7;
    font-weight:300;
    max-width:520px;
    margin-bottom:32px;
    opacity:0;animation:fadeUp .7s ease forwards .6s;
}

/* Trust pills */
.hero-pills{
    display:flex;gap:12px;flex-wrap:wrap;
    margin-bottom:40px;
    opacity:0;animation:fadeUp .7s ease forwards .75s;
}
.h-pill{
    display:flex;align-items:center;gap:8px;
    background:rgba(61,169,213,.08);
    border:1px solid rgba(61,169,213,.25);
    padding:10px 16px;
    font-size:13px;
    color:rgba(255,255,255,.85);
    font-weight:600;
}
.h-pill svg{color:var(--blue);width:16px;height:16px;flex-shrink:0;}

/* CTA buttons */
.hero-ctas{
    display:flex;gap:14px;flex-wrap:wrap;
    opacity:0;animation:fadeUp .7s ease forwards .9s;
}
.btn-hero-call{
    padding:18px 36px;
    background:var(--orange);
    color:var(--white);
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:2px solid var(--orange);
    transition:all .3s;
}
.btn-hero-call:hover{background:#ea580c;border-color:#ea580c;transform:translateY(-2px);box-shadow:0 10px 30px rgba(249,115,22,.4);}
.btn-hero-form{
    padding:18px 32px;
    background:transparent;
    color:var(--white);
    text-decoration:none;
    font-size:17px;
    font-weight:600;
    border:2px solid rgba(255,255,255,.35);
    transition:all .3s;
}
.btn-hero-form:hover{border-color:var(--white);background:rgba(255,255,255,.08);transform:translateY(-2px);}

/* RIGHT — FORM CARD */
.hero-right{
    display:flex;
    align-items:center;
    padding:80px 48px 60px;
    position:relative;
    z-index:3;
}

.form-card{
    background:var(--white);
    padding:40px 36px;
    width:100%;
    max-width:480px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    position:relative;
    opacity:0;animation:fadeUp .8s ease forwards .5s;
}
.form-card::before{
    content:'';
    position:absolute;
    top:0;left:0;right:0;
    height:5px;
    background:linear-gradient(90deg,var(--blue),var(--teal));
}

.form-eyebrow{
    font-size:11px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:8px;
}

.form-title{
    font-family:'Playfair Display',serif;
    font-size:28px;
    font-weight:700;
    color:var(--navy);
    line-height:1.2;
    margin-bottom:10px;
}

.form-sub{
    font-size:14px;
    color:var(--slate);
    line-height:1.6;
    margin-bottom:28px;
}

.form-group{margin-bottom:16px;}
.form-group label{
    display:block;
    font-size:13px;
    font-weight:600;
    color:var(--navy);
    margin-bottom:6px;
}
.form-group input,
.form-group select{
    width:100%;
    padding:13px 14px;
    border:1.5px solid var(--border);
    font-family:'DM Sans',sans-serif;
    font-size:15px;
    color:var(--navy);
    background:var(--white);
    outline:none;
    transition:border-color .2s;
}
.form-group input:focus,
.form-group select:focus{border-color:var(--blue);}
.form-group input::placeholder{color:#94a3b8;}

.form-submit{
    width:100%;
    padding:16px;
    background:var(--orange);
    color:var(--white);
    border:none;
    font-family:'DM Sans',sans-serif;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
    transition:all .3s;
    margin-top:8px;
}
.form-submit:hover{
    background:#ea580c;
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(249,115,22,.35);
}

.form-privacy{
    font-size:11px;
    color:#94a3b8;
    text-align:center;
    margin-top:12px;
    line-height:1.5;
}

.form-trust-row{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--border);
}
.ft-badge{
    font-size:10px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#94a3b8;
    padding:6px 10px;
    border:1px solid var(--border);
}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* ═══════════════════════════════
   TRUST BAR
═══════════════════════════════ */
.trust-bar{
    background:var(--navy2);
    padding:20px 32px;
    border-bottom:1px solid rgba(61,169,213,.12);
}
.trust-inner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    justify-content:space-around;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
}
.tr-item{
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.72);
    font-size:13px;
    font-weight:500;
}
.tr-item svg{color:var(--blue);width:18px;height:18px;flex-shrink:0;}

/* ═══════════════════════════════
   WHY SOFTENER (benefit-driven)
═══════════════════════════════ */
.why-section{
    padding:100px 40px;
    background:var(--white);
}
.why-inner{max-width:1200px;margin:0 auto;}
.why-header{text-align:center;margin-bottom:64px;}
.why-eyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:3.5px;
    text-transform:uppercase;
    color:var(--blue);
    margin-bottom:14px;
}
.why-h2{
    font-family:'Playfair Display',serif;
    font-size:clamp(34px,4.5vw,52px);
    font-weight:700;
    color:var(--navy);
    line-height:1.15;
    margin-bottom:16px;
}
.why-h2 em{font-style:normal;color:var(--blue);}
.why-lead{
    font-size:17px;
    color:var(--slate);
    line-height:1.75;
    font-weight:300;
    max-width:680px;
    margin:0 auto;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.why-card{
    padding:36px 30px;
    border:1.5px solid var(--border);
    transition:all .3s;
    position:relative;
    overflow:hidden;
}
.why-card::after{
    content:'';
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg,var(--blue),var(--teal));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s;
}
.why-card:hover{
    border-color:var(--blue);
    transform:translateY(-4px);
    box-shadow:0 12px 32px rgba(61,169,213,.12);
}
.why-card:hover::after{transform:scaleX(1);}

.wc-icon{
    font-size:48px;
    display:block;
    margin-bottom:20px;
}
.wc-title{
    font-family:'Playfair Display',serif;
    font-size:21px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:10px;
    line-height:1.25;
}
.wc-desc{
    font-size:15px;
    color:var(--slate);
    line-height:1.7;
}

/* ═══════════════════════════════
   PROOF (testimonials + stats)
═══════════════════════════════ */
.proof-section{
    padding:100px 40px;
    background:var(--light);
}
.proof-inner{max-width:1200px;margin:0 auto;}

.proof-header{text-align:center;margin-bottom:56px;}

.proof-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin-bottom:48px;
}
.proof-card{
    background:var(--white);
    padding:32px 34px;
    border:1.5px solid var(--border);
    transition:all .3s;
}
.proof-card:hover{
    border-color:var(--blue);
    box-shadow:0 10px 28px rgba(61,169,213,.1);
}
.pc-stars{
    color:#fbbf24;
    font-size:16px;
    letter-spacing:1px;
    margin-bottom:14px;
}
.pc-quote{
    font-size:15px;
    color:var(--slate);
    line-height:1.75;
    font-style:italic;
    margin-bottom:16px;
}
.pc-author{
    font-weight:700;
    font-size:14px;
    color:var(--navy);
}
.pc-loc{
    font-size:12px;
    color:#94a3b8;
    margin-top:2px;
}

/* Stats bar */
.proof-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    background:var(--navy);
    overflow:hidden;
}
.ps-item{
    padding:44px 32px;
    text-align:center;
    border-right:1px solid rgba(61,169,213,.15);
}
.ps-item:last-child{border-right:none;}
.ps-num{
    font-family:'Playfair Display',serif;
    font-size:48px;
    font-weight:700;
    color:var(--blue);
    line-height:1;
    margin-bottom:10px;
}
.ps-label{
    font-size:14px;
    color:rgba(255,255,255,.65);
    line-height:1.5;
}

/* ═══════════════════════════════
   PROCESS
═══════════════════════════════ */
.process-section{
    padding:100px 40px;
    background:var(--white);
}
.proc-inner{max-width:1100px;margin:0 auto;}
.proc-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    margin-top:56px;
    position:relative;
}
.proc-steps::before{
    content:'';
    position:absolute;
    top:38px;
    left:calc(16.67% + 14px);
    right:calc(16.67% + 14px);
    height:2px;
    background:linear-gradient(90deg,var(--blue),var(--teal));
    opacity:.25;
}
.proc-step{text-align:center;}
.proc-num{
    width:72px;
    height:72px;
    background:var(--navy);
    border:3px solid var(--blue);
    color:var(--blue);
    font-family:'Playfair Display',serif;
    font-size:28px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
    position:relative;
    z-index:2;
    transition:all .3s;
}
.proc-step:hover .proc-num{
    background:var(--blue);
    color:var(--white);
    border-color:var(--blue);
    transform:scale(1.08);
}
.proc-title{
    font-family:'Playfair Display',serif;
    font-size:20px;
    font-weight:700;
    color:var(--navy);
    margin-bottom:10px;
}
.proc-desc{
    font-size:14px;
    color:var(--slate);
    line-height:1.65;
}

/* ═══════════════════════════════
   FINAL CTA
═══════════════════════════════ */
.final-cta{
    padding:100px 40px;
    background:linear-gradient(150deg,var(--navy2) 0%,var(--navy) 100%);
    text-align:center;
    position:relative;
    overflow:hidden;
}
.fc-blob{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    pointer-events:none;
    animation:fcDrift ease-in-out infinite alternate;
}
.fc-blob.a{width:600px;height:600px;top:-18%;left:-8%;background:radial-gradient(circle,rgba(61,169,213,.11) 0%,transparent 70%);animation-duration:8s;}
.fc-blob.b{width:500px;height:500px;bottom:-12%;right:-6%;background:radial-gradient(circle,rgba(14,116,144,.09) 0%,transparent 70%);animation-duration:10s;animation-delay:2s;}
@keyframes fcDrift{0%{transform:translate(0,0);}100%{transform:translate(50px,-35px);}}

.fc-inner{
    max-width:800px;
    margin:0 auto;
    position:relative;
    z-index:3;
}
.fc-eyebrow{
    display:inline-block;
    background:rgba(249,115,22,.12);
    border:1px solid rgba(249,115,22,.35);
    padding:8px 20px;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--orange);
    margin-bottom:24px;
}
.fc-h2{
    font-family:'Playfair Display',serif;
    font-size:clamp(38px,5vw,62px);
    font-weight:900;
    color:var(--white);
    line-height:1.1;
    margin-bottom:20px;
}
.fc-h2 em{font-style:normal;color:var(--blue);}
.fc-p{
    font-size:18px;
    color:rgba(255,255,255,.62);
    line-height:1.75;
    font-weight:300;
    margin-bottom:40px;
}
.fc-btns{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:48px;
}
.btn-fc-call{
    padding:20px 52px;
    background:var(--orange);
    color:var(--white);
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    border:2px solid var(--orange);
    transition:all .3s;
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.btn-fc-call:hover{
    background:#ea580c;
    border-color:#ea580c;
    transform:translateY(-3px);
    box-shadow:0 14px 36px rgba(249,115,22,.4);
}
.btn-fc-form{
    padding:20px 46px;
    background:transparent;
    color:var(--white);
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    border:2px solid rgba(255,255,255,.35);
    transition:all .3s;
}
.btn-fc-form:hover{
    border-color:var(--white);
    background:rgba(255,255,255,.07);
    transform:translateY(-3px);
}

/* Frank card */
.frank-card{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    padding:32px 36px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(61,169,213,.15);
    max-width:600px;
    margin:0 auto;
}
.frank-avatar{
    width:60px;
    height:60px;
    background:linear-gradient(135deg,var(--blue),var(--teal));
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    flex-shrink:0;
}
.frank-text{text-align:left;}
.frank-quote{
    font-size:14px;
    color:rgba(255,255,255,.7);
    font-style:italic;
    line-height:1.6;
    margin-bottom:8px;
}
.frank-name{
    font-size:14px;
    font-weight:700;
    color:var(--blue);
    letter-spacing:.5px;
}

/* ═══════════════════════════════
   STICKY BOTTOM CTA BAR (mobile)
═══════════════════════════════ */
.sticky-cta{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:998;
    background:var(--orange);
    padding:14px 24px;
    display:none;
    box-shadow:0 -4px 20px rgba(0,0,0,.2);
}
.sticky-cta.show{display:flex;}
.sticky-inner{
    max-width:1400px;
    margin:0 auto;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}
.sc-text{
    font-size:15px;
    font-weight:700;
    color:var(--white);
}
.sc-btns{display:flex;gap:10px;}
.btn-sc{
    padding:11px 24px;
    background:var(--white);
    color:var(--orange);
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    border:2px solid var(--white);
    transition:all .25s;
    white-space:nowrap;
}
.btn-sc:hover{background:var(--light);transform:translateY(-1px);}

/* ═══════════════════════════════
   FOOTER (minimal)
═══════════════════════════════ */
.footer{
    background:var(--navy2);
    color:rgba(255,255,255,.5);
    padding:48px 40px 24px;
    text-align:center;
}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;}
.footer-logo svg{width:38px;height:38px;}
.fl-name{font-size:18px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:.3px;}
.fl-name span{color:var(--blue);}
.footer-contact{font-size:14px;margin-bottom:16px;}
.footer-contact a{color:var(--blue);text-decoration:none;}
.footer-contact a:hover{text-decoration:underline;}
.footer-creds{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:24px;}
.fc-tag{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(61,169,213,.6);padding:6px 12px;border:1px solid rgba(61,169,213,.18);}
.footer-copy{font-size:12px;padding-top:20px;border-top:1px solid rgba(61,169,213,.12);}

/* ═══════════════════════════════════════════════
   GRAVITY FORMS STYLING - COMPLETE
   Matches Landing Page Design with Rounded Buttons
═══════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   FORM WRAPPER & CONTAINER
───────────────────────────────────────────── */

#gform_wrapper_1 {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

#gform_1 {
    max-width: 100% !important;
    margin: 0 !important;
}

#gform_1 .gform_body {
    margin: 0 !important;
    padding: 0 !important;
}

#gform_1 .gform_fields {
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* ─────────────────────────────────────────────
   FORM FIELDS
───────────────────────────────────────────── */

#gform_1 .gform_body .gfield {
    margin-bottom: 0px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    clear: both !important;
}

#gform_1 .gform_body .gfield:last-of-type {
    margin-bottom: 0px !important;
}

/* ─────────────────────────────────────────────
   LABELS
───────────────────────────────────────────── */

#gform_1 .gfield_label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0A2847 !important;
    margin-bottom: 6px !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 1.4 !important;
}

/* Hide sublabels for name field (First/Last) */
#gform_1 .ginput_container_name .name_first label,
#gform_1 .ginput_container_name .name_last label {
    display: none !important;
}

/* Required asterisk */
#gform_1 .gfield_required {
    color: #f97316 !important;
    margin-left: 2px !important;
}

#gform_1 .gfield_required_asterisk {
    color: #f97316 !important;
}

/* ─────────────────────────────────────────────
   INPUT FIELDS
───────────────────────────────────────────── */

#gform_1 input[type="text"],
#gform_1 input[type="email"],
#gform_1 input[type="tel"],
#gform_1 input[type="url"],
#gform_1 input[type="number"],
#gform_1 select,
#gform_1 textarea {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 4px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    color: #0A2847 !important;
    background: #ffffff !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
}

/* Focus state */
#gform_1 input[type="text"]:focus,
#gform_1 input[type="email"]:focus,
#gform_1 input[type="tel"]:focus,
#gform_1 input[type="url"]:focus,
#gform_1 input[type="number"]:focus,
#gform_1 select:focus,
#gform_1 textarea:focus {
    border-color: #3DA9D5 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Placeholder text */
#gform_1 input::placeholder,
#gform_1 textarea::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

/* ─────────────────────────────────────────────
   NAME FIELD (First/Last side by side)
───────────────────────────────────────────── */

#gform_1 .ginput_container_name {
    display: flex !important;
    gap: 12px !important;
}

#gform_1 .name_first,
#gform_1 .name_last {
    flex: 1 !important;
    margin: 0 !important;
}

#gform_1 .name_first input,
#gform_1 .name_last input {
    width: 100% !important;
    margin: 0 !important;
}

/* ─────────────────────────────────────────────
   SELECT DROPDOWN
───────────────────────────────────────────── */

#gform_1 select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230A2847' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* ─────────────────────────────────────────────
   VALIDATION & ERRORS
───────────────────────────────────────────── */

#gform_1 .gfield_description,
#gform_1 .gfield_validation_message,
#gform_1 .validation_message {
    margin-top: 4px !important;
    font-size: 12px !important;
    color: #ef4444 !important;
    font-family: 'DM Sans', sans-serif !important;
    padding: 0 !important;
}

/* Error field styling */
#gform_1 .gfield_error {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

#gform_1 .gfield_error input,
#gform_1 .gfield_error select,
#gform_1 .gfield_error textarea {
    border-color: #ef4444 !important;
}

/* Hide top validation error message */
#gform_1 .validation_error {
    display: none !important;
}

/* ─────────────────────────────────────────────
   SUBMIT BUTTON AREA
───────────────────────────────────────────── */

#gform_1 .gform_footer {
    margin: 0 !important;
    margin-top: 8px !important;
    padding: 0 !important;
    clear: both !important;
    width: 100% !important;
}

/* ─────────────────────────────────────────────
   SUBMIT BUTTON - ROUNDED WITH DROP SHADOW
───────────────────────────────────────────── */

#gform_wrapper_1 #gform_1 .gform_footer input[type="submit"],
#gform_wrapper_1 #gform_1 .gform_footer .gform_button,
#gform_wrapper_1 #gform_1 input[type="submit"],
body #gform_wrapper_1 .gform_footer input.button,
.gform_wrapper #gform_1 .gform_footer input[type="submit"] {
    /* Reset */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Layout */
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px 55px 20px 55px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    
    /* ROUNDED CORNERS */
    border-radius: 30px !important;
    -webkit-border-radius: 30px !important;
    -moz-border-radius: 30px !important;
    
    /* Colors */
    background: #f97316 !important;
    background-color: #f97316 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    
    /* Typography */
    font-family: 'DM Sans', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    letter-spacing: 0.3px !important;
    
    /* Effects - NO shadow by default */
    box-shadow: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

/* Hover state - ADD DROP SHADOW */
#gform_wrapper_1 #gform_1 .gform_footer input[type="submit"]:hover,
#gform_wrapper_1 #gform_1 .gform_footer .gform_button:hover,
#gform_wrapper_1 #gform_1 input[type="submit"]:hover,
body #gform_wrapper_1 .gform_footer input.button:hover,
.gform_wrapper #gform_1 .gform_footer input[type="submit"]:hover {
    background: #ea580c !important;
    background-color: #ea580c !important;
    background-image: none !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0px 4px 11px 0px #145DA0 !important;
    border-radius: 50px !important;
}

/* Focus state */
#gform_wrapper_1 #gform_1 .gform_footer input[type="submit"]:focus,
#gform_wrapper_1 #gform_1 .gform_footer .gform_button:focus,
#gform_wrapper_1 #gform_1 input[type="submit"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.2) !important;
    border-radius: 4px !important;
}

/* Active/pressed state */
#gform_wrapper_1 #gform_1 .gform_footer input[type="submit"]:active,
#gform_wrapper_1 #gform_1 .gform_footer .gform_button:active,
#gform_wrapper_1 #gform_1 input[type="submit"]:active {
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.25) !important;
    border-radius: 4px !important;
}

/* ─────────────────────────────────────────────
   AJAX SPINNER
───────────────────────────────────────────── */

#gform_1 .gform_ajax_spinner {
    display: none !important;
}

/* ─────────────────────────────────────────────
   CONFIRMATION MESSAGE
───────────────────────────────────────────── */

#gform_confirmation_wrapper_1,
#gform_1 .gform_confirmation_message {
    background: #22c55e !important;
    color: #ffffff !important;
    padding: 20px !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* ─────────────────────────────────────────────
   HONEYPOT (anti-spam hidden field)
───────────────────────────────────────────── */

#gform_1 .gform_validation_container {
    display: none !important;
    position: absolute !important;
    left: -9000px !important;
}

/* ─────────────────────────────────────────────
   CHECKBOX & RADIO BUTTONS
───────────────────────────────────────────── */

#gform_1 .gfield_checkbox li,
#gform_1 .gfield_radio li {
    margin-bottom: 8px !important;
    list-style: none !important;
}

#gform_1 .gfield_checkbox li label,
#gform_1 .gfield_radio li label {
    font-weight: 400 !important;
    color: #0A2847 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    cursor: pointer !important;
}

#gform_1 input[type="checkbox"],
#gform_1 input[type="radio"] {
    margin-right: 8px !important;
    cursor: pointer !important;
}

/* ─────────────────────────────────────────────
   REMOVE UNWANTED SPACING & BORDERS
───────────────────────────────────────────── */

#gform_1 .gform_body ul {
    padding: 0 !important;
    margin: 0 !important;
}

#gform_1 li.gfield {
    list-style-type: none !important;
}

#gform_1 .gfield_label + .ginput_container {
    margin-top: 0 !important;
}

/* ─────────────────────────────────────────────
   RESPONSIVE ADJUSTMENTS
───────────────────────────────────────────── */

@media (max-width: 768px) {
    /* Stack name fields on mobile if needed */
    #gform_1 .ginput_container_name {
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    /* Adjust button padding on mobile */
    #gform_wrapper_1 #gform_1 .gform_footer input[type="submit"] {
        padding: 14px !important;
        font-size: 16px !important;
    }
}

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media(max-width:1024px){
    .hero{grid-template-columns:1fr;}
    .hero-right{padding:60px 32px;}
    .why-grid{grid-template-columns:1fr 1fr;}
    .proof-grid{grid-template-columns:1fr;}
    .proof-stats{grid-template-columns:1fr;}
    .ps-item{border-right:none;border-bottom:1px solid rgba(61,169,213,.15);}
    .ps-item:last-child{border-bottom:none;}
    .proc-steps{grid-template-columns:1fr;}
    .proc-steps::before{display:none;}
}
@media(max-width:768px){
    .top-bar{padding:10px 20px;}
    .tb-phone{font-size:15px;}
    .tb-btn{padding:8px 18px;font-size:13px;}
    .hero-left{padding:60px 24px 50px;}
    .hero-right{padding:50px 24px;}
    .why-grid{grid-template-columns:1fr;}
    .why-section,.proof-section,.process-section,.final-cta{padding:70px 24px;}
    .sticky-cta{display:flex;}
    .sc-text{font-size:13px;}
    .btn-sc{padding:9px 18px;font-size:12px;}
}/* End custom CSS */