/* Zip shortcut block (tpn/zip-shortcut), option B "Good to know cousin", Emily 2026-10-04. Uses the callout tokens. */
.tpn-zipcut{margin:var(--callout-space,48px) 0;padding:var(--callout-padding);background:var(--callout-bg);border:var(--callout-border);border-radius:var(--callout-radius);box-shadow:var(--callout-shadow);display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:28px;align-items:center}
.tpn-article.tpn-prose>.tpn-zipcut,.tpn-article.tpn-prose>.tpn-zipcut+*{margin-top:var(--flow-block)!important}
.tpn-article.tpn-prose>.tpn-zipcut{margin-bottom:0!important}
.tpn-zipcut .tpn-zipcut__art{color:var(--callout-art-color);display:flex;justify-content:center;margin:0}
.tpn-zipcut .tpn-zipcut__art svg{height:160px;width:auto;display:block}
.tpn-zipcut [hidden]{display:none!important}
.tpn-zipcut .tpn-zipcut__eb{font:var(--callout-eyebrow-font);letter-spacing:var(--callout-eyebrow-tracking);text-transform:uppercase;color:var(--callout-eyebrow-color);margin:0 0 var(--callout-eyebrow-gap)}
.tpn-zipcut .tpn-zipcut__t{font:400 var(--callout-title-size)/var(--callout-title-line-height) var(--font-display);color:var(--tpn-dark-green);margin:0 0 var(--callout-title-gap);text-wrap:balance}
.tpn-zipcut .tpn-zipcut__b{font-size:var(--callout-body-size);line-height:var(--callout-body-line-height);margin:0 0 18px}
.tpn-zipcut .tpn-zipcut__form{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.tpn-zipcut .tpn-zipcut__in{flex:0 1 210px;min-width:0;min-height:var(--btn-min-height,48px);margin:0;border:1px solid var(--tpn-dark-green);border-radius:999px;padding:0 16px 0 44px;font:700 22px/1 var(--font-display);letter-spacing:.06em;color:var(--tpn-dark-green);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='18' viewBox='0 0 16 18'%3E%3Cpath d='M8 17s6-5.6 6-10.2A6 6 0 0 0 2 6.8C2 11.4 8 17 8 17z' fill='none' stroke='%23235327' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='7' r='2.2' fill='none' stroke='%23235327' stroke-width='1.6'/%3E%3C/svg%3E") 18px center no-repeat}
.tpn-zipcut .tpn-zipcut__in::placeholder{font:400 17px/1 var(--font-body);letter-spacing:0;color:var(--tpn-muted-small);opacity:1}
.tpn-zipcut .tpn-zipcut__in:focus{outline:2px solid var(--tpn-plum);outline-offset:2px}
.tpn-zipcut .tpn-zipcut__btn{min-height:var(--btn-min-height,48px);padding:var(--btn-padding,12px 24px);border-radius:var(--btn-radius,7px);border:var(--btn-border,1px solid #235327);background:var(--tpn-btn-lime);color:var(--tpn-dark-green);font:400 var(--btn-size,12px)/var(--btn-line-height,18px) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color var(--btn-motion)}
.tpn-zipcut .tpn-zipcut__btn:hover{background:var(--btn-lime-hover-fill);color:var(--tpn-dark-green)}
.tpn-zipcut .tpn-zipcut__btn:focus-visible,.tpn-zipcut .tpn-zipcut__link:focus-visible{outline:2px solid var(--tpn-plum);outline-offset:3px}
.tpn-zipcut .tpn-zipcut__err{flex-basis:100%;margin:2px 0 0;font-size:16px;line-height:1.4;color:var(--tpn-caution)}
.tpn-zipcut .tpn-zipcut__acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.tpn-zipcut .tpn-zipcut__link{background:none;border:0;padding:8px 0;font:400 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--link,#652199);cursor:pointer;white-space:nowrap}
.tpn-zipcut .tpn-zipcut__link:hover{color:var(--tpn-plum);text-decoration:underline}
@media (max-width:767px){
  .tpn-zipcut{grid-template-columns:minmax(0,1fr);padding:var(--callout-padding-mobile);border-radius:var(--callout-radius-mobile);row-gap:20px}
  .tpn-zipcut .tpn-zipcut__art svg{height:110px}
  .tpn-zipcut :is(.tpn-zipcut__eb,.tpn-zipcut__t){text-align:center}
  .tpn-zipcut .tpn-zipcut__t{font-size:var(--callout-title-size-mobile)}
  .tpn-zipcut .tpn-zipcut__b{font-size:var(--callout-body-size-mobile)}
  .tpn-zipcut .tpn-zipcut__form{display:grid;grid-template-columns:minmax(0,1fr)}
  .tpn-zipcut .tpn-zipcut__btn{font-size:var(--btn-size-mobile,14px);letter-spacing:var(--btn-tracking-mobile,1.5px)}
}
