/* ==================================================
  PREFLIGHT / BASE RESET
================================================== */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit}
h1,h2,h3,h4{font-size:inherit;font-weight:inherit;margin:0}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
img,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
p,ul,ol,dl{margin:0;padding:0}
ul,ol{list-style:none}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button{cursor:pointer;background-color:transparent;background-image:none}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}
em{font-style:inherit}

/* ==================================================
  LAYOUT
================================================== */
.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}
.flex{display:flex}.grid{display:grid}.hidden{display:none}
.h-full{height:100%}.h-auto{height:auto}
.h-1{height:.25rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}
.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}
.h-20{height:5rem}.h-40{height:10rem}.h-48{height:12rem}.h-64{height:16rem}.h-96{height:24rem}
.min-h-screen{min-height:100vh}
.w-1{width:.25rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}
.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}
.w-16{width:4rem}.w-20{width:5rem}.w-40{width:10rem}.w-48{width:12rem}
.w-64{width:16rem}.w-96{width:24rem}.w-full{width:100%}
.w-1\/2{width:50%}.w-1\/3{width:33.333%}.w-2\/3{width:66.667%}
.w-\[500px\]{width:500px}
.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}
.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.shrink-0{flex-shrink:0}
.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}
.items-end{align-items:flex-end}.items-stretch{align-items:stretch}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}
.mt-auto{margin-top:auto}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.col-span-1{grid-column:span 1/span 1}
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}
.gap-8{gap:2rem}.gap-12{gap:3rem}.gap-16{gap:4rem}
.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.space-x-8>*+*{margin-left:2rem}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}
.divide-y>*+*{border-top-width:1px}.divide-slate-100>*+*{border-color:#f1f5f9}
.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}.top-4{top:1rem}.top-5{top:1.25rem}.top-full{top:100%}
.top-\[20\%\]{top:20%}
.right-0{right:0}.right-\[-10\%\]{right:-10%}.right-\[-10px\]{right:-10px}.right-\[25\%\]{right:25%}
.left-0{left:0}.left-\[-10\%\]{left:-10%}.left-\[25\%\]{left:25%}.left-1\/2{left:50%}
.-top-8{top:-2rem}
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}
.pointer-events-none{pointer-events:none}.cursor-pointer{cursor:pointer}
.whitespace-nowrap{white-space:nowrap}

/* ==================================================
  SPACING
================================================== */
.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}
.p-8{padding:2rem}.p-10{padding:2.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.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-1{padding-top:.25rem;padding-bottom:.25rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}
.pt-8{padding-top:2rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}
.pt-24{padding-top:6rem}.pt-32{padding-top:8rem}
.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}.pb-16{padding-bottom:4rem}.pb-24{padding-bottom:6rem}
.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}
.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}
.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}
.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}
.mx-auto{margin-left:auto;margin-right:auto}
.-translate-x-1\/2{transform:translateX(-50%)}.translate-x-1\/2{transform:translateX(50%)}

/* ==================================================
  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-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}.text-6xl{font-size:3.75rem;line-height:1}
.text-7xl{font-size:4.5rem;line-height:1}
.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.font-extrabold{font-weight:800}.font-black{font-weight:900}
.font-mono{font-family:ui-monospace,monospace}
.not-italic{font-style:normal}
.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}
.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}
.uppercase{text-transform:uppercase}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.text-balance{text-wrap:balance}

/* ==================================================
  TEXT COLORS
================================================== */
.text-white{color:#fff}
.text-slate-300{color:#cbd5e1}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-brand-600{color:#0d9488}.text-brand-700{color:#0f766e}.text-brand-800{color:#115e59}
.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}
.text-green-500{color:#22c55e}.text-green-600{color:#16a34a}
.text-green-700{color:#15803d}.text-green-800{color:#166534}
.text-red-500{color:#ef4444}.text-red-800{color:#991b1b}

/* ==================================================
  BACKGROUND COLORS
================================================== */
.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}
.bg-slate-50{background-color:#f8fafc}.bg-slate-100{background-color:#f1f5f9}
.bg-slate-200{background-color:#e2e8f0}.bg-slate-900{background-color:#0f172a}
.bg-brand-50{background-color:#f0fdfa}.bg-brand-500{background-color:#14b8a6}
.bg-brand-600{background-color:#0d9488}.bg-brand-700{background-color:#0f766e}
.bg-blue-50{background-color:#eff6ff}.bg-blue-500{background-color:#3b82f6}
.bg-green-50{background-color:#f0fdf4}.bg-green-500{background-color:#22c55e}
.bg-red-50{background-color:#fef2f2}
.bg-black\/40{background-color:rgba(0,0,0,.4)}
.bg-white\/90{background-color:rgba(255,255,255,.9)}
.bg-brand-500\/30{background-color:rgba(20,184,166,.3)}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-slate-900\/95{--tw-gradient-from:rgba(15,23,42,.95);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(15,23,42,0))}
.via-slate-900\/60{--tw-gradient-stops:var(--tw-gradient-from),rgba(15,23,42,.6),var(--tw-gradient-to,rgba(15,23,42,0))}
.to-transparent{--tw-gradient-to:transparent}

/* ==================================================
  BORDER COLORS
================================================== */
.border-slate-100{border-color:#f1f5f9}.border-slate-200{border-color:#e2e8f0}
.border-slate-300{border-color:#cbd5e1}.border-white{border-color:#fff}
.border-brand-200{border-color:#99f6e4}.border-brand-500{border-color:#14b8a6}
.border-blue-200{border-color:#bfdbfe}.border-green-200{border-color:#bbf7d0}
.border-green-500{border-color:#22c55e}.border-red-500{border-color:#ef4444}
.border-t-brand-400{border-top-color:#2dd4bf}.border-t-brand-500{border-top-color:#14b8a6}
.border-t-blue-500{border-top-color:#3b82f6}.border-t-green-500{border-top-color:#22c55e}
.border-t-slate-800{border-top-color:#1e293b}.border-l-green-600{border-left-color:#16a34a}

/* ==================================================
  BORDERS & RADIUS
================================================== */
.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}
.border-b{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}
.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}
.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r-2{border-right-width:2px}
.border-dashed{border-style:dashed}
.rounded{border-radius:.25rem}.rounded-r{border-radius:0 .25rem .25rem 0}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}

/* ==================================================
  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 -2px rgba(0,0,0,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05)}
.drop-shadow-sm{filter:drop-shadow(0 1px 1px rgba(0,0,0,.05))}
.drop-shadow-md{filter:drop-shadow(0 4px 3px rgba(0,0,0,.07))}
.drop-shadow-lg{filter:drop-shadow(0 10px 8px rgba(0,0,0,.04))}

/* ==================================================
  TRANSITIONS
================================================== */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.duration-300{transition-duration:300ms}

/* ==================================================
  EFFECTS
================================================== */
.opacity-50{opacity:.5}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.object-cover{object-fit:cover}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.focus\:border-brand-600:focus{border-color:#0d9488}
.focus\:ring-2:focus{box-shadow:0 0 0 3px rgba(13,148,136,.25)}
.list-disc{list-style-type:disc}
.selection\:bg-brand-100 *::selection,.selection\:bg-brand-100::selection{background-color:#ccfbf1}
.selection\:text-brand-900 *::selection,.selection\:text-brand-900::selection{color:#134e4a}

/* ==================================================
  HOVER STATES
================================================== */
.hover\:opacity-80:hover{opacity:.8}
.hover\:bg-brand-500:hover{background-color:#14b8a6}
.hover\:bg-brand-600:hover{background-color:#0d9488}
.hover\:bg-brand-700:hover{background-color:#0f766e}
.hover\:bg-slate-100:hover{background-color:#f1f5f9}
.hover\:bg-slate-200:hover{background-color:#e2e8f0}
.hover\:border-slate-400:hover{border-color:#94a3b8}
.hover\:text-slate-900:hover{color:#0f172a}
.hover\:text-slate-800:hover{color:#1e293b}
.hover\:text-brand-600:hover{color:#0d9488}
.hover\:text-brand-800:hover{color:#115e59}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}
.group:hover .group-hover\:scale-110{transform:scale(1.1)}
.group:hover .group-hover\:text-brand-800{color:#115e59}
html.dark .group:hover .group-hover\:text-brand-400{color:#34d399}

/* ==================================================
  RESPONSIVE SM >= 640px
================================================== */
@media (min-width:640px){
  .sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}
  .sm\:flex-row{flex-direction:row}.sm\:gap-12{gap:3rem}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:h-auto{height:auto}.sm\:h-48{height:12rem}
  .sm\:items-start{align-items:flex-start}.sm\:mt-0{margin-top:0}.sm\:mt-6{margin-top:1.5rem}
  .sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:text-left{text-align:left}
  .sm\:w-1\/3{width:33.333%}.sm\:w-2\/3{width:66.667%}.sm\:w-48{width:12rem}
}

/* ==================================================
  RESPONSIVE MD >= 768px
================================================== */
@media (min-width:768px){
  .md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}
  .md\:inline{display:inline}.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\:col-span-2{grid-column:span 2/span 2}
  .md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}
  .md\:justify-between{justify-content:space-between}
  .md\:mt-0{margin-top:0}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:pt-28{padding-top:7rem}.md\:pb-20{padding-bottom:5rem}
  .md\:p-12{padding:3rem}.md\:h-12{height:3rem}
  .md\:w-\[80\%\]{width:80%}.md\:min-h-\[50vh\]{min-height:50vh}
}

/* ==================================================
  RESPONSIVE LG >= 1024px
================================================== */
@media (min-width:1024px){
  .lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}
  .lg\:flex-row{flex-direction:row}
  .lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}
  .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
  .lg\:w-1\/3{width:33.333%}.lg\:w-2\/3{width:66.667%}
  .lg\:w-5\/12{width:41.667%}.lg\:w-7\/12{width:58.333%}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-left{text-align:left}
  .lg\:mx-0{margin-left:0;margin-right:0}.lg\:justify-start{justify-content:flex-start}
  .lg\:items-start{align-items:flex-start}.lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}
}

/* ==================================================
  DARK MODE TAILWIND CLASSES
================================================== */
html.dark .dark\:bg-slate-700{background-color:#334155}
html.dark .dark\:bg-slate-800{background-color:#1e293b}
html.dark .dark\:bg-slate-800\/90{background-color:rgba(30,41,59,.9)}
html.dark .dark\:bg-slate-900{background-color:#0f172a}
html.dark .dark\:bg-brand-500\/10{background-color:rgba(20,184,166,.1)}
html.dark .dark\:bg-brand-500\/50{background-color:rgba(20,184,166,.5)}
html.dark .dark\:bg-brand-900\/30{background-color:rgba(19,78,74,.3)}
html.dark .dark\:border-brand-500\/20{border-color:rgba(20,184,166,.2)}
html.dark .dark\:border-slate-600{border-color:#475569}
html.dark .dark\:border-slate-700{border-color:#334155}
html.dark .dark\:border-slate-800{border-color:#1e293b}
html.dark .dark\:divide-slate-700\/50>*+*{border-color:rgba(51,65,85,.5)}
html.dark .dark\:text-brand-400{color:#34d399}
html.dark .dark\:text-slate-200{color:#e2e8f0}
html.dark .dark\:text-slate-300{color:#cbd5e1}
html.dark .dark\:text-slate-400{color:#94a3b8}
html.dark .dark\:text-slate-700{color:#334155}
html.dark .dark\:text-white{color:#fff}
html.dark .dark\:hover\:bg-slate-700:hover{background-color:#334155}
html.dark .dark\:hover\:bg-brand-600:hover{background-color:#0d9488}
html.dark .dark\:hover\:border-slate-500:hover{border-color:#64748b}
html.dark .dark\:hover\:text-brand-400:hover{color:#34d399}
html.dark .dark\:hover\:text-white:hover{color:#fff}

/* ==================================================
  BODY & APP BASE
================================================== */
body{margin:0;padding:0;overflow-x:hidden;background-color:#F7F5F0;color:#1e293b;font-family:'Inter',sans-serif}

html:not(.dark) body,html:not(.dark) #app-wrapper{background-color:#F7F5F0}
html:not(.dark) .bg-white{background-color:#FCFBF9 !important}
html:not(.dark) .bg-slate-50{background-color:#F7F5F0 !important}
html:not(.dark) .premium-card{background-color:#FCFBF9 !important;border-color:#EAE6DF !important}
html:not(.dark) .glass-nav{background:rgba(252,251,249,.95) !important;border-bottom:1px solid rgba(0,0,0,.06) !important}

html.dark,html.dark body,html.dark #app-wrapper{background-color:#020617 !important;color:#f8fafc !important}
html.dark .bg-white,html.dark .bg-slate-50,html.dark .bg-slate-100,html.dark .premium-card{background-color:#0f172a !important;border-color:#1e293b !important;color:#f1f5f9 !important}
html.dark footer{background-color:#0f172a !important;border-color:#1e293b !important;color:#f1f5f9 !important}
html.dark .text-slate-900,html.dark .text-slate-800,html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark footer h4{color:#fff !important}
html.dark .text-slate-700,html.dark .text-slate-600,html.dark p,html.dark footer a,html.dark footer p,html.dark footer li{color:#cbd5e1 !important}
html.dark .bg-brand-50{background-color:rgba(20,184,166,.1) !important}
html.dark .submit-btn{background-color:#0d9488 !important;color:#fff !important;border:none !important;box-shadow:0 4px 14px rgba(20,184,166,.4) !important}
html.dark .submit-btn:hover{background-color:#0f766e !important}
html.dark .submit-btn:disabled{background-color:#475569 !important;box-shadow:none !important;cursor:not-allowed}

/* ==================================================
  COMPONENTS
================================================== */
.ambient-blob{position:absolute;filter:blur(80px);opacity:.15;z-index:0;border-radius:50%;pointer-events:none}
html.dark .ambient-blob{opacity:.08}

@keyframes blob{
  0%{transform:translate(0px,0px) scale(1)}
  33%{transform:translate(30px,-50px) scale(1.1)}
  66%{transform:translate(-20px,20px) scale(.9)}
  100%{transform:translate(0px,0px) scale(1)}
}
.animate-blob{animation:blob 15s infinite alternate}

.glass-nav{background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.05);transition:all .3s ease}
html.dark .glass-nav{background:rgba(2,6,23,.85) !important;border-bottom:1px solid rgba(255,255,255,.05) !important}
.lang-dropdown{display:none}.lang-container:hover .lang-dropdown{display:block}

.premium-card{background-color:#fff;border:1px solid #e2e8f0;transition:transform .3s ease,box-shadow .3s ease;position:relative;z-index:10}
.premium-card:hover{transform:translateY(-3px);box-shadow:0 15px 40px -10px rgba(13,148,136,.12)}

.page-section{display:none;animation:fadeIn .3s ease-out forwards}
.page-section.active{display:block}

@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ==================================================
  PRINT
================================================== */
@media print{
  header,footer,.ambient-blob,.glass-nav,.submit-btn,button[onclick="window.print()"],.lang-container,#theme-toggle{display:none !important}
  body,#app-wrapper{background-color:#fff !important;color:#000 !important}
  .premium-card{box-shadow:none !important;border:none !important;padding:0 !important}
  h2,h3,h4,p,li,span,strong{color:#000 !important}
}

/* ==================================================
  IFRAME HEIGHT FIX
  Overrides min-h-screen on app-wrapper so the
  iframe height can shrink when navigating to
  shorter pages. Without this, 100vh inside the
  iframe = iframe height = infinite loop.
================================================== */
#app-wrapper { min-height: 0 !important; }
html, body { height: auto !important; }

/* ==================================================
  MULTI-STEP FORM WIZARD
================================================== */
.form-step { animation: fadeIn .25s ease-out; }
.form-step.hidden { display: none; }

.type-btn.selected,
.type-btn:focus {
  border-color: #0d9488;
  background-color: #f0fdfa;
}
html.dark .type-btn {
  background-color: #1e293b;
}
html.dark .type-btn:hover,
html.dark .type-btn.selected {
  border-color: #0d9488;
  background-color: rgba(13,148,136,0.1);
}

#btn-prev { display: none; }

select option {
  background-color: #fff;
  color: #0f172a;
}
html.dark select option {
  background-color: #1e293b;
  color: #f1f5f9;
}

input[style*="border-color: rgb(239, 68, 68)"],
input[style*="border-color: #ef4444"] {
  border-color: #ef4444 !important;
  background-color: #fef2f2;
}

/* Fix mobile portfolio flagship image always visible */
@media (max-width: 1023px) {
  .lg\:w-5\/12 {
    min-height: 260px;
  }
}
