:root{
  --frey-primary:#c1121f;
  --frey-primary-dark:#8f0f18;
  --frey-dark:#11161d;
  --frey-dark-soft:#1b2430;
  --frey-surface:#f5f7fa;
  --frey-white:#ffffff;
  --frey-text:#1f2937;
  --frey-muted:#667085;
  --frey-border:#d9dee7;
  --frey-metal:#8892a0;

  --frey-container:1280px;
  --frey-radius-sm:10px;
  --frey-radius-md:16px;
  --frey-radius-lg:24px;
  --frey-shadow-sm:0 10px 30px rgba(17,22,29,.08);
  --frey-shadow-md:0 18px 60px rgba(17,22,29,.14);
  --frey-transition:all .28s ease;
}

*,
*::before,
*::after{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:Inter, Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height:1.65;
  color:var(--frey-text);
  background:var(--frey-white);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body.menu-open{
  overflow:hidden;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
  transition:var(--frey-transition);
}

ul{margin:0; padding:0; list-style:none;}
p{margin:0 0 1rem;}
h1,h2,h3,h4,h5,h6{
  margin:0 0 1rem;
  line-height:1.15;
  color:var(--frey-dark);
  font-weight:700;
}
h1{font-size:clamp(2rem,4vw,4rem);}
h2{font-size:clamp(1.65rem,3vw,2.8rem);}
h3{font-size:clamp(1.15rem,2vw,1.45rem);}

.frey-container{
  width:min(100% - 32px, var(--frey-container));
  margin-inline:auto;
}

.site-main{
  min-height:60vh;
}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.frey-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:48px;
  padding:0 1.1rem;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  border:1px solid transparent;
  transition:var(--frey-transition);
  cursor:pointer;
}

.frey-btn--primary{
  background:linear-gradient(135deg, var(--frey-primary), var(--frey-primary-dark));
  color:var(--frey-white);
  box-shadow:0 10px 24px rgba(193,18,31,.24);
}

.frey-btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(193,18,31,.28);
}

.frey-btn--ghost{
  background:transparent;
  color:var(--frey-dark);
  border-color:rgba(17,22,29,.14);
}

.frey-btn--ghost:hover{
  background:var(--frey-dark);
  color:var(--frey-white);
  border-color:var(--frey-dark);
}

.frey-btn--block{
  width:100%;
}

.reveal-up{
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.9s ease,
    transform 0.9s cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}

.reveal-up.is-visible{
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .reveal-up,
  .reveal-up.is-visible{
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 767px){
  .frey-container{
    width:min(100% - 20px, var(--frey-container));
  }
}