/* Utilities used by pages added after the original Tailwind build.
   The shipped stylesheet is pre-compiled, so classes the original design
   never used are absent from it. These fill only those gaps. */

.w-auto{width:auto}
.not-italic{font-style:normal}
.leading-none{line-height:1}
.leading-\[0\.95\]{line-height:.95}

.-mt-1{margin-top:-.25rem}
.mt-3{margin-top:.75rem}
.mt-14{margin-top:3.5rem}
.mb-5{margin-bottom:1.25rem}
.mb-9{margin-bottom:2.25rem}
.mb-10{margin-bottom:2.5rem}
.mb-14{margin-bottom:3.5rem}
.pt-14{padding-top:3.5rem}
.pt-36{padding-top:9rem}
.pt-44{padding-top:11rem}
.pb-20{padding-bottom:5rem}
.pb-32{padding-bottom:8rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.gap-5{gap:1.25rem}

.text-gray-300{color:#d1d5db}
.text-black\/70{color:rgb(0 0 0/.7)}
.tracking-\[0\.2em\]{letter-spacing:.2em}
.tracking-\[0\.25em\]{letter-spacing:.25em}
.text-\[clamp\(2\.5rem\,7vw\,5\.5rem\)\]{font-size:clamp(2.5rem,7vw,5.5rem)}
.text-\[clamp\(5rem\,16vw\,11rem\)\]{font-size:clamp(5rem,16vw,11rem)}

.border-black\/30{border-color:rgb(0 0 0/.3)}
.border-electric-blue\/30{border-color:color-mix(in srgb,var(--color-electric-blue) 30%,transparent)}
.border-white\/\[0\.08\]{border-color:rgb(255 255 255/.08)}

.bg-\[radial-gradient\(circle_at_75\%_20\%\,rgba\(0\,229\,255\,0\.10\)\,transparent_55\%\)\]{
  background-image:radial-gradient(circle at 75% 20%,rgba(0,229,255,.10),transparent 55%)}

.hover\:bg-black:hover{background-color:#000}
.hover\:bg-electric-blue:hover{background-color:var(--color-electric-blue)}
.hover\:bg-lime-400:hover{background-color:var(--color-lime-400)}
.hover\:bg-white\/\[0\.04\]:hover{background-color:rgb(255 255 255/.04)}
.hover\:border-electric-blue\/40:hover{border-color:color-mix(in srgb,var(--color-electric-blue) 40%,transparent)}
.hover\:border-electric-blue\/50:hover{border-color:color-mix(in srgb,var(--color-electric-blue) 50%,transparent)}
.hover\:border-electric-blue\/60:hover{border-color:color-mix(in srgb,var(--color-electric-blue) 60%,transparent)}
.hover\:text-black:hover{color:#000}
.hover\:underline:hover{text-decoration-line:underline}

@media (min-width:768px){
  .md\:h-7{height:1.75rem}
  .md\:items-center{align-items:center}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
}

/* Sections we added fade in on load via CSS only. Deliberately not
   JavaScript driven: a throttled timer or a script error must never be
   able to leave real content invisible. */
@keyframes oz-reveal{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}
[data-reveal]{animation:oz-reveal .7s cubic-bezier(.16,1,.3,1) forwards}

@keyframes oz-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.animate-fade-in{animation:oz-fade-in .6s ease both}

/* the header lockup must keep its aspect ratio; the shipped preflight
   clamps intrinsic width to the flex track without it */
header img[src$="logo-mark.png"],footer img[src$="logo.png"]{width:auto;max-width:none;flex:0 0 auto}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  #cursorDot{display:none!important}
  .cursor-none-wrapper,.cursor-none-wrapper *{cursor:auto!important}
}

/* Minimum comfortable hit area for the card footer links the export ships
   as bare inline anchors. Padding only, so layout is unchanged. */
main a:not([class*="px-"]):not([class*="py-"]):not([class*="p-"]){padding-block:.3rem}
main a[class*="text-sm"],main a[class*="text-xs"]{padding-block:.35rem}
