/* Sharp source assets and a dedicated invitation motion system. */
.site-header .logo img,.explore-home img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply;image-rendering:auto}
.site-header .logo{padding:7px 10px}
.hill-world[data-hill-image=remember] img{object-position:50% 56%;transform:translate3d(var(--hill-x),calc(var(--hill-y) + var(--hill-scroll)),0) scale(1.035)}
.hill-shade{background:linear-gradient(90deg,rgba(7,20,16,.77),rgba(7,20,16,.12) 76%),linear-gradient(0deg,rgba(7,20,16,.92),transparent 45%,rgba(7,20,16,.2))}
.intro-playing .hill-world[data-hill-image=remember] img{animation:hill-sharp-arrival 7s cubic-bezier(.16,1,.3,1) both}
@keyframes hill-sharp-arrival{from{transform:scale(1.12)}to{transform:scale(1.035)}}
.movement-banner{isolation:isolate;gap:4%;padding-block:72px;background:#ed7236}
.movement-banner>div{position:relative;z-index:1}
.movement-banner>div:first-child{flex:1.3;min-width:0}
.movement-banner>div:last-child{flex:.9;min-width:0}
.movement-banner .eyebrow{margin-bottom:24px;letter-spacing:.13em}
.movement-banner h2{font-size:clamp(58px,7.5cqw,112px);line-height:.86;letter-spacing:-.025em;clip-path:none;transform:none}
.movement-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.035em}
.movement-line>span{display:block;transform-origin:left bottom}
.movement-outline{color:transparent;-webkit-text-stroke:1.35px var(--ink)}
.movement-banner .star{flex:0 0 13%;font-size:clamp(75px,11cqw,160px);text-align:center;color:var(--paper);animation:movement-turn 24s linear infinite;animation-play-state:paused;position:relative;z-index:0}
.movement-banner .star:before,.movement-banner .star:after{content:'';position:absolute;border:1px solid #1a1a1a40;border-radius:50%;inset:-21%;pointer-events:none}
.movement-banner .star:after{inset:-42%;border-style:dashed;opacity:.5}
.movement-banner.movement-visible .star{animation-play-state:running}
.movement-entered .movement-line>span{animation:movement-type-in 1s cubic-bezier(.16,1,.3,1) both}
.movement-entered .movement-line:nth-child(2)>span{animation-delay:.16s}
.movement-banner:after{content:'';position:absolute;left:0;bottom:0;height:5px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}
.movement-banner.movement-entered:after{animation:movement-rule 1.4s .2s cubic-bezier(.16,1,.3,1) forwards}
.movement-cta{position:relative;isolation:isolate;overflow:hidden;min-height:55px;gap:25px;padding:12px 14px 12px 22px}
.movement-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 34%,#ffffff20 48%,transparent 62%);transform:translateX(-130%);pointer-events:none}
.movement-cta.movement-visible:before{animation:movement-glint 5s 1.1s ease-in-out infinite}
.movement-label{display:inline-flex;gap:.3em;overflow:hidden;line-height:1.5}
.movement-label>span{display:inline-block}
.movement-cta.movement-entered .movement-label>span{animation:movement-cta-in .65s cubic-bezier(.16,1,.3,1) both}
.movement-cta.movement-entered .movement-label>span:nth-child(2){animation-delay:.08s}
.movement-cta.movement-entered .movement-label>span:nth-child(3){animation-delay:.16s}
.movement-arrow{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;font-size:21px;line-height:1;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.movement-cta:hover .movement-arrow,.movement-cta:focus-visible .movement-arrow{transform:rotate(45deg);background:var(--paper);color:var(--ink)}
.movement-cta.pale:hover .movement-arrow,.movement-cta.pale:focus-visible .movement-arrow{background:var(--ink);color:var(--paper)}
.movement-page h1{font-size:clamp(78px,12cqw,172px);line-height:.86;max-width:1100px;position:relative;z-index:1}
.movement-page .header-orbit{opacity:.8}
.movement-page .lead{position:relative;z-index:1}
.movement-page.movement-entered .header-rule{animation:movement-rule 1.5s .25s cubic-bezier(.16,1,.3,1) both;transform-origin:left}
@keyframes movement-type-in{from{transform:translateY(110%) rotate(3deg);opacity:0}to{transform:none;opacity:1}}
@keyframes movement-cta-in{from{transform:translateY(115%)}to{transform:none}}
@keyframes movement-turn{to{transform:rotate(360deg)}}
@keyframes movement-rule{to{transform:scaleX(1)}}
@keyframes movement-glint{0%,65%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}
.page-hidden .movement-banner *,.page-hidden .movement-cta:before{animation-play-state:paused!important}
.motion-off .movement-line>span,.wireframe .movement-line>span{transform:none!important;opacity:1!important}
.motion-off .movement-banner:after,.wireframe .movement-banner:after{animation:none!important;transform:scaleX(1)}
.motion-off .movement-cta:before,.wireframe .movement-cta:before{display:none}
@container(max-width:700px){
 .hill-world[data-hill-image=remember] img{object-position:53% center}
 .hill-shade{background:linear-gradient(90deg,#071410ba,#07141033),linear-gradient(0deg,#071410eb,transparent 64%,#07141066)}
 .movement-banner{display:block;padding:46px 22px 40px}
 .movement-banner h2{font-size:15cqw;line-height:.92;max-width:90%}
 .movement-banner .eyebrow{font-size:12px;max-width:80%;margin-bottom:18px}
 .movement-banner .star{position:absolute;right:-10px;top:90px;font-size:90px;opacity:.35}
 .movement-banner>div:last-child{margin-top:25px}
 .movement-banner p{max-width:290px;position:relative;z-index:1}
 .movement-banner .movement-cta{font-size:14px;margin-top:5px}
 .movement-page h1{font-size:17cqw;line-height:.95;margin-block:30px}
}
@media(prefers-reduced-motion:reduce){
 .movement-line>span,.movement-label>span{animation:none!important;transform:none!important;opacity:1!important}
 .movement-banner .star,.movement-page .header-rule,.movement-banner:after{animation:none!important;transform:none!important}
 .movement-cta:before{display:none}.movement-arrow{transition:none!important}
 .intro-playing .hill-world[data-hill-image=remember] img{animation:none!important;transform:none!important}
}
/* Keep the membership content within the phone-width review canvas. */
.movement-page .header-orbit{opacity:.22}
.movement-page+.section.split>div{min-width:0}
@container(max-width:700px){
 .movement-page+.section h2{font-size:14cqw;line-height:.94;overflow-wrap:anywhere}
 .movement-page+.section .eyebrow{font-size:12px;letter-spacing:.08em;overflow-wrap:anywhere}
 .movement-page+.section .form-grid,.movement-page+.section .field{min-width:0;max-width:100%}
 .movement-page+.section input,.movement-page+.section select,.movement-page+.section textarea{min-width:0;max-width:100%;box-sizing:border-box}
}
