
/* Minimal Tailwind-like CSS for Jazak Buildout (utilities used in index.html + home.html)
   NOTE: This is a lean substitute so you can ship without the CDN warning.
   It covers ONLY the classes used in your pages. */

:root{
  --brand-blue:#043F6C;
  --brand-gold:#dfbf72;
}

/* Reset-ish */
*{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";color:#111827;background:#fff}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Container widths */
.max-w-7xl{max-width:80rem}
.max-w-6xl{max-width:72rem}
.max-w-5xl{max-width:64rem}
.max-w-4xl{max-width:56rem}
.max-w-3xl{max-width:48rem}
.max-w-2xl{max-width:42rem}
.max-w-md{max-width:28rem}
.max-w-full{max-width:100%}
.mx-auto{margin-left:auto;margin-right:auto}

/* Layout */
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.text-center{text-align:center}
.text-left{text-align:left}

/* Positioning */
.sticky{position:sticky}
.top-0{top:0}
.relative{position:relative}
.absolute{position:absolute}
.z-50{z-index:50}

/* Sizing */
.h-10{height:2.5rem}
.h-16{height:4rem}
.h-40{height:10rem}
.h-48{height:12rem}
.h-52{height:13rem}
.h-56{height:14rem}
.h-64{height:16rem}
.h-70{height:17.5rem}
.h-72{height:18rem}
.h-full{height:100%}
.w-9{width:2.25rem}
.w-10{width:2.5rem}
.w-16{width:4rem}
.w-24{width:6rem}
.w-32{width:8rem}
.w-36{width:9rem}
.w-40{width:10rem}
.w-48{width:12rem}
.w-full{width:100%}
.w-screen{width:100vw}
.max-w-md{max-width:28rem}

/* Spacing */
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}

.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}

.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}

/* Grid columns */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-semibold{font-weight:600}
.uppercase{text-transform:uppercase}
.tracking-tight{letter-spacing:-0.015em}

/* Colors */
.text-gray-900{color:#111827}
.text-gray-800{color:#1f2937}
.text-gray-700{color:#374151}
.text-gray-600{color:#4b5563}
.text-gray-500{color:#6b7280}
.text-white{color:#fff}
.text-\[color\:var\(--brand-blue\)\]{color:var(--brand-blue)}
.text-\[color\:var\(--brand-gold\)\]{color:var(--brand-gold)}

.bg-white{background:#fff}
.bg-gray-50{background:#f9fafb}
.bg-\[\#043F6C\]{background:#043F6C}
.bg-white\/70{background:rgba(255,255,255,.7)}
.bg-white\/90{background:rgba(255,255,255,.9)} /* escaped class is .bg-white\/90 in HTML */

/* Borders & Radius */
.border{border-width:1px;border-style:solid;border-color:#e5e7eb}
.border-gray-200{border-color:#e5e7eb}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-lg{border-radius:.5rem}
.rounded-full{border-radius:9999px}
.rounded{border-radius:.25rem}

/* Shadows */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}

/* Buttons & transitions */
.transition{transition:all .2s ease}
.transition-all{transition:all .2s ease}
.transition-transform{transition:transform .2s ease}
.duration-200{transition-duration:.2s}
.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}
.hover\:opacity-90:hover{opacity:.9}
.hover\:underline:hover{text-decoration:underline}

/* Group hover scale */
.group{position:relative}
.group:hover .group-hover\:scale-\[1\.02\]{transform:scale(1.02);transition:transform .2s ease}

/* Object fit */
.object-cover{object-fit:cover}
.object-contain{object-fit:contain}
.object-center{object-position:center}

/* Utilities */
.uppercase{text-transform:uppercase}
.leading-tight{line-height:1.25}
.backdrop-blur{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

.text-\[\#043F6C\]{color:#043F6C}

/* Rings (approximate) */
.ring-2{box-shadow:0 0 0 2px rgba(59,130,246,.5)}
.ring-\[color\:var\(--brand-blue\)\]{box-shadow:0 0 0 2px var(--brand-blue)}

/* Focus rings for inputs */
input:focus, textarea:focus, select:focus{
  outline:0;
  box-shadow:0 0 0 2px var(--brand-gold);
}

/* Links styled as buttons */
.btn-blue{background:var(--brand-blue);color:#fff;border-radius:.75rem;padding:.75rem 1.25rem;font-weight:600;display:inline-block}

/* Responsive breakpoints */
@media (min-width:640px){ /* sm */
  .sm\:text-base{font-size:1rem;line-height:1.5rem}
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .sm\:text-2xl{font-size:1.5rem;line-height:2rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .sm\:text-5xl{font-size:3rem;line-height:1}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:py-20{padding-top:5rem;padding-bottom:5rem}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:col-span-2{grid-column:span 2 / span 2}
  .sm\:inline-flex{display:inline-flex}
  .sm\:hidden{display:none}
  .sm\:block{display:block}
}
@media (min-width:768px){ /* md */
  .md\:flex{display:flex}
  .md\:hidden{display:none}
}
@media (min-width:1024px){ /* lg */
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
/* Borders of brand color via arbitrary value classes (escaped) */
.border-\[color\:var\(--brand-blue\)\]{border-color:var(--brand-blue)}
.text-\[\#244D63\]{color:#244D63}

/* Extra helpers used in snippets */
.hover\:bg-gray-50:hover{background:#f9fafb}
.border-b{border-bottom:1px solid #e5e7eb}
.border-t{border-top:1px solid #e5e7eb}
.bg-white-90{background:rgba(255,255,255,.9)}
