/* ============================================================
   NeedETA — Partner / recommended-tools ad cards
   Shared across all pages. Scoped under .ptnr so it never
   collides with page-specific styles. Uses the site's
   "Rooted Warmth" CSS variables with safe fallbacks.
   ============================================================ */
.ptnr{padding:64px 24px;background:transparent}
.ptnr-inner{max-width:1180px;margin:0 auto}
.ptnr-kicker{font-family:var(--sans,'Nunito Sans',system-ui,sans-serif);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary,#c9923d);text-align:center;margin:0 0 10px}
.ptnr-title{font-family:var(--serif,'Literata',Georgia,serif);font-size:clamp(24px,4vw,32px);font-weight:600;color:var(--text,#f1ede1);text-align:center;letter-spacing:-.4px;margin:0 0 8px}
.ptnr-sub{font-family:var(--sans,'Nunito Sans',system-ui,sans-serif);font-size:15px;color:var(--text-muted,#8b8a7c);text-align:center;max-width:560px;margin:0 auto 36px;line-height:1.6}
.ptnr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ptnr-card{display:flex;flex-direction:column;background:var(--surface,rgba(31,36,31,0.62));border:1px solid var(--border,rgba(255,255,255,0.10));border-radius:18px;overflow:hidden;box-shadow:var(--shadow,0 8px 26px rgba(0,0,0,.5));transition:transform .25s cubic-bezier(.34,1.2,.64,1),box-shadow .25s ease,border-color .25s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ptnr-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg,0 30px 76px rgba(0,0,0,.72));border-color:var(--primary,#c9923d)}
.ptnr-shot{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface-2,rgba(15,18,15,0.62))}
.ptnr-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .4s ease}
.ptnr-card:hover .ptnr-shot img{transform:scale(1.04)}
.ptnr-tag{position:absolute;top:12px;left:12px;font-family:var(--sans,'Nunito Sans',sans-serif);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(20,22,18,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.ptnr-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.ptnr-name{font-family:var(--serif,'Literata',Georgia,serif);font-size:19px;font-weight:600;color:var(--text,#f1ede1);margin-bottom:7px;letter-spacing:-.2px}
.ptnr-desc{font-family:var(--sans,'Nunito Sans',sans-serif);font-size:14px;line-height:1.6;color:var(--text-body,rgba(237,233,222,0.78));margin-bottom:18px;flex:1}
.ptnr-cta{font-family:var(--sans,'Nunito Sans',sans-serif);font-size:14px;font-weight:800;color:var(--primary,#c9923d);display:inline-flex;align-items:center;gap:6px;transition:gap .22s ease,color .22s ease}
.ptnr-card:hover .ptnr-cta{gap:11px;color:var(--primary-dark,#dcb26c)}
@media(max-width:880px){.ptnr-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}.ptnr{padding:48px 20px}}
