/* Position */
.relative{position:relative}
.absolute{position:absolute}
/* Minimal utility CSS (subset of Tailwind used in the project) */
:root{
  --gray-50:#f9fafb;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;
  --indigo-600:#4f46e5;--indigo-800:#3730a3;--blue-500:#3b82f6;--indigo-600-grad:#4f46e5;--green-500:#10b981;--teal-600:#0d9488;--indigo-500:#6366f1;--purple-600:#7c3aed;
  --yellow-50:#fefce8;--yellow-200:#fde68a;--yellow-800:#92400e;--blue-50:#eff6ff;--blue-500-b:#3b82f6;--blue-700:#1d4ed8;--green-50:#ecfdf5;--green-500-b:#10b981;--green-700:#047857;
  --white:#ffffff;--black:#000000;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Noto Sans, "Apple Color Emoji", "Segoe UI Emoji"; background:var(--gray-50); color:var(--gray-900); line-height:1.6}
img{max-width:100%; height:auto; display:block}
a{color:var(--indigo-600); text-decoration:none}
a:hover{color:var(--indigo-800)}

/* Layout helpers */
.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.pt-8{padding-top:2rem}
.pt-2{padding-top:.5rem}
.pb-2{padding-bottom:.5rem}
.pb-3{padding-bottom:.75rem}
.mt-8{margin-top:2rem}
.ml-3{margin-left:.75rem}
.mb-2{margin-bottom:.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}

.grid{display:grid}
.grid-cols-1{grid-template-columns:1fr}
.gap-8{gap:2rem}
.gap-3{gap:.75rem}

.flex{display:flex}
.inline-flex{display:inline-flex}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.space-x-4 > * + *{margin-left:1rem}
.space-x-8 > * + *{margin-left:2rem}
.space-y-1 > * + *{margin-top:.25rem}
.space-y-2 > * + *{margin-top:.5rem}

.h-10{height:2.5rem}
.h-16{height:4rem}
.h-48{height:12rem}
.h-96{height:24rem}
.w-auto{width:auto}
.w-full{width:100%}
.block{display:block}

.rounded-lg{border-radius:.5rem}
.rounded-md{border-radius:.375rem}
.shadow-md{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.06)}
.overflow-hidden{overflow:hidden}
.object-cover{object-fit:cover}

.border{border:1px solid var(--gray-200)}
.border-b{border-bottom:1px solid var(--gray-200)}
.border-t{border-top:1px solid var(--gray-200)}
.border-gray-700{border-color:#374151}
.border-gray-200{border-color:#e5e7eb}
.border-yellow-200{border-color:var(--yellow-200)}
.border-green-500{border-color:var(--green-500-b)}
.border-blue-500{border-color:var(--blue-500-b)}

.hidden{display:none}

/* Colors */
.bg-white{background:var(--white)}
.bg-gray-50{background:var(--gray-50)}
.bg-gray-800{background:var(--gray-800)}
.bg-yellow-50{background:var(--yellow-50)}
.bg-green-50{background:var(--green-50)}
.bg-blue-50{background:var(--blue-50)}

.text-white{color:var(--white)}
.text-white\/90{color:rgba(255,255,255,.9)}
.text-gray-900{color:var(--gray-900)}
.text-gray-700{color:var(--gray-700)}
.text-gray-600{color:var(--gray-600)}
.text-gray-500{color:var(--gray-500)}
.text-gray-300{color:var(--gray-300)}
.text-gray-400{color:#9ca3af}
.text-yellow-800{color:var(--yellow-800)}
.text-green-800{color:var(--green-700)}
.text-green-700{color:var(--green-700)}
.text-blue-800{color:var(--blue-700)}
.text-blue-700{color:var(--blue-700)}
.text-indigo-600{color:var(--indigo-600)}
.text-indigo-800{color:var(--indigo-800)}

/* Typography */
.text-sm{font-size:.875rem}
.text-base{font-size:1rem}
.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}
.text-3xl{font-size:1.875rem}
.text-center{text-align:center}
.text-4xl{font-size:2.25rem}
.text-5xl{font-size:3rem}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}

/* Responsive */
@media (min-width:640px){
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:hidden{display:none}
}
@media (min-width:1024px){
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Gradients used */
.bg-gradient-to-r.from-blue-500.to-indigo-600{background-image:linear-gradient(90deg,var(--blue-500),var(--indigo-600-grad)); color:#fff}
.bg-gradient-to-r.from-green-500.to-teal-600{background-image:linear-gradient(90deg,var(--green-500-b),var(--teal-600)); color:#fff}
.bg-gradient-to-r.from-indigo-500.to-purple-600{background-image:linear-gradient(90deg,var(--indigo-500),var(--purple-600)); color:#fff}

/* Components */
header.bg-white{position:sticky;top:0;z-index:50}
.article-card{transition:transform .2s ease, box-shadow .2s ease}
.article-card:hover{transform:translateY(-4px); box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}
footer a{color:#d1d5db}
footer a:hover{color:#fff}

/* Mobile menu */
#mobile-menu{transition:height .2s ease}

/* Helper containers */
.container{max-width:80rem;margin:0 auto}

/* Utility for rounded sections */
.rounded-section{border-radius:12px}
