:root{
  --orange: #f78721;
  --cream: #edebd1;
  --dark: #272727;
  --pad: clamp(18px, 4vw, 56px);
}

*{ box-sizing: border-box; }
html, body { height: 100%; }

body{
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--orange);
  color: var(--cream);
}

/* Native scrolling + scroll-snap */
.scroller{
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  scroll-snap-stop: always;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Hide scrollbar (optional) */
.scroller::-webkit-scrollbar{ width: 0; height: 0; }
.scroller{ scrollbar-width: none; }

.slide{
  height: 100vh;
  width: 100vw;
  background: var(--orange);
  position: relative;
  overflow: hidden;
  scroll-snap-align: start;
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; }

/* Fixed payoff block top-right */
.payoff-fixed{
  position: fixed;
  top: -9px;
  right: 16px;
  z-index: 80;
  display: grid;
  gap: 6px;
  pointer-events: none;
}

.payoff-fixed img{
  height: 18px; /* tweak if needed */
  width: auto;
  opacity: .95;
}

/* Slide 1 */
.home{
  height: 100%;
  padding: var(--pad);
  display: grid;
  place-items: center;
  text-align: center;
}

.home__center{
  display: grid;
  place-items: center;
  gap: clamp(10px, 1.8vw, 18px);
}

.home__logo{
  width: min(760px, 74vw); /* big logo */
  height: auto;
  display: block;
}

.home__sub{
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-size: clamp(12px, 1.6vw, 18px);
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}

/* Slide 2 */
.center{
  height: 100%;
  display: grid;
  place-items: center;
  padding: var(--pad);
  text-align: center;
}

.soon__text{
  margin: 0;
  font-weight: 600;
  font-size: clamp(22px, 3vw, 40px);
  color: rgba(255,255,255,.95);
}

/* Slide 3 */
.contact{
  height: 100%;
  padding: var(--pad);
  display: grid;
  align-content: center;
  gap: 14px;
  max-width: 1000px;
}

.contact__title{
  margin: 0 0 6px;
  color: var(--dark);
  font-weight: 600;
  font-size: clamp(26px, 3vw, 44px);
}

.contact__line{
  margin: 0;
  font-weight: 600;
  font-size: clamp(18px, 2.3vw, 34px);
  color: rgba(255,255,255,.95);
}

.contact__link{
  font-weight: 600;
  color: rgba(255,255,255,.98);
}

/* Dots nav */
.dots{
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  gap: 10px;
  z-index: 90;
}

.dotbtn{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.75);
  background: rgba(255,255,255,.20);
  cursor: pointer;
  padding: 0;
}

.dotbtn.is-active{
  background: rgba(255,255,255,.95);
}

@media (max-width: 520px){
  .dots{ right: 10px; }
  .payoff-fixed img{ height: 16px; }
}
