/* ===== Tailwind Shim (no-build) for this page =====
   - md breakpoint = 768px
   - Brand red wired to --primary
   - Only utilities used by your markup
   ================================================== */

/* Include padding/border inside declared widths (matches real Tailwind reset) */
*, *::before, *::after { box-sizing: border-box; }

:root{
  --primary:#e63946;
  --tw-bg-opacity:1;
}

/* Reset essentials */
html,body{margin:0;padding:0}

/* Layout / display */
.block{display:block}
.hidden{display:none}
.flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.flex-col{flex-direction:column}
.grid{display:grid}
.container{width:100%;margin-left:auto;margin-right:auto} /* padding comes from .px-4 */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-4{top:1rem}
.left-4{left:1rem}
.right-6{right:1.5rem}
.bottom-6{bottom:1.5rem}
.z-50{z-index:50}
.overflow-hidden{overflow:hidden}

/* Flex/grid helpers */
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}

.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-16{gap:4rem}

/* span helpers used in Contact section */
.col-span-2{grid-column:span 2 / span 2}
@media (min-width:768px){
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Tweak FA “text-xl” icons used in Contact card if needed */
.text-xl{font-size:1.25rem;line-height:1.75rem}
.mt-1{margin-top:.25rem}
.mr-4{margin-right:1rem}  /* already present; keeping for clarity */


/* Spacing (margin/padding) */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-6{margin-top:1.5rem}
.mt-16{margin-top:4rem}
.mt-4{margin-top:1rem}
.mb-16{margin-bottom:4rem}
.mb-8{margin-bottom:2rem}
.mb-6{margin-bottom:1.5rem}
.mb-4{margin-bottom:1rem}
.mb-3{margin-bottom:.75rem}
.ml-2{margin-left:.5rem}
.ml-6{margin-left:1.5rem}
.mr-4{margin-right:1rem}
.mr-3{margin-right:.75rem}

.p-8{padding:2rem}
.p-6{padding:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-8{padding-top:2rem}
.pt-24{padding-top:6rem}

/* Sizing */
.w-full{width:100%}
.h-full{height:100%}
.w-12{width:3rem}
.h-12{height:3rem}
.w-10{width:2.5rem}
.h-10{height:2.5rem}
.w-5{width:1.25rem}
.h-5{height:1.25rem}
.h-64{height:16rem}
.max-h-12{max-height:3rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}

/* Typography */
.text-center{text-align:center}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.italic{font-style:italic}

.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;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}
.leading-tight{line-height:1.25}

.text-white{color:#fff}
.text-gray-400{color:#9ca3af}
.text-gray-600{color:#4b5563}
.text-gray-700{color:#374151}
.text-gray-800{color:#1f2937}
.text-red-400{color:#f87171}
.text-red-500{color:#ef4444}
.text-red-600{color:var(--primary)}

/* Backgrounds (opacity via CSS var like Tailwind) */
.bg-white{background-color:rgba(255,255,255,var(--tw-bg-opacity))}
.bg-gray-50{background-color:#f9fafb}
.bg-gray-100{background-color:#f3f4f6}
.bg-gray-200{background-color:#e5e7eb}
.bg-gray-300{background-color:#d1d5db}
.bg-gray-800{background-color:#1f2937}
.bg-blue-400{background-color:#60a5fa}
.bg-blue-600{background-color:#2563eb}
.bg-blue-700{background-color:#1d4ed8}
.bg-pink-600{background-color:#db2777}
.bg-red-600{background-color:var(--primary)}
.bg-red-700{background-color:#d1303c}
.bg-opacity-10{--tw-bg-opacity:0.1} /* pairs with bg-white */

/* Hover colors */
.hover\:bg-blue-700:hover{background-color:#1d4ed8}
.hover\:bg-blue-800:hover{background-color:#1e40af}
.hover\:bg-blue-500:hover{background-color:#3b82f6}
.hover\:bg-red-700:hover{background-color:#b91c1c}
.hover\:bg-pink-700:hover{background-color:#be185d}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:text-white:hover{color:#fff}
.hover\:underline:hover{text-decoration:underline}

/* Borders */
.border{border-width:1px;border-style:solid;border-color:#e5e7eb}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e7eb}
.border-t{border-top-width:1px;border-top-style:solid;border-top-color:#e5e7eb}
.border-gray-100{border-color:#f3f4f6}
.border-gray-300{border-color:#d1d5db}
.border-gray-700{border-color:#374151}
.border-white{border-color:#fff}

/* Radius / shadow */
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-full{border-radius:9999px}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}

/* Visibility / opacity / transitions */
.opacity-0{opacity:0}
.opacity-100{opacity:1}
.invisible{visibility:hidden}
.visible{visibility:visible}
.transition-all{transition:all .2s ease}
.transition-colors{transition:color .2s ease, background-color .2s ease, border-color .2s ease, fill .2s ease, stroke .2s ease}
.whitespace-nowrap{white-space:nowrap}

/* Object fit */
.object-cover{object-fit:cover}

/* Accessibility */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

/* Backdrop utils (for About cards) */
.backdrop-filter{backdrop-filter:saturate(100%) blur(0)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}

/* Space-between children (space-x / space-y) */
.space-x-4 > :not([hidden]) ~ :not([hidden]){--tw-space-x-rev:0;margin-right:calc(1rem*var(--tw-space-x-rev));margin-left:calc(1rem*(1 - var(--tw-space-x-rev)))}
.space-x-6 > :not([hidden]) ~ :not([hidden]){--tw-space-x-rev:0;margin-right:calc(1.5rem*var(--tw-space-x-rev));margin-left:calc(1.5rem*(1 - var(--tw-space-x-rev)))}
.space-y-1 > :not([hidden]) ~ :not([hidden]){--tw-space-y-rev:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-rev)));margin-bottom:calc(.25rem*var(--tw-space-y-rev))}
.space-y-2 > :not([hidden]) ~ :not([hidden]){--tw-space-y-rev:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-rev)));margin-bottom:calc(.5rem*var(--tw-space-y-rev))}
.space-y-4 > :not([hidden]) ~ :not([hidden]){--tw-space-y-rev:0;margin-top:calc(1rem*(1 - var(--tw-space-y-rev)));margin-bottom:calc(1rem*var(--tw-space-y-rev))}
.space-y-6 > :not([hidden]) ~ :not([hidden]){--tw-space-y-rev:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-rev)));margin-bottom:calc(1.5rem*var(--tw-space-y-rev))}

/* Lists used in Register section */
.list-disc{list-style-type:disc}
.list-inside{list-style-position:inside}

/* Focus ring bits used on inputs */
.focus\:border-red-500:focus{border-color:#ef4444}
.focus\:ring-1:focus{box-shadow:0 0 0 1px rgba(0,0,0,0.0)} /* base */
.focus\:ring-red-500:focus{box-shadow:0 0 0 1px #ef4444}

/* Breakpoint: md (≥768px) */
@media (min-width:768px){
  .md\:block{display:block}
  .md\:hidden{display:none}
  .md\:flex{display:flex}
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:mt-0{margin-top:0}
}
