/* The generated footage is the entire opening viewport. */
.hero{height:600vh;min-height:0;background:#050505}
.hero-sticky{position:sticky;top:0;width:100%;height:100svh;min-height:0;max-height:none;padding:0;overflow:hidden}
.hero .monitor-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;transform:none;mask-image:none;-webkit-mask-image:none;z-index:0}
.hero .monitor-stage:after{content:none;box-shadow:none}
.hero .monitor-stage img,.hero .monitor-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#050505}
#hero-snake{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}
.quote-btn{position:relative;z-index:4}
.quote-btn.is-pointed{background:#f4f1ea;color:#111;animation:quotePulse .7s ease-out infinite}
.hero-sticky{position:sticky;top:0;width:100%;height:100svh;min-height:0;max-height:none;padding:0;overflow:hidden}
.hero .monitor-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;transform:none;mask-image:none;-webkit-mask-image:none;z-index:0}
.hero .monitor-stage:after{content:none;box-shadow:none}
.hero .monitor-stage img,.hero .monitor-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#050505}
.hero h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero .monitor-stage:has(#hero-canvas.ready) #hero-poster{opacity:0}
.can-media:has(#can-canvas.ready) #can-poster{opacity:0}
.hero-topline{display:none}
.site-header{background:linear-gradient(to bottom,rgba(0,0,0,.66),transparent);text-shadow:0 1px 8px #000}
.hero-bottom{bottom:0;left:0;right:0;padding:55px var(--gutter) max(24px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:22px;z-index:3;background:linear-gradient(to top,rgba(0,0,0,.72),transparent);text-shadow:0 1px 8px #000}
.quote-btn{margin-left:auto;border:1px solid #f4f1ea;padding:10px 18px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;color:#f4f1ea}
.quote-btn:hover{background:#f4f1ea;color:#111;text-decoration:none}
.hero-bottom>p{font-size:14px}
.hero-bottom .motion-count{display:none}
.hero-bottom .scroll-cue{display:block;width:180px}
.hero-bottom .progress-track{margin-top:10px}
.hero-project-link{display:none}
.can-stage{height:320vh;background:#111}
.can-sticky{position:sticky;top:0;width:100%;height:100svh;overflow:hidden}
.can-media{position:absolute;inset:0}
.can-media img,.can-media canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.can-media canvas{opacity:0;transition:opacity .2s}
.can-media canvas.ready{opacity:1}
.can-stage h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.can-overlay{position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;display:flex;align-items:flex-end;padding:0 var(--gutter) 18vh;transition:opacity .55s ease}
.can-overlay.is-on{opacity:1}
.can-services{margin:0;padding:0;list-style:none}
.can-services li{font-family:Archivo,Arial,sans-serif;font-size:clamp(34px,6vw,88px);line-height:.95;letter-spacing:-.05em;font-weight:700;color:#fff;opacity:0;transform:translate3d(0,36px,0);filter:blur(8px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1),filter .65s cubic-bezier(.22,1,.36,1)}
.can-services li.is-on{opacity:1;transform:none;filter:none}
.can-services li+li{margin-top:8px}
.can-bar{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:28px var(--gutter) max(16px,env(safe-area-inset-bottom));color:#f3efe8;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:opacity .4s ease}
.can-stage.is-locked .can-bar{opacity:0}
.can-cue{width:120px}
.can-cue .progress-track{background:rgba(255,255,255,.28);margin-top:8px;height:1px}
.can-cue .progress-track span{background:#fff}
.dream{position:relative;min-height:260vh;background:#000;color:#fff}
.dream-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center}
#sky{position:absolute;inset:0;width:100%;height:100%;display:block}
#dream-title{position:relative;z-index:1;margin:0;padding:0 var(--gutter);text-align:center;font-size:clamp(36px,6.4vw,92px);line-height:1;letter-spacing:-.04em;font-weight:700;text-shadow:0 16px 50px rgba(0,0,0,.55);pointer-events:none}
.ig-feed{background:#0b0b0b;color:#f4f1ea;padding:6vh 0 0}
.ig-kicker{margin:0 0 28px;padding:0 var(--gutter);font-size:13px;letter-spacing:.08em;text-align:center}
.ig-kicker a{border-bottom:1px solid currentColor;padding-bottom:3px}
.feed-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:none;width:100%;margin:0}
.feed-rail a,.feed-rail figure{margin:0;color:inherit;text-decoration:none;display:block}
.feed-rail img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
@media(max-width:640px){
  .site-header nav>a{display:none!important}
  .site-header nav>a[href="#work"],.site-header nav>.nav-contact{display:inline-flex!important}
  .hero .monitor-stage,.can-media{
    inset:0;
    top:0;
    left:0;
    width:100%;
    max-width:none;
    height:100%;
    aspect-ratio:auto;
    transform:none;
  }
  .hero .monitor-stage img,.hero .monitor-stage canvas,
  .can-media img,.can-media canvas{object-fit:cover;background:#050505}
  .can-services li{font-size:clamp(28px,9vw,48px)}
  .can-bar{font-size:11px}
  .feed-rail{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;width:100%}
  .hero-sticky{height:100svh;min-height:0;max-height:none}
  .hero-bottom{padding-top:55px;gap:24px}
  .hero-bottom>p{font-size:12px}
  .hero-bottom .scroll-cue{width:140px;font-size:10px}
  .brand>span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .can-stage{height:100svh}
  .can-sticky{position:relative}
  .can-cue .progress-track{display:none}
  .can-overlay{opacity:1}
  .can-services li{opacity:1;transform:none;filter:none}
  .dream{min-height:100svh}
  .dream-sticky{position:relative}
}
@media(prefers-reduced-motion:reduce){.hero{height:100svh;min-height:0}.hero-sticky{position:relative}.hero-bottom .progress-track{display:none}#hero-snake{display:none}}
@keyframes quotePulse{0%{box-shadow:0 0 0 0 rgba(244,241,234,.9);transform:scale(1)}55%{box-shadow:0 0 0 26px rgba(244,241,234,0);transform:scale(1.08)}100%{box-shadow:0 0 0 0 rgba(244,241,234,0);transform:scale(1)}}
.quote-page{background:#111;color:#f0f0e9;min-height:100svh}
.quote-header{position:relative;inset:auto}
.quote-main{max-width:34rem;padding:8vh var(--gutter) 12vh}
.quote-kicker{margin:0 0 18px;font-size:11px;letter-spacing:.32em;text-transform:uppercase;opacity:.7}
.quote-main h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.045em;line-height:.95;margin:0 0 18px}
.quote-lead{margin:0 0 40px;max-width:28em;opacity:.8}
.quote-sent{padding:18px 0;font-size:18px}
.quote-main form{display:grid;gap:18px}
.quote-main label{display:grid;gap:8px;font-size:13px}
.quote-main label span{opacity:.5}
.quote-main input,.quote-main select,.quote-main textarea{background:#1a1a1a;border:1px solid #333;color:#f0f0e9;padding:12px 14px;border-radius:0}
.quote-main fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.quote-main legend{font-size:13px;margin-bottom:4px}
.quote-main .check{display:flex;align-items:center;gap:10px}
.quote-main .honey{position:absolute;left:-9999px;height:0;width:0;opacity:0}
@media(max-width:640px){.quote-btn{margin-left:0}}
