/* GRINS offer only. Existing Rauschwerk typography, cream, ink and red ticker stay in use. */
body.grins-offer .grins-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; }
body.grins-offer .grins-secondary { color: var(--cream); font-size: 14px; text-underline-offset: 4px; }
body.grins-offer .grins-preview { margin: 0; background: #fffbed; color: #151914; border: 1px solid #d8dfd5; }
body.grins-offer .grins-preview-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 20px 24px; background: #ffe21f; color: #151914; font-size: 14px; }
body.grins-offer .grins-preview-head strong { font-size: 24px; letter-spacing: -.04em; }
body.grins-offer .grins-preview-title { font-family: var(--serif); font-size: 30px; line-height: 1.2; margin: 24px 24px 16px; color: #123d32; }
body.grins-offer .grins-preview-tabs { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 24px 18px; font-size: 11px; }
body.grins-offer .grins-preview-tabs span { border: 1px solid #235c4d; padding: 5px 8px; }
body.grins-offer .grins-preview-tabs span:first-child { background: #123d32; color: white; }
body.grins-offer .grins-preview ul { margin: 0; padding: 0 24px; list-style: none; }
body.grins-offer .grins-preview li { display: grid; grid-template-columns: 55px minmax(0,1fr); gap: 14px; padding: 20px 0; border-top: 1px solid #d8dfd5; }
body.grins-offer .grins-preview li a { font-size: 15px; line-height: 1.5; font-weight: 700; overflow-wrap: anywhere; }
body.grins-offer .grins-preview li p { margin-top: 8px; color: #526058; font-size: 12px; line-height: 1.5; }
body.grins-offer .grins-date { color: #235c4d; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
body.grins-offer .grins-date small { display: block; margin-top: 4px; font-size: 11px; font-weight: 400; }
body.grins-offer .grins-preview figcaption { padding: 18px 24px; border-top: 1px solid #d8dfd5; font-size: 11px; line-height: 1.7; color: #526058; }
body.grins-offer .grins-preview figcaption a { display: block; color: #123d32; font-weight: 700; }
body.grins-offer .grins-lede { max-width: 70ch; font-size: 17px; line-height: 1.7; margin: 22px 0 30px; }
body.grins-offer .grins-examples, body.grins-offer .grins-delivery, body.grins-offer .grins-prices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin-top: 32px; }
body.grins-offer .grins-examples article { border-top: 3px solid var(--red); padding-top: 24px; }
body.grins-offer .grins-examples h3, body.grins-offer .grins-three h3, body.grins-offer .grins-delivery h3, body.grins-offer .grins-steps h3 { font: 27px/1.25 var(--serif); letter-spacing: -.02em; }
body.grins-offer .grins-examples p:not(.eyebrow), body.grins-offer .grins-three p, body.grins-offer .grins-delivery p, body.grins-offer .grins-steps p { margin: 16px 0; font-size: 16px; line-height: 1.75; }
body.grins-offer .grins-examples a { font-size: 14px; font-weight: 600; text-underline-offset: 4px; }
body.grins-offer .grins-three { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 32px; }
body.grins-offer .grins-delivery article { border-top: 1px solid var(--line); padding-top: 22px; }
body.grins-offer .grins-boundary { max-width: 80ch; margin-top: 32px; border-left: 3px solid var(--red); padding-left: 20px; font-size: 15px; line-height: 1.75; }
body.grins-offer .grins-steps { list-style: decimal-leading-zero; padding-left: 36px; margin: 32px 0; max-width: 82ch; }
body.grins-offer .grins-steps li { padding: 16px 0 16px 12px; border-bottom: 1px solid var(--line); }
body.grins-offer .grins-steps li::marker { font: 21px var(--serif); color: var(--red); }
body.grins-offer .grins-prices article { padding-top: 24px; border-top: 1px solid #655a49; }
body.grins-offer .grins-prices h3 { font: 28px/1.25 var(--serif); }
body.grins-offer .grins-amount { margin: 18px 0; font: 48px/1.2 var(--serif); letter-spacing: -.04em; }
body.grins-offer .grins-amount span { font: 15px/1.5 var(--sans); letter-spacing: normal; }
body.grins-offer .grins-prices p:not(.grins-amount) { font-size: 16px; line-height: 1.75; max-width: 52ch; }
body.grins-offer .of-price-section .shell>p:not(.eyebrow) { margin-top: 24px; font-size: 14px; line-height: 1.75; max-width: 86ch; }
body.grins-offer .of-price-section .button { margin-top: 28px; }
body.grins-offer .grins-faq { margin-top: 30px; max-width: 88ch; }
body.grins-offer .grins-faq details { border-top: 1px solid var(--line); padding: 20px 0; }
body.grins-offer .grins-faq summary { cursor: pointer; font-size: 17px; line-height: 1.5; font-weight: 600; }
body.grins-offer .grins-faq p { margin-top: 16px; font-size: 16px; line-height: 1.8; }
body.grins-offer :focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
@media(max-width:820px) {
  body.grins-offer .grins-three { grid-template-columns: 1fr; gap: 16px; }
}
@media(max-width:600px) {
  body.grins-offer .grins-examples, body.grins-offer .grins-delivery, body.grins-offer .grins-prices { grid-template-columns: 1fr; gap: 28px; }
  body.grins-offer .grins-actions { align-items: flex-start; flex-direction: column; }
  body.grins-offer .grins-actions .button { white-space: normal; text-align: left; }
  body.grins-offer .grins-preview-head, body.grins-offer .grins-preview figcaption { padding-inline: 18px; }
  body.grins-offer .grins-preview ul { padding-inline: 18px; }
  body.grins-offer .grins-preview-title { margin-inline: 18px; }
  body.grins-offer .grins-preview-tabs { padding-inline: 18px; }
}
