.express-quote-page {
    --eq-background: #f4faf7;
    --eq-surface: #ffffff;
    --eq-text: #173a31;
    --eq-accent: #2f7d68;
    --eq-button: #205e4f;
    --eq-button-text: #ffffff;
    min-height: 100vh;
    background: var(--eq-background);
    color: var(--eq-text);
    font-family: var(--eq-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.express-quote-page.express-quote-font-system { font-family: var(--eq-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.express-quote-page.express-quote-font-modern { font-family: var(--eq-font-family, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.express-quote-page.express-quote-font-elegant { font-family: var(--eq-font-family, Georgia, "Times New Roman", serif); }

.express-quote-hero {
    padding: 4.5rem 0;
    background: linear-gradient(135deg, color-mix(in srgb, var(--eq-accent) 20%, var(--eq-surface)), var(--eq-background));
}

.express-quote-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 2rem;
    align-items: center;
}

.express-quote-hero-grid-single { grid-template-columns: minmax(0, 1fr); }
.express-quote-hero-content { min-width: 0; }

.express-quote-logo {
    display: grid;
    width: 90px;
    height: 90px;
    place-items: center;
    margin: 1.25rem 0;
    border: 1px solid color-mix(in srgb, var(--eq-accent) 18%, transparent);
    border-radius: 1.5rem;
    background: var(--eq-surface);
    color: var(--eq-accent);
    object-fit: cover;
    font-size: 2.3rem;
    box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--eq-text) 12%, transparent);
}

.express-quote-kicker {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding: .4rem .8rem;
    border: 1px solid color-mix(in srgb, var(--eq-accent) 18%, transparent);
    border-radius: 999px;
    background: var(--eq-surface);
    color: var(--eq-text);
    font-weight: 700;
}

.express-quote-hero h1 {
    margin: .8rem 0;
    color: var(--eq-text);
    font-size: clamp(2.4rem, 6vw, 4.7rem);
}

.express-quote-tagline {
    max-width: 720px;
    color: var(--eq-text);
    font-size: 1.25rem;
}

.express-quote-contact-card,
.express-quote-section {
    padding: 2rem;
    border: 1px solid color-mix(in srgb, var(--eq-accent) 14%, transparent);
    border-radius: 1.4rem;
    background: var(--eq-surface);
}

.express-quote-cards-soft .express-quote-contact-card,
.express-quote-cards-soft .express-quote-section {
    box-shadow: 0 1rem 3rem color-mix(in srgb, var(--eq-text) 8%, transparent);
}

.express-quote-cards-bordered .express-quote-contact-card,
.express-quote-cards-bordered .express-quote-section {
    border-width: 2px;
    box-shadow: none;
}

.express-quote-cards-flat .express-quote-contact-card,
.express-quote-cards-flat .express-quote-section {
    border-color: transparent;
    box-shadow: none;
}

.express-quote-contact-card {
    display: grid;
    gap: .8rem;
}

.express-quote-contact-card a:not(.btn) {
    color: var(--eq-text);
    text-decoration: none;
}

.express-quote-contact-card a:not(.btn):hover { color: var(--eq-accent); }

.express-quote-page .btn-primary {
    border-color: var(--eq-button);
    background: var(--eq-button);
    color: var(--eq-button-text);
}

.express-quote-page .btn-primary:hover,
.express-quote-page .btn-primary:focus {
    border-color: color-mix(in srgb, var(--eq-button) 82%, #000);
    background: color-mix(in srgb, var(--eq-button) 82%, #000);
    color: var(--eq-button-text);
}

.express-quote-buttons-pill .btn { border-radius: 999px; }
.express-quote-buttons-square .btn { border-radius: .25rem; }
.express-quote-buttons-rounded .btn { border-radius: .75rem; }

.express-quote-main {
    display: grid;
    gap: 1.5rem;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.express-quote-width-compact .container { max-width: 860px; }
.express-quote-width-standard .container { max-width: 1140px; }
.express-quote-width-wide .container { max-width: 1320px; }

.express-quote-services {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
}

.express-quote-service {
    padding: 1.2rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--eq-accent) 12%, var(--eq-surface));
    color: var(--eq-text);
    font-weight: 700;
}

.express-quote-service i { color: var(--eq-accent); }

.express-quote-portfolio {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.express-quote-portfolio img {
    width: 100%;
    height: 230px;
    border-radius: 1rem;
    object-fit: cover;
}

.express-quote-demo-image {
    display: grid;
    min-height: 230px;
    place-items: center;
    padding: 2rem;
    border-radius: 1rem;
    background: color-mix(in srgb, var(--eq-accent) 8%, var(--eq-surface));
    text-align: center;
}

.express-quote-reviews {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
}

.express-quote-review {
    padding: 1.25rem;
    border-left: 4px solid var(--eq-accent);
    border-radius: .8rem;
    background: color-mix(in srgb, var(--eq-accent) 6%, var(--eq-surface));
}

.express-quote-stars { color: #b97918; }

.express-quote-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.express-quote-form .full { grid-column: 1 / -1; }
.express-quote-form label { color: var(--eq-text); font-weight: 700; }
.express-quote-form .form-control,
.express-quote-form .form-select { margin-top: .4rem; }

.express-quote-success {
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--eq-accent) 28%, transparent);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--eq-accent) 12%, var(--eq-surface));
    color: var(--eq-text);
}

.express-quote-hero-centered .express-quote-hero-grid { grid-template-columns: minmax(0, 1fr); text-align: center; }
.express-quote-hero-centered .express-quote-logo { margin-right: auto; margin-left: auto; }
.express-quote-hero-centered .express-quote-tagline { margin-right: auto; margin-left: auto; }
.express-quote-hero-centered .express-quote-contact-card { width: min(100%, 620px); margin: 0 auto; text-align: left; }

.express-quote-hero-compact .express-quote-hero { padding: 2.5rem 0; }
.express-quote-hero-compact .express-quote-logo { width: 68px; height: 68px; border-radius: 1rem; font-size: 1.7rem; }
.express-quote-hero-compact .express-quote-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); }

@media (max-width: 767.98px) {
    .express-quote-hero-grid,
    .express-quote-form { grid-template-columns: 1fr; }
    .express-quote-hero { padding: 3rem 0; }
    .express-quote-form .full { grid-column: auto; }
    .express-quote-contact-card,
    .express-quote-section { padding: 1.35rem; }
}
