/* Tailwind base (minimal preflight) */
*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
::after,::before{--tw-content:''}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit;background-color:#fff;color:#111827;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img,video{max-width:100%;height:auto}
button,input{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button{text-transform:none;cursor:pointer}
input::placeholder{opacity:0.5;color:#9ca3af}

/* Utilities used on page - exact match to Next.js UI */
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.inset-0{inset:0}
.top-0{top:0}
.bottom-8{bottom:2rem}
.left-1\/2{left:50%}
.right-6{right:1.5rem}
.z-0{z-index:0}
.z-10{z-index:10}
.z-50{z-index:50}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-1{margin-top:0.25rem}
.mt-2{margin-top:0.5rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.w-2{width:0.5rem}
.w-full{width:100%}
.w-fit{width:fit-content}
.min-w-0{min-width:0}
.max-w-2xl{max-width:42rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-xl{max-width:36rem}
.max-w-xs{max-width:20rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-16{height:4rem}
.h-full{height:100%}
.min-h-screen{min-height:100vh}
.shrink-0{flex-shrink:0}
.flex-shrink-0{flex-shrink:0}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-12{gap:3rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:0.5rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}
.overflow-hidden{overflow:hidden}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.border{border-width:1px}
.border-2{border-width:2px}
.border-t{border-top-width:1px}
.border-blue-100\/50{border-color:rgba(219,234,254,0.5)}
.border-blue-200{border-color:#bfdbfe}
.border-blue-700{border-color:#1d4ed8}
.border-gray-200\/50{border-color:rgba(229,231,235,0.5)}
.border-white\/20{border-color:rgba(255,255,255,0.2)}
.bg-white{background-color:#fff}
.bg-gray-100{background-color:#f3f4f6}
.bg-green-400{background-color:#4ade80}
.bg-blue-50{background-color:#eff6ff}
.bg-blue-100{background-color:#dbeafe}
.bg-white\/10{background-color:rgba(255,255,255,0.1)}
.bg-white\/50{background-color:rgba(255,255,255,0.5)}
.bg-white\/95{background-color:rgba(255,255,255,0.95)}
.bg-black\/60{background-color:rgba(0,0,0,0.6)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.from-blue-900\/80{--tw-gradient-from:rgba(30,58,138,0.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.from-green-400{--tw-gradient-from:#4ade80;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to,transparent)}
.via-blue-800\/70{--tw-gradient-stops:var(--tw-gradient-from),rgba(30,64,175,0.7),var(--tw-gradient-to,transparent)}
.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to,transparent)}
.to-orange-50{--tw-gradient-to:#fff7ed}
.to-orange-500{--tw-gradient-to:#f97316}
.to-blue-800{--tw-gradient-to:#1e40af}
.to-blue-700{--tw-gradient-to:#1d4ed8}
.from-blue-700{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.from-blue-800{--tw-gradient-from:#1e40af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.via-blue-500{--tw-gradient-stops:var(--tw-gradient-from),#3b82f6,var(--tw-gradient-to,transparent)}
.via-white{--tw-gradient-stops:var(--tw-gradient-from),#fff,var(--tw-gradient-to,transparent)}
.hover\:border-blue-300:hover{border-color:#93c5fd}
.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-blue-50:hover{background-color:#eff6ff}
.hover\:text-blue-600:hover{color:#2563eb}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.1)}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,0.2)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.to-green-600{--tw-gradient-to:#16a34a}
.to-orange-600\/60{--tw-gradient-to:rgba(234,88,12,0.6)}
.to-white\/20{--tw-gradient-to:rgba(255,255,255,0.2)}
.to-blue-400\/30{--tw-gradient-to:rgba(96,165,250,0.3)}
.to-orange-400\/30{--tw-gradient-to:rgba(251,146,60,0.3)}
.object-cover{object-fit:cover}
.p-2{padding:0.5rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.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}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-7{padding-top:1.75rem;padding-bottom:1.75rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-8{padding-top:2rem}
.pb-0{padding-bottom:0}
.text-center{text-align:center}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.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-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}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.text-white{color:#fff}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-900{color:#111827}
.text-blue-600{color:#2563eb}
.text-blue-100{color:#dbeafe}
.text-white\/90{color:rgba(255,255,255,0.9)}
.text-white\/80{color:rgba(255,255,255,0.8)}
.text-white\/60{color:rgba(255,255,255,0.6)}
.text-transparent{color:transparent}
.bg-clip-text{-webkit-background-clip:text;background-clip:text}
/* Hero gradient text: from-yellow-300 via-orange-300 to-pink-300 (use with bg-gradient-to-r bg-clip-text text-transparent) */
.from-yellow-300{--tw-gradient-from:#fde047;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.via-orange-300{--tw-gradient-stops:var(--tw-gradient-from),#fdba74,var(--tw-gradient-to,transparent)}
.to-pink-300{--tw-gradient-to:#f9a8d4}
.bg-gradient-to-r.from-yellow-300{--tw-gradient-from:#fde047;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,transparent)}
.bg-gradient-to-r.via-orange-300{--tw-gradient-stops:var(--tw-gradient-from),#fdba74,var(--tw-gradient-to,transparent)}
.bg-gradient-to-r.to-pink-300{--tw-gradient-to:#f9a8d4}
.aspect-square{aspect-ratio:1/1}
.leading-relaxed{line-height:1.625}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.backdrop-blur-xl{backdrop-filter:blur(24px)}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-300{transition-duration:300ms}
.transform{-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-x-1\/2{--tw-translate-x:-50%;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}
.animate-bounce{animation:bounce 1s infinite}
@keyframes pulse{50%{opacity:.5}}
@keyframes bounce{0%,100%{transform:translateY(-25%)}50%{transform:translateY(0)}}
.animate-in{animation:zoom-in-50 0.3s ease-out}
@keyframes zoom-in-50{0%{opacity:0;transform:scale(0.95)}100%{opacity:1;transform:scale(1)}}

/* Responsive */
@media (min-width:640px){
  .sm\:flex{display:flex}
  .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}
  .sm\:py-4{padding-top:1rem;padding-bottom:1rem}
  .sm\:text-base{font-size:1rem;line-height:1.5rem}
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .sm\:p-8{padding:2rem}
  .sm\:p-12{padding:3rem}
  .sm\:gap-8{gap:2rem}
  .sm\:mb-4{margin-bottom:1rem}
  .sm\:mb-10{margin-bottom:2.5rem}
  .sm\:mb-16{margin-bottom:4rem}
  .sm\:py-24{padding-top:6rem;padding-bottom:6rem}
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
}
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:gap-8{gap:2rem}
  .md\:px-8{padding-left:2rem;padding-right:2rem}
  .md\:py-4{padding-top:1rem;padding-bottom:1rem}
  .md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}
  .md\:py-24{padding-top:6rem;padding-bottom:6rem}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}
  .lg\:hidden{display:none}
  .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\:gap-16{gap:4rem}
  .lg\:gap-8{gap:2rem}
  .lg\:min-h-auto{min-height:auto}
  .lg\:py-20{padding-top:5rem;padding-bottom:5rem}
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .lg\:text-5xl{font-size:3rem;line-height:1}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}
  .lg\:p-12{padding:3rem}
}
@media (min-width:640px){
  .sm\:text-6xl{font-size:3.75rem;line-height:1}
}
@media (min-width:640px){
  .sm\:text-xl{font-size:1.25rem;line-height:1.75rem}
}
@media (min-width:640px){
  .sm\:w-auto{width:auto}
}
@media (min-width:1024px){
  .lg\:block{display:block}
}

/* Form input - match original Input component */
input[type="text"],input[type="tel"],input[type="email"]{
  min-width:0;
  border-radius:0.75rem;
  border:2px solid #bfdbfe;
  background-color:transparent;
  padding:0.75rem 1rem;
  font-size:1rem;
  outline:none;
  transition:border-color,box-shadow 0.15s;
}
input:focus{
  border-color:#2563eb;
  outline:none;
  box-shadow:0 0 0 4px rgba(37,99,235,0.2);
}
.focus\:ring-4:focus{box-shadow:0 0 0 4px rgba(37,99,235,0.2)}
.focus\:ring-blue-200:focus{--tw-ring-color:rgba(191,219,254,0.5)}
.focus\:border-blue-600:focus{border-color:#2563eb}
.focus\:outline-none:focus{outline:none}
input::placeholder{color:#9ca3af}

/* Button base - match original Button */
button[type="submit"],.btn-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  white-space:nowrap;
  border-radius:0.5rem;
  font-weight:500;
  transition:all 0.15s;
  cursor:pointer;
  border:none;
  outline:none;
}
button:focus-visible,.btn-cta:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:2px;
}

/* Blur for hero bg card */
.blur-3xl{filter:blur(48px)}
