/*
 * landing.css
 *
 * Hand-authored, static replacement for the Tailwind Play CDN
 * (https://cdn.tailwindcss.com) previously loaded on public/landing.html.
 *
 * This file covers ONLY the utility classes actually used on that page
 * (verified by extracting every class="..." token from the file). It is
 * NOT a general-purpose Tailwind build -- it deliberately does not
 * include color-palette utilities, since this page handles all color,
 * gradient, and background styling via inline style="" attributes
 * referencing the CSS custom properties already defined in landing.html's
 * own <style> block (--ink, --paper, --steel, etc.).
 *
 * Values match Tailwind's default spacing scale (1 unit = 0.25rem) and
 * default breakpoints (sm: 640px, md: 768px, lg: 1024px) exactly, so
 * visual output is equivalent to what the CDN was producing.
 *
 * Because this is a plain static CSS file with no build step or new npm
 * dependency, it cannot silently break the app's build the way a new
 * compiler/toolchain dependency could.
 */

/* ---------- Base ---------- */
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

/* ---------- Display ---------- */
.block{display:block;}
.hidden{display:none;}
.flex{display:flex;}
.inline-flex{display:inline-flex;}
.grid{display:grid;}

/* ---------- Position ---------- */
.absolute{position:absolute;}
.relative{position:relative;}
.sticky{position:sticky;}
.inset-0{top:0;right:0;bottom:0;left:0;}
.top-0{top:0;}
.z-50{z-index:50;}

/* ---------- Overflow ---------- */
.overflow-hidden{overflow:hidden;}

/* ---------- Flex / Grid layout ---------- */
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.shrink-0{flex-shrink:0;}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.justify-end{justify-content:flex-end;}
.justify-start{justify-content:flex-start;}

/* ---------- Gap ---------- */
.gap-px{gap:1px;}
.gap-2{gap:0.5rem;}
.gap-2\.5{gap:0.625rem;}
.gap-3{gap:0.75rem;}
.gap-4{gap:1rem;}
.gap-8{gap:2rem;}
.gap-10{gap:2.5rem;}
.gap-12{gap:3rem;}
.gap-14{gap:3.5rem;}
.gap-x-10{column-gap:2.5rem;}
.gap-y-12{row-gap:3rem;}

/* ---------- Sizing ---------- */
.w-2{width:0.5rem;}
.w-2\.5{width:0.625rem;}
.w-8{width:2rem;}
.w-9{width:2.25rem;}
.w-12{width:3rem;}
.w-full{width:100%;}
.h-2{height:0.5rem;}
.h-2\.5{height:0.625rem;}
.h-8{height:2rem;}
.h-9{height:2.25rem;}
.h-12{height:3rem;}
.h-16{height:4rem;}
.max-w-6xl{max-width:72rem;}
.max-w-\[48ch\]{max-width:48ch;}
.max-w-\[50ch\]{max-width:50ch;}
.max-w-\[52ch\]{max-width:52ch;}
.max-w-\[62ch\]{max-width:62ch;}
.max-w-\[85\%\]{max-width:85%;}
.max-w-\[92\%\]{max-width:92%;}

/* ---------- Spacing: margin ---------- */
.mx-auto{margin-left:auto;margin-right:auto;}
.ml-3{margin-left:0.75rem;}
.mt-1{margin-top:0.25rem;}
.mt-2{margin-top:0.5rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mt-8{margin-top:2rem;}
.mt-9{margin-top:2.25rem;}
.mt-10{margin-top:2.5rem;}
.mt-12{margin-top:3rem;}
.mt-14{margin-top:3.5rem;}
.mb-1\.5{margin-bottom:0.375rem;}
.mb-4{margin-bottom:1rem;}

/* ---------- Spacing: padding ---------- */
.p-3{padding:0.75rem;}
.p-5{padding:1.25rem;}
.p-7{padding:1.75rem;}
.p-8{padding:2rem;}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem;}
.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;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem;}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem;}
.py-16{padding-top:4rem;padding-bottom:4rem;}
.py-20{padding-top:5rem;padding-bottom:5rem;}
.pt-16{padding-top:4rem;}
.pb-20{padding-bottom:5rem;}

/* ---------- Spacing: space-between children ---------- */
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem;}
.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem;}
.space-y-7>:not([hidden])~:not([hidden]){margin-top:1.75rem;}

/* ---------- Borders / radius ---------- */
.border{border-width:1px;}
.border-b{border-bottom-width:1px;}
.border-t{border-top-width:1px;}
.border-y{border-top-width:1px;border-bottom-width:1px;}
.rounded-full{border-radius:9999px;}
.rounded-md{border-radius:0.375rem;}
.rounded-sm{border-radius:0.125rem;}

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

/* ---------- Typography ---------- */
.font-bold{font-weight:700;}
.font-extrabold{font-weight:800;}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.leading-tight{line-height:1.25;}
.leading-relaxed{line-height:1.625;}
.leading-\[1\.04\]{line-height:1.04;}
.tracking-tight{letter-spacing:-0.025em;}
.tracking-wide{letter-spacing:0.025em;}
.text-center{text-align:center;}
.underline{text-decoration-line:underline;}
.text-\[11\.5px\]{font-size:11.5px;}
.text-\[12px\]{font-size:12px;}
.text-\[12\.5px\]{font-size:12.5px;}
.text-\[13px\]{font-size:13px;}
.text-\[13\.5px\]{font-size:13.5px;}
.text-\[14px\]{font-size:14px;}
.text-\[14\.5px\]{font-size:14.5px;}
.text-\[15px\]{font-size:15px;}
.text-\[15\.5px\]{font-size:15.5px;}
.text-\[16\.5px\]{font-size:16.5px;}
.text-\[17px\]{font-size:17px;}
.text-\[18px\]{font-size:18px;}
.text-\[20px\]{font-size:20px;}
.text-\[22px\]{font-size:22px;}
.text-\[28px\]{font-size:28px;}
.text-\[30px\]{font-size:30px;}
.text-\[42px\]{font-size:42px;}

/* ---------- Transitions ---------- */
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;}

/* ---------- Interactive states ---------- */
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed;}
.disabled\:opacity-50:disabled{opacity:0.5;}
.hover\:text-\[var\(--ink\)\]:hover{color:var(--ink);}

/* =====================================================================
   Responsive breakpoints (Tailwind defaults: sm=640px, md=768px, lg=1024px)
   ===================================================================== */

@media (min-width:640px){
  .sm\:flex-row{flex-direction:row;}
  .sm\:inline-flex{display:inline-flex;}
  .sm\:items-center{align-items:center;}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width:768px){
  .md\:flex{display:flex;}
  .md\:pb-24{padding-bottom:6rem;}
  .md\:pt-24{padding-top:6rem;}
  .md\:py-20{padding-top:5rem;padding-bottom:5rem;}
  .md\:py-24{padding-top:6rem;padding-bottom:6rem;}
  .md\:text-\[36px\]{font-size:36px;}
  .md\:text-\[56px\]{font-size:56px;}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .md\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:0.8fr 1.2fr;}
  .md\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr 0.9fr;}
  .md\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr;}
}

@media (min-width:1024px){
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
}
