/**
 * Captain Right Away — full-width CTA section.
 * Used on the homepage and on every /service-areas/ page.
 *
 * Redesigned PR (2026-04): drops the muddy luminosity-blended rooftop bg,
 * the shouty doubled-text "WE'RE RIGHT AWAY." highlight, and the
 * absolutely-positioned floating mascot. Replaces with a clean editorial
 * two-column layout — Captain Right Away on the left, single Fraunces
 * H2 + body + dual CTA on the right — with a subtle gold glow behind
 * the mascot (no background photo).
 *
 * Tokens: --ink (section bg), --paper (text), --gold (primary CTA),
 * --gold-bright (eyebrow), --t-display-l (H2), --t-body-l (body).
 */

.full-width-cta {
    position: relative;
    background: var(--ink, #011635);
    color: var(--text-on-dark, #F2EFE7);
    padding-block: clamp(3rem, 2rem + 4vw, 6rem);
    overflow: hidden;
    z-index: 1;
}

/* Subtle radial glow anchoring Captain on the left.
   Replaces the rooftop bg image + mix-blend-mode hack. */
.full-width-cta::before {
    content: "";
    position: absolute;
    left: clamp(-200px, -10vw, -80px);
    top: 50%;
    transform: translateY(-50%);
    width: clamp(380px, 40vw, 640px);
    height: clamp(380px, 40vw, 640px);
    background: radial-gradient(circle at 30% 50%, rgba(212, 162, 74, 0.18) 0%, transparent 65%);
    background: radial-gradient(circle at 30% 50%, oklch(0.75 0.13 82 / 0.22) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

.full-width-cta .container {
    position: relative;
    z-index: 1;
}

/* Defensive: kill any legacy luminosity-blended background images that
   remain in the DOM from cached templates. They're absolute-positioned
   with class .full-width-cta__bg — hide them outright. */
.full-width-cta__bg {
    display: none !important;
}

/* ============================================================
   Two-column layout
   ============================================================ */
.full-width-cta__content {
    width: 100%;
}

.full-width-cta__text {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 1rem + 2vw, 3rem);
    align-items: center;
    text-align: center;
    /* Drop legacy padding-left:239px and clamp(260px,...,420px) overrides. */
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.full-width-cta .hales-captain {
    display: block;
    width: min(100%, 280px);
    margin: 0 auto;
}

@media (min-width: 768px) {
    .full-width-cta__text {
        grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
        text-align: left;
    }

    .full-width-cta .hales-captain {
        grid-column: 1;
        grid-row: 1 / span 4;
        align-self: center;
        width: 100%;
        max-width: 340px;
        margin: 0;
    }

    .full-width-cta__text > h2,
    .full-width-cta__text > p,
    .full-width-cta__text > .js-animated-split-text,
    .full-width-cta__text > .btn-group {
        grid-column: 2;
        min-width: 0;
    }
}

@media (min-width: 1200px) {
    .full-width-cta__text {
        grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
        gap: clamp(2.5rem, 2rem + 2vw, 4rem);
    }

    .full-width-cta .hales-captain {
        max-width: 380px;
    }
}

/* ============================================================
   Captain image (the mascot — left column)
   ============================================================ */
.full-width-cta__man-image {
    /* Override every absolute-positioning rule from the legacy file. */
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    display: block;
    width: 100%;
    height: auto;
    max-width: 280px;
    object-fit: contain;
    /* Subtle grounded shadow — Captain stands on a soft platform. */
    filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.25));
}

@media (min-width: 768px) {
    .full-width-cta__man-image {
        max-width: 100%;
        margin: 0 !important;
    }
}

@media (min-width: 1200px) {
    .full-width-cta__man-image {
        max-width: 100%;
    }
}

/* ============================================================
   Copy column
   ============================================================ */
.full-width-cta h2 {
    margin: 0 0 0.75rem;
    color: var(--text-on-dark, #F2EFE7);
    font-family: 'Fraunces', Georgia, serif;
    font-size: var(--t-display-l, clamp(2rem, 1.6rem + 2vw, 3rem));
    line-height: var(--lh-heading, 1.15);
    letter-spacing: var(--ls-display, -0.02em);
    font-weight: 500;
    max-width: 24ch;
    text-wrap: balance;
}

@media (max-width: 767px) {
    .full-width-cta h2 {
        margin-inline: auto;
    }
}

.full-width-cta p {
    margin: 0 0 1.25rem;
    font-family: 'General Sans', system-ui, sans-serif;
    font-size: var(--t-body-l, 1.125rem);
    line-height: var(--lh-body, 1.55);
    color: var(--text-on-dark-muted, #B1AEA4);
    max-width: 56ch;
}

@media (max-width: 767px) {
    .full-width-cta p {
        margin-inline: auto;
    }
}

/* ============================================================
   Captain quote / eyebrow — replaces the shouty WE'RE RIGHT AWAY
   ============================================================ */
.full-width-cta__highlight-text {
    margin: 0 0 1.25rem;
    font-family: 'Fraunces', Georgia, serif;
    font-style: italic;
    font-size: var(--t-body-l, 1.125rem);
    line-height: 1.4;
    color: var(--gold-bright, #F0CB6F);
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    text-align: inherit;
    position: static;
    max-width: 50ch;
    /* Strip the ::after doubled-text effect from the legacy CSS. */
}

.full-width-cta__highlight-text::after {
    content: none !important;
    display: none !important;
}

.full-width-cta__highlight-text > div {
    opacity: 1 !important;
    transform: none !important;
}

.full-width-cta__highlight-text::before {
    content: "\201C"; /* opening curly quote */
    font-family: 'Fraunces', Georgia, serif;
    font-style: normal;
    font-size: 1.4em;
    line-height: 0;
    vertical-align: -0.15em;
    color: var(--gold, #D4A24A);
    margin-right: 0.15em;
    opacity: 0.85;
}

.full-width-cta__highlight-text::after {
    content: "\201D" !important;
    display: inline !important;
    font-family: 'Fraunces', Georgia, serif;
    font-style: normal;
    font-size: 1.4em;
    line-height: 0;
    vertical-align: -0.15em;
    color: var(--gold, #D4A24A);
    margin-left: 0.1em;
    opacity: 0.85;
}

@media (max-width: 767px) {
    .full-width-cta__highlight-text {
        margin-inline: auto;
    }
}

/* ============================================================
   CTA button group
   ============================================================ */
.full-width-cta .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
    justify-content: center;
}

@media (min-width: 768px) {
    .full-width-cta .btn-group {
        justify-content: flex-start;
    }
}

/* Primary CTA — gold, the canonical Hales accent. */
.full-width-cta .btn-group .btn-primary {
    background: var(--gold, #D4A24A) !important;
    color: var(--text-on-gold, #011635) !important;
    border: none !important;
    border-radius: var(--radius-sm, 4px) !important;
    padding: 0.875rem 1.5rem !important;
    font-family: 'General Sans', system-ui, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: var(--shadow-gold, 0 6px 18px rgba(212, 162, 74, 0.32)) !important;
    min-height: 48px !important;
    transition: transform var(--dur-fast, 120ms) var(--ease-out-soft, cubic-bezier(0.22, 1, 0.36, 1)),
                background-color var(--dur-base, 220ms) var(--ease-out-soft, cubic-bezier(0.22, 1, 0.36, 1));
}

.full-width-cta .btn-group .btn-primary:hover {
    background: var(--gold-bright, #F0CB6F) !important;
    transform: translateY(-1px);
}

/* Secondary CTA — outline-on-dark. Replaces the legacy padding-left:48px
   for a missing icon-support glyph. */
.full-width-cta .btn-group .btn-secondary {
    background: transparent !important;
    color: var(--text-on-dark, #F2EFE7) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: var(--radius-sm, 4px) !important;
    padding: 0.875rem 1.5rem !important;
    font-family: 'General Sans', system-ui, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    min-height: 48px !important;
    transition: transform var(--dur-fast, 120ms) var(--ease-out-soft, cubic-bezier(0.22, 1, 0.36, 1)),
                background-color var(--dur-base, 220ms) var(--ease-out-soft, cubic-bezier(0.22, 1, 0.36, 1)),
                border-color var(--dur-base, 220ms) var(--ease-out-soft, cubic-bezier(0.22, 1, 0.36, 1));
}

.full-width-cta .btn-group .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    transform: translateY(-1px);
}

.full-width-cta .btn-group .btn:focus-visible {
    outline: 2px solid var(--gold-bright, #F0CB6F) !important;
    outline-offset: 3px !important;
}

.full-width-cta .btn-group .btn .hales-icon {
    color: currentColor;
    flex-shrink: 0;
}

/* ============================================================
   Defensive: also kill any leftover legacy decorations from the
   prior coupon-style frame that some pages may still cache.
   ============================================================ */
.full-width-cta::after { content: none !important; display: none !important; }
