/* Home page as a presentation: one big centred statement per full-screen slide. */
html { scroll-snap-type: y proximity; }
.deck { margin-top: -72px; }
.slide { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 110px 28px 90px; scroll-snap-align: start; overflow: hidden; }
.slide-in { max-width: 1060px; display: flex; flex-direction: column; align-items: center; gap: 26px; }
.slide--paper { background: #f6f7fa; color: #0b0d12; }
.slide--ink { background: #0b0d12; color: #fff; }
.slide--blue { background: #2b14f0; color: #fff; }

.slide-kicker { font-size: .82rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .7; }
.slide--paper .slide-kicker { color: #2b14f0; opacity: 1; }
.slide-h { font-family: 'Archivo Expanded', 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.3rem, 6.2vw, 5.6rem); line-height: 1.04; letter-spacing: -.035em; max-width: 16ch; }
.slide-h--xl { font-size: clamp(2.6rem, 8vw, 7.4rem); max-width: 12ch; }
.slide-h .w { display: inline-block; white-space: pre; }
.slide-p { max-width: 34em; font-size: clamp(1.02rem, 1.5vw, 1.3rem); line-height: 1.6; opacity: .82; }
.slide-link { font-weight: 600; font-size: 1.05rem; border-bottom: 2px solid currentColor; padding-bottom: 3px; transition: opacity .15s; }
.slide-link:hover { opacity: .75; }
.slide-btn { display: inline-flex; align-items: center; gap: 12px; padding: 18px 30px; background: #fff; color: #2b14f0; font-weight: 700; font-size: 1.02rem; transition: transform .15s, background .15s, color .15s; }
.slide--ink .slide-btn { background: #2b14f0; color: #fff; }
.slide-btn:hover { transform: translateY(-2px); }
.slide-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 40px; font-family: 'Archivo Expanded', 'Archivo', system-ui, sans-serif; font-weight: 700; font-size: clamp(1.4rem, 3vw, 2.4rem); letter-spacing: -.02em; }
.slide-contact a { border-bottom: 2px solid transparent; }
.slide-contact a:hover { border-bottom-color: #6c5cff; }

.cue { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.cue i { width: 1px; height: 38px; background: currentColor; animation: cue 1.8s ease-in-out infinite; transform-origin: top; }
@keyframes cue { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

.deck-dots { position: fixed; right: 22px; top: 50%; transform: translateY(-50%); z-index: 60; display: flex; flex-direction: column; gap: 14px; }
.deck-dots button { width: 11px; height: 11px; padding: 0; border: 1.5px solid currentColor; background: transparent; cursor: pointer; transition: background .2s, transform .2s; color: #0b0d12; }
.deck-dots button[aria-current="true"] { background: currentColor; transform: scale(1.25); }
.deck-count { position: fixed; left: 28px; bottom: 26px; z-index: 60; font-size: .85rem; font-weight: 600; letter-spacing: .08em; font-variant-numeric: tabular-nums; color: #0b0d12; }
.deck-on-dark .deck-dots button, .deck-on-dark .deck-count { color: #fff; }

@media (max-width: 720px) {
  .deck-dots { display: none; }
  .deck-count { left: 18px; bottom: calc(80px + env(safe-area-inset-bottom)); }
  .slide { padding: 100px 20px 140px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-snap-type: none; } .cue i { animation: none; } }
