.ie-offers {
    --ie-offers-navy: #325859;
    --ie-offers-teal: #629fa6;
    --ie-offers-aqua: #6dbbbf;
    --ie-offers-white: #fff;
    background: var(--ie-offers-white);
    color: var(--ie-offers-navy);
    font-family: "IE Editorial", Arial, sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

.ie-offers :is(h1, h2, h3, p, li, a, button, input, select, summary, label) {
    font-family: inherit;
}

.ie-offers :is(h1, h2, h3, p, li) {
    overflow-wrap: anywhere;
}

.ie-offers__hero {
    padding: clamp(1.5rem, 3vw, 3rem) 0 clamp(2.75rem, 5vw, 5rem);
    background:
        radial-gradient(circle at 8% 10%, rgba(109, 187, 191, 0.18), transparent 30rem),
        linear-gradient(155deg, rgba(98, 159, 166, 0.08), rgba(255, 255, 255, 0) 62%);
}

.ie-offers__shell {
    width: min(1200px, calc(100% - 2rem));
    margin-inline: auto;
}

.ie-offers__hero .ie-offers__shell {
    display: grid;
    grid-template-areas:
        "offer enquiry"
        "photo series";
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: 2.25rem clamp(2rem, 4vw, 3.5rem);
    align-items: start;
}

.ie-offers__offer {
    grid-area: offer;
    min-width: 0;
    padding-top: clamp(0.25rem, 1vw, 0.75rem);
}

.ie-offers__eyebrow {
    margin: 0 0 0.55rem;
    color: var(--ie-offers-navy);
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.ie-offers h1,
.ie-offers h2 {
    color: var(--ie-offers-navy);
    text-wrap: balance;
}

.ie-offers h1 {
    max-width: 10ch;
    margin: 0;
    font-size: clamp(3.25rem, 5.3vw, 5.25rem);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 0.98;
}

.ie-offers__price-basis {
    margin: 0.6rem 0 0;
    color: var(--ie-offers-navy);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
}

.ie-offers__inclusions {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 1.15rem 0 0;
    padding: 0;
    color: var(--ie-offers-navy);
    list-style: none;
}

.ie-offers__inclusions li {
    min-height: 2.75rem;
    padding: 0.55rem 1rem;
    border-left: 1px solid rgba(50, 88, 89, 0.22);
    font-size: 0.95rem;
    line-height: 1.35;
}

.ie-offers__inclusions li:first-child {
    padding-left: 0;
    border-left: 0;
}

.ie-offers__inclusions strong {
    font-weight: 800;
}

.ie-offers__condition {
    max-width: 48ch;
    margin: 0.7rem 0 0;
    color: rgba(50, 88, 89, 0.88);
    font-size: 0.875rem;
    line-height: 1.5;
}

.ie-offers__photo {
    grid-area: photo;
    overflow: hidden;
    width: 100%;
    margin: 0;
    border-radius: 0.7rem;
    background: var(--ie-offers-navy);
}

.ie-offers__photo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 40%;
}

.ie-offers__photo figcaption {
    padding: 0.55rem 0.7rem 0.65rem;
    color: var(--ie-offers-white);
    font-size: 0.75rem;
    line-height: 1.4;
}

.ie-offers__enquiry {
    grid-area: enquiry;
    min-width: 0;
    scroll-margin-top: 6rem;
    border-radius: 0.8rem;
    background: var(--ie-offers-white);
    padding: clamp(1.15rem, 2.4vw, 2rem);
    box-shadow: 0 1.5rem 4rem rgba(50, 88, 89, 0.14);
}

.ie-offers__series { grid-area: series; min-width: 0; padding: 0; display: grid; }
/* Keep the heading first in reading order; visually caption the aligned film below it. */
.ie-offers__series .ie-series-player { order: 0; }
.ie-offers__series header { order: 1; margin: 1.1rem 0 0.7rem; }
.ie-offers__series .ie-offers__film-title { order: 2; }
.ie-offers__series .ie-offers__episodes { order: 3; }
.ie-offers__series .ie-offers__film-status { order: 4; }
.ie-offers__series .ie-offers__film-fallback { order: 5; }
.ie-offers__series h2 { margin: 0 0 0.4rem; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.15; letter-spacing: -0.035em; }
.ie-offers__series header p { margin: 0; max-width: 48ch; font-size: 1rem; line-height: 1.5; }
.ie-offers__series .ie-series-player { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 0.7rem; background: #172d36; }
.ie-offers__series video { display: block; width: 100%; height: 100%; object-fit: contain; }
.ie-offers__series .ie-series-play { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; border: 0; border-radius: 0; background: transparent; color: #fff; cursor: pointer; }
.ie-offers__series .ie-series-play[hidden] { display: none; }
.ie-offers__series .ie-series-play span { display: grid; place-items: center; width: 3.75rem; height: 3.75rem; padding-left: 0.2rem; border-radius: 50%; background: #007d85; box-shadow: 0 0 0 5px #ffffff8c; font-size: 1.5rem; transition: transform 180ms ease; }
.ie-offers__series .ie-series-play:hover span { transform: scale(1.07); }
.ie-offers__film-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem 0.8rem; padding-block: 0.85rem; }
.ie-offers__film-title span { font-size: 0.875rem; }
.ie-offers__film-title h3 { flex: 1; min-width: 0; margin: 0; font-size: 1.125rem; line-height: 1.35; color: var(--ie-offers-navy); }
.ie-offers__episodes { border-block: 1px solid #32585933; }
.ie-offers__episodes summary { min-height: 2.75rem; padding: 0.75rem 0; font-size: 1rem; font-weight: 700; line-height: 1.5; cursor: pointer; }
.ie-offers__episodes summary span { display: inline-block; margin-left: 0.4rem; font-size: 0.875rem; font-weight: 400; }
.ie-offers__episodes ol { margin: 0; padding: 0; list-style: none; }
.ie-offers__episodes a { display: grid; grid-template-columns: 1fr auto; gap: 0.15rem 0.5rem; padding: 0.75rem; border-top: 1px solid #32585920; color: var(--ie-offers-navy); text-decoration: none; line-height: 1.4; }
.ie-offers__episodes a > span { font-size: 0.875rem; }
.ie-offers__episodes a > strong { grid-column: 1; font-size: 1rem; }
.ie-offers__episodes a > small { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 0.875rem; }
.ie-offers__episodes a[aria-current] { background: #6dbbbf22; box-shadow: inset 3px 0 #007d85; }
.ie-offers__episodes a:hover { background: #6dbbbf16; }
.ie-offers__film-status { margin: 0; font-size: 0.875rem; line-height: 1.5; }
.ie-offers__film-status:not(:empty) { margin-top: 0.65rem; }
.ie-offers__film-fallback { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 0.875rem; color: var(--ie-offers-navy); text-underline-offset: 3px; }
.ie-offers__series :is(a, button, summary, h3):focus-visible { outline: 3px solid #007d85; outline-offset: 3px; }

.ie-offers__enquiry-heading {
    min-width: 0;
    margin-bottom: 0.8rem;
}

.ie-offers__enquiry:has(.iedp[data-screen="contact"]) .ie-offers__enquiry-heading,
.ie-offers__enquiry:has(.iedp[data-screen="success"]) .ie-offers__enquiry-heading {
    display: none;
}

.ie-offers__noscript { line-height: 1.6; }
.ie-offers__noscript a { display: inline-block; min-height: 44px; padding-block: 8px; text-decoration: underline; }

.ie-offers__enquiry-heading h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.ie-offers__enquiry-heading p {
    margin: 0.35rem 0 0;
    color: var(--ie-offers-navy);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.45;
}

/* The page supplies the offer context and installation image. The existing
 * component still owns the complete express form and submission behaviour. */
.ie-offers .iedp {
    padding: 0;
    background: transparent;
}

.ie-offers .iedp__hero,
.ie-offers .iedp__story {
    display: none;
}

.ie-offers .iedp__form,
.ie-offers .iedp__surface {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.ie-offers .iedp__surface {
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.ie-offers .iedp__screen[data-iedp-screen="location"] .iedp__intro {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.ie-offers .iedp__screen,
.ie-offers .iedp__field,
.ie-offers .iedp__input-action {
    min-width: 0;
}

.ie-offers .iedp__field {
    font-size: 1rem;
}

.ie-offers .iedp__screen.is-active {
    padding: 0;
}

.ie-offers .iedp__input-action input {
    min-height: 3.5rem;
    font-size: 1rem;
}

.ie-offers .iedp__button,
.ie-offers .iedp__input-action button,
.ie-offers .iedp__survey-submit {
    min-height: 2.75rem;
    border-radius: 0.35rem;
    background: var(--ie-offers-navy);
    color: var(--ie-offers-white);
}

.ie-offers .iedp__button:hover,
.ie-offers .iedp__button:focus-visible,
.ie-offers .iedp__input-action button:hover,
.ie-offers .iedp__input-action button:focus-visible,
.ie-offers .iedp__survey-submit:hover,
.ie-offers .iedp__survey-submit:focus-visible {
    background: var(--ie-offers-teal);
}

.ie-offers .iedp__service-area,
.ie-offers .iedp__human-help {
    font-size: 1rem;
}

.ie-offers .iedp__service-area summary,
.ie-offers .iedp__human-help a {
    min-height: 2.75rem;
}

.ie-offers .iedp__progress {
    margin-bottom: 1rem;
}

.ie-offers__next {
    padding: clamp(2.75rem, 5vw, 5rem) 0;
    border-top: 1px solid rgba(50, 88, 89, 0.12);
    background: var(--ie-offers-white);
}

.ie-offers__shell--narrow {
    display: grid;
    grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr);
    gap: clamp(1.5rem, 5vw, 5rem);
}

.ie-offers__next h2 {
    max-width: 17ch;
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.04;
}

.ie-offers__next ol {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    counter-reset: offer-step;
    list-style: none;
}

.ie-offers__next li {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 0.15rem 0.85rem;
    min-height: 2.75rem;
    border-top: 1px solid rgba(50, 88, 89, 0.16);
    padding: 1rem 0;
    counter-increment: offer-step;
}

.ie-offers__next li::before {
    grid-row: 1 / 3;
    color: var(--ie-offers-teal);
    font-size: 1.35rem;
    font-weight: 800;
    content: "0" counter(offer-step);
}

.ie-offers__next li strong {
    color: var(--ie-offers-navy);
}

.ie-offers__next li span {
    color: rgba(50, 88, 89, 0.88);
    line-height: 1.5;
}

.ie-offers__phone {
    grid-column: 2;
    margin: 0.5rem 0 0;
    color: var(--ie-offers-navy);
}

.ie-offers__phone a {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    color: var(--ie-offers-navy);
    font-weight: 800;
}

@media (max-width: 960px) {
    .ie-offers__hero .ie-offers__shell {
        grid-template-areas:
            "offer"
            "enquiry"
            "photo"
            "series";
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 1rem;
    }

    .ie-offers__shell--narrow {
        grid-template-columns: 1fr;
    }

    .ie-offers__phone {
        grid-column: 1;
    }
}

@media (max-width: 640px) {
    .ie-offers__hero {
        padding: 0.8rem 0 2.5rem;
    }

    .ie-offers__shell {
        width: min(100% - 1.25rem, 1200px);
    }

    .ie-offers__hero .ie-offers__shell {
        gap: 0.75rem;
    }

    .ie-offers__offer {
        padding-top: 0;
    }

    .ie-offers__eyebrow {
        margin-bottom: 0.35rem;
        font-size: 0.76rem;
    }

    .ie-offers h1 {
        max-width: 12ch;
        font-size: clamp(2.35rem, 11vw, 3rem);
        line-height: 1;
    }

    .ie-offers__price-basis {
        margin-top: 0.35rem;
        font-size: 1rem;
    }

    .ie-offers__inclusions {
        margin-top: 0.65rem;
    }

    .ie-offers__inclusions li {
        min-height: 2.75rem;
        padding: 0.4rem 0.55rem;
        font-size: 0.88rem;
    }

    .ie-offers__condition {
        margin-top: 0.45rem;
        font-size: 0.875rem;
        line-height: 1.4;
    }

    .ie-offers__enquiry {
        scroll-margin-top: 5rem;
        padding: 0.9rem;
        box-shadow: 0 1rem 3rem rgba(50, 88, 89, 0.12);
    }

    .ie-offers__enquiry-heading {
        margin-bottom: 0.55rem;
    }

    .ie-offers__enquiry-heading h2 {
        font-size: 1.65rem;
    }

    .ie-offers__enquiry-heading p {
        font-size: 1rem;
    }

    .ie-offers .iedp__input-action {
        grid-template-columns: 1fr;
    }

    .ie-offers .iedp__input-action button {
        width: 100%;
        min-height: 3rem;
    }

    .ie-offers__photo img {
        max-height: 15rem;
        aspect-ratio: 16 / 9;
    }

    .ie-offers__next {
        padding-block: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ie-offers *,
    .ie-offers *::before,
    .ie-offers *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
