/* 12steps.nz — SuperCity-style design system (component classes; utilities come from Tailwind CDN) */
body{font-family:Inter,system-ui,-apple-system,sans-serif}
.font-display{font-family:"Plus Jakarta Sans",Inter,sans-serif}
.font-serif{font-family:"Playfair Display",Georgia,serif}
h1,h2,h3{font-family:"Plus Jakarta Sans",Inter,sans-serif}

.container-x{width:100%;max-width:1200px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:768px){.container-x{padding-inline:1.5rem}}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#059669;color:#fff!important;font-weight:600;padding:.7rem 1.3rem;border-radius:.6rem;text-decoration:none;box-shadow:0 1px 3px rgba(2,6,23,.12);transition:background .15s,transform .15s,box-shadow .15s;border:none;cursor:pointer;line-height:1.2}
.btn-primary:hover{background:#047857;transform:translateY(-1px);box-shadow:0 8px 20px rgba(5,150,105,.28);text-decoration:none}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#fbbf24;color:#022c22!important;font-weight:700;padding:.7rem 1.3rem;border-radius:.6rem;text-decoration:none;transition:.15s}
.btn-secondary:hover{background:#f59e0b;text-decoration:none;transform:translateY(-1px)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:.6rem;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.25);transition:.15s}
.btn-ghost:hover{text-decoration:none}

.card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;box-shadow:0 1px 3px rgba(2,6,23,.08),0 1px 2px rgba(2,6,23,.05)}
.shadow-card{box-shadow:0 1px 3px rgba(2,6,23,.10),0 1px 2px rgba(2,6,23,.06)!important}
.shadow-cardHover{box-shadow:0 14px 40px rgba(2,6,23,.16)!important}
.badge{display:inline-flex;align-items:center;background:#f1f5f9;color:#334155;border-radius:9999px;padding:.2rem .65rem;font-size:.72rem;font-weight:600}

.prose-x{color:#334155;max-width:72ch}
.prose-x h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);color:#0f172a;margin:1.5em 0 .4em;font-weight:700;line-height:1.15}
.prose-x h3{font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:1.22rem;color:#0f172a;margin:1.3em 0 .35em;font-weight:700}
.prose-x p{margin:.65em 0;line-height:1.75}
.prose-x a{color:#047857;text-decoration:underline;text-underline-offset:2px}
.prose-x strong{color:#0f172a}

/* page headings outside prose */
h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:#0f172a;line-height:1.15}
h3{font-weight:700;color:#0f172a}

@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{scrollbar-width:none}
/* mobile: stop grid items forcing horizontal overflow + give content breathing room */
body{overflow-x:hidden}
.container-x.grid>*{min-width:0}
.prose-x,.prose-x h1,.prose-x h2,.prose-x h3,.prose-x p,.prose-x li{overflow-wrap:break-word}
@media(max-width:768px){.container-x{padding-inline:1.25rem}}
