/* Continuous journey. Original website is only visible during the initial pull. */
.hero-copy button{pointer-events:auto}.hero h1>span{display:inline-block}
.portal-trigger{visibility:hidden;background:#c7f849;color:#141910;box-shadow:inset 0 1px 0 #ffffff80,0 3px 0 #9fc72e,0 7px 20px #758e1b1f;gap:18px}
.portal-trigger.is-ready{visibility:visible;animation:trigger-in .35s ease-out both}
.portal-trigger .crank-symbol{font-size:21px}.portal-trigger:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff80,0 1px 0 #9fc72e}
@keyframes trigger-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
html.portal-locked{overflow:hidden;scroll-behavior:auto}body.portal-locked{position:fixed;width:100%;overflow:hidden}
body.journey-covered>header,body.journey-covered>main,body.journey-covered>footer{visibility:hidden}
#portal-dialog{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;isolation:isolate;animation:none;color:#132114}
#portal-dialog::backdrop{background:transparent;backdrop-filter:none}
#portal-dialog.has-picture{background:#0a190e}
.journey-poster,#journey-video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
#journey-video{z-index:1;opacity:0}
.has-picture #journey-video{opacity:1}
.journey-iris{pointer-events:none;position:absolute;left:50%;top:48%;width:22vmin;height:22vmin;border-radius:50%;transform:translate(-50%,-50%) scale(.15);opacity:0;background:radial-gradient(circle,#031609 48%,#85b437 54%,#e3ffb4 56%,#488b1b 60%,transparent 70%)}
.is-entering .journey-iris{animation:iris 1.45s cubic-bezier(.5,0,.35,1) forwards}
@keyframes iris{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}25%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-50%) scale(2)}100%{opacity:1;transform:translate(-50%,-50%) scale(18)}}
.has-picture .journey-iris{display:none}
.journey-controls{position:absolute;inset:max(20px,env(safe-area-inset-top)) 24px auto;display:flex;justify-content:space-between;align-items:center;z-index:5;gap:16px}
.journey-home{display:block;width:128px;min-height:44px;flex-shrink:0;border-radius:8px;text-decoration:none}.journey-home img{display:block;width:100%;height:auto;filter:url(#portal-white-logo) drop-shadow(0 1px 2px #13211445)}.journey-home:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #18331e}
#exit-portal{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#ffffffd9;color:#132114;font-size:25px;line-height:1;box-shadow:0 2px 12px #0000000a}
#exit-portal:hover{background:white}#skip-journey{position:absolute;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:5;background:#ffffffeb;border:1px solid #ffffff80;padding:12px 16px;border-radius:8px;font-size:12px;color:#172714}
.journey-ending{position:absolute;inset:0;z-index:3;pointer-events:none}
.journey-ending>div{pointer-events:auto}
.field-copy{width:min(440px,calc(100% - 48px));margin:clamp(94px,15vh,160px) auto 0;text-align:center;animation:calm-in .8s cubic-bezier(.2,.8,.2,1) both}
.field-copy:focus{outline:none}
.field-copy .eyebrow{font-size:10px;color:#344d33;letter-spacing:1.6px;margin-bottom:17px}
.field-copy h2{font-size:clamp(40px,4.6vw,62px);line-height:1.02;letter-spacing:-2.7px;font-weight:750}
.field-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;margin:18px auto 24px;color:#344d33;max-width:310px}
.field-copy label{display:block;text-align:left;font-size:12px;font-weight:650;margin:0 0 8px 3px;color:#243e24}
.field-input-row{display:flex;align-items:center;gap:5px;padding:6px;background:#fffffff5;border:1px solid #ffffff;border-radius:13px;box-shadow:0 8px 30px #2f572412}
.field-input-row input{border:0;background:transparent;min-width:0;flex:1;padding:11px 12px;font-size:16px;border-radius:7px;color:#142414;outline-offset:0}
.field-input-row button{flex-shrink:0;border:0;border-radius:8px;background:#18331e;color:#f6ffe9;width:47px;height:47px;font-size:23px;display:grid;place-items:center}
.field-input-row button:hover{background:#28512f}
.field-copy small{display:block;color:#344d33;font-size:11px;line-height:1.5;margin-top:12px}
#field-reveal{background:#ffffffe8;border:1px solid #fff;border-radius:14px;padding:22px;text-align:left;box-shadow:0 8px 30px #2f572412}
#field-reveal h3{font-size:22px;letter-spacing:-.7px;margin:0 0 10px}
#field-reveal p{font-size:13px;line-height:1.5;margin-bottom:18px;color:#344d33}
#field-reveal .button{font-size:13px;width:100%;padding:15px}
@keyframes calm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){
 header{height:86px}header>.logo-brand{width:106px}
 .hero{padding:10px 0 44px}.hero h1{font-size:clamp(34px,10.6vw,45px);line-height:1;letter-spacing:-1.9px}
 /* Follow the video width, not toolbar height; add room above the standing pig. */
 .hero-scene{height:auto;aspect-ratio:980/850;width:calc(100% + 40px);margin:6px 0 10px -20px}
 .hero-scene>:is(video,#hero-animation){object-fit:contain;aspect-ratio:auto}
 .hero-copy .actions .button{font-size:13px;padding:17px 12px;min-height:53px}.hero-copy .actions .secondary{background:none;flex:0 1 42%;border:1px solid #e4e7df}
 .hero-copy>p{font-size:14px;margin-top:19px;max-width:275px}
 .field-copy{margin-top:clamp(100px,17svh,160px);width:calc(100% - 48px);max-width:380px}
 .field-copy h2{font-size:39px;letter-spacing:-1.9px;line-height:1.03}
 .field-copy>p:not(.eyebrow){font-size:14px;margin:15px auto 24px;max-width:235px}
 .field-copy .eyebrow{font-size:9px;margin-bottom:16px}
 .field-copy small{font-size:10px;max-width:250px;margin:12px auto 0}
 .journey-controls{inset:max(15px,env(safe-area-inset-top)) 17px auto}
 .journey-home{width:106px}#exit-portal{width:42px;height:42px}
 #skip-journey{right:18px;bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-height:600px){.field-copy{margin-top:72px}.field-copy h2{font-size:36px}.field-copy>p:not(.eyebrow){margin:10px auto 15px;font-size:13px}.field-copy .eyebrow{display:none}#portal-dialog.is-calm{overflow:auto}.journey-ending{min-height:490px}}
@media(prefers-reduced-motion:reduce){.portal-trigger.is-ready,.field-copy,.is-entering .journey-iris{animation:none}}
@media(max-width:360px){.hero-copy>.actions{flex-direction:column}.hero-copy .actions .button,.hero-copy .actions .secondary{flex:auto;width:100%}.hero-copy .actions .secondary{min-height:42px;padding:12px}.portal-trigger span:not(.crank-symbol){font-size:16px}.field-copy h2{font-size:34px}}

#journey-loading{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#fff;padding:15px 21px;border-radius:12px;box-shadow:0 6px 30px #10230a18;font-size:13px;color:#243e24;white-space:nowrap}

/* Opaque H.264 has the page white baked in; no masking or colour filters. */
.hero-scene>:is(video,#hero-animation){
 position:absolute;top:50%;left:0;width:100%;height:auto;aspect-ratio:1280/722;
 transform:translateY(-50%);filter:none;mix-blend-mode:normal;background:#fff;
}
@media(max-width:700px){
 .hero-scene>:is(video,#hero-animation){left:0;width:100%;height:auto;aspect-ratio:980/722;object-fit:cover;object-position:73.333% center;transform:translateY(-50%)}
}

/* Show the action available on phones, including when Safari blocks autoplay. */
@media(max-width:700px){
}

@media(max-height:600px){.journey-home{width:78px}}

.portal-logo-filter{position:absolute;pointer-events:none;overflow:hidden}

/* Reveal the home mark only after the field is actually visible. */
.journey-home{opacity:0;visibility:hidden;pointer-events:none}
#portal-dialog.field-ready .journey-home{visibility:visible;pointer-events:auto;animation:journey-logo-in 1.8s ease-out both}
@keyframes journey-logo-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#portal-dialog.field-ready .journey-home{animation:none;opacity:1}}
