/* ============================================================
 * Auto-generated by gen_css.py — DO NOT EDIT BY HAND
 * ============================================================ */

/* --- Preflight / Reset --- */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:hsl(var(--border))}
html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}sup{top:-0.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type='search']{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:hsl(var(--muted-foreground))}
button,[role="button"]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* --- Theme variables --- */
:root {
  --background: 0 0% 100%;
  --foreground: 210 40% 12%;
  --card: 0 0% 100%;
  --card-foreground: 210 40% 12%;
  --muted: 210 20% 96%;
  --muted-foreground: 215 16% 40%;
  --border: 214 20% 88%;
  --input: 214 20% 88%;
  --primary: 210 73% 15%;
  --primary-foreground: 0 0% 100%;
  --accent: 24 100% 46%;
  --accent-foreground: 0 0% 100%;
  --steel: 210 68% 42%;
  --ring: 24 100% 46%;
}
.dark {
  --background: 215 38% 7%;
  --foreground: 210 30% 92%;
  --card: 215 33% 11%;
  --card-foreground: 210 30% 92%;
  --muted: 215 28% 16%;
  --muted-foreground: 215 16% 62%;
  --border: 215 24% 22%;
  --input: 215 24% 22%;
  --primary: 210 40% 90%;
  --primary-foreground: 210 73% 12%;
  --accent: 24 100% 52%;
  --accent-foreground: 0 0% 100%;
  --steel: 210 60% 58%;
  --ring: 24 100% 52%;
}

/* --- Base element styles --- */
html { scroll-behavior: smooth; }
body { background-color: hsl(var(--background)); color: hsl(var(--foreground)); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
section[id], div[id] { scroll-margin-top: 6rem; }

/* --- Container --- */
.container {
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
@media (min-width: 1280px) {
  .container { max-width: 1280px; }
}

/* --- Skip link --- */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 50;
  border-radius: 0.375rem;
  background-color: hsl(var(--accent));
  padding: 0.5rem 1rem;
  color: hsl(var(--accent-foreground));
  font-weight: 500;
  transition: top 0.15s ease;
}
.skip-link:focus { top: 1rem; }

/* --- Reveal animation --- */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity 0.45s ease-out, transform 0.45s ease-out; }
.reveal-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-visible { transition: none; }
}

/* --- Space-y/x child selector --- */
.space-y-2 > * + * { margin-top: 0.5rem; }
.space-y-3 > * + * { margin-top: 0.75rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.space-y-8 > * + * { margin-top: 2rem; }
.space-y-10 > * + * { margin-top: 2.5rem; }
.space-y-12 > * + * { margin-top: 3rem; }
.space-x-2 > * + * { margin-left: 0.5rem; }
.space-x-4 > * + * { margin-left: 1rem; }
.space-x-6 > * + * { margin-left: 1.5rem; }

/* --- Divide --- */
.divide-y > * + * { border-top-width: 1px; }

/* --- Focus ring utility --- */
.focus-visible\:outline-none:focus-visible { outline: 2px solid transparent; outline-offset: 2px; }
.focus-visible\:ring-2:focus-visible { box-shadow: 0 0 0 2px hsl(var(--ring)); }
.focus-visible\:ring-ring:focus-visible { --tw-ring-color: hsl(var(--ring)); }

/* --- Generated utility classes --- */
.absolute{position:absolute}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.backdrop-blur{backdrop-filter:blur(8px)}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.bg-accent{background-color:hsl(var(--accent))}
.bg-accent\/10{background-color:hsl(var(--accent) / 0.1)}
.bg-accent\/20{background-color:hsl(var(--accent) / 0.2)}
.bg-accent\/60{background-color:hsl(var(--accent) / 0.6)}
.bg-background{background-color:hsl(var(--background))}
.bg-background\/90{background-color:hsl(var(--background) / 0.9)}
.bg-card{background-color:hsl(var(--card))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.bg-muted{background-color:hsl(var(--muted))}
.bg-primary{background-color:hsl(var(--primary))}
.block{display:block}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-border{border-color:hsl(var(--border))}
.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / 0.2)}
.border-t{border-top-width:1px}
.bottom-4{bottom:1rem}
.divide-y{--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}
.fixed{position:fixed}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}
.focus-visible\:ring-2:focus-visible{--tw-ring-width:2px;box-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 0px) var(--tw-ring-color,rgb(59 130 246/.5))}
.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring));box-shadow:var(--tw-ring-inset,) 0 0 0 calc(var(--tw-ring-width,3px) + 0px) var(--tw-ring-color,hsl(var(--ring)))}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-medium{font-weight:500}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.from-black\/40{--tw-gradient-from:rgb(0 0 0 / 0.4);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(255 255 255/0))}
.from-black\/45{--tw-gradient-from:rgb(0 0 0 / 0.45);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgb(255 255 255/0))}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-10{gap:2.5rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-x-10{column-gap:2.5rem}
.gap-y-6{row-gap:1.5rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-0\.5{height:0.125rem}
.h-1{height:0.25rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-2{height:0.5rem}
.h-24{height:6rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-64{height:16rem}
.h-80{height:20rem}
.h-9{height:2.25rem}
.h-auto{height:auto}
.h-full{height:100%}
.hidden{display:none}
.hover\:bg-accent\/90:hover{background-color:hsl(var(--accent) / 0.9)}
.hover\:bg-muted:hover{background-color:hsl(var(--muted))}
.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / 0.5)}
.hover\:bg-white\/10:hover{background-color:rgb(255 255 255 / 0.1)}
.hover\:opacity-100:hover{opacity:1.0}
.hover\:text-accent:hover{color:hsl(var(--accent))}
.inline-flex{display:inline-flex}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-x-0{left:0;right:0}
.italic{font-style:italic}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-stretch{align-items:stretch}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.leading-relaxed{line-height:1.625}
.leading-snug{line-height:1.375}
.left-4{left:1rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-6xl{max-width:72rem}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-20{margin-bottom:5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.ml-1{margin-left:0.25rem}
.ml-2{margin-left:0.5rem}
.ml-auto{margin-left:auto}
.mr-auto{margin-right:auto}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.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}
.mx-auto{margin-left:auto;margin-right:auto}
.object-center{object-position:center}
.object-cover{object-fit:cover}
.opacity-100{opacity:1.0}
.opacity-40{opacity:0.4}
.opacity-50{opacity:0.5}
.opacity-60{opacity:0.6}
.opacity-70{opacity:0.7}
.opacity-80{opacity:0.8}
.overflow-hidden{overflow:hidden}
.p-10{padding:2.5rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.pb-0{padding-bottom:0px}
.pb-12{padding-bottom:3rem}
.pb-20{padding-bottom:5rem}
.pt-1{padding-top:0.25rem}
.pt-16{padding-top:4rem}
.pt-28{padding-top:7rem}
.pt-6{padding-top:1.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.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}
.relative{position:relative}
.rounded{border-radius:0.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.rounded-md{border-radius:0.375rem}
.rounded-xl{border-radius:0.75rem}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1)}
.space-y-1\.5{--tw-space-y-reverse:0;margin-bottom:calc(0.375rem * var(--tw-space-y-reverse));margin-top:calc(0.375rem * calc(1 - var(--tw-space-y-reverse)))}
.space-y-2{--tw-space-y-reverse:0;margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)))}
.space-y-3{--tw-space-y-reverse:0;margin-bottom:calc(0.75rem * var(--tw-space-y-reverse));margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)))}
.space-y-4{--tw-space-y-reverse:0;margin-bottom:calc(1rem * var(--tw-space-y-reverse));margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)))}
.space-y-5{--tw-space-y-reverse:0;margin-bottom:calc(1.25rem * var(--tw-space-y-reverse));margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)))}
.space-y-6{--tw-space-y-reverse:0;margin-bottom:calc(1.5rem * var(--tw-space-y-reverse));margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)))}
.sticky{position:sticky}
.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-accent{color:hsl(var(--accent))}
.text-accent-foreground{color:hsl(var(--accent-foreground))}
.text-base{font-size:1rem;line-height:1.5rem}
.text-center{text-align:center}
.text-foreground{color:hsl(var(--foreground))}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-muted-foreground{color:hsl(var(--muted-foreground))}
.text-primary-foreground{color:hsl(var(--primary-foreground))}
.text-primary-foreground\/60{color:hsl(var(--primary-foreground) / 0.6)}
.text-primary-foreground\/80{color:hsl(var(--primary-foreground) / 0.8)}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-white{color:#fff}
.text-white\/55{color:rgb(255 255 255 / 0.55)}
.text-white\/60{color:rgb(255 255 255 / 0.6)}
.text-white\/70{color:rgb(255 255 255 / 0.7)}
.text-white\/80{color:rgb(255 255 255 / 0.8)}
.text-white\/85{color:rgb(255 255 255 / 0.85)}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.to-black\/25{--tw-gradient-to:rgb(0 0 0 / 0.25)}
.to-transparent{--tw-gradient-to:transparent}
.top-0{top:0px}
.top-16{top:4rem}
.tracking-tight{letter-spacing:-0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.uppercase{text-transform:uppercase}
.via-black\/10{--tw-gradient-stops:var(--tw-gradient-from),rgb(0 0 0 / 0.1),var(--tw-gradient-to,rgb(255 255 255/0))}
.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to,rgb(255 255 255/0))}
.w-0\.5{width:0.125rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-2{width:0.5rem}
.w-24{width:6rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-9{width:2.25rem}
.w-auto{width:auto}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-10{z-index:10}
.z-30{z-index:30}
.z-50{z-index:50}
@media(min-width:1024px){
.lg\:-ml-8{margin-left:-2rem}
.lg\:col-span-1{grid-column:span 1/span 1}
.lg\:gap-14{gap:3.5rem}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:mx-0{margin-left:0px;margin-right:0px}
.lg\:pl-2\.5{padding-left:0.625rem}
.lg\:pl-8{padding-left:2rem}
.lg\:py-16{padding-top:4rem;padding-bottom:4rem}
.lg\:self-start{align-self:flex-start}
}
@media(min-width:640px){
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px){
.md\:flex{display:flex}
.md\:flex-row{flex-direction:row}
.md\:gap-x-16{column-gap:4rem}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:h-96{height:24rem}
.md\:hidden{display:none}
.md\:inline-flex{display:inline-flex}
.md\:mb-32{margin-bottom:8rem}
.md\:mt-2{margin-top:0.5rem}
.md\:mt-8{margin-top:2rem}
.md\:p-16{padding:4rem}
.md\:pb-16{padding-bottom:4rem}
.md\:pb-32{padding-bottom:8rem}
.md\:pt-20{padding-top:5rem}
.md\:pt-32{padding-top:8rem}
.md\:py-16{padding-top:4rem;padding-bottom:4rem}
.md\:py-24{padding-top:6rem;padding-bottom:6rem}
.md\:text-2xl{font-size:1.5rem;line-height:2rem}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.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\:text-base{font-size:1rem;line-height:1.5rem}
.md\:text-sm{font-size:0.875rem;line-height:1.25rem}
.md\:text-xl{font-size:1.25rem;line-height:1.75rem}
}

/* --- Supplement: arbitrary values & long-tail utilities --- */
.divide-border > :not([hidden]) ~ :not([hidden]) { border-color: hsl(var(--border)); }
.h-1\/3 { height: 33.3333%; }
.leading-\[1\.05\] { line-height: 1.05; }
.min-h-\[100svh\] { min-height: 100svh; }
.min-h-\[320px\] { min-height: 320px; }
.min-h-\[700px\] { min-height: 700px; }
.min-w-\[180px\] { min-width: 180px; }
.min-w-\[3rem\] { min-width: 3rem; }
.min-w-max { min-width: max-content; }
.overflow-x-auto { overflow-x: auto; }
.scroll-mt-24 { scroll-margin-top: 6rem; }
.text-red-500 { color: #ef4444; }
.mx-\[calc\(10\%\)\] { margin-left: calc(10%); margin-right: calc(10%); }
.hover\:-translate-y-0\.5:hover { transform: translateY(-0.125rem); }
@media (min-width: 1024px) {
  .lg\:grid-cols-\[1fr_auto_1fr\] { grid-template-columns: 1fr auto 1fr; }
  .lg\:grid-cols-\[3fr_7fr\] { grid-template-columns: 3fr 7fr; }
  .lg\:grid-cols-\[1fr_2\.6fr\] { grid-template-columns: 1fr 2.6fr; }
}
@media (min-width: 768px) {
  .md\:\[\&\>\*\:first-child\]\:order-2 > *:first-child { order: 2; }
  .md\:\[\&\>\*\:last-child\]\:order-1 > *:last-child { order: 1; }
}

