:root{
  --color-primary:#0F1729;
  --color-secondary:#1E293B;
  --color-accent:#3B82F6;
}

html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{font-family:'Urbanist',system-ui,sans-serif}

::selection{background:rgba(59,130,246,.25)}

a,button,input,textarea,select{outline-color:var(--color-accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid transparent;
  box-shadow:0 0 0 3px rgba(59,130,246,.35);
}

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%;
}

.site-header{
  background:transparent;
  color:#fff;
  transition:background-color .35s ease, backdrop-filter .35s ease, border-color .35s ease, box-shadow .35s ease;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.site-header .nav-link{color:rgba(255,255,255,.78); transition:color .2s ease}
.site-header .nav-link:hover{color:#fff}
.site-header .header-subbrand{color:rgba(255,255,255,.68)}
.site-header .header-brand{color:#fff}
.site-header .header-icon{color:#fff}
.site-header .mobile-menu{background:rgba(15,23,41,.86); backdrop-filter:blur(14px)}
.site-header .mobile-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 1rem;
  border-radius:1.25rem;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .15s ease, background-color .15s ease, color .15s ease;
}
.site-header .mobile-link:hover{background:rgba(255,255,255,.1); color:#fff; transform:translateY(-1px)}

.header-glow{
  background:
    radial-gradient(1100px 240px at 50% 0%, rgba(59,130,246,.28), rgba(59,130,246,0)),
    linear-gradient(to bottom, rgba(15,23,41,.58), rgba(15,23,41,0));
  opacity:.9;
}

.site-header.is-solid{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(15,23,41,.08);
  box-shadow:0 10px 30px rgba(15,23,41,.08);
}

.site-header.is-solid .header-glow{opacity:.08}
.site-header.is-solid .nav-link{color:rgba(15,23,41,.68)}
.site-header.is-solid .nav-link:hover{color:rgba(15,23,41,1)}
.site-header.is-solid .header-subbrand{color:rgba(15,23,41,.55)}
.site-header.is-solid .header-brand{color:rgba(15,23,41,1)}
.site-header.is-solid .header-icon{color:rgba(15,23,41,1)}
.site-header.is-solid #mobile-menu-btn{ring-color:rgba(15,23,41,.12)}

.footer-link{color:rgba(255,255,255,.72); transition:color .15s ease}
.footer-link:hover{color:#fff}

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

[data-animate]{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease-out, transform .6s ease-out;
  will-change:opacity, transform;
}

[data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-animate]{transition:none; transform:none}
}

.input-error{
  border-color:rgb(239 68 68) !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.15) !important;
}

.form-hint{
  font-size:.875rem;
  line-height:1.25rem;
  color:rgb(75 85 99);
}

.toast{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:1.25rem;
  z-index:110;
  width:min(560px, calc(100% - 2rem));
  padding:1rem 1rem;
  border-radius:1.25rem;
  border:1px solid rgba(15,23,41,.12);
  box-shadow:0 16px 40px rgba(15,23,41,.18);
  background:#fff;
  color:rgb(17 24 39);
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}

.toast .toast-title{font-weight:700}
.toast .toast-desc{font-size:.875rem; color:rgb(75 85 99)}
.toast .toast-icon{
  flex:none;
  width:2.25rem;
  height:2.25rem;
  border-radius:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(59,130,246,.12);
  color:var(--color-accent);
}

.toast .toast-close{
  margin-left:auto;
  border-radius:9999px;
  padding:.35rem;
  border:1px solid rgba(15,23,41,.12);
}
.toast .toast-close:hover{background:rgb(249 250 251)}