.hero-section-wrapper{position:relative}
.m3d-hero-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;display:block}
.cta-logo-holder.m3d-live .cta-line{height:90px}
.m3d-flow{position:relative;height:260vh;background:var(--colors--bg-color,#fbf9f5)}
.m3d-flow-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;overflow:hidden;padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
.m3d-flow-head{flex:none;padding-bottom:0}
.m3d-flow-head .title em{font-style:italic}
.m3d-flow-head .paragraph-holder{max-width:560px}
.m3d-flow-stage{position:relative;flex:1;min-height:0}
.m3d-flow-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.m3d-flow-glow{position:absolute;width:46vw;height:46vw;max-width:620px;max-height:620px;border-radius:50%;filter:blur(90px);opacity:.55;z-index:0;pointer-events:none}
.m3d-glow-b{background:var(--gradients--gradient-01,#b7ebf8);left:-8vw;top:10%}
.m3d-glow-p{background:var(--gradients--gradient-02,#ffc1a9);right:-8vw;top:25%}
.m3d-flow-label{position:absolute;left:0;top:0;z-index:2;opacity:0;font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-size:clamp(22px,2.4vw,32px);line-height:1;color:#000;white-space:nowrap;pointer-events:none;will-change:transform,opacity}
.m3d-flow-progress{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateX(-50%);width:120px;height:2px;border-radius:2px;background:#0000001a;overflow:hidden;z-index:3}
.m3d-flow-progress span{display:block;height:100%;width:calc(var(--p,0)*100%);background:var(--colors--accent-color,#7990f8)}
@media (max-width:767px){.m3d-flow{height:220vh}.m3d-flow-sticky{padding-top:calc(env(safe-area-inset-top,0px) + 72px)}.m3d-flow-head .paragraph-holder p{font-size:15px}}
@media (prefers-reduced-motion:reduce){.m3d-flow{height:auto}.m3d-flow-sticky{position:relative;height:auto;min-height:720px}.m3d-flow-stage{height:460px;flex:none}}
.m3d-off .m3d-flow{display:none}

/* ---------- shared ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#services,#work,#about,#contact{scroll-margin-top:84px}
.title em{font-style:italic}
.mx-tag-left{align-self:flex-start;display:inline-flex}

/* ---------- services ---------- */
.mx-services{position:relative;padding:40px 0 60px;background:var(--colors--bg-color,#fbf9f5)}
.mx-services-head{padding-bottom:10px}
.mx-services-head .paragraph-holder{max-width:540px}
.mx-services-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;overflow:visible}
.mx-services-visual{position:relative;height:100%}
.mx-services-sticky{position:sticky;top:max(96px,calc(50vh - 250px));aspect-ratio:1/1;max-height:560px;width:100%;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#ffffff 0%,#f6f1ea 100%);border:1px solid #0000000d;box-shadow:0 30px 80px -40px #7b6a5a55}
.mx-morph-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.mx-morph-glow{position:absolute;width:70%;height:70%;border-radius:50%;filter:blur(60px);opacity:.7;z-index:0}
.mx-glow-b{background:var(--gradients--gradient-01,#b7ebf8);left:-18%;top:-10%}
.mx-glow-p{background:var(--gradients--gradient-02,#ffc1a9);right:-18%;bottom:-12%}
.mx-morph-count{position:absolute;left:24px;bottom:20px;z-index:2;font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-size:44px;line-height:1;color:#000}
.mx-morph-total{font-size:20px;color:#0006;margin-left:6px}
.mx-services-list{display:flex;flex-direction:column;gap:18px;padding:40px 0 18vh}
.mx-service{position:relative;padding:30px 30px 28px;border-radius:24px;background:#ffffffb3;border:1px solid #0000000a;transition:background .45s,box-shadow .45s,transform .45s,opacity .45s;opacity:.55;min-height:36vh;display:flex;flex-direction:column;justify-content:center}
.mx-service.is-active{opacity:1;background:#fff;box-shadow:0 24px 60px -30px #6e5a4a4d;transform:translateX(-6px)}
.mx-service-num{font-size:13px;letter-spacing:.08em;color:var(--colors--accent-color,#7990f8);font-weight:600;margin-bottom:10px}
.mx-service-title{font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.05;margin:0 0 12px}
.mx-service p{margin:0 0 18px;color:#000c;max-width:460px}
.mx-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.mx-chips li{font-size:13px;padding:6px 12px;border-radius:30px;background:#f5f1ec;color:#000b}
.mx-service.is-active .mx-chips li{background:var(--colors--acent-color-low-opacity,#7990f81a);color:#3d4ea8}

/* ---------- work ---------- */
.mx-work{position:relative;padding:60px 0 40px}
.mx-work .paragraph-holder{max-width:560px}
.mx-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;perspective:1200px}
.mx-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:0%;position:relative;display:flex;flex-direction:column;border-radius:24px;background:#fff;border:1px solid #0000000d;color:#000;text-decoration:none;overflow:hidden;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;box-shadow:0 20px 50px -34px #6e5a4a66}
.mx-card:hover{box-shadow:0 34px 70px -34px #6e5a4a80;transition:transform .12s linear,box-shadow .5s}
.mx-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy),#ffffff99,#fff0 45%);opacity:0;transition:opacity .4s}
.mx-card:hover::after{opacity:1}
.mx-card-ui{position:relative;margin:14px 14px 0;border-radius:16px;padding:12px;height:216px;overflow:hidden;background:linear-gradient(150deg,#eaf8fc,#fdf1ea);transform:translateZ(30px)}
.mx-card-body{padding:20px 24px 24px;transform:translateZ(18px)}
.mx-card-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--colors--accent-color,#7990f8);font-weight:600;margin-bottom:6px}
.mx-card-body h3{font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-weight:400;font-size:30px;line-height:1.05;margin:0 0 8px}
.mx-card-body p{margin:0;font-size:15px;color:#000b}
.mx-ui-bar{display:flex;align-items:center;gap:5px;margin-bottom:10px;font-size:11px;color:#0008}
.mx-ui-bar i{width:7px;height:7px;border-radius:50%;background:#0000001f}
.mx-ui-bar span{margin-left:6px;font-weight:500}
/* inbox */
.mx-mail{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:12px}
.mx-mail b{font-weight:600}.mx-mail em{font-style:normal;color:#0007;font-size:11px}
.mx-mail-ai{margin-left:16px;background:#111;color:#fff;animation:mxIn 5s infinite}
.mx-mail-ai em{color:#fff9}
.mx-mail-ai:nth-of-type(5){animation-delay:1.2s}
.mx-spark{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#b7ebf8,#ffc1a9);flex:none}
@keyframes mxIn{0%,12%{opacity:0;transform:translateY(6px)}22%,88%{opacity:1;transform:none}100%{opacity:0}}
/* leads */
.mx-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px;align-items:center;background:#fff;border-radius:8px;padding:7px 9px;margin-bottom:5px;font-size:11.5px}
.mx-row-h{background:transparent;color:#0008;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;padding-block:2px}
.mx-ok{color:#2c8a5b}.mx-dim{color:#0007;animation:mxBlink 1.4s infinite}
.mx-pill{justify-self:start;padding:2px 8px;border-radius:20px;background:#0000000d;font-size:10.5px}
.mx-pill-b{background:#b7ebf8}.mx-pill-p{background:#ffc1a9}.mx-pill-a{background:#7990f8;color:#fff}
@keyframes mxBlink{50%{opacity:.35}}
/* content */
.mx-slides{position:relative;height:130px}
.mx-slide{position:absolute;width:118px;height:118px;border-radius:12px;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 24px -14px #0006;transition:transform .5s}
.mx-slide b{font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-weight:400;font-size:19px;line-height:1}.mx-slide em{font-style:normal;font-size:11px;opacity:.7}
.mx-slide-1{left:4%;background:#111;color:#fff;transform:rotate(-7deg);z-index:3}
.mx-slide-2{left:34%;top:6px;background:#fff;transform:rotate(2deg);z-index:2}
.mx-slide-3{left:62%;top:0;background:#ffc1a9;transform:rotate(8deg);z-index:1}
.mx-card:hover .mx-slide-1{transform:rotate(-11deg) translateX(-6px)}.mx-card:hover .mx-slide-3{transform:rotate(12deg) translateX(8px)}
.mx-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:14px}
.mx-cal i{height:16px;border-radius:5px;background:#ffffffb3}.mx-cal i.on{background:#7990f8}
/* portal */
.mx-portal{display:flex;gap:8px;height:170px}
.mx-side{width:34px;background:#111;border-radius:10px;padding:8px 7px;display:flex;flex-direction:column;gap:7px}
.mx-side i{height:14px;border-radius:4px;background:#ffffff33}.mx-side i.on{background:#fff}
.mx-main{flex:1;display:flex;flex-direction:column;gap:8px}
.mx-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mx-kpis div{background:#fff;border-radius:10px;padding:8px 10px;font-size:11px}
.mx-kpis em{display:block;font-style:normal;color:#0007;font-size:10px}.mx-kpis b{font-weight:600}
.mx-chart{flex:1;background:#fff;border-radius:10px;padding:10px;display:flex;align-items:flex-end;gap:7px}
.mx-chart i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(#7990f8,#b7ebf8);transform-origin:bottom;animation:mxGrow 3.5s ease-in-out infinite alternate}
.mx-chart i:nth-child(2n){animation-delay:.4s}.mx-chart i:nth-child(3n){animation-delay:.8s}
@keyframes mxGrow{from{transform:scaleY(.7)}to{transform:scaleY(1)}}
/* workflow */
.mx-nodes{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-left:6px}
.mx-node{background:#fff;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:500;box-shadow:0 6px 14px -10px #0005}
.mx-node:nth-of-type(3){margin-left:34px}.mx-node:nth-of-type(5){margin-left:68px}.mx-node:nth-of-type(7){margin-left:102px}
.mx-node-ai{background:linear-gradient(135deg,#b7ebf8,#ffc1a9)}.mx-node-dark{background:#111;color:#fff}
.mx-wire{width:2px;height:14px;margin-left:30px;background:repeating-linear-gradient(#7990f8 0 4px,#fff0 4px 8px);background-size:2px 8px;animation:mxFlow .6s linear infinite}
.mx-wire:nth-of-type(4){margin-left:64px}.mx-wire:nth-of-type(6){margin-left:98px}
@keyframes mxFlow{to{background-position:0 8px}}
/* training */
.mx-agenda div{display:flex;gap:10px;align-items:center;background:#fff;border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:12px}
.mx-agenda span{color:#7990f8;font-weight:600;font-size:11px}.mx-agenda b{font-weight:500}
.mx-avatars{display:flex;align-items:center;margin-top:12px}
.mx-avatars i{width:28px;height:28px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:linear-gradient(135deg,#b7ebf8,#7990f8)}
.mx-avatars i:first-child{margin-left:0}.mx-avatars i:nth-child(2n){background:linear-gradient(135deg,#ffc1a9,#df977a)}.mx-avatars i:nth-child(3){background:#111}
.mx-avatars em{font-style:normal;font-size:11px;color:#0008;margin-left:10px}
@media (prefers-reduced-motion:reduce){.mx-card-ui *{animation:none!important}}

/* ---------- about ---------- */
.mx-about{padding:70px 0}
.mx-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.mx-about-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.mx-about-copy p{margin:0;max-width:560px;color:#000c}
.mx-about-copy .button{margin-top:8px}
.mx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.mx-stat{background:#fff;border:1px solid #0000000a;border-radius:20px;padding:20px 16px}
.mx-stat b{display:block;font-family:var(--fonts--heading-font,"Instrument Serif",serif);font-weight:400;font-size:44px;line-height:1}
.mx-stat span{font-size:13px;color:#0009}
.mx-principles{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mx-principles li{background:linear-gradient(120deg,#eef9fc,#fdf3ee);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.mx-principles b{font-weight:600}.mx-principles span{font-size:14px;color:#000b}

/* ---------- contact form ---------- */
.mx-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px;text-align:left;margin:6px auto 0}
.mx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mx-field{display:flex;flex-direction:column;gap:6px;margin:0;border:0;padding:0;font-size:13px;font-weight:500;color:#000b}
.mx-field .text-field{margin:0;width:100%}
.mx-field textarea.text-field{min-height:110px;resize:vertical;padding-top:12px;height:auto}
.mx-field .is-invalid{border-color:#df5a4a!important;box-shadow:0 0 0 3px #df5a4a22}
.mx-interest legend{margin-bottom:8px;font-size:13px}
.mx-interest{flex-direction:row;flex-wrap:wrap;gap:8px}
.mx-interest label{cursor:pointer;margin:0}
.mx-interest input{position:absolute;opacity:0;pointer-events:none}
.mx-interest span{display:inline-block;padding:8px 14px;border-radius:30px;background:#fff;border:1px solid #0000001a;font-weight:500;font-size:13px;transition:background .2s,color .2s,border-color .2s}
.mx-interest input:checked+span{background:#111;color:#fff;border-color:#111}
.mx-interest input:focus-visible+span{outline:2px solid var(--colors--accent-color,#7990f8);outline-offset:2px}
.mx-form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mx-form-foot .button{border:0;cursor:pointer}
.mx-form-alt{font-size:14px;color:#0009}.mx-form-alt a{color:#000;text-decoration:underline}
.mx-form-status{margin:0;font-size:14px;min-height:1.2em}
.mx-form-status.is-error{color:#c0392b}.mx-form-status.is-ok{color:#2c6e4f}.mx-form-status a{color:inherit;text-decoration:underline}

/* ---------- footer ---------- */
.mx-foot-copy{margin:6px 0 14px;color:#000b;max-width:320px}
.mx-foot-note{opacity:.7;cursor:default}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .mx-services-grid{grid-template-columns:1fr;gap:10px}
  .mx-services-visual{position:sticky;top:76px;z-index:3;height:auto}
  .mx-services-sticky{position:relative;top:0;max-height:none;aspect-ratio:16/10;border-radius:22px}
  .mx-services-list{padding:14px 0 40px}
  .mx-service{min-height:0;opacity:.7}
  .mx-service.is-active{transform:none}
  .mx-work-grid{grid-template-columns:1fr 1fr}
  .mx-about-grid{grid-template-columns:1fr;gap:36px}
}
@media (max-width:640px){
  .mx-services-sticky{aspect-ratio:4/3}
  .mx-morph-count{font-size:34px;left:16px;bottom:12px}
  .mx-service{padding:22px 20px}
  .mx-work-grid{grid-template-columns:1fr}
  .mx-card{transform:none}
  .mx-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .mx-stat{padding:14px 10px}.mx-stat b{font-size:32px}.mx-stat span{font-size:11.5px}
  .mx-form-row{grid-template-columns:1fr}
}
.mx-field>span,.mx-interest legend,.mx-interest span,.mx-stat span,.mx-form-alt,.mx-form-status{font-family:var(--fonts--paragraph,Inter,sans-serif);letter-spacing:normal}
.mx-field>span,.mx-interest legend{font-size:13px;font-weight:500;color:#000b}
.mx-form-alt{font-size:14px}
.mx-stat span{font-size:13px;line-height:1.35;display:block;margin-top:6px}
.mx-form-alt a{font-family:inherit;font-size:inherit;letter-spacing:normal}
@media (max-width:640px){.popup-holder{display:none}}
