.offer-hero {
    position: relative;
    overflow: hidden;
    background:
        repeating-linear-gradient(90deg, rgba(2, 81, 112, .035) 0 1px, transparent 1px 56px),
        repeating-linear-gradient(0deg, rgba(102, 120, 0, .035) 0 1px, transparent 1px 56px),
        linear-gradient(135deg, #f8fbfb, #eef5f5);
}
.offer-hero::before,
.offer-hero::after {
    position: absolute;
    border: 2px solid rgba(2, 81, 112, .09);
    border-radius: 24px;
    content: "";
    transform: rotate(-8deg);
    pointer-events: none;
}
.offer-hero::before { top: 80px; right: -80px; width: 330px; height: 430px; }
.offer-hero::after { bottom: -250px; left: 30%; width: 440px; height: 540px; border-color: rgba(102, 120, 0, .1); transform: rotate(12deg); }
.offer-hero .container { position: relative; z-index: 1; }

.offer-proof-grid,
.offer-role-map,
.offer-warning-grid {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}
.offer-proof-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.offer-proof-grid article,
.offer-role-map article,
.offer-warning-grid article {
    padding: 22px;
    border: 1px solid var(--campaign-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 30px rgba(0, 59, 82, .07);
}
.offer-proof-grid article { border-top: 5px solid var(--campaign-green); }
.offer-proof-grid span {
    display: inline-grid;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: var(--campaign-petrol);
    font-weight: 800;
}
.offer-proof-grid h3,
.offer-role-map h3 { margin-bottom: 8px; font-size: 1.12rem; }
.offer-proof-grid p,
.offer-role-map p,
.offer-warning-grid p { margin: 0; }
.offer-note {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
    gap: 18px;
    margin-top: 24px;
    padding: 20px 22px;
    border: 1px solid rgba(102, 120, 0, .3);
    border-radius: 15px;
    background: var(--campaign-green-pale);
}
.offer-note strong { color: var(--campaign-green-dark); }
.offer-note p { margin: 0; }

.offer-role-map { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.offer-role-map article:nth-child(1) { border-top: 5px solid var(--campaign-ink-soft); }
.offer-role-map article:nth-child(2) { border-top: 5px solid var(--campaign-green); }
.offer-role-map article:nth-child(3) { border-top: 5px solid var(--campaign-petrol); }
.offer-role-map__label { margin-bottom: 10px !important; color: var(--campaign-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.offer-document {
    max-width: 900px;
    margin: 30px auto;
    overflow: hidden;
    border: 1px solid var(--campaign-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--campaign-shadow);
}
.offer-document__header { display: flex; justify-content: space-between; gap: 18px; padding: 22px 25px; color: #fff; background: var(--campaign-petrol-dark); }
.offer-document__header span { font-family: var(--site-heading-font); font-size: 1.2rem; font-weight: 700; }
.offer-document__header strong { color: #dbe88c; }
.offer-document dl { margin: 0; padding: 8px 25px 20px; }
.offer-document dl > div { display: grid; grid-template-columns: minmax(180px, .35fr) minmax(0, .65fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--campaign-line); }
.offer-document dl > div:last-child { border-bottom: 0; }
.offer-document dt { color: var(--campaign-ink); font-weight: 800; }
.offer-document dd { margin: 0; color: var(--campaign-muted); }

.offer-pass {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
    gap: 20px;
    margin-top: 28px;
    padding: 24px;
    border: 1px solid var(--campaign-line);
    border-radius: 20px;
    background: linear-gradient(145deg, #fff, var(--campaign-paper));
    box-shadow: var(--campaign-shadow);
}
.offer-pass__items { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.offer-pass__items legend { margin-bottom: 12px; color: var(--campaign-ink); font-family: var(--site-heading-font); font-size: 1.12rem; font-weight: 700; }
.offer-pass__items label { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px; border: 1px solid var(--campaign-line); border-radius: 13px; background: #fff; cursor: pointer; }
.offer-pass__items label:has(input:checked) { border-color: rgba(102, 120, 0, .48); background: var(--campaign-green-pale); }
.offer-pass__items input { width: 21px; height: 21px; margin-top: 2px; accent-color: var(--campaign-green); }
.offer-pass__items strong,
.offer-pass__items small { display: block; }
.offer-pass__items strong { color: var(--campaign-ink); }
.offer-pass__items small { margin-top: 3px; color: var(--campaign-muted); line-height: 1.45; }
.offer-pass__result { padding: 28px; border-radius: 18px; color: #fff; background: radial-gradient(circle at 100% 0%, rgba(198, 211, 111, .22), transparent 14rem), var(--campaign-petrol-dark); }
.offer-pass__result > p:first-child { margin: 0 0 8px; color: rgba(255, 255, 255, .7); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.offer-pass__result > strong { display: block; color: #fff; font: 700 clamp(2rem, 5vw, 3.05rem)/1 var(--site-heading-font); }
.offer-pass__result h3,
.offer-pass__result p { color: #fff; }
.offer-pass__result h3 { margin: 0 0 9px; font-size: 1.16rem; }
.offer-pass__result > p:last-child { margin: 0; }
.offer-pass__meter { height: 11px; margin: 22px 0; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .14); }
.offer-pass__meter i { display: block; width: 0; height: 100%; border-radius: inherit; background: #c6d36f; transition: width 180ms ease; }
.offer-pass__reset { margin-top: 12px; padding: 9px 14px; border: 1px solid var(--campaign-line); border-radius: 9px; color: var(--campaign-petrol); background: #fff; font-weight: 700; }
.offer-pass__limit { margin-top: 16px; padding: 14px 16px; border-left: 4px solid var(--campaign-green); color: var(--campaign-muted); background: var(--campaign-paper); }

.offer-compare-table table { min-width: 900px; }
.offer-inline-link { display: flex; justify-content: space-between; gap: 18px; padding: 20px 22px; border: 1px solid var(--campaign-line); border-radius: 14px; color: var(--campaign-ink); background: var(--campaign-paper); text-decoration: none; }
.offer-inline-link span { color: var(--campaign-petrol); font-weight: 800; }

.offer-warning-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.offer-warning-grid article { border-top: 4px solid #b47b1f; }
.offer-warning-grid span { display: block; margin-bottom: 8px; color: #8b5d16; font-family: var(--site-heading-font); font-weight: 700; }

.offer-process { display: grid; gap: 0; margin: 28px 0; padding: 0; list-style: none; }
.offer-process li { display: grid; grid-template-columns: 55px minmax(0, 1fr); gap: 18px; position: relative; padding-bottom: 26px; }
.offer-process li:not(:last-child)::before { position: absolute; top: 52px; bottom: 2px; left: 25px; width: 3px; border-radius: 2px; background: var(--campaign-line); content: ""; }
.offer-process li > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; color: #fff; background: var(--campaign-petrol); font-weight: 800; }
.offer-process h3 { margin: 3px 0 6px; font-size: 1.15rem; }
.offer-process p { margin: 0; }

@media (max-width: 991.98px) {
    .offer-proof-grid,
    .offer-warning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .offer-role-map { grid-template-columns: 1fr; }
    .offer-pass { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .offer-proof-grid,
    .offer-warning-grid { grid-template-columns: 1fr; }
    .offer-note { grid-template-columns: 1fr; gap: 6px; }
    .offer-document__header,
    .offer-document dl > div { grid-template-columns: 1fr; flex-direction: column; gap: 7px; }
    .offer-document dl { padding-inline: 18px; }
    .offer-pass { padding: 18px 16px; border-radius: 16px; }
    .offer-pass__result { padding: 23px 19px; }
    .offer-inline-link { flex-direction: column; gap: 6px; }
    .offer-compare-table table { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .offer-pass__meter i { transition: none; }
}
