/* =========================================================================
   ZHONGDA OIL REFINERY — utilities.css
   A focused Tailwind-compatible utility layer covering exactly the classes
   used across the site (equivalent output to the original Tailwind build).
   ========================================================================= */

/* ---------- display / position ---------- */
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}
.grid{display:grid}.hidden{display:none}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}
.top-3{top:.75rem}.top-4{top:1rem}.left-3{left:.75rem}.left-4{left:1rem}.right-3{right:.75rem}.right-4{right:1rem}
.top-1\/2{top:50%}.left-1\/2{left:50%}
.-top-5{top:-1.25rem}.-top-6{top:-1.5rem}.-bottom-5{bottom:-1.25rem}.-bottom-6{bottom:-1.5rem}
.-left-5{left:-1.25rem}.-left-6{left:-1.5rem}.-right-5{right:-1.25rem}.-right-6{right:-1.5rem}
.top-\[1px\]{top:1px}.top-\[60\%\]{top:60%}
.top-\[calc\(var\(--navbar-height\,4rem\)\+3px\)\]{top:calc(var(--navbar-height,4rem) + 3px)}
.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-\[100\]{z-index:100}
.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}
.pointer-events-none{pointer-events:none}
.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}

/* ---------- flex / grid ---------- */
.flex-col{flex-direction:column}.flex-wrap{flex-direction:row;flex-wrap:wrap}
.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0,.shrink-0{flex-shrink:0}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-baseline{align-items:baseline}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.self-start{align-self:flex-start}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}
.gap-x-5{column-gap:1.25rem}.gap-x-8{column-gap:2rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-6{row-gap:1.5rem}
.space-x-1\.5>*+*{margin-left:.375rem}
.space-y-1>*+*{margin-top:.25rem}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-2>*+*{margin-top:.5rem}
.space-y-2\.5>*+*{margin-top:.625rem}.space-y-3>*+*{margin-top:.75rem}.space-y-3\.5>*+*{margin-top:.875rem}
.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}

/* ---------- sizing ---------- */
.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.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-12{width:3rem}.w-16{width:4rem}
.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-auto{width:auto}.w-full{width:100%}
.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.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-24{height:6rem}.h-28{height:7rem}.h-52{height:13rem}.h-56{height:14rem}.h-60{height:15rem}
.h-72{height:18rem}.h-96{height:24rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}
.h-\[400px\]{height:400px}
.h-\[calc\(100vh-\(var\(--navbar-height\,4rem\)\+3px\)\)\]{height:calc(100vh - (var(--navbar-height,4rem) + 3px))}
.min-h-\[600px\]{min-height:600px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}
.min-w-full{min-width:100%}
.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}
.max-h-\[850px\]{max-height:850px}.max-h-\[85vh\]{max-height:85vh}
.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-\[4\/3\]{aspect-ratio:4/3}

/* ---------- margin / padding ---------- */
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}
.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-auto{margin-top:auto}
.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}
.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.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-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}
.ml-2\.5{margin-left:.625rem}.ml-4{margin-left:1rem}.-ml-1{margin-left:-.25rem}
.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}
.mr-2\.5{margin-right:.625rem}.mr-3{margin-right:.75rem}.mr-3\.5{margin-right:.875rem}.mr-4{margin-right:1rem}
.mr-5{margin-right:1.25rem}
.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}
.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.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}
.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-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}
.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}
.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-16{padding-bottom:4rem}
.pl-5{padding-left:1.25rem}.pl-10{padding-left:2.5rem}

/* ---------- typography ---------- */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-md,.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-7xl{font-size:4.5rem;line-height:1}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.font-heading{font-family:'Lexend Deca','Inter',system-ui,sans-serif}
.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}
.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}
.text-left{text-align:left}.text-center{text-align:center}
.uppercase{text-transform:uppercase}.italic{font-style:italic}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-disc{list-style-type:disc;padding-left:1.25rem}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- colors : backgrounds ---------- */
.bg-background{background-color:hsl(var(--background))}
.bg-card{background-color:hsl(var(--card))}.bg-card\/50{background-color:hsl(var(--card)/.5)}
.bg-card\/80{background-color:hsl(var(--card)/.8)}.bg-card\/95{background-color:hsl(var(--card)/.95)}
.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}
.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}
.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}
.bg-primary\/50{background-color:hsl(var(--primary)/.5)}.bg-primary\/60{background-color:hsl(var(--primary)/.6)}
.bg-primary\/80{background-color:hsl(var(--primary)/.8)}
.bg-secondary{background-color:hsl(var(--secondary))}
.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/10{background-color:hsl(var(--accent)/.1)}.bg-accent\/80{background-color:hsl(var(--accent)/.8)}
.bg-border{background-color:hsl(var(--border))}
.bg-black{background-color:#000}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/85{background-color:rgba(0,0,0,.85)}
.bg-white\/10{background-color:rgba(255,255,255,.1)}.bg-white\/20{background-color:rgba(255,255,255,.2)}
.bg-gray-900{background-color:#111827}
.bg-opacity-0{--tw-bg-opacity:0}
.bg-gradient-to-r{background-image:linear-gradient(to right,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-gradient-primary-secondary{background-image:linear-gradient(135deg,hsl(var(--primary)) 0%,hsl(var(--secondary)) 100%)}
.from-primary{--tw-gradient-stops:hsl(var(--primary)),var(--tw-gradient-to,transparent)}
.from-primary\/90{--tw-gradient-stops:hsl(var(--primary)/.9),var(--tw-gradient-to,transparent)}
.from-primary\/5{--tw-gradient-stops:hsl(var(--primary)/.05),var(--tw-gradient-to,transparent)}
.from-background{--tw-gradient-stops:hsl(var(--background)),var(--tw-gradient-to,transparent)}
.from-black\/70{--tw-gradient-stops:rgba(0,0,0,.7),var(--tw-gradient-to,transparent)}
.via-primary\/90{--tw-gradient-stops:hsl(var(--primary)),hsl(var(--primary)/.9),var(--tw-gradient-to,transparent)}
.via-background{--tw-gradient-stops:hsl(var(--background)),hsl(var(--background)),var(--tw-gradient-to,transparent)}
.via-black\/40{--tw-gradient-stops:rgba(0,0,0,.01),rgba(0,0,0,.4),var(--tw-gradient-to,transparent)}
.via-black\/50{--tw-gradient-stops:rgba(0,0,0,.01),rgba(0,0,0,.5),var(--tw-gradient-to,transparent)}
.to-secondary{--tw-gradient-to:hsl(var(--secondary))}
.to-background{--tw-gradient-to:hsl(var(--background))}
.to-transparent{--tw-gradient-to:transparent}

/* ---------- colors : text ---------- */
.text-foreground{color:hsl(var(--foreground))}
.text-foreground\/30{color:hsl(var(--foreground)/.3)}.text-foreground\/60{color:hsl(var(--foreground)/.6)}
.text-foreground\/70{color:hsl(var(--foreground)/.7)}.text-foreground\/75{color:hsl(var(--foreground)/.75)}
.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-foreground\/90{color:hsl(var(--foreground)/.9)}
.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}
.text-primary-foreground\/70{color:hsl(var(--primary-foreground)/.7)}.text-primary-foreground\/80{color:hsl(var(--primary-foreground)/.8)}
.text-primary-foreground\/90{color:hsl(var(--primary-foreground)/.9)}
.text-secondary{color:hsl(var(--secondary))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}
.text-accent{color:hsl(var(--accent))}.text-accent-foreground{color:hsl(var(--accent-foreground))}
.text-muted-foreground{color:hsl(var(--muted-foreground))}
.text-destructive{color:hsl(var(--destructive))}
.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}
.text-green-600{color:#16a34a}.text-red-500{color:#ef4444}

/* ---------- borders ---------- */
.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}
.border-t{border-top-width:1px}.border-t-4{border-top-width:4px}.border-b{border-bottom-width:1px}
.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}
.border-dashed{border-style:dashed}
.border-border{border-color:hsl(var(--border))}.border-border\/20{border-color:hsl(var(--border)/.2)}
.border-input{border-color:hsl(var(--input))}
.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary)/.2)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}
.border-accent{border-color:hsl(var(--accent))}.border-accent\/50{border-color:hsl(var(--accent)/.5)}
.border-white\/20{border-color:rgba(255,255,255,.2)}
.border-gray-300{border-color:#d1d5db}.border-gray-700\/30{border-color:rgba(55,65,81,.3)}.border-gray-700\/50{border-color:rgba(55,65,81,.5)}

.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}
.rounded-md{border-radius:calc(var(--radius) - 1px)}.rounded-lg{border-radius:var(--radius)}
.rounded-xl{border-radius:calc(var(--radius) + 4px)}
.rounded-l-md{border-top-left-radius:calc(var(--radius) - 1px);border-bottom-left-radius:calc(var(--radius) - 1px)}
.rounded-r-md{border-top-right-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}
.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 2px)}

/* ---------- shadows / rings / effects ---------- */
.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0/.05)}
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0/.25)}
.shadow-inner{box-shadow:inset 0 2px 4px 0 rgb(0 0 0/.05)}
.shadow-subtle{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.shadow-medium{box-shadow:0 5px 15px rgba(0,0,0,.08)}
.shadow-strong{box-shadow:0 10px 25px rgba(0,0,0,.1),0 5px 10px rgba(0,0,0,.04)}
.ring-2{box-shadow:0 0 0 2px var(--tw-ring-color,hsl(var(--ring)))}
.ring-4{box-shadow:0 0 0 4px var(--tw-ring-color,hsl(var(--ring)))}
.ring-primary{--tw-ring-color:hsl(var(--primary))}.ring-primary\/20{--tw-ring-color:hsl(var(--primary)/.2)}
.ring-accent\/20{--tw-ring-color:hsl(var(--accent)/.2)}.ring-accent\/30{--tw-ring-color:hsl(var(--accent)/.3)}.ring-accent\/50{--tw-ring-color:hsl(var(--accent)/.5)}
.ring-gray-900{--tw-ring-color:#111827}
.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}
.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}
.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px)}.backdrop-blur-lg{backdrop-filter:blur(16px)}
.object-contain{object-fit:contain}.object-cover{object-fit:cover}

/* ---------- transforms / transitions ---------- */
.transform{transform:var(--tw-transform)}
.rotate-45{transform:rotate(45deg)}.rotate-180{transform:rotate(180deg)}.rotate-\[10deg\]{transform:rotate(10deg)}
.-translate-x-1\/2{transform:translateX(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}
.transition{transition-property:color,background-color,border-color,box-shadow,transform,opacity;transition-duration:.15s}
.transition-all{transition-property:all;transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color;transition-duration:.15s}
.transition-opacity{transition-property:opacity;transition-duration:.15s}
.transition-shadow{transition-property:box-shadow;transition-duration:.15s}
.transition-transform{transition-property:transform;transition-duration:.15s}
.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}

.hover\:underline:hover{text-decoration:underline}
.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-accent:hover{color:hsl(var(--accent))}
.hover\:text-white:hover{color:#fff}
.hover\:bg-accent\/90:hover{background-color:hsl(var(--accent)/.9)}.hover\:bg-secondary\/90:hover{background-color:hsl(var(--secondary)/.9)}
.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary)/.1)}.hover\:bg-background\/50:hover{background-color:hsl(var(--background)/.5)}
.hover\:bg-black\/60:hover{background-color:rgba(0,0,0,.6)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}
.hover\:bg-white\/20:hover{background-color:rgba(255,255,255,.2)}
.hover\:border-primary:hover{border-color:hsl(var(--primary))}
.hover\:scale-110:hover{transform:scale(1.1)}.hover\:scale-102:hover{transform:scale(1.02)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.hover\:\!bg-accent:hover{background-color:hsl(var(--accent)) !important}
.hover\:\!bg-secondary:hover{background-color:hsl(var(--secondary)) !important}
.hover\:\!bg-white:hover{background-color:#fff !important}
.hover\:\!text-accent-foreground:hover{color:hsl(var(--accent-foreground)) !important}
.hover\:\!text-primary:hover{color:hsl(var(--primary)) !important}
.hover\:\!text-secondary-foreground:hover{color:hsl(var(--secondary-foreground)) !important}
.focus\:outline-none:focus{outline:none}
.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary))}

.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:opacity-20{opacity:.2}
.group:hover .group-hover\:opacity-30{opacity:.3}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}
.group:hover .group-hover\:scale-110{transform:scale(1.1)}
.group:hover .group-hover\:shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.group:hover .group-hover\:text-accent{color:hsl(var(--accent))}
.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}
.group:hover .group-hover\:translate-x-0\.5{transform:translateX(.125rem)}
.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}
.group:hover .group-hover\:rotate-\[15deg\]{transform:rotate(15deg)}
.group:hover .group-hover\:bg-opacity-50{background-color:rgba(0,0,0,.5)}
.group\/link:hover .group-hover\/link\:translate-x-0\.5{transform:translateX(.125rem)}
.group[data-state="open"] .group-data-\[state\=open\]\:rotate-180{transform:rotate(180deg)}

/* ---------- misc / animations ---------- */
.no-print-in-area{}
.printable-area{}

/* ---------- responsive breakpoints ---------- */
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:gap-3\.5{gap:.875rem}.sm\:gap-4{gap:1rem}
  .sm\:h-56{height:14rem}.sm\:h-60{height:15rem}
  .sm\:mb-0{margin-bottom:0}.sm\:mr-4{margin-right:1rem}
}
@media (min-width:768px){
  .md\:flex{display:flex}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}
  .md\:justify-between{justify-content:space-between}
  .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-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}
  .md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-12{grid-column:span 12/span 12}
  .md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}
  .md\:h-96{height:24rem}
  .md\:mb-0{margin-bottom:0}.md\:mb-12{margin-bottom:3rem}.md\:mb-16{margin-bottom:4rem}
  .md\:mt-0{margin-top:0}.md\:mt-8{margin-top:2rem}
  .md\:mx-0{margin-left:0;margin-right:0}
  .md\:p-10{padding:2.5rem}
  .md\:pb-20{padding-bottom:5rem}.md\:pt-28{padding-top:7rem}
  .md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}
  .md\:text-left{text-align:left}
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}.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-4xl{font-size:2.25rem !important}.md\:\!text-5xl{font-size:3rem !important}.md\:\!text-xl{font-size:1.25rem !important}
  .md\:w-1\/2{width:50%}.md\:w-auto{width:auto}
}
@media (min-width:1024px){
  .lg\:flex{display:flex}.lg\:hidden{display:none}
  .lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-3{grid-column:span 3/span 3}
  .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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:gap-16{gap:4rem}
  .lg\:h-\[500px\]{height:500px}
  .lg\:mt-0{margin-top:0}
  .lg\:text-7xl{font-size:4.5rem;line-height:1}
  .lg\:w-1\/3{width:33.3333%}
}

/* important-marked one-offs used inline */
.\!border-accent{border-color:hsl(var(--accent)) !important}
.\!border-secondary{border-color:hsl(var(--secondary)) !important}
.\!border-white{border-color:#fff !important}
.\!leading-tight{line-height:1.25 !important}
.\!mb-0{margin-bottom:0 !important}.\!mb-1{margin-bottom:.25rem !important}.\!mb-1\.5{margin-bottom:.375rem !important}
.\!mb-2{margin-bottom:.5rem !important}.\!mb-2\.5{margin-bottom:.625rem !important}.\!mb-3{margin-bottom:.75rem !important}
.\!mb-4{margin-bottom:1rem !important}.\!mb-5{margin-bottom:1.25rem !important}
.\!px-5{padding-left:1.25rem !important;padding-right:1.25rem !important}
.\!px-8{padding-left:2rem !important;padding-right:2rem !important}
.\!px-10{padding-left:2.5rem !important;padding-right:2.5rem !important}
.\!py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}
.\!py-3{padding-top:.75rem !important;padding-bottom:.75rem !important}
.\!py-3\.5{padding-top:.875rem !important;padding-bottom:.875rem !important}
.\!rounded-full{border-radius:9999px !important}
.\!text-2xl{font-size:1.5rem !important}.\!text-3xl{font-size:1.875rem !important}.\!text-4xl{font-size:2.25rem !important}
.\!text-accent{color:hsl(var(--accent)) !important}.\!text-base{font-size:1rem !important}
.\!text-left{text-align:left !important}.\!text-lg{font-size:1.125rem !important}
.\!text-primary-foreground\/80{color:hsl(var(--primary-foreground)/.8) !important}
.\!text-secondary{color:hsl(var(--secondary)) !important}.\!text-white{color:#fff !important}.\!text-xs{font-size:.75rem !important}

/* dark-mode green LCD accent (used with .dark toggle off by default) */
.dark\:text-green-400{color:#4ade80}
.dark\:bg-black\/20{background-color:rgba(0,0,0,.2)}

/* ---------- additional utilities (found via coverage check) ---------- */
.bg-transparent{background-color:transparent}
.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}
.h-\[18px\]{height:18px}.w-\[18px\]{width:18px}
.hover\:bg-card:hover{background-color:hsl(var(--card))}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-muted:hover{background-color:hsl(var(--muted))}
.hover\:border-primary\/50:hover{border-color:hsl(var(--primary)/.5)}
.opacity-70{opacity:.7}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.scale-105{transform:scale(1.05)}
@media (min-width:768px){ .md\:text-foreground{color:hsl(var(--foreground))} }
@media (min-width:640px){ .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem} .sm\:text-sm{font-size:.875rem;line-height:1.25rem} }

/* lang switcher / reveal containers (behaviour classes, minimal base styling) */
.reveal{}
.lang-switcher{}
