@font-face{
  font-family:"ABCDiatypeExpanded";
  src:url("https://y1nrmnwgpdmg1oxw.public.blob.vercel-storage.com/FONTS/ABCDiatypeExpanded-Light-Trial.woff2") format("woff2"),
      url("https://y1nrmnwgpdmg1oxw.public.blob.vercel-storage.com/FONTS/ABCDiatypeExpanded-Light-Trial.otf") format("opentype");
  font-weight:300; font-style:normal; font-display:swap;
}

:root{
  --bg:#fff;
  --text:#111;
  --muted:#666;
  --line:#e6e6e6;
  --hero-cta-font-size: calc(48px * .8);
  --hero-cta-line-height: 0.5;
  --hero-cta-letter-spacing: -0.015em;
  --hero-cta-padding-x: 28px;
  --hero-cta-padding-y: 32px;
  --hero-cta-min-w: 0px;
  --hero-cta-min-h: 0px;
  --hero-cta-dots-gap: 90px;
  --hero-dot-size: 20px;
  --hero-dots-gap: 12px;
  --hero-cta-offset-y: 0px;
  --cards-gap-x: 5px;
  --cards-gap-y: 15px;
  --card-aspect: 3/4;
  --cards-radius: 0;
  --cards-button-padding-x: 14px;
  --cards-button-padding-y: 8px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
button{font:inherit}

.container{max-width:1280px; margin:0 auto; padding:0 20px}
.container.wide{max-width:1440px}

.hero{max-width:none; margin:0; padding:0}
.hero-full{height:100svh; position:relative}
.hero-full .banner{position:relative; height:100%; overflow:hidden}
.banner-rail{display:flex; height:100%; will-change:transform; transform:translateX(0); transition:transform .6s ease}
.banner-rail .slide{min-width:100%; height:100%; position:relative}
.banner-rail .slide img{width:100%; height:100%; object-fit:cover; object-position:center}

.hero-cta{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%, calc(-50% + var(--hero-cta-offset-y)));
  background:#000; color:#fff; text-decoration:none;
  padding: var(--hero-cta-padding-y) var(--hero-cta-padding-x);
  min-width: var(--hero-cta-min-w);
  min-height: var(--hero-cta-min-h);
  font-family:"ABCDiatypeExpanded", system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  font-weight:300; font-synthesis-weight:none;
  font-size:var(--hero-cta-font-size);
  line-height:var(--hero-cta-line-height);
  letter-spacing:var(--hero-cta-letter-spacing);
  text-align:center;
  border:none; border-radius:0;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  -webkit-text-size-adjust:100%;
  white-space:nowrap;
}

.banner-dots{
  position:absolute; left:50%; top: calc(50% + var(--hero-cta-offset-y));
  transform: translate(-50%, 0);
  margin-top: var(--hero-cta-dots-gap);
  display:flex; gap:var(--hero-dots-gap);
  bottom:auto;
}
.banner-dots button{
  width:var(--hero-dot-size); height:var(--hero-dot-size);
  border-radius:999px; border:0; cursor:pointer;
  background:rgba(255,255,255,.85);
  transition:opacity .15s ease, transform .15s ease;
}
.banner-dots button.active{ background:#fff }
.banner-dots button:active{ transform:scale(.96) }

.home-cards{padding-block:40px}
.card-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  column-gap: var(--cards-gap-x);
  row-gap: var(--cards-gap-y);
}
@media (max-width:1000px){
  .card-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
  .card-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

.card-cta{position:relative; overflow:hidden; border-radius:var(--cards-radius)}
.card-cta img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  aspect-ratio: var(--card-aspect);
  border-radius:var(--cards-radius);
}
.card-cta .btn-center{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  background:#fff; color:#111; border:0; border-radius:0;
  padding:var(--cards-button-padding-y) var(--cards-button-padding-x);
  font-weight:600; letter-spacing:-0.015em;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  cursor:pointer; white-space:nowrap;
}
.card-cta a.btn-center{ text-decoration:none; display:inline-block }

.cta-bottom{ display:grid; place-items:center; padding:36px 0 56px }
.hero-cta-bottom{
  position:static; transform:none; box-shadow:0 8px 28px rgba(0,0,0,.28);
  border-radius:0;
}

.footer{margin:48px 0 36px; padding-top:16px; border-top:1px solid var(--line); color:#777; font-size:14px}

@media (max-width:960px){
  :root{
    --hero-cta-font-size: calc(48px * .55);
    --hero-cta-padding-y: calc(64px * .55);
    --cards-gap-x: 10px;
    --cards-gap-y: 12px;
    --card-aspect: 2/3;
  }
  .home-cards.container{padding-left:10px; padding-right:10px}
  .card-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--cards-gap-x);
    row-gap: var(--cards-gap-y);
  }
  .card-cta{ margin:0 !important }
  .hero-full{ height:76svh }
}

.hero .hero-cta{
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 1px;
  text-decoration-thickness: 1px;
  box-shadow: none !important;
}

.hero-cta-bottom{
  background:#000 !important;
  color:#fff !important;
  border:0 !important;
  text-decoration:none !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28) !important;
}

.card-cta .btn-center,
.card-cta a.btn-center{
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.card-cta .btn-center:hover,
.card-cta .btn-center:focus-visible{
  opacity:.9; outline:0;
}
