:root{
  --color-primary:#0F2027;
  --color-secondary:#1A3A40;
  --color-accent:#00F5A0;
}

html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{font-family:'Source Sans 3',system-ui,sans-serif}

::selection{background:rgba(0,245,160,.25)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid rgba(0,245,160,.8);
  outline-offset:2px;
  border-radius:12px;
}

/* Button fixes */
button,.btn,[class*="btn-"],a[href="#order_form"]{
  white-space:nowrap;
  min-width:fit-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
}

form button[type="submit"]{
  white-space:normal;
  width:100%;
}

/* Media */
img{max-width:100%;height:auto}

/* Animations */
[data-animate]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease-out,transform .6s ease-out;
  will-change:opacity,transform;
}
[data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
}

.rotate-180{transform:rotate(180deg)}

/* Subtle glass effect utility */
.glass{
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.6);
}