/* SSR public pages (blog, contact, CMS) — no Vite index.css */
#root .text-xs{font-size:.75rem;line-height:1rem}
#root .text-sm{font-size:.875rem;line-height:1.25rem}
#root .text-lg{font-size:1.125rem;line-height:1.75rem}
#root .text-2xl{font-size:1.5rem;line-height:2rem}
#root .text-3xl{font-size:1.875rem;line-height:2.25rem}
#root .font-bold{font-weight:700}
#root .font-semibold{font-weight:600}
#root .text-slate-500{color:#64748b}
#root .text-slate-600{color:#475569}
#root .text-slate-700{color:#334155}
#root .text-slate-800{color:#1e293b}
#root .text-slate-900{color:#0f172a}
#root .text-teal-700{color:#0f766e}
#root .text-teal-800{color:#115e59}
#root .hover\:text-teal-900:hover{color:#134e4a}
#root .text-right{text-align:right}
#root .text-center{text-align:center}
#root .leading-relaxed{line-height:1.625}
#root .block{display:block}
#root .flex{display:flex}
#root .flex-wrap{flex-wrap:wrap}
#root .grid{display:grid}
#root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
#root .gap-1{gap:.25rem}
#root .gap-4{gap:1rem}
#root .max-w-3xl{max-width:48rem}
#root .max-w-6xl{max-width:72rem}
#root .mx-auto{margin-inline:auto}
#root .px-2{padding-inline:.5rem}
#root .px-4{padding-inline:1rem}
#root .px-6{padding-inline:1.5rem}
#root .py-6{padding-block:1.5rem}
#root .py-12{padding-block:3rem}
#root .py-16{padding-block:4rem}
#root .pt-10{padding-top:2.5rem}
#root .mb-1{margin-bottom:.25rem}
#root .mb-2{margin-bottom:.5rem}
#root .mb-4{margin-bottom:1rem}
#root .mb-6{margin-bottom:1.5rem}
#root .mb-8{margin-bottom:2rem}
#root .mt-8{margin-top:2rem}
#root .border{border-width:1px;border-style:solid}
#root .border-b{border-bottom-width:1px;border-bottom-style:solid}
#root .border-slate-200{border-color:#e2e8f0}
#root .bg-white{background:#fff}
#root .rounded-xl{border-radius:.75rem}
#root .p-4{padding:1rem}
#root .shadow-sm{box-shadow:0 1px 2px rgba(15,23,42,.06)}
#root .blog-index-list article:last-child{border-bottom:none}
#root .prose-content{color:#334155;line-height:1.75}
#root .prose-content h2{font-size:1.25rem;font-weight:700;color:#0f172a;margin:2rem 0 .75rem}
#root .prose-content h3{font-size:1.1rem;font-weight:600;color:#0f172a;margin:1.5rem 0 .5rem}
#root .prose-content p{margin:0 0 1em}
#root .prose-content ul,#root .prose-content ol{margin:0 0 1em;padding-inline-start:1.25rem}
#root .prose-content li{margin-bottom:.35em}
#root .prose-content a{color:#115e59;text-decoration:underline;text-underline-offset:2px}
#root .prose-content strong{font-weight:700;color:#0f172a}
#root .prose-content table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.875rem}
#root .prose-content th,#root .prose-content td{border:1px solid #e2e8f0;padding:.5rem .65rem;text-align:right;vertical-align:top}
#root .prose-content th{background:#f8fafc;font-weight:600}
#root .prose-content em{font-style:italic}
#root .blog-hero-img,#root .blog-card-img,#root .blog-body-img,#root .blog-body img,#root .prose-content img{max-width:100%;height:auto;display:block}
#root .blog-hero-img,#root .blog-card-img{aspect-ratio:1200/630;object-fit:cover}
#root .tpg-ssr-main,#root main#main-content{max-width:100%;overflow-x:clip}
#root .overflow-hidden{overflow:hidden}
#root .w-full{width:100%;max-width:100%}
#root .h-auto{height:auto}
#root .object-cover{object-fit:cover}
@media(min-width:640px){
  #root .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  #root .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  #root .sm\:px-6{padding-inline:1.5rem}
}
