/* Shared stages. No pinned scroll, mandatory autoplay or content hidden by JS. */
:root{--world-paper:#f7f8f6;--world-ink:#111719;--world-muted:#687178;--world-line:#d9dcda}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body.journey-page{margin:0;background:var(--world-paper);color:var(--world-ink)}
.journey-page *{box-sizing:border-box}.journey-page a{color:inherit;text-decoration:none}.journey-page main img{display:block;max-width:100%;filter:none;opacity:1}.journey-page main button{font:inherit;color:inherit}.journey-page :focus-visible{outline:2px solid #165bcc;outline-offset:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-10rem;left:1rem;z-index:1100;background:#111;color:#fff!important;padding:1rem}.skip-link:focus{top:1rem}
.journey-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;z-index:1000;background:#111;pointer-events:none}
/* Give each isolated blend group an opaque paper backdrop; otherwise the image's white rectangle survives. */
.world{position:relative;min-height:100svh;background:var(--world-paper);isolation:isolate;overflow:clip;display:flex;align-items:center;scroll-margin-top:0}
.world-label{position:absolute;z-index:5;left:24px;top:120px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:#687178;font:500 10px/1.2 'Inter',sans-serif;letter-spacing:.08em}
.world-label span:first-child{font-size:14px;color:#15191c}.world-label span:last-child{writing-mode:vertical-rl;margin-top:5px;letter-spacing:.16em}
.world-ghost{position:absolute;z-index:-2;top:8%;right:2%;font:500 clamp(8rem,21vw,24rem)/.86 'Space Grotesk',sans-serif;letter-spacing:-.085em;color:#e4e7e4;user-select:none;pointer-events:none;white-space:nowrap}
.world-art{position:absolute;z-index:-1;inset:0;pointer-events:none;mix-blend-mode:darken;mask-image:none}.world-art img{width:100%;height:100%;object-fit:contain}
.world-copy{position:relative;z-index:2;width:34%;margin-left:12%;padding:110px 0 100px}
.world-copy h1,.world-copy h2{margin:0;font:500 clamp(2.6rem,4.85vw,6rem)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.065em;text-wrap:balance}
.world-copy p{margin:26px 0;color:#687178;font-size:clamp(.92rem,1.1vw,1.05rem);line-height:1.65;max-width:34ch}
.world-copy .micro,.micro{font:500 10px/1.4 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.13em;color:#687178}
.world-copy .text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;min-height:44px;margin-top:10px}.world-copy .text-link:hover{text-decoration:underline;text-underline-offset:5px}
.world-access .world-ghost{top:23%;right:1%;font-size:24.4vw;letter-spacing:-.087em}
.access-art{width:min(44vw,640px);height:75%;inset:8% 8% auto auto;mask-image:none;mix-blend-mode:normal}.access-art img{object-fit:contain;transform:scaleX(-1)}
.access-copy{margin-left:13%;width:52%;padding-top:32vh;padding-bottom:10vh}.access-copy h1{font-size:clamp(3rem,5.7vw,6.9rem);max-width:12ch}.access-copy h1 span{color:#737b7d}.access-copy p{font-size:12px;max-width:none}
.access-signature{position:absolute;right:4%;bottom:32px;font-size:10px;color:#687178;letter-spacing:.04em}.world-next{position:absolute;bottom:32px;left:13%;display:flex;gap:26px;align-items:center;font-size:11px;min-height:44px}.world-next span:last-child{font-size:20px}
.world-systems .world-copy,.world-plugins .world-copy{margin-left:61%;width:32%}.world-systems .world-art,.world-plugins .world-art{left:-8%;right:8%}.world-systems .world-art{right:15%}.world-systems .world-ghost,.world-plugins .world-ghost{right:2%;top:9%}.world-agents .world-ghost{left:9%;right:auto}
.journey-page .world-next{color:#687178}.world-next svg{flex:none}
@keyframes ae-invite-pulse{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}
@media(prefers-reduced-motion:no-preference){.world-next.is-visible svg{animation:ae-invite-pulse 1.6s ease-in-out 3}}
.world-disclosure{margin-top:30px;border-top:1px solid var(--world-line);border-bottom:1px solid var(--world-line);width:min(100%,340px)}
.world-disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:56px;font:500 16px 'Space Grotesk',sans-serif;cursor:pointer;gap:16px}.world-disclosure summary::-webkit-details-marker{display:none}.world-disclosure summary span{font-size:22px;font-weight:400;transition:transform .2s}.world-disclosure[open] summary span{transform:rotate(45deg)}
.disclosure-body{padding:0 0 22px;animation:fold-in .28s cubic-bezier(.16,1,.3,1);transform-origin:top}.disclosure-body p{font-size:13px;margin:0 0 14px}.disclosure-body a{font-size:12px;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;gap:16px}
.world-products{min-height:125svh;align-items:flex-start;display:block;padding-bottom:60px}.world-products .world-copy{padding-top:20vh;padding-bottom:0}.world-products .world-art{height:86vh;top:0;mask-image:none}.world-products .world-ghost{left:9%;right:auto;font-size:19vw}
.product-gallery{position:relative;z-index:3;margin:28vh 4% 0 12%;width:84%}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;color:#687178}.gallery-controls>div{display:flex;gap:4px}
.gallery-controls button{border:1px solid var(--world-line);border-radius:50%;width:44px;height:44px;background:var(--world-paper);cursor:pointer;transition:background .2s}.gallery-controls button:hover{background:#e8eae6}.gallery-controls button:disabled{opacity:.3;cursor:default}
.product-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b3b9b6 transparent;padding:10px 0 25px;align-items:flex-start}
.product-object{flex:0 0 32%;min-width:260px;border-top:1px solid #cdd2cf;scroll-snap-align:start;perspective:1000px;background:var(--world-paper)}.product-object summary{position:relative;display:flex;list-style:none;align-items:center;justify-content:center;height:205px;cursor:pointer;border-right:1px solid #d9dcda;transition:background .25s}.product-object summary::-webkit-details-marker{display:none}.product-object summary:hover{background:#edefeb}
.product-mark{display:block;font-family:'Space Grotesk',sans-serif;line-height:.92;letter-spacing:-.08em;font-weight:500;color:#111;transition:transform .45s cubic-bezier(.16,1,.3,1)}.product-object[open] .product-mark{transform:scale(.87) rotateX(8deg)}
.mark-echo{font-size:72px}.echo-point{color:#165bcc}.mark-harvest{font-size:35px;letter-spacing:-.07em}.harvest-lines{display:inline-block;padding-left:6px;transform:rotate(-12deg)}.mark-cognitive{font-size:29px;letter-spacing:-.07em}.mark-cognitive>span{display:block;font-size:58px;letter-spacing:-.09em}.mark-skills{display:flex;gap:10px;align-items:center;font-size:34px}.mark-skills img{width:55px;height:55px;object-fit:contain}
.object-affordance{position:absolute;right:17px;bottom:16px;font-size:20px;transition:transform .2s}.product-object[open] .object-affordance{transform:rotate(45deg)}.product-fold{padding:8px 24px 24px;transform-origin:top;animation:fold-in .36s cubic-bezier(.16,1,.3,1);border-right:1px solid var(--world-line)}.product-fold p{color:#687178;font-size:14px;line-height:1.6;max-width:28ch;margin:15px 0}.product-fold a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;text-decoration:underline;text-underline-offset:5px}
@keyframes fold-in{from{opacity:0;transform:rotateX(-18deg) translateY(-8px)}to{opacity:1;transform:none}}
.world-contact{min-height:110svh;display:block;padding-bottom:50px}.world-contact .world-copy{padding-top:23vh;padding-bottom:14vh;width:56%}.world-contact .world-copy h2{font-size:clamp(3rem,6.5vw,8rem)}
.contact-arm{position:absolute;right:-26%;top:0;width:80%;height:95%;z-index:-1;pointer-events:none;mix-blend-mode:darken}.contact-arm img{height:100%;width:100%;object-fit:contain}
.solid-link{display:inline-flex;align-items:center;gap:60px;min-height:56px;padding:0 24px;background:#101619;color:#fff!important;border-radius:999px;font-size:13px}.solid-link:hover{background:#303739}
.contact-routes{display:flex;gap:18px;flex-wrap:wrap;max-width:480px;margin-top:22px}.contact-routes a{font-size:11px;border-bottom:1px solid #cdd2cf;min-height:44px;display:flex;align-items:center}
.contact-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;position:relative;margin-left:12%;width:76%;border-top:1px solid var(--world-line);padding-top:30px}.contact-foot>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.contact-foot .micro{margin-bottom:8px}.contact-foot a{font-size:12px;display:flex;align-items:center;min-height:44px}
.journey-footer{display:flex;justify-content:space-between;gap:25px;padding:32px 4%;font-size:10px;color:#687178;border-top:1px solid var(--world-line)}.anchor-alias{position:absolute;top:0;left:0}.no-script-contact{margin:2rem 12%;font-size:14px}
@media(min-width:1700px){.world-copy{max-width:600px}.access-art img{object-fit:contain}}
@media(max-width:900px){.world-label{left:15px;top:80px;font-size:9px}.world-label span:first-child{font-size:12px}.world-copy h1,.world-copy h2{font-size:clamp(2.4rem,5.3vw,4rem)}.world-copy p{font-size:13px}.world-systems .world-copy,.world-plugins .world-copy{margin-left:57%;width:37%}.world-systems .world-art,.world-plugins .world-art{left:-12%;right:12%}.product-object{flex-basis:46%}.contact-arm{right:-36%;width:95%}}
@media(min-width:601px) and (max-width:900px) and (max-height:500px){.world-systems .world-art,.world-plugins .world-art{top:110px}.world-systems .world-art img,.world-plugins .world-art img{object-position:left center}}
@media(max-width:600px){
 /* Copy follows the art box, not a separate viewport percentage. Reserve 24px for scroll motion. */
 .world{--world-art-top:175px;--world-art-height:min(48svh,96vw);--world-copy-top:calc(var(--world-art-top) + var(--world-art-height) + 24px);min-height:950px;min-height:115svh;display:block}.world-label{left:12px;top:80px;gap:8px}.world-ghost{font-size:23vw;top:95px;right:5%;left:auto}
 .world-copy,.world-systems .world-copy,.world-plugins .world-copy{width:auto;margin:0 28px 0 58px;padding:var(--world-copy-top) 0 60px}.world-copy h1,.world-copy h2{font-size:clamp(2.6rem,10vw,4rem);line-height:1.02;letter-spacing:-.065em}.world-copy p{font-size:14px;margin:18px 0}
 .world-art{inset:var(--world-art-top) 0 auto!important;width:100%;height:var(--world-art-height);mask-image:none}.world-art img{object-fit:contain;object-position:65% center}
 .world-systems .world-art,.world-plugins .world-art{left:-18%!important;width:144%;height:var(--world-art-height)}.world-systems .world-art img,.world-plugins .world-art img{object-fit:contain;object-position:left center}
 .world-agents .world-art{left:-46%!important;width:145%}.world-agents .world-art img{object-fit:contain}.world-ghost,.world-agents .world-ghost,.world-systems .world-ghost,.world-plugins .world-ghost{top:110px;left:55px;right:auto}
 .world-access{--world-art-top:90px;--world-art-height:min(52svh,120vw);min-height:100svh}.world-access .world-ghost{top:27%;font-size:24vw;left:8px;right:auto}.access-art{inset:var(--world-art-top) 3% auto auto!important;width:80%;height:var(--world-art-height);mask-image:none}.access-art img{object-fit:contain}
 .access-copy{padding:var(--world-copy-top) 0 110px!important;margin-left:58px;width:calc(100% - 78px)}.access-copy h1{font-size:clamp(2.6rem,10.5vw,4rem)}.access-copy p{font-size:11px;max-width:26ch;line-height:1.7}.access-signature{display:none}.world-next{bottom:20px;left:58px}.world-access .world-label{top:32%}
 .world-products{min-height:0;padding-bottom:70px}.world-products .world-copy{padding-top:var(--world-copy-top);padding-bottom:0}.world-products .world-art{left:-35%!important;width:135%;height:var(--world-art-height)}.world-products .world-art img{object-fit:contain}.world-products .world-ghost{top:110px;left:55px;font-size:21vw}
 .product-gallery{margin:40px 0 0 58px;width:calc(100% - 58px)}.gallery-controls{padding-right:22px}.product-object{flex-basis:84%;min-width:0}.product-object summary{height:180px}
 .world-contact{min-height:0}.world-contact .world-copy{width:auto;padding:44vh 0 50px;margin:0 26px 0 58px}.world-contact .world-copy h2{font-size:11vw}.contact-arm{top:30px;right:-52%;width:125%;height:52vh}.contact-foot{margin-left:58px;width:calc(100% - 84px);grid-template-columns:1fr 1fr;gap:30px 15px}.contact-foot>div:last-child{grid-column:1/-1}.contact-routes{gap:5px 15px}.journey-footer{flex-direction:column;padding:30px 28px 30px 58px;gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-page *, .journey-page *::before,.journey-page *::after{animation:none!important;transition:none!important}.world-art,.world-ghost,[data-motion-title]{transform:none!important}}
