/* ==================================================
  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}.z-60{z-index:60}
.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 — EU brand: green replacing teal
================================================== */
.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}
/* EU: brand green-600 / green-700 / green-800 */
.text-brand-600{color:#16a34a}.text-brand-700{color:#15803d}.text-brand-800{color:#166534}
.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}
.text-amber-600{color:#d97706}.text-amber-700{color:#b45309}.text-amber-800{color:#92400e}
.text-amber-900{color:#78350f}

/* ==================================================
  BACKGROUND COLORS — EU palette
================================================== */
.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}
/* EU: brand green */
.bg-brand-50{background-color:#f0fdf4}.bg-brand-500{background-color:#22c55e}
.bg-brand-600{background-color:#16a34a}.bg-brand-700{background-color:#15803d}
.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(34,197,94,.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}
/* Amber for Pre-Launch banner */
.bg-amber-50{background-color:#fffbeb}.bg-amber-100{background-color:#fef3c7}
.bg-amber-400{background-color:#fbbf24}.bg-amber-500{background-color:#f59e0b}

/* ==================================================
  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}
/* EU: brand green */
.border-brand-200{border-color:#bbf7d0}.border-brand-500{border-color:#22c55e}
.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:#4ade80}.border-t-brand-500{border-top-color:#22c55e}
.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}
.border-amber-200{border-color:#fde68a}.border-amber-400{border-color:#fbbf24}
.border-amber-500{border-color:#f59e0b}

/* ==================================================
  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:#16a34a}
.focus\:ring-2:focus{box-shadow:0 0 0 3px rgba(22,163,74,.25)}
.list-disc{list-style-type:disc}
.selection\:bg-brand-100 *::selection,.selection\:bg-brand-100::selection{background-color:#dcfce7}
.selection\:text-brand-900 *::selection,.selection\:text-brand-900::selection{color:#14532d}

/* ==================================================
  HOVER STATES
================================================== */
.hover\:opacity-80:hover{opacity:.8}
.hover\:bg-brand-500:hover{background-color:#22c55e}
.hover\:bg-brand-600:hover{background-color:#16a34a}
.hover\:bg-brand-700:hover{background-color:#15803d}
.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:#16a34a}
.hover\:text-brand-800:hover{color:#166534}
.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:#166534}
html.dark .group:hover .group-hover\:text-brand-400{color:#4ade80}

/* ==================================================
  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}
}

/* ==================================================
  DARK MODE — EU: near-black with very slight green tint
================================================== */
html.dark .dark\:bg-slate-700{background-color:#2a3330}
html.dark .dark\:bg-slate-800{background-color:#1a2420}
html.dark .dark\:bg-slate-800\/90{background-color:rgba(26,36,32,.9)}
html.dark .dark\:bg-slate-900{background-color:#111814}
html.dark .dark\:bg-brand-500\/10{background-color:rgba(34,197,94,.1)}
html.dark .dark\:bg-brand-500\/50{background-color:rgba(34,197,94,.5)}
html.dark .dark\:bg-brand-900\/30{background-color:rgba(20,83,45,.3)}
html.dark .dark\:border-brand-500\/20{border-color:rgba(34,197,94,.2)}
html.dark .dark\:border-slate-600{border-color:#3d5248}
html.dark .dark\:border-slate-700{border-color:#2a3a34}
html.dark .dark\:border-slate-800{border-color:#1a2420}
html.dark .dark\:divide-slate-700\/50>*+*{border-color:rgba(42,58,52,.5)}
html.dark .dark\:text-brand-400{color:#4ade80}
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:#2a3a34}
html.dark .dark\:text-white{color:#fff}
html.dark .dark\:hover\:bg-slate-700:hover{background-color:#2a3a34}
html.dark .dark\:hover\:bg-brand-600:hover{background-color:#16a34a}
html.dark .dark\:hover\:border-slate-500:hover{border-color:#4a6860}
html.dark .dark\:hover\:text-brand-400:hover{color:#4ade80}
html.dark .dark\:hover\:text-white:hover{color:#fff}

/* ==================================================
  BODY & APP BASE — EU: very light green-white (light) / near-black green (dark)
================================================== */
body{margin:0;padding:0;overflow-x:hidden;background-color:#F3FAF4;color:#1e293b;font-family:'Inter',sans-serif}

/* EU LIGHT THEME: very light green-white, almost white */
html:not(.dark) body,html:not(.dark) #app-wrapper{background-color:#F3FAF4}
html:not(.dark) .bg-white{background-color:#FAFEF9 !important}
html:not(.dark) .bg-slate-50{background-color:#F3FAF4 !important}
html:not(.dark) .premium-card{background-color:#FAFEF9 !important;border-color:#E4F0E6 !important}
html:not(.dark) .glass-nav{background:rgba(250,254,249,.96) !important;border-bottom:1px solid rgba(0,0,0,.05) !important}

/* EU DARK THEME: near-black with very subtle green tint */
html.dark,html.dark body,html.dark #app-wrapper{background-color:#0D1510 !important;color:#f0fdf4 !important}
html.dark .bg-white,html.dark .bg-slate-50,html.dark .bg-slate-100,html.dark .premium-card{background-color:#141D18 !important;border-color:#1f2e27 !important;color:#f0fdf4 !important}
html.dark footer{background-color:#141D18 !important;border-color:#1f2e27 !important;color:#f0fdf4 !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:#c8ddd0 !important}
html.dark .bg-brand-50{background-color:rgba(34,197,94,.1) !important}
html.dark .submit-btn{background-color:#16a34a !important;color:#fff !important;border:none !important;box-shadow:0 4px 14px rgba(34,197,94,.4) !important}
html.dark .submit-btn:hover{background-color:#15803d !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:.12;z-index:0;border-radius:50%;pointer-events:none}
html.dark .ambient-blob{opacity:.06}

@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(250,254,249,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.04);transition:all .3s ease}
html.dark .glass-nav{background:rgba(13,21,16,.88) !important;border-bottom:1px solid rgba(255,255,255,.04) !important}
.lang-dropdown{display:none}.lang-container:hover .lang-dropdown{display:block}

.premium-card{background-color:#fff;border:1px solid #e4f0e6;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(22,163,74,.1)}

.page-section{display:none;animation:fadeIn .3s ease-out forwards}
.page-section.active{display:block;padding-top:7rem}
#page-startseite.active{padding-top:0}

@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,#prelaunch-banner,#cookie-banner,#geo-banner{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}
}

/* ==================================================
  MULTI-STEP FORM (kept for potential reuse)
================================================== */
.form-step{animation:fadeIn .25s ease-out}
.form-step.hidden{display:none}

.type-btn.selected,.type-btn:focus{border-color:#16a34a;background-color:#f0fdf4}
html.dark .type-btn{background-color:#1a2420}
html.dark .type-btn:hover,html.dark .type-btn.selected{border-color:#16a34a;background-color:rgba(22,163,74,0.1)}

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

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

/* ==================================================
  FOOTER
================================================== */
footer{position:relative;z-index:10}

/* ==================================================
  ADDITIONAL UTILITIES
================================================== */
.hover\:border-brand-500:hover{border-color:#22c55e}
.group:hover .group-hover\:bg-blue-100{background-color:#dbeafe}
.group:hover .group-hover\:bg-green-100{background-color:#dcfce7}
.group:hover .group-hover\:bg-slate-200{background-color:#e2e8f0}
html.dark .group:hover .group-hover\:bg-brand-600{background-color:#16a34a}

.page-section{--section-pt:2rem;--section-pb:6rem}

/* ==================================================
  PRE-LAUNCH BANNER
  Sticky top bar above fixed header. Uses fixed positioning
  at z-index 60 to sit above the header (z-50).
  JS adjusts header top and body padding dynamically.
================================================== */
#prelaunch-banner{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:60;
  background-color:#fef3c7;
  border-bottom:1px solid #fde68a;
  box-shadow:0 2px 8px rgba(245,158,11,.12);
  transition:transform .3s ease,opacity .3s ease;
}
#prelaunch-banner.dismissed{
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
}
.prelaunch-inner{
  max-width:80rem;
  margin:0 auto;
  padding:.75rem 1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.prelaunch-badge{
  display:inline-flex;
  align-items:center;
  gap:.375rem;
  background-color:#f59e0b;
  color:#fff;
  font-size:.625rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.25rem .625rem;
  border-radius:9999px;
  flex-shrink:0;
}
.prelaunch-pulse{
  width:.5rem;height:.5rem;
  background-color:#fff;
  border-radius:50%;
  animation:pulse-dot 1.5s ease-in-out infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}
.prelaunch-text{
  flex:1;
  min-width:0;
  font-size:.8125rem;
  font-weight:600;
  color:#1c1917;
  line-height:1.4;
}
.prelaunch-title{font-weight:900;color:#78350f;display:block}
.prelaunch-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
.prelaunch-btn{
  font-size:.75rem;font-weight:700;
  padding:.375rem .875rem;
  border-radius:.375rem;
  cursor:pointer;
  transition:all .15s ease;
  white-space:nowrap;
  border:none;
}
.prelaunch-btn-primary{background-color:#f59e0b;color:#fff}
.prelaunch-btn-primary:hover{background-color:#d97706}
.prelaunch-btn-secondary{background-color:transparent;color:#78350f;border:1.5px solid #fbbf24}
.prelaunch-btn-secondary:hover{background-color:#fef3c7}
.prelaunch-close{
  width:1.75rem;height:1.75rem;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  color:#92400e;border-radius:50%;
  font-size:1rem;line-height:1;
  flex-shrink:0;
  transition:background .15s ease;
}
.prelaunch-close:hover{background-color:rgba(245,158,11,.2)}

/* Mobile collapsed prelaunch banner */
@media(max-width:639px){
  .prelaunch-text-full{display:none}
  .prelaunch-text-short{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;color:#78350f;cursor:pointer}
  .prelaunch-actions{display:none}
  #prelaunch-banner.expanded .prelaunch-text-full{display:block}
  #prelaunch-banner.expanded .prelaunch-text-short{display:none}
  #prelaunch-banner.expanded .prelaunch-actions{display:flex}
  .prelaunch-inner{padding:.5rem 1rem}
}
@media(min-width:640px){
  .prelaunch-text-short{display:none}
  .prelaunch-text-full{display:block}
}

/* ==================================================
  GEO SUGGESTION BANNER
================================================== */
#geo-banner{
  position:fixed;
  z-index:59;
  left:0;right:0;
  background-color:#eff6ff;
  border-bottom:1px solid #bfdbfe;
  font-size:.8125rem;
  font-weight:600;
  color:#1e3a5f;
  transition:transform .3s ease,opacity .3s ease;
  display:none;
}
#geo-banner.visible{display:block}
#geo-banner.dismissed{transform:translateY(-110%);opacity:0;pointer-events:none}
.geo-inner{max-width:80rem;margin:0 auto;padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.geo-link{color:#2563eb;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.geo-close{background:transparent;border:none;cursor:pointer;color:#64748b;font-size:1rem;padding:.25rem;line-height:1}

/* ==================================================
  COOKIE BANNER
================================================== */
#cookie-banner{
  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);
  z-index:55;
  max-width:38rem;width:calc(100% - 2rem);
  background-color:#fff;
  border:1px solid #e4f0e6;
  border-radius:1rem;
  box-shadow:0 20px 40px rgba(0,0,0,.15);
  padding:1.5rem;
  display:none;
}
#cookie-banner.visible{display:block;animation:cookieSlideUp .3s ease-out}
@keyframes cookieSlideUp{from{opacity:0;transform:translateX(-50%) translateY(1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
html.dark #cookie-banner{background-color:#141D18;border-color:#1f2e27;color:#f0fdf4}
.cookie-title{font-size:1rem;font-weight:900;color:#0f172a;margin-bottom:.5rem}
html.dark .cookie-title{color:#fff}
.cookie-text{font-size:.8125rem;font-weight:500;color:#475569;margin-bottom:1rem;line-height:1.5}
html.dark .cookie-text{color:#c8ddd0}
.cookie-btns{display:flex;gap:.625rem;flex-wrap:wrap}
.cookie-btn{
  flex:1;min-width:5rem;
  padding:.625rem 1rem;
  font-size:.8125rem;font-weight:700;
  border-radius:.5rem;border:none;cursor:pointer;
  transition:all .15s ease;text-align:center;
}
.cookie-btn-accept{background-color:#16a34a;color:#fff}
.cookie-btn-accept:hover{background-color:#15803d}
.cookie-btn-decline{background-color:#f1f5f9;color:#334155;border:1.5px solid #e2e8f0}
.cookie-btn-decline:hover{background-color:#e2e8f0}
.cookie-btn-settings{background-color:transparent;color:#16a34a;border:1.5px solid #22c55e}
.cookie-btn-settings:hover{background-color:#f0fdf4}
html.dark .cookie-btn-decline{background-color:#1f2e27;color:#c8ddd0;border-color:#2a3a34}
html.dark .cookie-btn-settings{color:#4ade80;border-color:#4ade80}

/* Cookie settings modal */
#cookie-modal{
  position:fixed;inset:0;z-index:70;
  background-color:rgba(0,0,0,.5);
  display:none;align-items:center;justify-content:center;
  padding:1rem;
}
#cookie-modal.visible{display:flex}
.cookie-modal-box{
  background:#fff;border-radius:1rem;
  padding:2rem;max-width:32rem;width:100%;
  box-shadow:0 25px 50px rgba(0,0,0,.3);
}
html.dark .cookie-modal-box{background-color:#141D18;color:#f0fdf4}
.cookie-modal-title{font-size:1.25rem;font-weight:900;color:#0f172a;margin-bottom:1rem}
html.dark .cookie-modal-title{color:#fff}
.cookie-category{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}
html.dark .cookie-category{border-color:#1f2e27}
.cookie-category-label{font-size:.875rem;font-weight:600;color:#334155}
html.dark .cookie-category-label{color:#c8ddd0}
.cookie-toggle-always{font-size:.75rem;color:#16a34a;font-weight:700}
.cookie-modal-btns{margin-top:1.5rem;display:flex;gap:.625rem}

/* ==================================================
  THREE MODELS SECTION
================================================== */
.model-card{
  background-color:#fff;
  border:1px solid #e4f0e6;
  border-radius:.75rem;
  padding:2rem;
  display:flex;flex-direction:column;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease;
  position:relative;
}
.model-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(22,163,74,.1)}
html.dark .model-card{background-color:#141D18;border-color:#1f2e27}
.model-card-a{border-top:3px solid #22c55e}
.model-card-b{border-top:3px solid #3b82f6}
.model-card-c{border:2px solid #f59e0b;opacity:.96}
.model-card-c .model-coming-badge{
  position:absolute;top:.75rem;right:.75rem;
  background-color:#f59e0b;color:#fff;
  font-size:.625rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
  padding:.2rem .5rem;border-radius:9999px;
  animation:pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}
.model-badge-green{display:inline-block;background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .625rem;border-radius:9999px;margin-bottom:1rem}
.model-badge-blue{display:inline-block;background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .625rem;border-radius:9999px;margin-bottom:1rem}
.model-badge-amber{display:inline-block;background-color:#fffbeb;color:#d97706;border:1px solid #fde68a;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .625rem;border-radius:9999px;margin-bottom:1rem}
.model-points{list-style:none;padding:0;margin:.75rem 0;space-y:.5rem}
.model-points li{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;font-weight:500;color:#475569;padding:.25rem 0}
html.dark .model-points li{color:#c8ddd0}
.model-points li::before{content:"•";color:#22c55e;font-weight:900;flex-shrink:0;margin-top:.1rem}
.model-ideal{font-size:.8125rem;font-style:italic;color:#64748b;border-top:1px solid #f1f5f9;padding-top:.75rem;margin-top:.75rem}
html.dark .model-ideal{color:#94a3b8;border-color:#1f2e27}
.model-cta{margin-top:auto;padding-top:1rem}

/* ==================================================
  ROADMAP TIMELINE
================================================== */
.roadmap-node{position:relative;flex:1;min-width:180px}
.roadmap-dot{
  width:1.25rem;height:1.25rem;border-radius:50%;
  background-color:#e2e8f0;border:3px solid #94a3b8;
  position:relative;z-index:2;flex-shrink:0;
  transition:transform .2s ease;
}
.roadmap-dot.active{
  width:1.75rem;height:1.75rem;
  background-color:#16a34a;border:3px solid #22c55e;
  box-shadow:0 0 0 6px rgba(34,197,94,.15);
}
.roadmap-line{height:3px;flex:1;background-color:#e2e8f0;position:relative;margin-top:.5625rem}
.roadmap-line.past{background-color:#22c55e}
.roadmap-line.future{background:repeating-linear-gradient(90deg,#e2e8f0 0,#e2e8f0 6px,transparent 6px,transparent 12px)}
.roadmap-status-active{display:inline-flex;align-items:center;gap:.25rem;background-color:#f0fdf4;color:#16a34a;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:9999px;border:1px solid #bbf7d0}
.roadmap-status-planned{display:inline-flex;align-items:center;gap:.25rem;background-color:#fffbeb;color:#d97706;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:9999px;border:1px solid #fde68a}
.roadmap-status-vision{display:inline-flex;align-items:center;gap:.25rem;background-color:#f8fafc;color:#64748b;font-size:.625rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:9999px;border:1px solid #e2e8f0}
.roadmap-node-content{opacity:.88}
.roadmap-node-content.current{opacity:1}
/* Vertical timeline for mobile */
@media(max-width:767px){
  .roadmap-horizontal{display:none}
  .roadmap-vertical{display:block}
}
@media(min-width:768px){
  .roadmap-horizontal{display:flex}
  .roadmap-vertical{display:none}
}
.roadmap-vertical-item{display:flex;gap:1rem;padding-bottom:2rem;position:relative}
.roadmap-vertical-item::before{content:'';position:absolute;left:.5625rem;top:1.75rem;bottom:0;width:3px;background-color:#e2e8f0}
.roadmap-vertical-item:last-child::before{display:none}
.roadmap-vertical-item.active-item::before{background-color:#22c55e}

/* ==================================================
  KPI PULSE DOT (for "Coming Q3 2026")
================================================== */
.kpi-pulse{
  display:inline-block;width:.5rem;height:.5rem;
  background-color:#f59e0b;border-radius:50%;
  animation:pulse-dot 1.5s ease-in-out infinite;
  margin-right:.375rem;vertical-align:middle;
}

/* ==================================================
  LAYOUT: Footer sticky
================================================== */
footer{position:relative;z-index:10}

/* Mobile portfolio image fix */
@media (max-width:1023px){
  .lg\:w-5\/12{min-height:260px}
}
