/* IM Powerhouse — Services Cards — Front-end CSS */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Serif+Display&display=swap');

.impsv-section,.impsv-section *{box-sizing:border-box;margin:0;padding:0;}
.impsv-section a{text-decoration:none;color:inherit;}
.impsv-section ul{list-style:none;}

/* ── SECTION ── */
.impsv-section{padding:5rem 2rem;font-family:'DM Sans',sans-serif;}
.impsv-inner{max-width:1100px;margin:0 auto;}
.impsv-inner-wide{max-width:1200px;}

/* ── HEADER ── */
.impsv-header{text-align:center;margin-bottom:3.5rem;}
.impsv-eyebrow{display:inline-flex;align-items:center;gap:6px;background:#dbeafe;color:#1e40af;padding:4px 14px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem;}
.impsv-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#2563EB;}
.impsv-title{font-family:'DM Serif Display',serif;font-size:clamp(26px,3.5vw,38px);font-weight:400;color:#0f172a;line-height:1.2;margin-bottom:.75rem;}
.impsv-sub{font-size:15px;color:#64748b;line-height:1.7;max-width:540px;margin:0 auto;}

/* ── CONTROLS (full-page mode) ── */
.impsv-controls{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0;}
.impsv-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px;}
.impsv-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:#94a3b8;pointer-events:none;}
.impsv-search{width:100%;height:38px;padding:0 12px 0 34px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;}
.impsv-search:focus{border-color:#2563EB;box-shadow:0 0 0 3px rgba(37,99,235,.1);}
.impsv-tabs-inline{display:flex;gap:5px;flex-wrap:wrap;}
.impsv-results-count{font-size:12px;color:#94a3b8;margin-left:auto;white-space:nowrap;}

/* ── TABS ── */
.impsv-tabs{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:2.5rem;flex-wrap:wrap;}
.impsv-tab{padding:7px 18px;border-radius:9999px;font-size:13px;font-weight:500;color:#64748b;background:#f1f5f9;border:none;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.impsv-tab:hover{background:#e2e8f0;color:#0f172a;}
.impsv-tab.active{background:#2563EB;color:#fff;}

/* ── GRID ── */
.impsv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.impsv-cols-1{grid-template-columns:1fr;}
.impsv-cols-2{grid-template-columns:repeat(2,1fr);}
.impsv-cols-3{grid-template-columns:repeat(3,1fr);}

/* ── CARD ── */
.impsv-card{border:.5px solid #e2e8f0;border-radius:14px;padding:1.75rem;background:#fff;position:relative;overflow:hidden;transition:all .25s;display:flex;flex-direction:column;}
.impsv-card:hover{border-color:#93c5fd;box-shadow:0 8px 32px rgba(37,99,235,.08);transform:translateY(-3px);}
.impsv-card.featured{border-color:#2563EB;background:linear-gradient(145deg,#f8faff 0%,#eef3ff 100%);}
.impsv-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563EB,#60a5fa);}
.impsv-card.hidden{display:none;}

/* ── BADGE ── */
.impsv-badge{position:absolute;top:1.25rem;right:1.25rem;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;}
.impsv-badge-hot{background:#2563EB;color:#fff;}
.impsv-badge-new{background:#16a34a;color:#fff;}
.impsv-badge-pop{background:#f59e0b;color:#fff;}

/* ── ICON ── */
.impsv-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0;}
.impsv-icon svg{width:22px;height:22px;}

/* ── CARD CONTENT ── */
.impsv-rating{display:flex;align-items:center;gap:4px;margin-bottom:.75rem;}
.impsv-stars{color:#fbbf24;font-size:12px;letter-spacing:1px;}
.impsv-rating-count{font-size:11px;color:#94a3b8;}
.impsv-card-name{font-size:17px;font-weight:700;color:#0f172a;margin-bottom:.5rem;line-height:1.3;}
.impsv-card-desc{font-size:13px;color:#64748b;line-height:1.65;margin-bottom:1.25rem;flex:1;}
.impsv-features{display:flex;flex-direction:column;gap:6px;margin-bottom:1.5rem;}
.impsv-feat{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:#475569;line-height:1.5;}
.impsv-feat-check{width:16px;height:16px;border-radius:50%;background:#dcfce7;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.impsv-feat-check svg{width:9px;height:9px;}

/* ── PRICE ROW ── */
.impsv-price{padding-top:1.25rem;border-top:.5px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;}
.impsv-price-left{display:flex;align-items:baseline;gap:3px;}
.impsv-price-from{font-size:11px;color:#94a3b8;}
.impsv-price-num{font-family:'DM Serif Display',serif;font-size:26px;color:#0f172a;line-height:1;}
.impsv-price-unit{font-size:12px;color:#94a3b8;}
.impsv-price-btn{display:inline-flex;align-items:center;gap:5px;padding:0 14px;height:34px;border-radius:7px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;white-space:nowrap;flex-shrink:0;font-family:'DM Sans',sans-serif;border:none;cursor:pointer;}
.impsv-price-btn-p{background:#2563EB;color:#fff;}
.impsv-price-btn-p:hover{background:#1d4ed8;color:#fff;}
.impsv-price-btn-g{background:#f1f5f9;color:#475569;}
.impsv-price-btn-g:hover{background:#e2e8f0;}

/* ── CTA ── */
.impsv-cta{text-align:center;margin-top:2.5rem;}
.impsv-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:0 28px;height:48px;border-radius:9px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;font-family:'DM Sans',sans-serif;border:1.5px solid #2563EB;color:#2563EB;background:transparent;cursor:pointer;}
.impsv-cta-btn:hover{background:#dbeafe;color:#1e40af;}

/* ── EMPTY STATE ── */
.impsv-empty{text-align:center;padding:4rem 2rem;color:#94a3b8;}
.impsv-empty svg{display:block;margin:0 auto 1rem;}
.impsv-empty p{font-size:14px;margin-bottom:1rem;}
.impsv-reset-btn{padding:0 18px;height:36px;border-radius:7px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;background:#f1f5f9;border:none;cursor:pointer;color:#475569;}
.impsv-reset-btn:hover{background:#e2e8f0;}

/* ── REVEAL ANIMATION ── */
.impsv-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;}
.impsv-reveal.visible{opacity:1;transform:translateY(0);}
.impsv-d1{transition-delay:.06s;} .impsv-d2{transition-delay:.12s;}
.impsv-d3{transition-delay:.18s;} .impsv-d4{transition-delay:.24s;}
.impsv-d5{transition-delay:.30s;} .impsv-d6{transition-delay:.36s;}

/* ── RESPONSIVE ── */
@media(max-width:960px){.impsv-grid,.impsv-cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){
  .impsv-section{padding:3rem 1.25rem;}
  .impsv-grid,.impsv-cols-2,.impsv-cols-3{grid-template-columns:1fr;}
  .impsv-controls{flex-direction:column;align-items:stretch;}
  .impsv-search-wrap{max-width:none;}
  .impsv-results-count{margin-left:0;}
}
