body {
            padding-top: 80px;
        }

        /* non-traditional form-container: glassmorphism + tilt + accents */
        .quote-section {
            padding: 60px 20px;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .form-container {
            max-width: 940px;
            width: 100%;
            margin: 0 auto;
            padding: 48px 46px;
            border-radius: 24px;
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, rgba(255,250,245,0.95), rgba(245,250,255,0.92)) !important;
            border: 1.5px solid rgba(100,150,200,0.25);
            box-shadow: 0 25px 50px rgba(150,180,220,0.15), inset 0 1px 0 rgba(255,255,255,0.8), 0 0 80px rgba(180,200,255,0.08);
            backdrop-filter: blur(16px) saturate(140%);
            transform: perspective(1000px) rotateX(2deg) rotateZ(0.4deg);
            transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .form-container::before {
            content: '';
            position: absolute;
            left: -30%;
            top: -50%;
            width: 70%;
            height: 200%;
            background: radial-gradient(circle at 40% 30%, rgba(200,230,255,0.2), transparent 30%), 
                        radial-gradient(circle at 85% 75%, rgba(255,200,150,0.12), transparent 35%);
            transform: rotate(-15deg);
            pointer-events: none;
            filter: blur(40px);
            animation: gradientShift 12s ease-in-out infinite;
        }

        .form-container:hover{
            box-shadow: 0 30px 60px rgba(150,180,220,0.18), inset 0 1px 0 rgba(255,255,255,0.9);
        }

        .section-title{
            display: inline-flex;
            gap: 12px;
            align-items: center;
            background: linear-gradient(90deg, rgba(100,150,200,0.08), rgba(150,180,255,0.06));
            padding: 10px 16px;
            border-radius: 12px;
            margin: 0 0 22px 0;
            color: #1a3a5a;
            font-weight: 700;
            box-shadow: 0 6px 18px rgba(100,150,200,0.12);
            transform: translateY(-28px);
        }

        .section-subtitle{ color: rgba(30,60,100,0.8); margin-bottom: 18px; }

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

        .form-group label{ display:block; margin-bottom:6px; color: rgba(30,60,100,0.85); font-size: 0.95rem; }

        .form-group label i {
            margin-right: 8px;
            color: rgba(100,150,200,0.7);
            font-size: 0.95rem;
        }

        /* Input with Icon Wrapper */
        .input-icon-wrapper {
            position: relative;
            display: flex;
            align-items: center;
        }

        .input-icon-wrapper input {
            padding-left: 42px !important;
        }

        .input-icon-wrapper i {
            position: absolute;
            left: 14px;
            color: rgba(100,150,200,0.5);
            pointer-events: none;
            font-size: 1rem;
            transition: all 0.2s ease;
        }

        .input-icon-wrapper input:focus ~ i {
            color: rgba(100,150,200,0.8);
        }

        input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea{
            width:100%;
            padding:12px 14px;
            border-radius:12px;
            border: 1px solid rgba(100,150,200,0.25);
            background: rgba(245,250,255,0.6);
            color: #1a3a5a;
            outline: none;
            transition: all .2s cubic-bezier(0.4, 0, 0.2, 1);
        }

        input:focus, select:focus, textarea:focus{
            box-shadow: 0 0 20px rgba(100,150,255,0.25), inset 0 0 8px rgba(150,200,255,0.15);
            border-color: rgba(100,150,255,0.5);
            transform: translateY(-3px);
            background: rgba(230,245,255,0.8);
        }

        .step-indicator{ display:flex; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
        .step{ padding:8px 12px; border-radius:8px; background: rgba(100,150,200,0.06); color: rgba(30,60,100,0.75); font-size:0.9rem; }
        .step.active{ background: linear-gradient(90deg, rgba(100,150,255,0.14), rgba(150,200,255,0.1)); color:#1a3a5a; box-shadow: 0 6px 18px rgba(100,150,255,0.15); }

        /* Form Step Visibility */
        .form-step {
            display: none;
            animation: fadeInUp 0.35s ease-out;
        }
        .form-step.active {
            display: block;
        }

        .location-group {
            background: rgba(100,150,200,0.05);
            padding: 16px;
            border-radius: 12px;
            margin-bottom: 16px;
        }

        .location-group h4 {
            color: #1a3a5a;
            margin-bottom: 12px;
            font-size: 1.05rem;
        }

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

        input:invalid:not(:placeholder-shown),
        select:invalid:not(:placeholder-shown),
        textarea:invalid:not(:placeholder-shown) {
            border-color: rgba(255, 80, 100, 0.7) !important;
            background: rgba(255, 100, 120, 0.12) !important;
            box-shadow: 0 0 12px rgba(255, 80, 100, 0.2) !important;
        }

        input:valid:not(:placeholder-shown),
        select:valid,
        textarea:valid:not(:placeholder-shown) {
            border-color: rgba(80, 200, 120, 0.6) !important;
            box-shadow: 0 0 12px rgba(80, 200, 120, 0.15) !important;
        }

        /* Error Message */
        .error-message {
            color: #d64545;
            font-size: 0.85rem;
            margin-top: 4px;
            display: none;
        }

        input:invalid ~ .error-message,
        select:invalid ~ .error-message,
        textarea:invalid ~ .error-message {
            display: block;
        }

        /* Custom Checkbox Styling - Toggle Switch */
        .checkbox-group {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 20px;
        }

        .checkbox-group input[type="checkbox"] {
            display: none;
        }

        .custom-checkbox {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            cursor: pointer;
            color: rgba(30,60,100,0.85);
            margin-bottom: 0 !important;
        }

        .checkbox-icon {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            width: 56px;
            height: 32px;
            border-radius: 16px;
            background: rgba(200,210,230,0.4);
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            flex-shrink: 0;
            position: relative;
            border: 1.5px solid rgba(100,150,200,0.3);
        }

        .checkbox-icon::after {
            content: '';
            position: absolute;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background: #fff;
            transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
            right: 3px;
        }

        .checkbox-icon i {
            position: absolute;
            font-size: 0.75rem;
            color: transparent;
            transition: all 0.35s ease;
            z-index: 2;
        }

        .checkbox-group input[type="checkbox"]:checked + label .checkbox-icon {
            background: linear-gradient(90deg, #7ef6b9, #34d399);
            border-color: #34d399;
            box-shadow: 0 0 16px rgba(52, 211, 153, 0.25);
        }

        .checkbox-group input[type="checkbox"]:checked + label .checkbox-icon::after {
            right: 27px;
            box-shadow: 0 2px 8px rgba(52, 211, 153, 0.3);
        }

        .checkbox-group input[type="checkbox"]:checked + label .checkbox-icon i {
            color: #fff;
            right: 4px;
            opacity: 1;
        }

        .checkbox-group input[type="checkbox"]:focus + label .checkbox-icon {
            border-color: rgba(100,150,200,0.6);
            box-shadow: 0 0 12px rgba(100,150,200,0.2);
        }

        .custom-checkbox a {
            color: rgba(100,150,200,0.8);
            text-decoration: none;
            border-bottom: 1.5px solid rgba(100,150,200,0.4);
            transition: all 0.2s ease;
        }

        .custom-checkbox a:hover {
            color: rgba(100,150,200,1);
            border-bottom-color: rgba(100,150,200,0.8);
        }

        .next-btn, .prev-btn, .submit-btn{
            display:inline-flex;
            gap:8px;
            align-items:center;
            padding:10px 16px;
            border-radius:12px;
            border: none;
            cursor: pointer;
            color: #fff;
            font-weight:700;
            transition: transform .12s ease, box-shadow .12s ease;
        }

        .next-btn{ background: linear-gradient(90deg,#8fd3ff,#6a9cff); }
        .prev-btn{ background: linear-gradient(90deg,#ffd18f,#ff9c6a); }
        .submit-btn{ background: linear-gradient(90deg,#7ef6b9,#34d399); }

        .next-btn:hover, .prev-btn:hover, .submit-btn:hover{ transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.28); }

        .review-content p{ color: rgba(30,60,100,0.9); }

        @media (max-width: 900px) {
            .quote-section {
                padding: 40px 15px;
            }
            .form-container { 
                padding: 30px 22px; 
                border-radius:16px;
                backdrop-filter: blur(8px);
                box-shadow: 0 15px 35px rgba(150,180,220,0.12), inset 0 1px 0 rgba(255,255,255,0.7);
            }
            .section-title{ transform: translateY(-22px); }
        }

        @media (max-width: 480px) {
            .quote-section { padding: 30px 10px; }
            .form-container { 
                padding: 20px 14px;
                backdrop-filter: blur(4px);
                box-shadow: 0 10px 25px rgba(150,180,220,0.1);
            }
            .section-title{ transform: translateY(-16px); font-size:1rem; }
            .next-btn, .prev-btn, .submit-btn {
                padding: 8px 12px;
                font-size: 0.9rem;
            }
        }

        /* Fallback for browsers without backdrop-filter */
        @supports not (backdrop-filter: blur(10px)) {
            .form-container {
                background: rgba(245,250,255,0.98) !important;
            }
        }

        /* ===== Success Toast ===== */
        .success-toast {
            position: fixed;
            top: 100px;
            right: 50%;
            transform: translateX(50%);
            z-index: 9999;
            animation: toastSlideDown 0.5s cubic-bezier(0.34,1.56,0.64,1);
            width: 90%;
            max-width: 480px;
        }
        @keyframes toastSlideDown {
            from { opacity: 0; transform: translateX(50%) translateY(-30px); }
            to   { opacity: 1; transform: translateX(50%) translateY(0); }
        }
        .toast-inner {
            background: #ffffff;
            border-radius: 14px;
            padding: 16px 20px;
            display: flex;
            align-items: center;
            gap: 14px;
            box-shadow: 0 12px 40px rgba(111,188,50,0.2), 0 0 0 1px rgba(111,188,50,0.15);
            position: relative;
            overflow: hidden;
        }
        .toast-inner::before {
            content: '';
            position: absolute;
            right: 0; top: 0; bottom: 0;
            width: 4px;
            background: linear-gradient(180deg, #6fbc32, #d4af37);
        }
        .toast-icon {
            width: 40px; height: 40px;
            background: linear-gradient(135deg, #6fbc32, #7ec850);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .toast-icon i { color: #fff; font-size: 1.1rem; }
        .toast-text {
            flex: 1;
            text-align: right;
        }
        .toast-text strong {
            display: block;
            color: #2c5282;
            font-size: 1rem;
            margin-bottom: 3px;
        }
        .toast-text span {
            color: #5a6c7d;
            font-size: 0.85rem;
        }
        .toast-progress {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            height: 3px;
            background: #eef5e8;
        }
        .toast-bar {
            height: 100%;
            width: 100%;
            background: linear-gradient(90deg, #6fbc32, #d4af37);
            transform-origin: right;
            animation: toastShrink 8s linear forwards;
        }
        @keyframes toastShrink {
            from { transform: scaleX(1); }
            to   { transform: scaleX(0); }
        }
        .toast-close {
            background: none;
            border: none;
            color: #8a9aab;
            font-size: 1.4rem;
            cursor: pointer;
            padding: 0 4px;
            line-height: 1;
            transition: color 0.2s;
        }
        .toast-close:hover { color: #d64545; }
        @media (max-width: 480px) {
            .success-toast { top: 80px; }
            .toast-inner { padding: 12px 14px; gap: 10px; }
            .toast-icon { width: 32px; height: 32px; }
            .toast-icon i { font-size: 0.9rem; }
            .toast-text strong { font-size: 0.9rem; }
            .toast-text span { font-size: 0.78rem; }
        }

        @keyframes gradientShift {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.7; }
        }

        /* ===== Dark Mode Overrides ===== */
        html[data-theme="dark"] .form-container {
            background: linear-gradient(135deg, rgba(26, 31, 46, 0.96), rgba(20, 25, 38, 0.94)) !important;
            border-color: rgba(212, 175, 55, 0.25);
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4),
                        inset 0 1px 0 rgba(212, 175, 55, 0.08),
                        0 0 80px rgba(212, 175, 55, 0.05);
        }
        html[data-theme="dark"] .form-container:hover {
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5),
                        inset 0 1px 0 rgba(212, 175, 55, 0.1);
        }
        html[data-theme="dark"] .section-title {
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.08));
            color: var(--text-primary);
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
        }
        html[data-theme="dark"] .section-subtitle,
        html[data-theme="dark"] .review-content p {
            color: var(--text-secondary);
        }
        html[data-theme="dark"] .form-group label,
        html[data-theme="dark"] .location-group h4 {
            color: var(--text-primary);
        }
        html[data-theme="dark"] .form-group label i {
            color: var(--accent-gold);
        }
        html[data-theme="dark"] input[type="text"],
        html[data-theme="dark"] input[type="email"],
        html[data-theme="dark"] input[type="tel"],
        html[data-theme="dark"] input[type="number"],
        html[data-theme="dark"] select,
        html[data-theme="dark"] textarea {
            background: rgba(30, 35, 50, 0.6);
            border-color: rgba(212, 175, 55, 0.2);
            color: var(--text-primary);
        }
        html[data-theme="dark"] input:focus,
        html[data-theme="dark"] select:focus,
        html[data-theme="dark"] textarea:focus {
            background: rgba(40, 45, 60, 0.8);
            border-color: var(--accent-gold);
            box-shadow: 0 0 20px rgba(212, 175, 55, 0.2),
                        inset 0 0 8px rgba(212, 175, 55, 0.08);
        }
        html[data-theme="dark"] .input-icon-wrapper i {
            color: rgba(212, 175, 55, 0.55);
        }
        html[data-theme="dark"] .input-icon-wrapper input:focus ~ i {
            color: var(--accent-gold);
        }
        html[data-theme="dark"] .step {
            background: rgba(212, 175, 55, 0.08);
            color: var(--text-secondary);
        }
        html[data-theme="dark"] .step.active {
            background: linear-gradient(90deg, rgba(212, 175, 55, 0.2), rgba(212, 175, 55, 0.12));
            color: var(--text-primary);
            box-shadow: 0 6px 18px rgba(212, 175, 55, 0.18);
        }
        html[data-theme="dark"] .location-group {
            background: rgba(212, 175, 55, 0.05);
        }
        html[data-theme="dark"] .checkbox-icon {
            background: rgba(50, 55, 70, 0.6);
            border-color: rgba(212, 175, 55, 0.3);
        }
        html[data-theme="dark"] .checkbox-icon::after {
            background: #e2e8f0;
        }
        html[data-theme="dark"] .custom-checkbox {
            color: var(--text-primary);
        }
        html[data-theme="dark"] .custom-checkbox a {
            color: var(--accent-gold);
            border-bottom-color: rgba(212, 175, 55, 0.4);
        }
        html[data-theme="dark"] .custom-checkbox a:hover {
            color: #e6c25a;
            border-bottom-color: var(--accent-gold);
        }
        html[data-theme="dark"] .toast-inner {
            background: var(--bg-card);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5),
                        0 0 0 1px rgba(212, 175, 55, 0.2);
        }
        html[data-theme="dark"] .toast-text strong {
            color: var(--text-primary);
        }
        html[data-theme="dark"] .toast-text span {
            color: var(--text-secondary);
        }
        html[data-theme="dark"] .toast-progress {
            background: rgba(212, 175, 55, 0.08);
        }
        html[data-theme="dark"] .toast-close {
            color: var(--text-muted);
        }