/* Offer99 UI only. No text is painted onto any image. */
.offer99-grid h3{font-size:23px;line-height:1.55;margin-bottom:15px;overflow-wrap:anywhere}.offer99-grid .hub4-gift>p{color:#53687c}.offer99-links{display:flex;flex-direction:column;gap:10px;margin-top:auto}.offer99-links .hub4-open{margin-top:0;border:0;font:700 15px system-ui,sans-serif;cursor:pointer}.offer99-links button:disabled{opacity:.45;cursor:default}.offer99-pain .pain-layout{grid-template-columns:1fr;max-width:760px;margin:auto}.hero h1{font-size:clamp(26px,4vw,45px)}.hero-art:empty{display:none}@media(max-width:767px){.hero h1{font-size:27px}.offer99-grid h3{font-size:23px}}

/* O wrap-r1: keep narrow offer headings and action labels evenly wrapped. */
.hub4-hero h1,.offer99-grid h3,.offer99-links .hub4-open{ text-wrap:balance; }

/* Existing category label: retain its text and markup, balance only its lines. */
.hub4-legacy #heading-6{text-wrap:balance;}

/* Respect the explicit phrase boundaries in the design/practice labels. */
.offer99-grid [data-offer-item="design"] h3,.offer99-grid [data-offer-item="practice"] .hub4-open{word-break:keep-all;overflow-wrap:normal;}

/* Wrap-r2: complete word/phrase units separated by wbr; never split their inside. */
.page-shell h2,.offer99-grid h3,.offer99-links .hub4-open{word-break:keep-all;overflow-wrap:normal;}
.offer99-grid h3 .keep{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;}
