/* Progressive enhancement: without JavaScript, concerns and links stay visible. */
:root body .offer-flip-card{min-width:0;height:100%;perspective:1400px;scroll-margin-top:110px}
:root body .offer-flip-face{box-sizing:border-box;min-width:0;display:flex;flex-direction:column;padding:30px 28px;background:var(--ivory,#fff);border:1px solid var(--line);border-top:2px solid var(--bronze)}
:root body .offer-flip-front .patient-offer-number{display:block;margin:0 0 18px;font-size:.8125rem;line-height:1.5;color:var(--bronze-text)}
:root body .offer-flip-front .home-offer-name{display:block;margin:0 0 18px;min-height:2.9em;color:var(--bronze-text);text-transform:uppercase;hyphens:auto;overflow-wrap:normal;word-break:normal}
:root body .offer-flip-front strong.offer-flip-claim{display:block;font-size:clamp(1.4rem,1.8vw,1.75rem);line-height:1.35;letter-spacing:-.02em;font-weight:600;margin:0 0 28px}
:root body .offer-flip-front .editorial-card-title{margin:0 0 28px}
:root body .offer-flip-claim .offer-claim-line{display:block;white-space:nowrap;hyphens:none}
:root body .offer-flip-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;padding-top:20px}
:root body :is(.offer-flip-reveal,.offer-flip-close){appearance:none;box-sizing:border-box;font:inherit;font-size:.9375rem;line-height:1.5;font-weight:500;letter-spacing:0;color:var(--bronze-text);background:none;border:0;border-radius:0;padding:10px 0;min-height:44px;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
:root body :is(.offer-flip-direct,.offer-flip-link){display:block;box-sizing:border-box;min-height:44px;padding:10px 0;font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:0;color:var(--espresso);text-decoration:none;border-bottom:1px solid var(--bronze)}
:root body :is(.offer-flip-reveal,.offer-flip-close,.offer-flip-direct,.offer-flip-link):hover{color:var(--bronze-text)}
:root body :is(.offer-flip-reveal,.offer-flip-close,.offer-flip-direct,.offer-flip-link):focus-visible{outline:2px solid var(--bronze);outline-offset:5px}
:root body .offer-flip-back-label{display:none;font-size:var(--type-editorial-category);font-weight:600;line-height:1.45;letter-spacing:.025em;color:var(--bronze-text);text-transform:uppercase;margin:0 0 20px;hyphens:auto}
:root body .offer-flip-back .offer-keywords{font-size:1rem;line-height:1.55;gap:8px;margin-bottom:0}
:root body .offer-flip-back .offer-flip-actions{gap:4px}
:root body .offer-flip-direct{display:none}
:root body .offer-flip-card [hidden]{display:none!important}
/* Both faces size the card intrinsically, so long lists never clip or need a scroll box. */
:root body .offer-flip-card.is-enhanced .offer-flip-inner{display:grid;grid-template-columns:minmax(0,1fr);height:100%;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.22,.61,.36,1)}
:root body .offer-flip-card.is-enhanced .offer-flip-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden}
:root body .offer-flip-card.is-enhanced .offer-flip-front{min-height:300px;opacity:1;pointer-events:auto}
:root body .offer-flip-card.is-enhanced .offer-flip-back{transform:rotateY(180deg);opacity:0;pointer-events:none;background:var(--cream,#f8f4f0)}
:root body .offer-flip-card.is-enhanced .offer-flip-back-label,:root body .offer-flip-card.is-enhanced .offer-flip-direct{display:block}
:root body .offer-flip-card.is-open .offer-flip-inner{transform:rotateY(180deg)}
:root body .offer-flip-card.is-open .offer-flip-front{opacity:0;pointer-events:none}
:root body .offer-flip-card.is-open .offer-flip-back{opacity:1;pointer-events:auto}
:root body .offer-flip-card:focus-within .offer-flip-face{border-color:var(--bronze)}
@media(max-width:680px){:root body .offer-flip-face{padding:24px 22px}:root body .offer-flip-front .home-offer-name{min-height:0}:root body .offer-flip-card.is-enhanced .offer-flip-front{min-height:270px}}
@media(max-width:400px){:root body .offer-flip-front strong.offer-flip-claim{font-size:1.25rem}}
@media(max-width:340px){:root body .offer-flip-front strong.offer-flip-claim{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){
 :root body .offer-flip-card.is-enhanced .offer-flip-inner{transition:none;transform:none}
 :root body .offer-flip-card.is-enhanced .offer-flip-back{transform:none}
}
/* Deliberate interaction and a quieter hierarchy: service first, supporting claim second. */
:root body .offer-flip-face{position:relative}
:root body .offer-flip-front .offer-flip-name{display:block;box-sizing:border-box;padding-right:40px;margin:0 0 16px;min-height:2.4em;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.2;letter-spacing:-.025em;font-weight:600!important;color:var(--espresso);text-transform:none;text-wrap:balance;word-break:normal;overflow-wrap:normal;hyphens:auto}
:root body .offer-flip-front p.offer-flip-claim{margin:0 0 24px;font-size:1.25rem;font-weight:500;line-height:1.5;letter-spacing:-.015em;color:var(--muted)}
:root body .offer-flip-face :is(.offer-flip-reveal,.offer-flip-close){position:absolute;right:18px;top:18px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;text-decoration:none;color:var(--espresso)}
:root body .offer-flip-face :is(.offer-flip-reveal,.offer-flip-close):hover{color:var(--bronze-text);border-color:var(--bronze)}
:root body .offer-flip-symbol{font-size:1.5rem;font-weight:500;line-height:1}
:root body .offer-flip-back-label{padding-right:44px}
:root body .offer-flip-actions{gap:0}
@media(max-width:680px){:root body .offer-flip-front .offer-flip-name{min-height:0}:root body .offer-flip-front p.offer-flip-claim{font-size:1.125rem}:root body .offer-flip-face :is(.offer-flip-reveal,.offer-flip-close){right:14px;top:14px}}
