/*
 * Grenbee launch polish system.
 * A small shared layer for public pages: lighter hierarchy, tighter sections,
 * softer cards, and clearer CTAs without changing booking/business logic.
 */

:root {
    --gb-launch-section-y: clamp(3.25rem, 5vw, 5.25rem);
    --gb-launch-section-y-tight: clamp(2.35rem, 4vw, 3.75rem);
    --gb-launch-card-radius: 22px;
    --gb-launch-card-border: rgba(148, 163, 184, 0.22);
    --gb-launch-card-shadow: 0 12px 34px rgba(15, 23, 42, 0.06);
    --gb-launch-card-shadow-hover: 0 18px 42px rgba(15, 23, 42, 0.09);
    --gb-launch-copy: #475569;
    --gb-launch-ink: #0f172a;
}

.section,
.gbx-section,
.grenbee-section,
.gbx-home-section {
    padding-top: var(--gb-launch-section-y);
    padding-bottom: var(--gb-launch-section-y);
}

.gbx-home-section--services-compact,
.gbx-secondary-page-shell,
.contact-page--secondary .contact-shell,
.contact-shell--secondary {
    padding-top: var(--gb-launch-section-y-tight);
}

.gbx-section-head,
.home1-section-head,
.grenbee-section__header,
.contact-section-head,
.faq-group-head {
    margin-bottom: clamp(1.2rem, 2.8vw, 2rem);
}

.gbx-section-head h2,
.home1-section-head h2,
.grenbee-section__title,
.gbx-page-hero h1,
.gbx-service-hero__copy h1,
.gbx-about-entry h2,
.contact-section-head h2,
.faq-group-head h2 {
    font-weight: 600 !important;
    letter-spacing: -0.028em;
}

.gbx-section-head p,
.home1-section-head p,
.grenbee-section__subtitle,
.gbx-page-hero p,
.gbx-service-hero__lead,
.gbx-about-entry p,
.contact-section-head p,
.faq-entry p,
.service-faq-item p {
    color: var(--gb-launch-copy);
    line-height: 1.62;
}

.btn,
.gbx-btn,
.grenbee-btn,
.wp-block-button__link,
.service-booking-btn {
    font-weight: 600 !important;
    letter-spacing: -0.005em;
}

.home1-service-card,
.gbx-service-card,
.gbx-stack-card,
.gbx-detail-card,
.gbx-room-card,
.gbx-addon-card,
.gbx-frequency-card,
.gbx-rule-card,
.gbx-panel-card,
.gbx-secondary-entry,
.faq-start-card,
.faq-final-card,
.faq-route-card,
.faq-item,
.contact-panel,
.contact-method-card,
.contact-intake-choice,
.grenbee-card,
.grenbee-pricing-card,
.grenbee-frequency-card,
.grenbee-trust-card,
.grenbee-fit-card,
.grenbee-step {
    border-color: var(--gb-launch-card-border) !important;
    box-shadow: var(--gb-launch-card-shadow) !important;
}

.home1-service-card:hover,
.gbx-service-card:hover,
.gbx-stack-card:hover,
.gbx-detail-card:hover,
.gbx-room-card:hover,
.gbx-addon-card:hover,
.gbx-frequency-card:hover,
.gbx-rule-card:hover,
.faq-route-card:hover,
.contact-intake-choice:hover,
.grenbee-card:hover,
.grenbee-pricing-card:hover,
.grenbee-frequency-card:hover {
    box-shadow: var(--gb-launch-card-shadow-hover) !important;
}

.home1-highlight-card,
.home1-final-cta-card,
.gbx-final-card,
.gbx-about-cta,
.grenbee-section--primary,
.grenbee-section--cta {
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12) !important;
}

.home1-highlight-card,
.home1-final-cta-card,
.gbx-final-card,
.gbx-about-cta {
    border-radius: 26px;
}

.home1-proof-item strong,
.contact-intake-field span,
.contact-intake-fieldset legend,
.contact-intake-choice--radio,
.contact-shortcut,
.faq-route-card strong,
.gbx-about-note strong,
.gbx-about-card h3,
.gbx-about-step h3,
.gbx-checklist li::before {
    font-weight: 600 !important;
}

.home1-proof-item span,
.contact-intake-note,
.contact-meta-list span,
.contact-checklist li,
.gbx-checklist li,
.gbx-inline-list li,
.gbx-rule-card,
.gbx-addon-card span,
.gbx-frequency-card span {
    font-weight: 400;
}

.gbx-kicker,
.contact-eyebrow,
.contact-stat-label,
.grenbee-label,
.home1-eyebrow,
.gbx-eyebrow {
    font-weight: 600 !important;
    letter-spacing: 0.095em;
}

.home1-highlight-grid,
.gbx-split-grid,
.contact-overview-grid,
.gbx-about-intro,
.gbx-about-section--split {
    gap: clamp(1.4rem, 3vw, 2.35rem);
}

.home1-process-card,
.gbx-process-card,
.grenbee-step {
    padding: clamp(1.25rem, 2.2vw, 1.65rem);
}

.home1-process-card {
    padding-top: clamp(1.45rem, 2.4vw, 1.9rem);
}

.gbx-process-grid--service {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.35rem);
}

.gbx-process-card--service-step {
    min-height: 100%;
}

.gbx-process-card--service-step .gbx-process-card__number {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.85rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
    font-size: 0.9rem;
    font-weight: 700;
}

.gbx-process-card--service-step p {
    margin: 0;
    color: #475569;
    font-size: clamp(0.94rem, 1.3vw, 1rem);
    line-height: 1.55;
}

.gbx-service-page .gbx-section-head h2,
.gbx-service-page .gbx-detail-card h2,
.gbx-service-page .gbx-detail-card h3,
.gbx-service-page .gbx-room-card h3,
.gbx-service-page .gbx-stack-card strong,
.gbx-service-page .gbx-addon-card strong {
    font-size: clamp(1.05rem, 1.6vw, 1.28rem);
}

.gbx-frequency-card,
.gbx-addon-card,
.gbx-rule-card {
    padding: clamp(1.05rem, 2vw, 1.35rem);
}

.home1-service-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.1rem 0 0;
}

.home1-service-badge-row span {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 26px;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 185, 129, 0.16);
    background: rgba(16, 185, 129, 0.07);
    color: #047857;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
}

.gbx-service-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem 0.85rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.gbx-service-hero__trust li {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    color: rgba(15, 23, 42, 0.82);
    font-size: 0.88rem;
    line-height: 1.35;
}

.gbx-service-hero__trust li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--green, #10b981);
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.11);
    flex: 0 0 auto;
}

.contact-intake-field input,
.contact-intake-field textarea,
.contact-intake-choice {
    border-radius: 14px;
}

.contact-intake-field textarea {
    font-family: inherit;
    font-weight: 400;
}

@media (max-width: 900px) {
    .gbx-process-grid--service {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .section,
    .gbx-section,
    .grenbee-section,
    .gbx-home-section {
        padding-top: clamp(2.6rem, 12vw, 3.4rem);
        padding-bottom: clamp(2.6rem, 12vw, 3.4rem);
    }

    .gbx-page-hero--secondary,
    .gbx-page-hero--services {
        padding-top: 76px;
    }

    .home1-service-actions,
    .gbx-action-row,
    .grenbee-hero__ctas,
    .grenbee-cta-content__buttons {
        gap: 0.7rem;
    }
}

@media (max-width: 640px) {
    .gbx-process-grid--service {
        grid-template-columns: 1fr;
    }
}
