/* Critical layout -- works even if the pinned Tailwind runtime is slow to load */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; }
body, button, input, a { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
h1, h2, h3 { font-family: Georgia, "Iowan Old Style", "Times New Roman", serif; }
img, video, svg { max-width: 100%; height: auto; }

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 0.75rem;
}

.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.logo-mark {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.35rem;
  background: #1a3a2a;
  box-shadow: inset 0 0 0 2px #d8c27a;
}

.dark .logo-mark {
  background: #d8c27a;
  box-shadow: inset 0 0 0 2px #1a3a2a;
}

.count-box {
  display: inline-flex;
  min-width: 1.75rem;
  justify-content: center;
  border-radius: 0.3rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.15rem 0.35rem;
}

.whatsapp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  border-radius: 999px;
  background: #1f8a4c;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  padding: 0.85rem 1.15rem;
  box-shadow: 0 8px 20px rgba(31, 138, 76, 0.25);
}

.whatsapp-btn:hover { background: #17753e; }
.whatsapp-btn.compact { width: auto; padding: 0.5rem 0.9rem; font-size: 0.75rem; box-shadow: none; }
.whatsapp-btn.light { background: #25d366; color: #052e16; width: auto; }
.whatsapp-btn.light:hover { background: #1ebe5a; }

@media (min-width: 640px) {
  .whatsapp-btn { width: auto; }
}

.wa-icon {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 55%, #fff 0 28%, transparent 29%),
    #fff;
  position: relative;
}

.wa-icon::after {
  content: "";
  position: absolute;
  right: 0.05rem;
  bottom: 0.05rem;
  width: 0.28rem;
  height: 0.28rem;
  background: #fff;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.stat-pill {
  border: 1px solid rgba(26, 58, 42, 0.15);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0.7rem;
  padding: 0.65rem 0.75rem;
}

.dark .stat-pill {
  border-color: rgba(216, 194, 122, 0.2);
  background: rgba(18, 25, 22, 0.8);
}

.resume-stack {
  position: relative;
  min-height: 280px;
}

.resume-card {
  position: absolute;
  width: min(100%, 260px);
  height: 300px;
  border-radius: 0.75rem;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 16px 40px rgba(20, 38, 28, 0.12);
  border: 1px solid rgba(20, 38, 28, 0.08);
}

.dark .resume-card { background: #1a221e; border-color: rgba(255,255,255,0.06); }

.resume-card .bar {
  height: 2.4rem;
  border-radius: 0.35rem;
  background: #1a3a2a;
  margin-bottom: 0.9rem;
}
.resume-card .bar.teal { background: #2f6f62; }
.resume-card .bar.gold { background: #b89a4a; }

.lines { display: grid; gap: 0.45rem; }
.lines span {
  display: block;
  height: 0.45rem;
  border-radius: 999px;
  background: #e7e1d6;
}
.dark .lines span { background: #2c3832; }

.card-a { left: 0; top: 12px; transform: rotate(-6deg); }
.card-b { left: 18%; top: 0; transform: rotate(2deg); z-index: 2; }
.card-c { right: 0; top: 20px; transform: rotate(7deg); }

@media (min-width: 768px) {
  .resume-stack { min-height: 340px; }
  .resume-card { width: 250px; height: 320px; }
}

.template-tile {
  border: 1px solid rgba(20, 38, 28, 0.1);
  background: #f6f3ee;
  border-radius: 0.9rem;
  padding: 0.75rem;
}

.dark .template-tile {
  background: #0f1412;
  border-color: rgba(255,255,255,0.08);
}

.template-tile h3 {
  margin: 0.7rem 0 0.25rem;
  font-size: 1rem;
}

.template-tile p {
  margin: 0;
  color: #57534e;
  font-size: 0.8rem;
  line-height: 1.45;
}

.dark .template-tile p { color: #a8a29e; }

.preview {
  height: 7.5rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px solid rgba(20, 38, 28, 0.08);
}

.dark .preview { background: #1a221e; }

.preview-pro { background: linear-gradient(#1a3a2a 0 28%, #fff 28%); }
.preview-ats { background: linear-gradient(#fff 0 18%, #e8efe9 18% 22%, #fff 22%); }
.preview-mod { background: linear-gradient(90deg, #2f6f62 0 28%, #fff 28%); }
.preview-min { background: linear-gradient(#f3efe6 0 100%); box-shadow: inset 18px 22px 0 0 #fff, inset 18px 30px 0 0 #e7e1d6; }
.preview-cre { background: linear-gradient(135deg, #b89a4a 0 35%, #fff 35%); }
.preview-exec { background: linear-gradient(#111827 0 22%, #f8f5ef 22%); }

.dark .preview-pro { background: linear-gradient(#1a3a2a 0 28%, #1a221e 28%); }
.dark .preview-ats { background: linear-gradient(#1a221e 0 18%, #2c3832 18% 22%, #1a221e 22%); }
.dark .preview-mod { background: linear-gradient(90deg, #2f6f62 0 28%, #1a221e 28%); }
.dark .preview-min { background: #1a221e; }
.dark .preview-cre { background: linear-gradient(135deg, #b89a4a 0 35%, #1a221e 35%); }
.dark .preview-exec { background: linear-gradient(#0b1220 0 22%, #1a221e 22%); }

.step-card {
  border: 1px solid rgba(20, 38, 28, 0.1);
  background: #fff;
  border-radius: 0.9rem;
  padding: 1rem;
}

.dark .step-card {
  background: #121916;
  border-color: rgba(255,255,255,0.08);
}

.step-num {
  display: inline-block;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: #b89a4a;
  font-weight: 700;
}

.step-card h3 {
  margin: 0.4rem 0 0.35rem;
  font-size: 1.05rem;
}

.step-card p {
  margin: 0;
  color: #57534e;
  line-height: 1.5;
}

.dark .step-card p { color: #a8a29e; }
