/* Exyo / interior scenes. The established layouts, typography and navigation stay in place. */
.inner-motion{--inner-lilac:#b6a1e7;--inner-line:#ffffff26;--inner-ease:cubic-bezier(.2,.75,.2,1)}
.inner-motion .inner-hero{isolation:isolate}
.inner-motion .inner-hero>:not(.inner-signal-field){position:relative;z-index:2}
.inner-motion .inner-hero>.hero-seal{position:absolute}
.inner-motion .inner-hero>.contact-symbol{position:absolute}
.inner-signal-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9;mask-image:linear-gradient(90deg,transparent 20%,#000 70%)}
.inner-title-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}
.inner-title-text{display:block;transform:translate3d(0,115%,0);transition:transform 1.15s var(--inner-ease);transition-delay:calc(var(--line,0)*130ms + 90ms);will-change:transform}
.inner-scene-ready .inner-title-text{transform:translate3d(0,0,0)}
.inner-motion .inner-hero .inner-eyebrow{opacity:0;transform:translateY(12px);transition:opacity .6s,transform .7s var(--inner-ease)}
.inner-motion .inner-hero .lede,.inner-motion .inner-hero .hero-meta{opacity:0;transform:translateY(22px);transition:opacity .8s .4s,transform .9s var(--inner-ease) .4s}
.inner-scene-ready .inner-hero .inner-eyebrow,.inner-scene-ready .inner-hero .lede,.inner-scene-ready .inner-hero .hero-meta{opacity:1;transform:none}
.inner-motion .hero-meta>span:last-child{color:var(--inner-lilac)}
.inner-reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:10002;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#7956a9,#d4baf5);pointer-events:none}
.inner-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s var(--inner-ease),transform 1s var(--inner-ease);transition-delay:var(--enter-delay,0ms)}
.inner-reveal.inner-in-view{opacity:1;transform:translate3d(0,0,0)}
.inner-motion .section-index{position:relative;display:flex;align-items:center;gap:28px}
.inner-motion .section-index:after{content:'';height:1px;flex:1;background:currentColor;opacity:.25;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--inner-ease) .2s}
.inner-motion .section-index.inner-in-view:after{transform:scaleX(1)}
/* Images enter as complete compositions. Brand artwork is never enlarged or cropped. */
.inner-motion .archive-img,.inner-motion .studio-mosaic figure{will-change:clip-path}
.inner-motion .archive-project{position:relative;border-radius:0}
.inner-motion .archive-project .archive-meta{transition:border-color .35s}
.inner-motion .archive-project:hover .archive-meta,.inner-motion .archive-project:focus-visible .archive-meta{border-color:#b6a1e7b0}
.inner-motion .archive-project .archive-meta span{transition:color .35s}
.inner-motion .archive-project:hover .archive-meta span{color:#dbc3fa}
.inner-motion .archive-project:hover .archive-img img{transform:none}
.inner-motion .article-card{position:relative}
.inner-motion .article-card h2{transition:color .3s}
.inner-motion .article-card:hover h2,.inner-motion .article-card:focus-visible h2{color:var(--inner-lilac)}
.inner-motion .article-card img{transition:filter .5s}
.inner-motion .article-card:hover img{filter:saturate(1.15)}
.inner-motion .case-visual{display:block}
.inner-motion .case-body h2,.inner-motion .article-prose h2{scroll-margin-top:110px}
.inner-motion .next-project{position:relative;overflow:hidden}
.inner-motion .next-project:before{content:'';position:absolute;inset:0;background:#b6a1e70d;transform:translateX(-101%);transition:transform .55s var(--inner-ease);pointer-events:none}
.inner-motion .next-project:hover:before,.inner-motion .next-project:focus-visible:before{transform:translateX(0)}
.inner-motion .next-project>span,.inner-motion .text-action>span{transition:transform .35s var(--inner-ease),color .35s}
.inner-motion .next-project:hover>span,.inner-motion .text-action:hover>span{transform:translate(6px,-5px);color:var(--inner-lilac)}
/* A project image follows the service row, leaving the original text readable. */
.inner-motion .service-item-exyo{position:relative;isolation:isolate;overflow:visible}
.inner-motion .service-item-exyo:before,.inner-motion .price-col:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(380px circle at var(--pointer-x,50%) var(--pointer-y,50%),#b6a1e714,transparent 75%);opacity:0;transition:opacity .4s}
.inner-motion .service-item-exyo:hover:before,.inner-motion .price-col:hover:before{opacity:1}
.inner-motion .service-item-exyo>span:nth-child(4){font-size:35px;transition:transform .4s}
.inner-motion .service-item-exyo:hover>span:nth-child(4){transform:translate(4px,-4px)}
.inner-motion .service-item-exyo>.inner-service-preview{position:absolute;z-index:3;left:48%;top:50%;width:clamp(120px,17vw,250px);aspect-ratio:1.5;opacity:0;pointer-events:none;transform:translate(-20%,-40%) rotate(-7deg) scale(.9);transition:opacity .35s,transform .5s var(--inner-ease);box-shadow:0 15px 60px #0009;background:#141019;border:1px solid #ffffff24}
.inner-service-preview img{display:block;width:100%;height:100%;object-fit:contain}
.inner-motion .service-item-exyo:hover>.inner-service-preview,.inner-motion .service-item-exyo:focus-visible>.inner-service-preview{opacity:1;transform:translate(0,-50%) rotate(-5deg) scale(1)}
/* A scroll-fed process line connects the established four-step sequence. */
.inner-motion .steps{position:relative;perspective:1200px}
.inner-motion .steps:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(var(--process-progress,0));transform-origin:left;background:var(--inner-lilac);z-index:1;transition:transform .15s linear}
.inner-motion .step{position:relative;padding-bottom:15px;transition:opacity .75s,transform .8s var(--inner-ease),background .4s}
.inner-motion .step>span{display:inline-flex;align-items:center;justify-content:center;min-width:37px;min-height:37px;border:1px solid #b6a1e73d;border-radius:50%;color:var(--inner-lilac);font-size:11px;transition:background .35s,color .35s}
.inner-motion .step:hover>span{background:var(--inner-lilac);color:#17101d}
.inner-motion .step h3{transition:color .35s}
.inner-motion .step:hover h3{color:var(--inner-lilac)}
.inner-motion .price-col{position:relative;isolation:isolate;transition:border-color .3s,transform .5s var(--inner-ease)}
.inner-motion .price-col:hover{border-color:var(--inner-lilac);transform:translateY(-6px)}
.inner-motion .faq-list summary{transition:color .3s}
.inner-motion .faq-list details[open] summary{color:var(--inner-lilac)}
.inner-motion .faq-list summary:after{transition:transform .35s}
.inner-motion .faq-list details[open] summary:after{transform:rotate(180deg)}
/* The service concepts become tangible, explicitly labelled examples. */
.inner-motion .service-demo{perspective:1600px}
.inner-demo-head{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff25;padding-bottom:18px;margin-bottom:40px;font-size:8px;letter-spacing:.13em;line-height:1.7;color:#aa99bd}
.inner-demo-head>span:first-child{color:#d3bcec}
.inner-demo-controls{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff25;margin-top:35px;padding-top:24px;min-height:60px}
.inner-demo-status{font-size:11px;line-height:1.7;letter-spacing:.01em;color:#b5a9c2;max-width:520px;margin:0}
.inner-demo-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #b6a1e77a;background:#b6a1e714;color:#e2cff7;padding:12px 22px;font:500 9px 'DM Sans',sans-serif;letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:background .3s,border-color .3s}
.inner-demo-button:hover{background:#b6a1e72c;border-color:#d0b4f0}
.inner-demo-button:disabled{cursor:wait;opacity:.5}
.inner-motion .kanban p{transition:border-color .35s,background .35s;position:relative}
.inner-motion .kanban p:hover{background:#352b41;border-color:#d2a7fa}
.inner-motion .kanban>div{min-height:245px}
.inner-ai-choices,.inner-device-choices{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 35px}
.inner-example-choice{font:400 10px 'DM Sans',sans-serif;color:#bfb1d0;border:1px solid #ffffff35;border-radius:40px;padding:11px 16px;background:transparent;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.inner-example-choice:hover{border-color:#b6a1e7a6;color:#f0e7f9}
.inner-example-choice[aria-pressed="true"]{border-color:#b6a1e7;background:#b6a1e71d;color:#e8d2ff}
.inner-motion .source-stack>div{transition:border-color .4s,transform .4s,background .4s}
.inner-motion .source-stack>div:hover{transform:translateX(6px);border-color:#b6a1e7;background:#b6a1e70d}
.inner-motion .answer-panel{position:relative;transition:border-color .4s,box-shadow .4s;min-height:375px}
.inner-motion .answer-panel>p:not(.question),.inner-motion .answer-panel .citations{transition:opacity .25s}
.inner-motion .is-consulting .answer-panel>p:not(.question),.inner-motion .is-consulting .answer-panel .citations{opacity:.18}
.inner-motion .is-consulting .answer-panel{border-color:#d0a8fc;box-shadow:0 0 45px #b6a1e71a}
.inner-motion .is-consulting .ai-orb{animation:innerOrbPulse .75s ease-in-out infinite alternate}
@keyframes innerOrbPulse{to{box-shadow:0 0 80px #b886fc4d,inset 0 0 40px #b6a1e733}}
.inner-motion .workflow>div{position:relative;transition:background .4s,border-color .4s;isolation:isolate}
.inner-motion .workflow>div:before{content:'';position:absolute;inset:-12px;z-index:-1;background:linear-gradient(135deg,#b6a1e720,transparent);opacity:0;transition:opacity .4s}
.inner-motion .workflow>div.is-flow-active:before{opacity:1}
.inner-motion .workflow>div.is-flow-active{border-top-color:#e1c5ff}
.inner-motion .workflow>div.is-flow-active b{color:#dfc5ff}
.inner-motion .workflow>div.is-flow-complete{border-top-color:#a4c8b6}
.inner-motion .workflow>div.is-flow-complete small{color:#b9dbcd}
.inner-motion .browser-stage{transition:max-width .7s var(--inner-ease);width:100%}
.inner-motion .browser-stage>img{width:100%;height:auto;max-height:650px;object-fit:contain;object-position:top;background:#111}
.inner-motion .browser-stage[data-device="desktop"]>img{max-height:none}
.inner-motion .browser-stage[data-device="mobile"]{max-width:350px}
.inner-motion .browser-stage[data-device="mobile"]>img{max-height:none}
/* Contact stays a real form; the chips only preselect its existing service field. */
.inner-contact-choices{grid-column:1/-1;padding:0 0 22px;margin:0 0 10px;border:0;border-bottom:1px solid #ffffff25;display:flex;gap:10px;flex-wrap:wrap}
.inner-contact-choices legend{font-size:9px;letter-spacing:.12em;color:#b6a1e7;margin-bottom:22px;padding:0}
.inner-motion .contact-form .inner-contact-choices button{display:inline-flex;grid-column:auto;width:auto;font:400 10px 'DM Sans',sans-serif;letter-spacing:0;color:#bfb1d0;border:1px solid #ffffff35;border-radius:40px;padding:11px 16px;background:transparent;transition:background .3s,color .3s,border-color .3s}
.inner-motion .contact-form .inner-contact-choices button[aria-pressed="true"]{border-color:#b6a1e7;background:#b6a1e71d;color:#e8d2ff}
.inner-motion .contact-form>label{transition:color .35s,opacity .75s,transform .8s var(--inner-ease)}
.inner-motion .contact-form>label:focus-within{color:#e1c9ff}
.inner-motion .contact-form input,.inner-motion .contact-form select,.inner-motion .contact-form textarea{transition:border-color .35s,background .35s}
.inner-motion .contact-form input:focus,.inner-motion .contact-form select:focus,.inner-motion .contact-form textarea:focus{background:linear-gradient(0deg,#b6a1e70c,transparent 85%);border-color:#cdb0f1}
.inner-motion .contact-form>button{position:relative;overflow:hidden;transition:background .4s}
.inner-motion .contact-form>button:hover{background:#c5a9ed}
.inner-motion .contact-form>button>span{transition:transform .35s}
.inner-motion .contact-form>button:hover>span{transform:translate(5px,-4px)}
.inner-motion .inner-footer .footer-cta{transition:color .4s,opacity .75s,transform 1s var(--inner-ease)}
.inner-motion .inner-footer .footer-cta:hover{color:var(--inner-lilac)}
@media(max-width:767px){
 .inner-signal-field{opacity:.65;mask-image:linear-gradient(90deg,transparent,#000 85%)}
 .inner-title-text{transition-duration:.9s}
 .inner-reveal{transform:translateY(24px)}
 .inner-motion .inner-hero>.hero-seal{position:static}
 .inner-motion .service-item-exyo>.inner-service-preview{display:none}
 .inner-motion .service-item-exyo>span:nth-child(4){font-size:26px}
 .inner-motion .steps:before{top:0;bottom:0;left:-12px;right:auto;width:2px;height:auto;transform:scaleY(var(--process-progress,0));transform-origin:top}
 .inner-motion .step>span{min-width:29px;min-height:29px;font-size:9px}
 .inner-demo-head{font-size:6px;gap:16px;margin-bottom:28px;padding-bottom:15px}
 .inner-demo-head>span:last-child{text-align:right}
 .inner-demo-controls{align-items:flex-start;flex-direction:column;gap:18px;margin-top:25px;padding-top:20px}
 .inner-demo-status{font-size:10px}.inner-demo-button{font-size:8px;min-height:40px;padding:11px 16px}
 .inner-motion .kanban>div{min-height:230px}
 .inner-ai-choices,.inner-device-choices{gap:7px;margin-bottom:28px}
 .inner-example-choice{font-size:8px;padding:10px 12px}
 .inner-motion .answer-panel{min-height:350px}
 .inner-motion .browser-stage[data-device="mobile"]{max-width:270px}
 .inner-contact-choices{gap:8px;padding-bottom:20px}
 .inner-contact-choices legend{font-size:8px;margin-bottom:18px}
 .inner-motion .contact-form .inner-contact-choices button{font-size:9px;padding:10px 12px}
 .inner-motion .section-index{gap:15px;line-height:1.5}.inner-motion .section-index:after{max-width:18vw}
}
@media(prefers-reduced-motion:reduce){
 .inner-motion .inner-title-text,.inner-motion .inner-reveal,.inner-motion .inner-hero .inner-eyebrow,.inner-motion .inner-hero .lede,.inner-motion .inner-hero .hero-meta,.inner-motion .exyo-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .inner-motion .ai-orb:before,.inner-motion .hero-seal img,.inner-motion .is-consulting .ai-orb{animation:none!important}
 .inner-motion .section-index:after{transform:none}
 .inner-motion .steps:before{transition:none}
 .inner-motion .service-item-exyo>.inner-service-preview{transition:none}
}
.inner-motion .studio-mosaic figure:hover img[src="/assets/brand/studio-sign.webp"]{transform:none}
.inner-motion .contact-form>button{color:#211329}
