/** PunisherTN 6.0 — quieter typography, concise homepage, useful footer. */
.skip-link:focus{position:fixed!important;z-index:100000;top:12px;left:12px;width:auto;height:auto;padding:12px 16px;clip:auto!important;clip-path:none;background:#e5dfc5;color:#101210;font:700 .8rem/1 Inter,system-ui,sans-serif;text-decoration:none;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.ptn-state-actions,.ptn-search-form{padding:28px 0;display:flex;gap:12px;flex-wrap:wrap}.ptn-search-form form{width:min(100%,680px);display:flex;gap:8px}.ptn-search-form label{flex:1}.ptn-search-form input[type="search"]{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line);background:#0b0d0e;color:#efede7}.ptn-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.ptn-search-result{min-height:220px;padding:clamp(24px,4vw,42px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.012)}.ptn-search-result>span{color:#8d896f;font-size:.58rem;font-weight:760;letter-spacing:.12em}.ptn-search-result h2{margin:24px 0 12px;font:630 clamp(1.35rem,2.5vw,2rem)/1.08 Inter,system-ui,sans-serif;text-transform:none}.ptn-search-result h2 a{color:#e7e4dc;text-decoration:none}.ptn-search-result p,.ptn-search-empty p{color:#858b87;font-size:.88rem;line-height:1.7}.ptn-search-empty{padding:48px 0;border-top:1px solid var(--line)}
@media(max-width:700px){.ptn-search-results{grid-template-columns:1fr}.ptn-search-form form{flex-direction:column}}

/* A product name should read like a premium asset title, not a billboard. */
.single-product .product-summary h1.product_title {
  max-width: 560px;
  margin: 0 0 12px;
  color: #f0eee8;
  font-family: Inter,system-ui,sans-serif;
  font-size: clamp(1.95rem,2.5vw,2.6rem);
  font-weight: 640;
  letter-spacing: -.032em;
  line-height: 1.08;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.single-product .product-summary p.price,
.single-product .product-summary .price {
  margin-bottom: 26px;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.single-product .product-summary .free-asset-wrap {
  width: auto;
  gap: 8px;
}
.single-product .product-summary .price-free {
  min-height: 30px;
  padding: 7px 10px 6px;
  border: 1px solid rgba(200,192,158,.22);
  border-radius: 3px;
  background: rgba(200,192,158,.055);
  color: #cbc4a6;
  font: inherit;
  letter-spacing: inherit;
}
.single-product .product-summary .free-help { width: 19px; height: 19px; font-size: .62rem; }

/* Keep the homepage message short and let the artwork do the work. */
.ptn-home-banner-copy { max-width: 500px; }
.ptn-home-banner-copy h1 {
  max-width: 500px;
  margin: 8px 0 10px;
  font-size: clamp(2rem,4vw,4rem);
  font-weight: 660;
  letter-spacing: -.045em;
}
.ptn-home-banner-copy p {
  margin-bottom: 17px;
  color: rgba(241,239,232,.72);
  font-size: .88rem;
  letter-spacing: .015em;
}

/* Footer: brand, community, support. */
.site-footer {
  position: relative;
  margin-top: auto;
  overflow: hidden;
  border-top: 1px solid rgba(224,221,207,.12);
  background:
    radial-gradient(circle at 18% 0,rgba(200,192,158,.06),transparent 24rem),
    #07090a;
}
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(112deg,rgba(255,255,255,.008) 0 1px,transparent 1px 10px);
  pointer-events: none;
}
.footer-main,
.footer-bottom { position: relative; z-index: 1; }
.footer-main {
  padding-block: clamp(42px,6vw,72px) 38px;
  display: grid;
  grid-template-columns: minmax(220px,1.1fr) repeat(2,minmax(220px,.9fr));
  align-items: stretch;
  gap: clamp(18px,3vw,34px);
}
.footer-brand {
  min-width: 0;
  padding: 10px 20px 10px 0;
  display: block;
}
.footer-kicker,
.footer-card-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #777c79;
  font-family: Inter,system-ui,sans-serif;
  font-size: .59rem;
  font-weight: 720;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.footer-brand strong {
  margin-top: 13px;
  display: block;
  color: #eeece5;
  font-family: Inter,system-ui,sans-serif;
  font-size: clamp(1.4rem,2.3vw,2rem);
  font-weight: 690;
  letter-spacing: -.025em;
  text-transform: uppercase;
}
.footer-brand p { margin: 7px 0 0; color: #777c79; font-size: .78rem; }
.footer-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(224,221,207,.11);
  border-radius: 7px;
  background: rgba(255,255,255,.018);
  transition: border-color .2s ease,background-color .2s ease,transform .2s ease;
}
.footer-card:hover {
  border-color: rgba(224,221,207,.2);
  background: rgba(255,255,255,.028);
  transform: translateY(-2px);
}
.footer-card-label i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8f9bd8;
  box-shadow: 0 0 0 4px rgba(143,155,216,.08);
}
.footer-card > strong {
  margin-top: 12px;
  display: block;
  color: #dcdad3;
  font-family: Inter,system-ui,sans-serif;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -.015em;
}
.footer-card p { min-height: 38px; margin: 7px 0 14px; color: #7f8480; font-size: .72rem; line-height: 1.55; }
.footer-card a,
.footer-card-muted {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #c9c4ad;
  font-size: .67rem;
  font-weight: 720;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
}
.footer-card a:hover { color: #f0ede2; }
.footer-card-muted { color: #5f6461; }
.footer-bottom {
  min-height: 70px;
  padding-block: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(224,221,207,.09);
}
.footer-nav .menu {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px 18px;
  list-style: none;
}
.footer-nav a {
  color: #898e8a;
  font-family: Inter,system-ui,sans-serif;
  font-size: .64rem;
  letter-spacing: .035em;
}
.footer-nav a:hover { color: #e1ded4; }
.footer-legal { padding: 0; color: #555b58; font-size: .61rem; text-align: right; }

@media (max-width: 900px) {
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-brand { grid-column: 1 / -1; padding-bottom: 4px; }
}
@media (max-width: 620px) {
  .single-product .product-summary h1.product_title { font-size: clamp(1.75rem,8.5vw,2.2rem); line-height: 1.1; }
  .ptn-home-banner-copy h1 { font-size: clamp(1.7rem,8vw,2.45rem); }
  .footer-main { padding-block: 35px 28px; grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; padding-right: 0; }
  .footer-card p { min-height: 0; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 13px; }
  .footer-legal { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-card { transition: none; }
  .footer-card:hover { transform: none; }
}
