.container{width:min(100% - calc(var(--layout-edge) * 2),var(--layout-content-max));margin-inline:auto}
.grid-2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2rem,3.2vw,4rem);align-items:center}
.grid-2.reverse{grid-template-columns:.9fr 1.1fr}
.stack>*+*{margin-top:var(--space-3)}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  overflow:hidden;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--c-banner-bg) 90%, var(--c-banner-bg-strong) 10%), var(--c-banner-bg-strong));
  box-shadow:0 14px 34px rgba(8,14,35,.18);
}

.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 18%, rgba(190,255,199,.08), transparent 16%),
    radial-gradient(circle at 84% 12%, rgba(154,190,255,.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 22%);
  pointer-events:none;
}

.site-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:clamp(.42rem, .55vw, .56rem);
  background:linear-gradient(90deg, rgba(190,255,199,.84), rgba(190,255,199,.68));
  pointer-events:none;
}

.header-inner{
  position:relative;
  z-index:1;
  min-height:var(--header-h);
  padding-block:.85rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}
.brand{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto;overflow:visible}
.brand img{display:block;height:36px;width:auto;max-width:min(100%, 248px);flex:none}
.brand-name{font-family:var(--ff-heading);font-weight:700;display:none}
.header-cta{
  white-space:nowrap;
  padding:.7rem 1rem;
  font-size:.92rem;
  line-height:1.05;
}

.js .site-header .header-cta{
  opacity:0;
  transform:translateY(-.3rem) scale(.972);
  filter:saturate(.92) brightness(.96);
  pointer-events:none;
  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    transform .82s cubic-bezier(.16,1,.3,1),
    filter .82s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform,filter;
}

.js .site-header.is-cta-visible .header-cta{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:none;
  pointer-events:auto;
}

.js .site-header .header-cta.is-hidden-hard{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-.32rem) scale(.97) !important;
  filter:none !important;
}

.footer{
  position:relative;
  overflow:hidden;
  padding:clamp(3rem, 5vw, 4rem) 0 clamp(2rem, 3.6vw, 2.7rem);
  color:var(--c-banner-muted);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--c-banner-bg) 90%, var(--c-banner-bg-strong) 10%), var(--c-banner-bg-strong));
}

.footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 14%, rgba(190,255,199,.08), transparent 18%),
    radial-gradient(circle at 82% 16%, rgba(154,190,255,.08), transparent 22%),
    linear-gradient(180deg, rgba(12,18,45,0), rgba(12,18,45,.12) 72%, rgba(12,18,45,.18));
  pointer-events:none;
}

.footer::after{
  content:"";
  position:absolute;
  inset:0 0 auto;
  width:100%;
  height:clamp(.42rem, .55vw, .56rem);
  transform:none;
  background:linear-gradient(90deg, rgba(190,255,199,.84), rgba(190,255,199,.68));
  pointer-events:none;
}

.footer-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.85fr);
  gap:1.65rem;
  align-items:start;
  padding:clamp(.95rem, 1.7vw, 1.2rem) 0 0;
}

.footer-grid::after{
  content:"";
  position:absolute;
  top:8%;
  bottom:4%;
  left:calc(62.5% + .1rem);
  width:1px;
  background:linear-gradient(180deg, rgba(190,255,199,0), rgba(214,224,242,.12) 18%, rgba(214,224,242,.08) 52%, rgba(190,255,199,.16) 84%, rgba(190,255,199,0));
  pointer-events:none;
}
