/* Get a Quote page (get-a-quote.php) */
main.gq-page{--gq-ink: #14213d; --gq-slate: #5b6477; --gq-blue: #0b75d6; --gq-violet: #7b61ff; --gq-rule: #dfe7f3; --gq-wash: #f4f7fe;
    --gq-grad: linear-gradient(100deg, #0b75d6, #3d6cf0 60%, #7b61ff); background: #fff; color: var(--gq-slate); overflow-x: hidden;}
main.gq-page .gq-wrap{max-width: 1280px; margin: 0 auto; padding: 0 40px;}

/* hero */
main.gq-page .gq-hero{position: relative; isolation: isolate; padding: 56px 0 96px; background: linear-gradient(180deg, #fbfcff 0%, #ffffff 60%, #f7faff 100%);}
main.gq-page .gq-bg{position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(600px 460px at 18% 30%, rgba(11,117,214,.09), transparent 70%), radial-gradient(560px 420px at 88% 18%, rgba(123,97,255,.12), transparent 70%), radial-gradient(420px 320px at 70% 100%, rgba(11,117,214,.06), transparent 70%);}
main.gq-page .gq-bg::before{content: ''; position: absolute; inset: 0;
    background-image: linear-gradient(rgba(20,33,61,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(20,33,61,.045) 1px, transparent 1px); background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(900px 560px at 50% 35%, #000 20%, transparent 75%); mask-image: radial-gradient(900px 560px at 50% 35%, #000 20%, transparent 75%);}
main.gq-page .gq-hero-grid{display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: start;}
main.gq-page .gq-hero-copy{padding-top: 24px;}
main.gq-page .gq-eyebrow{display: inline-flex; align-items: center; gap: 10px; padding: 7px 16px 7px 12px; border: 1px solid var(--gq-rule); border-radius: 999px; background: rgba(255,255,255,.85); color: var(--gq-slate); font-size: 14px; font-weight: 600;}
main.gq-page .gq-eyebrow::before{content: ''; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--gq-blue), var(--gq-violet)); box-shadow: 0 0 0 4px rgba(11,117,214,.12);}
main.gq-page .gq-title{margin: 22px 0 20px; color: var(--gq-ink); font-size: 50px; line-height: 1.1; font-weight: 700; letter-spacing: -0.02em; text-wrap: balance;}
main.gq-page .gq-title span{background: linear-gradient(100deg, var(--gq-blue) 10%, var(--gq-violet) 90%); -webkit-background-clip: text; background-clip: text; color: transparent;}
main.gq-page .gq-lead{margin: 0 0 26px; color: var(--gq-slate); font-size: 18px; line-height: 30px;}
main.gq-page .gq-points{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 32px; padding: 0; list-style: none;}
main.gq-page .gq-points li{display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid var(--gq-rule); border-radius: 12px; background: rgba(255,255,255,.8); color: var(--gq-ink); font-size: 15px; font-weight: 600;}
main.gq-page .gq-points li::before{content: ''; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--gq-grad);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.2l-4.1-4.1 1.4-1.4 2.7 2.7 5.9-5.9 1.4 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.2l-4.1-4.1 1.4-1.4 2.7 2.7 5.9-5.9 1.4 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;}

/* "what happens after you submit" */
main.gq-page .gq-after{padding: 24px 26px; border: 1px solid #e4ddff; border-radius: 20px; background: linear-gradient(160deg, #f6f3ff, #f2f6ff);}
main.gq-page .gq-after-title{margin: 0 0 6px; color: var(--gq-ink); font-size: 20px; font-weight: 700;}
main.gq-page .gq-after-text{margin: 0 0 18px; font-size: 15.5px;}
main.gq-page .gq-after-list{counter-reset: gqa; margin: 0; padding: 0; list-style: none;}
main.gq-page .gq-after-list li{counter-increment: gqa; position: relative; padding: 0 0 16px 46px;}
main.gq-page .gq-after-list li:last-child{padding-bottom: 0;}
main.gq-page .gq-after-list li::before{content: counter(gqa); position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 1px solid #d9d0ff; color: #6a4fe0; font-size: 13px; font-weight: 700;}
main.gq-page .gq-after-list li:not(:last-child)::after{content: ''; position: absolute; left: 14.5px; top: 34px; bottom: 4px; width: 1px; background: #d9d0ff;}
main.gq-page .gq-after-list strong{display: block; color: var(--gq-ink); font-size: 15.5px; line-height: 1.4;}
main.gq-page .gq-after-list span{display: block; margin-top: 2px; font-size: 14.5px; line-height: 1.55;}

/* form card */
main.gq-page .gq-form-card{position: relative; padding: 36px 36px 30px; border: 1px solid #fff; border-radius: 28px; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 0 0 1px rgba(20,33,61,.06), 0 40px 80px -40px rgba(38,60,160,.45), 0 0 90px -30px rgba(91,110,255,.35);}
main.gq-page .gq-form-card::before{content: ''; position: absolute; left: 36px; right: 36px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--gq-grad);}
main.gq-page .gq-form-title{margin: 0 0 8px; color: var(--gq-ink); font-size: 26px; line-height: 1.25; font-weight: 700;}
main.gq-page .gq-form-intro{margin: 0 0 24px; font-size: 15.5px; line-height: 1.6;}
main.gq-page .gq-form{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px;}
main.gq-page .gq-field{margin-bottom: 14px; min-width: 0;}
main.gq-page .gq-full{grid-column: 1 / -1;}
main.gq-page .gq-field label{display: block; margin-bottom: 6px; color: var(--gq-ink); font-size: 13.5px; font-weight: 600;}
main.gq-page .gq-field label em{color: #e5484d; font-style: normal;}
main.gq-page .gq-field input, main.gq-page .gq-field select, main.gq-page .gq-field textarea{width: 100%; padding: 12px 14px; border: 1px solid var(--gq-rule); border-radius: 12px; outline: none; background: #fbfcff; color: var(--gq-ink); font-size: 15px; font-family: inherit;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;}
main.gq-page .gq-field input::placeholder, main.gq-page .gq-field textarea::placeholder{color: #9aa3b5;}
main.gq-page .gq-field input:hover, main.gq-page .gq-field select:hover, main.gq-page .gq-field textarea:hover{border-color: #c9d6ea;}
main.gq-page .gq-field input:focus, main.gq-page .gq-field select:focus, main.gq-page .gq-field textarea:focus{border-color: var(--gq-blue); background: #fff; box-shadow: 0 0 0 4px rgba(11,117,214,.12);}
main.gq-page .gq-field [aria-invalid="true"]{border-color: #e5484d;}
main.gq-page .gq-field select{appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
    background: #fbfcff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6477' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center / 16px;}
main.gq-page .gq-field textarea{min-height: 110px; resize: vertical;}
main.gq-page .gq-error{max-height: 0; margin: 0; overflow: hidden; color: #d03b40; font-size: 13px; font-weight: 600; opacity: 0; transition: max-height .25s ease, opacity .25s ease, margin .25s ease;}
main.gq-page .gq-error.is-on{max-height: 60px; margin-top: 6px; opacity: 1;}
main.gq-page .gq-error--form.is-on{margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #fdecec;}
main.gq-page .gq-submit{position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin-top: 6px; padding: 16px 24px; border: 0; border-radius: 14px; background: var(--gq-grad); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer;
    box-shadow: 0 14px 28px -12px rgba(11,117,214,.6); transition: transform .25s ease, box-shadow .25s ease, opacity .2s ease;}
main.gq-page .gq-submit::after{content: ''; width: 18px; height: 18px; background: currentColor; transition: transform .25s ease;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;}
main.gq-page .gq-submit:hover{transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(11,117,214,.7);}
main.gq-page .gq-submit:hover::after{transform: translateX(3px);}
main.gq-page .gq-submit:focus-visible{outline: 2px solid var(--gq-blue); outline-offset: 3px;}
main.gq-page .gq-submit.is-busy{opacity: .75; cursor: progress; transform: none;}
main.gq-page .gq-submit.is-busy::after{-webkit-mask: none; mask: none; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; background: none; animation: gq-spin .8s linear infinite;}
@keyframes gq-spin{to{transform: rotate(360deg);}}
main.gq-page .gq-note{display: flex; gap: 8px; margin: 14px 0 0; color: #7a8397; font-size: 13.5px; line-height: 1.55;}
main.gq-page .gq-note::before{content: ''; flex: 0 0 16px; height: 16px; margin-top: 2px; background: #9aa3b5;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;}

/* sections */
main.gq-page .gq-section{padding: 96px 0;}
main.gq-page .gq-head{max-width: 720px; margin: 0 auto 48px; text-align: center;}
main.gq-page .gq-kicker{display: inline-block; margin-bottom: 12px; color: var(--gq-violet); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;}
main.gq-page .gq-h2{margin: 0 0 14px; color: var(--gq-ink); font-size: 40px; line-height: 1.2; font-weight: 700; letter-spacing: -0.015em;}
main.gq-page .gq-sub{margin: 0; color: var(--gq-slate); font-size: 18px; line-height: 30px;}

/* built around your business */
main.gq-page .gq-cards{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px;}
main.gq-page .gq-card{padding: 30px 28px; border: 1px solid var(--gq-rule); border-radius: 22px; background: #fff; box-shadow: 0 24px 50px -40px rgba(38,60,160,.5); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
main.gq-page .gq-card:hover{transform: translateY(-4px); border-color: rgba(11,117,214,.25); box-shadow: 0 30px 60px -36px rgba(38,60,160,.55);}
main.gq-page .gq-card-icon{display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 16px; background: var(--gq-grad); color: #fff; box-shadow: 0 12px 24px -12px rgba(11,117,214,.7);}
main.gq-page .gq-card-icon svg{width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
main.gq-page .gq-card h3{margin: 0 0 8px; color: var(--gq-ink); font-size: 20px; font-weight: 700;}
main.gq-page .gq-card p{margin: 0; font-size: 16px; line-height: 1.65;}

/* what happens next: timeline */
main.gq-page .gq-next{background: linear-gradient(180deg, #f5f8ff 0%, #f7f5ff 100%);}
main.gq-page .gq-steps{position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none;}
main.gq-page .gq-steps::before{content: ''; position: absolute; left: 16.66%; right: 16.66%; top: 31px; height: 2px; background: linear-gradient(90deg, rgba(11,117,214,.35), rgba(123,97,255,.35));}
main.gq-page .gq-step{position: relative; text-align: center;}
main.gq-page .gq-step-num{position: relative; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 22px; border-radius: 50%; background: #fff; color: var(--gq-blue); font-size: 20px; font-weight: 800;
    box-shadow: 0 0 0 8px rgba(255,255,255,.7), 0 0 0 9px rgba(11,117,214,.15), 0 16px 30px -14px rgba(38,60,160,.5);}
main.gq-page .gq-step h3{margin: 0 0 8px; color: var(--gq-ink); font-size: 20px; font-weight: 700;}
main.gq-page .gq-step p{max-width: 320px; margin: 0 auto; font-size: 16px; line-height: 1.65;}

/* why no fixed pricing */
main.gq-page .gq-pricing-grid{display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center;}
main.gq-page .gq-pricing-copy .gq-h2{text-align: left;}
main.gq-page .gq-quote{position: relative; margin: 26px 0 0; padding: 18px 22px 18px 24px; border-left: 4px solid; border-image: linear-gradient(180deg, var(--gq-blue), var(--gq-violet)) 1; background: var(--gq-wash); color: var(--gq-ink); font-size: 18px; line-height: 1.55; font-weight: 600;}
main.gq-page .gq-factors{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 28px; list-style: none; border: 1px solid var(--gq-rule); border-radius: 24px;
    background: radial-gradient(420px 260px at 100% 0%, rgba(123,97,255,.10), transparent 70%), #fff; box-shadow: 0 30px 60px -44px rgba(38,60,160,.5);}
main.gq-page .gq-factors li{display: flex; align-items: center; gap: 12px; padding: 13px 16px; border-radius: 14px; background: var(--gq-wash); color: var(--gq-ink); font-size: 15.5px; font-weight: 600;}
main.gq-page .gq-factors li::before{content: ''; flex: 0 0 8px; height: 8px; border-radius: 50%; background: var(--gq-grad); box-shadow: 0 0 0 4px rgba(11,117,214,.1);}

/* bottom call to action */
main.gq-page .gq-cta{padding: 0 0 96px;}
main.gq-page .gq-cta-inner{position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; padding: 52px 56px; border-radius: 28px; color: #fff;
    background: radial-gradient(520px 300px at 100% 0%, rgba(123,97,255,.55), transparent 65%), radial-gradient(420px 260px at 0% 100%, rgba(61,108,240,.45), transparent 60%), linear-gradient(120deg, #0b3a8a, #0b75d6);}
main.gq-page .gq-cta-inner::after{content: ''; position: absolute; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 40px 40px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); mask-image: linear-gradient(90deg, transparent, #000 60%);}
main.gq-page .gq-cta h2{position: relative; margin: 0 0 12px; color: #fff; font-size: 32px; line-height: 1.25; font-weight: 700;}
main.gq-page .gq-cta p{position: relative; max-width: 620px; margin: 0; color: rgba(255,255,255,.85); font-size: 17px; line-height: 1.65;}
main.gq-page .gq-cta-actions{position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px;}
main.gq-page .gq-btn{display: inline-flex; align-items: center; justify-content: center; padding: 15px 26px; border-radius: 12px; font-size: 16px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: transform .25s ease, background .25s ease, color .25s ease;}
main.gq-page .gq-btn:hover{transform: translateY(-2px);}
main.gq-page .gq-btn--light{background: #fff; color: #0b3a8a;}
main.gq-page .gq-btn--light:hover{color: var(--gq-blue);}
main.gq-page .gq-btn--outline{border: 1px solid rgba(255,255,255,.55); color: #fff;}
main.gq-page .gq-btn--outline:hover{background: rgba(255,255,255,.12); color: #fff;}
main.gq-page .gq-btn:focus-visible{outline: 2px solid #fff; outline-offset: 3px;}

@media (max-width: 1199px){
    main.gq-page .gq-title{font-size: 42px;}
    main.gq-page .gq-hero-grid{gap: 40px;}
    main.gq-page .gq-cta-inner{grid-template-columns: minmax(0, 1fr);}
}
@media (max-width: 991px){
    main.gq-page .gq-wrap{padding: 0 24px;}
    main.gq-page .gq-hero{padding: 40px 0 72px;}
    main.gq-page .gq-hero-grid{grid-template-columns: minmax(0, 1fr);}
    main.gq-page .gq-hero-copy{padding-top: 0;}
    /* phones/tablets: form straight after the headline and points, the steps card after the form */
    main.gq-page .gq-hero-grid{gap: 0;}
    main.gq-page .gq-hero-copy{display: contents;}
    main.gq-page .gq-eyebrow{justify-self: start;}
    main.gq-page .gq-form-card{order: 2; margin-bottom: 28px;}
    main.gq-page .gq-after{order: 3;}
    main.gq-page .gq-section{padding: 72px 0;}
    main.gq-page .gq-h2{font-size: 32px;}
    main.gq-page .gq-cards{grid-template-columns: minmax(0, 1fr);}
    main.gq-page .gq-steps{grid-template-columns: minmax(0, 1fr); gap: 32px;}
    main.gq-page .gq-steps::before{left: 31px; right: auto; top: 32px; bottom: 32px; width: 2px; height: auto; background: linear-gradient(180deg, rgba(11,117,214,.35), rgba(123,97,255,.35));}
    main.gq-page .gq-step{display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 20px; text-align: left;}
    main.gq-page .gq-step-num{grid-row: span 2; margin-bottom: 0;}
    main.gq-page .gq-step p{margin: 0; max-width: none;}
    main.gq-page .gq-pricing-grid{grid-template-columns: minmax(0, 1fr); gap: 32px;}
    main.gq-page .gq-cta{padding-bottom: 72px;}
    main.gq-page .gq-cta-inner{padding: 40px 32px;}
}
@media (max-width: 575px){
    main.gq-page .gq-wrap{padding: 0 16px;}
    main.gq-page .gq-hero{padding: 28px 0 56px;}
    main.gq-page .gq-title{font-size: 32px; margin: 18px 0 14px;}
    main.gq-page .gq-lead{font-size: 16px; line-height: 27px;}
    main.gq-page .gq-points{grid-template-columns: minmax(0, 1fr);}
    main.gq-page .gq-after{padding: 20px 18px;}
    main.gq-page .gq-form-card{padding: 26px 18px 22px; border-radius: 22px;}
    main.gq-page .gq-form-card::before{left: 18px; right: 18px;}
    main.gq-page .gq-form-title{font-size: 22px;}
    main.gq-page .gq-form{grid-template-columns: minmax(0, 1fr);}
    main.gq-page .gq-section{padding: 56px 0;}
    main.gq-page .gq-head{margin-bottom: 32px;}
    main.gq-page .gq-h2{font-size: 27px;}
    main.gq-page .gq-sub{font-size: 16px; line-height: 27px;}
    main.gq-page .gq-factors{grid-template-columns: minmax(0, 1fr); padding: 18px;}
    main.gq-page .gq-cta{padding-bottom: 56px;}
    main.gq-page .gq-cta-inner{padding: 32px 22px; border-radius: 22px;}
    main.gq-page .gq-cta h2{font-size: 25px;}
    main.gq-page .gq-cta-actions{flex-direction: column;}
    main.gq-page .gq-btn{width: 100%;}
}
@media (prefers-reduced-motion: reduce){
    main.gq-page .gq-card, main.gq-page .gq-submit, main.gq-page .gq-btn{transition: none;}
}
